IEEE 1471 is a superseded IEEE standard for describing the architecture of a "software-intensive system", also known as software architecture.
In 2011 it was superseded by ISO/IEC/IEEE 42010, Systems and software engineering — Architecture description.
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 Institute of Electrical and Electronics Engineers (IEEE) parlance, this is a "recommended practice", the least normative of its 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 aspects, 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.
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 architecture It states that an architecture should address a system's stakeholders concerns It asserts that architecture descriptions are inherently multi-view, no single view adequately captures all stakeholder concerns It specifies the notions of view and viewpoint, 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 provides informative annexes that relate its concepts to architecture concepts in other standards, including RM-ODP 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 and ISO/IEC 42010:2007 was superseded by ISO/IEC/IEEE 42010:2011, Systems and software engineering — Architecture description.
Purpose
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