2022年11月软考系统架构设计师考试论文--软件维护

软件维护是软件生存周期的最后一个阶段,是在软件交付使用后,为了改正错误或满足新的需要而修改软件的过程。软件维护工作的目标是:不断地、持续地改进、扩充、完善软件系统,以提高系统运行效率,并尽量延长系统的使用寿命,为用户创造更大的价值。

1、软件维护产生原因

(1)改正在特定使用条件下暴露出来的一些潜在的程序错误和设计缺陷。

(2)由于软件使用过程中数据环境发生变化或处理环境发生变化需要修改软件以适应这种变化。

(3)用户或数据处理人员在使用时常提出改进现有功能、增加新的功能,以及改善总体性能的要求,需要维护软件。

2、软件维护分类

(1)改正性维护

(2)适应性维护

(3)完善性维护

(4)预防性维护

3、软件维护技术

软件维护的技术包括:面向维护的技术和维护支援技术。

面向维护的技术是软件开发阶段用来减少错误,提高软件可维护性的技术。

维护支援技术是在软件维护阶段用来提高维护作业的效率和质量的技术。

4、软件维护的副作用

软件维护的副作用是指:由于维护或在文档化过程中其他一些不期望的行为引入的错误。副作用大致分为以下三类:

代码的副作用

数据副作用

文档副作用

5、软件再工程

软件再工程是目前预防性维护所采用的的主要技术,是为了以新形式重构已存在软件系统而实施的检测、分析、更替,以及随后构建新系统的工程活动。

软件再工程的目的是理解已存在的软件(包括规范、设计、实现),然后对该软件重新实现以期增强它的功能,提高它的性能,或降低它的实现难度,客观上达到维持软件的现有功能并为今后新功能的加入做好准备的目标。

6、必须在软件交付之前对整个软件配置进行复审,以减少文档副作用。

7、软件的可维护性、可使用性、可靠性是衡量软件质量的几个主要特性。

8、软件维护的费用增加的主要原因是维护的效率非常低。

9、维护申请报告是一种由用户产生的文档,它用作计划维护任务的基础。

10、采用手工方法开发软件只有程序而无文档,维护困难,这是一种非结构化维护,采用软件工程方法开发软件,各阶段均有文档,容易维护,这是一种结构化维护。

11、在软件维护的内容中,占维护活动工作量比例最高的是适应性维护。

最后说一句,软件维护是个苦差事。

你可能感兴趣的:(系统架构设计师考试,系统架构)