阅读 84

数据流图用什么画,画数据流图的原则

数据流图(Data Flow Diagram )简称DFD,从数据的传递和加工的角度出发,用图形表示系统的逻辑功能,用图形描述系统内数据的流动和处理过程。 因为只反映了系统必须完成的逻辑功能,所以是功能模型。

数据流图中没有具体的物理要素,只是描绘了信息在系统内流动和处理的情况。

请勿将数据流图(DFD )与系统流程图和程序流程图混淆。 数据流图从数据的角度描述系统,框图从加工数据的工作人员的角度描述系统。

一.基本图形符号

(1)数据源点或终点)系统外部环境中的实体(人员、组织或其他软件系统)统称为外部实体,表示其系统数据的外部来源和去向。

)2)需要对数据处理(也称为加工)数据进行某种操作或转换,并为每种处理命名。 通常动词短语简洁地记述完成了什么样的处理。 分层数据流图也需要编号。

)3)数据存储库(也称为文件)代表在临时存储的数据,并可以是数据库文件或任何形式的数据组织,一般是表结构。

)4)数据流。 数据流是数据传输的路径,因此由一定的数据组成,箭头表示数据流。 数据流是流程中的数据,所以必须有流程。 除了不需要命名与数据存储之间的数据流外,还必须使用名词或名词短语命名数据流。

二.命名方法

)1)命名数据流(或数据存储)

a .名称必须表示整个数据流或数据存储的内容;

b .不使用空虚且缺乏具体含义的名字(例如,“数据”、“输入”) )

c .如果很难命名某个数据流(或数据存储),很可能不适合分解数据流图,所以应该尝试重新分解数据流图。

)2)命名处理

a .通常,命名数据流,然后命名与其相关联的处理;

b .名称应该反映整个处理的功能

C .应尽量避免以空洞笼统的动词命名,如“处理”、“加工”等;

d .通常用一个动词命名,如果为了描述整个处理的功能必须使用两个动词,把这个处理分解为两个处理可能更合适;

e .对某一处理命名有困难时,很可能发现分解不完全,应考虑重新分解。

)3)命名数据源中的点/端点

通常,在命名“数据源中的点/端点”时,请使用在问题域中熟悉的名称,例如“仓库管理员”、“采购员”。

三.分层数据流图

1、数据流图采用层次形式表示系统数据流,层次表示系统数据流的抽象层次,层次越高数据流越抽象。 高级别DFD映射中的处理可以分解为更低级别的、更详细的DFD映射。

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

顶层流程图只包含一个表示整个系统的加工。 输出数据流和输入数据流是系统的输入和输出数据,表示系统的范围以及与外部环境的数据交换关系。

中间层数据流图可以细化父层数据流图中的某些加工,某些加工也可以再次细化形成子图; 中级数量一般取决于系统的复杂性。

基础数据流图是指其加工不能再分解的数据流图,其加工称为“原子加工”。

2、单张数据流图时,应注意以下原则:

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

)2)维护数据保留。 这就是说,一个加工的所有输出数据流中的数据必须可以直接从该加工的输入数据流中获得,或者可以通过该加工产生。

)3)每个加工都必须有输入数据流和输出数据流。

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

)5)外部实体之间不能存在数据流

四. DFD画法(来自百度百科)。

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

因为系统包含什么样的功能可能很难马上知道,所以可以尽量扩大范围,包含可能有的所有内容。 此时,应该向用户了解“系统接收的数据来自外部”、“系统向外部发送的数据来自外部”等信息,并根据用户的回答绘制流程图的外围。

)2)从外向里绘制系统顶层数据流图

首先,通过一系列加工将系统的输入数据和输出数据连接起来。 数据流值变化的地方是加工。 然后,命名每个加工。 然后,命名加工间的数据。 最后,命名文件。

)3)自上而下分层分解,绘制分层数据流图

在大规模系统的情况下,为了抑制复杂性,便于理解,需要采用自上而下的分层分解方法,也就是说采用分层的方法将一个数据流图分解成几个数据流图并分别进行表示

http://www.Sina.com/http://www.Sina.com /

下图是飞机机票预订系统的数据流图,反映了旅行社将预订机票的旅客信息(姓名、年龄、单位、身份证号码、行程时间、目的地等)输入机票预订系统的功能。 系统为旅客安排航班,打印并取出票

通知单(附有应交的账款)。旅客在飞机起飞的前一天凭取票通知单交款取票,系统检验无误,输出机票给旅客。



 

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

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


(3)注意事项。

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

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

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

④每个加工至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果。

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

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

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

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

举例二:


(1)接受顾客的订单,检验订单,若库存有货,进行供货处理,即修改库存,给仓库开备货单,并且将订单留底;若库存量不足,将缺货订单登入缺货记录。

(2)根据缺货记录进行缺货统计,将缺货通知单发给采购部门,以便采购。

(3)根据采购部门发来的进货通知单处理进货,即修改库存,并从缺货记录中取出缺货订单进行供货处理。

(4)根据留底的订单进行销售统计,打印统计表给经理


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐