DO-178C SOFTWARE PLANNING PROCESS

Objective - 3의 이해


  

1. Objective - 3의 개요

SW 라이프 사이클 프로세스의 활동을 위해 사용되는 방법. 도구 등을 포함하는 SW 라이프 사이클 환경이 선정되고 정의되어야 한다. (DO-178C 4.4참조)

 


2. Activity 

  • SW 개발환경

SW개발 환경은 높은 품질의 SW를 개발하는데 있어 중요한 요소이다. SW개발 시 몇 가지 환경들은 악영향을 끼칠 수 있다. 예를 들어 컴파일러(compiler)는 오류 있는 데이터를 만들어 에러를 일으킬 수 있고, 링커(linker)는 메모리할당 에러가 있는 것을 나타내지 못할 수도 있다. SW 개발 환경 방법 및 도구의 선택을 위한 활동은 아래와 같다.


  1. SW 계획 단계에서, SW 개발 환경은 소프트웨어 개발 시 잠재적인 위험을 줄일 수 있도록 선택해야 한다.

  2. 도구의 사용 또는 도구와 일부 SW 개발환경과의 결합은 어떤 한 부분에서 유입된 에러를 다른 부분에서 발견할 수 있을 정도의 확신 수준이 달성될 수 있도록 선택되어야 한다. 두 부분이 지속적으로 함께 사용되는 경우에 수용가능한 환경이 만들어 진다. 이러한 선택은 tool qualification필요성 여부에 대한 평가도 포함한다.

  3. SW 검증 절차 활동 또는 SW 개발 표준은 SW 등급을 고려하여 잠재적인 SW 개발 환경과 관련된 에러를 줄이기 위해 정의해야 한다.

  4. 도구의 사용을 위해 도구에 대한 certification이 필요하다면 도구의 사용절차가 계획에 적절하게 명시되어야 한다.

  5. 특정 프로젝트에서 SW 도구의 부가적인 옵션이 선택된다면, 옵션의 영향성은 계획단계에서 검토 및 명시되어야 한다. 이것은 특히 컴파일러와 자동코드 생성기에 중요한 사항이다.

  6. 도구의 알려진 문제점 및 한계점은 반드시 평가해야 하며 항공 SW에 부정적인 영향을 끼칠 수 있는 이런 이슈들은 반드시 다뤄져야 한다.

 

  • 언어 및 컴파일러 고려사항

    SW 제품의 검증이 성공적으로 완료된다면 컴파일러는 해당 제품에 적합하다고 여겨진다. 이 활동이 유효 하려면, SW 검증 절차는 프로그래밍 언어 및 컴파일러의 특별한 특성을 고려할 필요가 있다 SW 계획 과정은 검증을 위한 프로그래밍 언어 및 계획을 선택할 때 위와 같은 특성을 고려해야 한다. 활동은 아래와 같다.

    1. 어떤 컴파일러는 오브젝트코드의 성능을 최적화하려는 특성이 있다. 만약 SW 레벨에 적절하게 테스트케이스가 작성되었다면 최적화의 정확성은 검증될 필요가 없다. 그렇지 않다면, 구조적 커버리지(structural coverage) 분석에 대한 이러한 특징의 영향이 결정되어야 한다. 추가적인 정보는 DO-178C 6.4.4.2에 기술되어 있다.

    2. 특정기능을 구현하기위해, 몇 개의 컴파일러는 소스코드로 직접 추적할 수 없는 오브젝트코드를 생성 한다. 예를 들어 초기화, 내장(built-in)된 에러 검출, 예외처리가 있으며 추가적인 정보는 DO-178C 6.4.4.2.b에 서술되어 있다. SW계획 절차에서 오브젝트코드의 검출 및 범위(coverage)를 검증하기 위한 수단을 제공해야 하며, 적합한 계획(appropriate plan)에서 수단을 정의해야 한다.

    3. 만약 새로운 컴파일러, linkage editor 또는 로더(loader) 버전이 도입되거나, SW 라이프 싸이클 동안 컴파일러 옵션이 변경될 경우, 기존에 테스트 및 커버리지 분석은 더 이상 유효하지 않을 수 있다. 검증 계획은 DO-178C 6장 및 12.1.3장과 일관되는 재검증 수단을 제공해야 한다.

 

  • SW 테스트환경

    SW 테스트 환경 계획은 통합 프로세스의 결과를 시험하기 위해 사용될 방법, 도구, 절차, HW를 정의한다. 테스팅은 target computer, target computer emulator, 또는 host computer simulator을 이용하여 수행된다.

    테스팅의 활동들은 다음과 같다.

  •  

  1. Emulator 또는 simulatorDO-178C 12.2장에 기술된 것처럼 툴 자격을 갖춰야 한다.

  2. Target computeremulator(또는 simulator)의 차이점 및 에러를 검출하고 기능을 검증하는 능력에 대한 target computeremulator(or simulator)차이점의 결과를 고려해야 한다. SW 검증 프로세스에 의해 에러가 검출되어야 하며 SW 검증 계획(SVP)에서 에러 검출방법이 명시되어야 한다.

 

3. Applicability by Software Level

해당 ObjectiveSW 레벨 A~C 에서는 모두 달성해야 하며 레벨 D SW는 해당되지 않는다.

 

 

4. Outputs(산출물)


  • PSAC (Plan for Software Aspects of Certification)

         소프트웨어 인증계획 문서 자세한 내용은 DO-178C11.1항목 참조

  • SDP (Software Development Plan)

         소프트웨어 개발 계획 문서 자세한 내용은 DO-178C11.2항목 참조

  • SVP (Software Verification Plan)  

         소프트웨어 검증 계획 문서 자세한 내용은 DO-178C11.3항목 참조

  • SCM Plan (Software Configuration Management Plan)

         소프트웨어 구성 관리 계획 문서 자세한 내용은 DO-178C11.4항목 참조

  • SQA Plan (Software Quality Assurance Plan)

         소프트웨어 품질 보증 계획 문서 자세한 내용은 DO-178C11.5항목 참조


 

5. Control Category by Software Level

SW 레벨 A, B의 산출물 PSAC, SDP, SVP, SCM Plan, SQA Plan CC1을 기준으로 형상 관리하며, SW 레벨 C, D의 산출물 PSAC CC1을 기준으로, 산출물SDP, SVP, SCM Plan, SQA Plan CC2기준으로 형상 관리한다.

 

6. 달성방안

  • SDP SW 개발 절차 및 활동에서 활용하는 방법, 도구(Tool), HW장비를 선정한다.

  • Development Tools, Coding Rule, Programming Language, Editor, Compiler

  • Verification Tools: LDRA Testbed/TBrun, Debugging Tool

  • Management Tools: MS-Project, PMS, ClearCase, CVS, Doors

  • Tool 중에서는 Tool Qualification을 받아야 하는 것을 명시한다. (Ref. DO-178C 12.2)

  • Tool을 선정할 때에는 SW의 잠재적인 위험 및 결함을 최소화할 수 있는지를 고려한다.

  • SW가 탑재될 HW장비 또는 그 장비를 대신할 Emulator 또는 Simulator를 선정한다.

 

다음에는 Objective - 4에 대해 알아보도록 하자.


+ Recent posts