소프트웨어 개발 방법론 중 하나인 V-모델에 대해서 알아보자
ㅁV-모델(V-model): 소프트웨어 개발 생명 주기를 설명하는 모델 중 하나로, 전통적인 폭포수 모델의 확장 형태
이 모델은 개발 과정과 테스트 과정을 동시에 계획하고 실행하는 것이 특징이다. V-모델은 각 개발 단계에 해당하는 테스트 단계가 미리 정의되어 있어, 소프트웨어 개발과 검증이 병행될 수 있도록 도와준다.
V-모델의 구조는 다음과 같이 "V" 자 형태이다
왼쪽 경사 (개발 단계)
- 사용자 요구 명세서: 최종 사용자가 필요로 하는 시스템의 요구사항을 정의하는 단계입니다. 이 단계에서 시스템이 무엇을 해야 하는지를 결정합니다.
- 시스템 요구 명세서: 사용자 요구를 바탕으로 시스템에서 구현해야 할 기술적 요구사항을 정의합니다.
- 시스템 설계: 시스템의 전반적인 구조를 설계하는 단계로, 하드웨어와 소프트웨어 구성 요소를 설계합니다.
- 단위 설계: 시스템을 구성하는 각 모듈이나 컴포넌트의 세부적인 설계를 진행합니다.
- 코드: 설계된 단위 설계를 바탕으로 실제 코드를 작성하여 시스템을 구현하는 단계입니다.
오른쪽 경사 (테스트 단계)
- 단위 테스트: 코딩이 완료된 개별 모듈에 대해 올바르게 작동하는지 확인합니다. 단위 설계와 대응됩니다.
- 통합 테스트: 여러 모듈을 결합하여 시스템이 잘 협력하고 통합된 기능을 수행하는지 검증합니다. 시스템 설계와 대응됩니다.
- 시스템 테스트: 시스템 전체가 원래 정의된 요구사항을 충족하는지 확인합니다. 시스템 요구 명세서와 대응됩니다.
- 인수 테스트: 사용자의 요구사항에 따라 시스템이 기대대로 동작하는지 확인하는 최종 단계입니다. 사용자 요구 명세서와 대응됩니다.
이 다이어그램에서는 개발 단계와 그에 대응하는 테스트 단계가 서로 연결되어 있다. 즉, 각 개발 단계가 끝날 때마다 대응되는 테스트 단계가 수행되어, 해당 단계에서 발생할 수 있는 문제를 즉시 검증할 수 있도록 구성된 것이 V-모델의 특징인 것이다. 예를 들어, 사용자 요구 명세서가 끝나면 인수 테스트 계획을 수립하고, 시스템 설계가 끝나면 시스템 테스트를 계획한다.
이렇게 함으로써 결함을 일찍 발견할 수 있고, 소프트웨어 개발 과정에서 요구사항이 올바르게 구현되었는지 지속적으로 확인할 수가 있다. V-모델은 특히 안전이 중요한 산업(예: 항공, 의료)에서 자주 사용된다.
참고 및 출처: https://velog.io/@whitebear/V%EB%AA%A8%EB%8D%B8%EC%9D%84-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90
'소프트웨어공학 > SW 모델' 카테고리의 다른 글
MVC 패턴(Model-View-Controller Pattern) (1) | 2024.10.01 |
---|