소프트웨어 공학/시험 공부 정리

[소공 시험공부] Safety Engineering

lumana 2024. 6. 6. 23:46

지금까지 Dependability 중 Availability, Reliability를 다뤘으니 이제 Safety를 다룰 차례이다.

 

Safety란?

시스템이 비정상/정상이든 작동하면서 인간에게 상해나 사망을 초래하지 않고, 시스템 환경에 손상을 주지 않는 속성을 말한다

availability와 Reliability를 만족한다고 해서 Safety 한게 아니다. 명세와 부합하는지는 관련이 없다.

 

Unsafe 하다는 건 어떤건가요?

시스템에서 오랫동안 감지되지 않다가 드물게 결함이 나탈수도 있고, 명세에 오류가 있을수도 있고, 하드웨어 고장일수도, Context-sensitive 명령일수도... 요런 것들이다

 

중요한 용어 암기하기

safety-critical system : 시스템 작동이 항상 안전해야 하는 시스템

Accident (or mishap) 계획되지 않은 사건 또는 일련의 사건으로, 인명 사상, 재산 손상, 또는 환경 피해를 초래합니다. 인슐린 과다 복용이 예입니다.
Hazard 사고를 일으킬 가능성이 있는 잠재적인 조건입니다. 예를 들어, 혈당을 측정하는 센서의 고장은 하나의 위험 요소입니다.
Damage 사고로 인한 손실의 측정입니다. 손상은 중대 사고로 많은 사람들이 죽는 것부터 경미한 부상이나 재산 손상까지 다양합니다.

 

Hazard severity 특정 위험으로 인한 최악의 피해 평가입니다. 재난 수준에서 경미한 피해까지 다양할 수 있습니다.
Hazard probability 위험을 초래하는 사건이 발생할 확률입니다. 확률 값은 임의적일 수 있지만, 발생할 가능성은 '높음'에서 '불가능'까지 다양합니다.
Risk 시스템이 사고를 일으킬 확률의 측정입니다. 위험은 위험 확률, 위험 심각성, 사고로 이어질 확률(hazard probability, the harard severity, and the probability that hazard will lead to an accident)을 고려하여 평가됩니다.

 

Hazard가 존재한다면 Hazard의 심각성과 확률이 존재한다. 여기서 Accident(사고)로 이어질 확률이 Risk 이고, Accident 발생 시 손실을 측정한게 Damage가 된다.

 

Hazard를 어떻게 다뤄야 하나요? (iaas)

  • 위험 요소 식별 (Hazard identification)
  • 위험 요소 평가 (Hazard assessment)
    • Severity와 Probability를 추정한다
    • 가능성 높거나 심각한 것을 배제
  • 위험 요소 분석 (Hazard analysis) : 근본 원인을 발견하는 것이 목표
    • 귀납적으로(system failure -> 위험을 평가)
    • 연역적으로(hazard로부터 -> 원인 추론)
  • 안전 요구 사항 명세 (Safety requirements specification)

 

리스크를 줄이는 방법?

중요!! 이 부분을 암기하자. 언제 어떤 전략을 사용할지(ADL)

  • 위험 회피(Hazard avoidance)
    • 시스템이 일부 유형의 위험이 발생할 수 없도록 설계됩니다.
    • ex) hazard 확률이 낮고, severity가 높은 경우?
  • 위험 감지 및 제거(Hazard detection and removal)
    • 시스템이 사고로 이어지기 전에 위험을 감지하고 제거하도록 설계됩니다.
    • hazard 확률이 높지만 Severity가 높지 않은 경우
  • 피해 제한(Damage limitation)
    • 시스템에는 사고로 인한 피해를 최소화하는 보호 기능이 포함됩니다.
    • hazard 확률이 높고 Severity도 높은 경우

 

Safety Engineering Process에는 어떤 것들이 있나요?(FMS)

요것도 외우기

  • Formal verification : 수학적으로 명세를 세부적으로 정의. 명세 오류 및 누락, 프로그램 설계오류 발견에 효과적
  • Model Checking : FSM으로 가능한 모든 경로 체크, 테스트하기 어려운 동시성 시스템 검증에 유용
  • Static program analysis : 텍스트 구문분석. 프로그램이 해줌. Inspection의 보조 수단