1. Design is the only way that we can accurately translate a customer's requirements into a finished software product or system.
2. Analysis model has free kinds of elements like class-based,scenario-based,flow-oriented and behavioral elements.
3. The analysis model provides the design process with the information to design the four models, namely a component design, interface design and architectural design and a data/class design.
4. These four design models are necessary requirements for the complete specification of the design.
5. The main transformation is done by data/class design which transforms the analysis-class model to design class realization.
6. These classes and relationships are defined by CRC index cards, data present in the class attributes, etc.
7. These cards and attributes provide the basis for the data design activity.
8. Part of the class design deals with the design of software architecture and it contributes to each software component that is designed.
9. Architectural design displays the framework of a computer-based system.
10. It is an important design task which defines the relationship between the elements which constitute to form the structure of the software, the architectural styles and patterns of the design which are used to achieve the needs and constraint that are necessary for the system.
11. Architectural design is the result of the analysis model, system specification and the interactions of the subsystems defined within the analysis model.
12. Interface design provides communication with systems and users.
13. The interface provides a specific type of behavior and the flow of information.
14. Interface design requires information provided by the behavioural model and usage scenarios.
15.Component level design also contributes in transforming analysis model to design model.
16. In doing so, it transforms structural elements of software architecture into the procedural description of software architecture.
17. The design process is a step-by-step and repetitive procedure where software is simulated according to the requirements.
18. The simulation depicts a holistic view of software and a high level of abstraction.
19. The design represented by this level can be directly traced to the specific system objective and also to the requirements such as data, functional and behavioral requirements.
20. Design is an iterative process that leads to the refined design representation at a lower level of abstraction.
21. As said earlier, the design process is required for better quality software.
22. This quality is achieved by a series of formal technical reviews.
23. The design must consider and fulfill all the customer's requirements that are implicit and also must implement explicit requirements contained in the analysis model.
24. The design should be readable and understandable for the programmers and testers.
25. The design should provide a clear picture of the software, addressing the data, functional and behavioral domains from the view of implementation.
