On architectural stability and evolution

48Citations
Citations of this article
39Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Many organizations are now pursuing software architecture as a way to control their software development and evolution costs and challenges. A software architecture describes a system’s structure and global properties and thus determines not only how the system should be constructed but also guides its evolution. An important challenge is to be able to evaluate the “goodness” of a proposed architecture. I suggest stability or resilience as a primary criterion for evaluating an architecture. The stability of an architecture is a measure of how well it accommodates the evolution of the system without requiring changes to the architecture. As opposed to traditional predictive approaches to architecture evaluation, I suggest retrospective analysis for evaluating architectural stability by examining the amount of change applied in successive releases of a software product. I review the results of a case study of twenty releases of a telecommunication software system containing a few million lines of code to show how retrospective analysis may be performed.

Cite

CITATION STYLE

APA

Jazayeri, M. (2002). On architectural stability and evolution. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 2361, pp. 13–23). Springer Verlag. https://doi.org/10.1007/3-540-48046-3_2

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free