For faster navigation, this Iframe is preloading the Wikiwand page for Software design description.

Software design description

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: "Software design description" – news · newspapers · books · scholar · JSTOR (September 2014) (Learn how and when to remove this message)

A software design description (a.k.a. software design document or SDD; just design document; also Software Design Specification) 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 the design’s stakeholders. [1] An SDD usually accompanies an architecture diagram with pointers to detailed feature specifications of smaller pieces of the design. Practically, the description is required to coordinate a large team under a single vision, needs to be a stable reference, and outline all parts of the software and how they will work.

Composition

[edit]

The SDD usually contains the following information:

  1. The Data-driven design describes structures that reside within the software. Attributes and relationships between data objects dictate the choice of data structures.
  2. The architecture design uses information flowing characteristics, and maps them into the program structure. The transformation mapping method is applied to exhibit distinct boundaries between incoming and outgoing data. The data flow diagrams allocate control input, processing and output along three separate modules.
  3. The interface design describes internal and external program interfaces, as well as the design of the human interface. Internal and external interface designs are based on the information obtained from the analysis model.
  4. The procedural design describes structured programming concepts using graphical, tabular and textual notations.

These design mediums enable the designer to represent procedural detail, that facilitates translation to code. This blueprint for implementation forms the basis for all subsequent software engineering work.

IEEE 1016

[edit]

IEEE 1016-2009, titled IEEE Standard for Information Technology—Systems Design—Software Design Descriptions,[2] is an IEEE standard that specifies "the required information content and organization" for an SDD.[3] 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."[4]

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:[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.[6]

IEEE status

[edit]

IEEE 1016-2009 is currently listed as 'Inactive - Reserved'.[7]

See also

[edit]

References

[edit]
  1. ^ IEEE Standard for Information Technology--Systems Design--Software Design Descriptions. IEEE STD 1016-2009. July 2009. pp. 1–35. doi:10.1109/ieeestd.2009.5167255. ISBN 978-0-7381-5925-6.
  2. ^ IEEE Standard for Information Technology--Systems Design--Software Design Descriptions. IEEE. 2009-07-20. doi:10.1109/IEEESTD.2009.5167255. ISBN 978-0-7381-5925-6.
  3. ^ IEEE 1016, Abstract.
  4. ^ IEEE 1016, Abstract.
  5. ^ IEEE 1016, Clause 5.
  6. ^ IEEE 1016, sub-clause 4.5.
  7. ^ IEEE Standard for Information Technology--Systems Design--Software Design Descriptions. IEEE STD 1016-2009. July 2009. pp. 1–35. doi:10.1109/IEEESTD.2009.5167255. ISBN 978-0-7381-5925-6.
[edit]
{{bottomLinkPreText}} {{bottomLinkText}}
Software design description
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?