IEEE 1471
Encyclopedia
IEEE 1471 is an IEEE Standard for describing the architecture of a software-intensive system, also known as software architecture
.
It has long been recognized that “architecture” has a strong influence over the life cycle of a system. However, until relatively recently, hardware issues have tended to dominate architectural thinking, and software aspect, when considered at all, were often the first to be compromised under the pressures of development. IEEE 1471 was created to provide a basis for thinking about the architecture of software-intensive systems.
The IEEE 1471's contributions can be summarised as follows (in this list, items in italics are terms defined by and used in the standard):
IEEE 1471-2000 provides informative annexes that relate the concepts in IEEE 1471 to architecture concepts in other standards, including RM-ODP
and IEEE 12207.
In 2006, ISO/IEC Joint Technical Committee 1 (JTC1), Information technology/Subcommittee SC 7, Software and systems engineering, adopted the specification as ISO/IEC 42010, under a special “fast-track procedure”, in parallel with its approval by national bodies of ISO and IEC. A coordinated revision of this standard by ISO/IEC JTC1/SC7/WG42 and IEEE CS commenced in 2006, following the successful ISO/IEC fast-track ballot and in line with the IEEE standard 5-year review of the standard.
In November 2011, IEEE 1471-2000 was superseded by ISO/IEC/IEEE 42010:2011
, Systems and software engineering — Architecture description.
Software architecture
The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both...
.
Overview
IEEE 1471 is the short name for a standard formally known as ANSI/IEEE 1471-2000, Recommended Practice for Architecture Description of Software-Intensive Systems. Within IEEE parlance, this is a Recommended Practice, the least normative of the kinds of IEEE standards. In 2007 this standard was adopted by ISO/IEC JTC1/SC7 as ISO/IEC 42010:2007, Systems and Software Engineering -- Recommended practice for architectural description of software-intensive systems.It has long been recognized that “architecture” has a strong influence over the life cycle of a system. However, until relatively recently, hardware issues have tended to dominate architectural thinking, and software aspect, when considered at all, were often the first to be compromised under the pressures of development. IEEE 1471 was created to provide a basis for thinking about the architecture of software-intensive systems.
The IEEE 1471's contributions can be summarised as follows (in this list, items in italics are terms defined by and used in the standard):
- It provides definitions and a meta-model for the description of architectureArchitecture (disambiguation)Architecture is the art and science of designing and constructing buildings and other structure for human use and shelter.Architecture may also refer to:* Architecture , a defunct magazine* Architecture Label, a record label...
- It states that an architecture should address a system's stakeholders concerns
- It asserts that architecture descriptions are inherently multi-viewView modelA view model or viewpoints framework in systems engineering, software engineering, and enterprise engineering is a framework which defines a coherent set of views to be used in the construction of a system architecture, software architecture, or enterprise architecture. A view is a representation...
, no single view adequately captures all stakeholder concerns - It separates the notion of viewViewA view is what can be seen in a range of vision. View may also be used as a synonym of point of view in the first sense. View may also be used figuratively or with special significance—for example, to imply a scenic outlook or significant vantage point:...
from viewpointViewpointViewpoint may refer to:* A camera angle in photography, filmmaking, and other visual arts* Viewpoint model, a computer science technique for making complex systems more comprehensible to human engineers* Viewpoint , shooter video game...
, where a viewpoint identifies the set of concerns and the representations/modeling techniques, etc. used to describe the architecture to address those concerns and a view is the result of applying a viewpoint to a particular system. - It establishes content requirements for architecture descriptions and the idea that a conforming architecture description has a 1-to-1 correspondence between its viewpoints and its views.
- It provides guidance for capturing architecture rationale and identifying inconsistencies/unresolved issues between the views within an architecture description
IEEE 1471-2000 provides informative annexes that relate the concepts in IEEE 1471 to architecture concepts in other standards, including RM-ODP
RM-ODP
Reference Model of Open Distributed Processing is a reference model in computer science, which provides a co-ordinating framework for the standardization of open distributed processing...
and IEEE 12207.
History
In August 1995, the IEEE Software Engineering Standards Committee (SESC) chartered an IEEE Architecture Planning Group (APG) to set direction for incorporating architectural thinking into IEEE standards. In April 1996, the Architecture Working Group (AWG) was created to implement the recommendations made by APG to the SESC. The AWG was chaired by Basil Sherlund, vice-chairs Ronald Wade, David Emery, the specification was edited by Rich Hilliard. The AWG had 25 members. Drafts of the specification were balloted and commented on by 130 international reviewers. In September 2000, the IEEE-SA Standards Board approved the specification as IEEE Std 1471-2000.In 2006, ISO/IEC Joint Technical Committee 1 (JTC1), Information technology/Subcommittee SC 7, Software and systems engineering, adopted the specification as ISO/IEC 42010, under a special “fast-track procedure”, in parallel with its approval by national bodies of ISO and IEC. A coordinated revision of this standard by ISO/IEC JTC1/SC7/WG42 and IEEE CS commenced in 2006, following the successful ISO/IEC fast-track ballot and in line with the IEEE standard 5-year review of the standard.
In November 2011, IEEE 1471-2000 was superseded by ISO/IEC/IEEE 42010:2011
ISO/IEC 42010
ISO/IEC/IEEE 42010 Systems and software engineering — Architecture description is an international standard for architecture descriptions of systems and software.-Overview:...
, Systems and software engineering — Architecture description.
The purpose of an architecture description
According to IEEE 1471 an architecture description can be used for the following:- Expression of the system and its evolution
- Communication among the system stakeholders
- Evaluation and comparison of architectures in a consistent manner
- Planning, managing, and executing the activities of system development
- Expression of the persistent characteristics and supporting principles of a system to guide acceptable change
- Verification of a system implementation’s compliance with an architectural description
- Recording contributions to the body of knowledge of software-intensive systems architecture
IEEE Terminology related to software architecture
According to IEEE Standard Glossary of Software Engineering Terminology the following definitions are used:- architect: The person, team, or organization responsible for designing systems architecture.
- architectural description (AD): A collection of products to document an architecture.
- architecture: The fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution.
- designing: The activities of defining, documenting, maintaining, improving, and certifying proper implementation of an architecture.
- system: A collection of components organized to accomplish a specific function or set of functions. The term system encompasses individual applications, systems in the traditional sense, subsystems, systems of systems, product lines, product families, whole enterprises, and other aggregations of interest.
- system stakeholder: An individual, team, or organization (or classes thereof) with interests in, or concerns relative to, a system.
- view: A representation of a whole system from the perspective of a related set of concerns.
- viewpoint: A specification of the conventions for constructing and using a view. A pattern or template from which to develop individual views by establishing the purposes and audience for a view and the techniques for its creation and analysis.
IEEE Conceptual Framework for Architecture Description
IEEE 1471 uses the following conceptual framework.- A system’s environment, or context, can influence that system. The environment can include other systems that interact with the system of interest, either directly via interfaces or indirectly in other ways. The environment determines the boundaries that define the scope of the system of interest relative to other systems.
- A system has one or more stakeholders. Each stakeholder typically has interests in, or concerns relative to, that system.
- Concerns are those interests which pertain to the system’s development, its operation or any other aspects that are critical or otherwise important to one or more stakeholders. Concerns include system considerations such as performance, reliability, security, distribution, and evolvability.
- A system exists to fulfill one or more missions in its environment. A mission is a use or operation for which a system is intended by one or more stakeholders to meet some set of objectives.
- Every system has an architecture, whether understood or not; whether recorded or conceptual. An architecture can be recorded by an architectural description.
- An architectural description is organized into one or more constituents called (architectural) views. Each view addresses one or more of the concerns of the system stakeholders. A view is a partial expression of a system’s architecture with respect to a particular viewpoint.
- A viewpoint establishes the conventions by which a view is created, depicted and analyzed. In this way, a view conforms to a viewpoint. The viewpoint determines the languages (including notations, model, or product types) to be used to describe the view, and any associated modeling methods or analysis techniques to be applied to these representations of the view. These languages and techniques are used to yield results relevant to the concerns addressed by the viewpoint.
- An architectural description selects one or more viewpoints for use. The selection of viewpoints is typically based on consideration of the stakeholders to whom the AD is addressed and their concerns. A viewpoint definition may originate with an AD, or it may have been defined elsewhere (a library viewpoint).
- A view may consist of one or more architectural models. Each such architectural model is developed using the methods established by its associated architectural viewpoint. An architectural model may participate in more than one view.
Conformance to the IEEE 1471
IEEE 1471 defines a set of normative requirements for conforming architecture descriptions, including the following:- AD identification, version, and overview information (clause 5.1)
- Identification of the system stakeholders and their concerns judged to be relevant to the architecture (clause 5.2)
- Specifications of each viewpoint that has been selected to organize the representation of the architecture and the rationale for those selections (clause 5.3)
- One or more architectural views (clause 5.4)
- A record of all known inconsistencies among the architectural description’s required constituents (clause 5.5)
- A rationale for selection of the architecture (clause 5.6)
See also
- Software architecture views
- Enterprise Architecture Framework
- View modelView modelA view model or viewpoints framework in systems engineering, software engineering, and enterprise engineering is a framework which defines a coherent set of views to be used in the construction of a system architecture, software architecture, or enterprise architecture. A view is a representation...
External links
- IEEE 1471 website
- MEGAF is an infrastructure for realizing architecture frameworks that conform to the definition of architecture framework provided in the ISO/IEC 42010 standard.