D_UC11 - luist18/feup-aeda-proj GitHub Wiki
Use case 11: Manage Maintenance Services
Rational
| Main flow | Question: what class ... | Answer | Justification |
|---|---|---|---|
| 1. The admin requests to see the vehicles listed to maintenance. | ... interacts with the user? | ManageMaintenanceServicesUI | Pure Fabrication. |
| ... coordinates the use case? | ManageMaintenanceServicesController | Controller. | |
| 2. The system requests the number of vehicles the admin wishes to see. | |||
| 3. The admin inserts the number of vehicles. | |||
| 4. The system shows the next n vehicles. | ... knows the vehicles in the queue? | VehicleManager | Information Expert: the VehicleManager knows all the vehicles of the company. |
| 5. The admin chooses one vehicle. | |||
| 6. The system shows the information of that vehicle, including the maintenance day, and requests if the admin wishes to change it or return. | ... is stored in the queue? | MaintainedVehicle | |
| ... knows the maintenance day of the vehicle? | MaintainedVehicle | Information Expert: MaintainedVehicle knows its own information. | |
| ... knows all the information of the vehicle? | Vehicle | Information Expert: Vehicle knows its own information. | |
| 7. The admin chooses to change the maintenance day. | |||
| 8. The system requests the new maintenance day. | |||
| 9. The admin inserts the new maintenance day. | ... validates the new maintenance day? | MaintainedVehicle | Information Expert |
| 10. The system changes the maintenance day and informs about the success of the operation. |
Systematization
From the rational results that the conceptual classes promoted to software classes are:
- MaintainedVehicle
- Vehicle
Other identified software classes (e.g. Pure Fabrication):
- ManageMaintenanceServicesUI
- ManageMaintenanceServicesController
- VehicleManager
Sequece diagram

Extra: Add maintenance day to a vehicle

Class diagram
