This chapter describes the object-oriented design. Design is also a modeling activity. The design principles include modularization, coupling, cohesion, and reusability.
Software design has several architectures. First, the warehouse architecture has two different software components: a subsystem that represents the current central data structure and a group of mutually independent data processing centers. Second, the hierarchical architecture organizes software design into layers or sets of classes or components, and classes or components at the same level fulfill a specific purpose. Third, the MVC Architecture. 4. The client/server architecture serves as the server subsystem to provide services for subsystems of other clients. Fifth, the pipeline and filtering system structure.
In the system design phase, three points must be noted: identifying design elements, data storage policies, and deploying subsystems. Detailed design includes method modeling. Pay attention to method naming and visibility. It also includes attribute modeling, state modeling, and link modeling. After the modeling is completed, a detailed design review is required. There are several application design modes: Abstract Factory mode, adaptor mode, bridge mode, and facade mode.
Chapter 8 of Software Engineering