Artifact: Software Design
The main design artifact.
Domains: SI.3 Software Architectural and Detailed Design
Relationships
Description
Brief Outline

This document includes textual and graphical information on the software structure and behaviour. This may include the following parts:

  • Software Architectural Design – Describes the overall Software structure and behaviour:
    • Identifies architectural design stakeholders and their concerns
    • Identifies relevant architectural mechanisms (patterns, tactics, heuristics, rules of thumb, ...)
    • Identifies the types of views that are relevant to convey the software architecture, taking into consideration the stakeholders concerns and the various requirements (functional and non-functional)
    • Provides relevant software architectural views in various forms (diagrams, models, tables, plain text, ...)
    • Identifies and describes the main elements of the software architecture (subsystems, layers, modules) and their relationships
    • Identifies and describes the required software Components, their interfaces and the relationships among them
    • Describes rationale, provides any analysis used to produce the solution, identifies known risks and inconsistencies

  • Detailed Software Design – includes details of the Components to facilitate their construction and testing within the programming environment:
    • Provides detailed design (could be represented as a prototype, flow chart, entity relationship diagram, pseudo code, etc.)
    • Provides format of input / output data
    • Provides specification of data storage needs
    • Establishes required naming conventions
    • Defines the format of required data structures
    • Defines the data fields and purpose of each required data element
    • Provides the specifications of the program structure

The applicable statuses are: verified and baselined.

Illustrations
Templates
More Information