影响软件可维护性的7个因素
什么是软件的可维护性?
软件的可维护性是指软件能够被正确理解,并能纠正软件出现的错误和缺陷,为满足新的要求进行修改、扩充或压缩的容易程度。
影响软件的可维护性有以下7个因素:
可理解性
一个可维护的软件必然是可理解的。
软件的可理解性是指通过阅读源代码和相关文档,了解软件的功能和如何运行的容易程度。
软件的可理解性可以使用“90-10测试”的方法来衡量,即如果一个有经验的程序员阅读一份源代码清单10分钟,可以写出该程序的90%,则认为这个程序具有可理解性。
可测试性
一个可维护的软件必然是可测试的。
软件的可测试性是指验证软件程序正确的难易程度。
可测试性好的软件,通常意味着软件设计简单,复杂性低。因为软件的复杂性越大,测试的难度也就越大。
可修改性
一个可维护的软件必然是可修改的。
软件的可修改性是指修改软件的难易程度。
软件的可修改性可以通过进行几个简单的修改练习来评价。假设软件的平均复杂性是C,要修改的模块的复杂性是A,那么修改的难度可由下面公式计算:
D=A/C
可靠性
一个软件的可靠性越高,需要维护的概率就会越低。
软件的可靠性是指软件在满足用户需求的前提下,在给定的时间段内正确运行的概率。
软件可靠性的度量有以下两种方法:
根据软件的错误统计进行可靠性预测。如度量软件的平均失效间隔时间(MTTF)。
根据软件的复杂性进行可靠性预测。
可移植性
软件运行环境的变化是软件维护的一种常见情形,可移植性好的软件会降低维护的概率。
软件的可移植性是指将软件从一个环境移植到新的的环境下正确运行的难易程度。
一个可移植的软件应具有良好的结构,使用独立于机器的高级语言编写。
可使用性
软件易于使用通常意味着软件设计简单,易于理解。
软件的可使用性是指用户使用软件的难易程度。
软件的可使用性可以通过测试用户首次使用软件掌握常用功能的时间来衡量。
效率
效率是指软件既能很好地完成用户期望的功能、性能,又不浪费机器资源的程度。
软件设计不能一味地追求效率,盲目地追求效率会使得软件的其它质量特性受到影响,比如降低软件的可维护性。
这正是:
要想软件可维护,七个因素记清楚
设计之时多思考,磨刀不白费功夫
参考书目:现代软件测试技术与管理研究,作者:赵仕波 魏生斌 罗耀华,出版社:中国水利水电出版社