System Analysis & Design With UML Version 2.0 Minicase Question 2

Read Dennis et al. Chapter 6: Minicase 2. Work through it and answer the questions. See the attached example. 

Based on the structural model you created in Chapter 5 and the problem description in Chapter 5, 

create a functional model (use case diagram, activity diagrams, and use case descriptions) for the business processes associated with the Holiday Travel Vehicles sales system. 

Save your time - order a paper!

Get your paper written from scratch within the tight deadline. Our service is a reliable solution to all your troubles. Place an order on any task and we will take care of it. You won’t have to worry about the quality and deadlines

Order Paper Now

Create a sequence and a communication diagram for each scenario of each use case identified in the functional model. 

Create a behavioral state machine for each of the complex classes in the class diagram. 

Perform a CRUD analysis to show the interactivity of the objects in the system. 

Perform a verification and validation walkthrough of each model: functional, structural, and behavioral

Class Name: Salesperson ID: 1 Type: Concrete, Model
Description: Represent the sale person information Associated Use Case:
Responsibilities Collaborators
To store the sale person information None
   
Back
Attributes
Int: id String: name
String: address Long: phonenumber
   
Relationship
Generalisation (a-kind-of): NA
Aggregation (has-a):

1. Works On zero or Many Purchase

Other Associations: NA

 

 

Class Name: Purchase ID: 2 Type: Concrete, Domain
Description: Store the information about the purchase being made by the sales person for an Customer Associated Use Case:
Responsibilities Collaborators
Keeps the customer information Customer
Keeps the salesperson information salesperson
Keeps the vehicle information for purchase Vehicle
Keeps a reference to the sale invoice when purchase is finalised SalesInvoice
   
Back
Attributes
Customer: customer Salesperson: salesperson
Vehicle: vehicle SalesInvoice: invoice
   
Relationship
Generalisation (a-kind-of):
Aggregation (has-a):

1. Worked on by only one Salesperson

2. Negotiated by zero-or-many Customer

3. Agreed upon by only one SalesInvoice

4. For only one Vehicle

Other Associations: NA

 

 

 

Class Name: Customer ID: 3 Type: Concrete, Model
Description: Used to represent a customer Associated Use Case:
Responsibilities Collaborators
Holds the information about a new customer None
   
Back
Attributes
String: id String: name
String: address Long: phoneNumber
   
Relationship
Generalisation (a-kind-of): NA
Aggregation (has-a):

1. Negotiate zero-or-many Purchase

Other Associations: NA

 

 

 

Class Name: SalesInvoice ID: 4 Type: Concrete, Domain
Description: Represent a sale invoice for a agreed upon purchase Associated Use Case:
Responsibilities Collaborators
Holds the information for a trade in vehicle Vehicle
Holds the information for the trade in allowance against the trade-in-vehicle. DealerInstalledOptions
Holds the information about the dealer installed option if any  
Holds information about other taxes and fees  
When sales invoice is finalised, it will hold customer signature as well  
   
Back
Attributes
Vehicle: tradeInVehicle Double: tradeInAllowance
Int: id DealerInstalledOptions[]: installedOptions
Double: finalPrice Double: taxes
Double: licenseFee String: customerSignature
   
Relationship
Generalisation (a-kind-of): NA
Aggregation (has-a):

1. Agreed based on only one Purchase

2. Trade in zero-or-one Vehicle

3. Lists zero-or-many DealerInstalledOptions

Other Associations:

 

 

 

Class Name: Vehicle ID: 5 Type: Concrete, Model
Description: Represent a new vehicle as well as a trade-in vehicle. Associated Use Case:
Responsibilities Collaborators
Hold the information for a new vehicle being sold at the store None
Hold the information for a trade-in-vehicle if any while making a purchase  
   
Back
Attributes
Int: serialNo String: name
String: model Int: year
String: manufacture Double: baseCost
   
Relationship
Generalisation (a-kind-of): NA
Aggregation (has-a):

1. Traded in as a part of only on SalesInvoice

2. Sold as a part of zero-or-one Purchase

Other Associations: NA

 

 

 

Class Name: DealerInstalledOptions ID: 6 Type: Concrete, Model
Description: Represent the dealer installed option Associated Use Case:
Responsibilities Collaborators
Holds the information about the installed options provided by the dealer None
   
Back
Attributes
String: optionCode String: description
Double: price  
   
Relationship
Generalisation (a-kind-of): NA
Aggregation (has-a): Listed on zero-or-many SalesInvoice
Other Associations: NA