Iterative Enhancement of Object Model
Iterative enhancement of the model usually proceeds in the following order:
- Add a new class(es).
- Enhance existing interaction diagrams.
- Research the behavior using dynamic and functional models.
- Reassign responsibilities among classes.
- Refine the model with design patterns and class stereotypes.
- Reconcile the design to the architecture.
- Test.
During object design, a logical solution based on the object-oriented paradigm is developed. The heart of this solution is the creation of interaction diagrams, which illustrate how objects collaborate to fulfill the requirements.
After or in parallel with drawing interaction diagrams, (design) class diagrams can be drawn. These summarize the definition of the software classes (and interfaces) that are to be implemented in software. In terms of the process, these artifacts are part of the Design Model.
In practice, the creation of interaction and class diagrams happens in parallel and synergistically, but their introduction is linear in this case study, for simplicity and clarity.
The Importance of Object Design Skill versus UML Notation Skill
The following chapters explore the creation of these artifacts, or more precisely, the object design skills underlying their creation.
What is important is knowing how to think and design in objects, which is a very different and much more important ability than knowing UML diagramming notation. At the same time, a standard visual language is great, and thus the required UML notation to support the design work is presented.