Glossary

Actors the other elements, users, or systems with which an element interacts.

Allocation style a kind of style that describes the mapping of software units to elements of an environment in which the software is developed or executes.

Architectural (architecture) pattern “an architectural pattern expresses a fundamental structural organization schema for software systems. It provides a set of predefined subsystems, specifies their responsibilities, and includes rules and guidelines for organizing the relationships between them” (Buschmann et al. 1996, page 12).

Architecture cartoon the graphical portion of a view’s primary presentation, without supporting documentation.

Architecture description language (ADL) a language for representing a software and/or system architecture. ADLs are usually graphical languages that provide semantics that enable analysis and reasoning about architectures, often using associated tools.

Architecture framework “conventions and common practices for architecture description established within a specific domain or stakeholder community” (ISO/IEC 42010:2007). TOGAF and DoDAF are examples of architecture frameworks.

Architecture perspective “a collection of activities, tactics, and guidelines that are used to ensure that a system exhibits a particular set of related quality properties that require consideration across a number of the system’s architectural views” (Rozanski and Woods 2005).

Architecture stakeholder someone who has a vested interest in the architecture.

Architecture style specialization of element and relation types, together with a set of constraints on how they can be used.

Bridging element an element that is common to two views and is used to provide the continuity of understanding from one view to the other. A bridging element appears in both views and has supporting documentation, usually a mapping between views, that makes the correspondence clear, perhaps by showing the combined picture.

Combined view a view that contains elements and relations that come from two or more other views.

Communicating-processes style any C&C style whose components can execute as independent processes.

Component-and-connector (C&C) style a kind of style that introduces a specific set of component and connector types and specifies rules about how elements of those types can be combined. Additionally, given that C&C views capture runtime aspects of a system, a C&C style is typically also associated with a computational model that prescribes how data and control flow through systems designed in that style.

Components the principal computational elements and data stores that execute in a system.

Connector a runtime pathway of interaction between two or more components.

Context diagram a representation that defines the boundary between a system (or part of a system under consideration) and its environment, showing the entities in its environment with which it interacts.

Data integrity a property ensuring consistency and accuracy of the data shared across all applications in a system.

Decomposition refinement a refinement in which a single element is elaborated to reveal its internal structure. Each member of that internal structure may be recursively refined.

Dependency structure matrix (DSM) a table that shows modules as the row and column headers; a cell is nonzero if and only if there is a dependency between the row’s module and the column’s module.

Descriptive completeness a property of architecture documentation; a document has descriptive completeness if it documents all elements and relations in the system that are in the documentation’s scope.

Dynamic architecture an architecture in which architecture variation points are exercised at runtime.

Element an architecture building block native to a style. An element can be a module, a component or connector, or an element in the environment of the system whose architecture we are documenting. The description of an element tells what role it plays in an architecture, lists its important properties, and furnishes guidelines for effective documentation of the element in a view.

Entity in a data model, a particular instance of an entity set or entity type (for example, Earth is an entity of entity set Planet).

Filter a component in the pipe-and-filter style that transforms data read on its input ports to data written on its output ports. Filters typically execute concurrently and incrementally.

Framework a framework is an abstraction in which common code providing generic functionality can be selectively overridden or specialized by user code providing specific functionality. See also architecture framework.

Hierarchical element any kind of element that can consist of like-kind elements. A module is a hierarchical element because modules consist of submodules, which are themselves modules. A task or a process is not a hierarchical element.

Hybrid style the combination of two or more existing styles. Hybrid styles, when applied to a particular system, produce views.

Implementation inheritance the definition of a new implementation based on one or more previously defined implementations. The new implementation is usually a modification of the ancestors’ behavior.

Implementation refinement a refinement in which some or all of the elements and relations are replaced by other, more implementation-specific, elements and relations.

Interface a boundary across which two elements meet and interact or communicate with each other.

Interface document a specification of what an architect chooses to make publicly known about an element in order for other entities to interact or communicate with it.

Interface inheritance the definition of a new interface based on one or more previously defined interfaces. The new interface is usually a subset of the ancestors’ interface(s).

Layer a grouping of modules that together offer a cohesive set of services to other layers. The layers are related to each other by the strictly ordered relation allowed to use.

Module an implementation unit of software that provides a coherent set of responsibilities.

Module style a kind of style that introduces a specific set of module types and specifies rules about how elements of those types can be combined.

Overlay a combination of the primary presentations of two or more views followed by supporting documentation for that combined primary presentation.

Pipe a connector in the pipe-and-filter style that conveys streams of data from the output port of one filter to the input port of another filter without changing values or the order of the data.

Port an interface of a component. A port defines a point of interaction of a component with its environment.

Property additional information about elements and relations. When an architect documents a view based on that style, the properties will be given values. Property values are often used to analyze an architecture for its ability to meet quality attribute requirements.

Question set questions that collectively address a narrowly focused purpose for an architecture document review. Besides the questions themselves, a question set contains information to allow a user to ensure the question set is appropriate and to use it effectively. This information includes the name, purpose, stakeholders and concerns, respondents, expected answers, criticality, and advice.

Rationale an explanation of the reasoning that lies behind an architecture decision.

Refinement the process of gradually disclosing information across a series of descriptions.

Relation a definition of how elements cooperate to accomplish the work of the system. The description of a relation names the relations among elements and provides rules on how elements can and cannot be related.

Resource a function, method, data stream, global variable, message end point, event trigger, or any addressable facility within an interface.

Responsibility a general statement about an architecture element and what it is expected to contribute to the architecture. This might include the actions that it performs, the knowledge it maintains, or the role it plays in achieving the system’s overall quality attributes or functionality.

Role an interface of a connector. A role defines a point of interaction of a connector and indicates how components may use a connector in interactions.

Software architecture the set of structures needed to reason about the system, which comprises software elements, relations among them, and properties of both.

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.

Specialization a style is a specialization of another style if it is consistent with that style—that is, doesn’t violate it—and adds more constraints to its element types, relation types, and/or topological restrictions.

Stakeholder see architecture stakeholder.

Stereotype a type of modeling element in UML that extends the semantics of the metamodel. Stereotypes must be based on certain existing types or classes of the metamodel. Stereotypes may extend the semantics but not the structure of preexisting types and classes. Certain stereotypes are predefined in UML; others may be user defined.

Style guide the description of an architecture style that specifies the vocabulary of design (sets of element and relationship types) and the rules (sets of topological and semantic constraints) for how that vocabulary can be used.

Substyle a specialization of another style if it is consistent with that style—that is, doesn’t violate it—and adds more constraints to its element types, relation types, and/or topological restrictions.

Subsystem a part of a system that (1) carries out a functionally cohesive subset of the overall system’s mission, (2) can be executed independently, and (3) can be developed and deployed incrementally.

System a collection of entities (elements, components, models, and so forth) that are organized for a common purpose.

System of interest ISO 42010 defines “system of interest” as encompassing “individual applications, systems in the traditional sense, subsystems, systems of systems, product lines, product families, whole enterprises, and other aggregations of interest.”

Tier a mechanism for system partitioning. Usually applied to client-server-based systems, where the various parts (tiers) of the system (user interface, database, business application logic, and so forth) execute on different platforms.

Top-level context diagram a context diagram in which the scope is the entire system.

Topology a definition of constraints on how elements and relations can be associated in a particular style.

Unified Modeling Language (UML) a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software system.

Uses relation a form of dependency that exists between two modules. A uses B if the correctness of A depends on the presence of a correct implementation of B.

Variability the ability quickly to achieve change in preplanned ways.

Variability guide the place in an architecture document that explains what variation points have been designed into the architecture and gives advice about how to exercise them.

Variation mechanism a built-in software mechanism for making a change that, when exercised, results in a new instance of the architecture. The place where a variation mechanism occurs marks a variation point.

Variation point a place in the architecture where a specific kind of flexibility has been built in.

View a representation of a set of system elements and relations among them.

View packet the smallest bundle of view documentation you would show an individual stakeholder, such as a developer assigned to implement a small portion of the system or a customer interested in an overview.

Viewpoint ISO 42010 defines a viewpoint as a work product establishing the conventions for the construction, interpretation, and use of architecture views and associated architecture models.

Virtual machine sometimes called an abstract machine, a collection of modules that form an isolated cohesive set of services that can execute programs.

Wiki a collection of Web pages designed to enable anyone with access to contribute or modify content, using a simplified markup language.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset