system design
1. Object-oriented basic concepts
The components of an object include: object name, state (attribute), behavior (operation). A class is an abstraction of properties and behaviors that objects share, so objects defined by a class share behaviors and properties.
Classes can be divided into three types: entity classes, interface classes (boundary classes) and control classes.
- Entity class: The objects of the entity class represent real entities in the real world, such as people, things, etc.
- Interface class: Interface class is also called boundary class.An object of the interface class provides a way for the user to cooperate and interact with the system, divided into two categories: people and systems, in which the human interface can be a display screen, a window, a Web form, a dialog box, a menu, a list box, a barcode, a QR code, or other methods for the user to interact with the system. System interface involves sending data to and receiving data from other systems. Objects of the control class are used to control the flow of activities and act as coordinators.
- Control class: The control class is used to describe the event flow control behavior of a use case and control the sequence of events in a use case. A control class is a class that controls the work of other classes. Each use case usually has a control class, which controls the sequence of events in the use case, and the control class can also be shared among multiple use cases. The other classes do not send many messages to the control class, but the control class sends many messages.
Summary
1. Boundary classes, classes that describe the interaction between the outside and the system;
2. Control classes, which control other classes;
3. Entity classes, classes that store information and related behaviors;
2. Seven design principles
3. UML diagram
use case diagram
Include Relationship
Extend Relationship
Generalization Relationship
Class Diagram
relationship between classes
sequential (sequence) graph
Sequence diagrams describe how messages are sent and received between objects. Used to demonstrate the behavior of a use case and multiple objects in a system.
It differs from a communication diagram in that a sequence diagram emphasizes the chronological interaction of messages, while a communication diagram emphasizes the interaction of the structural organization of objects that receive and send information.
activity diagram
Activity diagram with swim lanes
State diagram
communication diagram
Communication diagrams emphasize the structural organization of objects that send and receive information.
Deployment diagram
Deployment diagrams are used to show the physical architecture of the software and hardware in the system. From the deployment diagram, you can see the physical relationship between software and hardware components and the distribution of components that are defined. Use a deployment diagram to show the structure of a runtime system, while also conveying how the hardware and software elements that make up an application are configured and deployed.
UML diagram questions practice
https://www.bilibili.com/video/BV1rW411j7e7?p=181
4. Design Pattern Concepts
5. Classification of Design Patterns
Key points: creation mode, adapter mode, bridge mode, composition mode, decoration mode, responsibility chain mode, command mode, interpreter mode, observer mode, strategy mode.
creative mode
Structural Pattern
Bridge mode
Bridge mode is suitable for situations where a fixed decision relationship between abstraction and implementation is not desired. .
Both bridge and adapter patterns can be used to separate abstraction from implementation. The difference is that they are applicable to different stages of the design, the bridge mode is applicable to the early stage of the design, that is, the stage when the interface has not been implemented, and if the interface has been implemented but cannot work effectively, the adapter mode can be used to implement the existing implementation. Retrofit.
behavioral model
6. Data Flow Diagram (DFD)
basic concept
The modeling principle of data flow diagram is top-down, from abstract to concrete.
A complete data
flow graph Hierarchical data flow graph
Data Dictionary
A data dictionary is a description of each data flow, file, process, and data items that make up the data flow or file in the data flow diagram.
The data dictionary has 4 categories of entries: data flow, data item, data storage and basic processing.
Data Balance Principle
Balance between parent and child graphs
subgraph internal balance
Data Flow Diagram Case
Problem solving skills
Topic Analysis
https://www.bilibili.com/video/BV1rW411j7e7?p=166
https://www.bilibili.com/video/BV1rW411j7e7?p=167
Database Design
1. Database Design Process
2. Three-level mode
The three-level schema of the database is divided into conceptual schema, external schema, and internal schema.
A conceptual schema, also known as a schema, is a description of the overall logical structure of all data in a database.
External mode, also known as user mode or sub-mode, is the interface between the user and the database system, and is a description of the part of the data used by the user.
Internal mode, also known as storage mode, is a description of the physical storage of a database, defining all internal record types, indexes, file organization, and data control details.
3. ER 图
type of connection between entities
Conversion of ER Diagram to Relational Model
4. Database design case
https://www.bilibili.com/video/BV1rW411j7e7?p=172
https://www.bilibili.com/video/BV1rW411j7e7?p=173