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.系统流程图怎么画,迅捷画图绘制系统流程图系统流程图怎么画,迅捷画图绘制系统流程图 系统流程图是用图形符号和文字注解描述系统中各个环节(人工、数据、部件等)的流动情况,是流程图中比较常见的一种。可以把“系统”简单地理解为事务按一定的顺序和联系组成一个整体,可以用来规划整个系统的流程(运行方式、运行过程等等),那么系统流程图怎么画,迅捷画图绘制http://baijiahao.baidu.com/s?id=1695184204528096613&wfr=spider&for=pc
2.课程信息管理系统的数据流图怎么画济南职业学院精品课程-教你怎么画数据流图_包括数据流图实例 第14讲 数据流图 课程信息管理系统(Course Management System, CMS)的数据流图通常描绘了系统内部如何处理、存储和传输数据的过程。它包括以下几个基本步骤: 输入:数据流图首先会显示系统的外部实体,如学生、教师、管理员等,他们通过界面提交课程信息(如课https://wenku.csdn.net/answer/7ipwa0z8ys
3.7个步骤快速学会数据流图怎么画数据流图(Data Flow Diagram,简称DFD)是一种图形化表示方法,用于描述系统或程序中数据的流动和处理过程。 数据流图主要由外部实体、数据流、处理过程和数据存储组成。它通常分为多个层次,从上层到下层逐步展示系统或程序的细节,顶层数据流图显示系统或程序与外部实体的交互和主要的数据流动,下层的数据流图展示更详细的https://boardmix.cn/article/data-flow-diagram/
4.教你怎么画数据流图要数据。?②数据存储上一定要有数据流。③为便于说明和管理,数据存储亦应编号,编号写在文件符号左端小方格中,以“D ”开头。④为避免DFD中出现交叉线,同一数据存储可在多处画出,可以用下图所示符号表示数据存储重复。14.1数据流图 的构成(6)(5)外部项源点和终点(又称端点)是系统外的实体,称作外部项。它们http://www.360doc.com/document/20/1121/15/55610025_947070273.shtml
5.教你怎么画数据流图,包括数据流图实例数据流图(DFD:Data Flow Diagram)就是组织中信息运动的抽象,是信息逻辑系统模型的主要形式。这个模型不涉及硬件、软件、数据结构与文件组织,它与对系统的物理描述无关,只是用一种图形及与此相关的注释来表示系统的逻辑功能,即所开发的系统在信息处理方面要做什么 DFD 数据流图 ppt 2011-09-22 上传 大小:312KBhttps://www.iteye.com/resource/hallywu86-3627322
6.软件工程:数据流图和结构图怎么画?腾讯云开发者社区首先了解数据流图的4种基本符号: 然后,对从问题描述中提取数据流图的4种成分: 难点在于我们是否在进行问题的描述之后对问题的流程有详细的理解,我们很难通过单一的问题描述去把所有的数据流图的成分去映射完整,从而对问题的描述到实际的系统流程设计发生概念性的理解错误。 https://cloud.tencent.com/developer/article/2038307
7.画数据流图有哪些制图要求?区分数据流和控制流的办法,可以简单地回答下列问题:“这条线上是否有数据流过?”,如果有表示是数据流,否则是控制流。 合理分层 父、子图平衡。 父图中某一处理框的输入、输出数据流必须出现在相应的子图中。 分解合理 在自顶向下画数据流图时,为了便于对分解层数进行把握,可以参照以下几条与分解有关的原则。 https://zhuanlan.zhihu.com/p/544730961
8.软件工程期末复习知识点+大题详解(ER图数据流图N2.系统数据流图 (1)基础概念 (2)实战演练 ①题目 ②拆解题干 ③分析题干 Ⅰ.找数据源点、终点 Ⅱ.分析数据处理 Ⅲ.分析数据存储 Ⅳ.分析数据流动方向 ④画数据流图 Ⅰ.顶层数据流图 Ⅱ.0层数据流图 Ⅲ.1层数据流图 3.程序流程图 (1)基础概念 https://developer.aliyun.com/article/1268310
9.网上书店系统结构化需求分析(包括数据流图和数据字典)网上书店系统结构化需求分析(包括数据流图和数据字典)_(2)采用结构化分析方法,画出该系统的数据流图,数据字典,要求画出顶层图、0层图和,.9 完成5.6 中的书店管理系统的结构化设计,给出其结构图,凡霜**凡霜 上传660.5 KB 文件格式 doc 软件工程需求分析 网上书店系统(包括数据流图和数据字典) https://www.coder100.com/index/index/content/id/1006086
10.UML图绘制的注意点和实例分析UML可以看做用于系统设计阶段给开发做参考的一种方式,其很多图需要用到面向对象程序的思维。画UML图是产品经理的必备技能之一。 废话不多说,本文介绍一下最常见的几个UML图:类图、用例图、状态图、序列图、活动图,以及一个并不属于UML,但也有很大作用的数据流图。每张图详细介绍一下画法、注意点和具体案例。相关https://maimai.cn/article/detail?fid=1673189358&efid=BZwzYtibW4hUe18tVtdhpQ
11.《软件工程导论》第3章需求分析这一章节非常重要!!!尤其是里面的E-R图、数据流图,状态装换图的画法,非常的重要!!!目录第3章 需求分析3.1 需求分析的任务3.1.1 确定对系统的综合要求https://www.codenong.com/cs106311547/
12.管理信息系统(数据流程图)4、财 务报 表2021-10-186管理信息系统数据流图的构成数据流(Data Flow)由一个或一组确定的数据组成。数据流名应能直观地反映数据流的含义。数据流的流向数据流可以同名,也可以有相同的数据结构,但必须有不同的数据或具有不同的含义。两个符号(加工、外部项、数据存储)之间可以有多个数据流存在,DFD并不表明它https://m.renrendoc.com/paper/155592696.html
13.软考数据库系统工程师试题精选之数据流图(四)数据库系统工程师(4)住户因分户或换房,在更新住户基本信息文件的同时,系统应立即对这些住户做月租费计算,以了结分户或换房前的房租。 假定题中提供的顶层图是正确的,请回答下列问题。 【问题1】 指出哪张图中的哪些文件可不必画出。 【问题2】 指出在哪些图中遗漏了哪些数据流。回答时请用如下形式之一: https://www.educity.cn/rk/1774592.html
14.软件工程——数据流图(DFD)在《软件工程——系统流程图符号及案例》中我们知道了系统流程图描述的是物理系统,那么数据流图则是用来描述系统的逻辑模型,在数据流图中没有任何具体的物理元素,只是描绘信息在系统中的流动和处理情况。并且因为数据流图是逻辑系统的图形表示,即使是非计算机专业的人员也能理解。 一. 基本图形符号 数据流图有4中基https://www.pianshen.com/article/57062070087/
15.什么是数据流图DFD示例以及如何制作DFD第2 部分。免费在线制作数据流图 数据流图可以创建为具有多个级别的系统的简单概览或复杂表示。 DFD 从 0 层开始; 大多数常见的数据流图都属于这个级别。 要在线制作数据流图,您可以使用流行的图表工具,思维导图. 它有许多示例、模板、主题、符号和工具来快速开始您的 DFD 创建。 https://www.apeaksoft.com/zh-CN/mind-map/data-flow-diagraming.html
16.图书馆管理系统er图参考资料来源:百度百科-图书管理系统 急需图书馆系统数据流图,关系模型,ER图 各种类型数据的高等界面,后来逐渐演变成满足所有数据访问需要的完整解datamodule4.adoquery2.sql.add('SELECT借书证号,密码FROM[user]WHERE(借书证号=:tt)'); datamodule4.adoquery2.parameters[0].value:=username; https://www.zboao.com/cgal/9078.html
17.软件工程复习提纲51CTO博客如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息。 如果是取款,系统计算利息并印出利息清单给储户。 练习:患者监护系统的数据流图 某医院预开发一个以计算机为中心的患者监护系统。 要求随时接收每个病人的jllll(脉搏、体温、血压、心电图等) https://blog.51cto.com/u_15127543/4348125