Analysis to Design

So far, the case study has emphasized investigation of the requirements, concepts, and operations related to a system. Following the UP guidelines, perhaps 10% of the requirements were investigated in inception, and a slightly deeper investigation was started in this first iteration of elaboration.

 

Iteratively Do the Right Thing, Do the Thing Right

The requirements and object-oriented analysis has focused on learning to do the right thing; that is, understanding some of the outstanding goals for the Next-Gen POS, and related rules and constraints. By contrast, the following design work will stress do the thing right; that is, skillfully designing a solution to satisfy the requirements for this iteration

 

In iterative development, a transition from primarily a requirements focus to primarily a design and implementation focus will occur in each iteration. Furthermore, it is natural and healthy to discover and change some requirements during the design and implementation work of the early iterations. These discoveries will both clarify the purpose of the design work of this iteration and refine the requirements understanding for future iterations. Over the course of these early elaboration iterations, the requirements discovery will stabilize, so that by the end of elaboration, perhaps 80% of the requirements are reliably defined in detail.

 

On to Object Design

 

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 UP, 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.