Systems Modelling
统一建模语言,Unified Modeling Language
一种为面向对象开发系统的产品进行说明、可视化、和编制文档的标准绘图语言
建模目的:模型式系统的一个抽象,它摆脱了细节内容
For an Existing System
- Help clarify what the existing system does
- Form discussions on system’s strengths and weaknesse
For a New System
- Help explain the proposed requirements
- Form discussions on design proposals
- Help document the system for implementation
UML 类型
包图
Package diagrams are used to organize the artifacts of the development process
类图
用来显示系统中的类、接口以及它们之间的静态结构和关系
Class diagrams are used to defined static structure of classes of a system and their relationships
泛化
Generalization:即
extends
UML to Code
实现
Realization:类实现接口的功能,即
implement
依赖
Dependency:表示一个类依赖于另一个类的定义
关联 / 聚合 / 组合
- Association:指类与类之间的关联
A 类 依赖于 B 对象,并且把 B 作为 A 的一个成员变量,则 A 和 B 存在关联关系。
- 一对一
- 一对多
- 多对一
- 多对多
- Aggregtion:关联关系的一种特例,体现的是整体与部分的关系,是一种 “弱拥有” (has-a) 的聚合关系。
- Composition:体现的是一种 “强聚合” (contains-a) 的组合关系
- 组合关系是不能共享的,(个体)对象只能与另一个(整体)对象发生组合关系
- 整体和个体不能独立存在,一定是在一个模块中同时管理整体和个体
用例图
活动图
Activity Diagram 本质上是一种流程图
时序图
Sequence diagrams are used to show the interactions between system objects
部署图
Deployment diagrams are used to show the allocation of components to physical nodes
由节点以及节点之间的关系组成,展示了硬件的配置及其软件如何部署到网络结构中,通常用来帮助理解分布式系统。
UML 拓展机制
构造型
A stereotype is UML’s way of attaching extra classifications to model items
比如你觉得类和类之间的关联关系太普通,可以用构造型定义你自己的特殊关联关系。
- 使用<<>>将自定义的类型名字包起来
系统模型
开发不同的模型从不同的视角来表式系统
上下文模型
A Context Model shows how a system is positioned in the operational environment
- 在计算机科学中,上下文指一个程序或系统运行时所处的环境和状态。它可以包括许多不同的信息,例如正在运行的程序或线程的状态,运行环境的硬件和软件配置,当前的用户权限和设置等。
UML 没有为上下文模型提供专门的图 ➡️ Use simple block diagrams or empty class diagrams
- Created at the early stage of the requirements engineering
- To know and to decide the boundary of the system being developed
- 早期阶段,应当确定系统的边界,即哪些属于/哪些不属于所开发系统的需求。
- To establish a high-level view on the interactions between the system and its operational environment without details.
业务流程模型
Business Process Model(也属于外部视角的一种模型)
➡️Using UML Business Process Model and Notation (BPMN, 业务流程建模符号)
➡️Using UML activity diagrams
交互模型
- User interaction helps to identify user requirements
- System interaction highlights the communication problems that may arise
- Component interaction help to understand if a proposed system structure
主要相关的交互建模方法
- 用例图:为系统与外部参与者(用户或其他系统)之间的交互建模
- 时序图:为系统各部分之间的交互建模
结构模型
主要相关的交互建模方法(参考前面的案例)
- 包图
- 类图
- 时序图
- 部署图
行为模型
(课件里没有相关资料)