프로토타이핑 모델(Prototyping Model)
프로토타이핑 모델
- 고객과의 원활한 의사소통을 위한 개발 모델
프로토타이핑은 개발 업체와 고객의 대화 예시를 보면 엄청 쉽게 이해할 수 있으니 아래의 예시 컨텍스트를 보자.
고객: 저는 네이버 같은 포털 사이트를 만들고 싶어요. 기획서 첨부합니다.
SW 개발 업체: 네. 며칠만 기다려주세요. 1차적으로 프로토타입을 보내 드릴테니 피드백 부탁드려요.
고객: 네
며칠 후…
SW 개발 업체: http://jjobnaver.com 현재 간단히 틀만 잡아둔 껍데기입니다. 확인해주세요.
고객: 네 좋네요. 상단 부분은 배경을 좀 파랗게 해주시고 테두리는 좀 더 얇게 해주세요.
SW 개발 업체: 네. 알겠습니다. 수정해드리겠습니다.
자, 어떤가? 고객은 SW 전문가가 아닌데 실제로 껍데기 사이트(기능 구현은 아직 안된 상태)라도 보여주니 훨씬 의사소통이 쉽지 않은가?
즉, 프로토타이핑 모델은 사용자(고객) 중심의 프로세스 모델이며 고객의 요구사항을 상세히 파악할 수 있고 프로토타입(껍데기)을 통해 고객과 훨씬 더 원활한 의사소통이 가능하다.
그러면 프로토타이핑 모델은 어떤 단계로 진행될까?
일반적으로 프로토타이핑 모델은 아래의 단계로 진행된다.
요구분석 → 프로토타입 개발 및 개선 → 검토 및 평가 → 상세개발 → 설치 및 운영
먼저, 요구분석은 고객의 요구사항을 정리하고 명세화한다. 다음으로 요구사항 중 핵심 기능을 중심으로 프로토타입을 선정하고 개발을 수행한다. 이 과정이 끝나면 프로토타입을 대상으로 고객이 검토하고 평가한다. 만약 고객이 만족한다면 프로토타입을 확장하여 실제 소프트웨어를 구축하는데 이 단계가 상세개발이다. 마지막으로 개발이 끝나면 고객에게 완성된 소프트웨어를 인도하고 이를 운용한다.
요구분석 ~ 검토 및 평가 단계까지 매 단계에서 개선이 필요하면 피드백하며 프로토타입에 대해 검토하고 평가한 결과 실효성이 미비하면 프로젝트를 취소한다.
이제 한 가지 짚고 넘어가야 할 것이 있다. 바로 프로토타이핑 모델은 2가지 종류가 있다는 것이다. 하나는 초기에 고객의 요구사항을 파악하는 목적으로만 프로토타입을 사용하는 ‘실험적 프로토타이핑 모델’이다. 이 모델은 실제 프로그램을 개발할 때에는 사용하지 않고 버리는 모델이다. 다음으로는 개발한 프로토타입을 발전시켜 프로토타입을 폐기하지지 않고 최종 소프트웨어를 개발하는 ‘진화적 프로토타이핑 모델’이다. 이 모델은 프로토타입을 점진적으로 개선하며 실제 프로그램으로 진화시키는 모델이 있다. 이제 우리는 방금 대화 지문을 읽고 두 가지의 프로토타이핑 모델 중 SW 개발 업체는 후자를 사용했다고 추측할 수 있다.
마지막으로 프로토타이핑 모델의 장점과 단점을 알아보자
장점
- 고객의 요구사항을 파악하기 쉽다.
- 프로토타입을 통해 고객과 소통하므로 고객과의 의사소통이 쉽다.
단점
- 고객의 기대심리를 유발하여 불필요하거나 과도한 요구를 할 수 있다.
- 고객이 프로토타입을 완제품으로 오해할 소지가 있다.
- 쓰고 버리는 프로토타입의 모델의 경우 비용이 낭비된다.
'Software Engineering' 카테고리의 다른 글
[애자일 방법론] 스크럼 기법(Scrum) (1) | 2023.10.05 |
---|---|
[소프트웨어 공학] 유스케이스 다이어그램(use case didagram) (1) | 2023.10.05 |
[소프트웨어 공학] 폭포수 모델(Waterfall Model) (0) | 2023.09.24 |
[소프트웨어 공학] 주먹구구식 개발로 인한 소프트웨어 위기, 소프트웨어 공학의 시작 (0) | 2023.09.21 |
[소프트웨어 공학] 소프트웨어란 (0) | 2023.09.07 |