設計模式真的能改善軟體品質嗎?(二)

來源:互聯網
上載者:User

接前一篇文章: “設計模式真的能改善軟體品質嗎?(一)”

結果分析

      選取三個知名的設計模式:組合模式、抽象原廠模式、享元模式

     (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】

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.