软件需求之DFD图

         DFD图是一种以数据和数据的封闭性为基础,从问题空间到某种表示的映射方法,是一种结构化分析方法。DFD图在软件的需求分析中发挥着不可替代的作用。DFD图在软考中是必考的内容,在软件工程中也是一个非常中要的图。下面是我结合网上的资料和自己的所掌握的知识总结的

分类

一种是以方框、连线及其变形为基本图例符号来表示数据流动过程。

一种是以圆圈及连接弧线作为其基本符号来表示数据流动过程。

 

画法

     自上而下,逐层展开;输入输出,保持平衡。

        从图中可看到数据流程图是分层次的,绘制时采取自顶向下逐层分解的办法。

  首先画出顶层(0层)数据流图。 顶层数据流图只有一张,它说明了系统的总的处理功能、输入和输出。

下一步是对顶层数据流图中的"处理"进行分解,也就是将"帐务处理"分解为更多的"处理"。第2张图是第0层中的处理被分解后的第一层数据流程图中的一个。

数据流图分多少层次应根据现实际情况而定,对于一个复杂的大系统,有时可分至七八层之多。为了提高规范化程度,有必要对图中各个元素加以编号。通常在编号之首冠以字母,用以表示不同的元素,可以用P表示处理,D表示数据流, F表示数据存储,S表示外部实体。

 

特征

抽象性。在数据流图中具体的组织机构、工作场所、人员、物质流等等都已去掉,只剩下数据的存储、流动、加工、使用的情况。这种抽象性能使我们总结出信息处理的内部规律性。

概括性。它把系统对各种业务的处理过程联系起来考虑,形成一个总体。

 

数据流图的组成



    数据流箭头表示。是由一组固定成分的数据组成,表示数据的流向。值得注意的是,数据流图中描述的是数据流,而不是控制流。除了流向数据存储或从数据存储流出的数据不必命名外,每个数据流必须要有一个合适的名字,以反映该数据流的含义。

     加工:椭圆表示。加工描述了输入数据流到输出数据之间的变换,也就是输入数据流经过什么处理后变成了输出数据。每个加工都有一个名字和编号。编号能反映该加工位于分层的数据流图的哪个层次和哪张图中,能够看出它是由哪个加工分解出来的子加工。

      数据存储:双下划线表示。数据存储表示暂时存储的数据。每个数据存储都有一个名字。一般都是数据库文件中的一个表

      数据源点终点(外部实体):矩形表示。外部实体是存在于软件系统之外的人员或组织,他指出数据所需要的发源地或系统所产生的数据的归属地。一般只出现在数据流图的顶层图

 

数据流图的设计方法

1、画子系统的输入输出:把整个系统视为一个大的加工,数据从哪里来,到哪里去

2、画子系统的内部:把顶层图的加工分解成若干个加工,并用数据流将这些加工连接起来

3、画加工的内部:把每个加工看作一个小系统,把加工的输入输出数据流看成小系统的输入输出流

4、画子加工的分解图:对第三步分解出来的DFD图中的每个加工,重复第三步的分解过程,直到不可再分解

5、对数据流图和加工编号:各层之间对应关系正确

 

注意事项
1、 命名:不论数据流、数据存储还是加工,合适的命名使人们易于理解其含义。

2、 画数据流而不是控制流:数据流反映系统”做什么”,不反映“如何做”,因此箭头上的数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。

3、 一般不画物质流:数据流反映能用计算机处理的数据,并不是实物,因此对目标系统的数据流图一般不要画物质流。

4、 每个加工至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果。

5、 编号:如果一张数据流图中的某个加工分解成另一张数据流图时,则上层图为父图,直接下层图为子图。子图及其所有的加工都应编号。

6、 父图与子图的平衡:子图的输入输出数据流同父图相应加工的输入输出数据流必须一致,此即父图与子图的平衡。

7、 局部数据存储:当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。

8、 提高数据流图的易懂性:注意合理分解,要把一个加工分解成几个功能相对独立的子加工,这样可以减少加工之间输入、输出数据流的数目,增加数据流图的可理解性。

 

示例

         下图为一个医院病房监护系统的DFD图







评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值