| Active Reviews for
Intermediate Designs (ARID) |
A method for performing a
scenario-based stakeholder-centric review of a portion of an architecture that
is typically a coherent software-invocable service. The review is focused on
whether the design is sufficient for the developers of that software that will
use it.
|
| Architecture description
language (ADL) |
A language (graphical, textual,
or both) for describing a software system in terms of its architectural
elements and the relationships among them.
|
| Architectural
drivers |
The combination of functional,
quality attribute, and business requirements that "shape" the architecture or
the particular element under consideration.
|
| Architectural
pattern |
A description of element
and relation types together with a set of constraints on how they are
used. The term architectural style has also been widely used to describe
it.
|
| Architectural
style |
A specialization of
element and relation types, together with a set of
constraints on how they can be used. See architectural
pattern.
|
| Architecture Tradeoff
Analysis Method (ATAM) |
A method to assess the
consequences of architectural decisions in light of quality attribute
requirements and business goals. The ATAM helps stakeholders ask the right
questions to discover potentially problematic architectural
decisions.
|
| Attribute-Driven Design (ADD)
Method |
An approach to defining a
software architecture by basing the design process on the quality attribute
requirements of the system. The ADD method enables designers to understand
quality attribute tradeoffs early in the design process.
|
| Component |
The principal computational
element and data store that execute in a system. See also
module.
|
| Connector |
A runtime pathway of interaction
between two or more components.
|
| Constraint |
A requirement for which the
design decisions are prespecified.
|
| Cost Benefit Analysis Method
(CBAM) |
A method for doing
architecture-based economic analyses of software intensive systems. The aim of
the CBAM is to explicitly associate costs, benefits, and uncertainty with
architectural decisions, as a means of optimizing the choice of such
decisions.
|
| Detailed
design |
A term people sometimes use to
mean detailed architectural design -- that is, architectural design of
fine-grained elements, or fine-grained architectural design decisions such as
the precise interface of an element -- and sometimes used to mean
non-architectural design.
|
| Element |
The architectural building block
(component, connector, or module) that is native to a
style.
|
| Enterprise
architecture |
A means for describing business
structures and processes that connect business structures.
|
| Interface |
See software
interface.
|
| Interface
specification |
A statement of what an architect
chooses to make known about an element in order for other entities to interact
or communicate with it.
|
| Layer |
A collection of code that forms
a virtual machine and that interacts with other layers only according to
predefined roles under the relation "allowed to use".
|
| Module |
An implementation unit of
software that provides a coherent unit of functionality.
|
| Non-architectural
design |
Design decisions carried out
subsequent to the architecture. The design of a software system comprises many
design decisions. Architectural design decisions are those made by the software
architect to insure that the system meets its functional, behavioral, and
quality attribute goals. However, the architect leaves many design decisions to
downstream designers and implementors because those decisions are either
constrained sufficiently by the architecture, or because they are not critical
to achieving the system's requirements. For more information, read Whats the Difference Between
Architecture and Design?.
|
| Quality
attribute |
A property of a work product or
goods by which its quality will be judged by some stakeholder or stakeholders.
Quality attribute requirements such as those for performance, security,
modifiability, reliability, and usability have a significant influence on the
software architecture of a system.
|
| Quality attribute
scenario |
See
scenario.
|
| Quality Attribute Workshop
(QAW) |
A method that engages system
stakeholders early in the life cycle to discover the driving quality attribute
requirements of a software-intensive system. The QAW is aimed at eliciting,
collecting, and organizing software quality attribute requirements in the form
of scenarios. The QAW is used before the software architecture has been
created.
|
| Reference
architecture |
A reference model that is
mapped onto software elements that implements the functionality defined in the
reference model.
|
| Reference
model |
A division of functionality into
elements together with the data flow between those
elements.
|
| Relation |
A definition of how
elements cooperate to accomplish the work of a system.
|
| Scenarios |
"Short stories" that describe a
system interaction with respect to some quality attribute. Typically, the focus
would be on three kinds of scenarios: use case - anticipated uses of the
system, growth - anticipated changes to the system, and exploratory -
unanticipated stresses to the system (uses and/or changes).
|
| Sensitivity
point |
A property of one or more
components (and/or component relationships) that is critical for achieving a
particular quality attribute response. Sensitivity points are places in a
specific architecture to which a specific response measure is particularly
"sensitive" (that is, a little change is likely to have a large impact). Unlike
tactics, sensitivity points are properties of a specific
system.
|
| Software
architecture |
The structure or structures of a
system, which comprise the software elements, the externally visible properties
of those elements, and the relationships among them.
|
| Software
interface |
A boundary across which two
independent entities meet, and interact or communicate with each
other.
|
| Software Product
Line |
A set of software-intensive
systems sharing a common, managed set of features that satisfy the specific
needs of a particular market segment or mission and that are developed from a
common set of reusable core assets in a prescribed way.
|
| Stakeholder |
Someone who has a vested
interest in an architecture.
|
| Style |
See architectural
style.
|
| System
architecture |
A means for describing the
elements and interactions of a complete system including its hardware
elements and its software elements.
|
| Tactic |
A design decision that is
influential in the control of a quality attribute response. Tactics tell you
what to do in order to affect a quality attribute response measure. Unlike
sensitivity points, tactics are independent of any specific system.
|
| Tradeoff |
A property that affects more
than one attribute and is a sensitivity point for more than one
attribute.
|
| Utility tree |
A top-down vehicle for
characterizing the "driving" attribute-specific requirements where nodes
represent important quality goals and leaves represent scenarios.
|
| View |
A representation of a set of
system elements and the relationships among them. A view shows a particular
perspective of the system (e.g., code units, runtime elements) and may show
just part or the entire system. A set of viewsnot a single
oneconvey the architecture.
|
| Views-and-beyond
|
An approach for documentation
that holds that documenting a software architecture is a matter of documenting
the relevant views, and then adding information that applies to more than one
view.
|
| Viewtype |
A category of views. In the
SEI's Views-and-Beyond approach to architecture documentation, three viewtypes
are identified: the module viewtype includes views whose elements are
modules; the C&C viewtype includes views whose elements are
components and connectors; and the allocation viewtype includes
views that show allocation of software to structures in the software system's
environment.
|