读书人

设计形式真的能改善软件质量吗?(二)

发布时间: 2012-07-28 12:25:13 作者: rapoo

设计模式真的能改善软件质量吗?(二)

结果分析

选取三个知名的设计模式:组合模式、抽象工厂模式、享元模式

(1) 组合模式

设计形式真的能改善软件质量吗?(二)

结论:组合模式对大部分质量属性都有正影响,可伸缩性(Scalability)和健壮性(Robustness)除外。

(2) 抽象工厂模式

设计形式真的能改善软件质量吗?(二)

结论:总体上来说,抽象工厂模式对软件质量属性的影响为中等,扩展性、普遍性和模块性不错,但是健壮性的结果令人吃惊。

(3) 享元模式

设计形式真的能改善软件质量吗?(二)

结论:总体上来说享元模式对软件质量属性有负影响,只有可伸缩性还不错。

选取三个GoF提及的质量属性:可重用性、扩展性、易理解性

(1) 可重用性

设计形式真的能改善软件质量吗?(二)

结论:10个模式对可重用性有正影响,6个无影响,7个有负影响。

(2) 扩展性

设计形式真的能改善软件质量吗?(二)

结论:19个模式对可扩展性有正影响,3个无影响,1个有负影响。

(3) 易理解性

设计形式真的能改善软件质量吗?(二)

结论:15个模式对易理解性有正影响,3个无影响,5个有负影响。

整体分析:

总的来说,设计模式对软件质量属性的正影响大于负影响,因此,恰当使用设计模式可以在一定程度上提高软件质量。设计形式真的能改善软件质量吗?(二)

设计形式真的能改善软件质量吗?(二)

设计模式对质量属性的影响并不总是正的,有些模式会对某些质量属性产生负面影响,因此需要慎重选择和使用设计模式(They should be used with caution)。设计形式真的能改善软件质量吗?(二)

个人认为,本工作需要参与者对这些设计模式要有较深的理解,此外对于这些软件质量属性要有统一的理解和认识,为此,需要对这些软件质量属性提供一个较为标准的定义。(我计划写专门的文章来对这些软件质量属性进行详细的说明,设计形式真的能改善软件质量吗?(二)

由于本研究工作主观性较强,我在此不多加分析,不同的人会有不同的评价结果。 设计形式真的能改善软件质量吗?(二)

同志们,如果要你来填写这个表,答案是什么呢?偶也想在国内组织一次类似的调查,呵呵!

主要参考资料:

[1] Foutse Khomh and Yann-Ga?l Guéhéneuc. Do Design Patterns Impact Software Quality Positively?. In Christos Tjortjis and Andreas Winter, editors, Proceedings of the 12th Conference on Software Maintenance and Reengineering (CSMR), April 2008. IEEE Computer Society Press.

[2] Yann-Ga?l Guéhéneuc. Design Patterns: Empirical Studies on the Impact of Design Patterns on Quality. Encyclopedia of Software Engineering (ESE), September 2010.

[3] Yann-Ga?l Guéhéneuc, Jean-Yves Guyomarc'h, Khashayar Khosravi, and Houari Sahraoui. Design Patterns as Laws of Quality, chapter 5, pages 105--142. Idea Group, January 2006.

[4] Khashayar Khosravi and Yann-Ga?l Guéhéneuc. On Issues with Software Quality Models, chapter 11, pages 218--235. ICFAI University Press, January 2008.

【作者:刘伟 http://blog.csdn.net/lovelion】

读书人网 >软件开发

热点推荐