search menu icon-carat-right cmu-wordmark

Maintainability

Technical Report
This report summarizes how to systematically analyze a software architecture with respect to a quality attribute requirement for maintainability.
Publisher

Software Engineering Institute

CMU/SEI Report Number
CMU/SEI-2020-TR-006
DOI (Digital Object Identifier)
10.1184/R1/12954908

Abstract

This report summarizes how to systematically analyze a software architecture with respect to a quality attribute requirement for maintainability. The report introduces maintainability and common forms of maintainability requirements for software architectures. It provides a set of definitions, core concepts, and a framework for reasoning about maintainability and the satisfaction (or not) of maintainability requirements by an architecture and, eventually, a system. It describes a set of mechanisms, such as patterns and tactics, that are commonly used to satisfy maintainability requirements. It also provides a method by which an analyst can determine whether an architecture documentation package provides enough information to support analysis and, if so, determine whether the architectural decisions contain serious risks relative to maintainability requirements. An analyst can use this method to determine whether those requirements, represented as a set of scenarios, have been sufficiently well specified to support the needs of analysis. The reasoning around this quality attribute should allow an analyst, armed with appropriate architectural documentation, to assess the risks inherent in today’s architectural decisions in light of tomorrow’s anticipated needs.

Cite This Technical Report

Kazman, R., Bianco, P., Ivers, J., & Klein, J. (2020, December 1). Maintainability. (Technical Report CMU/SEI-2020-TR-006). Retrieved April 19, 2024, from https://doi.org/10.1184/R1/12954908.

@techreport{kazman_2020,
author={Kazman, Rick and Bianco, Philip and Ivers, James and Klein, John},
title={Maintainability},
month={Dec},
year={2020},
number={CMU/SEI-2020-TR-006},
howpublished={Carnegie Mellon University, Software Engineering Institute's Digital Library},
url={https://doi.org/10.1184/R1/12954908},
note={Accessed: 2024-Apr-19}
}

Kazman, Rick, Philip Bianco, James Ivers, and John Klein. "Maintainability." (CMU/SEI-2020-TR-006). Carnegie Mellon University, Software Engineering Institute's Digital Library. Software Engineering Institute, December 1, 2020. https://doi.org/10.1184/R1/12954908.

R. Kazman, P. Bianco, J. Ivers, and J. Klein, "Maintainability," Carnegie Mellon University, Software Engineering Institute's Digital Library. Software Engineering Institute, Technical Report CMU/SEI-2020-TR-006, 1-Dec-2020 [Online]. Available: https://doi.org/10.1184/R1/12954908. [Accessed: 19-Apr-2024].

Kazman, Rick, Philip Bianco, James Ivers, and John Klein. "Maintainability." (Technical Report CMU/SEI-2020-TR-006). Carnegie Mellon University, Software Engineering Institute's Digital Library, Software Engineering Institute, 1 Dec. 2020. https://doi.org/10.1184/R1/12954908. Accessed 19 Apr. 2024.

Kazman, Rick; Bianco, Philip; Ivers, James; & Klein, John. Maintainability. CMU/SEI-2020-TR-006. Software Engineering Institute. 2020. https://doi.org/10.1184/R1/12954908