ImageVerifierCode 换一换
格式:PPT , 页数:46 ,大小:1.98MB ,
文档编号:3385710      下载积分:25 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-3385710.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(三亚风情)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(面向数据流的设计方法-文本.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

面向数据流的设计方法-文本.ppt

1、8/7/20221第九章第九章 面向数据流的设计方法面向数据流的设计方法 传统的软件工程方法学采用结构化设计传统的软件工程方法学采用结构化设计(Structured(Structured Design,SD)Design,SD)技术,完成软件设计工作,通常把软件设计工作技术,完成软件设计工作,通常把软件设计工作划分为概要设计和详细设计这样两个阶段。划分为概要设计和详细设计这样两个阶段。概要设计概要设计的主要任务是,通过仔细分析软件规格说明,的主要任务是,通过仔细分析软件规格说明,适当地对软件进行功能分解,从而把软件划分为模块,并且适当地对软件进行功能分解,从而把软件划分为模块,并且设计出完成预

2、定功能的模块结构。设计出完成预定功能的模块结构。详细设计详细设计阶段详细地设计阶段详细地设计每个模块,确定完成每个模块功能所需要的算法和数据结构。每个模块,确定完成每个模块功能所需要的算法和数据结构。8/7/20222数据词典数据词典数数据据流流图图实实体体关关系系图图状态转换图状态转换图加加工工规规格格说说明明控控制制规规 格格说说明明数数据据对对象象描描述述过程设计过程设计接口设计接口设计体系结构设计体系结构设计数据设计数据设计8/7/20223面向数据流的设计方法面向数据流的设计方法 本章所述技术用于软件的概要设计描述本章所述技术用于软件的概要设计描述 ,包括模块、界面,包括模块、界面和

3、数据结构的定义,这是后续开发的基础。和数据结构的定义,这是后续开发的基础。o每种软件设计方法都有长处和不足,选用哪种方法应考虑适每种软件设计方法都有长处和不足,选用哪种方法应考虑适用的范围。用的范围。o任何软件系统都可以用数据流图表示,面向数据流的设计方任何软件系统都可以用数据流图表示,面向数据流的设计方法可用于任一种软件系统的开发。法可用于任一种软件系统的开发。o该方法对那些顺序处理信息且不含层次数据结构的系统最为该方法对那些顺序处理信息且不含层次数据结构的系统最为有效,如有效,如,过程控制、复杂的数值分析过程、以及科学与工程过程控制、复杂的数值分析过程、以及科学与工程方面的应用等等。方面的

4、应用等等。o当方法用于完全的数据处理时,即使系统中使用层次数当方法用于完全的数据处理时,即使系统中使用层次数 据同样行之有效。据同样行之有效。第九章第九章 面向数据流的设计方法面向数据流的设计方法8/7/202249 9.1 1基本概念和设计过程基本概念和设计过程用用方法将数据流图转换为软件结构方法将数据流图转换为软件结构 ()确定信息流的类型;)确定信息流的类型;()划定流界;)划定流界;()将数据流图映射为程序结构;)将数据流图映射为程序结构;()提取层次控制结构;)提取层次控制结构;()通过设计复审和启发式策略精化结构。)通过设计复审和启发式策略精化结构。第三步所用映射方法涉及信息流的类

5、型。第三步所用映射方法涉及信息流的类型。信息流分为信息流分为变换流变换流和和事务流事务流两种类型。两种类型。第九章第九章 面向数据流的设计方法面向数据流的设计方法8/7/20225基本概念和设计过程基本概念和设计过程变换流变换流在基本系统模型(即顶级数据在基本系统模型(即顶级数据流图)中信息通常以流图)中信息通常以“外部外部世界世界”所具有的形式进入系所具有的形式进入系统,经过处理后又以这种形统,经过处理后又以这种形式离开系统。式离开系统。输入信息流沿传入路径进入系输入信息流沿传入路径进入系统,同时由外部形式变换为统,同时由外部形式变换为内部形式,经系统变换中心内部形式,经系统变换中心加工、处

6、理,作为输出信息加工、处理,作为输出信息流又沿传出路径离开系统,流又沿传出路径离开系统,并还原为外部形式。并还原为外部形式。若数据流图所描述的若数据流图所描述的信息流具有上述特征信息流具有上述特征则称作变换流。则称作变换流。9.1基本概念和设计过程基本概念和设计过程8/7/20226基本概念和设计过程基本概念和设计过程事务流事务流 由于基本系统模型呈变由于基本系统模型呈变换流,故任意系统中的信换流,故任意系统中的信息均可用变换流刻画。息均可用变换流刻画。若数据流具有如图若数据流具有如图9.9.所所示形状,称示形状,称“事务流事务流”。单个数据项称为事务单个数据项称为事务(transaction

7、transaction)沿传入)沿传入路径(接受通道)进入系路径(接受通道)进入系统,由外部形式变换为内统,由外部形式变换为内部形式后到达事务中心,部形式后到达事务中心,事务中心根据数据项计值事务中心根据数据项计值结果从若干动作路径中选结果从若干动作路径中选定一条继续执行。定一条继续执行。9.1基本概念和设计过程基本概念和设计过程8/7/20227基本概念和设计过程基本概念和设计过程o在大系统的中,变换流与事务流往往交织在在大系统的中,变换流与事务流往往交织在一起。一起。o在基于事务流的系统中,当信息沿动作路径流动时在基于事务流的系统中,当信息沿动作路径流动时可能呈现变换流的特征,变换分析法与

8、事物分析法需可能呈现变换流的特征,变换分析法与事物分析法需要交叉使用。要交叉使用。o任何设计过程都不应该也不可能完全机械化,人的任何设计过程都不应该也不可能完全机械化,人的判断力和创造性往往起决定作用。判断力和创造性往往起决定作用。9.1基本概念和设计过程基本概念和设计过程8/7/20228面向数据流的设计面向数据流的设计9.1基本概念和设计过程基本概念和设计过程8/7/202299.2 9.2 变换分析变换分析o变换分析由一系列设计步骤组成,经过这些步骤就能把具有变换分析由一系列设计步骤组成,经过这些步骤就能把具有变换流特点的数据流图变换流特点的数据流图,按预先确定的模式映射成软件结构。按预

9、先确定的模式映射成软件结构。步骤一步骤一 复审基本系统模型复审基本系统模型 基本系统模型指顶级和所有由外部提供的信息。这一基本系统模型指顶级和所有由外部提供的信息。这一设计步骤是对系统规格说明书和设计步骤是对系统规格说明书和 软件需求规格说明书进行评软件需求规格说明书进行评估。这两个文档描述软件界面上信息的流程和结构。估。这两个文档描述软件界面上信息的流程和结构。图图9.49.4和图和图 9.59.5分别为分别为“家庭保安系统家庭保安系统”的顶层和第一层数的顶层和第一层数据流图。据流图。第九章第九章 面向数据流的设计方法面向数据流的设计方法8/7/202210“家庭保安系统家庭保安系统”的顶级

10、数据流图的顶级数据流图 家庭保安系统家庭保安系统传传感器监测子系统感器监测子系统的的变换分析步骤。变换分析步骤。9.2变换分析变换分析8/7/202211变换分析变换分析步骤二步骤二 复审和精化软件数据流图复审和精化软件数据流图 精化软件需求规格说明书中的分析模型,直至获得足够详细精化软件需求规格说明书中的分析模型,直至获得足够详细的。的。如,由如,由“传感器监测子系统传感器监测子系统”的第一级(图的第一级(图9 9.的局部)和第的局部)和第二级(图二级(图9 9.)进)进 一步推导出第三级数据流图(图一步推导出第三级数据流图(图9 9.)。每个变换对应一个独立的功能,可望用一每个变换对应一个

11、独立的功能,可望用一 个具有较高内聚个具有较高内聚度的模块实现,至此已有足够的信息用于设计度的模块实现,至此已有足够的信息用于设计“传感器监测子传感器监测子系统系统”的程序结构,精化过程亦可结束。的程序结构,精化过程亦可结束。9.2变换分析变换分析8/7/202212“传感器监测子系统传感器监测子系统”的第二级的第二级DFDDFD9.2变换分析变换分析8/7/202213“传感器监测子系统传感器监测子系统”的第三级的第三级DFDF9.2变换分析变换分析8/7/202214变换分析变换分析步骤三步骤三 确定为变换流还是事务流。确定为变换流还是事务流。系统内部的信息流总可以用变换流表示,倘若具有明

12、显的事系统内部的信息流总可以用变换流表示,倘若具有明显的事务特性,还应该采用针对事务流的映射方法。设计人员首先要务特性,还应该采用针对事务流的映射方法。设计人员首先要判定中占主导地位的信息流,并确定其特性,然后孤立判定中占主导地位的信息流,并确定其特性,然后孤立出具有变换特性或事务特性的支流,这些支流将用于精化由主出具有变换特性或事务特性的支流,这些支流将用于精化由主导数据流推出的程序结构。导数据流推出的程序结构。以图以图9.79.7所示为例,数据沿一个传入路径进来,沿三个传所示为例,数据沿一个传入路径进来,沿三个传出路径离开,无明显的事务中心,该信息流应属变换流。出路径离开,无明显的事务中心

13、,该信息流应属变换流。9.2变换分析变换分析8/7/202215变换分析变换分析步骤四步骤四 划定输入流和输出流边界孤立变换中心。划定输入流和输出流边界孤立变换中心。输入、输出流边界的划分可能因人而异,不同的设输入、输出流边界的划分可能因人而异,不同的设计人员可能把边界沿着数据通道向前推进或后退一个计人员可能把边界沿着数据通道向前推进或后退一个处理框,这对最后的软件结构影响不大。处理框,这对最后的软件结构影响不大。“传感器监测子系统传感器监测子系统”的流界在图的流界在图9.9.中用虚线表示。中用虚线表示。9.2变换分析变换分析8/7/202216“传感器监测子系统传感器监测子系统”9.2变换分

14、析变换分析8/7/202217变换分析变换分析步骤五步骤五 执行执行“一级分解一级分解”导出具有三个层次的程序结构导出具有三个层次的程序结构。o顶层为总控模块;顶层为总控模块;o底层模块执行输入、计算和输出功能;底层模块执行输入、计算和输出功能;o中层模块控制、协调底层的工作。中层模块控制、协调底层的工作。如图如图9 9.8 8所示,主控模块负责协调下面几个中层控制模块:所示,主控模块负责协调下面几个中层控制模块:输入流控制模块,接收所有输入数据;输入流控制模块,接收所有输入数据;变换流控制模块,对内部形式数据进行加工、处理;变换流控制模块,对内部形式数据进行加工、处理;输出流控制模块,产生输

15、出数据输出流控制模块,产生输出数据9.2变换分析变换分析8/7/202218一级分解一级分解9.2变换分析变换分析8/7/202219变换分析变换分析一级分解一级分解 图图9.9.展示的是一个简单三叉结构,实际处理大展示的是一个简单三叉结构,实际处理大型系统的复杂数据流时,可能需要两个甚至多个模块型系统的复杂数据流时,可能需要两个甚至多个模块对应上述一个模块的功能。对应上述一个模块的功能。“一级分解一级分解”的原则的原则 在完成控制功能并保持低耦合度、高内聚度的前在完成控制功能并保持低耦合度、高内聚度的前提下尽可能减少模块数。提下尽可能减少模块数。9.2变换分析变换分析8/7/202220传感

16、器监测子系统一级分解结果传感器监测子系统一级分解结果 控制控制模块的模块的名字概名字概括了所括了所有下属有下属模块的模块的功能。功能。9.2变换分析变换分析8/7/202221二级分解二级分解步骤六步骤六 执行执行“二级分解二级分解”把数据流图中每个处把数据流图中每个处理框映射成程序结构中理框映射成程序结构中一个适当的模块,二级一个适当的模块,二级分解过程是从变换中心分解过程是从变换中心的边界开始沿输入、输的边界开始沿输入、输出通道向外移动,把遇出通道向外移动,把遇到的每个处理框映射为到的每个处理框映射为程序结构中的一个模块。程序结构中的一个模块。9.2变换分析变换分析8/7/202222变换

17、分析变换分析二级分解二级分解o的处理框与程序结构模块一一对应的处理框与程序结构模块一一对应o按照软件设计原则按照软件设计原则,可能需要几个处理框聚合为一个可能需要几个处理框聚合为一个模块,或者把一个处理框细分为几个模块。模块,或者把一个处理框细分为几个模块。o应根据应根据“良好良好”设计的标准,进行二级分解。设计的标准,进行二级分解。由图由图9.79.7输出流部分导出的程序结构如图输出流部分导出的程序结构如图9.119.11所示。所示。9.2变换分析变换分析8/7/202223传感器监测子系统输出流部分的程序结构传感器监测子系统输出流部分的程序结构9.2变换分析变换分析8/7/202224变换

18、分析变换分析“传感器监测子系统传感器监测子系统”二级分解的结果见图二级分解的结果见图9.129.12,它仅仅是程,它仅仅是程序结构的序结构的“雏形雏形”,后续的复审和精化会反复修改。,后续的复审和精化会反复修改。程序结构的模块名隐含模块功能,必须为每个模块写一个简要程序结构的模块名隐含模块功能,必须为每个模块写一个简要的处理说明,包括:的处理说明,包括:进出模块的信息(接口描述);进出模块的信息(接口描述);模块的局部信息;模块的局部信息;处理过程陈述,包括主要的判断点和任务;处理过程陈述,包括主要的判断点和任务;对有关限制和一些专门特性的简要说明(例如,文件对有关限制和一些专门特性的简要说明

19、(例如,文件I/OI/O,与硬件相关的特性,特殊的实时要求等等)。与硬件相关的特性,特殊的实时要求等等)。这些描述构成第一版设计规格说明书。这些描述构成第一版设计规格说明书。9.2变换分析变换分析8/7/202225传感器监测子系统的程序结构传感器监测子系统的程序结构“雏形雏形”9.2变换分析变换分析8/7/202226变换分析变换分析步骤七步骤七 采用启发式设计策略,精化所得程序结构雏形,改采用启发式设计策略,精化所得程序结构雏形,改良软件质量。良软件质量。对于程序结构的雏形,以对于程序结构的雏形,以“模块独立模块独立”为指导思想,为指导思想,对模块或合或拆,旨在追求高内聚、低耦合,易实现、

20、对模块或合或拆,旨在追求高内聚、低耦合,易实现、易测试、易维护的软件结构。易测试、易维护的软件结构。9.2变换分析变换分析8/7/202227变换分析变换分析修改修改“传感器监测子系统传感器监测子系统”的程序结构雏形的程序结构雏形()因只存在唯一一条传入路径,故输入控制模块可删除;)因只存在唯一一条传入路径,故输入控制模块可删除;()由变换中心产生的整个子结构可归并为)由变换中心产生的整个子结构可归并为“建立警报条件建立警报条件”一个模块(选择电话号码的功能纳入其中),变换控制模块不一个模块(选择电话号码的功能纳入其中),变换控制模块不再需要;再需要;()“格式化显示格式化显示”和和“生成显示

21、生成显示”两个模块归并为两个模块归并为“产生产生显示显示”一个模块。一个模块。9.2变换分析变换分析8/7/202228“传感器监测子系统传感器监测子系统”的程序结构的程序结构9.2变换分析变换分析8/7/202229变换分析变换分析 上述七个设计步骤的目标是给出软件的一个整体上述七个设计步骤的目标是给出软件的一个整体描述。描述。一旦有了这样一个描述,设计人员即可从整体角度评一旦有了这样一个描述,设计人员即可从整体角度评价和精化软件的总体结构,此时修改所需耗费不多,价和精化软件的总体结构,此时修改所需耗费不多,却能大大提高软件质量。却能大大提高软件质量。比较上述设计过程与一般直接编码过程可知,

22、如比较上述设计过程与一般直接编码过程可知,如果源代码是软件唯一的表现形式,设计人员很难从整果源代码是软件唯一的表现形式,设计人员很难从整体的观点评价和精化软件。体的观点评价和精化软件。9.2变换分析变换分析8/7/2022309.3 9.3 事务分析事务分析当数据流具有明显的事务特征时,即能找到一个事务(亦称触当数据流具有明显的事务特征时,即能找到一个事务(亦称触发数据项)和一个发数据项)和一个 事务中心,采用事务分析法更为适宜。事务中心,采用事务分析法更为适宜。下面以下面以“家庭保安系统家庭保安系统”中中“用户交互子系统用户交互子系统”为例,说明事为例,说明事务分析法。务分析法。该子系统的第

23、一级数据流图如图该子系统的第一级数据流图如图9.9.所示,精化后得到如图所示,精化后得到如图9.9.所示第二级所示第二级 数据流图。图中数据流图。图中“用户命令数据用户命令数据”流入系统流入系统后,沿三条动作路径之一离后,沿三条动作路径之一离 开系统,若将数据项开系统,若将数据项“命令类型命令类型”看作事务,该子系统的信息流具有明显的事务看作事务,该子系统的信息流具有明显的事务 特征。特征。事务分析法的步骤与变换分析方法基本类似,主要差别在于从事务分析法的步骤与变换分析方法基本类似,主要差别在于从数据流图到程序数据流图到程序 结构的映射。结构的映射。第九章第九章 面向数据流的设计方法面向数据流

24、的设计方法8/7/202231用户交互子系统的二级数据流图用户交互子系统的二级数据流图9.3事务分析事务分析8/7/202232事务分析事务分析事务分析法可分为七个步骤事务分析法可分为七个步骤步骤一步骤一复审基本系统模型;复审基本系统模型;步骤二步骤二复审并精化软件数据流图;复审并精化软件数据流图;步骤三步骤三确定数据流图的特性;前三步与变换分析法相同确定数据流图的特性;前三步与变换分析法相同步骤四步骤四找出数条动作路径的公共源头,即为事务中心,确定找出数条动作路径的公共源头,即为事务中心,确定由事务中心发出的每一动作路径的数据流特性。由事务中心发出的每一动作路径的数据流特性。图图9 9141

25、4的事物中心是的事物中心是“启动命令处理启动命令处理”框。框。图图9 9划定接受路径与所有动作路径的界限,判定每一动划定接受路径与所有动作路径的界限,判定每一动作路径上数据流的特征。作路径上数据流的特征。9.3事务分析事务分析8/7/202233确定流界确定流界9.3事务分析事务分析8/7/202234事务分析事务分析步骤五步骤五把数据流图映射为事务处理型的程序结构。把数据流图映射为事务处理型的程序结构。事务处理型的程序结构由事务处理型的程序结构由“输入输入”和和“散转散转”两部分组成,两部分组成,输入部分的构成方法如变换分析法,即从事输入部分的构成方法如变换分析法,即从事 务处理中心开始,务

26、处理中心开始,沿输入通路向外推进,每个处理框映射为一个模块。沿输入通路向外推进,每个处理框映射为一个模块。“散转散转”部分顶层为一部分顶层为一“散转散转”模块,它总控所有对应于每模块,它总控所有对应于每一动作路径的控制模块,每条动作路径都根据它的信息流特征一动作路径的控制模块,每条动作路径都根据它的信息流特征映射为一个程序子结构。映射为一个程序子结构。9.3事务分析事务分析8/7/202235事务流映射事务流映射9.3事务分析事务分析8/7/202236事务分析事务分析用户交互子系统的一级分解用户交互子系统的一级分解9.3事务分析事务分析8/7/202237事务分析事务分析步骤六步骤六 分解并

27、精化事务结构以及每条动作路径所对应的结构。分解并精化事务结构以及每条动作路径所对应的结构。这些子结构是根据流经每一动作路径的数据流特征,采用本这些子结构是根据流经每一动作路径的数据流特征,采用本节或上节所述设计步骤导出的。节或上节所述设计步骤导出的。图图9.9.给出了各条动作路径映射后的程序结构。给出了各条动作路径映射后的程序结构。步骤七步骤七 使用启发式设计策略,精化所得程序结构雏形,改良软件质使用启发式设计策略,精化所得程序结构雏形,改良软件质量。量。这一步骤与变换分析法相同。这一步骤与变换分析法相同。9.3事务分析事务分析8/7/202238用户交互子系统的程序结构雏形用户交互子系统的程

28、序结构雏形9.3事务分析事务分析8/7/2022399.9.启发式设计策略启发式设计策略o变换分析和事务分析的最后一个步骤都是运用启发变换分析和事务分析的最后一个步骤都是运用启发式策略对程序结构雏形进行优化,以提高软件设计的式策略对程序结构雏形进行优化,以提高软件设计的整体质量。整体质量。o启发式设计策略是人们从长期的大量软件开发过程启发式设计策略是人们从长期的大量软件开发过程中积累总结的经验。中积累总结的经验。第九章第九章 面向数据流的设计方法面向数据流的设计方法8/7/202240启发式设计策略启发式设计策略()改造程序结构,减小耦合度,提高内聚度。)改造程序结构,减小耦合度,提高内聚度。

29、应从增强模块独立性的角度,对程序结构雏形的模应从增强模块独立性的角度,对程序结构雏形的模块进行分解或合并,力求降低耦合度,提高内聚度。块进行分解或合并,力求降低耦合度,提高内聚度。()改造程序结构,减少高扇出,在增加程序深度)改造程序结构,减少高扇出,在增加程序深度的前提下追求高扇入。的前提下追求高扇入。9.4启发式设计策略启发式设计策略8/7/202241典型的程序结构典型的程序结构设计良好的软件结构通常顶层扇出比较高,中层扇出较少,设计良好的软件结构通常顶层扇出比较高,中层扇出较少,底层又高扇入到公共的实用模块中去。底层又高扇入到公共的实用模块中去。9.4启发式设计策略启发式设计策略8/7

30、/202242启发式设计策略启发式设计策略()改造程序结构,使任一模块的作用域在其控制域之内。)改造程序结构,使任一模块的作用域在其控制域之内。模块作用域指,受该模块内部判定影响的所有模块;模块作用域指,受该模块内部判定影响的所有模块;模块控制域为其所有下层模块。模块控制域为其所有下层模块。图图9.209.20根据这一原则改造前后的两个程序结构。根据这一原则改造前后的两个程序结构。9.4启发式设计策略启发式设计策略8/7/202243启发式设计策略启发式设计策略()改造程序结构,减少界面的复杂性和冗余程度,提高协)改造程序结构,减少界面的复杂性和冗余程度,提高协调性。调性。界面复杂是引起软件错

31、误的一个基本因素。界面复杂是引起软件错误的一个基本因素。界面传递的数据应尽可能简单并与模块的功能相协调。界面传递的数据应尽可能简单并与模块的功能相协调。()模块功能应该可预言,避免对模块施加过多限制。)模块功能应该可预言,避免对模块施加过多限制。模块功能可预言指,若视模块为模块功能可预言指,若视模块为“黑匣子黑匣子”,输入恒定,输,输入恒定,输出则恒定。出则恒定。如果对模块局部数据的体积,控制流程的选择及外部接口方如果对模块局部数据的体积,控制流程的选择及外部接口方式等诸因素限制过多,则以后为去掉这些限制要增加维护开销。式等诸因素限制过多,则以后为去掉这些限制要增加维护开销。9.4启发式设计策

32、略启发式设计策略8/7/202244启发式设计策略启发式设计策略()改造程序结构,追求单入口单出口的模块。)改造程序结构,追求单入口单出口的模块。()为满足设计或可移植性的要求,把某些软件用包)为满足设计或可移植性的要求,把某些软件用包(PackagePackage)封装起来。)封装起来。根据模块重要的程度、被访问的频率及两次引用的间隔等因根据模块重要的程度、被访问的频率及两次引用的间隔等因素对模块分组。素对模块分组。程序中那些供选择的或程序中那些供选择的或“单调单调”(oneoneshotshot)的模块应单)的模块应单独存在,以便高效地加载。独存在,以便高效地加载。9.4启发式设计策略启发

33、式设计策略8/7/202245启发式设计策略启发式设计策略无论是采用变换分析法还是事务分析法,获得程序结构后,必无论是采用变换分析法还是事务分析法,获得程序结构后,必须开发一系列辅助文档,作为软件总体设计的组成部分。须开发一系列辅助文档,作为软件总体设计的组成部分。陈述每个模块的处理过程;陈述每个模块的处理过程;描述每个模块的界面;描述每个模块的界面;根据数据字典定义局部和全局数据结构;根据数据字典定义局部和全局数据结构;综述设计中所有限制(综述设计中所有限制(LimitationsLimitations)和限定)和限定(RestrictionsRestrictions););对概要设计进行复

34、审;对概要设计进行复审;对设计进行优化。对设计进行优化。9.4启发式设计策略启发式设计策略8/7/202246小结小结o基于数据流图进行软件设计的过程:基于数据流图进行软件设计的过程:确定信息流的类型;确定信息流的类型;划定流界;划定流界;将映射为程序结构;将映射为程序结构;提取层次控制结构;提取层次控制结构;通过设计复审和使用启发式策略进一步精化所得到通过设计复审和使用启发式策略进一步精化所得到的结构。的结构。o结合结合“家庭保安系统家庭保安系统”实例,给出了将变换流和事务实例,给出了将变换流和事务流映射为程序结构的方法。流映射为程序结构的方法。第九章第九章 面向数据流的设计方法面向数据流的设计方法

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|