설명

나선형 모형은 Boehm이 제안한 것으로, 폭포수 모형과 프로토 타입 모형의 장점에 위험 분석 기능을 추가한 모형이다. 

  • 나선을 따라 돌듯이 여러 번의 소프트웨어 개발 고정을 거쳐 점진적으로 완벽한 최종 소프트웨어를 개발하는 것으로, 점진적 모형이라고도 한다.
  • 소프트웨어를 개발하면서 발생할 수 있는 위험을 관리하고 최소화하는 것을 목적으로 한다.
  • 프로젝트 총 예산이 1~5%정도 더 증가한다.
  • 각각의 사이클 별로 지속기간이 한계가 있다.

개발 순서

사용자 삽입 이미지
Planning 
계획 및 정의 단계로 개발자가 고객을 만나 개발하고자 하는 제품의 요구사항을 듣는다. 이때 개발자는 고객의 의도를 파악하고 계획을 위한 자료로 활용한다. 여기서 제품의 성능, 기능, 시스템의 목표를 규명하고 제약조건을 파악한다.

Risk analysis
초기 요구사항을 가지고 위험을 규명한다. 개발하려는 시스템의 기술적 위험, 정보 부족, 프로젝트 관리, 자원관리등을 예측하고 위험관리를 통해 위험을 방지한다.

Software development
어떠한 모델을 적용하여 시스템을 개발할 것인가를 결정한다. 사용자가 UI를 중시여기면 Prototype model을, SI에 위험이 존재하거나 요구사항이 완벽한 경우 Waterfall model을 사용한다

User evaluation
앞 단계에서 구현된 소프트웨어를 고객이나 사용자가 평가한다. 이 단계에서 feedback을 얻는 데 요구되는 여러 작업를 포함하며 다음 단계에 고객의 평가를 반역할 수 있는 자료를 얻을 수 있다.

장점

  • 가장 현실적인 모형으로, 대규모 프로젝트나 큰 시스템에 적합하다
  • 점진적으로 개발 과정이 반복되므로 누락되거나 추가딘 요구사항을 첨가할 수 있고, 정밀하며, 유지보수 과정이 필요 없다.
  • 위험분석 단계에서 기술과 관리의 위험 요소들을 하나씩 제거해 나감으로써 완성도 높은 소프트웨어를 만들 수 있다.
  • 각 단계에 적당한 테스팅이 이루어져 개발과정에 발생하는 여러 문제점의 해결방안을 찾기 때문에 테스팅 비용 및 개발지연등의 문제를 해결할 수 있다.


단점

  • 위험성 평가에 크게 의존하기 때문에 이를 발견하지 않으면 반드시 문제가 된다.
  • 위험요인을 추출하고 분석하는데 많은 비용이 소요되고 초기의 요구분석 결과 자체가 불완전한 경우, 위험분석의 의미가 없다.
  • 위험분석 결과가 불완전한 경우, 사용자의 요구충족에 의미가 없고, 개발비용만 낭비하게 된다.
  • 상대적으로 복잡하여 프로젝트 관리 자체가 어렵게 될 수도 있다.


 

Posted by 서오석
,