软件工程面向数据流的分析与设计方法.pptx
《软件工程面向数据流的分析与设计方法.pptx》由会员分享,可在线阅读,更多相关《软件工程面向数据流的分析与设计方法.pptx(174页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向数据流的分析与设计方法面向数据流的分析与设计方法第1页/共174页结构化的软件分析与设计方法(面向数据流的分析与设计方法,etc.)面向对象的软件分析与设计方法第2页/共174页面向数据流的分析方法(dataflow-oriented analysis method)与面向对象的分析方法,都是需求建模方法。它们均有一组规范的语言表达机制,用于需求分析人员表达用户需求、构造软件系统模型。面向数据流的分析方法是结构化分析方法系列中的一支,具有明显的结构化特征。第3页/共174页结构化开发方法分为如下几个步骤:结构化分析(软件分析)SA结构化设计(总体设计、概要设计)SD详细设计面向过程的编码第
2、4页/共174页结构化分析方法是一种基于功能分解的需求分析方法。结构化分析方法是一种建模技术模型的核心是数据词典,它描述了所有的在目标系统中使用的和生成的数据对象。并用数据流图表达需求。第5页/共174页方法特点核心思想:自顶向下和逐步求精。基本手段:分解和抽象。分解:把大问题分割成若干小问题,然后分别解决。抽象:略去细节,先考虑问题最本质的属性。使用了描述需求说明书的几个规范工具。即数据流图、数据词典、小说明(加工逻辑的描述)等,使文档规范化。第6页/共174页自顶向下,逐步求精方法的优点符合人们解决复杂问题的普遍规律。可提高软件开发的成功率和生产率用先全局后局部,先整体后细节,先抽象后具体
3、的逐步求精的过程开发出来的程序具有清晰的层次结构,程序容易阅读和理解程序自顶向下,逐步细化,分解成一个树形结构。在同一层的节点上的细化工作相互独立。有利于编码、测试和集成每一步工作仅在上层节点的基础上做不多的设计扩展,便于检查有利于设计的分工和组织工作。第7页/共174页数据流图与数据字典数据流图与数据字典一个基于计算机的信息处理系统由数据流和一个基于计算机的信息处理系统由数据流和一系列的转换构成,而这些转换将一系列的转换构成,而这些转换将输入数据输入数据流流变换为变换为输出数据流输出数据流。数据流图是一种图形化技术,数据流图是一种图形化技术,它描绘信息流它描绘信息流和数据从输入移动到输出的过
4、程中所经受的和数据从输入移动到输出的过程中所经受的变换变换。在数据流图中没有任何具体的物理部件,它在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的只是描绘数据在软件中流动和被处理的逻辑逻辑过程过程。第8页/共174页在需求分析阶段,数据流(也称信息流)是系统分析的基础。所谓数据流,形象地说就是系统中“流动的数据结构”。数据流图(DFD,DataFlowDiagram)是描述软件系统中数据处理过程的一种有力的图形工具。是用来描述系统逻辑模型的一种图形工具。是用来描述系统逻辑模型的一种图形工具。数据流图从数据传递和加工的角度,以图形的方式数据流图从数据传递和加工的角度,以图
5、形的方式刻画数据流从输入到输出的移动变换过程。刻画数据流从输入到输出的移动变换过程。DFD第9页/共174页数据流图的图形记号数据流图的图形记号外部实体外部实体位于软件系统边界之外的信息生产者或消费者位于软件系统边界之外的信息生产者或消费者转换转换转换数据流的处理过程,又称泡(转换数据流的处理过程,又称泡(bubble)数据流数据流为为一一个个或或多多个个转转换换提提供供数数据据源源或或数数据据存存储储服服务务的的缓缓冲冲区、文件或数据库区、文件或数据库数据源数据源在转换之间有向流动的数据项或数据项集合在转换之间有向流动的数据项或数据项集合 “与与”,即同时输入,即同时输入/出;出;+“或或”
6、,即至少一项输入,即至少一项输入/出;出;“异或异或”,即非同时输入,即非同时输入/出。出。*第10页/共174页“家庭保安系统”顶级数据流图传感器传感器警报类别警报类别显示信息显示信息电话拨号音频电话拨号音频传感数据传感数据用户命令用户命令家庭保家庭保安系统安系统控制面板控制面板显示器显示器电话机电话机警报器警报器第11页/共174页数据流图中的基本符号(另外的表示方法)或或或符号含义数据的源点或终点数据流数据存储加工第12页/共174页1.数据的源点或终点数据的源点或终点用于反映数据流图与外部实体之间的联系,表示图中的输入数据来自哪里或处理结果送向何处。如下图中的人事部门、后勤部门是工资系
7、统中数据的源点,而职工和银行则是工资系统中数据的终点。第13页/共174页工资计算系统的顶层(0层)数据流图第14页/共174页2.数据流数据流是数据在系统中(包括数据处理之间、数据处理和数据存储之间以及数据处理和数据的源点或终点之间)的传送通道,数据流符号的箭头指明了数据的流动方向。如上图中的出勤表、业绩表、水电扣款表、工资条及工资存款清单等均为数据流。第15页/共174页3.加工加工也称为数据处理,是对系统中的数据流进行的某些操作或变换。图中每个加工都要有对应的名称,最常见的名称是由一个表明具体动作的动词和一个表明处理对象的名词构成的,如计算应发工资、打印工资清单等。4.数据存储在数据流图
8、中用于保存数据的数据文件被称为数据存储,它可以是数据库文件或任何其他形式的数据组织。流向数据存储的数据流可理解为向文件写入数据或对文件进行查询,流出数据存储的数据流可理解为从文件中读取数据或得到查询结果。第16页/共174页在数据流图中,可以有两个以上的数据流进入同一个加工,也可以有两个以上的数据流从同一个加工中流出,这样的多个数据流之间往往存在一定的关系。为了表示这些数据流之间的关系,需要在数据流图中给这些数据流对应的加工加上一定的标记符号。在下表中列出了加工中常见的几种关系的表示方法。(表中以从加工流入或流出两个数据流为例)。数据流与加工之间的关系第17页/共174页表 加工中常见关系的符
9、号表示符号含义由数据A和B共同变换为数据C由数据A变换为数据B和数据C由数据A或B,或者数据A和B共同变换为数据C由数据A变换为数据B或C,或者同时变换为数据B和C由数据A或B其中之一变换为数据C由数据A变换为数据B或C其中之一数据流与加工之间的关系第18页/共174页按照结构化分析方法中“自顶向下,逐步分解”的思想,可以先将整个系统看作是一个加工,它的输入数据和输出数据表明了系统和外部环境的接口,从而首先画出系统的顶层数据流图。为了能够清楚地表明系统加工的详细过程,接着从顶层数据流图出发,逐层地对系统进行分解。每分解一次,系统中加工的数量就随之增加,每个加工的功能描述也越来越具体。重复这种分
10、解,直至得到系统的底层数据流图。底层数据流图中的所有加工都应是不可再分解的、最简单的“原子加工”。数据流模型的建立方法第19页/共174页数据流图数据流图数据流图提供了数据流图提供了层次结构层次结构,让分析人员能够方便地表示任意抽象级别上的信息系统或其子系统,并支持问,让分析人员能够方便地表示任意抽象级别上的信息系统或其子系统,并支持问题分解、逐步求精的分析方法。题分解、逐步求精的分析方法。初始时,整个信息处理系统可以用下图所示的顶级(第初始时,整个信息处理系统可以用下图所示的顶级(第0级)数据流图表示。级)数据流图表示。第20页/共174页“家庭保安系统家庭保安系统”顶级数据流图顶级数据流图
11、1传感器传感器警报类别警报类别显示信息显示信息电话拨号音频电话拨号音频传感数据传感数据用户命令用户命令家庭保家庭保安系统安系统控制面板控制面板显示器显示器电话机电话机警报器警报器第21页/共174页 随着需求分析活动的逐渐深入,较高抽象级别上的复杂转随着需求分析活动的逐渐深入,较高抽象级别上的复杂转换可以精化为一系列相互关联的数据流和子转换,如下图所换可以精化为一系列相互关联的数据流和子转换,如下图所示。在数据流方法中,对数据(数据流)的精化是伴随着对示。在数据流方法中,对数据(数据流)的精化是伴随着对转换的逐步精化而同步进行的。转换的逐步精化而同步进行的。A0Z2Y2X2N1M1D1D1C1
12、C1E1E1B0A0F1F3FF2F4F5F41F42F43F44B0第第0级级第第1级级第第2级级数据流图的精化与层间平衡数据流图的精化与层间平衡第22页/共174页下面以某单位工资管理系统为例,来介绍一下分层数据流模型的建立方法。1.建立顶层数据流图任何系统的顶层数据流图都只有一个,用于反映目标系统所要实现的功能及与外部环境的接口。顶层数据流图中只有一个代表整个系统的加工,数据的源点和终点对应着系统的外部实体,表明了系统输入数据的来源和输出数据的去向。工资管理系统的顶层数据流图如下图所示。第23页/共174页数据流图例子数据流图例子订票员订票员预定机票准备机票记帐订票单航班目录航班号 航班
13、费用帐单机票记帐数据库帐目第24页/共174页图工资计算系统的顶层(0层)数据流图第25页/共174页按照系统的功能,对顶层数据流图进行分解,生成第一层数据流图。如例子中的工资计算系统可划分为计算工资、打印工资清单和工资转存三个加工。其中,计算工资完成单位职工工资计算,生成工资清单的功能;打印工资清单完成工资条的打印功能;工资转存完成生成职工工资存款清单并将其发送到银行的功能。对划分得到的加工应进行编号,如下图。2.数据流图的分层细化第26页/共174页工资计算系统第一层数据流图第27页/共174页对第一层数据流图中的加工继续分解,则可得到第二层数据流图,如图 A 所示。对分解得到的加工进行编
14、号,以反映出它与上层数据流图之间的关系,如对第一层数据流图中的计算工资分解得到的数据流图中的加工的编号分别为1.11.4。若数据流图中的加工还可继续细化,则重复以上分解过程,直到获得系统的底层数据流图。工资计算系统的第三层数据流图如图 B 所示。第28页/共174页图A工资计算系统的第二层数据流图(a)“计算工资”子数据流图;(b)“工资转存”子数据流图第29页/共174页图B工资计算系统的第三层数据流图第30页/共174页建立数据流模型要遵循以下的原建立数据流模型要遵循以下的原则则1每每个个加加工工至至少少应应有有一一个个输输入入数数据据流流(反反映映被被处处理理数数据据的来源)和的来源)和
15、一个输出数据流一个输出数据流(反映加工的结果)。(反映加工的结果)。2数数据据流流图图中中各各构构成成元元素素的的名名称称必必须须具具有有明明确确的的含含义义且且能够代表对应元素的内容或功能。能够代表对应元素的内容或功能。3对对某某个个加加工工进进行行细细化化生生成成的的下下层层数数据据流流图图,称称为为其其上上层层图图的的子子图图。应应保保证证分分层层数数据据流流图图中中任任意意对对应应的的父父图图和和子图的输入子图的输入/输出数据流保持一致输出数据流保持一致。4应应按按照照层层次次给给每每个个加加工工编编号号,用用于于表表明明该该加加工工所所处处的的层层次次及及上上、下下层层的的父父图图与
16、与子子图图的的关关系系。编编号号的的规规则则为为:顶顶层层加加工工不不用用编编号号;第第一一层层加加工工的的编编号号为为1,2,n。第第二二层层加加工工的的编编号号为为11,12,21,22,n1,n2,等等,以以此此类类推。推。第31页/共174页建立数据流模型要遵循以下的原建立数据流模型要遵循以下的原则则5在在父父图图中中不不要要出出现现子子图图中中涉涉及及的的局局部部数数据据存存储储文文件件。通通常常除除底底层层数数据据流流图图中中需需表表明明所所有有数数据据存存储储外外,为为保保持持画画面面整整洁洁,各各中中间间层层数数据据流流图图只只需需显显示示处处于于加加工工之之间的接口文件即可。
17、间的接口文件即可。6数数据据流流图图只只能能由由四四种种基基本本符符号号组组成成,是是实实际际业业务务流流程程的的客客观观映映象象,用用于于说说明明系系统统应应该该“做做什什么么”,而而不不需需要指明系统要指明系统“如何做如何做”。7数数据据流流图图的的分分解解速速度度应应保保持持适适中中。通通常常一一个个加加工工每每次次可可分分解解为为24个个子子加加工工,最最多多不不要要超超过过七七个个,否否则则会会增增加加用用户户的的理理解解难难度度。同同时时要要注注意意,逐逐层层精精化化必必须须适适可可而止而止。8为了便于数据流图在计算机上的输入和输出,免去画为了便于数据流图在计算机上的输入和输出,免
18、去画斜线、弧线、圆等符号的麻烦,数据流图还有另一套斜线、弧线、圆等符号的麻烦,数据流图还有另一套表示符号,如下表所示。表示符号,如下表所示。第32页/共174页表 数据流图的另一套表示符号编号编号符号含义数据流,只能为水平或垂直的带箭头直线加工数据存储数据的源点或终点第33页/共174页 数据字典数据字典F面向数据流分析需要引进面向数据流分析需要引进数据字典数据字典(DD)FDD以以一一种种准准确确、简简洁洁的的方方式式对对DFD中中数数据据流流、外部实体外部实体、数据存储数据存储作说明作说明FDD对对DFD中中的的六六类类元元素素进进行行定定义义说说明明,按按照元素不同,其中的照元素不同,其
19、中的数据条目数据条目内容也不相同内容也不相同-数据流数据流-数据项(数据元素)数据项(数据元素)-数据结构数据结构-数据存储数据存储-处理逻辑(基本加工)处理逻辑(基本加工)-外部实体外部实体第34页/共174页数据字典数据字典的提出背景:虽然数据流图能够形象、清晰地描述数据在系统中流动、加工、存储的情况,但数据流图中的许多构成元素,如数据流、数据存储、加工,仅依靠名称并不能反映其本质含义,因此必须对这些构成元素进行严格的定义。作为对数据流图的补充,数据字典(DD,Data Dictionary)能够准确地定义数据流图中各组成成分的具体含义,二者共同构成了系统的逻辑模型。第35页/共174页数
20、据字典中的基本符号及其含义符号含义说明=表示定义为用于对=左边的条目进行确切的定义+表示与关系X=a+b表示X由a和b共同构成|,表示或关系X=a|b与X=a,b等价,表示X由a或b组成()表示可选项X=(a)表示a可以在X中出现,也可以不出现表示重复大括号中的内容重复0到多次mn表示规定次数的重复重复的次数最少m次,最多n次“”表示基本数据元素“”中的内容是基本数据元素,不可再分.连接符month=1.12表示month可取112中的任意值*表示注释两个星号之间的内容为注释信息第36页/共174页示例 12()()任何长度为3的数字串444552=任何长度为4的数字串第37页/共174页数据
21、字典是关于数据流图中各种成分详细定义的信息集合,可将其按照说明对象的类型划分为四类条目,分别为数据流条目、数据项条目、数据文件条目和数据加工条目。数据字典中的条目及说明格式 数据字典的任务是数据字典的任务是:对于数据流图中出现的所有被对于数据流图中出现的所有被命名的图形元素在字典中作为一个词条加以定义,使得命名的图形元素在字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。每一个图形元素的名字都有一个确切的解释。DD第38页/共174页1.1.数据流条目 数据流在数据流图中主要用于说明数据结构在系统中的作用和流动方向,因此数据流也被称作“流动的数据结构”。数据字典中数据流条
22、目应包括以下几项主要内容:数据流名称、数据流别名、说明、数据流来源、数据流流向、数据流组成和数据流量等。第39页/共174页数据流名:数据流名:数据流名:数据流名:数据流别名:数据流别名:数据流别名:数据流别名:说明:简要介绍作用即它产生的原因和结果。说明:简要介绍作用即它产生的原因和结果。说明:简要介绍作用即它产生的原因和结果。说明:简要介绍作用即它产生的原因和结果。数据流来源:即该数据流来自何方。数据流来源:即该数据流来自何方。数据流来源:即该数据流来自何方。数据流来源:即该数据流来自何方。数据流去向:去向何处。数据流去向:去向何处。数据流去向:去向何处。数据流去向:去向何处。数据流组成:
23、数据结构。数据流组成:数据结构。数据流组成:数据结构。数据流组成:数据结构。数据量流量:数据量、流通量。数据量流量:数据量、流通量。数据量流量:数据量、流通量。数据量流量:数据量、流通量。数据流词条的描述示例:数据流名:发票说明:用作学生已付书款的依据数据流来源:来自加工“审查并开发票”数据流去向:流向加工“开领书单”。数据流组成:学号+姓名+书号+单价总价+书费合计审查并审查并开发票开发票发票发票购书单购书单 第40页/共174页数据流名称:出勤表数据流别名:无说明:由人事部门每月月底上报的职工考勤统计数字数据流来源:人事部门数据流流向:加工1.1.1(统计出勤、请假及旷工时数)数据流组成:
24、出勤表=年份+月份+职工号+出勤时数+病假时数+事假时数+旷工时数数据流量:1份/月工资系统中的出勤表数据流在数据字典中的条目描述为 数据流词条的描述示例2:第41页/共174页2.数据项条目数据流图中每个数据结构都是由若干个数据项构成的,数据项是加工中的最小单位,不可再分。数据字典的数据项条目中应包含的主要内容有:数据项名称、数据项别名、说明、类型、长度、取值范围及含义等。例如:出勤表中的职工号数据项在数据字典中的条目描述为数据项名称:职工号数据项别名:employee_no说明:本单位职工的惟一标识类型:字符串长度:6取值范围及含义:12位(00.99)为部门编号:36位(XX0001.X
25、X9999)为人员编号第42页/共174页3.数据文件条目数据文件是数据流图中数据结构的载体。数据字典的数据文件条目中应包含的主要内容有:数据文件名称、说明、数据文件组成、组织方式、存取方式、存取频率等。例如:工资系统中的职工工资档案文件在数据字典中的条目描述为数据文件名称:工资档案说明:单位职工的基本工资、各项津贴及补贴信息数据文件组成:职工号+国家工资+国家津贴+职务津贴+职龄津贴+交通补贴+部门补贴+其他补贴组织方式:按职工号从小到大排列存取方式:顺序存取频率:1次/月第43页/共174页4.数据加工条目在数据流图中只简单给出了每个加工的名称,在数据字典中通过数据加工条目主要是要说明每个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 面向 数据流 分析 设计 方法
限制150内