6软件维护工程 软件工程原理 6.1软件维护概述 软件变更可以考虑以下的几个策略: (1)软件维护。不改变软件的基本 结构,仅对软件做局部性修改以响应 变更的需求。 (2)体系结构转换。是系统的体系 结构发生彻底改变的重大的变更 (3)软件再工程。软件再工程是在
6 软件维护工程 软 件 工 程 原 理 6.1 软件维护概述 软件变更可以考虑以下的几个策略: (1)软件维护。 不改变软件的基本 结构,仅对软件做局部性修改以响应 变更的需求。 (2)体系结构转换。是系统的体系 结构发生彻底改变的重大的变更。 (3)软件再工程。软件再工程是在
软件逆向工程所获得信息的基础上, 软件工程原理 对系统重新实现或重构,使得系统具 有更强的功能或性能,具有更好的可 维护性等。 软件再工程可能包括一些结构的修 改,但原则上,系统的体系结构不会 改变太大,也不增加新功能。 软件逆向工程的基本思想方法是从 程序代码抽取设计信息,从而获得软 件的设计模型
软 件 工 程 原 理 软件逆向工程所获得信息的基础上, 对系统重新实现或重构,使得系统具 有更强的功能或性能,具有更好的可 维护性等。 软件再工程可能包括一些结构的修 改,但原则上,系统的体系结构不会 改变太大,也不增加新功能。 软件逆向工程的基本思想方法是从 程序代码抽取设计信息,从而获得软 件的设计模型
、软件维护的概念 软件工程原理 软件维护是在软件已交付给用户使 用后,为了改正错误,或者满足用户 新的需求而修改软件的过程。 软件维护一般不包括重大体系结构 的修改。 维护工作量可能占了软件生命期整 个工作量的70%以上 要进行软件维护的原因很多,以下 列出了三种情况:
软 件 工 程 原 理 一、软件维护的概念 软件维护是在软件已交付给用户使 用后,为了改正错误,或者满足用户 新的需求而修改软件的过程。 软件维护一般不包括重大体系结构 的修改。 维护工作量可能占了软件生命期整 个工作量的70%以上。 要进行软件维护的原因很多,以下 列出了三种情况:
(1)修改软件中的错误; 软件工程原理 (2)软件运行环境发生了变化; (3)用户要求增加软件新的功能或提 高软件的性能。 二、软件维护分类 1、纠错性维护 诊断和改正软件系统中潜伏下来的错 误,这样的活动称为纠错性维护。 2、适应性维护 为了适应新环境的变化而修改软件的
软 件 工 程 原 理 (1)修改软件中的错误; (2)软件运行环境发生了变化; (3)用户要求增加软件新的功能或提 高软件的性能。 二、软件维护分类 1、纠错性维护 诊断和改正软件系统中潜伏下来的错 误,这样的活动称为纠错性维护。 2、适应性维护 为了适应新环境的变化而修改软件的
软件 活动称为适应性维护。 3、完善性维护 为了改善、加强系统的功能和性能, 以满足用户新的要求,这样的维护活动 工称为完善性维护 4、预防性维护 为了改善软件系统的可维护性和可靠 程原理 性,以便减少今后对它们维护所需要的 工作量,为以后进一步改进软件打下良 好的基础,这样的维护称为预防性维护
软 件 工 程 原 理 活动称为适应性维护。 3、完善性维护 为了改善、加强系统的功能和性能, 以满足用户新的要求,这样的维护活动 称为完善性维护。 4、预防性维护 为了改善软件系统的可维护性和可靠 性,以便减少今后对它们维护所需要的 工作量,为以后进一步改进软件打下良 好的基础,这样的维护称为预防性维护
软件 6.2软件维护过程 软件维护过程又称为教件组护活动。 由于在软件的运行过程中,需要不断 工 地进行修改和完善,维护工作量逐年 上升。软件维护过程与软件类型、软 件开发过程以及人员因素有着密切的 关系。 程原理 软件维护过程的参考模型如图所示:
软 件 工 程 原 理 6.2 软件维护过程 软件维护过程又称为软件维护活动。 由于在软件的运行过程中,需要不断 地进行修改和完善,维护工作量逐年 上升。软件维护过程与软件类型、软 件开发过程以及人员因素有着密切的 关系。 软件维护过程的参考模型如图所示:
软件工程原理 请求影响分折版本规划、变更实-系统发布 修补缺适应平台增强系统功能
软件工程原理
软件 与软件维护工作量有关的因素 在维护过程,需要花费很大的工作量, 这关系到软件的维护成本问题。 工与软件维护工作量有关的因素主要有 (1)系统的大小。 程原理 (2)程序设计语言。 (3)系统的年龄。 (4)数据库技术的应用
软 件 工 程 原 理 一、与软件维护工作量有关的因素 在维护过程,需要花费很大的工作量, 这关系到软件的维护成本问题。 与软件维护工作量有关的因素主要有 以下几点: (1)系统的大小。 (2)程序设计语言。 (3)系统的年龄。 (4)数据库技术的应用
软 (5)先进的软件开发技术。 件 (6)其他因素。 二、维护工作量 工用于维护的工作量可以分成生产性话 动和非生产性活动。例如,分析评价 程 修改设计和实现的原代码等等是生产性 活动;理解程序的功能、解释与判断数 据结构、接口特点、性能的限度等等是 原钻产丝活动 维护工作量可以用一个模型表达: 理
软 件 工 程 原 理 (5)先进的软件开发技术。 (6)其他因素。 二、维护工作量 用于维护的工作量可以分成生产性活 动和非生产性活动。例如,分析评价、 修改设计和实现的原代码等等是生产性 活动;理解程序的功能、解释与判断数 据结构、接口特点、性能的限度等等是 非生产性活动。 维护工作量可以用一个模型表达:
软件 M=P+K×exp(c-d) 其中,M是维护的工作量,P是生 产性工作量,K是经验常数,c是因 为缺乏好的方法和文档而导致软件 工的复杂度,l是维护人员对软件熟 悉的程序 结论:如果没有一个好的软件开 程原理 发途径,原来的开发人员不能参加 维护工作,则维护工作量将按指数 级增加
软 件 工 程 原 理 M=P+K×exp(c-d) 其中,M是维护的工作量,P是生 产性工作量,K是经验常数,c是因 为缺乏好的方法和文档而导致软件 的复杂度,d是维护人员对软件熟 悉的程序。 结论:如果没有一个好的软件开 发途径,原来的开发人员不能参加 维护工作,则维护工作量将按指数 级增加