V-모델 개발: 단계마다 짝이 맞는 검증
왼쪽으로 내려가며 요구사항과 설계를 쪼개고, 오른쪽으로 올라가며 각 단계와 짝이 되는 시험으로 검증합니다.
요구사항 분석 ─────────────────────── 시스템 검증 / 인수 시험
시스템 설계 ─────────────────── 시스템 통합 시험
SW 아키텍처 설계 ────────── SW 통합 시험
SW 상세 설계 ───────── 단위 시험
└── 구현 ──┘
핵심 원칙
- 추적성: 모든 요구사항은 설계 요소와 시험 케이스로 이어져야 합니다. "이 코드는 왜 있나", "이 요구사항은 어떻게 검증했나"에 답할 수 있어야 합니다.
- 짝 단계에서 시험을 미리 설계: 요구사항을 쓸 때 그것을 어떻게 시험할지 함께 정합니다. 시험할 수 없는 요구사항("빠르게 반응한다")은 숫자로 바꿉니다("100ms 이내").
산출물 예
| 단계 | 산출물 |
|---|---|
| 요구사항 | 요구사항 명세서 (ID 부여) |
| 시스템 설계 | HSI (하드웨어-소프트웨어 인터페이스) |
| SW 아키텍처 | 모듈 구성, 인터페이스, 태스크 설계 |
| 상세 설계 | 함수 단위 동작, 상태 머신 |
| 시험 | 시험 명세서와 결과 보고서 |
작은 프로젝트에도 쓸 수 있다
밸런싱 로봇이라도 "요구사항 10개 → HSI 표 → 모듈 구조 → 단위 테스트 → 통합 시험" 순서로 문서를 남기면, 포트폴리오에서 "무엇을 만들었다"가 아니라 "어떻게 개발했다"를 보여 줄 수 있습니다. 자동차 업계의 ASPICE는 이 프로세스를 평가하는 모델입니다.