728x90
※ 본 글은 소프트웨어 공학 수업 중 발표 준비를 위해 다시 한번 더 핵심을 이해하고자 작성합니다.
※ 당시에 자료 조사, 준비 등을 했던 순서대로 글을 작성합니다. 순서가 뒤죽박죽이 될 수 있습니다.
V 모델이란?
소프트웨어 개발 모델 중 하나로
폭포수 모델(선형 순차적 모델)의 변형인 모델로서
테스트 단계가 추가 확장된 모델입니다.
폭포수 모델 Vs V 모델
- 폭포수 모델
- 문서 중심의 모델 (문서와 결과물에 중점을 둠)
- V 모델
- 각 개발 단계를 검증하는 모델 (작업과 결과의 검증에 초점을 둠)
테스트 단계 종류
- 단위 (unit, module) 테스트
- 개별 module 검증
- 시스템을 구성하는 모듈(함수, 서브루틴, 컴포넌트 등)이 기능을 올바르게 수행하는지 판별
- 내부에 존재하는 논리적인 오류를 검출
- 상세 설계서의 내용대로 정확히 구현되었는 가를 집중적으로 확인
- 통합 (integration) 테스트
- module 간의 interface 확인
- unit test를 마친 각 module를 통합하는 과정에서 발생할 수 있는 오류를 찾음
- module 사이의 interface 오류
- module 사이의 상호작용의 적절한 수행 여부
- module 이 올바르게 연계되어 동작하고 있는지 확인
- module 상호 간의 결합이 잘 되었는 지를 묻는 것이 목표
- 통합 후의 결과가 정확한지가 목표가 아니다.
- module 간의 interface 확인
- 시스템 (system) 테스트
- 모든 module이 통합된 후, 사용자의 요구사항을 만족하는지 확인
- unit test: 개별 module 검증
- integration test: module 간 interface 확인 검증
- 시스템 전체가 정상적으로 작동하는지 확인
- 인수 (acceptance) 테스트
- 시스템이 예상대로 동작하고 요구사항에 부합한 지 확인
- unit test: 개별 module 검증
- integration test: module 간 interface 확인 검증
- system test: system 전체가 정상적으로 작동하는지 확인
- 시스템을 사용자에게 인수하기 전, 사용자가 요구분석 명세서에 명시된 사항을 모두 충족하는지 테스트
활용 분야
V 모델은 무엇보다도 높은 신뢰성이 필요한 응용 분야에서 활용될 수 있습니다.
예시) 의료 제어 시스템, 원전 제어 시스템 개발
장단점
V 모델의 장점
- 모든 단계마다 검증 작업이 있어 오류를 줄일 수 있다.
V 모델의 단점
- 생명주기 반복을 허용하지 않아, 변경을 하기 어렵다.
- 작업 종료 및 리뷰 후 에는 결과물이 동결된다.
한 줄 요약
요구 명세가 아주 확실하여 개발하는 동안 변경이 없으며,
신뢰성이 필요한 응용분야에 적합한 개발 모듈이다.
이상입니다.