ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 16. DO-178 인증감사: 소프트웨어 개발 리뷰 (SOI#2) – Job Aid (4)
    잡談/DO-178 응용 2019. 2. 13. 15:35

    (1)   소프트웨어 개발 리뷰의 구분

     

    소프트웨어 개발 프로세스는 소프트웨어 요구사항, 설계, 코딩 그리고 통합 프로세스를 모두 포함해서 지칭하는 용어이다. 이러한 소프트웨어 개발 프로세스는 소프트웨어 검증, 형상 관리, 품질 보증, 그리고 인증 교섭 프로세스라는 필수 프로세스들에 의해서 지원받는다. 참고로 아래 그림의 2번과 3번이 그것을 설명하는 부분이다.


     

    출처: Avionics Certification: A Complete Guide to DO-178 (software), DO-254 (hardware) / Vance Hilderman, Tony Baghi

     

    이를 기반으로 보면 소프트웨어 개발 리뷰는 소프트웨어 라이프 사이클 전반에 걸친 데이터, 그 중에서도 특히 소프트웨어 개발 데이터와 그것과 연관된 통합 프로세스에서 나오는 데이터의 조사를 통해서 지원자의 계획과 표준의 효과적인 구현을 평가해야 한다. 상당히 광범위하고 복합적이라는 것을 알 수 있다.

     

    이러한 리뷰 과정에서는 계획과 표준이 변경된 부분에 대해서 지원자와 FAA가 서로 동의할 수 있다. 그리고 기본적으로 개발 리뷰를 수행하기 전에 소프트웨어 개발 프로세스와 데이터가 충분히 완성되고 성숙해야 한다. 여기서 소프트웨어 개발 프로세스가 충분히 성숙하다는 것에 대한 일반적인 기준은 다음과 같다.

     

        상위레벨 요구사항이 문서화되고 리뷰되고 시스템 요구사항으로의 추적이 가능하다.

        소프트웨어 아키텍처가 정의되고 리뷰와 분석이 완료되었다.

        하위레벨 요구사항이 문서화되고 리뷰되고 상위레벨 요구사항으로의 추적이 가능하다.

        소스 코드가 하위레벨 요구사항을 구현하고 하위레벨 요구사항으로 추적이 가능하며 리뷰되었다.

     

    (2)   소프트웨어 개발 리뷰를 위해 필요한 데이터

     

    지원자는 인증당국(혹은 DER)이 확인할 수 있는 다음과 같은 소프트웨어 데이터를 만들어야 한다. 이때 이들 소프트웨어 데이터는 반드시 소프트웨어 레벨에 따른 형상관리 하에 있어야만 한다. 그에 앞서 계획 리뷰에서 보았던 데이터들 또한 리뷰 이전에 리뷰팀에게 제공되어야 한다.

     

    소프트웨어 데이터

    RTCA/DO-178B Section

    *Software Requirements, Design 그리고 Code Standards

    11.6, 11.7, 11.8

    Software Requirements Data

    11.9

    Design Description

    11.10

    Source Code

    11.11

    Software Verification Procedures (RTCA/DO-178B Annex A, Table A-2~ A-5에 적용된 대로)

    6.3.1, 6.3.2, 6.3.3, 6.3.4, 11.13

    Software Verification Results (RTCA/DO-178B Annex A, Table A-2~ A-5에 적용된 대로)

    6.3.1, 6.3.2, 6.3.3, 6.3.4, 11.13

    Software Life Cycle Environment Configuration Index

    11.15

    Problem Reports

    11.17

    Software Configuration Management Records

    11.18

    Software Quality Assurance Records (RTCA/DO-178B Annex A, Table A-2~ A-5에 적용된 대로)

    11.19

    * RTCA/DO-178B, Annex A, Table A-1에 따라 레벨 D를 위해서는 필요하지 않음

     

    각각의 세부 내용에 대해서 필자가 별도로 포스팅한 링크를 일부 연결해 두었으므로 필요한 분들은 참고하시기 바란다

     

    (3)   소프트웨어 개발 리뷰에 대한 평가 기준

     

    소프트웨어 개발 리뷰에 대한 평가 기준은 RTCA/DO-178B Annex A에서 개발에 적용하는 목표(Objective)를 사용해야 한다. 아래와 같다.

     

    -       Table A-2 (목표 1 ~ 6)

    -       Table A-3 (모든 목표)

    -       Table A-4 (모든 목표)

    -       Table A-5 (목표 1 ~ 6)

    -       Table A-8 (목표 1 ~ 4, 6)

    -       Table A-9 (목표 1 ~ 2)

    -       Table A-10 (목표 1 ~ 2)

     

    추가적으로 소프트웨어 라이프 사이클 데이터는 개발 프로세스에서 계획과 표준에 대한 지원자의 구현의 유효성을 결정하기 위해 평가되어야 한다.

     

    (4)   Job Aid 기준 SOI#2 정리

     

    SOI#1에서와 마찬가지로 Job Aid에서 설명하는 SOI#2에 대한 내용을 살펴보자.

     

    n  SOI#2에 대한 활동 개발 리뷰(Development Review)

     

    구분

    내용

    목적 (Purpose)

               소프트웨어 라이프 사이클 데이터의 조사를 통해서 지원자의 계획과 표준의 효과적인 구현을 평가

               계획에서 어떤 변경에 대한 평가와 동의

               소프트웨어 라이프 사이클 데이터가 Table A-2, A-3, A-4, A-5, A-8, A-9, 그리고 A-10으로부터의 DO-178B 목표를 만족하는지를 평가

    리뷰를 수행하는 시기

    (When Review Occurs)

               소프트웨어 설계가 안전성 혹은 아키텍처의 훼손없이 진행중인 소프트웨어 변경을 지원할 정도로 충분히 성숙했을 때 혹은 필요하다고 간주될 때

               이 리뷰에 앞서서 다음과 같은 것들이 존재해야 함

    ü  상위레벨 요구사항이 문서화되고 리뷰되고 시스템 요구사항으로 추적가능하다.

    ü  하위레벨 요구사항이 문서화되고 리뷰되고 상위레벨 요구사항으로 추적가능하다.

    ü  소스 코드가 구현되고 하위레벨 요구사항으로 추적할 수 있으며 리뷰가 되었다.

    리뷰 전 검토할 데이터

    (Data Reviewed Prior to Review)

               SOI#1으로부터의 리포트

               SOI#1에서의 Open 항목들

               모든 계획들 (PSAC, SVP, SDP, SCMP, SQAP)

    ü  SOI#1 이후 복습차원

    ü  혹은 SOI#1 이후 계획으로부터의 변경을 리뷰하기 위해

    리뷰에서 검토할 데이터

    (Data Reviewed at Review)

               SRS, SDS, SCS

               Software Requirements Data

               Design Description

               Source Code

               Software Verification Results (Table A-2 ~ A-6에 적용된 대로)

               Problem Reports

               Software Configuration Management Records

               Software Quality Assurance Records

               추적 매트릭스(Trace Matrix)혹은 툴(Tool)

               DER의 사전 리뷰 활동으로부터 나온 Finding, Observation

    의제 (Agenda)

               Supplement 3Section 1 참조

     

    여기서 Supplement 3 Job Aid로 함께 릴리즈된 문서 중 하나이다. 실제 진행 일정이 예시로 나와 있다. 굳이 여기서 자세한 설명이 필요한 부분은 아니어서 이 부분은 생략한다.

    리뷰에 요구되는 기간

    (Number of Days Required)

               2 ~ 3

     

    대략적인 예상 기간일 뿐으로 실제 기간은 당시의 상황에 따라서 협의를 통해 최종 조율되는 부분이다. 참고만 하자.

    평가 활동 및 질문

    (Evaluation Activities and Questions)

               SOI#2 동안에 추적 매트릭스 혹은 유사한 추적성 툴이 각각의 주요 하위 시스템에서 하나 혹은 두 개의 Top-down 추적 (시스템 요구사항에서 상위레벨 요구사항으로, 설계로, 코드로, 시험 케이스로) 그리고 하나 혹은 두 개의 Bottom-up 추적 (코드로부터 설계로, 소프트웨어 요구사항으로, 시스템 요구사항으로)을 수행하기 위해 사용되어야 한다.

               추적은 서로 다른 영역 (예를 들면, 디스플레이, 인터페이스, 핵심 로직)에서 수행되어야 한다.

               추적동안에 다음과 같은 SOI#2 테이블(별도 테이블 참조)에 나열된 활동/질문들이 설명되어야 한다.

     

    SOI#2 테이블에 대한 부분은 추후 별도의 절에서 설명할 예정이다.

    설명(Instructions)

               SOI#2(개발 리뷰)에 대한 16개의 주요 평가 활동이 있음

               대응되는 DO-178 목표와 소프트웨어 엄격성과의 관계에서 각각의 활동에 대한 질문들을 리뷰하라

     

    위의 내용을 보면 추적 매트릭스와 툴에 대해서 자주 언급되고 있는 것을 확인할 수 있다. 추적 매트릭스와 툴의 사용은 기본적으로 추적성을 확인하기 위한 용도의 의미가 있지만 그것 이외에도 추적 매트릭스를 사용하는 현실적인 이유가 있다. 바로 수 많은 데이터 중에서 리뷰할 항목을 샘플링으로 선정하기 위한 목적이다.

     

    여기서 샘플링이라고 한다면 DO-178의 핵심이라고 할 수 있는 요구사항을 기준으로 생각하면 가장 이해가 빠르 것 같다. 예를 들어 상위레벨 요구사항을 하나 선정한다면 이 요구사항과 연결된 상위의 시스템 요구사항, 하위의 설계, 그리고 설계와 연결된 코드를 함께 선정하게 된다. 여기에 더해서 요구사항과 관련된 시험까지도 선정하게 되는데 이때 추적 매트릭스 혹은 툴이 사용되는 것이다. 추적 매트릭스와 툴은 이런 면에 있어서도 DO-178 인증에서 상당히 중요한 부분이다.

     

    개발 리뷰에서도 마찬가지로 Job Aid에는 평가 활동 및 질문에 대한 전체 리스트가 나온다. 실제로 이 리스트를 보면서 SOI#2를 진행할 수 있다. 일종의 체크리스트처럼 활용하는 것이다. 워낙 내용이 방대하기도 하고 간단하게 설명할 수 있는 부분이 아니어서 이 부분 역시 추후 기회가 되면 별도로 정리할 예정이다.

     


    댓글

Designed by Tistory.