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 NowCreate 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 |


