Title
A methodology to assess the impact of design patterns on software quality
Abstract
Context: Software quality is considered to be one of the most important concerns of software production teams. Additionally, design patterns are documented solutions to common design problems that are expected to enhance software quality. Until now, the results on the effect of design patterns on software quality are controversial. Aims: This study aims to propose a methodology for comparing design patterns to alternative designs with an analytical method. Additionally, the study illustrates the methodology by comparing three design patterns with two alternative solutions, with respect to several quality attributes. Method: The paper introduces a theoretical/analytical methodology to compare sets of ''canonical'' solutions to design problems. The study is theoretical in the sense that the solutions are disconnected from real systems, even though they stem from concrete problems. The study is analytical in the sense that the solutions are compared based on their possible numbers of classes and on equations representing the values of the various structural quality attributes in function of these numbers of classes. The exploratory designs have been produced by studying the literature, by investigating open-source projects and by using design patterns. In addition to that, we have created a tool that helps practitioners in choosing the optimal design solution, according to their special needs. Results: The results of our research suggest that the decision of applying a design pattern is usually a trade-off, because patterns are not universally good or bad. Patterns typically improve certain aspects of software quality, while they might weaken some other. Conclusions: Concluding the proposed methodology is applicable for comparing patterns and alternative designs, and highlights existing threshold that when surpassed the design pattern is getting more or less beneficial than the alternative design. More specifically, the identification of such thresholds can become very useful for decision making during system design and refactoring.
Year
DOI
Venue
2012
10.1016/j.infsof.2011.10.006
Information & Software Technology
Keywords
Field
DocType
quality attribute,software production team,design pattern,various structural quality attribute,alternative design,system design,optimal design solution,exploratory design,common design problem,software quality,design patterns
Behavioral pattern,Data mining,Probabilistic design,Software design,Systems engineering,Computer science,Structural pattern,Software design pattern,Software quality control,Software quality,Architectural pattern
Journal
Volume
Issue
ISSN
54
4
0950-5849
Citations 
PageRank 
References 
17
0.60
63
Authors
3
Name
Order
Citations
PageRank
Apostolos Ampatzoglou133441.24
Georgia Frantzeskou21056.33
Ioannis Stamelos3124391.67