Develop and review software requirements |
System FDAL and software level are determined
System certification plan is released
PSAC is released
SDP is released
Software requirements standards are released
System requirements are mature enough to begin decomposition
|
Document high-level software requirements (in SWRD) from the SRD for requirements allocated to software
Identify requirements that have a safety impact (tag with safety attribute)
Identify any derived software requirements (requirements that do not trace to SRD and that define implementation details) and provide rationale for why each one is needed
Develop bidirectional traceability between SRD and SWRD requirements
Include interfaces/interactions in SWRD as needed
Include reference to hardware data in SWRD, as applicable
Document any deviations from requirements standards and obtain SQA approval
Document robustness requirements (tag as robust)
Review SWRD using the company procedures defined in the SVP and make updates as needed
Validate derived requirements (as part of the review) to ensure they are the right requirements (correct and complete)
Involve safety personnel in the review of all derived requirements
Document the development environment in the SLECI
|
SRD is released and under CM
SWRD is reviewed, updated, released, and under CM
Derived high-level software requirements are reviewed by appropriate safety personnel
SLECI is drafted and under CM
|
Develop and review SDD |
|
Document low-level requirements using SRD, SWRD, and other referenced requirements as input
Identify interfaces/interactions in SDD as needed
Identify any derived low-level requirements (requirements that do not trace to SWRD and that are implementation details) and provide rationale for why each requirement is needed
Document robustness requirements (tag as robust)
Validate derived requirements (as part of the review) to ensure they are the right requirements (that is, they are correct and complete) (see SVP for details on the review)
Develop bidirectional traceability between high-level requirements and low-level requirements
Develop software architecture to be consistent with the requirements
Review the SDD using the process defined in the SVP and make needed updates
Document any deviations from design standards and obtain SQA approval
Involve safety personnel in the review of all derived requirements
|
SDD (including low-level requirements and architecture) reviewed, updated, released, and under CM
SRD and SWRD released and under CM
Derived low-level requirements reviewed by appropriate system safety personnel
|
Develop and review code |
|
Write code using the SWRD, SDD, SDP, and coding standards as input
Develop bidirectional traceability between the code and low-level requirements
Review code and update based on comments (see SVP for details of the review)
Document any deviations from code standards and obtain SQA approval
Develop and review SCI
|
Code is reviewed, updated, released, and under CM
SRD, SWRD and SDD are released and under CM
SCI is reviewed and under CM
|
Integrate code |
|
Develop build procedures (in SCI) and have an independent person run the procedures for repeatability
Build code, using the build procedures
Prior to formal testing, compile and link the released code, using the approved build procedures (in SCI)
Develop the load procedures (in SCI) and have an independent person run the procedures for repeatability
Update and review SCI (including build and load procedures)
Update (if needed) and review SLECI (prior to formal build of code)
|
Code is released and under CM
SCI (including build procedures and load procedures) and SLECI are reviewed, released, and under CM
Released code is compiled and linked
Executable object code is released and under CM
|