ISO/IEC 42010:2007
(Main)Systems and software engineering — Recommended practice for architectural description of software-intensive systems
Systems and software engineering — Recommended practice for architectural description of software-intensive systems
ISO/IEC 42010:2007 addresses the activities of the creation, analysis and sustainment of architectures of software-intensive systems, and the recording of such architectures in terms of architectural descriptions. ISO/IEC 42010:2007 establishes a conceptual framework for architectural description and defines the content of an architectural description. Annexes provide the rationale for key concepts and terminology, the relationships to other standards, and examples of usage.
Ingénierie des logiciels et des systèmes — Pratique recommandée pour la description architecturale des systèmes exigeant beaucoup de logiciels
General Information
Relations
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 42010
IEEE
Std 1471-2000
First edition
2007-07-15
Systems and software engineering —
Recommended practice for architectural
description of software-intensive
systems
Ingénierie des logiciels et des systèmes — Pratique recommandée pour
la description architecturale des systèmes exigeant beaucoup de
logiciels
Reference number
ISO/IEC 42010:2007(E)
IEEE
Std 1471-2000
---------------------- Page: 1 ----------------------
ISO/IEC 42010:2007(E)
IEEE Std 1471-2000
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.
ISO
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
ii
---------------------- Page: 2 ----------------------
IEEE Std 1471-2000
IEEE Recommended Practice for
Architectural Description of
Software-Intensive Systems
Sponsor
Software Engineering Standards Committee
of the
IEEE Computer Society
Approved 21 September 2000
IEEE-SA Standards Board
Abstract: This recommended practice addresses the activities of the creation, analysis, and sus-
tainment of architectures of software-intensive systems, and the recording of such architectures in
terms of architectural descriptions. A conceptual framework for architectural description is estab-
lished. The content of an architectural description is defined. Annexes provide the rationale for key
concepts and terminology, the relationships to other standards, and examples of usage.
Keywords: architectural description, architecture, software-intensive system, stakeholder con-
cerns, system stakeholder, view, viewpoint
The Institute of Electrical and Electronics Engineers, Inc.
3 Park Avenue, New York, NY 10016-5997, USA
Copyright © 2000 by the Institute of Electrical and Electronics Engineers, Inc.
All rights reserved. Published 9 October 2000. Printed in the United States of America.
Print: ISBN 0-7381-2518-0 SH94869
PDF: ISBN 0-7381-2519-9 SS94869
No part of this publication may be reproduced in any form, in an electronic retrieval system or otherwise, without the prior
written permission of the publisher.
---------------------- Page: 3 ----------------------
ISO/IEC 42010:2007(E)
IEEE Std 1471-2000
International Standard ISO/IEC 42010:2007(E)
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are members of
ISO or IEC participate in the development of International Standards through technical committees
established by the respective organization to deal with particular fields of technical activity. ISO and IEC
technical committees collaborate in fields of mutual interest. Other international organizations, governmental
and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information
technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of the joint technical committee is to prepare International Standards. Draft International
Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as
an International Standard requires approval by at least 75 % of the national bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
ISO/IEC 42010 was prepared by IEEE (as IEEE Std 1471-2000) and was adopted, under a special “fast-track
procedure”, by Joint Technical Committee ISO/IEC JTC 1, Information technology, Subcommittee SC 7,
Software and systems engineering, in parallel with its approval by national bodies of ISO and IEC. The IEEE
Computer Society will cooperate in the maintenance of this International Standard as a Category A liaison to
SC 7.
International Organization for Standardization/International Electrotechnical Commission
Case postale 56 • CH-1211 Genève 20 • Switzerland
---------------------- Page: 4 ----------------------
IEEE Standards documents are developed within the IEEE Societies and the Standards Coordinating Com-
mittees of the IEEE Standards Association (IEEE-SA) Standards Board. Members of the committees serve
voluntarily and without compensation. They are not necessarily members of the Institute. The standards
developed within IEEE represent a consensus of the broad expertise on the subject within the Institute as
well as those activities outside of IEEE that have expressed an interest in participating in the development of
the standard.
Use of an IEEE Standard is wholly voluntary. The existence of an IEEE Standard does not imply that there
are no other ways to produce, test, measure, purchase, market, or provide other goods and services related to
the scope of the IEEE Standard. Furthermore, the viewpoint expressed at the time a standard is approved and
issued is subject to change brought about through developments in the state of the art and comments
received from users of the standard. Every IEEE Standard is subjected to review at least every five years for
revision or reaffirmation. When a document is more than five years old and has not been reaffirmed, it is rea-
sonable to conclude that its contents, although still of some value, do not wholly reflect the present state of
the art. Users are cautioned to check to determine that they have the latest edition of any IEEE Standard.
Comments for revision of IEEE Standards are welcome from any interested party, regardless of membership
affiliation with IEEE. Suggestions for changes in documents should be in the form of a proposed change of
text, together with appropriate supporting comments.
Interpretations: Occasionally questions may arise regarding the meaning of portions of standards as they
relate to specific applications. When the need for interpretations is brought to the attention of IEEE, the
Institute will initiate action to prepare appropriate responses. Since IEEE Standards represent a consensus of
all concerned interests, it is important to ensure that any interpretation has also received the concurrence of a
balance of interests. For this reason, IEEE and the members of its societies and Standards Coordinating
Committees are not able to provide an instant response to interpretation requests except in those cases where
the matter has previously received formal consideration.
Comments on standards and requests for interpretations should be addressed to:
Secretary, IEEE-SA Standards Board
445 Hoes Lane
P.O. Box 1331
Piscataway, NJ 08855-1331
USA
Note: Attention is called to the possibility that implementation of this standard may
require use of subject matter covered by patent rights. By publication of this standard,
no position is taken with respect to the existence or validity of any patent rights in
connection therewith. The IEEE shall not be responsible for identifying patents for
which a license may be required by an IEEE standard or for conducting inquiries into
the legal validity or scope of those patents that are brought to its attention.
IEEE is the sole entity that may authorize the use of certification marks, trademarks, or other designations to
indicate compliance with the materials set forth herein.
Authorization to photocopy portions of any individual standard for internal or personal use is granted by the
Institute of Electrical and Electronics Engineers, Inc., provided that the appropriate fee is paid to Copyright
Clearance Center. To arrange for payment of licensing fee, please contact Copyright Clearance Center, Cus-
tomer Service, 222 Rosewood Drive, Danvers, MA 01923 USA; (978) 750-8400. Permission to photocopy
portions of any individual standard for educational classroom use can also be obtained through the Copy-
right Clearance Center.
---------------------- Page: 5 ----------------------
IEEE Introduction
(This introduction is not part of IEEE Std 1471-2000, IEEE 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. In the
past, hardware-related architectural aspects were dominant, whereas software-related architectural integrity,
when it existed, often was to be sacrificed first in the course of system development. Today, software-
intensive systems are pervasive. The cost of software development and the increasing complexity of software
systems have changed the relative balance. Software technology is maturing rapidly. The practice of system
development can benefit greatly from adherence to architectural precepts.
However, the concepts of architecture have not been consistently defined and applied within the life cycle of
software-intensive systems. Despite significant industrial and research activity in this area, there is no single,
accepted framework for codifying architectural thinking, thereby facilitating the common application and
evolution of available and emerging architectural practices.
The IEEE Architecture Planning Group (APG) was formed in August 1995 to address this need. The APG
was chartered by the IEEE Software Engineering Standards Committee (SESC) to set a direction for incor-
porating architectural thinking into IEEE standards. The result of the APG’s deliberations was to recommend
an IEEE activity with the following goals:
— To define useful terms, principles and guidelines for the consistent application of architectural pre-
cepts to systems throughout their life cycle
— To elaborate architectural precepts and their anticipated benefits for software products, systems, and
aggregated systems (i.e., “systems of systems”)
— To provide a framework for the colilection and consideration of architectural attributes and related
information for use in IEEE standards
— To provide a useful road map for the incorporation of architectural precepts in the generation, revi-
sion, and application of IEEE standards
In April 1996 SESC created the Architecture Working Group (AWG) to implement those recommendations.
Copyright © 2000 IEEE. All rights reserved. iii
---------------------- Page: 6 ----------------------
Participants
At the time this recommended practice was completed, the Architecture Working Group had the following
membership.
Basil Sherlund, Chair
Ronald L. Wade, Vice Chair
David Emery, Vice Chair for Liaison
Rich Hilliard, Secretary and Editor
Frank C. Belz Judith S. Kerner Glenn Plonk
S. Jeromy Carriere Dwayne L. Knirk Peter T. Poon
Mark Dehlin Ron Kohl Dave Rayford
Verlynda Dobbs Alexei E. Kotov Ann Reedy
Nancy Eickelmann Philippe Kruchten Ira Sachs
Walter J. Ellis Simon Liu Thomas F. Saunders
William Gess Mark W. Maier M. Wayne Shiveley
Vladan V. Jovanovic Bill McMullen Louise Tamres
Fatima Mili
The following members of the balloting committee voted on this standard:
Hiranmay Ghosh
Edward A. Addy Pavol Navrat
Marilyn Ginsberg-Finner
Mario R. Barbacci Gerald L. Ourada
Julio Gonzalez-Sanz
Edward E. Bartlett Alex Polack
Lewis Gray
Leo Beltracchi R. Razouk
L. M. Gunther
Frank C. Belz Annette D. Reilly
John Harauz
Richard E. Biehl Helmut Sandmayr
Herbert Hecht
Edward R. Byrne Frederico Sousa Santos
Mark Henley
Lawrence Catchpole Robert J. Schaaf
John W. Horch
Leslie Chambers Carl A. Singer
George Jackelen
Keith Chow Richard S. Sky
Frank V. Jorgensen
Antonio M. Cicu Mitchell W. Smith
Vladan V. Jovanovic
Sylvain Clermont Fred J. Strauss
William S. Junk
Rosemary Coleman Sandra Swearingen
Judith S. Kerner
Darrell Cooksey Toru Takeshita
Thomas M. Kurihara
Paul R. Croll Richard H. Thayer
Helmut Kurzdorfer
Gregory T. Daich Booker Thomas
Kyoung-In Kwon
Bostjan K. Derganc Leonard L. Tripp
J. Dennis Lawrence
Perry R. DeWeese Theodore J. Urbanowicz
Thomas B. Lindahl
Verlynda Dobbs Tom Vaiskunas
Jim J. Logan
Franz D. Engelmann Ronald L. Wade
Henry A. Malec
William Eventoff Randall K. Walters
Tomoo Matsubara
Jonathan H. Fairclough Larry L. Wear
Ian R. McChesney
John W. Fendrich Charles J. Wertz
James W. Moore
John H. Fowler Scott A. Whitmire
Frederick I. Moxley
Eva Freund Paul R. Work
Francisco Navas Plano
Andrew Gabb Natalie C. Yopconka
Juan Garbajosa-Sopena Geraldine Zimmerman
iv Copyright © 2000 IEEE. All rights reserved.
---------------------- Page: 7 ----------------------
When the IEEE-SA Standards Board approved this standard on 21 September 2000, it had the following
membership:
Donald N. Heirman, Chair
James T. Carlo, Vice Chair
Judith Gorman, Secretary
Satish K. Aggarwal James H. Gurney James W. Moore
Mark D. Bowman Richard J. Holleman Robert F. Munzner
Gary R. Engmann Lowell G. Johnson Ronald C. Petersen
Harold E. Epstein Robert J. Kennelly Gerald H. Peterson
H. Landis Floyd Joseph L. Koepfinger* John B. Posey
Jay Forster* Peter H. Lips Gary S. Robinson
Howard M. Frazier L. Bruce McClung Akio Tojo
Ruben D. Garzon Daleep C. Mohla Donald W. Zipse
*Member Emeritus
Also included is the following nonvoting IEEE-SA Standards Board liaison:
Alan Cookson, NIST Representative
Donald R. Volzka, TAB Representative
Noelle D. Humenick
IEEE Standards Project Editor
Copyright © 2000 IEEE. All rights reserved. v
---------------------- Page: 8 ----------------------
Contents
1. Overview. 1
1.1 Scope. 1
1.2 Purpose. 1
1.3 Intended users . 2
1.4 Conformance to this recommended practice. 3
2. References. 3
3. Definitions. 3
4. Conceptual framework. 4
4.1 Architectural description in context. 4
4.2 Stakeholders and their roles. 6
4.3 Architectural activities in the life cycle . 6
4.4 Uses of architectural descriptions . 8
5. Architectural description practices . 8
5.1 Architectural documentation. 8
5.2 Identification of stakeholders and concerns. 9
5.3 Selection of architectural viewpoints. 9
5.4 Architectural views . 10
5.5 Consistency among architectural views. 11
5.6 Architectural rationale . 11
5.7 Example use. 11
Annex A (informative) Bibliography. 13
Annex B (informative) Notes on terminology. 14
Annex C (informative) Examples of viewpoints . 17
Annex D (informative) Relationship to other standards. 20
vi Copyright © 2000 IEEE. All rights reserved.
---------------------- Page: 9 ----------------------
ISO/IEC 42010:2007(E)
IEEE Recommended Practice for
Architectural Description of
Software-Intensive Systems
1. Overview
1.1 Scope
This recommended practice addresses the architectural description of software-intensive systems. A
software-intensive system is any system where software contributes essential influences to the design,
construction, deployment, and evolution of the system as a whole.
The scope of this recommended practice encompasses those products of system development that capture
architectural information. This includes architectural descriptions that are used for the following:
a) Expression of the system and its evolution
b) Communication among the system stakeholders
c) Evaluation and comparison of architectures in a consistent manner
d) Planning, managing, and executing the activities of system development
e) Expression of the persistent characteristics and supporting principles of a system to guide acceptable
change
f) Verification of a system implementation’s compliance with an architectural description
g) Recording contributions to the body of knowledge of software-intensive systems architecture
1.2 Purpose
The purpose of this recommended practice is to facilitate the expression and communication of architectures
and thereby lay a foundation for quality and cost gains through standardization of elements and practices for
architectural description.
Despite significant efforts to improve engineering practices and technologies, software-intensive systems
continue to present formidable risks and difficulties in their design, construction, deployment, and evolution.
Recent attempts to address these difficulties have focused on the earliest period of design decision-making
and evaluation, increasingly referred to as the architectural level of system development. The phrases archi-
Copyright © 2000 IEEE. All rights reserved. 1
---------------------- Page: 10 ----------------------
ISO/IEC 42010:2007(E)
IEEE
Std 1471-2000 IEEE RECOMMENDED PRACTICE FOR
tectural level and architecture are widely, if imprecisely, used. Their use reflects acceptance of an architec-
tural metaphor in the analysis and development of software-intensive systems. A key premise of this
metaphor is that important decisions may be made early in system development in a manner similar to the
early decision-making found in the development of civil architecture projects.
Many innovations are resulting from this attention to the architectural level, among them architectural
description languages and associated tools and environments; architectural frameworks, models, and
patterns; and techniques for architectural analysis, evaluation, and architecture-based reuse. While these
efforts differ considerably in important aspects, sufficient commonality exists to warrant the development of
a recommended practice to codify their common elements.
These innovations are occurring, and maturing, rapidly within many research and application communities,
and they reflect differing interests, influences, insights, and intentions. There is a general consensus on the
importance of the architectural level of systems development, and that that level consists of early decision-
making about overall design structure, goals, requirements, and development strategies. However, there has
not yet emerged any reliable consensus on a precise definition of a system’s architecture, i.e., how it should
be described, what uses such a description may serve, or where and when it should be defined. The bound-
aries and relationships between architectural trends and practices, and other practices; and between architec-
tural technology and other technology, are not yet widely recognized.
In such situations, progress often depends on mediating influences. Potential adopters of architectural
practices and technology need a frame of reference within which to address implementation and adoption
decisions. Technology developers need a frame of reference within which to communicate the motivating
concepts of their technology, and to accumulate and appreciate feedback from early adoption.
To these ends, this recommended practice is intended to reflect generally accepted trends in practices for
architectural description and to provide a technical framework for further evolution in this area.
Furthermore, it establishes a conceptual framework of concepts and terms of reference within which future
developments in system architectural technology can be deployed. This recommended practice codifies
those elements on which there is consensus; specifically the use of multiple views, reusable specifications
for models within views, and the relation of architecture to system context.
1.3 Intended users
The principal class of users for this recommended practice comprises stakeholders in system development
and evolution, including the following:
— Those that use, own, and acquire the system (users, operators, and acquirers, or clients)
— Those that develop, describe, and document architectures (architects)
— Those that develop, deliver, and maintain the system (architects, designers, programmers, maintain-
ers, testers, domain engineers, quality assurance staff, configuration management staff, suppliers,
and project managers or developers)
— Those who oversee and evaluate systems and their development (chief information officers, auditors,
and independent assessors)
A secondary class of users of this recommended practice comprises those involved in the enterprise-wide
infrastructure activities that span multiple system developments, including methodologists, process and pro-
cess-improvement engineers, researchers, producers of standards, tool builders, and trainers.
2 Copyright © 2000 IEEE. All rights reserved.
---------------------- Page: 11 ----------------------
ISO/IEC 42010:2007(E)
IEEE
ARCHITECTURAL DESCRIPTION OF SOFTWARE-INTENSIVE SYSTEMS Std 1471-2000
1.4 Conformance to this recommended practice
An architectural description conforms to this recommended practice if that description meets the require-
ments listed in Clause 5.
2. References
This recommended practice shall be used in conjunction with the following publications. When the follow-
ing standards are superseded by an approved revision, the revision shall apply.
1
IEEE Std 610.12−1990, IEEE Standard Glossary of Software Engineering Terminology.
IEEE/EIA Std 12207.0−1996, IEEE/EIA Standard—Industry Implementation of ISO/IEC 12207: 1995,
Information Technology—Software life cycle processes.
3. Definitions
For the purposes of this standard, the following terms and definitions apply. The IEEE Standard Dictionary
2
of Electrical and Electronics Terms [B2], IEEE Std 610.12−1990, or IEEE/EIA Std 12207.0−1996 should
be referenced for terms not defined in this clause.
3.1 acquirer: An organization that procures a system, software product, or software service from a supplier.
(The acquirer could be a buyer, customer, owner, user, or purchaser.)
3.2 architect: The person, team, or organization responsible for systems architecture.
3.3 architecting: The activities of defining, documenting, maintaining, improving, and certifying proper
implementation of an architecture.
3.4 architectural description (AD): A collection of products to document an architecture.
3.5 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.
3.6 life cycle model: A framework containing the processes, activities, and tasks involved in the develop-
ment, operation, and maintenance of a software product, which spans the life of the system from the defini-
tion of its requirements to the termination of its use.
3.7 system: A collection of components organized to accomplish a specific function or set of functions.
3.8 system stakeholder: An individual, team, or organization (or classes thereof) with interests in, or con-
cerns relative to, a system.
3.9 view: A representation of a whole system from the perspective of a related set of concerns.
1
IEEE publications are available from the Institute of Electrical and Electronics Engineers, 445 Hoes Lane, P.O. Box 1331, Piscataway,
NJ 08855-1331, USA (http://standards.ieee.org/).
2
The numbers in brackets correspond to those of the bibliography in Annex A.
Copyright © 2000 IEEE. All rights reserved. 3
---------------------- Page: 12 ----------------------
ISO/IEC 42010:2007(E)
IEEE
Std 1471-2000 IEEE RECOMMENDED PRACTICE FOR
3.10 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 tech-
niques for its creation and analysis.
4. Conceptual framework
This clause introduces a conceptual framework, or frame of reference, for architectural description. The
framework establishes terms and concepts pertaining to the content and use of architectural descriptions.
These terms and concepts will be used in subsequent clauses.
4.1 Architectural description in context
For the purposes of this recommended practice, the term system encompasses individual applications, sys-
tems in the traditional sense, subsystems, systems of systems, product lines, product families, whole enter-
prises, and other aggregations of interest.
A system inhabits an environment. A system’s environment can influence that system. The environment, or
context, determines the setting and circumstances of developmental, operational, political, and other influ-
ences upon 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, in the terms of this recommended practice. An architecture can be
recorded by an architectural description (see Figure 1). This recommended practice distinguishes the
architecture of a system, which is conceptual, from particular descriptions of that architecture, which are
concrete products or artifacts. Architectural descriptions (ADs) are the subject of this recommended
practice.
In the conceptual framework of this recommended practice, 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. The term view is used to refer to the expression of a system’s architecture with respect
to a particular viewpoint.
NOTE—This recommended practice does not use terms such as functional architecture, physical architecture, and
technical architecture, as are frequently used informally. In the conceptual framework of the recommended practice, the
approximate equivalents of these informal terms would be functional view, physical view, and technical view,
respectively.
Other information, not contained in any constituent view, may appear in an AD , as a result of an organiza-
tion’s documentation practices. Examples of such information are the system overview, the system context,
the system stakeholders and their key concerns, and the architectural rationale.
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 lan
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.