一、结构图
- 类图
定义:类图是面向对象系统建模中最核心的图,它展示了系统的静态结构,特别是系统中存在的类、类的内部结构以及它们与其他类之间的关系。
核心元素:
类:矩形框,分三层(类名、属性、方法)。
接口:圆圈或带<>的矩形框。
关系:
关联:一条实线,表示类之间的已知联系(如“学生”和“课程”)。
聚合:带空心菱形的实线,表示“整体-部分”关系,部分可以独立于整体存在(如“汽车”和“轮胎”)。
组合:带实心菱形的实线,表示更强的“整体-部分”关系,部分不能独立于整体存在(如“公司”和“部门”)。
泛化:带空心三角的实线,表示继承关系(如“汽车”继承自“交通工具”)。
实现:带空心三角的虚线,表示类实现接口。
依赖:一条虚线箭头,表示一个类的变化会影响另一个类(如使用局部变量、方法参数等)。
-
组件图
定义:组件图描述了软件组件之间的组织和依赖关系。组件是系统中可替换的物理模块,如.jar、.dll、微服务等。
核心元素:
组件:带两个小矩形的矩形。
接口:提供接口(圆圈)和需求接口(半圆)。
依赖关系:虚线箭头。
-
部署图
定义:部署图展示了系统硬件和软件在物理架构上的配置,描述了运行时处理节点(如服务器、计算机)以及驻留在节点上的构件(如可执行文件、库)的部署情况。
核心元素:
节点:立方体,表示硬件设备。
构件:矩形,左上角带一个标签。
关联关系:实线,表示节点之间的通信路径。
-
用例图
定义:用例图从用户角度描述系统的功能需求,并指出各功能的操作者。它用于需求分析阶段。
核心元素:
参与者:小人图标,表示系统外部与之交互的角色(人、其他系统)。
用例:椭圆,表示系统提供的一项完整功能。
系统边界:方框,将用例框在里面,参与者在外面。
关系:
关联:参与者与用例之间的实线。
包含:带<< include>>的虚线箭头,表示基础用例必须包含另一个用例的行为。
扩展:带<< extend>>的虚线箭头,表示基础用例在特定条件下会扩展另一个用例的行为。
泛化:参与者或用例之间的继承关系。
-
序列图
定义:序列图是一种交互图,它按时间顺序显示了对象之间传递消息的过程,强调消息的时序性。
核心元素:
生命线:垂直虚线,表示对象在特定时间内的存在。
激活条:生命线上的窄矩形,表示对象执行操作的时间段。
消息:生命线之间的箭头,表示通信(同步、异步、返回)。
交互片段:带标签的框,如alt(条件判断)、loop(循环)、opt(可选)。
-
活动图
定义:活动图类似于流程图,描述了活动到活动的控制流。它常用于对业务过程、工作流或复杂算法的操作流程进行建模。
核心元素:
开始节点:实心圆。
活动:圆角矩形。
控制流:箭头,表示活动之间的转换。
决策节点:菱形,有一个流入和多个流出的守卫条件(如[是],[否])。
合并节点:菱形,用于合并多个流。
同步条:粗水平线,表示并发开始或结束。
结束节点:带圆圈的实心圆。