模块化、详细的设计文档、结构化设计、源代码内部的文档和良好的高级程序设计语言等等,都对改进软件的可理解性有重要贡献。
可测试性:诊断和测试的难易程度主要取决于软件容易理解的程度。
良好的文档对诊断和测试是至关重要的。
此外,软件结构、可用的测试工具和调试工具,以及以前设计的测试过程也都是非常重要的。
维护人员应该能够得到在开发阶段用过的测试方案,以便进行回归测试。
在设计阶段应该尽力把软件设计成容易测试和容易诊断的。
可修改性:软件容易修改的程度和软件设计原理和规则直接有关。
耦合、内聚、局部化、控制域与作用域的关系等等,都影响软件的可修改性。