strictdoc-project / strictdoc

Software for technical documentation and requirements management.
https://strictdoc.readthedocs.io/en/stable/
Other
155 stars 25 forks source link

Generation of traceability matrices #964

Open stanislaw opened 1 year ago

stanislaw commented 1 year ago

This ticket will probably not be worked before 2023-Q2, so here are only initial thoughts only:

elfman2 commented 1 year ago

Interrest in matrices generated with export --formats rst

stanislaw commented 1 year ago

Adding input from one user on this traceability matrices topic. The context of the following considerations is the DO-178C aviation standard.

Input from a user

Trace has the following objectives:

A system is usually composed of several functions: 1 sdoc file per function. Functions are allocated to several software/ hardware components through a system design document, which also allocates design assurance level to these components. A software component is specified with HLR (high level requirements), then software design specifies software architecture and low level requirements.

In addition to these objectives, there is some industrial/economic will to optimise change request management. Upon some system requirement change request, the applicant shall perform an impact analysis to determine the artefacts which shall be modified (requirements, code, test procedure, test results) in order to assess the new baseline against DO178 objectives.

Technical consideration: All artefacts shall remain readable/modifiable during more than 50 years (ex: https://fr.m.wikipedia.org/wiki/Sud-Aviation_SA330_Puma). That's why the artefact data format shall be text or pdf. The legacy solution is to store on pdf documents several matrices to achieve DO-178 objectives.

A trace matrix is a 2 column table:

1/ SYS-REQ,HLR 2/ HLR, SYS-REQ 3/ HLR, LLR 4/ LLR, HLR 5/ LLR, code source unit 6/ CSU, LLR 7/ HLT, HLR 8/ HLR, HLT 9/ LLT, LLR 10/ LLR, LLT

Until today, the relationship between the applicant and the certification authority is based on the sharing of the pdf artefacts, plus some on site audit of the source code and test case.

This is not convenient for engineers to use pdf on every day job, and it is also not convenient for the authority to navigate across tens of pdf. Matrices are a way to identify uncovered items in a twinkling of an eye, and to navigate in pdf. They are the entry point to conduct an audit.

But there might be other clever ways to comply to the objectives I first described.