18.6. Process: Iterative and Evolutionary Object Design
I've made many suggestions about iterative and evolutionary object design for use case realizations over the last few chapters, including
- "On to Object Design" on page 213
- "Object Design: Example Inputs, Activities, and Outputs" on page 272
The essential point: Keep it light and short, move quickly to code and test, and don't try to detail everything in UML models. Model the creative, difficult parts of the design.Figure 18.28 offers suggestions on the time and space for doing this work.
Figure 18.28. Sample process and setting context.
[View full size image]
Object Design Within the UP
To again consider the UP as the example iterative method: use case realizations are part of the UP Design Model.Inception
The Design Model and use case realizations will not usually be started until elaboration because they involve detailed design decisions, which are premature during inception.Elaboration
During this phase, use case realizations may be created for the most architecturally significant or risky scenarios of the design. However, UML diagramming will not be done for every scenario, and not necessarily in complete and fine-grained detail. The idea is to do interaction diagrams for the key use case realizations that benefit from some forethought and exploration of alternatives, focusing on the major design decisions.Construction
Use case realizations are created for remaining design problems.