Investigating Design Patterns Impact on Application Performance and Complexity

Siti Rochimah, Rizky Januar Akbar, Kholed Langsari

Abstract


Many studies in the literature have a premise that design patterns improve the quality of object-oriented software systems. Considerable research has been devoted to re-designing the system to improve software quality, mainly on its maintainability and reliability. Less attention has been paid to evaluating the impact of the performance efficiency quality factor. This research investigates the impact of design patterns on application performance and complexity. It is, therefore, beneficial to evaluate whether the design patterns may improve its performance and complexity or even decrease it. The research demonstrates scientific evidence in quantitative values through experimentation on a case study to present its influences. This paper uses an object-oriented enterprise project named SIA as a case study. Some issues related to design patterns are addressed. The selection of the design pattern is based on the application context issue. Three attributes related to performance efficiency are evaluated: time behavior, resource utilization, and capacity measures. The complexity is also evaluated. We use Apache JMeter and Java Mission Control as tools to support experimentation. The experiment results show that design patterns may decrease the quality of time behavior and resource utilization whilst they may increase the quality of capacity measures and complexity to a significant degree.

Keywords


Design Patterns; Performance Efficiency; Complexity; Software Quality; Software Evolution

Full Text:

Full Text

References


Gamma E, Helm R, Johnson R, Vlissides J. Design Patterns: Elements of Reusable Object-oriented Software. Boston, USA: Addison-Wesley Longman Publishing Co., Inc; 1995. https://www.javier8a.com/itc/bd1/articulo.pdf.

Demeyer S, Ducasse S, Nierstrasz O. Object-Oriented Reengineering Patterns. San Fransisco, USA: Morgan Kaufmann Publishers Inc; 2002. https://www.sciencedirect.com/book/9781558606395/object-oriented-reengineering-patterns?via=ihub=.

Ulrich W, Gotelli NJ. Pattern detection in null model analysis. Oikos 2013;122(1):2–18. https://nsojournals.onlinelibrary. wiley.com/doi/10.1111/j.1600-0706.2012.20325.x.

Ali N, Elish MO. A Comparative Literature Survey of Design Patterns Impact on Software Quality. In: International Conference on Information Science and Applications Pattaya, Thailand: June; 2013. p. 1–7. https://ieeexplore.ieee.org/document/6579460.

Suryn W. Software Quality Engineering: A Practitioner’s Approach. January; 2014. https://onlinelibrary.wiley.com/doi/book/10.1002/9781118830208.

Khomh F, Gueheneuce Y. An Empirical Study of Design Patterns and Software Quality. In: 12th European Conference on Software Maintenance and Reengineering Athens, Greece: IEEE; 2008. p. 274–278. https://www.computer.org/csdl/proceedings/csmr/2008/12OmNwCJOWz.

Rochimah S, Rahmani HI, Yuhana UL. Usability Characteristic Evaluation on Administration Module of Academic Information System using ISO/IEC 9126 Quality Model. In: International Seminar on Intelligent Technology and Its Applications (ISITIA) Surabaya, Indonesia: IEEE; 2015. p. 363–366. https://ieeexplore.ieee.org/document/7220007.

Yuhana UL, Saptarini I, Rochimah S. Portability characteristic evaluationAcademic information System assessment module using AIS Quality Instrument. In: 2nd International Conference on Information Technology, Computer, and Electrical Engineering (ICITACEE) IEEE; 2015. p. 133–137. https://ieeexplore.ieee.org/document/7437785.

IEEE. ISO/IEC/IEEE Standard for Systems and Software Engineering - Software Life Cycle Processes. ISO/IEC/IEEE 12207-2:2020(E) 2008;p. 138. https://www.mendeley.com/search/?page=1&query=ISO%2FIEC%2FIEEE%20Standard%20for%20Systems%20and%20Software%20Engineering%20-%20Software%20Life%20Cycle%20Processes&sortBy=relevance.

PerdomoW, Zapata CW. Software Quality Measures and Their Relationship with the States of the Software System Alpha. Ingeniare 2021;29(2):346–363. https://www.scielo.cl/scielo.php?script=sci_arttext&pid=S0718-33052021000200346&lng=en&nrm=iso&tlng=en.

Rochimah S, Hantriono AI, Akbar RJ, Baskara AR. Application of design patterns and quality measurement on academic information systems. 4th International Conference on Information Technology, Computer, and Electrical Engineering (ICITACEE) 2017;https://ieeexplore.ieee.org/document/8257669.

Gautama IMB, Rochimah S, Akbar RJ. Assessing the Impact of Enterprise Software Design Patterns on Maintainability: A Case Study. In: 1st International Conference on Cybernetics and Intelligent System (ICORIS) Denpasar, Indonesia: IEEE;2019. p. 128–132. https://ieeexplore.ieee.org/document/8874885.

Rochimah S, Nuswantara PG, Akbar RJ. Assessing the Impact of Enterprise Software Design Patterns on Maintainability: A Case Study. In: Electrical Power, Electronics, Communications, Controls and Informatics Seminar (EECCIS) Batu, Indonesia: IEEE; 2018. p. 326–331. https://ieeexplore.ieee.org/document/8692876.

Nazar N, Aleti A, Zheng Y. Feature-based software design pattern detection. Journal of Systems and Software 2022;185:111179. https://www.sciencedirect.com/science/article/pii/S0164121221002624.

Henderson, Sellers. Object-Oriented Metrics: measures of Complexity. Hoboken, New Jersey, U.S.: Prentice-Hall; 1996. https://www.mendeley.com/search/?page=1&query=Object-oriented%20Metrics%3A%20Measures%20of%20Complexity&sortBy=relevance.

Saca MA. Refactoring improving the design of existing code. In: IEEE 37th Central America and Panama Convention IEEE; 2017. p. 1–3. https://ieeexplore.ieee.org/document/8278488.

Suryanarayana G, Samarthyam G, Sharma T. Refactoring for Software Design Smells: Managing Technical Debt. 1st ed. Burlington, Massachusetts: Morgan Kaufmann; 2014. https://www.sciencedirect.com/book/9780128013977/refactoring-for-software-design-smells?via=ihub=.




DOI: http://dx.doi.org/10.12962/j20882033.v35i1.16585

Refbacks

  • There are currently no refbacks.


Creative Commons License

IPTEK Journal of Science and Technology by Lembaga Penelitian dan Pengabdian kepada Masyarakat, ITS is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Based on a work at https://iptek.its.ac.id/index.php/jts.