软件工程和实践第8章.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章 维护 8.1 软件维护的定义 8.2 软件维护的特点 8.3 软件维护过程 8.4 软件的可维护性 8.5 预防性维护 8.6 软件再工程过程 8.7 小结 软件工程的目的是要提高软件的可维护性,减少软件维护所需要的工作量,降低软件系统的总成本。 8.1 软件维护的定义 所谓软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。 1、把诊断和改正错误的过程称为改正性维护。 2、适应性维护,也就是为了和变化了的环境适当地配合而进行的修改软件的活动。 3、在使用软件的过程中为满足用户增加新功能或修改已有功能的要求而进行的维护,叫完善性维护。 4、为了改进未来的可维护性或可靠性,或为了给未来的改进奠定更好的基础而修改软件,这项维护活动通常称为预防性维护。 上述4类维护活动都必须应用于整个软件配置,维护软件文档和维护软件的可执行代码是同样重要的。 8.2 软件维护的特点 8.2.1 结构化维护与非结构化维护差别巨大 非结构化维护 2. 结构化维护 1. 非结构化维护 如果软件配置的惟一成分是程序代码,那么维护活动从艰苦地评价程序代码开始,而且常常由于程序内部文档不足而使评价更困难,对于软件结构、全程数据结构、系统接口、性能和(或)设计约束等经常会产生误解,而且对程序代码所做的改动的后果也是难于估量的:因为没有测试方面的文档,所以不可能进行回归测试。 非结构化维护需要付出很大代价(浪费精力并且遭受挫折的打击),这种维护方式是没有使用良好定义的方法学开发出来的软件的必然结果。 2. 结构化维护 如果有一个完整的软件配置存在,那么维护工作从评价设计文档开始,确定软件重要的结构特点、性能特点以及接口特点;估量要求的改动将带来的影响,并且计划实施途径。然后首先修改设计并且对所做的修改进行仔细复查。接下来编写相应的源程序代码;使用在测试说明书中包含的信息进行回归测试;最后,把修改后的软件再次交付使用。 8.2.2 维护的代价高昂 在过去的几十年中,软件维护的费用稳步上升。1970年用于维护已有软件的费用只占软件总预算的35%~40%,1980年上升为40%~60%,1990年上升为70%~80%。 因为可用的资源必须供维护任务使用,以致耽误甚至丧失了开发的良机,这是软件维护的一个无形的代价。其他无形的代价还有: 1、当看来合理的有关改错或修改的要求不能及时满足时将引起用户不满; 2、由于维护时的改动,在软件中引入了潜伏的错误,从而降低了软件的质量; 3、当必须把软件工程师调去从事维护工作时,将在开发过程中造成混乱。 4、软件维护的最后一个代价是生产率的大幅度下降,这种情况在维护旧程序时常常遇到。 用于维护工作的劳动可以分成生产性活动(例如,分析评价,修改设计和编写程序代码等)和非生产性活动(例如,理解程序代码的功能,解释数据结构、接口特点和性能限度等)。 下述表达式给出维护工作量的一个模型: M=P+K×exp(c-d) 其中: M是维护用的总工作量,P是生产性工作量,K是经验常数,c是复杂程度(非结构化设计和缺少文档都会增加软件的复杂程度),d是维护人员对软件的熟悉程度。 8.2.3 维护的问题很多 (1) 理解别人写的程序通常非常困难,而且困难程度随着软件配置成分的减少而迅速增加。 (2) 需要维护的软件往往没有合格的文档,或者文档资料显著不足。 (3) 当要求对软件进行维护时,不能指望由开发人员给我们仔细说明软件。 (4) 绝大多数软件在设计时没有考虑将来的修改。 (5) 软件维护不是一项吸引人的工作。 8.3 软件维护过程 维护过程本质上是修改和压缩了的软件定义和开发过程。 首先必须建立一个维护组织,随后必须确定报告和评价的过程,而且必须为每个维护要求规定一个标准化的事件序列。此外,还应该建立一个适用于维护活动的记录保管过程,并且规定复审标准。 1. 维护组织 每个维护要求都通过维护管理员转交给相应的系统管理员去评价。系统管理员是被指定去熟悉一小部分产品程序的技术人员。系统管理员对维护任务做出评价之后,由变化授权人决定应该进行的活动。 图8.1 维护组织 2. 维护报告 应该用标准化的格式表达所有软件维护要求。 软件维护人员通常给用户提供空白的维护要求表——有时称为软件问题报告表,这个表格由要求一项维护活动的用户填写。 如果遇到了一个错误,那么必须完整描述导致出现错误的环境(包括输入数据、全部输出数据以及其他有关信息)。对于适应性或完善性的维护要求,应该提出一个简短的需求说明书。 软件组织内部应该制定出一个软件修改报告,它给 出下述信息: 满足维护要求表中提出的要求所需要的工作量; (2) 维护要求的性质; (3) 这项要求的优先次序; (4)

文档评论(0)

moon8888 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档