数据流图也称为数据流程图date flow diagram , DFD,是一种便于用户理解和分析系统数据流程的图形工具,他摆脱了系统和具体内容,精确的在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。
数据流图的基本组成成分
数据流:是由一组固定成分的数据组成,表示数据的流向。值得注意的是,数据流图中描述的是数据流,而不是控制流。除了流向数据存储或从数据存储流出的数据不必命名外,每个数据流必须要有一个合适的名字,以反映该数据流的含义。
加工:加工描述了输入数据流到输出数据之间的变换,也就是输入数据流经过什么处理后变成了输出数据。每个加工都有一个名字和编号。编号能反映该加工位于分层的数据流图的哪个层次和哪张图中,能够看出它是由哪个加工分解出来的子加工。
数据存储:数据存储表示暂时存储的数据。每个数据存储都有一个名字。
外部实体:外部实体是存在于软件系统之外的人员或组织,他指出数据所需要的发源地或系统所产生的数据的归属地。
外部实体 加工 数据流
分层数据流图的设计方法
第一步,画子系统的输入输出
把整个系统视为一个大的加工,然后根据数据系统从哪些外部实体接收数据流,以及系统发送数据流到那些外部实体,就可以画出输入输出图。这张图称为顶层图。
第二步,画子系统的内部
把顶层图的加工分解成若干个加工,并用数据流将这些加工连接起来,使得顶层图的输入数据经过若干加工处理后,变成顶层图的输出数据流。这张图称为0层图。从一个加工画出一张数据流图的过程就是对加工的分解。
可以用下述方法来确定加工:
在数据流的组成或值发生变化的地方应该画出一个加工,这个加工的功能就是实现这一变化,也可以根据系统的功能决定加工。
确定数据流的方法
用户把若干数据当作一个单位来处理(这些数据一起到达、一起处理)时,可以把这些数据看成一个数据流。
关于数据存储
对于一些以后某个时间要使用的数据,可以组织成为一个数据存储来表示。
第三步,画加工的内部
把每个加工看作一个小系统,把加工的输入输出数据流看成小系统的输入输出流。于是可以象画0层图一样画出每个小系统的加工的DFD图。
第四步,画子加工的分解图
对第三步分解出来的DFD图中的每个加工,重复第三步的分解过程,直到图中尚未分解的加工都是足够简单的(即不可再分解)。至此,得到了一套分层数据流图。
第五步,对数据流图和加工编号
对于一个软件系统,其数据流图可能有许多层,每一层又有许多张图。为了区分不同的加工和不同的DFD子图,应该对每张图进行编号,以便于管理。
● 顶层图只有一张,图中的加工也只有一个,所以不必为其编号。
● 0层图只有一张,图中的加工号分别是0.1、0.2、…,或者1, 2 。
● 子图就是父图中被分解的加工号。
● 子图中的加工号是由图号、圆点和序号组成,如:1.12,1.3 等等。
应该注意的问题:
1. 应适当的为数据流、加工、数据存储以及外部实体命名,名字应该反映该成分的实际含义,避免使用空洞的名字。
2. 画数据流图,不是画控制流。
3. 一个加工的输出数据流,不应与输入数据流同名,及时他们的组成完全相同。
4. 允许一个加工有多条数据流流向另一个加工,也允许一个加工有两条相同的输出数据流流向不同的加工。
5. 保持父图与子图的平衡。也就是说,父图中的某加工的输入输出流必须与他的子图的输入输出数据流在数量上和名字上相同。值得注意的是,如果父图中的一个输入(输出)数据流对应于子图中的几个输入(输出)数据流,而子图中组成这些数据流的数据项的全体正好是父图中的这一个数据流,那么他们仍然算是平衡的。
6. 在自顶向下的分解过程中,若一个数据存储首次出现时,只与一个加工有关系,那么这个数据存储应作为这个加工的内部文件而不必画出。
7. 保持数据守恒,也就是,一个加工的所有输出数据流中的数据必须能从该加工的输出流中直接获得,或者通过该加工能产生的数据。
8. 每个加工必须既有输入数据流,又有输出数据流。
9. 在整套数据流图中,每个数据存储必须既有读的数据流,又有写的数据流。但是在某张子图中,可能只有读没有写,或者只有写没有读。
特别注意上面的几点,都是考试的目标。近两年考试的内容都集中到2、5、6、8的几点上。
例题:2004年11月下午题 数据库工程师考试
阅读下列说明和数据流图,回答问题1至问题3,将解答填入答题纸的对应栏目中。
[说明]
某图书管理系统的主要功能是图书管理的信息查询。对于初次借书的读者,系统自动生成读者号,并与读者基本信息(姓名、单位、地址等)一起写入读者文件。
系统的图书管理功能分为四个方面:购入新书、读者借书、读者还书,以及图书注销。
1. 购入新书时要为该书编制入库单。入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期,将这些信息写入图书目录文件并修改文件的库存总量(表示到目前为止,购入此种图书的数量)。
2. 读者借书时须填写借书单(不知道哪个神经病开发的系统,还要填写借书单的)。借书内容包括读者号和所借图书分类目录号。系统首先检查该读者号是否有效,若无效 ,则拒绝借书,若有效,则进一步检查该读者已借图书是否达到最大限制数,是则拒绝借书,否这允许借书,同时将图书分类目录号、读者号和借阅日期等信息写入借书文件。
3. 读者还书时需要填写还书单(他妈的,什么年头还要填写还书单?)。系统根据读者号,从借书文件中读出与该图书相关的借阅纪录,标明还书日期,再写回到结束文件中。若图书逾期,则处以相应的罚款。
4. 注销图书时,须填写注销单,并修改图书目录文件占有的库存总量。
系统的信息查询功能主要包括读者信息查询和图书信息查询。其中读者信息查询可得到读者的基本信息及读者的借阅图书的情况;图书信息查询可得到图书的基本情况和图书的借出情况,
感谢来自 http://blog.csdn.net/upwaker/archive/2004/08/07/68054.aspx 的文章
分享到:
相关推荐
数据流图画法教程入门级实例手把手教你,分层级数据流图。这篇教程将详细地介绍数据流图的画法和应用,包括数据流程图(DFD)的绘制、E-R图的绘制等。 什么是数据流图? 数据流图是一种图形化的系统模型,它在一张...
数据流图(Data Flow Diagram,简称DFD)是一种在信息系统设计和分析中广泛使用的图形工具,用于描绘系统...对于初学者来说,通过实例练习是掌握数据流图绘制技巧的关键,多做此类题目能够提高对DFD的理解和应用能力。
本文档深入浅出地讲解了数据流图的基本概念、规范、绘制技巧及应用实例,旨在帮助读者理解和掌握这一重要的系统分析工具。 1. **数据流图的基本概念** 数据流图由四个基本元素构成:数据流(Data Flow)、加工...
本文将详细解释三个关键概念:IPO图(Input-Process-Output图)、数据流图(Data Flow Diagram,DFD)以及软件结构图,并结合描述中的实例进行分析。 首先,IPO图是一种简洁的表示方法,用于描述一个系统或程序如何...
这份PDF文档应该提供了详细的数据流图绘制步骤和实例,包括如何逐步细化处理,如何合理布局图形,以及如何解释和解释DFD等,是学习和掌握数据流图的好资源。 总结来说,数据流图是软件设计中一个有力的工具,它以...
讲述了系统设计时流程图的分析与画法,包含实例
学习数据流图的画法,并一个实例为基础。正在学习软件工程的比较适用。
《深圳迈瑞BC5500血球仪_LIS接口数据散点图解析实例——基于Delphi编程技术》 在医疗设备与信息系统交互的过程中,LIS(Laboratory Information System)接口扮演着至关重要的角色。本实例主要探讨的是如何利用...
数据流程图 (DFD) 画法及实例 数据流程图(DFD)是一种图形化的系统模型,它在一张图中展示信息系统的主要需求,即:输入、输出、过程和数据存储。它描述了数据流动、存储、处理的逻辑关系。 DFD 的特性: * 与...
6. **数据和资源**:数据流和资源使用通常用特殊的图形来表示,如双箭头表示数据交换,以体现信息在流程中的流动。 7. **注释和说明**:PPT中可能包含对流程图的详细解释,帮助读者理解每个元素的具体含义和流程的...
7. **活动图(Activity Diagram)**:活动图类似于流程图,用于表示工作流程、业务过程或算法,强调控制流和数据流。 8. **组件图(Component Diagram)**:组件图展示了软件系统的物理组成,包括模块、库、可执行文件...
例如,通过数据流图画法,我们可以清晰地描绘出一个系统的输入数据如何经过处理转化为输出结果,从而帮助设计出高效、合理的系统架构。在学习结构化方法时,可以通过分析案例来加深理解,提升自己的设计能力。
废话不多说,本文介绍一下最常见的几个UML图:类图、用例图、状态图、序列图、活动图,以及一个并不属于UML,但也有很大作用的数据流图。每张图详细介绍一下画法、注意点和具体案例。相关的概念、元素等则简单介绍。...
3. **流程图画法** 使用PPT等工具或jbpm的内置设计器,可以绘制出清晰的流程图,包括开始、结束、决策、用户任务、服务任务等多种类型的节点,并通过箭头表示流程的流向。同时,注意合理布局,确保流程图的可读性。...