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

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


나선형(Spiral) 모델의 개요

나선형 모델은 "뺑뺑이 모델"이다.
이 뺑뺑이라는 것은 두 가지 의미가 있는데, 바로 반복적인 모델이라는 것과 프로세스를 그려보면 단계별로 뱅뱅 돌며 진행되는 모양이 나타난다는 점입니다.



나선형 모델의 정의

시스템 개발시 위험을 최소화 하기 위해 점진적으로 완벽한 시스템으로 개발해 나가는 모델
위험 최소화의 의미는 바로 '위험 분석'이라는 단계에 있습니다.
단, 폭포수 모델에 있는 '유지 보수' 단계는 없습니다.




나선형 모델의 특징

리스크 최소화를 위해 '위험분석' 단계가 존재
점진적으로 단계를 반복 수행해 나가는 모델
위험 부담이 큰 대형 시스템 구축에 적합

간단히 정리 하자면 '위험 분석 단계'를 포함한 개발 단계를 점진적으로 반복하여 개발을 완성하는 모델입니다.




나선형 모델의 프로세스

나선형 모델의 단계

  1. 목표설정
  2. 위험분석
  3. 구현 및 테스트
  4. 고객 평가 및 다음 단계 수립

1.목표설정

  • 고객의 요구사항 분석 및 타당성 검토, 프로젝트 수행 여부 결정
  • 프로젝트 간 단계에 대한 특정 목표를 수립
  • 목표 부분은 한 싸이클이 돌고 다음 싸이클이 진행되면 변경 됨

2.위험분석

  • 프로젝트 진행시 고객 요구사항을 기반으로 예측되는 위험 사항에 대해 추출하고 이에 대한 대처 방안을 수립하는 단계
  • 위험 사항을 조기에 추출하고 해결하여, 위험을 취소화(minimize) 한다는 것

3.개발 및 검증

  • 위험 분석이 완료 되면, 구축하려는 시스템과 개발 환경에 맞는 개발 모델을 선택해야 함
  • 특별한 상황이 아니라면 일반적으로 사용하는 모델을 선택 하게 됩니다.
    • ex) 폭포수 모델, 프로토타이핑 모델
  • 그리고 선택한 모델의 개발 방법론에 따라 개발 절차가 진행 됩니다.
  • 개발 진행 중에는 단위(Unit)테스트가, 그리고 이후에는 통합(Integration)테스트, 시스템(System) 테스트가 이루어 집니다.

4.고객평가 및 다음단계수립

  • 개발과 테스트가 끝난 내용을 고객이 평가하여, 추가 반복에 대한 여부를 결정 하게 됩니다.
  • 보통은 이 단계에서 인수테스트가 이루어지고, 만족 결과에 따라 추가 반복의 여부가 결정됩니다.



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

방법론
  • 폭포수 모델은 전통적인 모델로 계획수립, 요구사항분석, 설계, 개발/구현, 테스트, 유지보수의 순으로 순차적으로 실행되는 방법
  • 나선형 모델은 프로토타이핑 모델을 기반으로 하고 있으며, 위험분석단계가 추가적으로 있음

특징
  • 폭포수 모델은 순차적이고 하향식(Top-Down)방법론이며, 구조상 피드백이 힘듭니다.
  • 나선형 모델은 위험성이 낮고, 고객의 요구사항을 잘 수용 할 수 있습니다.
  • 단, 고객 요구사항에 따라 프로젝트 기간이 길어질 수 있으며, 반복이 증가되면 프로젝트 관리가 어려워 질 수 있습니다.

활용범위
  • 폭포수 모델은 위험성이 낮고 요구사항이 명확하며, PM이 해당 방법론으로 프로젝트 경험이 있을 경우 적합합니다.
  • 나선형 모델은 위험성 분석이라는 안전장치로 인해 비교적 위험부담이 큰 시스템 구축에 적합합니다.



나선형 모델의 장단점

나선형 모델의 장점
  • 위험 관리로 인해 위험성이 큰 프로젝트를 수행 할 수 있습니다.
  • 고객의 요구사항을 보다 더 상세히 적용 할 수 있으며,
  • 변경되는 요구사항에 대해서도 적용이 가능합니다.
  • 또한 완성품에 대한 고객 만족도와 품질이 높습니다.
나선형 모델의 단점
  • 프로젝트 기간이 오래 걸림
  • 반복 단계가 길어질수록 프로젝트 관리가 어렵다
  • 위험 관리가 필요한 만큼 '위험관리' 전문가가 필요



출처

댓글

이 블로그의 인기 게시물

[Python] # -*- coding: utf-8 -*-를 쓰는 이유

[소프트웨어공학] NS(Nassi-Schneiderman) 차트

[컴퓨터네트워크] Telnet이란?