Research Article Open Access

Impact of Design Principles and Patterns on Software Flexibility: An Experimental Evaluation Using Flexible Point (FXP)

Muhammad Ehsan Rana1 and Eddy Khonica1
  • 1 Asia Pacific University of Technology and Innovation, Malaysia

Abstract

Software flexibility is a crucial factor in designing and developing software as it reflects its capability to adapt to changes. It is a topic that has been discussed for a very long time which indicates its importance in software development. However, it is not easy to produce a flexible software design. Design principles provide fundamental concepts in designing good software. On the other hand, design patterns are proven solution to recurring problem. When used correctly, design principles and patterns can be used to improve software flexibility. However, it is necessary to evaluate its impact on software flexibility. For this purpose, this research will conduct an experiment by developing a simple application using Object-Oriented Programming (OOP) based on a case study. Based on the requirements of the case study, two SOLID design principles are chosen such as Single Responsibility Principle (SRP) and Open Closed Principle (OCP) while Strategy and Decorator for the patterns from the GoF. Then, Flexible Points (FXP) is used to measure the differences in software flexibility by comparing the solutions developed before and after applying design principles and patterns. This is aimed to prove that the chosen design principles and patterns have positive impact on software flexibility. Lastly, the result analysis shows that the use of the chosen design principles and patterns indeed improve the flexibility of the software. Therefore, the authors highly recommend adopting design principles and patterns in software development.

Journal of Computer Science
Volume 17 No. 7, 2021, 624-638

DOI: https://doi.org/10.3844/jcssp.2021.624.638

Submitted On: 24 June 2020 Published On: 31 July 2021

How to Cite: Rana, M. E. & Khonica, E. (2021). Impact of Design Principles and Patterns on Software Flexibility: An Experimental Evaluation Using Flexible Point (FXP). Journal of Computer Science, 17(7), 624-638. https://doi.org/10.3844/jcssp.2021.624.638

  • 3,991 Views
  • 2,927 Downloads
  • 17 Citations

Download

Keywords

  • Software Flexibility
  • Design Patterns
  • Design Principles
  • Flexible Points (FXP)