소프트웨어 검증 및 확인 (V&V)
원자력 안전등급 소프트웨어가 요구사항대로 개발되었고, 의도한 기능을 정확히 수행함을 독립적으로 입증합니다. the MOOV는 IEEE 1012를 기준으로 생명주기 전 단계에 걸친 검증 체계를 수립하고, 규제기관 심사에 대응 가능한 문서를 산출합니다.
V&V란 무엇인가
검증(Verification)은 "제품을 올바르게 만들고 있는가"를 확인합니다. 각 개발 단계의 산출물이 이전 단계의 요구사항을 정확히 반영했는지 점검하는 활동입니다.
확인(Validation)은 "올바른 제품을 만들었는가"를 확인합니다. 완성된 소프트웨어가 사용자의 실제 요구와 운전 조건을 충족하는지 평가합니다.
원자력 분야에서 V&V가 특별한 이유는 독립성 때문입니다. 개발 조직과 분리된 주체가 검증을 수행해야 하며, 이 독립성의 수준은 소프트웨어의 안전 중요도에 따라 달라집니다.
무결성 등급 분류
모든 소프트웨어에 동일한 강도의 검증을 적용하는 것은 비효율적입니다. 국내 원자력 분야에서는 소프트웨어가 안전에 미치는 영향에 따라 무결성 등급을 분류하고, 등급별로 요구되는 V&V 활동의 범위와 깊이를 차등 적용합니다.
| 등급 | 명칭 | 성격 |
|---|---|---|
| SC | Safety Critical | 고장 시 안전기능 상실로 직결되는 소프트웨어. 가장 엄격한 검증이 요구됩니다. |
| ITS | Important To Safety | 안전에 중요한 영향을 미치는 소프트웨어. |
| ITA | Important To Availability | 발전소 가용성에 영향을 주는 소프트웨어. |
| GP | General Purpose | 안전기능과 직접 관련이 없는 범용 소프트웨어. |
등급 분류가 프로젝트 비용을 좌우합니다
등급을 실제보다 높게 설정하면 불필요한 검증 활동으로 비용과 일정이 늘어나고, 낮게 설정하면 인허가 단계에서 재작업이 발생합니다. the MOOV는 시스템 안전성 분석 결과에 근거해 등급을 결정하고, 그 판단 근거를 문서로 명확히 남깁니다.
생명주기 단계별 V&V 활동
V&V는 개발이 끝난 뒤 한 번에 수행하는 활동이 아닙니다. 각 개발 단계와 병행하여 진행되며, 단계마다 고유한 검증 대상과 산출물이 존재합니다.
1. 계획 단계
- 소프트웨어 검증 및 확인 계획서(SVVP) 수립
- 무결성 등급 결정 및 근거 문서화
- 검증 조직의 독립성 확보 방안 정의
- 단계별 활동 범위, 일정, 산출물 목록 확정
2. 요구사항 단계
- 소프트웨어 요구사항 명세서(SRS) 검토
- 요구사항의 명확성·완전성·검증가능성 평가
- 요구사항 추적 매트릭스(RTM) 초기 구축
- 상위 시스템 요구사항과의 일치성 확인
3. 설계 단계
- 소프트웨어 설계 명세서(SDS) 검토
- 모든 요구사항이 설계에 반영되었는지 추적
- 설계에만 존재하는 미추적 기능 식별
- 인터페이스 정의의 정합성 검토
4. 구현 단계
- 소스코드 검토 및 코딩 표준 준수 확인
- 설계와 구현의 일치성 검증
- 정적 분석을 통한 잠재 결함 식별
5. 시험 단계
- 단위·통합·시스템 시험 계획 및 절차 검토
- 시험 커버리지 적정성 평가
- 시험 수행 입회 및 결과 검증
- 최종 V&V 요약보고서 작성
요구사항 추적 매트릭스 (RTM)
RTM은 V&V의 중심 산출물입니다. 시스템 요구사항 → 소프트웨어 요구사항 → 설계 → 코드 → 시험까지의 연결 관계를 표 형태로 관리하여, 다음 두 가지를 동시에 증명합니다.
- 완전성 — 모든 요구사항이 빠짐없이 구현되고 시험되었는가
- 불필요 기능 부재 — 요구사항에 없는 기능이 임의로 추가되지 않았는가
규제기관 심사에서 RTM은 가장 먼저 확인되는 문서 중 하나입니다. 추적 고리가 하나라도 끊어져 있으면 해당 요구사항 전체에 대한 재검증이 요구될 수 있습니다.
적용 표준 및 규제 요건
| 표준 / 지침 | 내용 |
|---|---|
| IEEE Std 1012 | 소프트웨어 검증 및 확인에 관한 표준. 무결성 등급별 V&V 활동의 최소 요건을 규정합니다. |
| IEEE Std 829 | 소프트웨어 시험 문서화 표준. 시험 계획·설계·절차·보고서의 구성을 정의합니다. |
| IEEE Std 830 | 소프트웨어 요구사항 명세 작성 지침. |
| NRC BTP 7-14 | 미국 원자력규제위원회의 안전계통 소프트웨어 심사 지침. |
| KINS-N0822 | 국내 안전등급 소프트웨어 심사 관련 지침. |
the MOOV의 수행 방식
the MOOV는 검증 대상 시스템의 기술적 내용을 직접 이해한 상태에서 V&V를 수행합니다. 원자력 계측제어(I&C) 분야의 회로 설계와 기기 분석 경험을 보유하고 있어, 소프트웨어가 제어하는 하드웨어의 거동까지 고려한 검증이 가능합니다.
또한 RTM 작성, 문서 형식 검토 등 반복 작업은 자체 개발한 도구로 자동화하여, 검토자가 기술적 판단에 집중할 수 있는 구조를 만듭니다. 이는 일관된 문서 품질과 일정 단축으로 이어집니다.
