图
UML
数据流图(DFD)
1,数据流图概念
描绘信息流和数据从输入移动到输出的过程中所经受的变换。
也就是 数据流+图。
数据流图以图形的方式描绘数据在系统中流动和处理的过程。
数据流图(DFD,Data Flow Diagram)也称分层数据流图,是在需求分析阶段用到的一种工具,在结构化的需求分析中,DFD的使用频度极高。
在数据流图中应该描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件。也就是数据流图中没有 分支条件或循环。
数据存储和数据流都是数据,仅仅所处的状态不同。数据存储是处于静止状态的数据,数据流是处于运动中的数据。
通常在数据流图中忽略出错处理,也不包括诸如打开或关闭文件之类的内务处理,数据流图的基本要点是描绘 “做什么”,而不考虑 “怎样做”。
2,数据流图特征
1)抽象性 数据流程图把具体的组织机构、工作场所、物质流都去掉,只剩下信息和数据存储、流动、使用以及加工情况;
2)概括性 数据流程图把系统对各种业务的处理过程联系起来考虑,形成一个总体。
3,数据流图基本元素
数据流基本元素:数据流;加工;数据存储;外部实体(源点或终点)
数据流图有4种基本符号:
正方形(或立方体)表示数据的源点或终点;
圆角矩形(或圆形)代表变换数据的处理;
开口矩形(或两条平行横线)代表数据存储;
箭头表示数据流,即特定数据的流动方向。
外部实体是指存在于软件系统外的人员,组织或物品,还可以是其他的系统。
数据流基本符号:
4,数据流图的层次结构
(1)分层数据流图
自顶向下分解,按照层次结构绘制,每张图中的加共个数可大致控制在“7加减2”的范围内
顶层图:描述了软件系统与外界之间的数据流,只有一张图,一个加工。(代表整个软件系统)
0层图:顶层图中的加工经过分解之后的图,也只有一张。
中间层:除了顶层、0层、底层的其他图
底层图:处于最底层的图,底层图中所有的加工不能再分解。
(2)图和加工的编号
(3)分层数据流图审查
判断绘制的数据流图是否存在问题。
1,父图与子图的平衡。
父图与子图平衡是指任何一张DFD的子图边界上的输入/输出数据,必须与其父图中对应的输入/输出数据流保持一致。
(如下的图是错误的)
2,数据流图的完整性
(1)每个加工至少有一个输入数据流和一个输出数据流
(3.1.2没有输出数据流。3.1.3只有输出,没有输入。 这两种情况都是错误的)
(2)在整套分层数据流图中,每个数据存储应至少有一个加工对其进行读操作,另一个加工对其进行写操作。
对于某一张DFD来说,可以只读不写或者只写不读。
(3)分层数据流中,每个数据流和文件都必须命名。
数据流:名词或形容词+名词
加工:动词或动宾
数据存储:名词
外部实体:可以用实际的人或组织的名称来命名。
绘制DFD数据流图
DFD的绘制是一个自顶向下、由外到里的过程,通常按照以下几个步骤进行:
1)画系统的输入和输出。
2)画DFD的内部。
3)为每一个数据流命名。
4)为每一个加工命名,采用动宾短语。
画分层数据流图的步骤:
(1)构建顶层DFD。(输入+软件系统+输出)。
(2)对顶层DFD图进行细化,构建0层DFD。(比如1个加工,2个加工,3个加工)(加工,主要寻找系统中的功能)
(3)逐层细化。(根据上一层,也就是加工上面的加工分解)
绘制顶层数据流图(顶层DFD)的要素:
1,输入、输出(也可称为源点/终点,外部实体。 一般是人/组织)
2,软件系统
3,数据流
注意事项
1)所有图形符号只有数据流、加工、数据存储和外部实体4种,并且都要有名字。
2)每个加工至少有一个输入数据流和输出数据流,只有输入没有输出,或者只有输出没有输入都不对。
3)加工的输入数据流和输出数据流名字不能相同,即使组成完全一样。
4)外部实体不能直接关联数据存储,只能通过加工。
5)整套DFD中,数据存储必须既有读的数据流,又有写的数据流,但在具体的某张子图中,不受这个限制。
6)子图必须与它的上层加工对应。
7)DFD中可以加入物质流,但不能夹带控制流。
数据流图案例
证券交易平台