[소공 목차]
1. 반복적 개발 모델
-. 사용자의 요구사항 일부분 혹은 제품의 일부분을 반복적으로 개발하여 최종 시스템으로 완성하는 모델(폭포수+프로토타입, 각각의 iteration은 mini waterfall개념)
-. 소프트웨어의 작은 세트 구현에서 시작하여 반복적으로 전체 시스템의 구현 및 배치될 준비가 될 때까지 진화버전을 향상
-. 반복적 개발 모델 종류
종류 | 설명 |
증분형 모델 (Incremental Model) |
요구분석서의 정의된 시스템의 기능별로 여러 개의 서브시스템으로 나누고 일부 기능만을 포함한 서브시스템을 릴리즈하고 다음에 새로운 기능을 추가해 가는 형태의 개발모델 |
진화형 모델 (Evolution Model) |
처음부터 시스템 전체 기능을 대상으로 하되 릴리즈할 때마다 더 완벽히 개발하는 형태의 모델 |
2. 반복적 개발 모델 유형
가. 증분형 모델
전통적인 폭포수 모델에 반복적 수행 개념을 결합하여 적용한 모델
여러 개발팀들이 전체 시스템을 기능별로 나누어서 개발하고자 할 때 유용
요구사항이 개발초기 정의되었을 경우 적용(무엇을 만들어야 되는지 확실하게 아는 경우)
-특징
-. 증분을 따로 개발 후 통합하는 방법으로 프로토타이핑 반복개념을 선형 순차 모델의 요소들에 결합시킴
-. 프로토타이핑과 같이 반복적이거나 각 점증이 갖는 제품 인도에 초점
-. 규모가 큰 개발 조직일 경우 자원을 각 증분 개발에 충분히 할당할 수 있어 각 증분의 병행 개발을 통해 개발 기간을 단축시킬 수 있음
-. 증분의 수가 많고 병행개발이 빈번히 이루어지면 관리가 어렵고 업무조율에 많은 노력이 필요
-. 증분형 모델의 단계
나. 진화형 모델
-. 시스템이 가지는 여러 구성요소의 핵심부분을 개발한 후 각 구성요소를 개선 발전시켜 나가는 방법
-. 시스템이 완성된 후에도 요구사항을 시스템에 적용
-. 발견된 요구를 수정하는 활동, 즉 개선을 위한 개발 노력을 반복적으로 시행
-. 요구사항이 개발 초기 정의되지 않았을 경우 적용(무엇을 만들어야 하는지 확실하게 모르는 경우)
-. 특징
특징 | 설명 |
Outline 필요 | 다음 단계로의 진화를 위해 전체 진화 과정에 대한 개요(Outline)가 필요 |
요구사항 수집 용이 | 프로토타이핑 모델의 변형으로 요구사항 수집을 진화 단계를 거쳐 완성 |
재사용성 향상 | 프로토타입 시스템은 재사용을 전제로 함 |
설계의 진화 | 각 단계의 증분 설계가 다음 설계에 반영됨 |
-. 진화형 모델의 단계
3. 증분형 모델과 진화형 모델 비교
구분 | 증분형 모델 | 진화형 모델 |
방식 | 시스템의 일부를 시스템화하여 구현/반복 후 결합하여 완성 | 핵심 요구사항을 프로토타입으로 개발 후 요구사항이나 개선사항을 추가하여 발전 |
특징 | 병행개발 가능 증분 수가 많을 경우 관리 어려움 |
고객의 요구사항이 불명확할 때 유용 전체적인 릴리즈계획이 수립되어야 함 |
모태 | 폭포수 모델 | 프로토타이핑 모델 |
장점 | 대규모 조직에서 병행 개발을 통해 시간 단축 가능 | 고객요구사항 반영이 용이하고 요구사항이 불명확할 경우 유용 |
단점 | 과도한 증분 시 프로젝트의 위험 증가 | 추가 요구사항이 많아질 경우 일정이 지연될 수 있음 |
'메가노트 > 토픽과제(정리)' 카테고리의 다른 글
공공소프트웨어 사업영향평가제도(안혜진 선임님) (0) | 2022.10.08 |
---|---|
Agile방법론(이상희 부장님) (0) | 2022.10.08 |
소프트웨어공학 (0) | 2022.10.08 |
무선랜 보안(배준호) (1) | 2022.10.04 |
망분리(김도현) (0) | 2022.10.03 |