Ensuring software maintainability at software architecture level using architectural patterns

Document Type : Original Article


1 Department of Engineering, Ilam University

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



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.


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