잡談/DO-178 기본

27. SECI(Software Life Cycle Environment Configuration Index) (Section 11.15)

sudam 2019. 1. 7. 16:35

SECI라고 부르는 이 문서는 제목 자체가 생소하다. 더구나 제목에 인덱스가 포함되어 있다는 점에서 다른 문서들과는 뭔가 다른 성격이라는 느낌이 들게 된다. 우선 DO-178 가이드라인을 통해서 이 문서가 어떤 용도로 사용되는지를 확인해 보자.


 

해석을 보자.

 

소프트웨어 라이프 사이클 환경 형상 인덱스(SECI)는 소프트웨어 라이프 사이클 환경의 형상을 구분한다. 이 인덱스는 소프트웨어 재생성, 재검증 혹은 소프트웨어 수정을 위한 하드웨어 및 소프트웨어 라이프 사이클 환경의 재생산을 지원하기 위해 작성된다.

 

우리가 개발하고 인증을 받게 되는 소프트웨어는 일단 완성이 되더라도 상황에 따라서 동일한 소프트웨어를 다시 만들어야 할 수도 있다. , 새롭게 컴파일해서 실행가능한 오브젝트 파일을 다시 만드는 경우가 있을 수 있다는 말이다. 이를 위해서는 기존 개발 환경과 시험 환경이 완벽하게 일치된 형태를 만들 수 있어야 한다. 만약 어느 하나라도 기존 환경과 다른 부분이 있다면 그렇게 해서 나오게 되는 소프트웨어가 기존 소프트웨어와 동일하다는 보장을 할 수 없게 된다. 위의 설명은 바로 그런 관점으로 이해할 수 있는 내용이다.

 

구체적으로는 아래와 같은 내용이 포함되어야 한다.

 

a.      소프트웨어 라이프 사이클 환경 하드웨어와 운영체제 소프트웨어를 구분

b.     소프트웨어 개발 동안에 사용되어야 하는 툴을 구분. 예를 들면 컴파일러, 링크 편집기, 로더, 체크섬 혹은 CRC를 계산하고 내장하는 것과 같은 데이터 무결성 툴, 관련된 옵션을 포함한 자동코드 생성기가 포함될 수 있음

c.      소프트웨어 제품을 검증하기위해 사용되는 시험환경을 구분, 예를 들면 소프트웨어 시험과 분석툴

d.     인증된(qualified) 툴과 관련된 툴인증 데이터의 구분

 

참고로 DO-178 가이드라인에서는 이 문서를 다음에 설명할 소프트웨어 형상 인덱스(Software Configuration Index)에 포함될 수 있다고 다음과 같이 설명하고 있다.