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

Class diagram
