知识卡片
内部质量指标:可维护性的四类维护活动
内容
可维护性指软件系统或组件在纠正错误、提升性能或其他属性、适应变化环境等方面被修改的容易程度——软件维护的核心活动是”修改”,所以可维护性本质就是广义上的可修改性。软件维护分四种类型,各自占整体维护工作量的比重差异很大,也揭示了维护工作的真实重心在哪里。改正性维护(占17%-21%)是改正系统开发阶段已发生、但测试阶段未发现的错误——不重要的错误可随时修复,影响系统正常运行的重要错误则必须制定计划、复查和控制。适应性维护(占18%-25%)是软件为适应信息技术变化和管理需求变化而做的修改,例如硬件价格下降、系统软件层出不穷导致的更新换代需求,或企业外部市场环境变化带来的新信息需求,需要像系统开发一样有计划有步骤地进行。完善性维护(占50%-60%,比重最大)是为扩充功能和改善性能而做的修改,包括在系统分析设计阶段没有规定的新功能新特性、以及对处理效率和代码本身的改进;这类维护又分功能增加/扩展和功能删除/优化两个方向——新增功能是为了在同类产品竞争中保持优势,功能删除优化则可能是为了向更多客户提供功能精简、价格更低的版本。预防性维护(约占4%)是为了改进应用软件的可靠性和可维护性、适应未来软硬件环境变化,主动增加预防性新功能,使系统适应变化而不被淘汰(如把专用报表功能改成通用报表生成功能,提前应对未来报表格式的变化)。这四类维护几乎覆盖了软件维护的所有情况,架构的可维护性主要就是针对这四类活动而言,体现的是”从架构层面进行这些修改有多容易”——完善性维护占比最大这一事实提示:架构设计对可维护性的投入,收益最大的地方往往不是”修bug容不容易”,而是”加新功能容不容易”。
参考来源
- 位置:《软件架构理论与实践》第11章《软件架构质量》"11.3.1 内部质量指标"节之"1.可维护性"(源文件:_epub-src/OEBPS/text00089.html)
- 结论依据:原文分别说明改正性维护(占17%~21%)、适应性维护(占18%~25%)、完善性维护(占50%~60%)、预防性维护(占4%左右)四类维护的定义和典型场景,直接支撑本卡片结论。
- 原始内容:完善性维护(perfective maintenance)是指为了扩充功能和改善性能而进行的修改……这方面的维护工作量占整个维护工作量的50%~60%,比重较大,也是关系到系统开发质量的重要方面。