Software System Safety
Encyclopedia
In software engineering
Software engineering
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...

, software system safety optimizes system safety in the design, development, use, and maintenance of software systems and their integration with safety-critical hardware systems in an operational environment.

Overview

Software system safety, an element of the total safety and software development program, cannot be allowed to function independently of the total effort. Both simple and highly integrated multiple systems are experiencing an extraordinary growth in the use of computers and software to monitor and/or control safety-critical subsystems or functions. A software specification error, design flaw, or the lack of generic safety-critical requirements can contribute to or cause a system failure or erroneous human decision. To achieve an acceptable level of safety for software used in critical applications, software system safety engineering must be given primary emphasis early in the requirements definition and system conceptual design process. Safety-critical software must then receive continuous management emphasis and engineering analysis throughout the development and operational lifecycle
Software development process
A software development process, also known as a software development life cycle , is a structure imposed on the development of a software product. Similar terms include software life cycle and software process. It is often considered a subset of systems development life cycle...

s of the system.
Software system safety is directly related to the more critical design aspects and safety attributes in software and system functionality, whereas software quality attibutes are inherently different and require standard scrutiny and development rigor. Software safety hazard analysis required for more complex systems where software is controlling critical functions generally are in the following sequential categories and are conducted in phases as part of the system safety or safety engineering process: software safety requirements analysis; software safety design analyses (top level, detailed design and code level); software safety test analysis, and software safety change analysis. Once these "functional" software safety analyses are completed the software engineering team will know where to place safety emphasis to focus on designing in software safety attributes to ensure correct functionality and to detect malfunctions, failures, faults and to implement a host of mitigation strategies to control hazards.

Goals

  • Safety consistent with mission requirements, is designed into the software in a timely, cost effective manner.
  • On complex systems involving many interactions safety-critical functionality should be identified and thoroughly analyzed before deriving hazards and design safeguards for mitigations.
  • Safety-critical functions lists and preliminary hazards lists should be determined proactively and influence the requirements that will be implemented in software.
  • Contributing factors and root causes of faults and resultant hazards associated with the system and its software are identified, evaluated and eliminated or the risk reduced to an acceptable level, throughout the lifecycle.
  • Reliance on administrative procedures for hazard control is minimized.
  • The number and complexity of safety critical interfaces is minimized.
  • The number and complexity of safety critical computer software components is minimized.
  • Sound human engineering principles are applied to the design of the software-user interface to minimize the probability of human error.
  • Failure modes, including hardware, software, human and system are addressed in the design of the software.
  • Sound software engineering practices and documentation are used in the development of the software.
  • Safety issues and safety attributes are addressed as part of the software testing effort at all levels.
  • Software is designed for human machine interface, ease of maintenance and modification or enhancement
  • Software with safety-critical functionality must be thoroughly verified with objective analysis and preferably test evidence that all safety requirements have been met per established criteria.

The Army closed Fort Monmouth on September 15, 2011. The following PDF file may be useful:
http://www.system-safety.org/Documents/Software_System_Safety_Handbook.pdf 2.15MB

IEEE STD 1228-1994 Software Safety Plans
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK