第5章总体设计_第1页
第5章总体设计_第2页
第5章总体设计_第3页
第5章总体设计_第4页
第5章总体设计_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、信息学院信息学院 软件工程软件工程 马伟锋马伟锋1.设想供选择的方案设想供选择的方案 2.选择合理的方案选择合理的方案 对每个合理的方案要提供:对每个合理的方案要提供: A系统流程图系统流程图 B组成系统的物理元素清单组成系统的物理元素清单 C成本成本/效益分析效益分析 D实现这个系统的进度计划实现这个系统的进度计划 5.2.1 模块化模块化模块数目模块数目接口成本接口成本成本成本/模块模块软件总成本软件总成本M最小成本区最小成本区成本成本图图5.1 模块化与软件成本模块化与软件成本5.2.3 逐步求精逐步求精模块的独立性很重要,因为:模块的独立性很重要,因为: 1)有效的模块化的软件比较容易

2、开发出来)有效的模块化的软件比较容易开发出来; 2)独立的模块比较容易测试和维护。)独立的模块比较容易测试和维护。 5.2.4 信息隐蔽和局部化信息隐蔽和局部化 5.2.5 模块独立模块独立 耦合耦合:指软件结构内不同模块彼此之间:指软件结构内不同模块彼此之间相互依赖(连接)的紧密程度。相互依赖(连接)的紧密程度。 模块独立程度可以由两个定性标准度量:模块独立程度可以由两个定性标准度量: 耦合耦合与与内聚内聚。模块的偶合分四类:模块的偶合分四类:1)数据耦合数据耦合 两个模块之间只是通过参数交换信息,而且两个模块之间只是通过参数交换信息,而且交换的信息仅仅是数据。交换的信息仅仅是数据。 数据耦

3、合是最低程度的耦合。数据耦合是最低程度的耦合。 AB数据数据(1)数据耦合)数据耦合 图中模块图中模块A的内部处理程序判断是执行的内部处理程序判断是执行C还是执行还是执行D,要取决于模块要取决于模块B传来的信息状态(传来的信息状态(Status)。)。BACD(2)控制耦合)控制耦合astatusABCDE全程数全程数据区据区(3)公用耦合)公用耦合ABCDE全程数全程数据区据区(3)公用耦合)公用耦合模块模块ALAB:MOVE 1模块模块BGOTO LAB内容耦合内容耦合(4)内容耦合)内容耦合 程序中如果一个模块直接把程序转移到另一个模块中,或一个模程序中如果一个模块直接把程序转移到另一个

4、模块中,或一个模块使用另一个模块内部的数据,都会产生内容耦合。内容耦合是最高块使用另一个模块内部的数据,都会产生内容耦合。内容耦合是最高程度的耦合,应该避免采用。程度的耦合,应该避免采用。 内聚内聚:一个模块内部各个元素彼此结合:一个模块内部各个元素彼此结合的紧密程度。的紧密程度。 它是衡量一个模块内部组成部分间整体它是衡量一个模块内部组成部分间整体统一性的度量。统一性的度量。 常见的内聚有七类。常见的内聚有七类。 求一元二次方求一元二次方程根模块程根模块1 1输入方程系数输入方程系数2 2求解求解3 3打印方程的解打印方程的解顺序内聚示例顺序内聚示例A从文件从文件FILE中读出数据中读出数据

5、1.由数据产生报表由数据产生报表A2.由数据产生报表由数据产生报表B通信内聚示例通信内聚示例紧急故障处理紧急故障处理模块模块1关闭文件关闭文件2报警报警3保留现场保留现场时间内聚示例时间内聚示例XYZABCXYZABC合并合并逻辑内聚示例逻辑内聚示例 对逻辑内聚模块的调用,常常需要有一个功对逻辑内聚模块的调用,常常需要有一个功能开关,由上层调用模块向它发出一个控制信号,能开关,由上层调用模块向它发出一个控制信号,在多个关联性功能中选择执行某一个功能。在多个关联性功能中选择执行某一个功能。 这种内聚较差,增加了模块之间的联系,不这种内聚较差,增加了模块之间的联系,不易修改。易修改。 7)偶然内聚

6、偶然内聚(Coincidental Cohesion) 如果一个模块由完成若干毫无关系的功能如果一个模块由完成若干毫无关系的功能处理元素偶然组合在一起的,就叫偶然内聚。处理元素偶然组合在一起的,就叫偶然内聚。ABCW模块模块X=Y+ZGET CARDIF I=5 THEN E=0偶然内聚示例偶然内聚示例3. 深度、宽度、扇出和扇入都应适当深度、宽度、扇出和扇入都应适当 深度深度:软件结构中控制的层数;:软件结构中控制的层数; 宽度宽度:软件结构内同一个层次上的模块总数的最大值;:软件结构内同一个层次上的模块总数的最大值; 扇出扇出:一个模块直接控制(调用)其它模块的数目;:一个模块直接控制(调

7、用)其它模块的数目; 扇入扇入:一个模块被其它模块调用的数目。:一个模块被其它模块调用的数目。 正文加工正文加工系统系统输入输入输出输出编辑编辑加标题加标题存储存储检索检索编目录编目录格式化格式化添加添加删除删除插入插入修改修改合并合并列表列表(a)对扇入过大的改进对扇入过大的改进(b)对扇出过大的改进对扇出过大的改进MAGBCEDF图图5.2 模块的作用域和控制域模块的作用域和控制域作用域:受该模块内一个判定影响的所有模块的集合。作用域:受该模块内一个判定影响的所有模块的集合。控制域:模块本身以及所有从属于它的模块的集合。控制域:模块本身以及所有从属于它的模块的集合。 5. 力争降低模块接口

8、的复杂度力争降低模块接口的复杂度7.模块功能应该可以预测模块功能应该可以预测 正文加工正文加工系统系统输入输入输出输出编辑编辑加标题加标题存储存储检索检索编目录编目录格式化格式化添加添加删除删除插入插入修改修改合并合并列表列表图图5.3 正文加工系统的层次图正文加工系统的层次图正文加工正文加工系统系统输入输入1.0输出输出2.0编辑编辑3.0加标题加标题4.0存储存储5.0检索检索6.0编目录编目录7.0格式化格式化8.0添加添加3.1删除删除3.2插入插入3.3修改修改3.4合并合并3.5列表列表3.6图图5.4 带编号的层次图(带编号的层次图(H图)图)HIPO图是:图是:“层次图输入层次

9、图输入/处理处理/输出图输出图”产生最佳解产生最佳解得到好输入得到好输入计算最佳解计算最佳解输出结果输出结果读输入读输入编辑输入编辑输入结果格式化结果格式化显示结果显示结果图图4.5 结构图的例子结构图的例子产生最佳解的一般结构产生最佳解的一般结构MAB图图5.6 判定为真时调用判定为真时调用A,为假时调用为假时调用BMABC图图5.7 模块模块M循环调循环调用模块用模块A、B、C5.5.1 变换流与事务流变换流与事务流一、一、变换流变换流 具有较明确的输入、变换(或称主加工)和输具有较明确的输入、变换(或称主加工)和输出界面的数据流图称为变换型数据流图。出界面的数据流图称为变换型数据流图。

10、如图所示,该变换中心可以理解为数据的加工如图所示,该变换中心可以理解为数据的加工和处理程序。和处理程序。 读入原读入原始数据始数据校验原校验原始数据始数据计算最计算最优结果优结果编辑打印编辑打印最优结果最优结果输入输入变换中心变换中心输出输出要求类要求类别处理别处理分房处理分房处理调房处理调房处理退房处理退房处理住房要求住房要求事务中心事务中心活动路径活动路径 二、二、事务流事务流A(事务型,(事务型,A为事务中心)为事务中心)变换中心变换中心输入输入输出输出混合型数据流图混合型数据流图5.5.2 面向数据流设计的步骤面向数据流设计的步骤复查、精化数据流图复查、精化数据流图类型类型找出事务中心

11、找出事务中心找出变换中心找出变换中心映射成事务结构映射成事务结构映射成变换结构映射成变换结构优化软件模块结构优化软件模块结构导出模块结构导出模块结构复查复查不满意不满意变换变换事务事务变换设计变换设计事务设计事务设计面向数据流的设计步骤面向数据流的设计步骤5.5.3 变换设计变换设计变换设计的基本方法有两步:变换设计的基本方法有两步:1)分解第一层模块结构)分解第一层模块结构 就是把整个变换分解成输入控制模块就是把整个变换分解成输入控制模块Ci、输输出控制模块出控制模块Co和变换中心控制模块和变换中心控制模块Ct,由主控由主控模块控制。模块控制。 主控模块主控模块输出控制模块输出控制模块Co变换中心控制模块变换中心控制模块Ct输入控制模块输入控制模块CiABCDFEGHIJK变换中心变换中心输

温馨提示

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

评论

0/150

提交评论