D_UC2 - luist18/feup-aeda-proj GitHub Wiki

Use case 2: View Recommended Offers

Rational

Main flow Question: what class ... Answer Justification
1. The renter requests personalized offers. ... interacts with the user? ViewRecommendedOffersUI Pure Fabrication.
... coordinates the use case? ViewRecommendedOffersController Controller.
2. The system calculates offers based on the renter's preferences. ... knows the logged in renter? CurrentSession
... knows the renter's preferences? Renter Information Expert: Renter knows its own information.
... calculates the offers? OffersManager Information Expert: OffersManager aggregates all Offers.
... knows the OffersManager Company High Coesion + Low Coupling and Information Expert.
3.The system shows the offers to the renter.

Systematization

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

  • Renter
  • Company

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

  • ViewRecommendedOffersUI
  • ViewRecommendedOffersController
  • CurrentSession
  • OffersManager

Sequece diagram

Sequence diagram

Class diagram

Class diagram