Software design description
|IEEE Software Document Definitions|
IEEE 1016-2009, titled IEEE Standard for Information Technology—Systems Design—Software Design Descriptions, is an IEEE standard that specifies "the required information content and organization" for a software design description (SDD). [IEEE 1016, Abstract]. IEEE 1016 does not specify the medium of an SDD; it is "applicable to automated databases and design description languages but can be used for paper documents and other means of descriptions." [IEEE 1016, Abstract]
The 2009 edition was a major revision to IEEE 1016-1998, elevating it from recommended practice to full standard. This revision was modeled after IEEE Std 1471-2000, Recommended Practice for Architectural Description of Software-intensive Systems, extending the concepts of view, viewpoint, stakeholder, and concern from architecture description to support documentation of high-level and detailed design and construction of software. [IEEE 1016, Introduction]
Following the IEEE 1016 conceptual model, an SDD is organized into one or more design views. Each design view follows the conventions of its design viewpoint. IEEE 1016 defines the following design viewpoints for use [IEEE 1016, Clause 5]:
- Context viewpoint
- Composition viewpoint
- Logical viewpoint
- Dependency viewpoint
- Information viewpoint
- Patterns use viewpoint
- Interface viewpoint
- Structure viewpoint
- Interaction viewpoint
- State dynamics viewpoint
- Algorithm viewpoint
- Resource viewpoint
In addition, users of the standard are not limited to these viewpoints but may define their own. [IEEE 1016, sub-clause 4.5]
Annex C of the standard provides the following (optional) template outline for SDDs:
- Date of issue and status
- Issuing organization
- Change history
- Identified stakeholders and design concerns
- Design viewpoint 1
- Design view 1
- Design viewpoint n
- Design view n
- Design rationale
- IEEE 1016 website
- 1016-1987 — IEEE Recommended Practice for Software Design Descriptions. 1987. doi:10.1109/IEEESTD.1987.122643. ISBN 0-7381-0402-7.
- 1016-1998 — IEEE Recommended Practice for Software Design Descriptions. 2002 . doi:10.1109/IEEESTD.1998.888284. ISBN 0-7381-1455-3.
- 1016-2009 — IEEE Standard for Information Technology-Systems Design- Software Design Descriptions. 2009. doi:10.1109/IEEESTD.2009.5167255. ISBN 978-0-7381-5926-3.
- "IEEE Standard for Information Technology — Systems Design — Software Design Descriptions". IEEE. 2009-07-20. Retrieved 2014-07-06.