ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 28. 비용 산출과 기준
    잡談/DO-178 번역 2019. 3. 18. 16:45

     

    이 책의 마지막 단계에 가까워지면서 DO-178BDO-254에 대한 이해가 더 높아져야 하며 적어도 증명된 전략으로 당신의 프로젝트를 시작할 수 있을 정도가 되어야 한다. 하지만 전문가가 된다는 것은 차를 운전하는 것과 비슷하다. 만약 당신이 항공전자 인증 프로젝트에서 일해보지 않았다면 당신은 배우기 시작하는 첫번째 단계에 있는 것이다. 전문성은 실전을 통해서 나온다.


    역주) 저자의 말에 전적으로 동감하는 바이다. 사실 실전에 대한 경험없이 DO-178을 이론적으로만 접하는 것은 상당한 오해와 잘못된 결과를 가져올 수 있다. 따라서 실전이 없으면 잘못된 부분을 깨닫고 제대로 이해하기가 어려운 게 사실이다. 일종의 수업료의 개념으로 실전을 몇 번 거치는 것이 DO-178을 이해하는 가장 빠르고 확실한 방법임에는 틀림이 없다. 문제는 돈과 시간, 그리고 윗선(?)의 인식이겠지만.

     

    우리는 모두 비용에 대해서 걱정한다. 그리고 항공전자 인증에서 가장 큰 비용 영향은 효율성과 검증이다. 낮은 효율성은 당신이 가장 빠른 길을 가는 대신에 어떤 솔루션을 반복할 것이라는 것을 의미하며 그것이 많은 항공전자 프로젝트들이 50 ~ 100%의 예산을 초과하는 이유이다. 검증은 특별한 짐승이라고 할 수 있는데 왜냐하면 그것이 DO-178B 예산의 약 35%를 잡아먹기 때문이다. 그 이유는 구조적 커버리지 분석에 있다. 한 라인의 코드를 검증하는데 얼마나 오랜 시간이 걸릴까? 꽤 걸린다. 비용 요인은 무엇일까? 만약 당신이 다음의 네 가지 아이템을 올바로 따를 수 있다면 30 ~ 50%를 아낄 수 있을 지 모른다. 정확성, 상세한 요구사항, 리뷰, 최소화된 코드 수정과 효율적인 시험이 그것이다. 라이프사이클 활동에서 제품에 대한 단지 약간의 개선을 위해서도 비용이 빠르게 올라간다.


     

    DO-178B 비용 기준/할당

     

    형상관리 & 품질보증 10%

    DER 서비스 5%

    관리 5%

    요구사항 개발 10%

    설계 10%

    코딩 25%

    시험 35%

     

    주요 비용 요인들

     

    정확한 & 상세한 요구사항

    정확한 & 철저한 리뷰

    최소화된 코드 변경

    효율적인 시험

     

     

     

     

    비용 이슈들

     

    인증 대 준용

     

    DO-178B를 위한 EFW 계획이 존재(5가지 핵심 프로세스 계획)

     

    PSAC & SAS

     

    DO-254의 적용

     

    DO-178B 상관관계

     

    DER 지원

     

    요구사항 & 추적성의 형식화

     

    자동화된 기능 시험 환경

     

    설계 방법론의 형식화

     

    구조적 커버리지

     

    상세화된 체크리스트

     

    정적 코드 분석

     

    소프트웨어 시험 툴 선택

     

    소프트웨어 툴 인증

     

    RTOS 고려

     

    BSP 인증가능성

     

    이전에 존재하는 소프트웨어

     

    갭분석

     

    리버스 엔지니어링

     

    감사를 포함하는, DO-178B에 대한 QA 업그레이드

     

    그래픽 패키지/라이브러리

     

     

     

    유명한 미신은 DO-178B가 비싸다는 것이다. 사실 레벨 D 소프트웨어조차도 문서화, 리뷰 그리고 기본적인 시험 프로세스를 요구한다. 추가적으로 형상관리, 품질보증 그리고 DER 교섭이 레벨 D에 적용된다. 그러나 레벨 D의 비용은 다른 어떤 비 인증 상용 소프트웨어 프로세스보다도 그렇게 많지 않다. 왜 그럴까? 레벨 D는 거의 대부분 일반적인 산업 표준 소프트웨어 엔지니어링 원칙으로 구성되어 있기 때문이다.

     

    또 다른 오해는 가장 중요한 비용 상승이 DO-178B 위험 레벨 B에서 레벨 A로 이동할 때 나타난다는 것이다. 사실이 아니다. DO-178B의 비용 충격은 레벨 D와 레벨 C 사이에서 가장 크다. 그 이유는 레벨 C는 레벨 D가 요구하지 않는 다음과 같은 것을 요구하기 때문이다. 결과적으로 레벨 C에서는 30% 더 많은 예산과 일정을 요구한다.

     

    l  하위레벨 소프트웨어 요구사항 시험

    l  모든 소스코드 statement에 대한 100% 커버리지 보장

    l  리뷰에 더 큰 엄격함이 요구됨

    l  많은 경우에 있어서 더 엄격한 형상관리

     

    레벨 B는 추가적인 구조적 커버리지(decision-condition, 즉 소스코드에서 모든 branch), 리뷰에서 추가적인 독립성 그리고 더 엄격한 형상관리를 요구한다.

     

    처음 보게 되면 레벨 B가 상당히 더, 예를 들면 레벨 C보다 50% ~ 70% 비싼 것처럼 보인다. 이론적으로는 그것이 말이 되지만 삶의 많은 영역에서 그런 것처럼 상식은 이론을 넘어선다. 레벨 B(그리고 C)에서는 상세한 하위레벨 소프트웨어 요구사항이 있어야 하며 그들은 철저하게 시험되어야 한다. 요구사항 기반 시험동안 소소코드에서 branch의 대부분(70 ~ 90%)이 이미 실행되며 만약 시험 추출과 커버리지 툴이 적절하게 사용된다면 추가적인 구조적 커버리지 시험이 요구되지 않는다. 따라서 레벨 C에 대비한 레벨 B 구조적 커버리지와 관련되어 현저한 비용 증가로 보이는 것은 이미 요구사항 기반 시험에 의해서 완화된다. 또한 소프트웨어 품질 조직은 독립적인 리뷰와 엄격한 형상관리를 포함하는 반자동화되고 합리화된 프로세스가 결합되어 있다. 그래서 레벨 B에 대한 이러한 특성의 추가된 비용은 상당히 완화된다. 이 책을 읽는 독자는 이러한 비용 절감 기술을 활용하기 위해 선행하는 DO-178B 훈련과 DO-178B 프로세스 개선을 진행하는 데 심사숙고하고 있는 것이다.

     

    레벨 A는 가장 위험한 소프트웨어 레벨이고 가장 비싸다. 여전히 다른 미신이 존재하는데, , “레벨 A는 달성하기 매우 어렵고 레벨 B보다 적어도 30 ~ 50% 더 비용이 들 것이다.”라는 것이 그것이다. 하지만 그것은 거짓이다. 레벨 A는 한층 더 엄격한 구조적 커버리지 요구사항(MCDC 시험), 강건성 그리고 요구사항들의 연관성 그리고 조금 더 엄격한 리뷰를 강요한다. 레벨 B에 비해서 가장 중요한 비용 요인은 MCDC 시험에 대한 요구사항이다. 그러나 현대적인 구조적 커버리지툴의 적절한 적용, 인력에 대한 훈련 그리고 철저한 요구사항 기반 시험으로 레벨 A에 대해서 추가되는 비용의 상당부분을 수용할 수 있다.


    역주) DO-178은 돈이 많이 든다. 시간도 엄청나게 많이 든다. 따라서 우선 인증만 전담하는 인력이 최소 1명이상 장기적인 관점으로 투입되어야 한다. 여기서 개발자는 별개이다. 그리고 개발자는 새로 투입되는 개념이 아니다. 최소한 개발하는 소프트웨어를 충분히 이해할 수 있는 능력이 있어야 하므로 기존 개발자가 가장 적합할 것이다. 아마도 팀에서 고참급이 될 것이다. (실제로 그래야 한다) 그리고 이렇게 최소 두 명 이상이 DO-178 인증을 준비하고 시작하는 것이다.

     

    위에서 저자가 설명하는 이런 저런 이야기들은 사실 부차적인 문제라고 할 수 있다. 현실에서는 전담할 수 있는 인력이 있느냐의 문제가 가장 중요하다. 그리고 이를 결정하고 진행할 수 있는 것은 결국 회사의 의지가 될 것이다. 의지만 확실하다면 비용은 어떤 식으로든 해결해 나갈 수 있지만 의지가 없으면 아무리 많은 돈을 쏟아부어도 DO-178을 제대로 수행할 수 없다.

     

    DO-178B가 엄격한 요구사항을 구체화한 것이 아니라 가이드라인이라는 것을 분명히 해야 한다. 거기에는 세 개의 중요한 프로세스가 있다. 계획, 개발 그리고 정확성이다. 위험레벨은 안전성 평가에 기반한다. 상위레벨과 하위레벨의 두 가지 레벨의 요구사항이 있다. 추적성은 상위에서 하위로 구체화하고 그런 다음에는 하위에서 상위로 구체화한다. 당신은 반드시 계획과 요구사항, 설계, 코딩 그리고 시험간의 전이에 대해서 그 계획을 준수한다는 것을 보여야 한다.

     

    결정론과 일관성은 기본적인 주제이다. 감사와 제품 적합성은 필수이다. 당신 자신에 대해서 유죄 추정의 법칙을 고려하라. 레벨 D에 대해서는 독립성이 필요하지 않다. 레벨 C에 대해서는 약간 필요하다. 레벨 BA에 대해서는 절대적이다. 독립성은 레벨 C D에서 조차도 항상 추천된다. 어떤 플로우에 대해서 우리가 관심을 가지고 있는가? 데이터와 컨트롤 플로우이다. 형상관리는 공인되지않은 변경을 방지해야 한다. 품질보증은 모든 사람들, 특히 개발로부터 독립적이며 감사를 통해서 계획에 따른 프로세스에 충실하도록 강요한다.


     

    DO-178B 품질/비용

     

     


    1. 계획 & 프로세스

    2. 상세한 요구사항

    3. 코드 리뷰

    4. 단위 시험

    5. 기능 시험

    6. 강건성 시험

    7. statement 커버리지

    8. branch 커버리지

    9. MCDC 커버리지

     

     

     

    비용 효율간의 차이점은 무엇인가? 증가하는 위험레벨은 증가하는 구조적 커버리지를 수반한다. DO-178B의 추가된 비용은 레벨에 따라서 약 20 ~ 40%가 되어야 한다. 레벨 D는 당신의 비용을 전혀 증가시키지 않아야 한다. 레벨 C, B 그리고 A는 당신의 비용을 증가시킨다. 60 ~ 80%가 되어야 하며 그것이 산업계 평균이다. 주요 비용 요인은 구조적 커버리지이다.

     

    모두 안전 비행하시기를!

     

    역주) 드디어 이 책의 가장 마지막 문장에 대한 번역을 마친다. 약간은 충동적으로 시작한 재번역 작업이 생각보다 너무 어렵고 시간이 오래 걸렸다. 예상을 했지만 예상밖이었다. 그 결과가 어떤 형태로 여러분들에게 공유될 지 모르겠지만 분명 처음 버전보다는 내용에 대한 접근이 조금이나마 더 쉬워졌기를 바란다. 그런 의도에서 역주를 많이 활용했다. 그럼에도 여전히 막연하고 힘들어할 여러분들의 건투를 빈다. DO-178을 한 번에 이해할 수는 없다. 실제로 한 번 해 보는 것으로도 충분하지 않다. 다른 모든 것과 마찬가지로 여기에도 반복이 필요하다. 분명한 사실은 역자도 여러분과 같은 위치에서 시작했다는 것이다.


    저자의 마지막 인사처럼 마무리해본다.

     

    모두 DO-178을 마스터하시기를!

     


    '잡談 > DO-178 번역' 카테고리의 다른 글

    27. 소프트웨어 설계 특성  (0) 2019.03.18
    26. 툴인증  (0) 2019.03.18
    25. PSAC(Plan for Software Aspects of Certification)  (0) 2019.03.18
    24. 프로젝트 조직 & CMMI  (0) 2019.03.18
    23. 재검증  (0) 2019.03.18

    댓글

Designed by Tistory.