7/10/2017

SDLC - 반복적개발 모델

* 반복적개발 모델
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의 요구사항 개발과정에서 산출된 프로토타입을 재분석하여
    최종 완성
  - 피드백 : 각 단계의 프로토타입을 설치/운영하여 발생하는 요구사항들을
    차기 진화단계에 반영



댓글 없음: