现代软件工程第14章 软件维护与再工程.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目 录5176342软件的可维护性正向工程概论软件再工程维护策略维护管理与文件业务过程再工程第14章 软件维护与再工程无论计算机软件的应用领域、规模或复杂性如何,计算机软件都将随时间而不断演化,因为变更驱动着这个过程。当计算机软件系统进入正常运行阶段后,技术人员要对投入运行后的软件系统进行调整和修改,以改正在开发阶段产生、在测试阶段又未发现的错误,使软件系统能适应外界环境的改变,并实现软件系统的功能扩充和性能改善。因此,系统的维护工作将有许多事情要做。第14章 软件维护与再工程Lehman及其同事为软件维护与再工程定义了一系列法则(1974~1980):1)持续变更法则(1974):由于软件是在真实世界的计算环境中实现的,因此将随着时间不断演化(称为E型系统),所以必须持续修改软件,否则这些软件将变得越来越不令人满意。2)复杂性增长法则(1974):随着E型系统的不断演化,系统的复杂性也随之增长,除非采取措施使系统保持或降低复杂性。3)自调节法则(1974):E型系统的演化过程可以自动调节产品分布和过程测量以接近正常状态。第14章 软件维护与再工程4)组织稳定性守恒法则(1980):演化中的E型系统的平均有效全局活动率在整个产品的生命期内是恒定的。5)熟悉度守恒法则(1980):随着E型系统的不断演化,与该系统相关的所有人员,如:开发人员、销售人员、用户,都必须始终掌握系统的内容和行为,以使得演化过程令人满意。过度的增长会削弱对其内容和行为的掌握程度。因此,在系统的演化过程中,平均增长值是恒定的。6)持续增长法则(1980):在E型系统的整个生命期内,其功能内容必须持续增长以满足用户需求。第14章 软件维护与再工程7)质量下降法则(1996):如果E型系统没有严格地进行维护,也没有随着操作环境的改变做适应性修改,那么E型系统的质量将有所下降。8)反馈系统法则(1996):E 型演化过程由多层次、多循环、多代理的反馈系统组成,而且,要想在任何合理的基础上达到有意义的改进就必须这样进行处理。14.1 概 述14.1 概 述软件维护是指已完成开发工作,交付使用以后,对软件产品所进行的一些软件工程活动。一个中等规模的软件,如果其开发阶段需要一到二年的时间,则在它投入使用以后,其运行或工作时间可能持续五年到十年之久,而它的维护阶段也正是在这运行期间。在这期间内对软件进行维护,人们几乎需要着手解决开发阶段所遇到的各种问题,同时,还要解决某些维护工作本身所特有的问题。做好软件的维护工作不仅能排除障碍,使它能够正常工作,还可以使它扩充功能,提高性能,为用户带来显著的效益。但是,人们对软件维护的认识还远不如软件开发。这是因为开发工作更容易被看到,容易被人们所重视。但和软件开发工作相比,软件维护阶段的工作量和成本都要大得多。14.1.1 软件维护工作的必要性实践表明,在开发阶段结束以后,在运行中仍然有必要对软件进行更动,其原因有以下几个方面:1)改正在运行中新发现的软件错误和设计上的缺陷之处,这些错误和缺陷是在开发后期的测试阶段未能发现的。2)改进设计,以便增强软件的功能,提高软件的性能。3)要求已运行的软件能适应特定的硬件、软件、外部设备和通信设备等的工作环境,或是要求适应已变动的数据或文件。4)为使投入运行的软件与其他相关的程序有良好的接口,以利于协同工作。5)为使运行软件的应用范围得到必要的扩充。14.1.1 软件维护工作的必要性值得注意的是,软件“维护”不同于对硬件的“维护”。对硬件来说,“维护”包括替换已损坏的零部件、纠正缺陷、加强设计以及擦洗、注油和润滑保养等,但这些都不会影响到设备的功能,对设备性能的提高也是非常有限的。软件的维护则完全是另一回事。软件的维护不仅可以改正原来设计中的错误或不当之处,而且还可以增强软件的功能,提高它的性能,并且大多数的软件维护工作都是出于这些增强功能的要求,而不是由于可靠性问题进行的。14.1.1 软件维护工作的必要性怎样正确看待软件维护工作,是做好软件维护的重要前提。我们知道,软件维护工作处在软件生存周期的最后阶段,在此以前完成的开发工作曾经花去了大量的人力和资源。开发完成以后,用户迫切希望它能正常工作,发挥效益。同时,也希望它能稳定、可靠地工作,具有较长的使用寿命。然而,实践表明,任何一个软件在通过各项测试以后,谁都不能保证软件内部所有隐藏的错误被完全排除了。随着对它的频繁使用,某些原来隐藏的问题会逐渐暴露出来,同时,用户还会发现一些使用不便之处。面对这些问题,为了让它能正常有效地工作,有必要再投入一定数量的人力和资源,开展软件维护工作。14.1.1 软件维护工作的必要性统计资料表明,维护阶段的花费占整个软件生存周期花费的67%,这是一个相当可观的数字。但是,如果我们不能充分

您可能关注的文档

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档