讲义:数据流程图dfd

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据流程图(DFD)

数据流程图——描述数据流动、存储、处理的逻辑关系,也称为逻辑数据流程图,一般用DFD (Data Flow Diagram)表示。

一、数据流程图的基本成分

数据流程图用到四个基本符号,即:外部实体、数据处理、数据流和数据存储。现分别介绍如下:

1、外部实体

外部实体——指系统以外又与系统有联系的人或事物。它表达该系统数据的外部来源和去处,例如:顾客、职工、供货单位等等。外部实体也可以是另外一个信息系统。

一般用一个正方形,并在其左上角外边另加一个直角来表示外部实体,在正方形内写上这个外部实体的名称。为了区分不同的外部实体,可以在正方形的左上角用一个字符表示。在数据流程图中,为了减少线条的交叉,同一个外部实体可在一张数据流程图中出现多次,这时在该外部实体符号的右下角画小斜线,表示重复。若重复的外部实体有多个,则相同的外部实体画数目相同的小斜线。外部实体的表示如图6.1所示。

图6.1外部实体

2.数据处理

处理指对数据的逻辑处理,也就是数据的变换。在数据流程图中,用带圆角的长方形表示处理,长方形分为三个部分,如图6.2所示。

图6.2 处理

标识部分用来标别一个功能,一般用字符串表示,如P1、P1.1等等。

功能描述部分是必不可少的,它直接表达这个处理的逻辑功能。一般用一个动词加一个作动词宾语的名词表示。

功能执行部分表示这个功能由谁来完成,可以是一个人,也可以是一个部门,也可以是某个

计算机程序。

3.数据流

数据流是指处理功能的输人或输出,用一个水平箭头或垂直箭头表示。箭头指出数据的流动方向。数据流可以是信件、票据,也可以是电话等。

一般说来,对每个数据流要加以简单的描述,使用户和系统设计员能够理解一个数据流的含义。对数据流的描述写在箭头的上方,一些含义十分明确的数据流,也可以不加说明,如图6.3所示。

图6.3数据流

4.数据存储

数据存储表示数据保存的地方。这里"地方"并不是指保存数据的物理地点或物理介质,而是指数据存储的逻辑描述。

在数据流程图中,数据存储用右边开口的长方条表示。在长方条内写上数据存储的名字。名字也要恰当,以便用户理解。为了区别和引用方便,再加一个标识,用字母D和数字组成。为清楚起见,用竖线表示同一数据存储在图上不同地方的出现,如图6.4所示。

图6.4数据存储

指向数据存储的箭头,表示送数据到数据存储(存放、改写等等);从数据存储发出的箭头,表示从数据存储读取数据,如图6.5所示。

图6.5 数据的读取与存储

图6.5中,“商品编号#-”表示按这个数据项检索,即“商品编号”是关键字。

二、数据流程图的画法

系统分析的根本目的是分析出合理的信息流动、处理、存储的过程。数据流程分析有许多方法,如HIPO (Hierarchical Input Process Output)法和我们介绍的结构化方法等。基本思想都是一样的,即把一个系统看成一个整体功能,明确信息的输入与输出,系统为了实现这个

功能,内部必然有信息的处理、传递、存储过程。这些处理又可以分别看做整体功能,其内部又有信息的处理、传递、存储过程。如此一级一级地剖析,直到所用处理步骤都很具体为止。

具体作法是:按业务流程图理出的业务流程顺序,将相应调查过程中所掌握的数据处理过程,绘制成一套完整的数据流程图,一边整理绘图,一边核对相应的数据和报表、模型等。数据流程图一般包括四个元素:外部实体、数据存储、处理过程、数据流向。

常用的基本图符(从左往右):外部实体 数据存储 处理过程 数据流

下面以高等学校学籍管理系统为例说明画数据流程图的方法。学籍管理是一项十分严肃而复杂的工作。它要记录学生从入学到学生离校整个在校期间的情况,学生毕业时把学生的情况提供给用人单位。学校还要向上级主管部门报告学生学籍变动情况。

首先,我们把整个系统看成一个功能。它的输入是新生入学时,从省、市招生办公室转来的新生名单和档案,输出是学生离校时给用人单位的毕业生档案和定期给主管部门的统计报表,如图6.6所示。学籍表中记载学生的基本情况,如学籍变动情况、各学期各门课程的学习成绩、在校期间的奖惩记录等。

图6.6 学籍管理系统顶层DFD

图6.6概括描述了系统的轮廓、范围,标出了最主要的外部实体和数据流。还有一些外部实体、数据流没有画出来,随着数据流程图的展开再逐渐增加。这样做的好处是突出主要矛盾,系统轮廓更清晰。

外部实体 数据存储 处理过程

数据流

D1 学籍表

D1

图6.7 学籍管理系统第一层DFD

图6.6是进一步分析的出发点。学籍管理包括学生学习成绩管理、学生奖惩管理、学生异动管理三部分。由此,可以将图6.6展开成图6.7。虚线框是图6.6中处理框的放大。图6.6的各个数据流都必须反映在图6.7上。此外还有新增的数据流和外部实体。虚线框外新增的数据流,在进入或流出虚线框时用"X"标记。数据存储"学籍表"是图6.6中原有的,可画在虚线框外,或一半在内,一半在外。在图6.7中,与学籍表有关的数据流更具体了。

下面以成绩管理为例,较详细地说明逐层分解的思路。

某校现在实行校、系两级学习成绩管理,学校教学管理科、系教务员都登记学生成绩。任课教师把学生成绩单一式两份分别送系教务员和学校教学管理科(简称教管科)。系教务员根据成绩单登录学籍表,学期结束时,给学生发成绩通知,并根据学籍管理条例,确定每个学生升级、补考、留级、退学的情况。教管科根据收到的成绩单登录教管科存的学籍表,统计各年级各科成绩分布报主管领导。补考成绩也作类似处理。这样P2框扩展成图 6.8

图6.8 成绩管理的展开

从图6.8看出某些不尽合理的地方。例如"学籍表"结构是一样的,但是系里存一份,教管科也存一份,数据冗余,工作重复。但现实情况就是这样,在调查阶段应如实反映,至于新系统应怎么做,可在对现行系统分析的基础上,提出新系统逻辑模型时再考虑。

图6.8中的一些处理,有的框还需要进一步展开。如P2.1一框,分析期末成绩包括以下几件事:

(1)把每个学生的各科成绩登录在所在班的学习成绩一览表中;

(2)根据学习成绩一览表,在学籍表中填写各个学生的成绩;

(3)根据"学习成绩一览表"评学习成绩优秀奖;

(4)根据学习成绩一览表、以往留级情况(学籍表中有记载)决定学生的升级、补考、留级、退学;

(5)发成绩通知单,通知补考时间。

这样P2.1一框展开如图6.9所示。图中的数据存储m,即学习成绩一览表,只是与P2.1有关,不涉及其它处理框,必须画在框内。

相关文档
最新文档