Impact of Design Patterns on Quantitative Assessment of Quality Parameters

Software engineering concept emphasizes on the use of design patterns for developing software which are recurring in nature. The aim of this work is to provide a methodology to compare the quality attributes of a system having design pattern solution with a system without usages of design pattern solution, both the system intending to provide same functionalities. Further, QMOOD (Quality Model for Object-Oriented Design) approach is adopted to assess the effects of design patterns in an object-oriented system environment. Using this approach, object-oriented metrics are calculated in terms of the number of classes and their relationships in a UML (Unified Modeling Language) class diagram. The cut-off points are calculated in order to provide the exact size of the system in terms of the number of classes, for which the solution adopted using design pattern provides more quality parameters. For the demonstration of this approach, different design patterns, such as Visitor, Bridge, and Abstract Factory design patterns have been taken into consideration.

[1]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[2]  Hong Zhu,et al.  An algebra of design patterns , 2013, TSEM.

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

[4]  Takeo Imai,et al.  A quantitative evaluation of maintainability enhancement by refactoring , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[5]  Ioannis Stamelos,et al.  A methodology to assess the impact of design patterns on software quality , 2012, Inf. Softw. Technol..

[6]  David P. Darcy,et al.  Managerial Use of Metrics for Object-Oriented Software: An Exploratory Analysis , 1998, IEEE Trans. Software Eng..

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

[8]  William C. Chu,et al.  A quantitative approach for evaluating the quality of design patterns , 2008, J. Syst. Softw..

[9]  Ashish Kumar Dwivedi,et al.  Selecting and formalizing an architectural style: A comparative study , 2014, 2014 Seventh International Conference on Contemporary Computing (IC3).

[10]  Walter Olthoff,et al.  ECOOP’95 — Object-Oriented Programming, 9th European Conference, Åarhus, Denmark, August 7–11, 1995 , 1995, Lecture Notes in Computer Science.

[11]  Jim Welsh,et al.  Towards pattern-based design recovery , 2002, ICSE '02.

[12]  Pao-Ann Hsiung,et al.  Pattern-based framework for modularized software development and evolution robustness , 2011, Inf. Softw. Technol..

[13]  Grady Booch,et al.  Core J2EE Patterns (Core Design Series): Best Practices and Design Strategies , 2003 .

[14]  Deepak Goyal,et al.  A hierarchical model for object-oriented design quality assessment , 2015 .

[15]  Nadia Bouassida,et al.  Using metric-based filtering to improve design pattern detection approaches , 2014, Innovations in Systems and Software Engineering.

[16]  Zhang Kang,et al.  Visualizing Design Patterns in Their Applications and Compositions , 2007 .

[17]  Kang Zhang,et al.  Visualizing Design Patterns in Their Applications and Compositions , 2007, IEEE Transactions on Software Engineering.

[18]  Martin Fowler,et al.  Patterns of Enterprise Application Architecture , 2002 .

[19]  T. V. Prabhakar,et al.  Ontology driven creational design patterns as parameterized and reusable components , 2014, SIAP.

[20]  Ioannis Stamelos,et al.  Research state of the art on GoF design patterns: A mapping study , 2013, J. Syst. Softw..