Traceability

While traceability plays a key role in the software development process for many groups it presents as a high impact burden.  Modern software tools can simplify the traceability process however it all begins with the requirements.

Why is traceability important?

The objective of traceability is to ensure that requirements are met in the final product. Image result for traceability design v mathworksThis is achieved by the creation of traceability “check-ins” at each stage of the development process.  A check-in serves two purposes.  First, they ensure that the design process does not “drift” too far from the requirements.  Second, they provide formal documentation of adherence to the defined development processes.

How do we “check-in?”

Check-ins should be an automated processesImage result for check in where information is cross checked between the current state of the models and the requirements.   If the requirements are written in a testable format than the check in consists of running the tests and a human verification of the test result.  If they are not written in a testable format or the complexity is such that automated testing is not possible then a manual review is required.

Check-in deliverables

The primary deliverable of the check-in is a traceability report.  It documents that at each step in the process the model and related artifacts were validated against the requirements.

Image result for traceability matrix simulink

Final thoughts

Traceability is one of the core activities of a safety critical software design process.  Implementation of automated requirements tracing is greatly simplified in a Model-Based Design environment that includes simulation capabilities.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.