综述目前软件质量模型的研究现状 不久前在网上检索了一下关于软件质量模型的中文论文,发现数量不是很多,也没有研究得特别深入的文章,这从一个侧面说明了我国对软件质量还未给予足够的重视。
下面是一些在软件质量模型领域的研究:
一、 基于PDCA 的软件质量保证模型研究【1】
文章结合印度软件业的现状和PDCA 的理论,阐述了印度软件业壮大的非技术因素——质量。并说明“软件质量是人才、过程、技术的函数,即Q=f(M,P ,T) 。式中:Q代表软件质量;M表示人才;P是过程;T为技术。”作者从Plan 、Do 、Check 、Action 四个方面入手,对印度软件产业的现状进行了宏观上的分析。
PDCA 模型老师在课上讲过,这里就不做赘述了。后来戴明博士把Check 改成了研究(Study ),因为研究更精确地反映了实际的意义,所以PDSA 也是戴明环的缩写。其中Action 是在前面的基础上对软件采取的行动或处理,也正是这样,软件的品质(质量)才会有一定的提高。这正如日本质量管理专家石川馨所言:“认为没有问题了,进步就要停止,退步就要开始了。”
文章篇幅较短,只是蜻蜓点水式地谈了谈印度软件业的PDCA模型的应用。但是深入浅出地讲述了PDCA模型的原理,同时给国内企业以提示:PDCA 并不是什么高深莫测的东西,一个软件公司起步时就要重视质量控制,这样才能事倍功半,否则不能长久生存下去。鉴于国内企业目前跟风取得CMM高级别认证,我认为是好事,但是质量的观念真正地深入人心了吗?结果恐怕不容乐观。所以希望国内企业更加注重质量保证的内涵而不仅仅是一个认证而已。
二、基于灰色定权聚类的软件质量模型研究【2】
根据人类思维具有“灰性”的特点, 提出了基于灰色系统理论的软件质量评价方法, 即根据调查研究和资料分析建立软件质量的评价指标体系, 通过层次分析法确定指标权重值, 给出白化权函数、各灰类的转折点及灰色定权聚类
系数的计算公式.通过实例, 得出了软件系统质量的实际评价结果.将灰色系统理论应用于软件工程领域, 形成软件质量的评价模型.
软件质量评价指标根据相关的资料从软件质量属性中进行筛选,并由多位具有实际经验的软件专家通过层次分析法赋与各聚类权值。这种方法的优点是将软件质量的某些指标量化处理了,但是量化得比较模糊,不是很精确,如等级分成为优、良、中、较差、极差五种,而没有数字化。
尽管灰色系统理论是由定性到定量的有效方法, 但要提高评价结果的准确性, 仍有一些方面需要进一步研究: ① 软件质量评价指标筛选的科学性; ② 指标权值确定的准确性; ③ 转折点选择的合理性.
三、 基于未确知聚类的软件质量模型研究【3】
软件可靠性是软件质量的重要指标之一。文章从软件可靠性的角度入手,分析了如何提高软件质量的原理,并提出了一些方法。如未知确理论和聚类方法。
未确知理论是一种数学理论,把现实中软件出错率等大量数据,结合博大精深的数学工具,以及概率理论,抽象成一个数学模型。但是软件不同于软件产品,它的出错是随机的。正因为这样,这个模型不能很好的解决问题,但不失为一种描述问题的好方法。
聚类分析是数据挖掘的一种核心技术,其目的是使组内相似度尽可能大、组间相似度尽可能小。把未确知理论和聚类分析法结合起来就是未确知聚类模型,它集中了未确知理论稳健性高和聚类概率密度特性(即认为预测值发生在概率密度大的地方) , 该算法由于不对历史失效数据进行任何人为的假设, 更加接近软件实际故障, 具有较高的预计精度, 改善了模型应用中的不一致问题。但是因为将未确知理论和聚类方法结合起来用于软件可靠性的分析、研究中的文献资料很少, 其中还有很多问题值得作进一步的研究。
四、层次型Java 软件质量度量模型研究【4】
文章总体上和老师课上讲的层次模型一样,只是详细描述了在java 领域的
应用,以及工具的介绍。
JavaSQMM (Java 软件质量度量模型)构造应遵循的原则:①“要素-准则-度量”建模原则;②Java 程序共通的属性无需表现在模型中;③模型具有可塑性;④相同的下层属性可能会对不同的上层属性产生影响(积极或消极的);⑤不仅仅限于对源代码信息的评估;⑥模型必须易于理解,易于支持评测过程。
模型把质量分成了四个相关的活动:理解、功能实现、维护和复用。他们分别代表四个质量要素:可理解性、功能性、可维护性和可复用性。则软件质量属性为这四个属性的加权求和。
对可理解性给出了五个准则:文档水平、自描述性、继承、多线程和结构复杂度。则可理解性属性为这五个属性的加权求和。同理,功能性包括五个准则:易操作性、设计规模、层次性、结构复杂度和正确性。对于可维护性有四个准则:文档水平、结构复杂度、模块性、自描述性。可复用性有五个:设计规模、继承、模块性、成熟度、容错能力。他们的计算方法都是加权求和。
对于每个准则,都对应着若干度量方法,这样就量化了各个指标,从底层慢慢算出最后软件质量的属性值。其中度量方法具有可操作性,由于篇幅有限,就不一一列举了。
个人感觉这是个不错的方法,分层的结构也符合人们认知事物的过程,度量方法也给出了,具有可操作性,但是文章并没有给出权值如何设定,连参考值都没有。我想,对于不同的软件,权值应该是不同的,有的差别甚至会很大,在实际中我们要视情况而定分别对待,而不是一味地迷信书本和权威。这里我们可以吧一些常见的软件归类,同一类的软件度量时用同一组权值,结果不会产生很大的差异,这部分还有待深入研究。
参考文献:
【1】 黄飞雪,李志洁,孙效里。基于PDCA 的印度软件质量保证模型研究。
哈尔滨工业大学学报,2005年11月,第37卷,第11期。
【2】 刘渝妍。基于灰色定权聚类的软件质量评价模型研究。西南大学学报(自
然科学版),2008年5月,第30卷,第5期。
【3】 鲍国民,韩 柯,李华莹。基于未确知聚类的软件可靠性模型研究。计算
机应用研究,2009年9月,第26卷,第9期。
【4】 黄璜,周 欣,孙家骕。层次型Java 软件质量度量模型研究。计算机科学,
2003年,V ol 30,No. 5。
综述目前软件质量模型的研究现状 不久前在网上检索了一下关于软件质量模型的中文论文,发现数量不是很多,也没有研究得特别深入的文章,这从一个侧面说明了我国对软件质量还未给予足够的重视。
下面是一些在软件质量模型领域的研究:
一、 基于PDCA 的软件质量保证模型研究【1】
文章结合印度软件业的现状和PDCA 的理论,阐述了印度软件业壮大的非技术因素——质量。并说明“软件质量是人才、过程、技术的函数,即Q=f(M,P ,T) 。式中:Q代表软件质量;M表示人才;P是过程;T为技术。”作者从Plan 、Do 、Check 、Action 四个方面入手,对印度软件产业的现状进行了宏观上的分析。
PDCA 模型老师在课上讲过,这里就不做赘述了。后来戴明博士把Check 改成了研究(Study ),因为研究更精确地反映了实际的意义,所以PDSA 也是戴明环的缩写。其中Action 是在前面的基础上对软件采取的行动或处理,也正是这样,软件的品质(质量)才会有一定的提高。这正如日本质量管理专家石川馨所言:“认为没有问题了,进步就要停止,退步就要开始了。”
文章篇幅较短,只是蜻蜓点水式地谈了谈印度软件业的PDCA模型的应用。但是深入浅出地讲述了PDCA模型的原理,同时给国内企业以提示:PDCA 并不是什么高深莫测的东西,一个软件公司起步时就要重视质量控制,这样才能事倍功半,否则不能长久生存下去。鉴于国内企业目前跟风取得CMM高级别认证,我认为是好事,但是质量的观念真正地深入人心了吗?结果恐怕不容乐观。所以希望国内企业更加注重质量保证的内涵而不仅仅是一个认证而已。
二、基于灰色定权聚类的软件质量模型研究【2】
根据人类思维具有“灰性”的特点, 提出了基于灰色系统理论的软件质量评价方法, 即根据调查研究和资料分析建立软件质量的评价指标体系, 通过层次分析法确定指标权重值, 给出白化权函数、各灰类的转折点及灰色定权聚类
系数的计算公式.通过实例, 得出了软件系统质量的实际评价结果.将灰色系统理论应用于软件工程领域, 形成软件质量的评价模型.
软件质量评价指标根据相关的资料从软件质量属性中进行筛选,并由多位具有实际经验的软件专家通过层次分析法赋与各聚类权值。这种方法的优点是将软件质量的某些指标量化处理了,但是量化得比较模糊,不是很精确,如等级分成为优、良、中、较差、极差五种,而没有数字化。
尽管灰色系统理论是由定性到定量的有效方法, 但要提高评价结果的准确性, 仍有一些方面需要进一步研究: ① 软件质量评价指标筛选的科学性; ② 指标权值确定的准确性; ③ 转折点选择的合理性.
三、 基于未确知聚类的软件质量模型研究【3】
软件可靠性是软件质量的重要指标之一。文章从软件可靠性的角度入手,分析了如何提高软件质量的原理,并提出了一些方法。如未知确理论和聚类方法。
未确知理论是一种数学理论,把现实中软件出错率等大量数据,结合博大精深的数学工具,以及概率理论,抽象成一个数学模型。但是软件不同于软件产品,它的出错是随机的。正因为这样,这个模型不能很好的解决问题,但不失为一种描述问题的好方法。
聚类分析是数据挖掘的一种核心技术,其目的是使组内相似度尽可能大、组间相似度尽可能小。把未确知理论和聚类分析法结合起来就是未确知聚类模型,它集中了未确知理论稳健性高和聚类概率密度特性(即认为预测值发生在概率密度大的地方) , 该算法由于不对历史失效数据进行任何人为的假设, 更加接近软件实际故障, 具有较高的预计精度, 改善了模型应用中的不一致问题。但是因为将未确知理论和聚类方法结合起来用于软件可靠性的分析、研究中的文献资料很少, 其中还有很多问题值得作进一步的研究。
四、层次型Java 软件质量度量模型研究【4】
文章总体上和老师课上讲的层次模型一样,只是详细描述了在java 领域的
应用,以及工具的介绍。
JavaSQMM (Java 软件质量度量模型)构造应遵循的原则:①“要素-准则-度量”建模原则;②Java 程序共通的属性无需表现在模型中;③模型具有可塑性;④相同的下层属性可能会对不同的上层属性产生影响(积极或消极的);⑤不仅仅限于对源代码信息的评估;⑥模型必须易于理解,易于支持评测过程。
模型把质量分成了四个相关的活动:理解、功能实现、维护和复用。他们分别代表四个质量要素:可理解性、功能性、可维护性和可复用性。则软件质量属性为这四个属性的加权求和。
对可理解性给出了五个准则:文档水平、自描述性、继承、多线程和结构复杂度。则可理解性属性为这五个属性的加权求和。同理,功能性包括五个准则:易操作性、设计规模、层次性、结构复杂度和正确性。对于可维护性有四个准则:文档水平、结构复杂度、模块性、自描述性。可复用性有五个:设计规模、继承、模块性、成熟度、容错能力。他们的计算方法都是加权求和。
对于每个准则,都对应着若干度量方法,这样就量化了各个指标,从底层慢慢算出最后软件质量的属性值。其中度量方法具有可操作性,由于篇幅有限,就不一一列举了。
个人感觉这是个不错的方法,分层的结构也符合人们认知事物的过程,度量方法也给出了,具有可操作性,但是文章并没有给出权值如何设定,连参考值都没有。我想,对于不同的软件,权值应该是不同的,有的差别甚至会很大,在实际中我们要视情况而定分别对待,而不是一味地迷信书本和权威。这里我们可以吧一些常见的软件归类,同一类的软件度量时用同一组权值,结果不会产生很大的差异,这部分还有待深入研究。
参考文献:
【1】 黄飞雪,李志洁,孙效里。基于PDCA 的印度软件质量保证模型研究。
哈尔滨工业大学学报,2005年11月,第37卷,第11期。
【2】 刘渝妍。基于灰色定权聚类的软件质量评价模型研究。西南大学学报(自
然科学版),2008年5月,第30卷,第5期。
【3】 鲍国民,韩 柯,李华莹。基于未确知聚类的软件可靠性模型研究。计算
机应用研究,2009年9月,第26卷,第9期。
【4】 黄璜,周 欣,孙家骕。层次型Java 软件质量度量模型研究。计算机科学,
2003年,V ol 30,No. 5。