怎么使用Powerdesigner绘制数据流图?
我们要学习怎么绘制数据流图,首先我们要知道数据流图是什么?
其次是怎么用Powerdesiner。
那么我们现在说说数据流图是什么?
数据流图是什么?
简介:
数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。在结构化开发方法中,数据流图是需求分析阶段产生的结果。
数据流图或数据流程图(Data Flow Diagram),缩写为DFD。
数据流图DFD是描述系统中数据流程的一种图形工具,它标志了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换逻辑输出所需的加工处理。
值得注意的是,数据流图不是传统的流程图或框图,数据流也不是控制流。数据流图是从数据的角度来描述一个系统,而框图是从对数据进行加工的工作人员的角度来描述系统。
DFD显示系统将输入和输出什么样的信息,数据如何通过系统前进以及数据将被存储在何处。
它不显示关于进程计时的信息,也不显示关于进程将按顺序还是并行运行的信息,而不像传统的关注控制流的结构化流程图,或者UML活动工作流程图,它将控制流和数据流作为一个统一的模型。 数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。
数据流程图包括:
a.指明数据存在的数据符号,这些数据符号也可指明该数据所使用的媒体;
b.指明对数据执行的处理的处理符号,这些符号也可指明该处理所用到的机器功能;
c.指明几个处理和(或)数据媒体之间的数据流的流线符号;
d.便于读、写数据流程图的特殊符号。
历史:
在二十世纪七十年代,结构设计的原始开发者拉里·康斯坦丁(Larry Constantine)根据Martin和Estrin的“数据流图”(Data Flow Graph)计算模型提出了一种实用技术的数据流图。
数据流图(DFD)迅速成为一种流行的方式,可视化软件系统流程中涉及的主要步骤和数据。DFD通常用于显示计算机系统中的数据流,尽管它们理论上可以应用于业务流程建模。DFD有助于记录主要的数据流,或者在数据流方面探索新的高级设计。
理论:
数据流图也称为气泡图。
DFD是系统设计自上而下方法中使用的一种设计工具。
这个上下文级别的DFD接下来是“爆炸式”的,以产生一个1级的DFD,显示正在建模的系统的一些细节。Level 1 DFD显示了系统如何分成子系统(过程),每个系统处理一个或多个来自或来自外部代理的数据流,它们一起提供系统的所有功能整个。
它还识别必须存在的内部数据存储库,以便系统执行其工作,并显示系统各个部分之间的数据流。 数据流图是结构化系统分析和设计方法SSADM的三个基本视角之一。
项目发起人和最终用户需要在系统演进的各个阶段得到简要介绍和咨询。
通过数据流图,用户可以看到系统将如何运行,系统将完成什么以及如何实现系统。可以绘制旧系统的数据流图,并与新系统的数据流图进行比较,以便比较以实现更高效的系统。
数据流图可以用来为最终用户提供一个物理的概念,即它们输入的数据最终对整个系统的结构从订单到发送到报告有影响。如何开发系统可以通过数据流图模型来确定。
在开发一组的过程中整平数据流图分析员/设计者被迫处理系统可以如何被分解为分量的子系统,以及标识的交易数据中的数据模型。 数据流图可以在SDLC的分析和设计阶段使用。
绘制数据流图(Yourdon&Coad和Gane&Sarson)有不同的表示法,为流程,数据存储,数据流和外部实体定义不同的可视表示。
数据流:
数据流是一组数据。在数据流图中数据流用带箭头的线表示,在其线旁标注数据流名。
在数据流图中应该描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件。
在数据流图中加工用圆圈表示,在圆圈内写上加工名。一个处理框可以代表一系列程序、单个程序或者程序的一个模块。
组成元素:
数据流程图中有以下几种主要元素:
数据流。数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成。如订票单由旅客姓名、年龄、单位、身份证号、日期、目的地等数据项组成。由于数据流是流动中的数据,所以必须有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。
数据源或宿(“宿”表示数据的终点)。代表系统之外的实体,可以是人、物或其他软件系统。 对数据的加工(处理)。加工是对数据进行处理的单元,它接收一定的数据输入,对其进行处理,并产生输出。
数据存储。表示信息的静态存储,可以代表文件、文件的一部分、数据库的元素等。
分层:
根据层级数据流图分为顶层数据流图、中层数据流图和底层数据流图。
除顶层数据流图外,其他数据流图从零开始编号。
顶层数据流图只含有一个加工表示整个系统;输出数据流和输入数据流为系统的输入数据和输出数据,表明系统的范围,以及与外部环境的数据交换关系。
中层数据流图是对父层数据流图中某个加工进行细化,而它的某个加工也可以再次细化,形成子图;中间层次的多少,一般视系统的复杂程度而定。
底层数据流图是指其加工不能再分解的数据流图,其加工称为“原子加工”。
原则:
在单张数据流图时,必须注意以下原则:
一个加工的输出数据流不应与输入数据流同名,即使它们的组成成分相同。
保持数据守恒。也就是说,一个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者说是通过该加工能产生的数据。
每个加工必须既有输入数据流,又有输出数据流。
所有的数据流必须以一个外部实体开始,并以一个外部实体结束。
外部实体之间不应该存在数据流
DFD画法
(一)确定系统的输入输出 由于系统究竟包括哪些功能可能一时难于弄清楚,可使范围尽量大一些,把可能有的内容全部都包括进去。此时,应该向用户了解“系统从外界接受什么数据”、“系统向外界送出什么数据”等信息,然后,根据用户的答复画出数据流图的外围。
(二)由外向里画系统的顶层数据流图 首先,将系统的输入数据和输出数据用一连串的加工连接起来。在数据流的值发生变化的地方就是一个加工。接着,给各个加工命名。然后,给加工之间的数据命名。最后,给文件命名。
(三)自顶向下逐层分解,绘出分层数据流图 对于大型的系统,为了控制复杂性,便于理解,需要采用自顶向下逐层分解的方法进行,即用分层的方法将一个数据流图分解成几个数据流图来分别表示 。
举例说明:
(1)首先画系统的输入输出,即先画顶层数据流图。顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据、输出数据流。顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据交换关系。图8中的图3-3为飞机机票预订系统的顶层图。
(2)画系统内部,即画下层数据流图。不再分解的加工称为基本加工。一般将层号从0开始编号,采用自顶向下,由外向内的原则。画0层数据流图时,分解顶层流图的系统为若干子系统,决定每个子系统间的数据接口和活动关系。例如,在上面的机票预订系统按功能可分成两部分,一部分为旅行社预订机票,另一部分为旅客取票,两部分通过机票文件的数据存储联系起来,0层数据流图如图8中的图3-4。
(3)注意事项。
①命名。不论数据流、数据存储还是加工,合适的命名使人们易于理解其含义。
②画数据流而不是控制流。数据流反映系统“做什么”,不反映“如何做”,因此箭头上的数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。
③一般不画物质流。数据流反映能用计算机处理的数据,并不是实物,因此对目标系统的数据流图一般不要画物质流。
④每个加工至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果。
⑤编号。如果一张数据流图中的某个加工分解成另一张数据流图时,则上层图为父图,直接下层图为子图。子图及其所有的加工都应编号。
⑥父图与子图的平衡。子图的输入输出数据流同父图相应加工的输入输出数据流必须一致,此即父图与子图的平衡。
⑦局部数据存储。当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。
⑧提高数据流图的易懂性。注意合理分解,要把一个加工分解成几个功能相对独立的子加工,这样可以减少加工之间输入、输出数据流的数目,增加数据流图的可理解性
个人绘制与理解
理论部分我就不过多赘述,直接上干的:
数据流图表示法
数据流图表示法中各图形的定义
数据源点和数据汇点:指系统以外又与系统有联系的人或事物。 用来表达该系统数据的外部来源和去向。
数据流:指处理功能的输入或输出。箭头表示数据流向。
加工或处理:指对数据进行处理加工,使数据变换。 数据存储:表示某种独居保存后的逻辑统称。一般为表结构。
数据流图的分层结构
数据流图实例:机票预订系统
顶层数据流图
第一层数据流图
第二层数据流图1-1
第二层数据流图2-1
第三层数据流图2-1-1
第三层数据流图2-1-2
第三层数据流图2-1-3
绘制思路以及注意事项
绘制前应做好需求分析,需要哪些数据?要处理什么事务?
绘制时最好是按照数据进行分类,比如说上面这个例子,将数据分为用户数据和机票相关数据...
数据流上的名称应是名词
输入数据与输出数据匹配
怎么使用Powerdesigner绘制?
首先创建模型
介绍一下工具
1是你所需要的数据
2是你所建造的实体
3将处理和数据连通
4是你要建立的处理
这里面我们只介绍一个
黑色框中它的作用是进入下一级,也就是你想将某个处理细化的时候使用它进入下一级。
注意数据与处理间的连线,数据流向谁,箭头就指向谁。
当你看懂数据流图理论的时候实操反而简单了,所以理论和例子多看几遍理解理解~
码字不易,给个三连行不行~~~