设计心得——流程图和数据流图绘制

server/2025/1/8 5:30:19/

一、流程图和数据流图

在软件开发中,画流程图和数据流图可以说是几乎每个人都会遇到。
1、数据流(程)图
Data Flow Diagram,DFG。它可以称为数据流图或数据流程图。其主要用来描述系统中数据流程的一种图形工具,可以将系统的逻辑输入和输出以及在此过程中进行的数据加工处理通过图标表现出来。它是一种进行结构化系统分析方法的表达工具。DFD是可以分层进行设计的,这一点大家要知晓。
2、流程图
Flowchart,流程图。而在流程图里最常用的就是业务流程图,其它还有状态流程、工作流程、过程流程等等。做为一种图形化的工具,流程图可以通过图形方式对系统从输入到输出的整体逻辑过程进行描述。需要注意的是,有的书籍和资料中在流程图中也独立出来一个数据流程图,它和DFG还是有一定的区别的。这是一种比较例外的情况,大家遇到再分析也不晚。

二、组成和常见的图形元素

1、数据流(程)图
数据流程图的基本元素包括数据流、处理、数据存储和外部实体。其相关的图形元素包括以下以下几种:

在这里插入图片描述

2、(业务)流程图
流程图的基本元素包括输入/输出、过程、决策和开始/结束,当然它们中间要以箭头来进行控制逻辑的方向描述。其相关的图形元素包括以下以下几种:

在这里插入图片描述

看上去比数据流图多很多,但其实一般实际用到的只有前四个,后面的用到的较少。

三、二者区别的联系

二者的最核心的区别在于数据流图更直观的描述数据流动的过程和处理,重视数据的输入输出、逻辑变换以及存储、流向。流程图更直观的描述的是对数据、状态等的控制处理从而表现其先后顺序和关系。前者更适合于在需求分析阶段即逻辑建模,而流程图在进入了设计阶段后非常有用即物理建模。
数据流图可以分层进行处理而流程图不会。当然,它们的相关的内容元素和一些图标细节也是有不同的意义表示,这些都需要大家仔细看相关的资料。

四、常用的工具

常用的工具有在线和本地的,本地的一般不同平台有不同的软件,常用的有:
1、Visio
这个勿用细说,微软提供的强大的绘图工具,不光可以绘制流程图还可以绘制其它很多的图形。但它只能在Windows平台使用,而且生成的文件体积比较大。
2、Xmind
这个比较有名,而且几乎在常见的平台上都支持,推荐大家使用
其它还有不少的相关软件都不错(如StarUML等),大家可以自行根据习惯和平台选择

在线工具:
1、drawio
目前应用的比较多,而且是免费,没有各种的限制条件。这个有一个国内的版本visionon,用哪个都可以。
2、ProcessOn
这个以前不错,现在也还行,不过增加了很多限制条件(如导出有水印),不太方便了
3、亿图
这个没用过,但据说还不错,大家可以试试
这种在线的工具非常多,大家可以找一款最合适自己的用就行。

五、总结

这篇文章不是教大家怎么绘制这两类图形的,因为这种资料太多了。这里主要是对其中的不同和应用的细节进行对比说明,这样让大家在实际的设计应用中不会混淆。主要是起一个借鉴和随时拿来做个参考的内容。


http://www.ppmy.cn/server/155828.html

相关文章

mysql error:1071 -Specified key was too long; max key length is 767 bytes

错误原因 数据库表采用utf8编码时,当对varchar(255)的列设置唯一键索引时发生该错误。 mysql默认单列的索引不能超过767位(不同版本可能存在差异) 解决方法 (1) 使用innodb引擎; (2) 启用innodb_large_p…

WebRTC的线程模型

WebRTC中的线程类: Thread类: (1)Thread类中的数据: class Thread {// 消息队列:MessageList messages_; // 消息队列,所有需要线程处理的消息,都要先入队PriorityQueue delayed_m…

【《python爬虫入门教程11--重剑无峰168》】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 【《python爬虫入门教程11--selenium的安装与使用》】 前言selenium就是一个可以实现python自动化的模块 一、Chrome的版本查找?-- 如果用edge也是类似的1.chrome…

大数据学习(33)-续集

今天开始重新更新大数据 -- 感谢大家的支持!!!

[Linux]进程间通信-管道

目录 1. 进程间通信 2.父子进程之间的通信 3.匿名管道 匿名管道的创建 管道读写的情况 管道的5种特性 4.命名管道 指令级 命名管道原理 代码级 读取端 1. 进程间通信 当我们有两个进程操作数据库的时候,一个进程负责写入操作,一个进…

npm提示Install fail! Error_ EBUSY_ resource busy or

问题 在命令行下,通过NPM 命令来安装插件,弹出提示Install fail! Error: EBUSY: resource busy or locked, symlink 解决方法 出现这样的错误大概率是文件被占用,导致文件或者文件夹无法删除造成的, 1.尝试执行npm cache clea…

算法进阶:贪心算法

贪心算法是一种简单而直观的算法思想,它在每一步选择中都采取在当前状态下最优的选择,以期望最终得到全局最优解。贪心算法通常适用于一些具有最优子结构的问题,即问题的最优解可以通过一系列局部最优解的选择得到。 贪心算法的基本思路是&a…

【EI会议征稿】2025图像处理和深度学习国际学术会议(IPDL 2025)

重要信息 时间:2025年4月11-13日 大会地点:中国-成都 首轮截稿:2024年12月31日 接受/拒稿通知:投稿后约3~8天 收录检索:EI Compendex,Scopus 点击查看会议主页:2025图像处理和深度学习国际…