I. 프로토타입을 지속적으로 발전하는 진화형 개발 모델의 개요
가. 진화형 개발 모델(Evolutional Development Model)의 정의
- 시스템이 가지는 핵심 부분을 개발 후, 구성요소를 개선 발전시키는 방법
나. 진화형 개발 모델의 특징
Outline |
- 다음 단계 진화를 위해 전체 진화 과정의 Outline 필요 |
요구사항 수집 |
- 요구사항이 불명확할 때 요구사항을 수집하면서 진화 |
II. 진화형 모델의 구성도 및 구성요소
가. 진화형 모델의 구성도
- 피드백을 통해 요구사항을 N단계 진화하여 개발
나. 진화형 모델의 구성요소
생명주기 |
설명 |
핵심요구사항 개발 |
요구사항의 핵심적인 부분을 프로토타입으로 개발 |
1단계진화 |
핵심요구사항을 통해 개발된 것을 토대로 피드백 받아 요구사항 진화 |
n단계진화 |
피드백을 통해 N-1단계 까지 개발된 것을 토대로 요구사항 진화 |
피드백 |
프로토타입 개발을 통해 필요한 요구사항을 다음 진화 개발에 반영 |
III. 진화형 모델과 증분형 모델의 비교
구분 |
진화형 모델 |
증분형 모델 |
개념 |
- 핵심 요구사항을 개발 후 발전하는 방법 |
- 폭포수 모델에 반복적 수행을 결합 |
특징 |
- 요구사항이 개발초기에 불분명할 경우 - 전체 진화 과정의 release 계획 필요 |
- 요구사항 명확할 경우 적합 - 병행 수행 시 인력 활용률 증대 |
방식 |
- 핵심기능 개발, 지속적인 개선으로 완성 |
- 각 증분을 개발한 후 통합 |
장점 |
- 시스템의 완성도를 점진적으로 향상 - 불완전한 요구사항에 대응 |
- 새로운 시스템에 대한 충격 완화 - 후반 통합의 충격 완화 |
단점 |
- 다수의 버전이 존재 - 프로젝트 비용 및 일정 증가 |
- 다수 증분의 빌드 관리 부담 - 변경 요구사항에 효과적 대응 어려움 |