2 고전적인 소프트웨어 개발 방법 '폭포수 모델' #
고전적인 소프트웨어 개발방법으로 '폭포수 모델'이다. 폭포수 모델은 마치 각각의 과정이 폭포수 처럼 흘러내리는 것에 비유하여 붙여진 이름이다. 고전적인 방법이라고 해서 나쁜 것은 아니다. 이보다 더 단순한 모델은 없으며, 중/소규모의 프로젝트에는 아직까지 매우 쓸만하다. 하지만 폭포수 모델은 매우 큰 단점이 존재한다. 전 단계들의 산출물에 현 단계가 너무 큰 영향받는 것이 그것이다. 특히, 요구사항 조사/분석과정에서 사용자의 요구사항을 조사/분석가가 제대로 얻어내지 못하면 프로젝트가 큰 어려움을 격게 된다.
다음과 같은 장/단점이 존재한다.
- 장점
- 가장 오래 사용되어 폭넓게 사용되고 성공사례도 풍부하다.
- 매우 단순하여 전체 과정의 이해가 쉽다.
- 진행과정을 세분화하면 관리가 용이해 진다.
- 단점
- 초기 요구사항 조사/분석과정이 매우 어렵다.
- 중요한 결함이 늦게 발견된다.
- 전 단계가 마무리되어야 다음 단계로 진행된다. (직렬성)
폭포스 모델은 문서화 중심 모델이다. 클라이언트의 이해부족 또는 클라이언트가 이해한 것과 실제 문서와의 차이점을 최대한 없애는 것이 핵심이다.
3 프로토타입 #
이 모델은 폭포수 모델의 단점을 보완한 방식으로 프로토타입이라는 것은 사용자가 원하는 핵심기능을 실제 구현하여 고객에게 평가를 받는 과정을 반복하는 방식이다. 초기에 사용자로부터 요구사항을 확실이 얻어 낼 수 있는 방법이다. 하지만 일반적인 데이터베이스 설계에는 적합한 방식으로 보기는 조금 힘들다. 온라인 게임을 개발하는 방법으로는 적당하다. 왜냐하면 게임을 계속 개발할 것인가 접을 것인가에 대한 타당성을 검토해 볼 수 있기 때문이다. 즉, 요구사항을 잘 모르겠거나 프로젝트를 진행해도 좋을지 나쁠지 간을 보는 방식이다. 이 때 만들어진 프로토타입 자체는 사용자와의 의사소통의 도구가 된다.
다음과 같은 장/단점이 존재한다.
- 장점
- 요구사항 도출이 어려울 때 사용하면 효과가 있다.
- 사용자가 구축될 정보시스템에 대한 이해를 할 수 있다. (부수적으로 품질도 성숙된다.)
- 사용자와의 의사소통이 원활해진다.
- 단점
- 프로토타입의 결과를 최종 결과물로 오해 할 수도 있다.
- 고객이 평가하여 프로젝트를 접을 경우는 비경제적이다.
- 고객의 평가와 프로토타입의 정제 단계에서 자주 변경되므로 중간단계 산출물에 대한 문서화가 어렵다.