软件维护的定义:在软件已经交付之后,为了改正错误或满足新需求而修改软件的过程
软甲工程学的主要目的:提高软件的可维护性,降低维护的代价
软件维护包含四类活动:
-
改正性维护
-
适应性维护
-
完善性维护
-
预防性维护
软件的可理解性,可测试性,可修改性,可移植性和可重用性,是决定软件可维护性的基本因素。
软件重用技术是能从根本上提高软件可维护性的重要技术。
文档是影响软件可维护性的决定因素,分为用户文档和系统文档两大类。文档必须和程序代码同时维护,只有与代码完全一致的文档才有价值
软件维护特点:
-
非结构化维护:没有使用良好定义的方法学开发出来的软件的必然后果,付出巨大的代价
-
结构化维护:如果有一个完整的软件配置存在,那么维护工作从评价设计文档开始,确定软件重要的结构特点,性能特点,以及接口特点;估量要求的改动将带来的影响,并且计划实施途径,然后修改设计并且对所做的修改仔细复查。然后编写相应的源代码,再进行回归测试,最后交付使用
软件维护过程:
-
维护组织:在维护活动开始之前明确维护责任是十分必要的
-
维护报告:维护要求表示计划维护活动的基础,应该给出如下信息。在拟定进一步维护计划之前,应把维护要求表提交给变化授权人审查批准
-
满足维护要求表中提出的要求所需要的工作量
-
维护要求的性质
-
这项要求的优先次序
-
与修改有关的时候数据
-
-
维护的事件流
-
-
保存维护记录
-
评价维护活动
软件的可维护性:
决定软件可维护性的因素:
-
可理解性
-
可测试性
-
可修改性
-
可移植性
-
可重用性
文档:文档是音箱软件可维护性的决定因素。
-
用户文档:描述系统功能和使用方法,不关心具体实现
-
功能描述
-
安装文档
-
使用手册:简要说明如何着手使用这个系统
-
参考手册:详尽描述如何使用,解释可能产生的各种出错含义
-
操作员指南:(如果需要有系统操作员的话)
-
-
系统文档:描述系统设计,实现和测试等各方面的内容
软件再工程过程:
-
库存目录分析
-
文档重构
-
逆向工程
-
代码重构
-
数据重构
-
正向工程