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.
CITATION STYLE
Rana, M. E., Khonica, E., Wan Nurhayati, W. N. W., Murad, M. A. A., & Atan, R. B. (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
Mendeley helps you to discover research relevant for your work.