软件工程第5章-.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 对结构图改进的依据就是观察这种改进是否符合软件设计的准则和启发式设计策略 结构图的改进没有明显的步骤,也很难说改进到什么程度可以终止了 凡是设计者认为不合理的地方都可以改进,但改进后的结果应该比改进前好 一次改进常常使某些设计质量变好了,而使另一些设计质量变坏了,因此在改进时要进行折中 改进往往不是一次完成的,需要进行多次的反复,有时可提出多个改进方案,然后,从中选取一个较优的方案。 “考试报名”部分的结构图中,“输入报名单”模块比较简单,它可以和“检查报名单”合并。另外,“检查报名单”模块在发现报名单有错时,其错误信息要经过一连串的参数传递送到“打印报名单出错信息”模块,其耦合度比较大。如果将“打印报名单出错信息”模块也合并到“检查报名单”模块,那么,在发现报名单有错时,立即输出错误信息,这样图中相关参数的传递都可省去,从而降低了模块间的耦合度。“输入报名单”、“检查报名单”和“打印报名单出错信息”三个模块合并后取名为“输入并检查报名单”,如图所示。 同样道理,准考证在“编准考证号”模块产生,一直要到“打印准考证”模块才使用,而其它模块都不使用此信息。因此可以将这二个模块合并成“编制并打印准考证”。另外,“登记考生”和“输出考生名单”也可合并成“登记并输出考生名单”,如图所示。 在变换分析的过程中,“输出控制”模块的作用是调用下面的三个输出模块,现在这三个输出模块都合并到其它模块中去了,因此,“输出控制”也可以删去了。 对于“输入控制模块”和“报名处理”模块,它们除了调用低层模块并传递参数外,没有其它实质性的工作,这种模块称为管道模块,可以将其删除,其低层模块改由其上层模块调用。 先将一些比较简单的模块合并到与其功能相一致的模块中,以减少耦合度 将“输入成绩清单”、“检查成绩清单”、“打印成绩单出错信息”合并成“输入并检查成绩清单” 将“输入合格标准”与“审定合格者”合并,仍取名“审定合格者”,但它包含读入合格标准功能 将“产生考生通知单”与“打印考生通知单”合并成“产生并打印考生通知单” “统计成绩输出控制”可删去,“统计成绩输入控制”模块和“统计成绩处理模块”均为“管道”模块,也可删去 改进后整个结构图 整个结构图的改进 考虑到分析试题难度和分类统计成绩是属于后处理的一些工作,它们对这一次考试的总结,为下一次考试命题作准备的。同时,它们是相对独立的功能,由考试中心发布启动命令,因此,可以将它们移到主控模块“考务处理系统”之下 结构图改进技巧 1.减少模块间的耦合度 可以通过将功能简单的模块合并到与其关系密切的模块中,或调整模块的位置,来减少模块间的参数传递,或避免参数长距离传输,以降低耦合度。 2.消除重复功能 如果二个模块中存在某一相同的功能,应将这个功能从二个模块中分离出来,作为一个独立的模块被二者调用。 3.消除“管道”模块 “管道”模块通常是应该删除的,除非删除后上层模块的扇出太大。 4.模块的大小适中 如果一个模块太大,要考虑将它分成二个模块;如果一个模块太小,可考虑将它合并在与它功能密切相关的模块中。通常一个模块的大小,以其实现代码可书写在1~2页纸(约50~100行)为宜。 结构图改进技巧 5.避免高扇出 一个模块的扇出不宜过大,一般希望控制在7±2范围内。当一个模块的扇出较大时,应考虑重新分解 6.应尽可能研究整张结构图,而不是只考虑其中的一部分 (a)高扇出 (b)重新分解 结构化分析方法概述 数据流图 分层数据流图的审查 数据字典 描述基本加工的小说明 结构化设计概述 数据流图到软件体系结构的映射 初始结构图的改进 小结 结构化方法是一种传统的面向数据流开发方法 以数据流为中心构建软件的分析模型和设计模型 在结构化分析方面,本章介绍结构化分析的基本思想和分析过程,详细介绍了分层数据流图的画法,分层数据流图的审查,数据字典各条目的描述内容以及基本加工小说明的描述方法 在结构化设计方面,本章介绍如何将分析的结果(DFD)映射成初始的程序结构图,包括变换分析和事务分析,并介绍对初始结构图的优化 * * * * * * * * * * * * * * * * 用结构图(Structure Chert)来描述软件系统的体系结构 描述一个软件系统由哪些模块组成,以及模块之间的调用关系 结构图的基本成分有:模块、调用和数据 模块(module):指具有一定功能的可以用模块名调用的一组程序语句,如函数、子程序等 它们是组成程序的基本单元 一个模块具有其外部特征和内部特征 外部特征包括:模块的

文档评论(0)

4477704 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档