February 2020 • Technical Report
Rick Kazman, Philip Bianco, James Ivers, John Klein
This report summarizes how to systematically analyze a software architecture with respect to a quality attribute requirement for integrability.
Software Engineering Institute
CMU/SEI Report Number
DOI (Digital Object Identifier):10.1184/R1/12363779.v1
This report summarizes how to systematically analyze a software architecture with respect to a quality attribute requirement for integrability. The report introduces integrability and common forms of integrability requirements for software architecture. It provides a set of definitions, core concepts, and a framework for reasoning about integrability and satisfaction (or not) of integrability 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 integrability 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 integrability 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.