Verification is confirmation of objective evidence that specified requirements have been met. It ensures correctness, completeness, consistency etc. of the activity output related to its input. The following steps are inluced:
Technical Specification Analysis (TA):
Verify software requirements against the following criteria:
traceable to system partitioning and system requirements
externally and internally consistent
unambiguous and verifiable
safety and criticality correct
software design feasible
operations and maintenance feasible.
Identify safety-critical and mission-critical design drivers and potential test cases.
Design Analysis (DA):
Focus on software architectural design and detailed design, and analyse software user manual.
Evaluate design of each software product i.e. analysis of the Design Definition File (DDF) and Design Justification File (DJF), focusing on aspects such as:
reliability, availability and safety, ensuring that sufficient and effective fault detection, isolation and recovery mechanisms are included
error handling mechanisms
initialisation / termination of software components
interfaces between software components and between software and hardware components
threads / processes synchronisation and resource sharing
budget and schedulability analysis.
Code Analysis (CA):
Analysis of application source code, test procedures and test data
Evaluating source code of each selected software product focusing on aspects such as:
reliability, availability and safety, ensuring that sufficient and effective fault detection, isolation and recovery mechanisms are included
error handling mechanisms
initialisation / termination of software components
interfaces between software components and between software and hardware components
threads / processes synchronisation and resource sharing
budget and schedulability analysis.
