Assignment 2 and 3
Design business logic component for a Monopoly server. Create scenarios to test the design.
Here are the rules. As the rules are too complex consider the following simplifications.
- No auctions. When a player does not buy something from bank, the bank keeps it.
- No trades between players.
- No chance or community chest cards
- Bank has unlimited number of houses and hotels.
- No jail, thus you can throw doubles more than three times.
I recommend you to take the following steps.
- Creating scenarios covering the rules. For most of the rules simple scenarios are sufficient. (<=3 steps, but specify basic preconditions and postconditions). Take a closer look at the way players will be buying hotels
and handling mortgages.
- Using these scenarios design an interface which your component should implement. Test the interface with respect to these scenarios (are all scenarios covered).
- Build a simple model first. Focus on what the classes are and focus on principal problems, like how turn results will be evaluated. Test the model using the scenarios you have.
- Expand the model to define all important methods. Test the model using the scenarios you have.
- Make your model easy to test by including interfaces and injecting dependencies.
The evaluation of assignment 2 will be focused on the interface design and the scenarios.
The evaluation of assignment 2 will be focused on the design (completeness, simplicity, correct application of design principles, testability). Overusing UML diagrams is encouraged.
Deadlines: Assignment 2 - 20.11., Assignment 3 - 11.12.