I.진화적 프로토타이핑, 나선형 모델의 개요
가.나선형(Spiral) 모델의 정의
-시스템을 개발하면서 생기는 위험을 최소화하기 위해 나선을 돌면서 점진적으로 완벽한 시스템으로 개발하는 모델
나.나선형 모델의 특징
구분 |
설명 |
위험 최소화 |
위험식별 및 대응계획 수립을 통한 위험 최소화 |
점진적 구체화 |
반복, 진화적 프로토타입 개선으로 시스템을 구체화 |
고수준 품질 |
고객평가(Feedback)에 따른 진화적 개발 사이클 |
II.나선형 모델의 개념도 및 구성요소
가.나선형 모델의 개념도
-개발된 프로토타입을 지속적으로 발전시켜 최종 SW에 이르게 하는 모델
나.나선형 모델의 구성요소
단계 |
내용 |
산출물 |
계획 및 정의 |
- 초기 요구사항 분석 및 프로젝트 계획 수립 - 단계별 목표 수립 |
- 프로젝트 관리 계획서 - 요구사항 분석서 |
위험분석 |
- 위험식별, 정량적/정성적 분석 및 평가 - 위험 평가 결과에 근거, 개발여부 결정 |
- 위험 관리 계획서 - 위험 분석서 |
개발 |
- 구현 대상 기능에 대한 실제 구현 - 단위 테스트 수행 |
- 진화적 프로토타입 - 개발 산출물(소스코드) |
고객평가 |
- 고객에 의한 시스템 평가 및 향후 목표계획 - 구현결과: 시뮬레이션모델, 시제품, 실제 시스템 등 |
- 테스트 계획서 - 생명주기 계획서 |
III.나선형 모델의 장단점
관점 |
장점 |
단점 |
적용 |
- 대규모/위험부담 큰 시스템에 적합 |
- 다수 고객 상대 상용제품 개발에는 부적합 |
관리 |
- 품질 향상 및 유지보수 용이 - 정확한 사용자 요구사항 파악 |
- 프로젝트 관리에 어려움(복잡함) - 개발 장기화 가능성 있음 |
위험관리 |
- 프로젝트 완전성 및 위험 최소화 가능 |
- 위험관리 능력에 따라 성공여부 영향 |
IV.나선형 모델과 애자일 모델 비교
구분 |
나선형 모델 |
애자일 모델 |
계획 수립 |
단계별 세부 계획 수립 |
다음 반복주기에 대해서만 계획 수립 |
베이스라인 |
초기 요구사항 베이스라인 설정 |
요구사항 베이스라인 유연하게 설정 |
아키텍쳐 정의 |
초기에 모델과 사양을 상세화 |
Working Product 통해 실현 가능성 증명 |
테스트 방법 |
단위, 통합, 시스템 테스트로 확장 |
개발과 테스트를 반복, 회귀테스트(CI/CD) |
표준 프로세스 |
계획 수립 시 표준화된 프로세스 제정 |
개발 프로세스의 유연성 강조 |
V.나선형 모델과 폭포수 모델과의 비교
구분 |
나선형 모델 |
폭포수 모델 |
특징 |
- 프로토타입 모델에 위험분석을 추가 - 프로젝트 완전성 및 위험감소 |
- 고전적 라이프사이클 패러다임 - 단계적, 순차적, 체계적, 하향식 개발 모델 |
절차 |
- 계획, 위험분석, 개발, 평가 사이클 반복 |
- 분석, 설계 개발, 구현, 시험 및 유지보수 과정 순차적으로 수행 |
적용범위 |
- 대규모 시스템 및 위험 부담이 큰 시스템 |
- 기술적 위험이 낮고 유사프로젝트 경험이 있는 경우 |
장점 |
- 정확한 사용자 요구사항 파악 - 위험 부담 감소, 품질 확보 |
- 전체 과정이 이해하기 용이 - 관리 용이 (진행과정을 세분화) |
단점 |
- 프로젝트 개발에 많은 시간 소요 - 프로젝트 관리 복잡도 높음 - 위험관리 능력이 성공여부에 영향 |
- 초기 요구사항 정의 어려움 - 중요 문제점이 후반부에 구체화 - 사용자 피드백에 의한 반복 단계 불가능 |