软件工程导论第五版第五章-PPT.pptx
《软件工程导论第五版第五章-PPT.pptx》由会员分享,可在线阅读,更多相关《软件工程导论第五版第五章-PPT.pptx(56页珍藏版)》请在咨信网上搜索。
1、软件工程导论第五版第五章第5章:总体设计 5、1 设计过程设计过程 1、设想供选择得方案设想供选择得方案 2、选择合理得方案选择合理得方案 对每个合理得方案要提供对每个合理得方案要提供:A、系统流程图系统流程图 B、组成系统得物理元素清单组成系统得物理元素清单 C、成本成本/效益分析效益分析 D、实现这个系统得进度计划实现这个系统得进度计划 3、推荐最佳方案推荐最佳方案4、功能分解功能分解5、设计软件结构设计软件结构6、数据库设计数据库设计 A、模式设计模式设计 B、子模式设计子模式设计 C、完整性与安全性设计完整性与安全性设计 D、优化优化 7、制定测试计划制定测试计划8、书写文档书写文档
2、A、系统说明系统说明 B、用户手册用户手册 C、测试计划测试计划 D、详细得实现计划详细得实现计划 E、数据库设计结果数据库设计结果9、审查与复审审查与复审 5、2 设计原理设计原理 如果一个大型程序仅由一个模块组成如果一个大型程序仅由一个模块组成,很难被人理解。很难被人理解。设设函函数数C(x)定定义义问问题题x得得复复杂杂程程度度,函函数数E(x)定定义义解解决决问问题题x需要得工作量需要得工作量(时间时间)。对于两个问题。对于两个问题P1与与P2,如果如果:C(P1)C(P2)那么那么 E(P1)E(P2)根据解决问题得经验根据解决问题得经验,有一个规律就是有一个规律就是:C(P1+P2
3、)C(P1)+C(P2)于就是有于就是有 E(P1+P2)E(P1)+E(P2)5、2、1 模块化模块化模块数目模块数目接口成本接口成本成本成本/模块模块软件总成本软件总成本M最小成本区最小成本区成本成本图图5.1 模块化与软件成本模块化与软件成本5 5、2 2、2 2 抽象抽象 5、2、3 逐步求精逐步求精模块得独立性很重要模块得独立性很重要,因为因为:1)有效得模块化得软件比较容易开发出来有效得模块化得软件比较容易开发出来;2)独立得模块比较容易测试与维护。独立得模块比较容易测试与维护。5、2、4 信息隐蔽与局部化信息隐蔽与局部化 5、2、5 模块独立模块独立一、耦合一、耦合 耦合耦合:指
4、软件结构内不同模块彼此之间相指软件结构内不同模块彼此之间相互依赖互依赖(连接连接)得紧密程度。得紧密程度。模块独立程度可以由两个定性标准度量模块独立程度可以由两个定性标准度量:耦耦合与内聚。合与内聚。模块得偶合分四类模块得偶合分四类:1)数据耦合数据耦合 两个模块之间只就是通过参数交换信息两个模块之间只就是通过参数交换信息,而且而且交换得信息仅仅就是数据。交换得信息仅仅就是数据。数据耦合就是最低程度得耦合。数据耦合就是最低程度得耦合。AB数据数据(1)数据耦合)数据耦合2)2)控制耦合控制耦合 两个模块之间所交换得信息包含控制信息。两个模块之间所交换得信息包含控制信息。控制耦合就是中等程度得耦
5、合。控制耦合就是中等程度得耦合。图中模块图中模块A得内部处理程序判断就是执行得内部处理程序判断就是执行C还就是执还就是执行行D,要取决于模块要取决于模块B传来得信息状态传来得信息状态(Status)。BACD(2)控制耦合)控制耦合astatus3 3)公用耦合公用耦合 两个或多个模块通过一个公共区相互作用两个或多个模块通过一个公共区相互作用时得耦合。时得耦合。公共区可以就是公共区可以就是:全程数据区、共享通信区、全程数据区、共享通信区、内存公共覆盖区、任何介质上得文件、物理设内存公共覆盖区、任何介质上得文件、物理设备等。备等。软件结构中存在大量得公用耦合时会给诊软件结构中存在大量得公用耦合时
6、会给诊断错误带来困难。断错误带来困难。大家学习辛苦了,还就是要坚持继续保持安静继续保持安静 图中存在公用耦合图中存在公用耦合,假设模块假设模块A A、C C、E E都存取全程数据区都存取全程数据区(如公用一个磁盘文件如公用一个磁盘文件)中得一个数据项。中得一个数据项。如果如果A A模块读取该项数据模块读取该项数据,然后调用然后调用C C模块对该项重新计算模块对该项重新计算,并进行数据更新。并进行数据更新。ABCDE全程数全程数据区据区(3)公用耦合)公用耦合 如果此时如果此时C C模块错误地更新了该项数据模块错误地更新了该项数据,在往下得处理在往下得处理中模块中模块E E读该数据项时出现错误。
7、读该数据项时出现错误。表面上瞧表面上瞧,问题由模块问题由模块E E产生产生,实际上由模块实际上由模块C C引起。引起。ABCDE全程数全程数据区据区(3)公用耦合)公用耦合4 4)内容耦合内容耦合 一个模块与另一个模块得内容直接发生联系。一个模块与另一个模块得内容直接发生联系。内容耦合对维护会带来严重得困难。内容耦合对维护会带来严重得困难。模块模块ALAB:MOVE 1模块模块BGOTO LAB内容耦合内容耦合(4)内容耦合)内容耦合 程序中如果一个模块直接把程序转移到另一个模块中程序中如果一个模块直接把程序转移到另一个模块中,或一个模块使或一个模块使用另一个模块内部得数据用另一个模块内部得数
8、据,都会产生内容耦合。内容耦合就是最高程度都会产生内容耦合。内容耦合就是最高程度得耦合得耦合,应该避免采用。应该避免采用。软件设计应追求尽可能松散耦合软件设计应追求尽可能松散耦合,避免强耦避免强耦合合,这样模块间得联系就越小这样模块间得联系就越小,模块得独立性就模块得独立性就越强越强,对模块得测试、维护就越容易。对模块得测试、维护就越容易。因此建议因此建议:尽量使用数据耦合尽量使用数据耦合,少用控制耦少用控制耦合合,限制公用耦合限制公用耦合,完全不用内容偶合。完全不用内容偶合。二、内聚二、内聚 内内聚聚:一一个个模模块块内内部部各各个个元元素素彼彼此此结结合合得得紧密程度。紧密程度。它它就就是
9、是衡衡量量一一个个模模块块内内部部组组成成部部分分间间整整体统一性得度量。体统一性得度量。常见得内聚有七类。常见得内聚有七类。1 1)功能内聚功能内聚(Functional CohesionFunctional Cohesion)如果一个模块内所有处理元素完成一个如果一个模块内所有处理元素完成一个,而而且仅完成一个功能且仅完成一个功能,则称为功能内聚。则称为功能内聚。功能内聚就是最高程度得内聚。但在软件结功能内聚就是最高程度得内聚。但在软件结构中构中,并不就是每个模块都能设计成一个功能并不就是每个模块都能设计成一个功能内聚模块。内聚模块。2)2)顺序内聚顺序内聚(Sequential Cohe
10、sion)Sequential Cohesion)如如果果一一个个模模块块内内处处理理元元素素与与同同一一个个功功能能密密切切相相关关,而而且且这这些些处处理理元元素素必必须须顺顺序序执执行行,则则称称为顺序内聚。为顺序内聚。如图如图,一个求一元二次方程根得模块由三个一个求一元二次方程根得模块由三个处理元素组成处理元素组成,该模块中存在顺序内聚。该模块中存在顺序内聚。通常通常,顺序内聚中一个处理元素得输出就是顺序内聚中一个处理元素得输出就是另一个处理元素得输入。另一个处理元素得输入。求一元二次方求一元二次方程根模块程根模块1 1输入方程系数输入方程系数2 2求解求解3 3打印方程的解打印方程的
11、解顺序内聚示例顺序内聚示例3)3)通信内聚通信内聚(municational Cohesion)municational Cohesion)如如果果一一个个模模块块中中所所有有处处理理元元素素都都使使用用同同一一个个输输入入数数据据与与(或或)产产生生同同一一个个输输出出数数据据,称称为为通通信内聚。信内聚。如图如图,模块模块A得处理单元将根据同一个数据得处理单元将根据同一个数据文件文件FILE得数据产生不同得表格得数据产生不同得表格,因此它存在因此它存在通信内聚。通信内聚。通信内聚有时也称为数据内聚。通信内聚有时也称为数据内聚。A从文件从文件FILE中读出数据中读出数据1.由数据产生报表由数
12、据产生报表A2.由数据产生报表由数据产生报表B通信内聚示例通信内聚示例4)4)过程内聚过程内聚(Procedural Cohesion)Procedural Cohesion)如如果果一一个个模模块块内内得得处处理理元元素素就就是是相相关关得得,而且必须以特定得次序执行而且必须以特定得次序执行,称为过程内聚。称为过程内聚。过程内聚与顺序内聚得区别就是过程内聚与顺序内聚得区别就是:顺序内聚中就是数据流从一个处理单元流顺序内聚中就是数据流从一个处理单元流到另一个处理单元到另一个处理单元,而过程内聚就是控制流从而过程内聚就是控制流从一个动作流向另一个动作。一个动作流向另一个动作。5)时间内聚时间内聚
13、(Temporal Cohesion)如如果果一一个个模模块块包包含含得得任任务务必必须须在在同同一一段段时时间间内执行内执行,称为时间内聚。也称为瞬时内聚。称为时间内聚。也称为瞬时内聚。例例如如,完完成成各各种种初初始始化化工工作作得得模模块块,或或者者处处理理故故障障得得模模块都存在时间内聚。块都存在时间内聚。如如图图,在在“紧紧急急故故障障处处理理模模块块”中中,“关关闭闭文文件件”、“报报警警”、“保留现场保留现场”等任务都必须无中断地同时处理。等任务都必须无中断地同时处理。紧急故障处理紧急故障处理模块模块1关闭文件关闭文件2报警报警3保留现场保留现场时间内聚示例时间内聚示例6)6)逻
14、辑内聚逻辑内聚(Logical Cohesion)Logical Cohesion)如如果果模模块块完完成成得得任任务务在在逻逻辑辑上上属属于于相相同同或相似得一类或相似得一类,称为逻辑内聚。称为逻辑内聚。如如图图,A、B、C模模块块合合并并成成ABC模模块块之之后后,ABC模块就就是逻辑内聚模块。模块就就是逻辑内聚模块。XYZABCXYZABC合并合并逻辑内聚示例逻辑内聚示例 对逻辑内聚模块得调用对逻辑内聚模块得调用,常常需要有一个功能常常需要有一个功能开关开关,由上层调用模块向它发出一个控制信号由上层调用模块向它发出一个控制信号,在在多个关联性功能中选择执行某一个功能。多个关联性功能中选择
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 导论 第五 PPT
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【1587****927】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【1587****927】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。