UESTC Software System Architecture Design - Object-Oriented Modeling Foundation

Object-oriented modeling basics

UML modeling language

1. Why does system development require modeling?
In the real world, information systems are usually complex systems. In order to develop and implement information systems, it is necessary to abstract a set of models that reflect the most essential aspects of the system. In this way, the details can be omitted, and the substantive analysis and description of the information system can be achieved and the system design can be simplified to a certain extent. A model is therefore a simplified description of the real world.

2. The role of system model

  • Helps provide a visual representation of the system to be developed in the desired style
  • Models can reflect the structure and behavior of a system
  • Models provide templates for constructing systems
  • Models serve as documented design decisions

3. Principles of system modeling

  • Choose the right modeling method
  • Provide different levels of abstraction models
  • Create different view models from multiple perspectives
  • The model should accurately depict the static structure and dynamic behavior of the system

4. Introduction to UML modeling language

  • UML (Unified Modeling Language) is an object-oriented visual modeling language.
  • UML is a universal standard modeling language that can model the static structure and dynamic behavior of the system.
  • UML can be used for modeling at different stages of system development, such as from system requirements analysis to system testing and maintenance.
  • UML contains two major types of model diagrams that describe the static structure and dynamic behavior of the system, with a total of 14 types of graphics.

image-20230905133342903

UML model diagram

use case diagram

Use case diagram model elements:

image-20230905134028842

System Use Case Diagram is a model diagram that describes the system requirement functions from the perspective of a system analyst .

  • Use cases are the functional point abstractions of the system .
  • Roles are user type abstractions for the system .
  • The association between roles and use cases, use cases and use cases means that they have a certain connection.

image-20230905133908758

Business Use Case Diagram is a model diagram that describes business functions from the user's perspective .

  • Use cases are functional point abstractions of the business .
  • Roles are user type abstractions for the business .
  • The association between roles and use cases, use cases and use cases means that they have a certain connection.

image-20230905134332706

activity diagram

Activity diagram model elements:

image-20230905134746803

Activity Diagram is a model diagram that describes the execution sequence of activities within a use case and the input and output of activities.
Activity diagrams can also be used to describe business processes, algorithm processes, system control processes, etc.

image-20230905134711881

Class Diagram

Class diagram model elements:

image-20230905135136570

Class Diagram describes which classes the system is composed of, that is, it is composed of object-oriented programs.
It is also used to describe the relationship between class programs in the system and visually present the static structure of the system program.

image-20230905135206500

Flowchart

Sequence diagram model elements:

image-20230905135333599

Sequence Diagram (also called sequence diagram) is a model diagram that describes message interaction between objects.
It is used to reflect the dynamic collaboration relationship between objects, that is, the interactive relationship between objects.

image-20230905135438712

communication diagram

Communication diagram model elements:

image-20230905135725605

Communication Diagram is a model diagram that expresses direct message interaction relationships between objects.
It shows how multiple objects communicate with each other while working together to achieve a common goal.
The interactive relationship between objects is displayed through objects and links between objects and messages sent.

image-20230905135747072

State machine diagram

State machine diagram model elements:

image-20230905135846412

State Machine Diagram is a model diagram that describes the various states and state changes that an object experiences during its life cycle.
Describes all possible states of objects of a class and the transition conditions of states when events occur.

image-20230905135922799

Component diagram

Assembly diagram model elements:

image-20230905140057026

Component diagram (Component Diagram) is a model diagram that describes the components of the system and their relationships.
Describe the physical structure of software implementations, thus reflecting component-based software implementations.

image-20230905140434381

Deployment diagram

Deployment diagram model elements:

image-20230905142201823

Deployment Diagram represents the deployment plan of system components in the running environment nodes.
The physical topology between software and hardware nodes, processing nodes, and operating environment can also be obtained from the deployment diagram.

image-20230905142320147

Package map

Package diagram model elements:

image-20230905142646033

Package Diagram (Package Diagram) is an organizational structure model diagram that uses package symbols similar to folders to represent model elements. Packages are described as folders and can be applied to any kind of UML diagram.
Every element in the system can only be owned by one package, and a package can be nested within another package.

image-20230905142937389

object graph

Object Diagram (Object Diagram) shows how instances of class elements are related and how they are used at runtime.
Like the class diagram, the UML object diagram reflects the static structure of the system, but the object diagram is expressed from the instantiation scenario, and it shows the relationship between objects at a certain moment.

image-20230905143405814

Combined structure diagram

Composite Structure Diagram (CompositeStructure Diagram) provides a method for modeling the internal structure of system components, and also describes the interaction points between this component and other components of the system.
Internal components interact with the environment through ports. Cooperation between internal components.

image-20230905143455963

Extended diagram

The extension diagram (Profile Diagram) provides a lightweight UML extension mechanism (stereotypes, tagged values, constraints, base classes, etc.) for specific domains.
Define a set of constructs with domain-specific attributes and constraints, thereby extending the underlying UML elements.

image-20230905143534091

Interactive overview diagram

Interaction Profile Diagram (Profile Diagram) is a hybrid of Interaction Diagram and Activity Diagram.
Provides the interaction between objects described in complex activity process nodes.

image-20230905143603572

time graph

Time Diagram (Time Diagram) is used to model the time-series state change relationship between objects.
Also express time and deadline constraints for interactions between objects.

image-20230905143632676

BPMN modeling language

business modeling

Business Modeling (Business Modeling, BM) is a business model that describes the object elements involved in organizational management and its business, as well as their behavioral relationships, and provides a basis for continuous improvement of business processes.

image-20230905144138683

Business modeling content :

  • Organization modeling
  • Department function modeling
  • business process modeling
  • Business Information Data Modeling

image-20230905144338809

Relationships between business model diagrams :

image-20230905144451605

definition

BPMN (Business Process Modeling Notation) defines a standard set of business process flow notation, which can be used to create a graphical model describing the operation of business processes.

BPMN also supports the generation of executable Business Process Execution Language (BPEL). BPMN can be converted into software process components based on WS-BPEL. BPMN can be used to model and describe the organization's internal business process capabilities, and its model can be used as a bridge for designers, managers and business process personnel to communicate business activities.

model elements

stream object

Activity

Activity: refers to any work performed in the process, that is, tasks.

image-20230905144944871

event

Event: Anything that happens in a business process.

image-20230905145025840

gateway

Gateway: A branch used to control the process.

image-20230905145102669

flow

Flow is used to connect flow objects and define the process of business processes together with flow objects.

image-20230905145223226

data

Data refers to the data representation in business processes, which is divided into data objects, data object sets, data input and data output , etc.

image-20230905145304515

Man-made production

Artifacts are used to represent processes with additional information to support the process description of business processes.

image-20230905145335240

Pools and lanes

Pool identifies the activities and process scope of each entity participant in the business. A swimming pool can contain multiple lanes.

image-20230905145419686

Modeling case

Order procurement process modeling

E-commerce system ordering business process modeling

image-20230905151328307

Shipping business process modeling for a hardware retailer

Both UML modeling and BPMN modeling can use modeling tools Power Designer and Enterprise Architecture.

Class exercises

1. Which of the following is not a concept in object-oriented thinking? (B)

A.encapsulationB.Contains C.PolymorphismD.abstract

2. UML structure diagram does not contain which of the following diagrams? (A)

A.Use case diagram B. Class diagram C. Component diagram D. deployment diagram

3. Which of the following elements does a class diagram contain? (D)

A.Class B.relationshipC. interface D.All of the above

4. Which of the following elements does a sequence diagram not contain? (A)

A.Lane B. Object C. News D. lifeline

5. The model is (A)

A.Simplified description of the real world

B. A complete description of the real world

C.concrete description of the real world

D.real world encapsulation

1. Object-oriented requirements analysis is programming language agnostic. (√)

2. Activity diagrams can represent concurrent activities. (√)

3. Each state machine diagram can reflect the state of multiple objects. (×)

4. Components can be embedded in the nodes of the deployment diagram. (√)

5. BPMN can be converted into software process components based on WS-BPEL. (√)

6. The state machine diagram has self-conversion states. (√)

  • The application of object-oriented thinking includes object-oriented analysis, (object-oriented design), and object-oriented programming.

  • The relationships between classes in the class diagram include association relationships, dependency relationships, aggregation relationships, (generalization relationships).

  • The elements in the communication diagram include objects, (messages), chains, and reflexive chains.

  • BPMN flow objects are divided into three categories: activities, (events), and gateways.

  • Data in BPMN is divided into data objects, (data object sets), data input and data output, etc.

Guess you like

Origin blog.csdn.net/m0_63230155/article/details/132693963