关于图表
思维导图 | 流程图 | ER图 | 系统架构图 | 时序图 | 状态机图 | 用例图 |
| | | | | | |
UML |
各图表详解
思维导图
思维导图类型
名称 | 说明 | 图例 |
气泡图 | 气泡图又称泡泡图,由许多气泡组成,以中心大气泡主题为中心,围绕中心气泡的周围气泡则描述中心气泡相关属性,以整分的方式起到分析、解释和描述事物的作用。 | |
树形图(树状图) | 像一棵树,以树干为主,在树干的基础上发散枝丫、树杈,将知识总分,主要用于分组和分类,帮助我们对事物进行分类,寻找事物之间的共性与特性。 | |
括号图 | 括号图是利用括号来表示整体和局部之间的关系,常用于展示事物与事物的组成部分,建立空间感,同时也能够用于展示知识的包含关系,分析知识结构。 | |
韦恩图 | 韦恩图又叫文氏图,是以圆或椭圆来显示元素集合重叠区域的图示。它主要用于展示在不同事物群组(集合)之间的数学或逻辑联系,亦可用于表现事物间的共性和个性。 | |
鱼骨图 | 鱼骨图,也叫因果图,是一种发现问题根本原因的图形方法,可以透过现象看到问题的本质,通过对问题刨根问底找出解决办法。这种思维结构能直观地描绘问题特性之间的关系,说明各个原因之间如何依次出现和相互影响。 | |
圆圈图 | 圆圈图主要用来定义一个事物,非常适合发散思维和自由联想。它由内圈和外圈构成,内圈表达了主题,外圈可以填写与主题有关的任何内容,没有任何限制。 | |
时间线(时间轴) | 时间线,也叫时间轴,通过时间顺序、主题趋势、流程前后等来串联系列事物,多用来记录重要事件的发展或展示主题的进度与过程。 | |
组织结构图(组织架构图) | 组织架构图,通常用于展示组织内人员、等级、岗位、职责等的相互关系,也可以用来表示主题下的上下左右逻辑关系。 | |
绘制思路与要点
注重层次结构
将最核心的概念放在思维导图的顶部,然后逐渐向下延伸相关细节信息。确保内容的简洁、清晰明了,便于理解和记忆
推荐软件
| | |
流程图
流程图是什么?
流程图=流程+图。
|
| ||
|
|
| |
| 业务流程图 | 用于说明整个业务逻辑流向 | 鹏雷制造生产流程图 |
数据流程图 | 表示求解某一问题的数据通路,规定了处理的主要阶段和所用的各种数据媒体 | 进销存系统数据流图 | |
功能流程图 | 用于确定产品功能设计逻辑(是以业务流程图为主线,去细化每个环节的功能逻辑,如必填项/业务状态/异常提示等) | 电商模块功能流程图 | |
页面流程图 | 用于明确页面的主功能和页面间的跳转,让UE/UI可以更具体了解页面和页面之间的交互关联 | |
怎么画流程图?
- 流程图的符号规范
流程图中的每个符号都有着特定含义,画流程图的时候如果弄错了,整幅流程图的专业性就会大打折扣。
常用符号:
- 流程图的结构规范
流程图有三大结构,分别是顺序结构、选择结构和循环结构。
1)顺序结构
这种结构最简单,各个步骤是按先后顺序执行的。如图,A、B、C是三个连续的步骤,它们是按顺序执行的,即完成上一个框中指定的操作才能再执行下一个动作。
顺序结构
2) 选择结构
选择结构又称分支结构,用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程。
选择结构
3)循环结构
循环结构又称为重复结构,指在程序中需要反复执行某个功能而设置的一种程序结构。它由循环体中的条件,判断继续执行某个功能还是退出循环。
根据判断条件,循环结构又可细分为以下两种形式:先判断后执行的循环结构(当型结构),和先执行后判断的循环结构(直到型结构)。
循环结构
- 流程图的路径规范
除了符号规划、结构规划,绘制流程图过程中还要注意一些约定俗成的路径规划,比如
1)绘制流程图时,为了提高流程图的逻辑性,应遵循从左到右、从上到下的顺序排列。
2)一个流程从开始符开始,以结束符结束。开始符号只能出现一次,而结束符号可出现多次。若流程足够清晰,可省略开始、结束符号。
3)同一流程图内,符号大小需要保持一致,同时连接线不能交叉,连接线不能无故弯曲。
4)流程处理关系为并行关系的,需要将流程放在同一高度。
5)处理流程须以单一入口和单一出口绘制,同一路径的指示箭头应只有一个。
绘制流程图的软件推荐
软件 | 推荐度 | 优点 | 缺点 | 链接 |
Word | ★★ | - | - | - |
PPT | ★★ | - | - | - |
Visio | ★★ | 拥有丰富的模板和可自定义的形状; 支持多种图表类型; 界面直观、简洁,并且具有指向、连接、参考线和标尺等功能,有助于绘制更标准的流程图; | 需要下载才能使用; 需要付费; 界面相对复杂,功能广泛,但相对来说不易掌握; 不适合轻量级任务; 不支持Mac和Linux系统; | - |
| ★★★ | 内置了大量的符号和绘图模板; 符号库提供了丰富的选择; 支持多种格式的导出和导入; 可支持画多种图形,上手简单; | 需要下载才能使用; 安卓和苹果的会员不通用,不适合有两种系统的用户; 无会员用户一张图表的可使用图形数量受限,难以支持复杂流程的绘制; 无会员导出图表有满屏水印; | |
| ★★★★ | 无需下载,支持网页版; 无限的白板空间; 丰富的模板库 ; 内置AI助手功能; | 不支持离线编辑; 在创建复杂数千节点的思维导图时,性能可能会变得卡顿; 没有内置的云同步功能; 导出的图片会带有水印(但是选中绘制容器后,右键选择复制为png即可避免水印) | |
| ★★★ | 无需下载,支持网页版; 支持实时协作; 支持各种图表类型; 上手简单; | 免费版本导出有满屏水印; 免费版本有文件数量限制; 离线访问受限; |
配色网址推荐:
网址 | 示例 | ||
| | | |
| | ||
|
ER图
什么是ER图?
ER图(Entity-Relationship Diagram),即实体-关系图,是一种用于描述数据模型的概念图,主要用于数据库设计阶段。E-R图可以帮助设计师和开发者理解数据需求并构建相应的数据库结构。
什么时候可以使用ER图?
- 系统分析与设计。
在系统开发初期,ER图被用来捕捉业务需求并定义数据结构,它也可以帮助分析人员和设计师理解业务流程中的数据元素及它们之间的关系。
- 数据库设计。
ER图可以用于定义数据库的逻辑结构,包括实体、属性和联系。基于ER图,还可以进一步设计数据库的物理结构,如表结构、索引等。
- 软件工程。
ER图在帮助开发者理解各个模块的数据需求,促进模块间的接口设计中也起到关键作用。在集成测试阶段,ER图可用于验证数据的一致性和完整性。
- 数据仓库和商业智能。
ER图能用于构建数据仓库的架构,定义事实表和维度表之间的关系。同时,它还可以进行报告和仪表板设计,基于ER图构建的数据模型可以支持高级数据分析和报表生成。
- 数据治理和管理。
ER图提供了有关数据元素的元数据信息,有助于数据治理和文档化;在进行数据质量控制时,通过ER图可以更容易地发现和解决数据质量问题。
- 项目管理和协作。
ER图作为共享的语言,有助于不同背景的人员(如业务分析师、IT专家)之间进行有效沟通;当业务需求发生变化时,ER图可以用来评估影响范围,并计划相应的数据结构调整。
- 教学和培训。
ER图常被用作教授数据库原理和技术的基础工具,对于新入职的员工或学生,ER图可以作为学习数据库设计的重要工具。
——ER图不仅在数据库设计中发挥着核心作用,还在整个软件开发生命周期中扮演着重要角色。
ER图的绘制规范?
1.ER图的组成
元素 | 描述 | 表示形式 | 实例 |
实体 | 客观存在并可以相互区别的事物 | 用矩形框,矩形框内写明实体名 | |
属性 | 实体所具有的一个属性 | 用椭圆型表示,并用无向边将其与相应的实体连接起来 | |
关系 | 实体和实体之间以及实体内部的关系 | 用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁边标上联系的类型 | |
2.ER图的关系类型
一对一:一对一关系是指对于实体集A与实体集B,A中的每一个实体至多与B中一个实体有关系;反之,在实体集B中的每个实体至多与实体集A中一个实体有关系。
一对多:一对多关系是指实体集A与实体集B中至少有N(N>0)个实体有关系;并且实体集B中每一个实体至多与实体集A中一个实体有关系。
多对多:多对多关系是指实体集A中的每一个实体与实体集B中至少有M(M>0)个实体有关系,并且实体集B中的每一个实体与实体集A中的至少N(N>0)个实体有关系。
3.ER图示例
问题描述:
- 一个学生可选修多门课,一门课有若干学生选修;
- 一个教师可讲授多门课,一门课只有一个教师讲授;
- 一个学生选修一门课,仅有一个成绩。
- 学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。
ER图:
垃圾分类系统ER图
博客ER图
- ER图延伸内容
绘制软件推荐
由于ER图的绘制相关图形较为简单,更推荐使用一些无容量限制,导出无水印的绘图工具
| | |
WPS可使用Word或PPT进行绘制 |
系统架构图
【架构】可以理解为是系统/组织/团队等论述主体的骨架。架构图则是梳理出最重要的顶层结构后进行的可视化呈现。通过这份呈现,可以快速清除的了解论述主体的构造和走向。
系统架构图常用于可视化和描述软件系统的结构、组件及其相互关系。系统架构图不仅帮助开发者和架构师理解系统设计,还为利益相关者提供了一个清晰的视图,以便于沟通和决策。
架构图分类
类别 | 说明 | 示例 |
业务架构图 | 业务架构图是八大架构图之首。一切工作都是以围绕解决业务问题为最终目标。画业务架构图时可通过对业务进行收集、拆解、提炼、归纳、分类,从而绘制出业务的上下层级关系和主要结构模块。为后续围绕业务内容展开的工作提供可视化支持。 | |
产品架构图 | 产品架构依附于主体业务,由业务决定产品功能与走向。产品架构图是对主体产品的设计与规划,其中可包含已实现和规划中的产品内容。通过这份产品架构图可以审视自身产品的定位和走向,及时定位问题及时调整,更好的做产品设计与规划。 | |
系统架构图 | 系统架构图是整个系统的上帝视角。它包含了系统内部的主要模块和模块之间的流通交互。系统架构图主要关注系统的整体结构和可扩展性,通过它可以了解到系统的部署和物理结构,指导系统各个方向的设计。 | |
技术架构图 | 技术架构图是基于产品开发之下的技术执行分支。技术架构图的绘制有助于团队之间对技术结构、实现方案、技术组件等进行宏观了解,对后续的具体技术工作提供基础认识。 | |
运行架构图 | 运行架构图通常用于描述系统的逻辑结构和组件之间的交互关系。在这种架构中,重点关注软件的功能模块、数据流和各个模块之间的关系。运行架构图帮助开发团队和利益相关者理解系统的工作原理和数据如何流动。 | |
部署架构图 | 物理架构关注“目标程序及其依赖的运行库和系统软件”最终如何安装或部署到物理机器,以及如何部署机器和网络来配合软件系统的可靠性,可伸缩性等要求 | |
数据架构图 | 数据架构是连接业务与系统的纽带,根据数据架构我们可以清楚的了解主体架构的数据模型、数据分布和数据资产之间的结构与关系。数据架构图可以指导相关技术人员进行数据存储、数据提炼等数据相关的工作展开。 | |
一些示例
小程序系统程序框图模板
SaaS系统架构图模板
鸿蒙系统架构分析模板
鸿蒙系统架构分析模板深入解析了华为推出的分布式操作系统——鸿蒙操作系统的架构。它展示了系统的各个组件、模块和其相互关系。
更多知识
企业管理必备的8大系统架构图:OA、财务、人事、CRM、进销存、ERP、生产工单、项目管理
系统架构图设计(行业领域架构)_模型框架图:数据层、模型层和应用层,各部分相互连接-CSDN博客
UML
UML 是一种现代的软件建模和文档化方法。
统一建模语言(UML)是一种模型化语言。模型大多以图表的方式表现出来。一份典型的建模图表通常包含几个块或框,连接线和作为模型附加信息之用的文本。这些虽简单却非常重要,在UML规则中相互联系和扩展。
更多知识
时序图
时序图通过描述对象之间发送消息的时间顺序显示多个对象之间的交互模式。
时序图的组成元素
时序图中包括如下元素:角色,对象,生命线,激活,消息和组合片段。
1、角色:可以是人、机器、其他系统、子系统。用小人表示。
2、对象:表示系统的参与者或者任何有效的系统对象。用矩形表示。
3、生命线:代表时序图中的对象在一段时期内的存在。用一条垂直的虚线表示。
4、激活:表示时间段的符号,在这个时间段内对象将执行相应的操作。用一个窄长的矩形来表示,矩形的高度表示执行操作的活动期。
- 消息:是用来表示一个对象向其他一个或者多个对象发送信号,或者由一个对象调用另外一个对象的操作。
一个实例
解释:
1,用户输入手机密码
2,打开手机
3,打开微信扫一扫
4,返回微信扫一扫界面
5.1 扫描商家收款码
5.2 商家生成收款二维码
5.3 返回收款二维码
5.4 识别商家收款码
6,提示用户输入微信支付密码
7.1 输入微信支付密码
7.2 微信验证用户输入密码正确
7.3 向商家汇款
7.4 汇款成功
8,提示用户支付成功
时序图的常用组合
片段类型 | 名称 | 说明 | 示例 |
Alt | 抉择 | 抉择在任何场合下只发生一个序列。 可以在每个片段中设置一个临界来指示该片段可以运行的条件。else 的临界指示其他任何临界都不为 True 时应运行的片段。如果所有临界都为 False 并且没有 else,则不执行任何片段。Alt片段组合可以理解为if..else if…else条件语句。 | |
Opt | 选项 | 包含一个可能发生或不发生的序列。Opt相当于if..语句。 | |
Loop | 循环 | 片段重复一定次数,可以在临界中指示片段重复的条件。Loop相当于for语句。 | |
Par | 并行 | 并行处理,片段中的事件可以并行交错。Par相当于多线程。 | |
详细了解UML时序图详解
UML时序图(Sequence Diagram)学习笔记[通俗易懂]-腾讯云开发者社区-腾讯云
状态机图
状态机用于对模型元素的动态行为进行建模,或是说对系统中受事件驱动的方面进行建模。
订单状态机图
设计步骤
定状态、理流程、明数据
- 列举某个业务对象的状态,这里需要使用 MECE 原则,即穷尽而不重复,将业务对象的所有状态都列举出来。
——回看上面这个状态图,是否有遗漏状态?遗漏了退款涉及的相关状态
- 梳理哪些状态是起始状态,哪些状态是结束状态,以确定业务的开始和结束。
——请指出这张图上哪个状态是起始状态,哪个是结束状态?
- 确定状态直接的流转次序,并且列出促使状态流转的动作,也就是具体的业务行为。
——如果这张图要加上退款的相关状态,请问应该在哪一个状态机出现分支,由什么业务行为触发?
- 确定每个具体业务行为需要提交的数据和产生的数据,即业务行为的输入输出。
实战演练
对于微时云需求管理,通常会经过需求提出、评审、到上线的过程:
- 请进行一下状态机的拆分:——整个过程由提交需求触发,有待评审、已驳回、待开发、开发中、待测试、待验收、已上线7个状态;
- 哪些状态是起始状态,哪些状态是结束状态?
——待评审属于起始状态,被驳回、已上线属于结束状态。
- 状态的流转图
- 这个状态流转图有哪些方面不够完善?
——该状态中涉及到了多个对象和人员角色(这里揉和了多个业务对象:需求、开发任务、测试任务),仅凭这样一张流转图还不够完善和清晰
——需要描述多个对象的状态机的情况,可以结合流程图来做,将业务对象的状态变化和业务流程串联起来
5,完善后的状态图,输入输出会涉及哪些内容?
绘制进阶知识
用例图
用例图(Use Case Diagram)是用户与系统交互的最简表示形式,展现了用户和与TA相关的用例之间的关联关系。通过用例图,人们可以获知系统不同种类的用户和用例:
- 用例图呈现出谁将是相关的用户
- 用户希望系统提供什么样的服务
- 用户需为系统提供什么样的操作
——便于我们更好的明确各项功能,由谁触发,在何处触发
绘制进阶知识
基本概念与元素
名称 | 说明 | 图例 |
参与者 | 在系统之外,透过系统边界与系统进行有意义交互的任何事物。 | |
用例 | 参与者使用系统达到某个目标(用户与系统交互的行为) | |
关系 | 关联关系: | |
泛化关系:一般参与者与特殊参与者之间的关系 | | |
依赖关系:包含关系和扩展关系 | ||
包含关系 | | |
扩展关系 | |