软件的可维护性是指软件能够被理解、纠正、适应和完善以适应新环境的难易程度。软件的可维护性受许多因素的影响,在设计、编码和测试过程中稍有疏忽就会降低软件的可维护性,软件配置的好坏对此也有同样的影响。
软件可维护性与质量或可靠性一样,很难进行定量化的表示。我们可以通过能够度量的维护活动的属性,间接地估算可维护性。
下面列出的是一些面向时间的与维护工作量有关的可维护性度量:
这些数据反映了维护全过程中检错-纠错-验证的周期,即从检测出软件存在的问题开始至修正它们并经回归测试验证这段时间。我们可以粗略地认为,这个周期越短,维护越容易。
可维护性是所有软件的一个基本特性,因此,必须在软件开发的各个阶段对上述有影响的因素加以考虑,并在评审过程中分别考虑它们的可维护性。
(1) 在需求评审时,对将来可能要完善和修改的部分应加以说明,如讨论可移植性问题时应考虑系统接口对软件可维护性带来的影响;
(2) 在设计评审时,对数据设计、体系结构设计、过程设计及接口设计是否易于修改,以及整个设计质量都要作出评价;
(3) 编码评审时,应强调编程风格和内部文档这两个影响可维护性的因素;
(4) 在软件正式交付使用前,每个测试步骤都应对预防性维护作出提示。
在完成软件工程过程的每一步骤之后,都要进行软件的可维护性评审。在测试结束时,还应进行正式的可维护性评审,称为配置评审。配置评审是保证软件配置的所有成分是完整的和可理解的,并对修改控制的文件进行归档。在完成软件各项任务之后,应该对软件维护任务自身进行评审。
|