Analysis and Design models fulfill the same needs and provide the same sorts of benefit. Software systems that both analysis and design models are supporting or interacting with tend to be highly complex and very detailed. In order to manage this complexity, descriptions of system need to emphasize structure rather than detail, and to provide an abstract view of the system.
Unlike the Design models, Analysis models do not make any explicit reference to the proposed software system or its design, but aim instead to capture certain aspects and properties of the ‘real world’. The object model is the common semantic foundation that shared by both design model and source code. This ensures that it is possible to maintain a close relationship between the design and the code of a system.
Traditionally, the process of system development has been divided into a number of phases: an analysis phase, culminating in the production of a set of analysis models, and a design phase, which leads to the production of a set of design models. The analysis models are intended to form the input to the design phase, which has the task of creating structures which will support the properties and requirements stated in the analysis models.
Both analysis and design models, as mentioned above, will be produced in the course of the development of any significant software system. Basically, very different types of languages and notation have often been used for the production of analysis and design models, as a result, translations need to be made and information contained in the analysis models must be reformulated in the notation required for the design models.
On