Software Qualification

 

The qualification process for software and its component or units requires the following actions:

 

·         Defining the software functional requirements

·         Determination of resource usage

·         Predicting software behavior during various fault situations

 

Software errors are analyzed and resolved throughout the design process. Software testing is performed under normal operating conditions and during the insertion of various types of faults to determine how it reacts to abnormal inputs. Software development and testing requirements are addressed in part 6 of the standard. The standard covers requirements for:

 

·         Initiating Software Development

·         Software Architectural Design

·         Software Unit Design

·         Software Implementation

 

The analysis and testing process can be reduced through utilization of existing qualified software during the development process. Examples of proven and qualified software components that could be utilized include but are not limited to driver software, libraries, databases and operating systems.

Hardware Qualification

The qualification process for hardware components generally consists of two purposes:

1.      Specify how the component fits into the overall system design

2.      Assess all probable failure modes

Hardware components are validated through comprehensive testing under various operational and environmental conditions. Basic hardware components may be qualified through standard qualification processes. However, more complex hardware components require ASIL evaluation, decomposition and validation testing. The test procedures and results of the testing must be evaluated and documented in a “qualification report”.

 

The Safety Case

 

A Safety Case must be developed to validate that our item or element will achieve our dependability goals, using all the applicable methods and evidence consisting of quality management, formal design verification, software code analysis, system testing, or proven-in-use data. The Safety Case should validate that our system meets the safety goals we determined previously and confirm dependability is acceptable for the assigned ASIL. In addition, the Safety Case must validate that our ASIL ranking is appropriate for the system.