- 软件系统开发完成交付用户使用后,就进入软件的运行维护阶段。
- 软件维护的工作量大,而且随着软件数量的增多和使用寿命的延长,软件维护的工作量占整个软件开发运行过程总工作量的比例还在持续上升。
- 软件维护的定义
- 软件维护:指软件系统交付使用以后,为了改正软件运行错误,或者因满足新的需求而加入新功能的修改软件的过程。
- 软件维护与硬件维修不同,不是简单地将软件产品恢复到初始状态,而是需要给用户提供一个经过修改的软件新产品。软件维护活动需要改正现有错误 ,修改、改进现有软件以适应新环境。
- 软件维护不像软件开发一样从零做起,需要在现有软件结构中引入修改,并且要考虑代码结构所施加的约束,此外,软件维护所允许的时间通常只是很短的一段时间。
- 软件维护的分类
- 软件维护活动可以归结为以下四类:
- 改正性维护
- 在软件交付使用后,因开发时测试的不彻底、不完全,必然会有部分隐藏的错误遗留到运行阶段;
- 这些隐藏下来的错误在某些特定的使用环境下就会暴露出来;
- 为了识别和纠正软件错误、改正软件性能上的缺陷,而进行诊断和改正错误的过程就叫做改正性维护;
- 改正性维护的主要维护策略:
- 开发过程中采用新技术;
- 利用应用软件包;
- 提高系统结构化程度;
- 进行周期性维护审查等;
- 适应性维护
- 在使用过程中,外部环境(新的硬、软件配置),数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化;
- 为使软件适应这种变化,而去修改软件的过程就叫做适应性维护;
- 适应性维护中的主要维护策略
- 对可能变化的因素进行配置管理;
- 将因环境变化而必须修改的部分局部化,即局限于某些程序模块等。
- 完善性维护
- 在软件的使用过程中,用户往往会对软件提出新的功能与性能要求;
- 为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性;
- 这种情况下进行的维护活动叫做完善性维护。
- 软件维护的分类:
- 实践表明,在几种维护活动中,完善性维护所占的比重最大。即大部分维护工作是改变和加强软件,而不是纠错;
- 完善性维护不一定是救火式的紧急维修,而可以是有计划、有预谋的一种再开发活动;
- 完善性维护中的主要维护策略
- 尽量采用功能强,使用方便的工具,采用原型化的开发方法等。
- 预防性维护
- 是为了改进未来的可维护性或可靠性,或为了给未来的改进奠定更好的基础而修改软件;
- 也可以定义为: “把今天的方法学用于昨天的系统以满足明天的需要” 。即该类维护工作需要采用先进的软件工程方法,对需要维护的软件或软件中的某一部分(重新)进行设计、编码和测试;
- 预防性维护中的主要维护策略
- 采用提前实现,软件重用等技术。
- 改正性维护
- 软件维护工作有以下特点:
- 软件维护是软件生存周期中延续时间最长、工作量最大的一个阶段;
- 软件维护不仅工作量大、任务重,而且维护不当的话, 还会产生一些意想不到的副作用,甚至引起新的错误;
- 软件维护活动实际上是一个修改和简化了的软件开发活动;
- 尽管软件维护需要的工作量很大,但是长期以来,软件维护工作却一直未受到软件设计者们的足够重视。
- 软件维护活动可以归结为以下四类:
上一篇

2024-04-20
下一篇

2024-04-20