1. 높은 품질의 소프트웨어를 개발하기 위한 반복적개발(Iteration Model)의 개요
가. 반복적 개발 모델의 정의
- 사용자의 요구사항 일부분 혹은 제품의 일부분을 객체 단위로 분해하고 점증적으로
반복적으로 개발하여 최종 시스템으로 완성하는 모델
- 반복적개발모델의 종류 : 증분개발(Incremental)모델, 진화개발(Evolutional)모델
나. 반복적 개발 모델의 특징
- 각 단계별 프로세스를 병행하여 진행
- 중요 핵심 프로세스를 먼저 개발
- 개발 프로세스 관리의 어려움
다. 반복개발 모델의 유형
구분 | 정의 |
---|---|
증분형 (Incremental) | 사용자의 요구사항을 각 기능별로 나누어 병렬로 개발 후 통합하는 개발모델 |
진화형 (Evolutional) | 시스템의 전체 기능을 프로토타입을 개발하고 이를 지속적으로 개선 및 발전시켜 나가는 개발모델 |
2. 증분개발 모델(Incremental Development Model)
가. 증분개발 모델의 정의
- 사용자 요구사항의 일부분 또는 제품의 일부분을 반복적으로 개발하여
대상 범위를 확대해 나가서 최종제품을 완성하는 방법
나. 증분개발 모델의 특징
- 폭포수 모델의 변형으로 증분을 따로 개발 후 통합하는 방법
-> 프로토타이핑의 반복개념을 선형순차모델의 요소들에 결합시킨 것
- 프로토타이핑과 같이 반복적이나 각 점증이 갖는 제품 인도에 초점
-> 요구사항이 명확할 경우 적용
- 규모가 큰 개발 조직일 경우 자원을 각 증분 개발에 충분히 할당할 수 있어
각 증분의 병행 개발을 통해 개발 기간을 단축 시킬 수 있음
- 증분의 수가 많고 병행 개발이 빈번하게 이루어지면 관리 어려움
-> PM은 조율에 많은 노력이 필요
다. 증분개발 모델의 개념도
- 증분1 : 다수의 소프트웨어 요구사항 중 '증분1'에 해당하는 프로토타입 개발
- 증분2 : 다수의 소프트웨어 요구사항 중 '증분2'에 해당하는 프로토타입 개발
- 증분n : 다수의 소프트웨어 요구사항 중 '증분n'에 해당하는 프로토타입 개발
- 정보흐름 : 각 프로토타입 개발과정에서 단계별로 타 프로토타입의 개발 과정에 영향
3. 진화개발 모델(Evolutional Development Model)
가. 진화개발 모델의 정의
- 시스템의 프로토타입을 개발하면서 지속적으로 발전시켜 나가는 방법
- 시스템이 가지는 여러 구성 요소의 핵심 부분을 개발한 후, 각 구성요소를
개선 발전시켜 나가는 방법
나. 진화개발 모델의 특징
- 다음 단계로의 진화를 위해 전체 진화 과정에 대한 개요(Outline)가 필요
- 시스템의 요구 사항을 사전에 정의하기 어려운 경우
- 프로토타입을 만들고 이를 다시 분석함으로써 요구 사항을 진화시키는 방법
- 프로토타입의 시스템은 재사용을 전제로 함.
- 증분:설계가 다음 설계에 반영됨
다. 진화개발 모델의 개념도
- 핵심요구사항 개발 : 소프트웨어 요구사항의 핵심적인 부분(프로토타입)을 개발
- 1단계진화 : 핵심요구사항 개발과정에서 산출된 프로토타입을 재분석하여
요구사항 진화
- n단계진화 : n-1의 요구사항 개발과정에서 산출된 프로토타입을 재분석하여
최종 완성
- 피드백 : 각 단계의 프로토타입을 설치/운영하여 발생하는 요구사항들을
차기 진화단계에 반영
댓글 없음:
댓글 쓰기