1、IEEE Std 1016-2009(Revision of IEEE Std 1016-1998) IEEE Standard for Information TechnologySystems Design Software Design DescriptionsIEEE3 Park Avenue New York, NY 10016-5997, USA20 July 2009IEEE Computer SocietySponsored by theSoftware +1 978 750 8400. Permission to photocopy portions of any indiv
2、idual standard for educational classroom use can also be obtained through the Copyright Clearance Center. iv Copyright 2009 IEEE. All rights reserved. Introduction This introduction is not part of IEEE Std 1016-2009, IEEE Standard for Information TechnologySystems DesignSoftware Design Descriptions.
3、 This standard specifies requirements on the information content and organization for software design descriptions (SDDs). An SDD is a representation of a software design that is to be used for recording design information, addressing various design concerns, and communicating that information to th
4、e designs stakeholders. SDDs play a pivotal role in the development and maintenance of software systems. During its lifetime, an SDD is used by acquirers, project managers, quality assurance staff, configuration managers, software designers, programmers, testers, and maintainers. Each of these stake
5、holders has unique needs, both in terms of required design information and optimal organization of that information. Hence, a design description contains the design information needed by those stakeholders. The standard also specifies requirements on the design languages to be used when producing SD
6、Ds conforming to these requirements on content and organization. The standard specifies that an SDD be organized into a number of design views. Each view addresses a specific set of design concerns of the stakeholders. Each design view is prescribed by a design viewpoint. A viewpoint identifies the
7、design concerns to be focused upon within its view and selects the design languages used to record that design view. The standard establishes a common set of viewpoints for design views, as a starting point for the preparation of an SDD, and a generic capability for defining new design viewpoints th
8、ereby expanding the expressiveness of an SDD for its stakeholders. This standard is intended for use in design situations in which an explicit SDD is to be prepared. These situations include traditional software design and construction activities leading to an implementation as well as “reverse engi
9、neering” situations where a design description is to be recovered from an existing implementation. This standard can be applied to commercial, scientific, military, and other types of software. Applicability is not restricted by size, complexity, or criticality of the software. This standard conside
10、rs both the software and its system context, including the developmental and operational environment. It can be used where software comprises the system or where software is part of a larger system characterized by hardware, software, and human components and their interfaces. This standard is appli
11、cable whether the SDD is captured using paper documents, automated databases, software development tools, or other media. This standard does not explicitly support, nor is it limited to, use with any particular software design methodology or particular design languages, although it establishes minim
12、um requirements on the selection of those design languages. This standard can be used with IEEE Std 12207-2008 B21;ait can also be used in other life cycle contexts. This standard consists of five clauses, as follows: Clause 1 defines the scope and purpose of the standard. Clause 2 provides definiti
13、ons of terms used within the context of the standard. aThe numbers in brackets correspond to those of the Bibliography in Annex A. v Copyright 2009 IEEE. All rights reserved. Clause 3 provides a framework for understanding SDDs in the context of their preparation and use. Clause 4 describes the requ
14、ired content and organization of an SDD. Clause 5 defines several design viewpoints for use in producing SDDs. Annex A provides a bibliography. Annex B defines how a design language to be used in an SDD is to be described in a uniform manner. Annex C contains a template for organizing an SDD conform
15、ing to the requirements of this standard. This standard follows the IEEE Standards Style Manual.bIn particular, the word shall identifies requirements that must be satisfied in order to claim conformance with this standard. The verb should identifies recommendations, and the verb may is used to deno
16、te that particular courses of action are permissible. This revision of the standard is modeled after IEEE Std 1471-2000 B20, extending the concepts of view, viewpoint, stakeholder, and concern from that standard to support high-level and detailed design and construction for software. The demarcation
17、 between architecture, high-level and detailed design varies from system to system and is beyond the scope of this standard. Notice to users Laws and regulations Users of these documents should consult all applicable laws and regulations. Compliance with the provisions of this standard does not impl
18、y compliance to any applicable regulatory requirements. Implementers of the standard are responsible for observing or referring to the applicable regulatory requirements. IEEE does not, by the publication of its standards, intend to urge action that is not in compliance with applicable laws, and the
19、se documents may not be construed as doing so. Copyrights This document is copyrighted by the IEEE. It is made available for a wide variety of both public and private uses. These include both use, by reference, in laws and regulations, and use in private self-regulation, standardization, and the pro
20、motion of engineering practices and methods. By making this document available for use and adoption by public authorities and private users, the IEEE does not waive any rights in copyright to this document. bThe IEEE Standards Style Manual can be found at http:/standards.ieee.org/guides/style/index.
21、html. vi Copyright 2009 IEEE. All rights reserved. Updating of IEEE documents Users of IEEE standards should be aware that these documents may be superseded at any time by the issuance of new editions or may be amended from time to time through the issuance of amendments, corrigenda, or errata. An o
22、fficial IEEE document at any point in time consists of the current edition of the document together with any amendments, corrigenda, or errata then in effect. In order to determine whether a given document is the current edition and whether it has been amended through the issuance of amendments, cor
23、rigenda, or errata, visit the IEEE Standards Association web site at http:/ieeexplore.ieee.org/xpl/standards.jsp, or contact the IEEE at the address listed previously. For more information about the IEEE Standards Association or the IEEE standards development process, visit the IEEE-SA web site at h
24、ttp:/standards.ieee.org. Errata Errata, if any, for this and all other standards can be accessed at the following URL: http:/standards.ieee.org/reading/ieee/updates/errata/index.html. Users are encouraged to check this URL for errata periodically. Interpretations Current interpretations can be acces
25、sed at the following URL: http:/standards.ieee.org/reading/ieee/interp/ index.html. Patents 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 th
26、e existence or validity of any patent rights in connection therewith. The IEEE is not responsible for identifying Essential Patent Claims for which a license may be required, for conducting inquiries into the legal validity or scope of Patents Claims or determining whether any licensing terms or con
27、ditions provided in connection with submission of a Letter of Assurance, if any, or in any licensing agreements are reasonable or non-discriminatory. Users of this standard are expressly advised that determination of the validity of any patent rights, and the risk of infringement of such rights, is
28、entirely their own responsibility. Further information may be obtained from the IEEE Standards Association. vii Copyright 2009 IEEE. All rights reserved. Participants At the time this standard was submitted to the IEEE-SA Standards Board for approval, the Software Design Descriptions Working Group h
29、ad the following membership: Keith R. Middleton, Chair (acting) Vladan V. Jovanovic, Chair (emeritus) Basil A. Sherlund, Chair (emeritus) Rich Hilliard, Secretary and Technical Editor William Bartholomew Edward Byrne Bob Cook Ed Corlett Philippe Kruchten Kathy Land James Moore Ira Sachs The followin
30、g members of the individual balloting committee voted on this standard. Balloters may have voted for approval, disapproval, or abstention. Butch Anton Angela Anuszewski Chris Bagge Pieter Botman Juan Carreon Lawrence Catchpole Danila Chernetsov Keith Chow S. Claassen Daniel Conte David Cornejo Geoff
31、rey Darnton Terry Dietz Antonio Doria Timothy Ehrler Kameshwar Eranki Andre Fournier Eva Freund David Friscia Lewis Gray Michael Grimley Randall Groves John Harauz Mark Henley Rutger A. Heunks Ian Hilliard Werner Hoelzl Peter Hung Atsushi Ito Mark Jaeger Piotr Karocki Dwayne Knirk George Kyle Susan
32、Land Dewitt Latimer David J. Leciston Daniel Lindberg Vincent Lipsio Edward Mccall Keith R. Middleton William Milam James Moore Rajesh Murthy Michael S. Newman William Petit Ulrich Pohl Robert Robinson Randall Safier James Sanders Bartien Sayogo Robert Schaaf David J. Schultz Stephen Schwarm Raymond
33、 Senechal Luca Spotorno Thomas Starai Walter Struppler Gerald Stueve Marcy Stutzman K. Subrahmanyam Richard Thayer John Thywissen Thomas Tullia Vincent Tume John Walz P. Wolfgang Forrest Wright Janusz Zalewski Wenhao Zhu viiiCopyright 2009 IEEE. All rights reserved. When the IEEE-SA Standards Board
34、approved this standard on 19 March 2009, it had the following membership: Robert M. Grow, Chair Thomas Prevost, Vice Chair Steve M. Mills, Past Chair Judith Gorman, Secretary John Barr Karen Bartleson Victor Berman Ted Burse Richard DeBlasio Andy Drozd Mark Epstein Alexander Gelman Jim Hughes Rich H
35、ulett Young Kyun Kim Joseph L. Koepfinger* John Kulick David Law Ted Olsen Glenn Parsons Ron Petersen Narayanan Ramachandran Jon Rosdahl Sam Sciacca *Member Emeritus Also included are the following nonvoting IEEE-SA Standards Board liaisons: Howard Wolfman, TAB Representative Michael Janezic, NIST R
36、epresentative Satish Aggarwal, NRC Representative Lisa Perry IEEE Standards Program Manager, Document Development Malia Zaman IEEE Standards Program Manager, Technical Program Development ix Copyright 2009 IEEE. All rights reserved. Contents 1. Overview 1 1.1 Scope . 1 1.2 Purpose 2 1.3 Intended aud
37、ience 2 1.4 Conformance . 2 2. Definitions 2 3. Conceptual model for software design descriptions . 3 3.1 Software design in context. 3 3.2 Software design descriptions within the life cycle. 6 4. Design description information content 7 4.1 Introduction . 7 4.2 SDD identification. 8 4.3 Design stak
38、eholders and their concerns. 8 4.4 Design views 8 4.5 Design viewpoints . 9 4.6 Design elements. 9 4.7 Design overlays . 11 4.8 Design rationale. 12 4.9 Design languages. 12 5. Design viewpoints 13 5.1 Introduction . 13 5.2 Context viewpoint 14 5.3 Composition viewpoint 15 5.4 Logical viewpoint 16 5
39、.5 Dependency viewpoint 17 5.6 Information viewpoint . 17 5.7 Patterns use viewpoint . 18 5.8 Interface viewpoint 19 5.9 Structure viewpoint 20 5.10 Interaction viewpoint. 20 5.11 State dynamics viewpoint 21 5.12 Algorithm viewpoint 21 5.13 Resource viewpoint . 22 Annex A (informative) Bibliography
40、. 24 Annex B (informative) Conforming design language description 26 Annex C (informative) Templates for an SDD. 28 1 Copyright 2009 IEEE. All rights reserved. IEEE Standard for Information TechnologySystems DesignSoftware Design Descriptions IMPORTANT NOTICE: This standard is not intended to ensure
41、 safety, security, health, or environmental protection in all circumstances. Implementers of the standard are responsible for determining appropriate safety, security, environmental, and health practices or regulatory requirements. This IEEE document is made available for use subject to important no
42、tices and legal disclaimers. These notices and disclaimers appear in all publications containing this document and may be found under the heading “Important Notice” or “Important Notices and Disclaimers Concerning IEEE Documents.” They can also be obtained on request from IEEE or viewed at http:/sta
43、ndards.ieee.org/IPR/disclaimers.html. 1. Overview 1.1 Scope This standard describes software designs and establishes the information content and organization of a software design description (SDD). An SDD is a representation of a software design to be used for recording design information and commun
44、icating that design information to key design stakeholders. This standard is intended for use in design situations in which an explicit SDD is to be prepared. These situations include traditional software construction activities, when design leads to code, and “reverse engineering” situations when a
45、 design description is recovered from an existing implementation. This standard can be applied to commercial, scientific, or military software that runs on digital computers. Applicability is not restricted by the size, complexity, or criticality of the software. This standard can be applied to the
46、description of high-level and detailed designs. This standard does not prescribe specific methodologies for design, configuration management, or quality assurance. This standard does not require the use of any particular design languages, but establishes requirements on the selection of design langu
47、ages for use in an SDD. This standard can be applied to the preparation of SDDs captured as paper documents, automated databases, software development tools, or other media. IEEE Std 1016-2009 IEEE Standard for Information TechnologySystems DesignSoftware Design Descriptions 2 Copyright 2009 IEEE. A
48、ll rights reserved. 1.2 Purpose This standard specifies requirements on the information content and organization of SDDs. The standard specifies requirements for the selection of design languages to be used for SDD, and requirements for documenting design viewpoints to be used in organizing an SDD.
49、1.3 Intended audience This standard is intended for technical and managerial stakeholders who prepare and use SDDs. It guides a designer in the selection, organization, and presentation of design information. For an organization developing its own SDD practices, the use of this standard can help to ensure that design descriptions are complete, concise, consistent, interchangeable, appropriate for recording design experiences and lessons learned, well organized, and easy to communicate. 1.4 Conformance An SDD conforms to this standard if it satisfies all of