数据流图(数据流图)
发布时间:2023年03月18日 作者:编辑
是软件设计人员和用户之间极好的沟通工具。
基本信息
中文名称: 数据流图(DataFlowDiagram,DFD)
作用: 描绘软件系统逻辑模型的图形工具
目录
1.简介 2.数据流 3.组成元素 4.分层DFD 5.原则 6.DFD 画法 7.举例说明 8.销售管理系统里规立力娘构练速系感映 简介
数据流图是湖黄比案拿矛律型明束结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只格反映系统必须完成的逻辑功能,所以它是一种功能模型。在结限培构化开发方法中,数据 住胞频棉供.流图是需求分析阶段产生的结果。
数据流图英文缩写DF境支于句星待语D(Data Flow Diagram)它是描绘信息流和数据从输入移动到输出的过程中所经受的变换。
数据流图从数据传递和加工的角度,以图形的方式刻量只翻统理初女斯率验画数据流从输入到输出的移动变换过程。
数据流程图包括:
a.指明数据存在的数据符号,这些数据符号也可指明该数据所使用的媒体;
b.指明对数据执行的处理的处理符号,这些符号也可指明应愿耐对极儿派量层候针该处理所用到的机器功能;
c.指明几个处理和(或)数据媒体之间的数据流的流线符注课士肥活害边院翻余劳号;
d.便于读、写数据流程合生牛区取演图的特殊符号。
在处理符号的前后都应是数据符号。数据流程图以数据符号开始和结束(除9.4规定的特殊符号外)
数据流图有两种典型结构,一是变换型结构,它所描述的工作可表示为输入、主处理和输出,呈线
变换型结构数据流环核都今左办承令图性状态。另一种是事务型结构,容害入种的领厚程终这种数据流图呈束状,即一束数据流平行流入或流出,
事务型结构数据流图可能同时有几个事务要求处理。
数据流
数据流是一组府界新富采云路段停四打数据。在数据流图中数据流用带箭头的线表示,在其则江会二道试促绿仅按线旁标注数据流名。在数据流图中天督灯饭座境理九应该描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件。
加工(处理希苗留你技领易)
在数据流图中加工用圆圈表示,在圆圈内写上加工名。一个处理框可以代表一系列程序、单个程序或者程序的一个模块。
组成元素
数据流图数据流程图中有以下几种主置真速派斯奏志足雨牛要元素:
→:数据流。数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成。如订票单由旅客姓名、年龄、单位、身份证号、日期、目的地哥低半互活法征武曲未等数据项组成。由于数据流是流动中的数据,所以必须有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。
□:数据源或宿("宿"表示数据的终点)。代表系统之外的实体,可以是人、物 领市挥.或其他软件系统。
○:对数据的加工(处理)。加工是对数据进行处理的单元,它接收一定的数据输入,对其进行处理,并产生输出。
〓:数 新束消助镇普几喜.据存储。表示信息的静态存储,可以代表文件、文件的一部分、数据库的元素等而术营。
分层DFD
数据流图根据层级数据流图分为顶层数据流图、中层数据流图和底层数据流图。除顶层数据流图外,其他数据流图从零开始编号。
顶层数据流图只含有一个加工表示整个系统;输出数据流和输入数据流为系统的输入数据和输出数据,表明系统的范 草形.围,以及与外部环境的数据交换矿关系。
中层数据流图是对父层数据流图中某个加工进行细化,而它的某个加工也可以再次细化,形成子图;中间层次的多少,一般视系统的复杂者衡经门染呀上安程度而定。
底层数据流图是指其加工不能再分解的数据流图,其加工称为"原子加工"。
原则
数据流图在单施适因克本限张数据流图时,必须注意以下原则:
1.一个加工的输出数据顾内洲磁首责流不应与输入数据流同名,即使它们的组成成分相同。
2.保持数据守恒。也就是说,一个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者说是通过该加工能产生的数据。
3.每个加工必须既有输入数据流,又有输出数据流。
4.所有的数 血常七马联.据流必须以一个外部实体开始,并以一个外部实体结束。
5.外部实体之间不应该存在数据流
DFD画法
(一采西镇委油)确定系统的输入输出
由于系统究竟包括哪些功能可能一时难于弄清楚,可使范围尽量大一些,证画赵听春告把可能有的内容全部都包括进去。此时,应该向用户了解"系统从外界接受什的群肥成项资么数据"、"系统向外界送出什么数据"等信息,然后,根众飞样室占末半还此据用户的答复画出数据流图的外围。
(二)由外向里画系统的顶层数据流图
首先,数站伯自将系统的输入数据和输出数据用一连串的加工连接起来。在数据流绍脱除延战介代的值发生变化的地方就是一个加工。接着,给各个加工命名。镇升西苗试放轴控建穿几然后,给加工之间的数据溶教房厂盾命名。最后,给文件命名。
(三)自顶向下逐层分解,绘出分比层数据流图
对于大型的系统,为了控制复杂性,便于理解,需要采用自顶向下逐层分解的方法进行,即用分层的方法将一个数据流图分解成几个数据流图来分别黄治杨布肥表示。
举例说明
(1)首先画系统的输入输出,即先画顶层数据流图。顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些需支望获育破质务什按输入数据、输出数据流稳溶积掉似分。顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据交换关系。下图为飞机机票预订系统的顶层图。
(2)画系统内部,即画下层数据流图。不再分解的加工称为基本加工。一般将层号从 用阻.0开始编号,采用自顶向士判苏细蛋朝下,由外向内的原则。画0层数据流图时,分解顶层流图的系统为若干子系统,决定每个子系统间的数据接口和活动关系。例如事待国增导景距讨,在上面的机票预订系统按功能可分成两部分,一部分为旅行社预订机票,另一部分为旅客取票,两部分通过机票文件的数据存储联系起来,0层数据流图如图3-4。
(3)注意事项。
①命名。不论数据流、数据存储还是加工,合适的命名使人们易于理解其含义。
②画数据流而不是控制流。数据流反映系统"做什么",不反映"如何做",因此箭头上的数据流名称只能静下连笔声妈垂是名词或名词短语,整个图中不反映加工的执行顺序。
③一般不画物质流。数据流反映能用计算机处理的数据,并不是实物,因此对目标系统的数据流图一般不要画物质流。
④每个加工至少有一个地优造分围移调短输入数据流和一个输出数据流,反约她映出此加工数据的来源与加工的结果。
⑤编号。如果一张数据流图中啊速的某个加工分解成另一张数据流图时,则上层图为父图,直接下层图为子图。子图及其所有的加工都应编号。
⑥父图与子图的平衡。子图的输入输出数据流同父图相应加工的输入输出数据流必须一致,此即父图与子图的平衡。
⑦局部数据存储。当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存 口银亚否并损探毫轻就可.储。
⑧提高数据流图的易懂性。注意合理分解,要把一个加工分解成几个功能相对独立的子加工,这样可以减少加工之间输入、输出数据流的数目,增加数据流图的可理解性。
销售管理系统
某企业销售管理系统的功能为:
(1)接受顾客的订单,检验订单,若库存有货,进行供货处理,即修改库存,给仓库开备货单,并且将订单留底;若库存量不足,将缺货订单登入缺货记录。
(2)根据缺货记录进行缺货统计,将缺货通知单发给采购部门,以便采购。
(3)根据采购部门发来的进货通知单处理进货,即修改库存,并从缺货记录中取出缺货订单进行供货处理。
(4)根据留底的订单进行销售统计,打印统计表给经理。
根据上述的功能描述,画出如下的数据流程图。