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