- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 软件维护 内容提要 8.1 软件质量的概念及质量度量 8.2 软件维护的类型与策略 8.3 软件维护过程与组织 8.4 软件的可维护性 8.5 维护文档及其编写 8.6 软件逆向工程与再生工程简介 软件维护 软件维护阶段覆盖了从软件交付使用到软件被淘汰为止的整个时期。它是在软件投入运行后,为了保证软件在一个相当长的时期内能够稳定地运行,而改正软件中隐藏的错误,使软件适应变化的环境,或者为了扩充和完善软件的功能或性能而修改软件的过程。因此,如何提高软件维护的效率,降低维护的成本成为十分必要的问题。 8.1 软件质量的概念及质量度量 软件质量的概念及质量度量 软件质量需求是软件用户的最终需求,是贯穿于软件生命周期的一个极其重要的问题。软件开发过程中所使用的各种开发技术、评审、验证方法以及实施的管理活动最终都体现在软件质量中。因此,讨论软件质量及其度量是非常重要的。 软件质量的概念及质量度量 关于软件质量有多种定义。例如,ANSI.IEEE Std729—1983定义软件质量为“与软件产品满足规定的和隐含的需求能力有关的特征或特性的全体”。M.J.Fisher定义软件质量为“所有描述计算机软件优秀程度的特性的组合”。也就是说,为满足软件的各项精确定义的功能、性能需求,符合文档化的开发标准,需要相应地给出或设计一些质量特性及其组合,作为在软件开发与维护中应考虑的因素。如果这些质量特性及其组合都能在产品中得到满足,则这个软件产品就是高质量的。 软件质量的概念及质量度量 软件质量反映了以下三方面的问题。 1.软件需求是度量软件质量的基础。不符合需求的软件就不具备质量。 2.在各种标准中定义的一些开发准则,用来指导软件开发人员用工程化的方法来开发软件。如果不遵守这些开发准则,软件质量就得不到保证。 3.往往有一些隐含的需求没有明确地提出来。例如,软件应具备良好的可维护性。如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量就不能得到保证。 软件质量的概念及质量度量 软件质量是各种特性的组合。它随着应用的不同而不同,随着用户提出质量要求的不同而不同。因此,有必要讨论各种质量特性以及评价质量的准则。可以从以下几个方面来定性与定量地考查软件质量。 1.正确性:一个软件满足它的需求规定和实现用户任务目标的程度。 2.可维护性:为适应环境或增强软件功能而进行软件修正的难易程度。 3.完整性:对未授权人员访问软件和数据的可控制程度。 软件质量的概念及质量度量 4.可靠性:一个程序期望以所需的精确度完成它的预期功能的程度。 5.可移植性:把程序从一个硬件或软件系统环境移植到另一个环境所需的工作量。 6.可使用性:一个程序方便用户使用的程度。 软件维护的类型与策略 在软件运行/维护阶段对软件产品所进行的修改就是所谓的软件维护。根据维护的原因,维护的活动可以分为四种类型。 1.改正性维护 由于程序正确性证明尚未得到圆满的解决,软件测试又不能找出程序中的所有错误,因此,在交付使用的软件中都可能隐藏着某些未被发现的错误,而这些错误在某种使用环境下会暴露出来。改正性维护就是在使用过程中发现了隐藏的错误后,为了诊断和改正这些隐藏错误而修改软件的活动。 软件维护的类型与策略 2.适应性维护 由于计算机的发展非常迅速,新的机型、新的操作系统、新的软件系统不断地涌现,为了适应计算机的飞速发展,可能需要更新正在运行的软件的运行环境,如新的机型、数据库管理系统等。适应性维护就是为了适应变化了的环境而修改软件的活动。 3.完善性维护 用户在使用软件的过程中,随着业务的发展,常常需要扩充原有软件的功能,或者希望改进原有的功能或性能,以满足用户的新需求。完善性维护就是为了扩充或完善原有软件的功能或性能而修改软件的活动。 软件维护的类型与策略 4.预防性维护 软件维护活动主要是上述三类维护,另外,还有一种维护称为预防性维护,它是为了提高软件的可维护性和可靠性,为未来的进一步改进打下基础而修改软件的活动。 据有关资料统计,在整个软件维护活动中,改正性维护约占20%,适应性维护约占25%,完善性维护约占50%,其他维护约占5%。 根据影响软件维护工作量的各种因素,针对三种典型的软件维护,James Martin等提出了一些策略,以控制维护成本。 软件维护的类型与策略 改正性维护 使用新技术可以大大提高可靠性,并减少进行改正性维护的需要。这些技术包括:数据库管理系统、软件
文档评论(0)