Impact of Design Principles and Patterns on Software Flexibility: An Experimental Evaluation Using Flexible Point (FXP)
- 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.
DOI: https://doi.org/10.3844/jcssp.2021.624.638
Copyright: © 2021 Muhammad Ehsan Rana and Eddy Khonica. This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.
- 3,991 Views
- 2,927 Downloads
- 17 Citations
Download
Keywords
- Software Flexibility
- Design Patterns
- Design Principles
- Flexible Points (FXP)