Use Case Title: Auto Maintenance & Repair
Primary Actor: Customer
Level: Kite (high, general)
Stakeholders: Customer, Parts Vendor
Preconditions: Customer owns a vehicle with a problem
Minimal Guarantee: Vehicle condition will be evaluated
Success Guarantee: Vehicle will be repaired appropriately
Main success scenario:
1) Customer enters shop, requests help with vehicular problem, provides personal and vehicle info
2) Attendant obtains request (with the customer's & vehicle information)
3) Diagnose actual problem
4) Determine if vehicle requires maintenance or repair
5) If maintenance is required, service accordingly
6) If repair is required, determine if repair involves fixing or replacing vehicle parts (determine if part needed)
7) If able to fix the part, perform repair
8) If a new part is required, obtain part from vendor, then repair
9) Update vehicle history (Update Vehicle Maintenance log)
10) Prepare (calculate) bill for the customer
11) Present bill for payment
12) Receive payment (cash or credit) from customer & return keys.
Extensions:
3a) Unable to diagnose problem - take vehicle to another shop
8a) Part not available - offer customer a courtesy vehicle
12a) Customer unable to pay - retain keys of vehicle until customer returns with payment.
Hint:
Use only the Main Success scenario to draw the diagram.
The Customer Actor interacts with the system through a ShopInterface boundary object.
Consider Parts Vendor as an actor outside the system.
Also, consider one Control object (e.g. :ShopControl), and two entity objects
(:VehicleMaintenanceLog, containing data for all maintenance and repairs performed on the
Vehicle, and: Vehicle, containing all vehicle specific data).
Consider all calculations to be performed by the ShopControl class on itself.
Note, that car repair involves servicing, as well as replacing parts.
Use correct notation and labelling of all elements of the Sequence diagram.