Document Type : Original Article
Department of Engineering, Ilam University
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.