Artifact: Software Design
The main design artifact.
Domains: SI.3 Software Architectural and Detailed Design
Purpose
Textual and graphical information on the software structure.
Relationships
Description
Main Description

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.