一. 软件维护就是在软件已经交付使用后,为了改正错误或满足新的需求而修改软件的过程。
二. 软件维护的特点
1. 非结构化维护和结构化维护差别巨大,前者维护的对象只是程序代码,而内部文档不足,导致维护需要付出很大代价。后者维护的对象是完整的软件配置,需要从设计文档评价开始,经过分析软件特点,估量修改带来的影响,再经过一系列修改步骤才开始编写相应源代码,这使得软件维护减少了精力的浪费,提高维护的总体质量。
2. 维护的代价昂贵,在过去几十年里,维护费用逐年上升,而且如果软件开发没有运用软件工程方法学,原来的开发者不参与维护,那么维护的工作和质量将指数地增加。
3. 维护的问题很多,如理解别人的程序有难度,往往没有合格的文档,原始开发人员可能不在,绝大多数软件在设计时没有考虑将来的修改等等。
三. 软件维护过程
维护过程本质上是修改和压缩了软件定义和开发过程。
1. 建立维护团队,明确分工。
2. 制定软件报告,说明维护要求的工作量、性质、优先次序和修改有关的事后数据。
3. 按照维护事件流开展工作,如下图所示,
4. 保护维护的各项记录,以确定程序产品的"优良"程序,比如源语句数、机器指令条数、使用的程序设计语言、程序改动的日期、与完成的维护相联系的纯效益等等。
5. 评价度量