高质量软件开发
王鹏
我们怎么做才能开发出高质量的软件呢?
如果我们知道了高质量的软件的标准,然后按照这些标准去实现和验收,那么这个软件一定是高质量的。
不过需要注意的是,每一个软件对于质量的要求都不一样,就好比我们说一个女孩美,这个美不是一种固定的五官,是可以有差别的,虽然有差别,但是依然各有各自的美。软件也是如此,每一个软件对于质量的维度要求并不相同,但是都可以称之为高质量。
这些维度有健壮性,也称之为鲁棒性,或者可靠性,还有软件的可扩展性,还有安全性,功能性,可维护性。
只有对这些特性有了深刻的认识,才能理解什么是软件质量。
通常人们理解的软件质量只是功能性,也就是软件实现了某些功能。而评价一个软件的功能性,不仅仅是在能用的维度,而且是在好用的维度,比如有的软件虽然实现了功能,但是十分卡顿,响应很慢,不能称之为好用,用户的满意度比较低,因此也不能称之为高质量。
什么是质量呢?质量是客体的一组固有属性满足需求的程度。注意,这里是满足需求的程度,满足需求的程度越高,质量越好。
对于一般的民用软件,能满足需求是第一位的,因此,很多开发者的认识也到此为止,认为能用就行,对于一个高质量的软件来说,这远远不够。
长期以来,在我们的软件研发的实践中,我们往往专注速度,从而忽视了质量,随着社会的发展,一系列软件质量的问题爆发了出来。
所以,我们必须关注质量。
ISO9126 软件质量模型是评价软件质量的国际标准,由6个特性和27个子特性组成。
可靠性,可扩展性,安全性,功能性,可维护性,这五个是我们提出的内容,但是国际标准上面,将安全性放到了功能性里面,将可扩展性放到了可维护性里面,另外增加了效率,可移植性和可用性。
下面是国标的介绍。
(1)功能性 功能性是指与软件所具有的各项功能及其规定性质有关的一组属性,包括: 适合性:与规定任务能否提供一组功能以及这组功能的适合程度有关的软件属性。适合程度的例…