9.软件维护.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文档。上传文档
查看更多
9.软件维护资料

* 第七章 软件维护 软件工程 Software Engineering 汤景凡 计算机学院 软件工程研究所 E-mail: tangjf@hdu.edu.cn QQ: 7338172 PH:软件工程 软件维护的定义 1 软件维护的特点 2 软件维护过程 3 软件的可维护性 4 引言 在软件产品被开发出来并交付用户使用之后,就进入了软件的运行维护阶段。这个阶段是软件生命周期的最后一个阶段,其基本任务是保证软件在一个相当长的时期能够正常运行。 软件维护需要的工作量很大,平均说来,大型软件的维护成本高达开发成本的4倍左右。目前国外许多软件开发组织把60%以上的人力用于维护已有的软件,而且随着软件数量增多和使用寿命延长,这个百分比还在持续上升。将来维护工作甚至可能会束缚住软件开发组织的手脚,使他们没有余力开发新的软件。 软件工程的目的是要提高软件的可维护性,减少软件维护所需要的工作量,降低软件系统的总成本。 软件工程 软件维护的定义 1 软件维护的特点 2 软件维护过程 3 软件的可维护性 4 软件维护的定义 1 1 软件维护的定义 所谓软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。 软件维护的目的 维护的目的:是满足用户对已开发产品的性能与软件环境不断提高的需求,进而达到延长软件的寿命。 软件维护的分类 可以通过描述软件交付使用后可能进行的4项活动,对软件维护进行分类: 完善性维护:在软件使用过程中,为了满足用户对软件的功能与性能提出新的需求而进行的维护。(50%) 适应性维护:使软件适应运行环境(包括软,硬件环境及数据环境)的变化而进行的维护。(25%) 纠错性维护:为纠正在开发期间未能发现的错误而进行的维护。(21%) 其他维护:(如:预防性维护)为改善软件的可维护性,可靠性等,以减少今后对其进行维护所需的工作量的工作而进行的维护。(4%) 软件工程 软件维护的定义 1 软件维护的特点 2 软件维护过程 3 软件的可维护性 4 软件维护的特点 2 2 软件维护的特点 软件维护的特点: 结构化维护与非结构化维护差别巨大 非结构化维护:如果软件配置的惟一成分是程序代码,那么维护活动从艰苦地评价程序代码开始,而且常常由于程序内部文档不足而使评价更困难,对于软件结构、全程数据结构、系统接口、性能和(或)设计约束等经常会产生误解,而且对程序代码所做的改动的后果也是难于估量的:因为没有测试方面的文档,所以不可能进行回归测试(即指为了保证所做的修改没有在以前可以正常使用的软件功能中引入错误而重复过去做过的测试)。非结构化维护需要付出很大代价(浪费精力并且遭受挫折的打击),这种维护方式是没有使用良好定义的方法学开发出来的软件的必然结果。 结构化维护:如果有一个完整的软件配置存在,那么维护工作从评价设计文档开始,确定软件重要的结构特点、性能特点以及接口特点;估量要求的改动将带来的影响,并且计划实施途径。然后首先修改设计并且对所做的修改进行仔细复查。接下来编写相应的源程序代码;使用在测试说明书中包含的信息进行回归测试;最后,把修改后的软件再次交付使用。 维护的代价高昂 维护费用只不过是软件维护的最明显的代价,其他一些现在还不明显的代价将来可能更为人们所关注。因为可用的资源必须供维护任务使用,以致耽误甚至丧失了开发的良机,这是软件维护的一个无形的代价。其他无形的代价还有: 当看来合理的有关改错或修改的要求不能及时满足时将引起用户不满; 由于维护时的改动,在软件中引入了潜伏的错误,从而降低了软件的质量; 当必须把软件工程师调去从事维护工作时,将在开发过程中造成混乱。 软件维护的最后一个代价是生产率的大幅度下降,这种情况在维护旧程序时常常遇到。 维护的问题很多 与软件维护有关的绝大多数问题,都可归因于软件定义和软件开发的方法有缺点。在软件生命周期的头两个时期没有严格而又科学的管理和规划,几乎必然会导致在最后阶段出现问题。下面列出和软件维护有关的部分问题: 理解别人写的程序通常非常困难,而且困难程度随着软件配置成分的减少而迅速增加。如果仅有程序代码没有说明文档,则会出现严重的问题。 需要维护的软件往往没有合格的文档,或者文档资料显著不足。认识到软件必须有文档仅仅是第一步,容易理解的并且和程序代码完全一致的文档才真正有价值。 当要求对软件进行维护时,不能指望由开发人员给我们仔细说明软件。由于维护阶段持续的时间很长,因此,当需要解释软件时,往往原来写程序的人已经不在附近了。 绝大多数软件在设计时没有考虑将来的修改。除非使用强调模块独立原理的设计方法学,否则修改软件既困难又容易发生差错。 软件维护不是一项吸引人的工作。形成这种观念很大程度上是因为维护工作经常遭受挫折。 软件工程

文档评论(0)

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

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

1亿VIP精品文档

相关文档