IEEE 1471

From Wikipedia, the free encyclopedia

Jump to: navigation, search

IEEE 1471 is an IEEE Standard for the architecture of a software-intensive system, also known as software architecture or system architecture.

Contents

[edit] 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 [1]

It has long been recognized that “architecture” has a strong influence over the life cycle of a system but it were the hardware-related architectural aspects that were dominant, whereas software-related architectural integrity, when it existed, often was to be sacrificed first in the course of system development[1]. IEEE has established the normative conceptual framework for architectural description.

The IEEE 1471's 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 exists to address to specific stakeholder concerns
  • It asserts that architecture descriptions are inherently multi-view, no single view captures all stakeholder concerns
  • It separates the notion of view from viewpoint, where a viewpoint identifies the set of concerns and the representations/modeling techniques, etc. used to describe the architecture to address those concerns.
  • It establishes that a conforming architecture description has a 1-to-1 correspondence between its viewpoints and its views.
  • It provides for capturing rationale and inconsistencies/unresolved issues between the views within a single architecture description

The current standard provides informative annexes that relate the concepts in IEEE 1471 to architecture concepts in some other standards, including RM-ODP.

[edit] History

In August 1995 IEEE Software Engineering Standards Committee (SESC) has 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 of the SESC. The AWG was chaired by Basil Sherlund, vice-chairs Ronald Wade, David Emery, the specification was edited by Rich Hillard. The AWG had 25 members. In September 2000, the IEEE-SA Standards Board has approved this specification as IEEE Std 1471-2000

In 2005 Joint Technical Committee ISO/IEC JTC 1, Information technology, Subcommittee SC 7, Software and systems engineering has adopted this 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.

[edit] The purpose of an architecture description

According to IEEE 1471[1][2][3] 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

[edit] IEEE Terminology related to software architecture

According to IEEE Standard Glossary of Software Engineering Terminology[4] the following definitions are used:

  • architect: The person, team, or organization responsible for systems architecture.
  • architecting': The activities of defining, documenting, maintaining, improving, and certifying proper implementation of an 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.
  • 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.

[edit] IEEE Conceptual Framework for Architecture Description

Illustration of the conceptual framework for Architecture Description.

IEEE 1471 uses the following conceptual framework [1][2][5].

  1. 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.
  2. A system has one or more stakeholders. Each stakeholder typically has interests in, or concerns relative to, that system.
  3. 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.
  4. 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.
  5. Every system has an architecture, whether understood or not; whether recorded or conceptual. An architecture can be recorded by an architectural description.
  6. 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.
  7. 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.
  8. 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).
  9. 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.

[edit] Conformance to the IEEE 1471

IEEE 1471[1] 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)

[edit] See also

[edit] References

[edit] External links

Personal tools
Languages