We focus on what the system is doing, and in the design phase we will focus on the software implementation issues of the system, including architecture design, detailed design, user interface design and database design.
As with modeling, design is also a modeling activity that accomplishes class modeling, State diagram modeling, collaborative modeling, modeling, deployment modeling, persistent modeling, and user interface modeling on the analysis model, spanning from requirement analysis to software implementation. The principle of design is modularization, coupling degree, cohesion and reusability. Modularization can simplify the complex system, and the coupling degree and cohesion are the degree of correlation between subsystems and the correlation degree of the system, and reduce the coupling to improve the cohesion; Reusability uses software elements developed to generate new software systems.
For large complex systems, the design of software architecture is particularly important, and its quality is often the key to the success of a system design. Typically, software architecture involves the overall organization of software systems, global control, data access, and communication protocols between subsystems. In the MVC structure, the subsystems are divided into three types: model, view and controller.
System design mainly describes the identification of design elements, data storage strategy, deployment subsystem and system design review. 1. Identifying design elements corresponds to the design elements of the analysis class and design model in the analysis model after the software architecture strategy is selected. 2. There are three ways to manage data storage in a data storage strategy: Data files, relational databases, and object-oriented databases. The 3.UML deployment diagram reflects the physical framework of software and hardware in the system, representing the system runtime processing nodes and the configuration of components in the nodes. 4. The system design review mainly checks the correctness, completeness, consistency and feasibility.
Detailed design includes method modeling, attribute modeling, state modeling, and relational modeling.
The design pattern describes the solution of common problems in the system design process, which is summed up from a large number of successful practices.
User interface design is critical to the success of a system, is a design multidisciplinary activity, and a good user interface design requires graphic artists, demand analysts, system designers, program developers, technical experts, social and behavioral scientists, and even some professionals associated with system characteristics to work together. In the demand phase, the analyst only gives some textual description according to the user's request, in the design phase, the designer will make the screen visualization of these general descriptions, and may also consult the relevant technical experts; Before programming, the user's visual prototype should be further improved by graphic artists and behavioral artists to achieve The "user-friendly" definition standard; The implementation phase, the program developer may also need to make some necessary changes in the programming environment. It is user-centric, so we need to know the user interface design principles, web interface design and user support.
Software Engineering--object-oriented design of theory, method and practice