CS

소프트웨어 생명주기

2026년 01월 29일 06:41

소프트웨어 개발 전반 요약 (V-모델 기준)

0. V-model

v-model

  • 개발 단계(왼쪽)와 테스트 단계(오른쪽)를 1:1로 대응시킨 모델
  • 각 단계의 산출물을 대응되는 테스트 단계에서 검증

1. 요구사항 분석 ↔ 인수 테스트

요구사항 분석

  • 시스템이 무엇을 해야 하는지 정의
  • 기능 요구사항 정의
  • 비기능 요구사항 정의 (성능, 보안, 신뢰성 등)

산출물

  • 요구사항 명세서
  • 유스케이스 다이어그램(선택)

인수 테스트

  • 사용자 관점에서 수행
  • 요구사항 충족 여부 확인

2. 시스템 설계 ↔ 시스템 테스트

시스템 설계

  • 전체 시스템 구조 설계
  • 서브시스템 구성
  • 외부 인터페이스 정의

산출물

  • 시스템 설계서
  • 유스케이스 다이어그램
  • 컴포넌트 다이어그램
  • 배치 다이어그램

시스템 테스트

  • 전체 시스템 기능 테스트
  • 성능, 보안 등 비기능 테스트 포함

3. 아키텍처 설계 ↔ 통합 테스트

아키텍처 설계

  • 주요 컴포넌트 구조 설계
  • 컴포넌트 간 상호작용 정의
  • 데이터 흐름 정의

산출물

  • 아키텍처 설계서
  • 컴포넌트 다이어그램
  • 상위 수준 시퀀스 다이어그램

통합 테스트

  • 모듈 및 컴포넌트 간 연동 테스트
  • 인터페이스 오류 검출
  • 스텁과 드라이버 사용

4. 모듈 설계 ↔ 단위 테스트

모듈 설계

  • 클래스 내부 구조 설계
  • 메서드와 속성 정의
  • 알고리즘 정의

산출물

  • 상세 클래스 다이어그램
  • 상세 시퀀스 다이어그램
  • 모듈 설계서

단위 테스트

  • 함수 또는 클래스 단위 테스트
  • 내부 구조를 고려한 테스트
  • 개발자가 직접 수행

5. 구현

구현

  • 설계 내용을 기반으로 소스 코드 작성

산출물

  • 프로그램 코드

6. 테스트 단계 요약

개발 단계대응 테스트
요구사항 분석인수 테스트
시스템 설계시스템 테스트
아키텍처 설계통합 테스트
모듈 설계단위 테스트