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