`
isiqi
  • 浏览: 16029462 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

软工系列之--数据流图(DFD图)

 
阅读更多

软件需求分析的基础:机构化分析方法。

结构化分析方法适用于数据处理类型软件的需求分析。它提供的主要建模工具包括 数据流图、数据字典、机构化英语、判定表、和判定树等。

在这里主要说明DFD图的使用和画法。

数据流图(DFD--Data Flow Diagram)作用

指明数据在系统中移动时如何被变换,描述对数据流进行交换的功能和子功能。

DFD图的特性。

抽象性、概括性、层次性。

DFD图的用途。

1)系统分析员用这种工具可以自顶向下分析系统信息流程。

2)可在图上画出需要计算机处理的部分。

3)根据数据存贮,进一步作数据分析,向数据库库设计过渡。

4)根据数据流向,定出存取方式。

5)对应一个处理过程,用相应的语言、判定表等工具表达处理方法。

DFD图的优缺点。

1)总体概念强,每一层都明确签掉“干什么”,“需要什么”,“给出什么”

2)可以反映出数据的流向和处理过程。

3)由于自顶向下分析,容易及早发现系统各个部分的逻辑错误,也容易修正。

4)容易与计算机处理相对照。

5)不直观,一般都要咋作业流程分析的基础上加以概括、抽象、修正来得到。

6)如果没有计算机系统的帮助,人工绘制会太麻烦,工作量较大。

数据流图的画法。

1 组成符号

2、命名。

1)名字应代表整个数据流( 或是存储)内容。

2)不要使用空洞的、缺乏具体含义的名字。

3)如果某个数据流起名字时遇到了困难,可能是因为对数据流分解不恰当引起的,应重新分解。

4)名字要反映整个处理的功能,而不是一部分功能。

5)名字最好有一个及物动词加上一个具体的名词或是名次组组成。应该尽量避免使用“加工”,“处理“,等空洞笼统的动名词。

6)数据的源点和终点并不需要在系统中实现,它们代表着系统的外部环境。数据源采用他们习惯的名字,如”学生“,“管理员”。

分层数据流图。

画法:

第0层DFD称为系统基本模型,可以将整个软件系统表示为一个具有输入和输出的黑匣子。用一个圆圈表示。

上一层DFD中的每一个圆圈可以进一步扩展成一个独立的数据流图,以揭示系统中程序的细节部分。

这种循序渐进的习惯过程可以继续进行,直到最低层的图仅描述原子过程操作为止。

每一层数据流图必须与它上一层数据流图保持平衡和一致,因此,子图的所有输入输出流要与其父图相匹配

概括的就是说:自外向内,自顶向下,逐层细化,完善求精。

确定系统的输入和输出,以反映系统关于外界环境的接口。第0层DFD将整个系统表述一个加工;它并未表达数据加工的要求,需要近一步细化。确定并标出主要的输入和输出,从输入端开始,根据业务工作流程,画出数据流经的个加工框,以反映数据的实际处理过程,逐步画出输出端,得到第一层数据流图。图中的加工分贝加以编号。细化每一个加工框。如果加工框内还有数据流,可将这个加工框再细分成为几个“子加工”并在各子加工框之间画出数据流。一次比一次细化加工。重复步骤,直到所有加工只重复一个简单的操作可以很容易的用程序来实现。

为了表达处理过程的数据加工情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚和理解整个系统。

可以把系统分为三个子系统,一层 DFD/L1、 DFD/L2 、DFD/L3。再对第二层分层 DFD/1.1 DFD/1.2 ....等等。

eg:

这是以前画的图。首先说说这个图的缺点。一是,在这个图中没有画出数据存储的文件。二是,图中数据流起名有些问题吧。

下面是我曾经画过的餐厅点菜系统的DFD图。

还是在实践中学习吧,不断的改正和探索。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics