본문 바로가기
IT의 모든것/소프트웨어공학

[소프트웨어공학] 나선형 (Spiral) 모델

by coldbrew_ 2023. 5. 4.

나선형(Spiral) 모형의 정의

개발 주요기능을 사전에 위험분석을 통하여 반복적으로 수행함으로써, 최종 소프트웨어 개발까지 점진적으로 구현하는 방법(계획수립 → 위험분석 → 개발 → 평가)
선형순차 모델의 제어와 프로토타이핑의 반복적 특성을 체계적으로 결합시킨 단계적 소프트웨어 프로세스 모델(Boehm 제안)

나선형 모형의 특징(Waterfall + Prototype + 위험분석)

- 대규모 시스템 및 위험부담이 큰 시스템 개발에 적합(신기술 프로젝트, 신규 도메인 프로젝트)
- Cirtical Success Features(성패를 좌우할 핵심 기능)를 먼저 개발
- 위험 명세화 및 위험 최소화에 최우선 : 성과를 보면서 조금씩 투자, 위험 부담 최소화
- 나선형 모델에서 소프트웨어는 점증적인 릴리즈의 단계로 개발됨
- 개발자의 위험요소 식별 및 해결 능력 중요

 

단계별 내용 (계/위/개/고)

단계
내용
계획 정의
- 시스템의 기능 성능 시스템 목표 설정 제약조건 파악
- 평가과정을 통하여 프로젝트 위험의 원인을 규명하는데 효과적
위험분석
- 초기 요구사항에 근거하여 위험을 규명
- 위험식별 분석활동을 통해 위험 최소화, 의사결정(Go or No)
개발
- 시스템 개발 모형 선택하여 프로토타입 또는 완제품을 만드는 단계
고객의 평가
- 고객에 의한 시스템 평가 향후 목표 계획
- 구현결과 : 시뮬레이션 모델, 시제품, 실제 시스템

나선형 모델의 장단점

장점
단점
- 정확한 사용자 요구사항 파악
- 위험 최소화 기능
- 대규모 시스템에 적합
- 프로젝트 개발에 완전성 부여
- 단계적 평가 분석통한 문서화 충실
  품질향상 유지보수성 향상
- 프로젝트 개발에 많은 시간 소요
- 프로젝트  관리에 어려움(복잡함)
- 프로젝트 개발도중 원래 내용 왜곡 우려
- 위험관리 해결책이 없으면 위험
- 다수 고객상대의 상용제품 개발에는 부적합

나선형 모델과 폭포수 모델의 비교

구분
나선형 모델
폭포수 모델
개념
프로토타입 + 폭포수 모델 + 위험관리 추가된 모델
분석/설계/개발/유지보수가 순차적으로 진행되는 모델
프로세스
점진적, 반복적 개발 프로세스
순차적, 하향적 개발 프로세스
장점
-계획과 요구분석 위험분석
-요구사항의 추가가 용이
-품질 보증도가 높음, 유연성
-단순하고 이해하기 쉬움
-이전단계가 종료되어야 다음단계 진행가능
-피드백 절차 필요함
단점
프로세스가 복잡하여 프로젝트 관리 어려움
리스크관리 능력에 따라 성공 여부가 좌우
-반복단계가 어려움
-프로젝트 현실과의 관리
-재사용의 어려움

나선형 모델의 활용방안

- 대규모 시스템의 소프트웨어를 개발하는데 가장 적합한 방법
- 비선형적이며 반복적으로 개발이 진행되므로 소프트웨어 품질을 높일 수 있는 방법
- 점증적으로 시스템을 개발할 때 얼마나 관리를 잘 할 것인가 중요

댓글