The object-oriented design phase includes architecture design, detailed design, user interface design and database design. Design activities are divided into system design and detailed design. Design principles are modular (large system decomposition into a number of small systems), coupling degree (the degree of association between two subsystems, the lower the coupling the better), cohesion (the degree of correlation within the subsystem, the higher the cohesion, the better), reusability. Design patterns are also one and reuse. The quality of software architecture design is the key to the success of a system design. System design includes identifying design elements, data storage strategy, deployment subsystem, and system design review. Detailed design includes method modeling (need to determine method visibility, name, parameter, return value, stereotype), attribute modeling (need to name and set visibility), state modeling (determining system behavior), relational modeling, detailed design review. The abstract factory design pattern is designed to encapsulate a specific platform. The purpose of the adaptor pattern is to encapsulate the code of the legacy system. Bridge mode separates the interface of a class from the specific implementation. The facade mode reduces the dependency between classes. User interface design to user-centric, to meet user needs.
Reading "Software Engineering-theory method and Practice" eighth chapter experience