- 浏览: 831199 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (379)
- struts (5)
- hibernate (16)
- spring (16)
- ssh (20)
- MySQL (16)
- 数据库脚本 (2)
- DownLoad (1)
- GAE (5)
- Java (103)
- LoadRunner (2)
- VF (1)
- 学习资料 (24)
- 软件使用 (21)
- 通信类 (4)
- 生活 (3)
- J2ME (1)
- 心理学 (1)
- Linux (26)
- Android (3)
- Oracle (1)
- 面向对象概念&面试准备 (11)
- ExtJs (2)
- Google Map (1)
- Flex (47)
- 算法研究 (1)
- share (20)
- python (1)
- MongoDB (7)
- centos6 (13)
- C++ (8)
- DB2 (3)
- C# (1)
- 代码片段 (24)
- Lucene (2)
- php (1)
- NodeJS (1)
- Express (1)
最新评论
-
shua1991:
已阅,我表示同意。
Eclipse统计代码行数 -
nakedou:
写的不错,挺详细的
在CentOS中使用 yum 安装MongoDB及服务器端配置 -
sjp524617477:
好方法
Eclipse统计代码行数 -
simpletrc:
<script>ale ...
Java写到.txt文件,如何实现换行 -
csdn_zuoqiang:
Apache Ftp Server,目前是1.0.4,非常好的 ...
Apache FtpServer在64位系统下服务不能启动解决方法
概念----数据流图(DFD)
数据流图 (date flow diagram , DFD),是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。
数据流图是从数据的角度来描述一个系统的,而流程图 则是从对数据加工的角度来描述系统的;数据流图中的箭头是数据流,而流程图中的箭头则是控制流,它表达的是程序执行的次序;数据流图适合于宏观地分析一个组织业务概况,而程序流程图只适合于描述系统中某个加工的执行细节。
一、数据流图的基本组成成分
数据流 :是由一组固定成分的数据组成,表示数据的流向。值得注意的是,数据流图中描述的是数据流,而不是控制流。除了流向数据存储或从数据存储流出的数据不必命名外,每个数据流必须要有一个合适的名字,以反映该数据流的含义。
加工 :加工描述了输入数据流到输出数据之间的变换,也就是输入数据流经过什么处理后变成了输出数据。每个加工都有一个名字和编号。编号能反映该加工位于分层的数据流图的哪个层次和哪张图中,能够看出它是由哪个加工分解出来的子加工。
数据存储 :数据存储表示暂时存储的数据。每个数据存储都有一个名字。
外部实体 :外部实体是存在于软件系统之外的人员或组织,他指出数据所需要的发源地或系统所产生的数据的归属地。
二、分层数据流图的设计方法
1、画子系统的输入输出
把整个系统视为一个大的加工,然后根据数据系统从哪些外部实体接收数据流,以及系统发送数据流到那些外部实体,就可以画出输入输出图。这张图称为顶层图。
2、画子系统的内部
把顶层图的加工分解成若干个加工,并用数据流将这些加工连接起来,使得顶层图的输入数据经过若干加工处理后,变成顶层图的输出数据流。这张图称为0层图。从一个加工画出一张数据流图的过程就是对加工的分解。
确定加工的方法:在数据流的组成或值发生变化的地方应该画出一个加工,这个加工的功能就是实现这一变化,也可以根据系统的功能决定加工。
确定数据流的方法:用户把若干数据当作一个单位来处理(这些数据一起到达、一起处理)时,可以把这些数据看成一个数据流。
关于数据存储:对于一些以后某个时间要使用的数据,可以组织成为一个数据存储来表示。
3、画加工的内部
把每个加工看作一个小系统,把加工的输入输出数据流看成小系统的输入输出流。于是可以象画0层图一样画出每个小系统的加工的DFD图。
4、画子加工的分解图
对第三步分解出来的DFD图中的每个加工,重复第三步的分解过程,直到图中尚未分解的加工都是足够简单的(即不可再分解)。至此,得到了一套分层数据流图。
5、对数据流图和加工编号
对于一个软件系统,其数据流图可能有许多层,每一层又有许多张图。为了区分不同的加工和不同的DFD子图,应该对每张图进行编号,以便于管理。
● 顶层图只有一张,图中的加工也只有一个,所以不必为其编号。
● 0层图只有一张,图中的加工号分别是0.1、0.2、…,或者1, 2 。
● 子图就是父图中被分解的加工号。
● 子图中的加工号是由图号、圆点和序号组成,如:1.12,1.3 等等。
三、应该注意的问题:
1、命名。 应适当的为数据流、加工、数据存储以及外部实体命名,名字应该反映该成分的实际含义,避免使用空洞的名字。
2、画数据流图,不是画控制流 。数据流反映系统“做什么”,不反映“如何做”,因此箭头上的数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。
3、一般不画物质流。数据流反映能用计算机处理的数据,并不是实物,因此对目标系统的数据流图一般不要画物质流。
4、一个加工的输出数据流,不应与输入数据流同名 ,即使他们的组成完全相同。
5、允许一个加工有多条数据流流向另一个加工,也允许一个加工有两条相同的输出数据流流向不同的加工。
6、编号。如果一张数据流图中的某个加工分解成另一张数据流图时,则上层图为父图,直接下层图为子图。子图及其所有的加工都应编号。
7、保持父图与子图的平衡 。也就是说,父图中的某加工的输入输出流必须与他的子图的输入输出数据流在数 量上和名字上相同。值得注意的是,如果父图中的一个输入(输出)数据流对应于子图中的几个输入(输出)数据流,而子图中组成这些数据流的数据项的全体正好 是父图中的这一个数据流,那么他们仍然算是平衡的。
8、在自顶向下的分解过程中,若一个数据存储首次出现时,只与一个加工有关系,那么这个数据存储应作为这个加工的内部文件而不必画出。
9、保持数据守恒,也就是,一个加工的所有输出数据流中的数据必须能从该加工的输出流中直接获得,或者通过该加工能产生的数据。
10、每个加工必须既有输入数据流,又有输出数据流。
11、在整套数据流图中,每个数据存储必须既有读的数据流,又有写的数据流。但是在某张子图中,可能只有读没有写,或者只有写没有读。
12、提高数据流图的易懂性。注意合理分解,要把一个加工分解成几个功能相对独立的子加工,这样可以减少加工之间输入、输出数据流的数目,增加数据流图的可理解性。
=============================================================================
基本图形符号
数据流图有四种基本图形符号:
:箭头,表示数据流;
〇:圆或椭圆,表示加工;
=:双杠(带一边开口,一边闭合),表示数据存储;
□:方框,表示数据的源点或终点。
(1)
数据流。数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成。如订票单由旅客姓名、年龄、单位、身份证号、日期、目的地等数据项组成。由于数
据流是流动中的数据,所以必须有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。
(2)加工(又称为数据处理)。对数据流进行某些操作或变换。每个加工也要有名字,通常是动词短语,简明地描述完成什么加工。在分层的数据流图中,加工还应编号。
(3)数据存储(又称为文件),指暂时保存的数据,它可以是数据库文件或任何形式的数据组织。
(4)数据源点或终点,是本软件系统外部环境中的实体(包括人员、组织或其他软件系统),统称外部实体。一般只出现在数据流图的顶层图。
画数据流图的步骤
(1)首先画系统的输入输出,即先画顶层数据流图。顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据、输出数据流。顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据交换关系。下图为飞机机票预订系统的顶层图。
(2)画系统内部,即画下层数据流图。不再分解的加工称为基本加工。一般将层号从0开始编号,采用自顶向下,由外向内的原则。画0层数据流图时,分解顶层
流图的系统为若干子系统,决定每个子系统间的数据接口和活动关系。例如,在上面的机票预订系统按功能可分成两部分,一部分为旅行社预订机票,另一部分为旅
客取票,两部分通过机票文件的数据存储联系起来,0层数据流图如图3-4。
(3)注意事项。
①命名。不论数据流、数据存储还是加工,合适的命名使人们易于理解其含义。
②画数据流而不是控制流。数据流反映系统”做什么”,不反映“如何做”,因此箭头上的数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。
③一般不画物质流。数据流反映能用计算机处理的数据,并不是实物,因此对目标系统的数据流图一般不要画物质流。
④每个加工至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果。
⑤编号。如果一张数据流图中的某个加工分解成另一张数据流图时,则上层图为父图,直接下层图为子图。子图及其所有的加工都应编号。
⑥父图与子图的平衡。子图的输入输出数据流同父图相应加工的输入输出数据流必须一致,此即父图与子图的平衡。
⑦局部数据存储。当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。
⑧提高数据流图的易懂性。注意合理分解,要把一个加工分解成几个功能相对独立的子加工,这样可以减少加工之间输入、输出数据流的数目,增加数据流图的可理解性。
发表评论
-
IDEA 常用配置以及快捷
2012-09-01 10:38 50951. IDEA内存优化 ... -
Ubuntu 10.04 TinyOS
2012-08-20 00:42 1547sudo gedit /etc/apt/sources.lis ... -
我看用户体验与用户价值
2012-07-01 14:55 1034不知道从什么时候开始,各个信息源都开始充斥着用户体验的讨 ... -
在windows 7上安装Maven2.2.1
2012-06-18 17:00 1219Maven是一个java工具,所以请确保jdk环境已经正确安装 ... -
产品经理如何赢得开发人员的尊重和支持?
2012-06-14 09:08 948对于产品经理来说, ... -
Apache FtpServer在64位系统下服务不能启动解决方法
2012-06-10 21:29 6801Apache FTPServer是一款用Java开发的 ... -
Java 集合类
2012-06-07 22:03 1571Java 集合类 1. 为什么要了解J ... -
Java集合工具类之List - ArrayList & LinkedList
2012-06-07 21:21 18991.ArrayList 的数据结构 ... -
网络爬虫调研报告
2012-06-06 11:17 6010网络爬虫调研报告 调研背景 项目中要对 ... -
海量数据处理
2012-06-05 10:02 1868一:常见的题目:- 1 ... -
short、int、long与byte之间的转换工具类
2012-05-31 11:05 4478/** * 各基础类型与byte之间的转换 * ... -
Ubuntu 12.04 改造指南
2012-05-28 10:47 1402升级12.04已经有一段时间了。作为一个从08年就开始用 ... -
使用apt-get方式为Linux Mint 13安装PHP+MYSQL+Apache
2012-05-25 17:48 4768使用apt-get方式为Ubuntu安装PHP+MYSQ ... -
Linux Mint 13 配置JAVA 环境
2012-05-24 22:35 26210.1--下载 JAVA ... -
CentOS 5.5下搭建部署独立SVN服务器全程详解
2012-05-10 10:08 1130SVN服务器有2种运行方式: 1、独立服务器 (例如:s ... -
centos下使用Heartbeat实现集群
2012-05-09 11:44 1406Linux 包括 CentOS 下高可用性(HA:High A ... -
处理JSON最快的Java库
2011-12-19 16:35 1077FastJSON http://code.alibab ... -
SVN小文件清除脚本
2011-09-23 14:36 1083@echo off echo ************** ... -
Java代码片段
2011-08-31 10:11 641if(null != str && ... -
论语今解·学而第一
2011-08-20 16:43 785子曰:不患人之不己知,患不知人也。 孔子说: ...
相关推荐
数据流图(Data Flow Diagram,DFD)是从数据传递和加工的角度,以图形的方式来描述逻辑输入经过系统加工处理后转化为逻辑输出的结构化系统分析工具 重点理解:系统的输入和输出分别是什么、数据从何处来又去向何方...
数据流图(DFD)画法要求
数据流图,属于软件工程学适合学习用。
数据流图(DFD)的画法,word格式
文章首先介绍了数据流图是什么?它得用法及示例,包括注意事项等相关内容,希望对大家有所...高层次的DFD图中处理能够进一步分解为低层次、更具体的DFD图。数据源点和数据汇点:指系统以外又与系统有联系的人或事物。
酒店订餐系统ER图,数据流图DFD-课程设计挺有用
软件工程课程的实验一,软考的数据流图DFD,上软件工程的第一个实验,最后的心得包括了画数据流图要注意的所有注意事项。
数据流图DFD数据字典判定表
管理信息系统DFD图练习: 采购订单制定的环节常常是被人忽视的环节,但是管理不严,最容易出现被人利用采购,与供应商进行地下交易,低价买高价报账,或者质量不合格的情况。 因此该数据流图应该按照控制采购出现...
掌握数据流图DFD的基本功能和绘制方法。 4.掌握实体联系图ER图的基本功能和绘制方法。 5.掌握Microsoft Visio建模工具的使用方法。 成 绩 评 定 表 类 别 评 分 标 准 分值 得分 合 计 上机表现 积极出勤、遵守...
包含12个章节,计算机组成与体系结构、操作系统、数据库系统、计算机网络、数据结构与算法基础、程序设计语言与语言处理基础、法律法规、软件工程、面向对象、数据库和数据流图、UML、数据结构与算法应用、面向对象...
软件设计师 数据流图(DFD)专题讲解 软件设计师 数据流图(DFD)专题讲解 软件设计师 数据流图(DFD)专题讲解
自己整理的13页数据流图详细介绍,包括怎么使用、用途、画法等
关于dfd的画法,有几十个;关于dfd的画法,有几十个;关于dfd的画法,有几十个
数据流图(DFD:Data Flow Diagram)就是组织中信息运动的抽象,是信息逻辑系统模型的主要形式。这个模型不涉及硬件、软件、数据结构与文件组织,它与对系统的物理描述无关,只是用一种图形及与此相关的注释来表示...
数据流图 数据流图dfd在viso中的模板