没有有效的质量控制,那还叫什么软件工程?

软件工程从出现的那一天起,就是为了提高软件质量而存在的。

由于上个世纪60年代“软件危机”的产生,迫使人们不得不研究、改变软件开发的技术手段和管理方法。而借鉴其他行业已经取得重大成果的工程理论,比如建筑行业,就是一个行之有效的方法,软件工程由此而生。

从1970年以来,软件工程理论得到长足的发展,各种工具不断涌现,开发方法不断出新,软件标准层出不穷。在软件工程漫长的发展历程中,很多组织渐渐迷失了软件工程理论的初衷,只看重方法、工具的使用,只看重CMMI的等级资质,却不再关注这些对软件产品质量是否真的有提高。

大多数通过CMMI/GJB5000A的组织都不重视度量分析,组织定义的只有少数几个测量项,而用于“控制软件质量”这个测量目标的测量项,通常就是测试缺陷率。

而且一些组织还是用内部测试的缺陷率来衡量软件产品的质量。组织的内部测试本身就是软件开发过程的活动之一,内部测试发现的缺陷多,不能说明交给用户使用的软件质量差;而内部测试发现的缺陷少,也不能说明交付给用户的软件高。因为测试发现的缺陷多,可能潜在的缺陷更多;测试发现的缺陷少,可能只是因为测试的充分性和有效性差。

总之用内部测试的缺陷率作为衡量软件质量的测量指标是不合适的。

目前在软件业内被接受的衡量软件质量的测量指标是缺陷去除效率。

假设每一个功能点有5个缺陷,对于一个规模为100个功能点的软件,当缺陷去除效率为75%,那么交付使用后软件中遗留的缺陷就会有125个。从这个定义可以看出缺陷去除效率越高,交付使用的软件遗留的缺陷就越少。

组织通过缺陷去除效率的测量和分析,不仅可以用它更准确地衡量软件的质量水平,还可以测量出不同的测试方法的缺陷去除效率,这样就可以在项目进度与成本紧张或充裕的情况下,通过增加或减少不同的测试方法,有效地控制软件的质量水平。

所以,没有一个有效的衡量软件质量的测量指标,是不可能实现控制软件质量的目标;没有对缺陷去除效率的充分的度量和分析,也做不到对软件质量的有效控制。

在《软件工程最佳实践》中,有这样的一条结论,一个技术职业对于预防和去除严重错误的最高效方法一无所知,就没有资格被称为工程。

那么请各位思考一下,你的组织中的软件工程是否名副其实?

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章