개요
소프트웨어 개발 생명주기의 하나로, 폭포수 모델을 기반으로 확장된 형태.
폭포수 모델을 기반으로 검증(제품을 올바르게 만들고 있는가) 확인(올바른 제품을 만들고 있는가) 에 강조를 두었으며,
설계와 대응되는 테스트를 사전에 고려하여 문제가 발생할 여지를 줄여주는데 목적을 둔다. 단기적/초기 생산성은 낮아 보일 수 있으나, 후반부 재작업 감소로 전체 프로젝트 생명주기 관점에서는 비용 효율적일 수 있다.
구성
* (그림으로 작성) V자 형태로 구성하며, 최하단에는 구현을 기반으로 왼쪽은 설계(정적 검증 활동), 오른쪽은 테스트(동적 확인 활동)를 그린다. 각 요소는 대응되는 테스트가 있다는 것을 어필한다.
- 요구사항 분석 (인수 테스트 대응)
- 시스템 설계 (시스템 테스트 대응)
- 아키텍쳐 설계 (통합 테스트 대응)
- 모듈 설계 (단위 테스트 대응)
- 구현(모듈 설계를 기반으로 구현 진행)
- 단위 테스트
- 통합 테스트
- 시스템 테스트
- 인수 테스트
테스트 진행
단위, 통합 테스트(개발자 주도)
시스템 테스트(개발자 혹은 QA 주도)
인수 테스트(고객 주도)
장점
- 테스트를 사전에 작성하여 문제를 조기에 발견, 품질을 유지할 수 있음.
- 설계 단계와 개발 단계가 매칭되어 이해하기 쉬움
단점
- 폭포수 모델을 기반으로 하므로 요구사항 변경에 유연하지 않음.
- 실제 동작하는 프로토타입이 후반에 나와, 조기 피드백이 어려움.
- 각 단계가 순차적으로 진행되므로 반복 개발 방식 적용이 힘듬.
고려사항
테스트를 추가하므로 결함 예방 및 조기발견이 가능하며, 품질 유지하는데 도움이 되므로,
빠르게 만들고 개선하는 프로젝트 보다는 오래걸리고 품질이 높은 프로젝트(SI, 항공, 의료와 같은 고품질 소프트웨어)에 적합할 듯 합니다.
'학습 > 기술사' 카테고리의 다른 글
폭포수 모델(Waterfall Model)에 대한 설명 (0) | 2025.09.08 |
---|