본문 바로가기
CS/SW공학

[SW공학] 폭포수 모델(Waterfall)의 개념과 장단점

by jangThang 2023. 4. 26.
반응형

 폭포수 모델은 [요구사항 정의 - 시스템 & 소프트웨어 설계 - 구현 및 단위테스트 - 통합 및 시스템 테스트 - 운용 & 유지보수]의 과정을 거쳐서 개발하는 프로세스입니다. 이러한 폭포수 모델의 특성과 장단점을 살펴보겠습니다.

 

[ Contents ]

     

     

    1. 폭포수(Waterfall) 모델

    폭포처럼 각 단계가 순차적으로 진행되는 정형화된 모델

     

      물이 거슬러 올라갈 수 없듯이, 폭포수 모델도 한 번 지나친 단계는 다시 돌아가지 못하는 모델로 유명합니다. 하지만 요즘에는 문제가 있을 시, 이전 단계로 되돌아가기도 합니다. 다만 에자일과 같은 방식처럼, 이전 단계로 돌아가는 걸 상정하진 않습니다. 단계별로 시간을 들여 확실하게 하는 대신, 다시 되돌아가는 비용을 줄이는 모델이죠.

     

     여기에서 확실하게 진행한다는 건, 대부분 '문서화 작업'을 뜻합니다. 각 단계별로 필요한 문서화 작업을 수행하면서 빠진 건 없는지, 어떤 점이 부족하진 않은지 파악합니다.

     

     

     

    2. 폭포수 모델의 장단점

    1) 장점

    - 분야가 단순하거나, 도메인을 잘 알고 있는 경우 유용
    - 비전문가가 사용할 소규모 시스템 개발에 적합

     

     폭포수 모델은 초기 설계된 내용으로 끝까지 진행합니다. 만약 초기 설계에 오류가 있다면, 이후 과정은 수포로 돌아갈 수 있습니다. 따라서 단순 분야나 소규모 시스템에 적용하거나, 도메인을 잘 알고 있는 설계자가 있어야 합니다.

     

     

    2) 단점

    - 변경되거나 새로 생긴 요구를 설계에 반영하기 어려움
    - 설계와 코딩 및 테스트가 다소 지연될 수 있음

     

     단계별로 많은 시간과 비용을 쓰는 만큼, 다소 진행이 더디게 느껴질 수 있습니다. 하지만, 계획대로만 진행된다면 빠르게 끝낼 수 있습니다. SW개발에서 다시 이전 단계로 되돌아가고, 다시 새로 작업을 해야하는 시간과 비용은 상당히 크기 때문입니다.

     하지만 워터폴 방식에서 설계를 변경할 일이 생기면, 더 큰 시간과 비용을 들여 반영해야 합니다. 따라서 중간에 설계를 바꾸는 건 어렵습니다.

     

     


    cf) 워터폴 방식은 전통적인 개발 프로세스로, 널리 이용된 방식입니다.

     여기서는 소규모 프로젝트에 알맞다고 했지만, 개인적으로는 주로 대규모 프로젝트에서 워터폴 방식을 쓰는 걸 본 적이 많습니다. 많은 개발자가 동원되는 프로젝트에서 개개인마다 의견을 표출하면, 배가 산으로 가기 쉽죠. 소수의 기획자와 리드 프로그래머가 설계한대로 구현하곤 합니다. 하청이 많은 우리나라에서 자주 볼 수 있는 개발방식이죠.

     이는 개인적인 의견과 경험으로 위 내용만 참고하시면 되겠습니다.

     

     

    star가 되고나서 Tistory

    반응형

    댓글