当前位置: 首页 > article >正文

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

一、流程图和数据流图

在软件开发中,画流程图和数据流图可以说是几乎每个人都会遇到。
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.kler.cn/a/465931.html

相关文章:

  • Zookeeper是如何解决脑裂问题的?
  • 类的定义和使用(python)
  • 比Qt更适合小公司的C++界面开发框架wxWidgets
  • RabbitMQ通过代码创建交换机和队列
  • 基于单片机的肺功能MVV简单测算
  • 以太网ICMP协议(ping指令)——FPGA学习笔记25
  • 基于Java的银行排号系统的设计与实现【源码+文档+部署讲解】
  • Scratch教学作品 | 白水急流——急流勇进,挑战反应极限! ‍♂️
  • python 中的 json 库使用
  • C++编程库与框架实战——ZeroMQ消息队列
  • 在Linux下安装部署Tomcat教程
  • Python | 学习type()方法动态创建类
  • B2B营销的新篇章:开源AI智能名片S2B2C商城小程序的应用探索
  • CDP集成Hudi实战-编译部署
  • gozero框架crm系统中的查询条件动态筛选业务设计与实践
  • unity学习5:创建一个自己的3D项目
  • 04-c++类和对象(下)
  • FreshTomato 路由器固件常见配置以及踩坑记录
  • PyQt5:自定义QListView显示
  • 高质量C++小白教程:2.10-预处理器简介
  • GIT 企业级开发学习 1
  • Emacs折腾日记(七)——布尔变量、逻辑运算符与位运算
  • token、cookie和session
  • 【AIGC】 ChatGPT实战教程:如何高效撰写学术论文引言
  • MR30分布式IO模块助力PLC,打造高效智能仓储系统
  • [redux] useDispatch的两种用法