Part II Context of Safety-Critical Software Development

Part II provides an overview of how software fits into the overall system development effort. In order to successfully implement safe software, one must first understand its role in the system. Focusing only on the software without considering the system and its safety characteristics is like treating the symptoms of a serious illness without getting at the root cause of the illness. In my experience, there are five key factors that must be thoroughly and constantly addressed when developing safety-critical software:

  1. Well-documented systems architecture and requirements definition. The system architecture and requirements must focus on safety and be written down. It is next to impossible to successfully implement undocumented requirements. To ensure they are the right requirements, the system requirements also need to be validated for correctness and completeness.

  2. Solid safety practices at all levels of development. Throughout the development, potential hazards and risks must be identified and addressed. Safety should be integral to all processes at all levels of the development—not just the responsibility of the safety organization.

  3. Disciplined implementation. The documented requirements and safety attributes must be accurately implemented. This includes both assuring that the requirements are implemented and that no unintended functionality is added. A well-defined change management process is essential to successful implementation and iterative development.

  4. Well-qualified personnel. Safety-critical systems are implemented by human beings. The personnel must be knowledgeable of the domain, safety, and the technology being used to implement the system. People working in the safety-critical field should be the cream of the crop—perfectionists who strive for 100% on every task. Safety-critical systems demand a commitment to excellence—not just good enough.

  5. Thorough testing at all levels. There is definitely a role for reviews and analyses, but they cannot replace the need to prove functionality and safety claims with the integrated software and hardware.

This book concentrates on software, but always be mindful that the software is only one aspect of the overall system. The five factors mentioned earlier should be addressed throughout the entire system development. This Part (II) on systems development and safety sets the context for subsequent Parts (III to V), where the software development and integral processes, as well as special software topics, will be detailed.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.118.2.240