The last activity in each phase in the development process should be a verification that the work produced in the phase possesses the qualities we desire. That work is in the form of either a UML model or code in a programming language. (See A Development Process Overview on page 66.) The process is structured so that each development phase moves the product a step toward the final system, which results in a sequence of models in which the model produced in one development phase is more specific and more complete than the model from the previous phase. For example, during the application analysis phase, a model is created by filtering the information in the domain analysis model and the requirements model to eliminate information that is not specifically relevant to the application under development. Two of the differences between the succeeding models are the scope of the content and the level of abstraction. The requirements model filters the domain model so that any information not required for the immediate application is not included in the application analysis model. As the information in each succeeding model level becomes more specific, the inspection of each model can also become more specific and narrowly focused. This sequence of models described in Figure 4.5 actually it is just one model that is being transformed incrementally provides an opportunity to establish a "chain of quality" in which each model is verified before moving to the next phase. Figure 4.5. Models and phases |