uml图
- 工具
draw.io
流程图包含的图形
-
菱形
-
判断节点
-
文字中有?或者分类逻辑,需要做出选择的
-
-
矩形
-
处理,执行节点
-
具体要做的步骤,操作,有明确的动作
-
一般是动词,做,处理,执行,填写,一步一步做事情
-
用例图包含的图形
-
参与者
-
用例
-
图形: 椭圆
-
含义:系统为参与者提供的完整的功能单元
-
命名规则,动宾结构(查询成绩,修改密码)
-
-
关系类型
-
关联关系
-
图形: 实线箭头
-
含义: 参与者与用例之间的基本连接,指向用例
-
示例: 学生 ---- 选课,就是这个参与者要做什么
-
-
包含关系
-
图形: ----> 虚线箭头 + <
> -
含义:基础用例必须包含被包含用例的功能,
-
示例: 登录<
> 验证密码 -
通俗理解:一个用例,分成几个部分用例,就是说拆解的部分,不是完整的,作为这个用例行为自身的一部分,这个行为包含了另一个用例的行为
-
强依赖的关系,例如,这个修改个人信息必须先登录,那么这个就是一个包含关系,登录是一个部分,指向登录
-
指向被拆解的部分用例
-
这个是完整对部分的关系
-
-
扩展关系
-
图形: 带箭头的虚线 + <
> -
含义:扩展用例在特定的条件下可以扩展基础用例
-
原有的用例叫做基础用例,扩展一个新用例
-
通俗理解:在登录系统中,有一个扩展就是忘记密码这个选项,如果忘记了密码,就触发这个条件,找回了密码,从而实现了登录
-
找回密码不是每次必须的,除非触发了这个条件
-
指向基础用例
-
-
泛化关系
-
图形:实线空三角箭头
-
通俗理解:就是一个订票系统,泛化为几个字用例,网上订票,电话订票,都能独立的完成这个订票系统,是完整的,这个跟包含有区别的,包含是不完整的,不能独立完成用例的
-
将抽象的父用例,分成几个子用例
-
是完整对完整的关系
-
指向父用例
-
-
关系的区分
| 名称 | 图形 | 指向 | 含义 |
|---|---|---|---|
| 关联 | 指向用例 | 参与者与用例之间的关系,比如我要做菜,做菜是一个用例 |
用例图和流程图的区别
| 对比难度 | 用例图 | 流程图 |
|---|---|---|
| 核心目的 | 描述谁用系统,用系统做什么(用户视角的功能需求) | 描述某件事如何做(执行视角的步骤逻辑) |
| 关注对象 | 用户(参与者),系统功能(用例),交互关系 | 操作步骤,判断条件,执行顺序(没有明确的用户视角) |
| 使用阶段 | 需求分析阶段(捕捉用户需求,明确系统边界) | 详细设计,操作步骤 |
| 核心元素 | 参与者(Actor)、用例(Use Case)、关联 / 包含 / 扩展关系 | 开始 / 结束节点、处理步骤、判断节点、分支 / 合并、流向线 |
| 抽象程度 | 高(不涉及具体实现细节,只说「做什么」) | 低(需明确每一步操作,说清「怎么做」) |
| 适用场景 | 需求文档、系统功能概览、与客户沟通需求 | 算法逻辑、业务流程(如用户登录流程)、代码执行步骤、实验操作步骤 |
通俗的理解:
-
用例图,像系统功能菜单说明书,告诉读者谁能操作系统和系统能帮你完成哪些核心任务,不关心具体怎么操作
-
流程图,实验操作步骤手册,告诉读者完成某件事的具体步骤和判断逻辑
-
一个递进的关系,用例图(需求边界)(做什么),流程图(实现步骤),怎么做,实现了从需求分析到具体落地
-
一个用例图对应一个或者多个流程图
数据流图(DFD)
- 本质就是图形化的方式展示数据如何在系统中流程,处理,存储的模型,不涉及具体的技术实现(比如用什么语言开发),只关注数据的来源,处理的过程,去向,存储位置
| 元素名称 | 符号样式 | 定义与作用 |
|---|---|---|
| 外部实体(External Entity) | 矩形框(或带边框的矩形) | 系统之外的 “数据来源 / 去向”(比如考生、阅卷部门、考试中心),不参与系统内部处理。 |
| 处理(Process) | 圆角矩形(或矩形) | 系统的 “核心功能模块”(比如 “检查报名单”“生成准考证”“统计分析成绩”),负责对数据进行加工。 |
| 数据流(Data Flow) | 带箭头的实线(箭头指向数据流向) | 流动的数据(比如 “报名单”“准考证”“答题卡”“考生通知单”),箭头表示数据从哪里来、到哪里去。 |
| 数据存储(Data Store) | 开口矩形(或矩形 + 下划线) | 系统中 “存储数据的地方”(比如 “报名信息存档”“合格标准库”“成绩数据库”),用于持久化数据。 |
-
顶层数据流图
-
最高级的DFD,将整个系统看做一个整体处理模块,不拆分内部的功能,只展示系统与外部实体的交互,回答 系统从哪里拿数据,向哪里送数据
-
特点
-
无数据存储(数据存储是系统内部的,顶层不展示)
-
包含所有跨系统的数据流(系统与外部实体之间的data流动)
-
包含所有外部实体(与系统交互的对象)
-
只有1个处理
-
-
-
0层数据流图
-
对顶层的DFD的唯一处理进行拆分,展示系统内部的核心功能模块(多个处理),模块之间的数据流,以及系统内部的数据存储,回答系统内部如何处理数据
-
其他图
-
架构图
-
部署图
-
类图
-
时序图
-
状态图
-
测试用例图

浙公网安备 33010602011771号