一、业务流程图TFD
业务流程图(Transaction Flow Diagram,TFD)是一种描述管理系统内各单位、人员之间的业务关系,作业顺序和管理信息流向的图表。它用一些规定的符号及连线表示某个具体业务的处理过程,帮助分析人员找出业务流程中的不合理流向。
TFD 基本上按业务的实际处理步骤和过程绘制,是一种用图形方式反映实际业务处理过程的“流水账”。绘制这本“流水账”对于开发者理顺和优化业务过程是很有帮助的。
二、数据流程图(DFD)
1、概述
数据流程图(Data Flow Diagram,DFD/Data Flow Chart),简称数据流图,是一种描述系统数据流程的主要工具,它用一组符号来描述整个系统中信息的全貌,综合地反映出信息在系统中的流动、处理和存储情况。
数据流程图有两个特征:
1)抽象性
数据流程图把具体的组织机构、工作场所、物质流都去掉,只剩下信息和数据存储、流动、使用以及加工情况
2)概括性
指数据流程图把系统对各种业务的处理过程联系起来考虑,形成一个总体。
为了描述复杂的软件系统的信息流向和加工,可采用分层的DFD来描述,分层DFD有顶层,中间层、底层之分。
1)顶层。
决定系统的范围,决定输入输出数据流,它说明系统的边界,把整个系统的功能抽象为一个加工,顶层DFD只有一张。
2)中间层。
顶层之下是若干中间层,某一中间层既是它上一层加工的分解结果,又是它下一层若干加工的抽象,即它又可进一步分解。
顶层图的分解称为0层图(注意0层不是顶层)。
3)底层。
若一张DFD的加工不能进一步分解,这张DFD就是底层的了。底层DFD的加工是由基本加工构成的,所谓基本加工是指不能再进行分解的加工。
4)图和加工的编号
顶层图只有一个,代表整个软件系统的加工,该加工不必编号。
0层图中的加工编号分别为1,2,3,…
子图号:若父图中的加工号x分解成某一子图,则该子图号记为“图x”
子图中加工的编号:若父图中的加工号为x的加工分解成某一子图,则该子图中的加工编号分别为x.1、x.2、x.3…。当然也可以用别的编号规则。
2、数据流图的作用
DFD从数据传递和加工的角度,利用图形符号通过逐层细分描述系统内各个部件的功能,和数据在它们之间传递的情况,来说明系统完成的功能。结构化分析方法里,用DFD进行系统功能模型建模。具体来说,DFD的主要作用如下:
1)DFD是理解和表达用户需求的工具,是需求分析的手段。DFD简明易懂,可以利用来跟用户进行交流。
2)概括地描述了系统的内部逻辑过程,是需求分析结果的表达工具,也是系统设计的重要参考资料,是系统设计的起点。
3)DFD作为一个存档的文字材料,是进一步修改和充实开发计划的依据。
3、如何画DFD
DFD的绘制是一个自顶向下、由外到里的过程,通常按照以下几个步骤进行:
1)画系统的输入和输出
2)画DFD的内部
3)为每一个数据流命名
4)为每一个加工命名,采用动宾短语
4、DFD注意事项
1)所有图形符号只有数据流、加工、数据存储和外部实体4种,并且都要有名字
2)每个加工至少有一个输入数据流和输出数据流,只有输入没有输出,或者只有输出没有输入都不对
3)加工的输入数据流和输出数据流名字不能相同,即使组成完全一样
4)外部实体不能直接关联数据存储,只能通过加工
5)整套DFD中,数据存储必须既有读的数据流,又有写的数据流,但在具体的某张子图中,不受这个限制
6)子图必须与它的上层加工对应
7)DFD中可以加入物质流,但不能夹带控制流。
三、流程图
流程图(Flowchart):使用图形表示算法的思路是一种极好的方法,因为千言万语不如一张图。
四、业务流程图、数据流程图和流程图的区别
按我的理解,是侧重点不同。
业务流程图,表现单位、人员之间的业务关系、工作流程。顾名思义,描述的是业务。
数据流程图,表现信息/数据在系统中的流动、存储和处理。
流程图,其实可以称为算法流程图。一般性的流程图都可以用它,包括业务流程图和数据流程图,只不过没有TFD和DFD表现得那么好罢了。也许,流程图是业务流程图和数据流程图的基类。
五、流程图与活动图的区别
(1)流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理过程之间有严格的顺序和时间关系。 而活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程。
(2)活动图能够表示并发活动的情形,而流程图不行。
(3)活动图是面向对象的,而流程图是面向过程的。
业务流程及数据流程图
2022.04.13
还有一种流程图叫功能流程图。其元素是各个子功能或子系统。