CS
소프트웨어 생명주기
2026년 01월 29일 06:41
소프트웨어 개발 전반 요약 (V-모델 기준)
0. V-model
- 개발 단계(왼쪽)와 테스트 단계(오른쪽)를 1:1로 대응시킨 모델
- 각 단계의 산출물을 대응되는 테스트 단계에서 검증
1. 요구사항 분석 ↔ 인수 테스트
요구사항 분석
- 시스템이 무엇을 해야 하는지 정의
- 기능 요구사항 정의
- 비기능 요구사항 정의 (성능, 보안, 신뢰성 등)
산출물
- 요구사항 명세서
- 유스케이스 다이어그램(선택)
인수 테스트
- 사용자 관점에서 수행
- 요구사항 충족 여부 확인
2. 시스템 설계 ↔ 시스템 테스트
시스템 설계
- 전체 시스템 구조 설계
- 서브시스템 구성
- 외부 인터페이스 정의
산출물
- 시스템 설계서
- 유스케이스 다이어그램
- 컴포넌트 다이어그램
- 배치 다이어그램
시스템 테스트
- 전체 시스템 기능 테스트
- 성능, 보안 등 비기능 테스트 포함
3. 아키텍처 설계 ↔ 통합 테스트
아키텍처 설계
- 주요 컴포넌트 구조 설계
- 컴포넌트 간 상호작용 정의
- 데이터 흐름 정의
산출물
- 아키텍처 설계서
- 컴포넌트 다이어그램
- 상위 수준 시퀀스 다이어그램
통합 테스트
- 모듈 및 컴포넌트 간 연동 테스트
- 인터페이스 오류 검출
- 스텁과 드라이버 사용
4. 모듈 설계 ↔ 단위 테스트
모듈 설계
- 클래스 내부 구조 설계
- 메서드와 속성 정의
- 알고리즘 정의
산출물
- 상세 클래스 다이어그램
- 상세 시퀀스 다이어그램
- 모듈 설계서
단위 테스트
- 함수 또는 클래스 단위 테스트
- 내부 구조를 고려한 테스트
- 개발자가 직접 수행
5. 구현
구현
- 설계 내용을 기반으로 소스 코드 작성
산출물
- 프로그램 코드
6. 테스트 단계 요약
| 개발 단계 | 대응 테스트 |
|---|---|
| 요구사항 분석 | 인수 테스트 |
| 시스템 설계 | 시스템 테스트 |
| 아키텍처 설계 | 통합 테스트 |
| 모듈 설계 | 단위 테스트 |
