D_UC4 - luist18/feup-aeda-proj GitHub Wiki

Use case 4: Manage Rented Vehicles

Rational

Main flow Question: what class ... Answer Justification
1. The renter requests the management of their rented vehicles. ...interacts with the user? ManageRentedVehiclesPageUI Pure Fabrication
...coordinates the use case? ManageRentedVehiclesPageController Controller
2. The systems asks the renter to select the operation.
3. The renter intends to schedule the vehicle delivery date.
4. The systems asks to select an active rental. ...knows the rentals of the user? RentalManager Information Expert: the rental manager stores the rentals of the company.
5. The renter selects a rental.
6. The system asks for a suitable delivery date.
7. The renter inserts a delivery date. ...validates the data? Schedule Information Expert: the scheduleclass is responsible for assuring the validation of its own data.
8. The system registers the delivery date.

Systematization

From the rational results that the conceptual classes promoted to software classes are:

  • Rental
  • AuthUser
  • Schedule

Other identified software classes (e.g. Pure Fabrication):

  • ManageRentedVehiclesPageUI
  • ManageRentedVehiclesPageController
  • RentalManager
  • CurrentSession

Sequence diagram

Sequence Diagram

Class diagram

Class Diagram