학교 공부/소프트웨어 공학

[소프트웨어 공학] V 모델

오잎 클로버 2022. 3. 14. 15:45
728x90

※ 본 글은 소프트웨어 공학 수업 중 발표 준비를 위해 다시 한번 더 핵심을 이해하고자 작성합니다.

※ 당시에 자료 조사, 준비 등을 했던 순서대로 글을 작성합니다. 순서가 뒤죽박죽이 될 수 있습니다.

V 모델이란?

소프트웨어 개발 모델 중 하나로
폭포수 모델(선형 순차적 모델)의 변형인 모델로서 
테스트 단계가 추가 확장된 모델입니다.

폭포수 모델 Vs V 모델

  1. 폭포수 모델
    1. 문서 중심의 모델 (문서와 결과물에 중점을 둠)
  2. V 모델
    1. 각 개발 단계를 검증하는 모델 (작업과 결과의 검증에 초점을 둠)

V 모델 이미지

테스트 단계 종류

    1. 단위 (unit, module) 테스트
      1. 개별 module 검증
      1. 시스템을 구성하는 모듈(함수, 서브루틴, 컴포넌트 등)이 기능을 올바르게 수행하는지 판별
      2. 내부에 존재하는 논리적인 오류를 검출
      3. 상세 설계서의 내용대로 정확히 구현되었는 가를 집중적으로 확인
    2. 통합 (integration) 테스트
      1. module 간의 interface 확인
        1. unit test를 마친 각 module를 통합하는 과정에서 발생할 수 있는 오류를 찾음
      2. module 사이의 interface 오류
        1. module 사이의 상호작용의 적절한 수행 여부
        2. module 이 올바르게 연계되어 동작하고 있는지 확인
      3. module 상호 간의 결합이 잘 되었는 지를 묻는 것이 목표
        1. 통합 후의 결과가 정확한지가 목표가 아니다.
    3. 시스템 (system) 테스트
      1. 모든 module이 통합된 후, 사용자의 요구사항을 만족하는지 확인
      2. unit test: 개별 module 검증
      3. integration test: module 간 interface 확인 검증
      4. 시스템 전체가 정상적으로 작동하는지 확인
    4. 인수 (acceptance) 테스트
      1. 시스템이 예상대로 동작하고 요구사항에 부합한 지 확인
      2. unit test: 개별 module 검증
      3. integration test: module 간 interface 확인 검증
      4. system test: system 전체가 정상적으로 작동하는지 확인
      5. 시스템을 사용자에게 인수하기 전, 사용자가 요구분석 명세서에 명시된 사항을 모두 충족하는지 테스트

활용 분야

V 모델은 무엇보다도 높은 신뢰성이 필요한 응용 분야에서 활용될 수 있습니다.

예시) 의료 제어 시스템, 원전 제어 시스템 개발

장단점

V 모델의 장점

  • 모든 단계마다 검증 작업이 있어 오류를 줄일 수 있다.

V 모델의 단점

  • 생명주기 반복을 허용하지 않아, 변경을 하기 어렵다.
  • 작업 종료 및 리뷰 후 에는 결과물이 동결된다.

 

한 줄 요약

요구 명세가 아주 확실하여 개발하는 동안 변경이 없으며, 
신뢰성이 필요한 응용분야에 적합한 개발 모듈이다.

 

 

이상입니다.