误的过程,就叫做校正性维护。Р8.1 软件维护的种类Р2. 适应性维护(Adaptive maintenance)А随着计算机的飞速发展,外部环境(新的硬、软件配置)或数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化,为了使软件适应这种变化,而去修改软件的过程就叫做适应性维护。Р3. 完善性维护(Perfective maintenance)А在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。这种情况下,进行的维护活动叫做完善性维护。Р8.1 软件维护的种类Р4. 预防性维护(Preventive maintenance)А除了以上三类维护之外,还有一类维护活动,叫做预防性维护。这是为了提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础。Р8.1 软件维护的种类Р注意:А在维护阶段的最初一、二年,校正性维护的工作量较大。随着错误发现率急剧降低,并趋于稳定,就进入了正常使用期。然而,由于改造的要求,适应性维护和完善性维护的工作量逐步增加,在这种维护过程中又会引入新的错误,从而加重了维护的工作量。实践表明,在几种维护活动中,完善性维护所占的比重最大,即大部分维护工作是改变和加强软件,而不是纠错。用户要求扩充、加强软件功能、性能的维护活动约占整个维护工作的50%。Р8.1 软件维护的种类Р完善性维护?50%Р适应性维护?25%Р改正性维护?20%Р预防性维护5%Р图11.1 各类维护的比重Р8.2 软件维护的特点Р8.2.1 软件维护面临的困难А统计资料表明,有代表性的软件开发组织用于校正性维护、适应性维护、完善性维护及预防性维护的费用占其开发总金额的70%至80%。А很多软件机构被束缚在维护工作上,这是软件维护所带来的无形支出。