2017년 4월 14일 금요일

수명주기별 안전성 관리

가. 수명주기 개요 

안전관련 시스템에 의해 수행되는 안전기능에 대해 필요한 안전무결성 수준을 달성하기 위한 모든 활동을 체계적인 방법으로 다루기 위하여, IEC 61508 에서는 기술 프레임워크로서 전체 안전수명주기를 제시하고자 한다. 전체 안전수명주기는 이 표준 준수를 위한 객관적 참조물로 제시되고, 각 단계의 목적과 요구사항에 충족된다면, 다른 SW 개발 안전수명주기를 이용할 수 있다.

소프트웨어 개발을 위한 안전수명주기는 IEC 61508 에 따라 전체 시스템 개발계획에 안전계획이 결정되고 명시되어야 한다. 표준에서 요구하는 사항을 만족시키는 안전수명주기 모델은 본 가이드에서 참조 가능하도록 상세하게 제시하였으며, 프로젝트나 조직의 특정한 구체적 요구에 맞추어 적절하게 조정하여 사용할 수 있다. 다음은 IEC 61508 에서 제시하는 수명주기 관련 요구사항은 다음과 같다.


  • 품질과 안전 보증 절차는 안전수명주기의 각 활동들과 통합되어야 한다. 
  • 소프트웨어 안전수명주기의 각 단계는 적용범위를 갖는 기초 활동과 각 단계를 위해 명시된 입력과 그 결과물인 산출물로 구분되어야 한다. 
  • SW 수명주기 단계에 관한 자세한 정보는 ISO/IEC 12207 을 참조한다. 
  • IEC 61508-1 의 안전수명주기 단계별 산출물들이 포함되어야 한다. 
  • 산출물은 E/E/PE 안전관련 시스템의 개발마다 때로는 몇 개가 병합되기도 하고 세분화되어 나누어진 별개의 문서로 제공될 수도 있다.  
  • 핵심적인 요구사항은 모든 안전수명주기 단계들의 산출물은 그 의도된 목적에 적합해야 한다는 것이다. 간단한 개발에서는 일부 안전수명주기 단계들이 병합될 수 있다. 
  • 소프트웨어 안전수명주기가 IEC61508 에서 요구하는 사항을 만족시킨다면, V 모델 단계들의 정도, 수, 작업규모를 안전무결성 및 프로젝트의 복잡성을 고려하여 일부 절차 및 활동은 조정할 수 있다. 
  • 표준에서 제시하는 수명주기 단계들의 전체 리스트는 대체로 규모가 크고 새로 개발된 시스템에 적합하다. 예를 들면 소규모 시스템에서는 소프트웨어 시스템 설계 및 아키텍처 설계 단계를 병합하는 것이 적합할 수도 있다. 
  • 표준의 모든 목적과 요구사항을 만족한다면, 다르게 소프트웨어 프로젝트를 관리할 수 있다(즉, 다른 소프트웨어 안전수명주기 모델 이용 가능). 
  • 각 안전수명주기 단계에서 SW 안전성 보증을 위해 적절한 기법과 수단이 이용되어야 한다.  
  • 소프트웨어 안전수명주기에서의 활동 결과들은 문서화되어야 한다. 


나. 수명주기 개발 참조 관련 규격 및 문헌 
  • IEC 61508-1:2010, Functional safety of electrical/electronic/programmable electronic safety-related systems – Part 1: General requirements 
  • IEC 61508-2:2010, Functional safety of electrical/electronic/programmable electronic safetyrelated systems – Part 2: Requirements for electrical/electronic/programmable electronic safety-related systems 
  • IEC 61508-3:2010, Functional safety of electrical/electronic/programmable electronic safetyrelated systems – Part 3: Software requirements 
  • IEC 61508-4:2010 Functional safety of electrical/electronic/programmable electronic safetyrelated systems – Part 4: Definitions and abbreviations 
  • IEC 61508-5:2010, Functional safety of electrical/electronic/programmable electronic safety-related systems – Part 5: Examples of methods for the determination of safety integrity levels 
  • IEC 61508-6:2010, Functional safety of electrical/electronic/programmable electronic safety-related systems – Part 6: Guidelines on the application of IEC 61508-2 and IEC 61508-3 
  • IEC 61508-7:2010, Functional safety of electrical/electronic/programmable electronic safety-related systems – Part 7: Overview of techniques and measures 
  • KS C IEC61508-1:2010 전기/전자/프로그램 가능 전자식 안전관련 시스템의 기능 안전성 - 제 1 부: 일반 요구사항 
  • KS C IEC61508-3:2010 전기/전자/프로그램 가능한 전자장치 안전관련 시스템의 기능안전성-제 3 부:소프트웨어 요구사항 
  • 철도 소프트웨어 안전 기준 및 체계 구축 연구보고서, 2008 
  • NUREG CR-6430 UCRL-ID-122514 SW Safety Hazard Analysis, NRC, USA 
  • NUREG IA-0145 RELAP5 Assessment Against - Revision 1, NRC, USA 
  • IEEE730 A guide to writing successful SQA plans 
  • IEEE829:2008 SW test documentation 
  • IEEE1016:2009 Software design description 
  • IEEE1012:2004 Standard for Software Verification and Validation 
  • IEEE1228:1994 IEEE Standard for Software Safety Plans 
  • IEEE1540:2001 Software Engineering Risk Management: Measurement-Based Life Cycle Risk Management 
  • ISO12207:2004 Systems and software engineering - Software life cycle processes 
  • SIL4 인증문서 한글 표준양식(템플릿) 적용사례 연구, 한국철도학회 
  • 소프트웨어 개발 프로세스에서의 안전성 분석 및 관리 활동의 적용방안, 중소기업융합학회 
  • 기능안전 적용을 위한 소프트웨어 개발 가이드라인, KTL 
 
다. 안전 수명주기 구성 

기능 안전 표준인 IEC61508 과 SW 수명주기 표준인 ISO12207 을 참고하여 안전 수명 주기를 구성하였다. SW 안전 수명주기는 크게 세 부문으로 구성되고 각 부문에는 아래와 같이 세분화된 단계로 구성될 수 있다.
 
  • Analysis 부문 
  • 위험분석 단계 
  • Realization 부문 
  • SW 계획 단계 
  • SW 요구분석 
  • SW 설계 단계 
  • SW 구현 단계 
  • SW 통합 단계 
  • SW 확인 검증 단계 
  • Operation 부문 
  • SW 운영 단계 
Realization 부분의 SW 검증 및 확인 단계는 Realization 부문의 단계 시작 전에 계획되어 전 단계에 걸쳐 활동이 진행된다. 


그림. 전체 안전 수명주기(IEC61508)