Extensibility
• Technical Report
Publisher
Software Engineering Institute
CMU/SEI Report Number
CMU/SEI-2022-TR-002DOI (Digital Object Identifier)
10.1184/R1/18863639Topic or Tag
Abstract
This report summarizes how to systematically analyze a software architecture with respect to a quality attribute requirement of extensibility. The report introduces extensibility and common forms of extensibility requirements for software architectures. It provides a set of definitions, core concepts, and a framework for reasoning about extensibility and satisfaction (or not) of extensibility 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 extensibility 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, to determine whether the architectural decisions made contain serious risks relative to extensibility 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.
Part of a Collection
Early Analysis of Software Architecture
Cite This Technical Report
Kazman, R., Echeverría, S., & Ivers, J. (2022, April 6). Extensibility. (Technical Report CMU/SEI-2022-TR-002). Retrieved December 26, 2024, from https://doi.org/10.1184/R1/18863639.
@techreport{kazman_2022,
author={Kazman, Rick and Echeverría, Sebastián and Ivers, James},
title={Extensibility},
month={{Apr},
year={{2022},
number={{CMU/SEI-2022-TR-002},
howpublished={Carnegie Mellon University, Software Engineering Institute's Digital Library},
url={https://doi.org/10.1184/R1/18863639},
note={Accessed: 2024-Dec-26}
}
Kazman, Rick, Sebastián Echeverría, and James Ivers. "Extensibility." (CMU/SEI-2022-TR-002). Carnegie Mellon University, Software Engineering Institute's Digital Library. Software Engineering Institute, April 6, 2022. https://doi.org/10.1184/R1/18863639.
R. Kazman, S. Echeverría, and J. Ivers, "Extensibility," Carnegie Mellon University, Software Engineering Institute's Digital Library. Software Engineering Institute, Technical Report CMU/SEI-2022-TR-002, 6-Apr-2022 [Online]. Available: https://doi.org/10.1184/R1/18863639. [Accessed: 26-Dec-2024].
Kazman, Rick, Sebastián Echeverría, and James Ivers. "Extensibility." (Technical Report CMU/SEI-2022-TR-002). Carnegie Mellon University, Software Engineering Institute's Digital Library, Software Engineering Institute, 6 Apr. 2022. https://doi.org/10.1184/R1/18863639. Accessed 26 Dec. 2024.
Kazman, Rick; Echeverría, Sebastián; & Ivers, James. Extensibility. CMU/SEI-2022-TR-002. Software Engineering Institute. 2022. https://doi.org/10.1184/R1/18863639