A quantitative approach for evaluating the quality of design patterns

In recent years, the influence of design patterns on software quality has attracted an increasing attention in the area of software engineering, as design patterns encapsulate valuable knowledge to resolve design problems, and more importantly to improve design quality. As the paradigm continues to increase in popularity, a systematic and objective approach to verify the design of a pattern is increasingly important. The intent session in a design pattern indicates the problem the design pattern wants to resolve, and the solution session describes the structural model for the problem. When the problem in the intent is a quality problem, the structure model should provide a solution to improve the relevant quality. In this work we provide an approach, based on object-oriented quality model, to validate if a design pattern is well-designed, i.e., it answers the question of the proposed structural model really resolves the quality problems described in the intent. We propose a validation approach to help pattern developers check if a design pattern is well-designed. In addition, a quantitative method is proposed to measure the effectiveness of the quality improvement of a design pattern that pattern users can determine which design patterns are applicable to meet their functional and quality requirements.

[1]  Ladan Tahvildari,et al.  A software transformation framework for quality-driven object-oriented re-engineering , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[2]  Hans van Vliet,et al.  Software engineering - principles and practice , 1993 .

[3]  R. Dromey,et al.  A Model for Software Product Quality , 1995, IEEE Trans. Software Eng..

[4]  Brian Huston,et al.  The effects of design pattern application on metric scores , 2001, J. Syst. Softw..

[5]  Chris A. Czarnecki,et al.  Design patterns for behavior-based robotics , 2000, IEEE Trans. Syst. Man Cybern. Part A.

[6]  Jing Dong,et al.  Visualizing design patterns with a UML profile , 2003, IEEE Symposium on Human Centric Computing Languages and Environments, 2003. Proceedings. 2003.

[7]  Thomas O. Meservy,et al.  Transforming software development: an MDA road map , 2005, Computer.

[8]  Daniel Gross,et al.  From Non-Functional Requirements to Design through Patterns , 2001, Requirements Engineering.

[9]  Robert B. France,et al.  A UML-based pattern specification technique , 2004, IEEE Transactions on Software Engineering.

[10]  R. Geoff Dromey,et al.  A Model for Software Product Quality , 1995, IEEE Trans. Software Eng..

[11]  Lawrence Chung,et al.  Developing adaptable software architectures using design patterns: an NFR approach , 2003, Comput. Stand. Interfaces.

[12]  Tineke M. Egyedi,et al.  Why Java™ was - not - standardized twice , 2001, Comput. Stand. Interfaces.

[13]  Carl G. Davis,et al.  A Hierarchical Model for Object-Oriented Design Quality Assessment , 2002, IEEE Trans. Software Eng..

[14]  Anthony Finkelstein,et al.  A UML profile to support requirements engineering with KAOS , 2002 .

[15]  Joaquin Miller,et al.  MDA Guide Version 1.0.1 , 2003 .

[16]  Sweden alete,et al.  What is a Pattern , 2016 .