24.2. Iteration-2 Requirements and Emphasis: Object Design and Patterns
As mentioned, for these case studies iteration-2 largely ignores requirements analysis and domain analysis, and focuses on object design with responsibilities and GRASP, and applying some GoF design patterns.
NextGen POS
Iteration-2 of the NextGen POS application handles several interesting requirements:iteration-1 requirements p. 124
- Support for variations in third-party external services. For example, different tax calculators must be connectable to the system, and each has a unique interface. Likewise with different accounting systems and so forth. Each will offer a different API and protocol for a core of common functions.
- Complex pricing rules.
- A design to refresh a GUI window when the sale total changes.
Main Success Scenario :
|
Supplementary Specification...Interfaces Software Interfaces For most external collaborating systems (tax calculator, accounting, inventory, ... ) we need to be able to plug in varying systems and thus varying interfaces....Domain (Business) Rules
|
Incremental Development for a Use Case Across Iterations
Because of these requirements, we are revisiting the Process Sale use case in iteration-2, but implementing more scenarios , so that the system incrementally grows. It is common to work on varying scenarios or features of the same use case over several iterations and gradually extend the system to ultimately handle all the functionality required. On the other hand, short, simple use cases may be completely implemented within one iteration.However, one scenario should not be split across iterations; an iteration should complete one or more end-to-end scenarios.Iteration-1 made simplifications so that the problem and solution were not overly complex to explore. Once againfor the same reasona relatively small amount of additional functionality is considered.
Monopoly
iteration-1 requirements p. 411 The additional requirements for the second iteration of the Monopoly application include:
- Again, implement a basic, key scenario of the Play Monopoly Game use case: players moving around the squares of the board. And as before, run the game as a simulation requiring no user input, other than the number of players. However, in iteration-2 some of the special square rules apply. These are described in the following points…
- Each player receives $1500 at the beginning of the game. Consider the game to have an unlimited amount of money.
- When a player lands on the Go square, the player receives $200.
- When a player lands on the Go-To-Jail square, they move to the Jail square.
- However, unlike the complete rules, they get out easily. On their next turn, they simply roll and move as indicated by the roll total.
- When a player lands on the Income-Tax square, the player pays the minimum of $200 or 10% of their worth.