UML之数据流图(DFD)Now,DayBreak

数据流图(DataFlowDiagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

1、DFD

数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。在结构化开发方法中,数据流图是需求分析阶段产生的结果。它是描绘信息流和数据从输入移动到输出的过程中所经受的变换。

数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。

数据流程图包括:

a.指明数据存在的数据符号,这些数据符号也可指明该数据所使用的媒体;

b.指明对数据执行的处理的处理符号,这些符号也可指明该处理所用到的机器功能;

c.指明几个处理和(或)数据媒体之间的数据流的流线符号;

d.便于读、写数据流程图的特殊符号。

在处理符号的前后都应是数据符号。数据流程图以数据符号开始和结束(除9.4规定的特殊符号外)。

数据流图有两种典型结构,一是变换型结构,它所描述的工作可表示为输入、主处理和输出,呈线性状态。另一种是事务型结构,这种数据流图呈束状,即一束数据流平行流入或流出,可能同时有几个事务要求处理。

2、数据流

数据流是一组数据。在数据流图中数据流用带箭头的线表示,在其线旁标注数据流名。在数据流图中应该描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件。

加工(处理):在数据流图中加工用圆圈表示,在圆圈内写上加工名。一个处理框可以代表一系列程序、单个程序或者程序的一个模块。

3、组成元素

数据流图中有以下几种主要元素:

(1)→:数据流。数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成。如订票单由旅客姓名、年龄、单位等数据项组成。由于数据流是流动中的数据,所以必须有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。

(2)□:数据源(终点)。代表系统之外的实体,可以是人、物或其他软件系统。

(3)○:对数据的加工(处理)。加工是对数据进行处理的单元,它接收一定的数据输入,对其进行处理,并产生输出。

(4)〓:数据存储。表示信息的静态存储,可以代表文件、文件的一部分、数据库的元素等。

4、分层DFD

根据层级数据流图分为顶层数据流图、中层数据流图和底层数据流图。除顶层数据流图外,其他数据流图从零开始编号。

(1)顶层数据流图:只含有一个加工表示整个系统;输出数据流和输入数据流为系统的输入数据和输出数据,表明系统的范围,以及与外部环境的数据交换关系。

(2)中层数据流图:是对父层数据流图中某个加工进行细化,而它的某个加工也可以再次细化,形成子图;中间层次的多少,一般视系统的复杂程度而定。

(3)底层数据流图:是指其加工不能再分解的数据流图,其加工称为“原子加工”。

5、原则

在单张数据流图时,必须注意以下原则:

(1)一个加工的输出数据流不应与输入数据流同名,即使它们的组成成分相同。

(2)保持数据守恒。也就是说,一个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者说是通过该加工能产生的数据。

(3)每个加工必须既有输入数据流,又有输出数据流。

(4)所有的数据流必须以一个外部实体开始,并以一个外部实体结束。

(5)外部实体之间不应该存在数据流,因为数据流的起点和终点中必须有一个是加工(处理)。

6、DFD画法

(1)确定系统的输入输出

由于系统究竟包括哪些功能可能一时难于弄清楚,可使范围尽量大一些,把可能有的内容全部都包括进去。此时,应该向用户了解“系统从外界接受什么数据”、“系统向外界送出什么数据”等信息,然后,根据用户的答复画出数据流图的外围。

(2)由外向里画系统的顶层数据流图

首先,将系统的输入数据和输出数据用一连串的加工连接起来。在数据流的值发生变化的地方就是一个加工。接着,给各个加工命名。然后,给加工之间的数据命名。最后,给文件命名。

(3)自顶向下逐层分解,绘出分层数据流图

对于大型的系统,为了控制复杂性,便于理解,需要采用自顶向下逐层分解的方法进行,即用分层的方法将一个数据流图分解成几个数据流图来分别表示。

7、举例说明

(1)首先画系统的输入输出,即先画顶层数据流图。顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据、输出数据流。顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据交换关系。下图为飞机机票预订系统的顶层图。

(2)画系统内部,即画下层数据流图。不再分解的加工称为基本加工。一般将层号从0开始编号,采用自顶向下,由外向内的原则。画0层数据流图时,分解顶层流图的系统为若干子系统,决定每个子系统间的数据接口和活动关系。例如,在上面的机票预订系统按功能可分成两部分,一部分为旅行社预订机票,另一部分为旅客取票,两部分通过机票文件的数据存储联系起来,0层数据流图如图3-4。

(3)注意事项。

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

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

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

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

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

在分层DFD中,需要保持父图与子图的平衡。即父图中某加工的输入输出数据流必须与其子图的输入输出数据流在数量和名字上相同,或者父图的一个输入(或输出)数据流对应于子图中几个输入(或输出)数据流,而子图中组成这些数据流的数据项全体正好是父图中的这一个数据流。

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

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

THE END
1.软件设计师大题一、数据流图 基础知识 数据流图(Data Flow Diagram,DFD)基本图形元素: 外部实体(External Agent) 表示存在于系统之外的对象,用来帮助用户理解系统数据的来源和去向 加工(Process) 数据存储(Data Store) 数据流(Data Flow) 加工、数据存储和数据流用于构建软件系统内部的数据处理模型 ...http://www.mzph.cn/news/840527.shtml
2.教学管理系统数据流图.doc精品文档 2016全新精品资料-全新公文范文-全程指导写作 –独家原创 PAGE1 / NUMPAGES19 教学管理系统数据流图 篇一:综合教务管理系统-数据流图与数字字典 数据流图与数字字典 下面的例子是实现一个计算机综合教务管理系统,完成班级信息管理,学生信息管理,课程信息管理和学生选课管理等功能。 本系统的用户分为超级用户和...https://max.book118.com/html/2019/1130/7026020015002105.shtm
3.信息系统分析与设计4.2数据流图4.2 数据流图 系统分析与设计是一项系统性、实用性十分强的工作,是建立在一系列概念和原理基础上的应用学科,选择并包含各种快速发展的工具和技术。《信息系统分析与设计》课程的教学目标是使学生全面而系统地掌握信息系统开发的基本概念、基本理论、方法、模型、工https://open.163.com/newview/movie/free?pid=BGV90EM5U&mid=BGV90GH9F
4.图书管理系统数据流图顶层和0层流程图模板图书管理系统数据流图顶层和0层 图书管理系统的数据流图顶层描述了系统的主要功能和业务流程。顶层包括了图书的采购、入库、借阅、归还和查询等主要操作。这些操作通过用户界面与系统进行交互,用户可以通过界面进行图书的查询、借阅和归还等操作。同时,系统还提供了管理员界面,管理员可以通过该界面进行图书的采购、入库和...https://www.processon.com/view/557a3128e4b0b9f0bdb60f2d
5.学生信息管理系统ER图,数据流图用例图以及用例说明(部分)软件...学生信息管理系统,包含有全部的详细的ER图,数据流图的简单visio文件,以及部分的staruml用例图和不完全的用例说明的ml文件。 我们的软件工程作业(很水),我随手上传的,大家可以救个急。 ps:初到CSDN,用了一些大佬的数据流图照着做的,应付作业 软件工程作业 学生信息管理系统 ER图 数据流图2020-12-08 上传大小:...https://www.iteye.com/resource/m0_45272112-13585493
1.数据流架构图怎么做mob649e815c000a的技术博客在现代数据驱动的时代,构建一个清晰的数据流架构图对于管理和理解复杂系统至关重要。一个好的数据流图不仅能帮助我们清晰地定义数据处理流程,还能有效地识别潜在的问题和优化机会。本文将通过一个实际案例来演示如何构建数据流架构图,并最终解决实际问题。 https://blog.51cto.com/u_16175465/12560482
2.数据流图图书馆管理数据流图示例 如果您正在寻找好的数据流图实例,这个图书馆管理数据流图或许可以提供帮助。矢量格式文件支持下载,编辑和打印。点击右图查看大图以及下载模板进行编辑。 ATM 系统数据流图示例 这个简单的ATM系统数据流图支持下载和修改。用户可以通过修改已有的模板来快速创建自己的数据流图。点击查看大图以及下载...https://www.edrawsoft.com/cn/data-flow-diagram-solutions.php
3.系统分析数据流图10例精选优质文档---倾情为你奉上 数据流图10例 1.请根据以下描述画出某库存管理系统的数据流图。该系统的数据流程描述如下:(1)首先,根据计划部门转来的收货通知单,和已存在的物资编码文件,建立物资采购单流水账;(2)然后,根据技术部门的物资验收报告和物资采购单流水账,更新物资台账文件;(3)最后,对物资台账分类汇...https://www.mayiwenku.com/p-40069392.html
4.图书馆管理系统的数据流图图书馆管理系统的数据流图是用来描述图书馆管理信息系统中各种业务处理过程联系的工具。它包括了2层数据流图和0层数据流图。其中2层数据流图包括了图书借阅管理数据流图、图书借阅记录查询数据流图、学生信息管理数据流图、图书管理员管理数据流图、图书信息管理数据流图。而0层数据流图则是全面描述信息系统逻辑模型的...https://wenku.csdn.net/answer/6cpmqbbdnt
5.7个步骤快速学会数据流图怎么画数据流图(Data Flow Diagram,简称DFD)是一种图形化表示方法,用于描述系统或程序中数据的流动和处理过程。 数据流图主要由外部实体、数据流、处理过程和数据存储组成。它通常分为多个层次,从上层到下层逐步展示系统或程序的细节,顶层数据流图显示系统或程序与外部实体的交互和主要的数据流动,下层的数据流图展示更详细的...https://boardmix.cn/article/data-flow-diagram/
6.系统分析师考试数据流图由4种基本符号组成系统分析师数据流由一组确定的数据组成。例如“领料单”数据流由物资编码、物资名称、规格型号、领用数量、出料仓库、领用单位、日期等数据组成。数据流用带有名字的箭头表示,名字表示流经的数据,箭头表示流向。数据流可以从加工流向加工;也可以从加工流向文件,从文件流向加工;还可以从源点流向加工或从加工流向终点。 系统分析...https://www.educity.cn/rk/167583.html
7.界面设计开源地理空间基金会中文分会开放地理空间实验室图16-16:Windows环境下菜单驱动的GIS界面 采用数据流图的GIS图形用户界面(图16-17)? 在图形数据流界面中,操作者通过一种“可视化的语言”,而不是严格的文本来控制系统,其中,系统用图形符号来表现其提供的功能,称为“图标”。图标不仅可以表示操作,也可以表示数据或者硬件设备。 https://www.osgeo.cn/tutorial/k3035