기록

프로토타입 모델 (Prototype model) 본문

[Study]/소프트웨어공학

프로토타입 모델 (Prototype model)

Dannnnnn 2019. 8. 13. 21:59
반응형

선형 순차적 모델의 대표적인 방법이 폭포수 모델이였다면,

진화적 프로세스의 대표적인 방법은 프로토타입 모델이라고 할 수 있다.

 

폭포수 모델의 큰 단점인 "단계를 거슬러 작업하는 것이 어렵다"는 것을 보완하기 위해 나온 것이 바로 진화적 프로세스 모델이다.

 

프로토타입의 사전적 의미는 대량 생산에 앞서 미리 제작해보는 시제품으로, 제작물의 모형이라 할 수 있다.

 

모델을 만드는 것을 모델링이라 하듯, 프로토타입을 만드는 것을 프로토타이핑이라 한다.

 

계획 → 요구사항 정의 및 분석 [요구 수정 > 빠른 설계 > 프로토타입 개발 > 고객 평가 > 조정 > 구현] → 설계 → 구현 → 테스트 → 유지보수

 

이처럼 폭포수 모델을 기반으로 개발하면서 사용자의 요구를 충분히 반영하기 위해 프로토타입을 추가한 모델이다.

이는 사용자의 요구가 불투명하고 요구사항 변화가 많이 발생하는 경우에 적합하다.

또한, 비용이 많이 필요한 대규모 시스템이나 새로운 혁신 기술을 사용할 경우 개발 전 프로토타이핑을 통해 실현 가능성을 타진해 볼 수 있다.

 

실험적 프로토타입 모델

최종 프로토타입을 버리고 처음부터 새로 소프트웨어를 개발하는 것

사용자의 요구사항을 반복적으로 반영하여 최종 프로토타입을 만드는 데 목적이 있다. (사용자와 대화하는 도구)

(모델하우스와 비슷)

 

진화적 프로토타입 모델

최종 프로토타입을 버리지 않고 지속적으로 발전시켜 개발해 가는 것

대표적 유형으로 나선형 모델이 있다.

 

프로토타입의 개발 절차

- 요구사항 정의 및 분석

폭포수모델에서는 완전하게 명세한 후 넘어가지만, 여기서는 1차로 개략적 요구사항을 정의한 후 n차 반복하며 프로토타입 완성도를 높여 최종을 개발한다.

 

- 프로토타입 설계

프로토타입 설계 단계에서는 사용자와 대화할 수 있는 수준으로 설계한다. (인터페이스 중심 설계)

 

- 프로토타입 개발

 

- 사용자에 의한 프로토타입 평가

프로토타입 모델에서 매우 중요한 단계이다. 사용자는 프로토타입을 보며 요구사항이 잘 반영되었는지 확인한 후 추가 수정 및 요구사항을 전달한다. 이를 n번 반복하여 사용자의 추가 요구사항이 없을 때 최종 프로토타입이 만들어진다.

 

- 구현

완성된 프로토타입을 어떻게 사용하는가에 따라 실험적 프로토타입 모델과 진화적 프로토타입 모델이 결정된다.

이에 따라 소프트웨어 개발 계획이 달라진다.

 

장점

  • 가시적인 결과인 프로토타입이 개발자와 사용자 간의 의사소통 도구로 사용되어 구체적이고 원활하게 대화한다
  • 요구사항을 여러번 반복 정의하는 과정을 통해 사용자의 요구가 충분히 반영된 요구 분석 명세서를 만들 수 있다 (예상치 못한 새로운 요구 사항들을 반복할 수 있다)
  • 개발되는 소프트웨어의 모습을 예측할 수 있으므로 개발 과정에 더욱 적극적으로 참여하려는 의지를 보일 수 있다
  • 사용자의 요구가 충분히 반영되어 최종제품이 나오므로, 유지보수에 필요한 노력과 시간을 많이 줄일 수 있다

단점

  • 반복적인 소프트웨어 개발 단계로 인해 필요한 투입 인력과 비용 산정이 어렵다
  • 사용자에게 빠른 시간 안에 최종 결과가 나올 것이라는 착각을 줄 수 있다
  • 프로토타이핑 과정을 관리 또는 통제하기 어렵다
  • 개발 범위가 모호하여 개발 종료나 개발 목표가 불명확해질 수 있다
  • 프로토타입에 다른 추가 비용이 들 수 있다 
반응형

'[Study] > 소프트웨어공학' 카테고리의 다른 글

추상화, 모듈화  (0) 2019.08.16
애자일방법론과 폭포수모델 비교  (0) 2019.08.16
나선형 모델  (0) 2019.08.16
V 모델  (0) 2019.08.13
폭포수 모델 (Water fall model)  (0) 2019.08.13