Published April 2020 | Version v1
Journal article

Impact of design patterns on software complexity and size

  • 1. Lahore College for Women University, Lahore (Pakistan). Dept. of Computer Science
  • 2. Government College University, Faisalabad (Pakistan). Dept. of Information Technology

Description

Many different factors influence the quality of software. Among the most important of these factors is software complexity. One way to improve software quality, therefore, is to minimize its complexity making it more understandable and maintainable. The design phase of the software development life cycle plays an instrumental role in fostering quality in software. Seasoned designers often use past design best practices codified in the form of design patterns to make their designs and the resultant code more elegant, robust, and resilient to change. Little work, however, has been done to empirically assess the quantitative impact of design patterns on software complexity. This research is an attempt to fill this gap. A comparative analysis of before and after versions of program pairs written without and with design patterns was performed for all twenty three GoF (Gang of Four) design patterns. These program pairs were collected (or, in some cases, developed) and compared with respect to their complexity and size. The results of this comparative analysis reveal that the cyclomatic complexity of the programs written using design patterns was less for most of the design patterns as compared to the programs written without using design patterns. However, the values of CK metrics, number of classes, and software size SLOC (Source Lines of Code) increased when design patterns were used. (author)

Additional details

Publishing Information

Journal Title
Mehran University Research Journal of Engineering and Technology
Journal Volume
39
Journal Issue
2
Journal Page Range
p. 342-352
ISSN
0254-7821

INIS

Country of Publication
Pakistan
Country of Input or Organization
Pakistan
INIS RN
52026639
Subject category
S97: MATHEMATICAL METHODS AND COMPUTING;
Descriptors DEI
COMPARATIVE EVALUATIONS; DESIGN; EFFICIENCY; PERFORMANCE; PROGRAMMING; PROGRAMMING LANGUAGES
Descriptors DEC
EVALUATION