The developer shall perform software design in accordance with the following requirements.
Note: If a CSCI is developed in multiple builds, its design may not be fully defined until the final build. Software design in each build should be interpreted to mean the design necessary to meet the CSCI requirements to be implemented in that build.
The developer shall define and record CSCI-wide design decisions (that is, decisions about the CSCI's behavioral design and other decisions affecting the selection and design of the software units comprising the CSCI). The result shall include all applicable items in the CSCI-wide design section of the Software Design Description (SDD) DID (see 6.2). Depending on CDRL provisions, design pertaining to interfaces may be included in SDDs or in interface design descriptions (IDDs) and design pertaining to databases may be included in SDDs or in database design descriptions (DBDDs).
The developer shall define and record the architectural design of each CSCI (identifying the software units comprising the CSCI, their interfaces, and a concept of execution among them) and the traceability between the software units and the CSCI requirements. The result shall include all applicable items in the architectural design and traceability sections of the Software Design Description (SDD) DID (see 6.2). Depending on CDRL provisions, design pertaining to interfaces may be included in SDDs or in interface design descriptions (IDDs).
Note: Software units may be made up of other software units and may be organized into as many levels as are needed to represent the CSCI architecture. For example, a CSCI may be divided into three software units, each of which is divided into additional software units, and so on.
The developer shall develop and record a description of each software unit. The result shall include all applicable items in the detailed design section of the Software Design Description (SDD) DID (see 6.2). Depending on CDRL provisions, design pertaining to interfaces may be included in SDDs or in interface design descriptions (IDDs) and design of software units that are databases or that access or manipulate databases may be included in SDDs or in database design descriptions (DBDDs).
Translator: Simon Wright simon@pogner.demon.co.uk
Last updated: 22.iii.99