Ensuring software maintainability at software architecture level using architectural patterns

Document Type : Original Article

Authors

1 Department of Engineering, Ilam University

2 Department of Mathematics and Computer Science, Amirkabir University of Technology (Tehran Polytechnic), Tehran, Iran

10.22060/ajmc.2021.19232.1044

Abstract

Software architecture is known to be an effective tool with regards to improving software quality attributes.
Many quality attributes such as maintainability are architecture dependent, and as such, using an appropriate architecture is essential in providing a sound foundation for the development of highly maintainable software systems.
An effective way to produce a well-built architecture is to utilize standard architectural patterns.
Although the use of a particular architectural pattern cannot have a preserving effect on software maintainability, the mere conformance of a system to any architecture cannot guarantee the system's high maintainability.
The use of an inappropriate architecture can seriously undermine software maintainability at lower levels.
In this article, the effect of standard architectural patterns on software maintainability quality attributes is investigated.
We develop a quality model for maintainability quality attributes, which is later used to compare various standard architectural patterns.
We finish by investigating two real-world experiences regarding the application of a particular pattern to two different existing architectures, exploring the effect of the change in architecture on maintainability quality attributes.

Keywords

Main Subjects


Volume 2, Issue 1
Winter and Spring 2021
Pages 81-102
  • Receive Date: 07 November 2020
  • Revise Date: 28 January 2021
  • Accept Date: 28 January 2021