《软件工程》-_面向数据流的分析与设计方法.ppt

上网导航 2023-08-22 311 0条评论
摘要: 讲讲课课电子邮件:电子邮件:bme_liuwei@hdu.edu.cnbme_liuwei@hdu.edu.cnbme.liuwei@gmail.combme...

讲讲课课电子邮件:电子邮件:bme_liuwei@hdu.edu.cnbme_liuwei@hdu.edu.cnbme.liuwei@gmail.combme.liuwei@gmail.com话:1357549759113575497591室:教二南楼教二南楼328328室室(面向数据流的分析与设计方法,etc.)面向数据流的分析方法(dataflow-orientedanalysismethod)与面向对象的分析方法,都是需求建模方法。它们均有一组规范的语言表达机制,用于需求分析人员表达用户需求、构造软件系统模型。面向数据流的分析方法是结构化分析方法系列中的一支,具有明显的结构化特征。结构化分析方法是一种基于功能分解的需求分析方法。模型的核心是数据词典,它描述了所有的在目标系统中使用的和生成的数据对象。并用数据流图表达需求。方法特点分解:把大问题分割成若干小问题,然后分别解决。使用了描述需求说明书的几个规范工具。即数据流图、数据词典、小说明(加工逻辑的描述)等,使文档规范化。自顶向下,逐步求精方法的优点符合人们解决复杂问题的普遍规律。可提高软件开发的成功率和生产率用先全局后局部,先整体后细节,先抽象后具体的逐步求精的过程开发出来的程序具有清晰的层次结构,程序容易阅读和理解程序自顶向下,逐步细化,分解成一个树形结构。

在同一层的节点上的细化工作相互独立。有利于编码、测试和集成每一步工作仅在上层节点的基础上做不多的设计扩展,便于检查有利于设计的分工和组织工作。一个基于计算机的信息处理系统由数据流和一系列的转换构成,而这些转换将输入数据流变换为输出数据流。数据流图是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。在需求分析阶段,数据流(也称信息流)是系统分析的基础。所谓数据流,形象地说就是系统中“流动的数据结构”。数据流图(DFD,DataFlowDiagram)是描述软件系统中数据处理过程的一种有力的图形工具。是用来描述系统逻辑模型的一种图形工具。数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。DFDDFD外部实体位于软件系统边界之外的信息生产者或消费者转换转换数据流的处理过程,又称泡(bubble)数据流为一个或多个转换提供数据源或数据存储服务的缓冲区、文件或数据库数据源在转换之间有向流动的数据项或数据项集合“与”,即同时输入/出;“家庭保安系统”顶级数据流图传感器警报类别家庭保安系统控制面板显示器电话机警报器数据流图中的基本符号(另外的表示方数据的源点或终点数据流数据存储加工数据的源点或终点数据的源点或终点用于反映数据流图与外部实体之间的联系,表示图中的输入数据来自哪里或处理结果送向何处。

如下图中的人事部门、后勤部门是工资系统中数据的源点,而职工和银行则是工资系统中数据的终点。工资计算系统的顶层(0层)数据流图数据流数据流是数据在系统中(包括数据处理之间、数据处理和数据存储之间以及数据处理和数据的源点或终点之间)的传送通道,数据流符号的箭头指明了数据的流动方向。如上图中的出勤表、业绩表、水电扣款表、工资条及工资存款清单等均为数据流。加工加工也称为数据处理,是对系统中的数据流进行的某些操作或变换。图中每个加工都要有对应的名称,最常见的名称是由一个表明具体动作的动词和一个表明处理对象的名词构成的,如计算应发工资、打印工资清单等。数据存储在数据流图中用于保存数据的数据文件被称为数据存储,它可以是数据库文件或任何其他形式的数据组织。流向数据存储的数据流可理解为向文件写入数据或对文件进行查询,流出数据存储的数据流可理解为从文件中读取数据或得到查询结果。在数据流图中,可以有两个以上的数据流进入同一个加工,也可以有两个以上的数据流从同一个加工中流出,这样的多个数据流之间往往存在一定的关系。为了表示这些数据流之间的关系,需要在数据流图中给这些数据流对应的加工加上一定的标记符号。在下表中列出了加工中常见的几种关系的表示方法。

(表中以从加工流入或流出两个数据流为由数据A和B共同变换为数据C由数据A变换为数据B和数据C由数据A或B,或者数据A和B共同变换为数据由数据A或B其中之一变换为数据C由数据A变换为数据B或C其中之一数据流与加工之间的关系按照结构化分析方法中“自顶向下,逐步分解”的思想,可以先将整个系统看作是一个加工,它的输入数据和输出数据表明了系统和外部环境的接口,从而首先画出系统的顶层数据流图。为了能够清楚地表明系统加工的详细过程,接着从顶层数据流图出发,逐层地对系统进行分解。每分解一次,系统中加工的数量就随之增加,每个加工的功能描述也越来越具体。重复这种分解,直至得到系统的底层数据流图。底层数据流图中的所有加工都应是不可再分解的、最简单的“原子加工”。数据流模型的建立方法数据流图提供了层次结构,让分析人员能够方便地表示任意抽象级别上的信息系统或其子系统,并支持问题分解、逐步求精的分析方法。初始时,整个信息处理系统可以用下图所示的顶级(第0级)数据流图表示。“家庭保安系统”顶级数据流图1传感器警报类别家庭保安系统控制面板显示器电话机警报器随着需求分析活动的逐渐深入,较高抽象级别上的复杂转换可以精化为一系列相互关联的数据流和子转换,如下图所示。

在数据流方法中,对数据(数据流)的精化是伴随着对转换的逐步精化而同步进行的。A0Z2Y2X2N1M1D1D1C1C1E1E1B0A0F1F3F2F4F5F41F42F43F44B0数据流图的精化与层间平衡下面以某单位工资管理系统为例,来介绍一下分层数据流模型的建立方法。建立顶层数据流图任何系统的顶层数据流图都只有一个,用于反映目标系统所要实现的功能及与外部环境的接口。顶层数据流图中只有一个代表整个系统的加工,数据的源点和终点对应着系统的外部实体,表明了系统输入数据的来源和输出数据的去向。工资管理系统的顶层数据流图如下图所示。按照系统的功能,对顶层数据流图进行分解,生成第一层数据流图。如例子中的工资计算系统可划分为计算工资、打印工资清单和工资转存三个加工。其中,计算工资完成单位职工工资计算,生成工资清单的功能;打印工资清单完成工资条的打印功能;工资转存完成生成职工工资存款清单并将其发送到银行的功能。对划分得到的加工应进行编号,如下数据流图的分层细化工资计算系统第一层数据流图对第一层数据流图中的加工继续分解,则可得到第二层数据流图,如图所示。对分解得到的加工进行编号,以反映出它与上层数据流图之间的关系,如对第一层数据流图中的计算工资分解得到的数据流图中的加工的编号分别为1.1~1.4。

若数据流图中的加工还可继续细化,则重复以上分解过程,直到获得系统的底层数据流图。工资计算系统的第三层数据流图如图1.每个加工至少应有一个输入数据流(反映被处理数据的来源)和一个输出数据流(反映加工的结果)。 2.数据流图中各构成元素的名称必须具有明确的含义且能够 代表对应元素的内容或功能。 3.对某个加工进行细化生成的下层数据流图,称为其上层图 的子图。应保证分层数据流图中任意对应的父图和子图的 输入/输出数据流保持一致。 4.应按照层次给每个加工编号,用于表明该加工所处的层次 及上、下层的父图与子图的关系。编号的规则为:顶层加 工不用编号;第一层加工的编号为1,2,…,n。第二层加工的 编号为11,12,…,21,22,…,n1,n2,…,等,以此类推。 建立数据流模型要遵循以下的原则 5.在父图中不要出现子图中涉及的局部数据存储文件。通 常除底层数据流图中需表明所有数据存储外,为保持画 面整洁,各中间层数据流图只需显示处于加工之间的接 口文件即可。 6.数据流图只能由四种基本符号组成,是实际业务流程的 客观映象,用于说明系统应该“做什么”,而不需要指 明系统“如何做”。 7.数据流图的分解速度应保持适中。通常一个加工每次可 分解为2~4个子加工,最多不要超过七个,否则会增加用

文章版权及转载声明:

作者:上网导航本文地址:https://www.90xe.com/post/2659.html发布于 2023-08-22
文章转载或复制请以超链接形式并注明出处技术导航

分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏