数据流图模型建立_第1页
数据流图模型建立_第2页
数据流图模型建立_第3页
数据流图模型建立_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据流模型的建立数据流模型的建立共4页第4页数据流图模型建立(功能模型)最初,结构化分析方法仅讨论数据流建模。目标系统被表示成如图4-2-1所示的数据变换流程图。系统的功能体现在核心的数据变换中。图4-2-1数据流图(DFD)功能建模的思想就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。根据DeMarco的论述,功能模型使用了数据流图来表达系统内数据的运动情况,而数据流的变换则用结构化英语、判定表与判定树来描述。一、数据流图图4-2-2是描述储户携带存折去银行办理取款手续的数据流图。从图中可以看到,数据流图的基本图形元素有四种,如图4-2-3所示。图4-2-2办理取款手续的数据流图图4-2-3DFD的基本图形符号在数据流图中,如果有两个以上数据流指向一个加工,或是从一个加工中引出两个以上的数据流,这些数据流之间往往存在一定的关系。为表达这些关系,在这些数据流的加工可以标上不同的标记符号。所用符号及其含意在图4-2-4中给出。

图4-2-4表明多个数据流与加工之间关系的符号二、分层数据流图为了表达数据处理过程的数据加工情况,用一个数据流图是不够的。稍为复杂的实际问题,在数据流图上常常出现十几个甚至几十个加工。这样的数据流图看起来很不清楚。层次结构的数据流图能很好地解决这一问题。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统。图4-2-5给出分层数据流图的示例。数据处理S包括3个子系统1、2、3。顶层下面的第一层数据流图为DFD/L1。第二层数据流图DFD/L2.1、DFD/L2.2及DFD/L2.3分别是子系统1、2和3的细化。对任何一层数据流图来说,我们称它的上层图为父图,在它下一层的图则称为子图。图4-2-5分层数据流图画数据流图的基本步骤概括地说,就是自外向内,自顶向下,逐层细化,完善求精。检查和修改的原则为:①数据流图上所有图形符号只限于前述四种基本图形元素。

②顶层数据流图必须包括前述四种基本元素,缺一不可。

③顶层数据流图上的数据流必须封闭在外部实体之间。

④每个加工至少有一个输入数据流和一个输出数据流。

⑤在数据流图中,需按层给加工框编号。编号表明该加工处在哪一层,以及上下层的父图与子图的对应关系。

⑥规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡。

⑦可以在数据流图中加入物质流,帮助用户理解数据流图。

⑧图上每个元素都必须有名字。数据流和数据文件的名字应当是“名词”或“名词性短语”,表明流动的数据是什么。加工的名字应当是“名词+宾语”,表明做什么事情。⑨数据流图中不可夹带控制流。

⑩初画时可以忽略琐碎的细节,以集中精力于主要数据流。三、加工规格说明加工规格说明用来说明DFD中的数据加工的加工细节。加工规格说明描述了数据加工的输入,实现加工的算法以及产生的输出。另外,加工规格说明指明了加工(功能)的约束和限制,与加工相关的性能要求,以及影响加工的实现方式的设计约束。必须注意,写加工规格说明的主要目的是要表达“做什么”,而不是“怎样做”。因此它应描述数据加工实现加工的策略而不是实现加工的细节。

目前用于写加工规格说明的工具有结构化英语、判定表和判定树。四、示例商店业务处理系统:其主要管理业务销售与采购工作,即营售,当然也要其中的帐务管理。经过分析,商店业务处理的主要功能应当有销售、采购、会计三大项。主要数据流输入的源点和输出终点是顾客和供应商。然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图。

(1)首先建立顶级数据流图,其中只含有一个代表目标软件系统整体处理功能的转换。

根据软件系统与外部环境的关系确定顶级数据流图中外部实体以及它们与软件系统之间的数据流。商店业务管理处理系统的顶层数据流图如图4-2-6;图4-2-6商店处理系统的顶层数据流图(2)对用户需求的文字描述进行语法分析,其中的名词和名词短语构成潜在的外部实体、数据源或数据流,动词构成潜在的处理功能。结合分析人员对问题域和用户需求的理解,确定软件系统的主要功能以及它们之间的数据流。根据分析,本例中的系统可以分为3个主要处理功能模型(如图4-2-7)。分别是销售、采购和会计。下面分析对每一个处理功能进一步细化下去。图4-2-7商店处理系统的第0层数据流图

(3)采用通常的功能分解方法,按照“强内聚、松藕合”原则逐个对处理功能进行精化;与此同时逐步完成对数据流的精化,并针对被精化的处理功能生成下一级数据流图。

“强内聚、松藕合”原则是指被分解出来的各子功能之间的联系相对构松散、简单,子功能内部各部分的联系相对紧密、复杂。这一原则对于目标软件系统的可修改性、可扩充性大有益处,因为开发人员可以缩小软件修改或扩充的影响传播范围。

对数据流的精化包含两方面的意义。首先,伴随着功能分解的进行,数据流的内容及各项特征将逐步彰现,所以要将其作为数据字典的一个条目,并不断精化、调整内容。其次,在父数据流图中的复合数据项可被分解为子数据项,这种数据流分解并不违背平衡准则。

对本例,进一步分析可得如图4-2-8与图4-2-9两子数据流图。

(4)在精化

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论