ANSI/IEEE-1471-2000

ANSI IEEE 1471 2000

ANSI/IEEE-1471-2000, or simply 1471, is the IEEE Recommended Practice for Architectural Description of Software-Intensive Systems. This standard (IEEE 2000a) was developed by an IEEE working group and draws on experience from industry, academia, and other standards bodies. The recommendations of 1471 center on two key ideas: a conceptual framework for architectural description and a statement of what information must be found in any 1471-compliant architectural description.

The conceptual framework described in the standard ties together such concepts as system, architectural description, and view. Figure 11.2 summarizes a portion of this framework in UML.

Figure 11.2. Conceptual framework of ANSI/IEEE-1471-2000. Each box represents a concept, and each line represents an association between two concepts. Each association has two rolesone in each directionalthough both are not always depicted. The role from A to B is depicted closest to B. Multiplicity is optional in this diagram; where identified, it follows the UML convention, whereby 1 means one and 1..* means one or more. Stakeholders play a key role; views conform to viewpoints, which cover stakeholder concerns.

graphics/11fig02.gif

In 1471, as in our work, views have a central role in documenting software architecture. In the standard, each view is "a representation of a whole system from the perspective of a related set of concerns." The architectural description of a system includes one or more views.

In this framework, a view conforms to a viewpoint. A viewpoint is "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." This is very nearly the same as our idea of how a view corresponds to a viewtype.

In 1471, the emphasis is on what drives the perspective of a view or a viewpoint. Viewpoints are defined with specific stakeholder concerns in mind, and the definition of a viewpoint includes a description of any associated analysis techniques. These techniques are meant to produce results that help address the specified stakeholder concerns. We certainly agree with 1471 on this point. A fundamental principle about documentation appearing in the Prologue is that what one should document about a system depends entirely on to what uses one expects the documentation to be put. The documentation roadmap prescribed in Chapter 10 is written precisely to facilitate stakeholder navigation and use.

However, our focus has been to document those viewtypes that we've found in common use and that can be used to address a large number of concerns. We've documented a number of specific viewtypes and provided examples of their use in producing views. Although 1471 does include a few example viewpoints, each is described only briefly, and no example views are provided. This simply reflects a difference in the scope and goals of the two works. However, both works do recognize, if not encourage, the definition of new viewtypes, or viewpoints, to meet specific needs.

Beyond its conceptual framework, 1471 defines what information should be found in any architectural description. Table 11.12 summarizes the information required by the 1471 standard and how we address each in this book.

Table 11.12. 1471 information requirements and how we address them

General Requirement How We Address This Requirement
Identification and overview information, including summary, context, glossary, references, and change history. Several items in this category amount to good bookkeeping. Context is addressed in the context diagrams; the other items are prescribed in the standard organizations of Chapter 10.

Stakeholders and concerns. The standard lists minimum examples that must be addressed for both stakeholders and concerns.

The documentation roadmap called for in Section 10.3.1 captures information about stakeholders and their concernsspecifically, how they will use the documentation package.

Viewpoints. For each viewpoint, the following must be specified:

  • Stakeholders addressed by the viewpoint
  • Concerns addressed by the viewpoint
  • Language, modeling techniques, or analytical techniques to be used
  • Rationale for selection of the viewpoint
Any additional information, such as completeness and correctness checks, evaluation criteria, heuristics, or guidelines may be included.
We define several commonly used viewtypes and styles of those viewtypes. Each defines the conceptselements, relations, and propertiesthat should be used in documenting a system in accordance with the viewtype. Each also contains a section noting what it's for and not for, which should help users in deciding what concerns will be addressed by the viewtype. Chapter 9 provides additional guidance on how to decide which viewtypes to use, including information about stakeholders and concerns.

Views. Each view includes a representation of the system in accordance with the requirements of its viewpoint.

Chapter 10 discusses the information that should be documented for a view.
A record of all inconsistencies among views, preferably accompanied by an analysis of consistency among all views. In Chapter 6, we discuss techniques for documenting relationships among views, which is then recorded in the "documentation beyond views" part of the package as detailed in Chapter 10.
Rationale for the architectural concepts selected, preferably accompanied by evidence of alternatives considered and rationale for the choices made. Reserved spots for rationale are provided in each view, in the documentation beyond views, and in interface specifications.

Software Architectures and Documentation

Part I. Software Architecture Viewtypes and Styles

The Module Viewtype

Styles of the Module Viewtype

The Component-and-Connector Viewtype

Styles of the Component-and-Connector Viewtype

The Allocation Viewtype and Styles

Part II. Software Architecture Documentation in Practice

Advanced Concepts

Documenting Software Interfaces

Documenting Behavior

Choosing the Views

Building the Documentation Package

Other Views and Beyond

Rationale, Background, and Design Constraints

References



Documenting Software Architectures(c) Views and Beyond
Documenting Software Architectures: Views and Beyond
ISBN: 0201703726
EAN: 2147483647
Year: 2005
Pages: 152

Similar book on Amazon

Flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net