uml图

  • 工具

https://www.processon.com/

draw.io

流程图包含的图形

  • 菱形

    • 判断节点

    • 文字中有?或者分类逻辑,需要做出选择的

  • 矩形

    • 处理,执行节点

    • 具体要做的步骤,操作,有明确的动作

    • 一般是动词,做,处理,执行,填写,一步一步做事情

用例图包含的图形

  • 参与者

  • 用例

    • 图形: 椭圆

    • 含义:系统为参与者提供的完整的功能单元

    • 命名规则,动宾结构(查询成绩,修改密码)

  • 关系类型

    • 关联关系

      • 图形: 实线箭头

      • 含义: 参与者与用例之间的基本连接,指向用例

      • 示例: 学生 ---- 选课,就是这个参与者要做什么

    • 包含关系

      • 图形: ----> 虚线箭头 + <>

      • 含义:基础用例必须包含被包含用例的功能,

      • 示例: 登录<> 验证密码

      • 通俗理解:一个用例,分成几个部分用例,就是说拆解的部分,不是完整的,作为这个用例行为自身的一部分,这个行为包含了另一个用例的行为

      • 强依赖的关系,例如,这个修改个人信息必须先登录,那么这个就是一个包含关系,登录是一个部分,指向登录

      • 指向被拆解的部分用例

      • 这个是完整对部分的关系

    • 扩展关系

      • 图形: 带箭头的虚线 + <>

      • 含义:扩展用例在特定的条件下可以扩展基础用例

      • 原有的用例叫做基础用例,扩展一个新用例

      • 通俗理解:在登录系统中,有一个扩展就是忘记密码这个选项,如果忘记了密码,就触发这个条件,找回了密码,从而实现了登录

      • 找回密码不是每次必须的,除非触发了这个条件

      • 指向基础用例

    • 泛化关系

      • 图形:实线空三角箭头

      • 通俗理解:就是一个订票系统,泛化为几个字用例,网上订票,电话订票,都能独立的完成这个订票系统,是完整的,这个跟包含有区别的,包含是不完整的,不能独立完成用例的

      • 将抽象的父用例,分成几个子用例

      • 是完整对完整的关系

      • 指向父用例

关系的区分

名称 图形 指向 含义
关联 指向用例 参与者与用例之间的关系,比如我要做菜,做菜是一个用例

用例图和流程图的区别

对比难度 用例图 流程图
核心目的 描述谁用系统,用系统做什么(用户视角的功能需求) 描述某件事如何做(执行视角的步骤逻辑)
关注对象 用户(参与者),系统功能(用例),交互关系 操作步骤,判断条件,执行顺序(没有明确的用户视角)
使用阶段 需求分析阶段(捕捉用户需求,明确系统边界) 详细设计,操作步骤
核心元素 参与者(Actor)、用例(Use Case)、关联 / 包含 / 扩展关系 开始 / 结束节点、处理步骤、判断节点、分支 / 合并、流向线
抽象程度 高(不涉及具体实现细节,只说「做什么」) 低(需明确每一步操作,说清「怎么做」)
适用场景 需求文档、系统功能概览、与客户沟通需求 算法逻辑、业务流程(如用户登录流程)、代码执行步骤、实验操作步骤

通俗的理解:

  • 用例图,像系统功能菜单说明书,告诉读者谁能操作系统和系统能帮你完成哪些核心任务,不关心具体怎么操作

  • 流程图,实验操作步骤手册,告诉读者完成某件事的具体步骤和判断逻辑

  • 一个递进的关系,用例图(需求边界)(做什么),流程图(实现步骤),怎么做,实现了从需求分析到具体落地

  • 一个用例图对应一个或者多个流程图

数据流图(DFD)

  • 本质就是图形化的方式展示数据如何在系统中流程,处理,存储的模型,不涉及具体的技术实现(比如用什么语言开发),只关注数据的来源,处理的过程,去向,存储位置
元素名称 符号样式 定义与作用
外部实体(External Entity) 矩形框(或带边框的矩形) 系统之外的 “数据来源 / 去向”(比如考生、阅卷部门、考试中心),不参与系统内部处理。
处理(Process) 圆角矩形(或矩形) 系统的 “核心功能模块”(比如 “检查报名单”“生成准考证”“统计分析成绩”),负责对数据进行加工。
数据流(Data Flow) 带箭头的实线(箭头指向数据流向) 流动的数据(比如 “报名单”“准考证”“答题卡”“考生通知单”),箭头表示数据从哪里来、到哪里去。
数据存储(Data Store) 开口矩形(或矩形 + 下划线) 系统中 “存储数据的地方”(比如 “报名信息存档”“合格标准库”“成绩数据库”),用于持久化数据。
  • 顶层数据流图

    • 最高级的DFD,将整个系统看做一个整体处理模块,不拆分内部的功能,只展示系统与外部实体的交互,回答 系统从哪里拿数据,向哪里送数据

    • 特点

      • 无数据存储(数据存储是系统内部的,顶层不展示)

      • 包含所有跨系统的数据流(系统与外部实体之间的data流动)

      • 包含所有外部实体(与系统交互的对象)

      • 只有1个处理

  • 0层数据流图

    • 对顶层的DFD的唯一处理进行拆分,展示系统内部的核心功能模块(多个处理),模块之间的数据流,以及系统内部的数据存储,回答系统内部如何处理数据

其他图

  • 架构图

  • 部署图

  • 类图

  • 时序图

  • 状态图

  • 测试用例图

posted @ 2025-11-23 20:13  乔的港口  阅读(21)  评论(0)    收藏  举报