728x90
반응형
SMALL

소프트웨어 안전성 분석의 필요성

소프트웨어의 규모가 커지고,복잡해지고, SW가 우리 생활 전반을 관리.지원.통제.조종하는 
영역이 날로 커지고 있지만 소프트웨어의 기능적 실패(Failure)를 발생시키는 위험(Hazard)
요소를 파악하고 사전 예방하는 것이 어려워지고 있다. 
이런 기능적 실패는 곧 대형사고로도 이어질수 있는데.. 예를 들면 안전 필수 시스템
(자율주행자동차, 원자력, 항공, 철도)에서의 기능적 사고는 소프트웨어적 문제를 넘어서
인명피해, 환경오염 등으로 이어지므로 기능적 실패 방지를 위해 예산과 인력 투입과 더불어
, SW의 안전성 분석 노력이 필요하다.


소프트웨어 안전성 분석의 개념

정의 시스템이 만족해야 할 안전성을 만족하는지 확인하는 활동
- 수용 또는 허용 가능한 위험성을 분류하고 설계, 제작 및 운영 단계에서 각종 안전 
  기능 또는 안전대책을 마련하여 위험성 크기를 줄이는 활동
목적 위험 식별, 위험 영향분석, 위험 원인 분석
- 분석 기법에 따라 한 가지 이상의 목적을 달성할 수 있기 때문에 목적에 따라 기법 
  선택
특징 ① 귀납적〮◌연역적 방식 구분 : 위험과 위험의 원인을 도출하는 방법으로 구분
② 상향식〮◌하향식 기법 구분 : 안전성 분석 수행 시 시스템을 바라보는 관점으로 구분
③ 정성적〮◌정량적 결과 : 정성적은 도출이 쉽고 비용 절감, 정량적은 객관적이지만 복잡
④ 분석시기, 분석가의 전문성 요구정도 : 사용 시기, 적용 대상, 분석 범위 등의 결정

                        < 출처 : 118회 정보관리기술사 모임 - 두드림 >



소프트웨어 안전성 분석 기법 소개

FTA (Fault Tree Analysis)

● 정의
- 특정 사고에 대한 연역적 해석을 통해 사건 사고의 원인 파악 및 설비결함, 작업 실수 등을
  발견 및 분석하는 기법

- 시스템의 기능과 고장에 대한 정보를 트리 구조로 제공
- 위험이 발생할 원인들을 분석할 수는 있으나, 위험을 찾아내는 기법은 아님.
- 항공,전자공학,원자력 등 다양한 분야에서 사용되고 있음
-  Root에 의도하지 않은 이벤트를 두고, 이를 발생시킬 수 있는  
   잠재적인  faulty event 또는 normal mode를 노드(node)로 표현
   하고 이것들은 and/or 를 사용해 시각화해서 보여주는 방식.

장점 : 개발의 모든 단계에서 사용가능함.



FMEA (Failure Mode and Effects Analysis)

●정의

- 컴포넌트(서브시스템) 자체에 고장발생 원인이 개입되는 것을 피하기 위한 기법이다.
  그래서 주로 분석/설계단계에서 고장발생원인을
 사전에 제거하기 위한 목적으로 활용
- 고장 발생의 원인 및 중대 사고에 영향을 미치는 직접적인 원인인 서브시스템이나
  컴포넌트의 잠재적 고장 유형을 분석하는 기법 

- 심각도/발생도/검출도를 통해 고장으로 인한 시스템 영향 정량적 분석 
- 분석 결과에 따라 우선순위(RPN)을 부여하여 대응방안 수립
- 존재하고 있는 잠재적인 고장, 문제, 오류들이 사용자단까지 가기전에
  찾고(Identify), 정의하고(define), 제거하는(eliminate) 방식

- 먼저 모든 컴포넌트를 리스트형태로 정의하고, 각각의 고장모드(Failure Mode) 가
  영향을 미칠(Effects Analysis) 모든 컴포넌트,
 시스템을 정의하고 각각의 고장모드의
  가능성과 심각성을 개선하는
단계로 진행



HAZOP (Hazard and Operability Analysis)

●정의
이 방법은 위험과 시스템운영상의 위협요소를 조사하는 기법이다.
기본적으로 시스템을 검토하고 잠재적인 위험을 찾는 것이 목적이며
브레인스토밍 단계에서 Guide Word를 이용한다는 특징이 있다.
- 시스템의 기능요건과 같은 매개번수와 가이드워드의 조합을 통해서 예상치 못한 
  동작과 그에 따른 영향을 분석하는 기법
- 도출된 행위가 시스템의 안전에 어떤 영향을 미칠수 있는 지 분석

- 보통 공장설비 프로세스에 존재하는 해저드(Hazard)와 운용상의 문제점
  (Operability Problems)을 찾아내는 정성적 분석 기법이다.
- HAZOP 분석은 시스템의 원래 의도한 설계와 차이가 있는 변이(deviations)
  일련의 가이드워드(guidewords)를 활용하여 체계적으로 식별해 낸다

● HAZOP 분석 절차

 1) 분석대상 노드(Node) 선정
     - 어떤 프로세스상의 주요 변화가 발생하여 Hazard 와 운영상의 문제점이 발생
       할 가능성이 있는 프로세스의 한 부분을 말한다.
        ex) 액체온도가 변경되는 열교환기,  압력증가가 발생하는 펌프시스템

 2) 프로세스 파라미터 선정
     - 위험요인을 가진 시스템 구성요소의 물리적 특성
        ex) 온도,압력,

 3) 가이드워드(Guide word) 적용
     - 가이드워드는 분석 팀 멤버들이 프로세스 파라미터의 가능한 변이(deviations)
       생각(상상)해 내는데 도움이 되는 짤막한 단어/문구들이다.
     - 가이드워드의 역할은 일련의 표준 질문을 프로세스 파라미터에 반복적으로
       적용하여 정상 조건으로부터 벗어나는 변이(deviations)를 체계적이고 일관성 있게
       도출하도록 해주는 것이다
     ex) 가이드워드

`<출처 : https://grapevine9700.tistory.com/216 >

 4) 의도한 정상 설계에서 벗어나는 변이(deviations) 식별

  • 가이드워드를 선정된 프로세스 파라미터에 적용하여 발생 가능한 변이(deviation)
    찾는다.
    예를 들어 가이드워드 "No"가 파라미터 "flow"에 적용되면 "no flow" 라는 하나의
    deviation이 생성됨
  • 아래와 같이 가이드워드와 프로세스 파라미터를 조합하는 매트릭스를 활용한다.
  • 모든 가이드워드+파라미터조합이 의미 있는 것은 아니므로 매트릭스 상의
    빈 칸이 존재(분석이 필요 없는 경우)

 5) 변이를 초래하는 원인(causes) 파악

  • 변이(deviation)가 발생하는 이유를 찾는다. 특정 변이를 초래하는 원인(causes)
    한 가지 이상일 수도 있다.
  • 발생 가능성이 지나치게 낮은 원인은 분석 팀의 판단에 따라 리스트에서 제외될
    수도 있다.
  • 원인의 유형으로 크게 세 가지가 있다.
    -
    사람 에러(Human error): 오퍼레이터, 설계가, 제조자, 기타 관련 작업자의 행위로
                                       인해 심각한 결과를 초래하는 위험이 발생
    -
    장비 오류(Equipment failure): 기계적, 구조적, 운용상의 결함으로 인해 위험 발생
    -
    외부 요인(External events): 외부 요인이 노드 운용에 영향을 주어 위험을 발생시킴
                                         (, 정전, 수도 공급 중단, 날씨, 지진, 유관 노드의 장애 등)

 6) 변이로 인한 결과(consequences) 파악

     - 변이 발생에 따른 결과(피해, 문제점)를 파악한다.
       즉, 해당 변이가 시설 셧다운이나 제품 품질 저하 같은 프로세스 해저드(process hazards)
       와 운용 문제(operability problems)를 야기하는지 분석한다.
     - 변이의 영향은 안전성(safety), 환경(environmental), 경제성(economic) 측면에서 따져볼
        수 있다
.

 7) 변이의 안전책(Safeguards) 고려

 8) HAZOP 분석 프로세스 반복 및 결과 보고서 작성


<발췌 : https://grapevine9700.tistory.com/216 >

 

 

 

728x90
반응형
LIST

+ Recent posts