본문 바로가기
컴퓨터 지식

[소프트웨어공학] 폭포수 모델(waterfall model) 이란?

by LiveData 2019. 1. 3.
반응형



폭포수 모델(Waterfall Model) 이란?

 : 순차적인 소프트웨어 개발 프로세스(소프트웨어를 만들기 위한 프로세스)로, 개발의 흐름이 마치 폭포수처럼 지속적으로 아래로 향하는 것처럼 보이는 데서 이름이 붙여졌다. 이 폭포수 모델의 흐름은 소프트웨어 요구사항 분석 단계에서 시작하여, 소프트웨어 설계, 소프트웨어 구현, 소프트웨어 시험, 소프트웨어 통합 단계 등을 거쳐, 소프트웨어 유지보수 단계에까지 이른다.


by 나무위키






요구사항 분석 -> 설계 -> 구현 -> 테스트 -> 유지 보수 


의 단계로서 마치 폭포같이 일련의 흐름에 따라 진행된다고 해서 폭포수 모델이라고 합니다.





각각의 파트 부분이 정형화 되어있고 옛날부터 많이 사용하던 방식이라서 기술적인 위험요소는 적습니다.

각각 정해진 순서에 따라 업무가 분장되고 관리되어 집니다.




각각의 순서에 따라 주로 문서형식으로 관리됩니다.


  1. 요구 사항 분석 : 요구 사항 명세서 
  2. 설계 : 소프트웨어 설계 문서
  3. 구현 : 프로그램 코드
  4. 테스트 : 테스트 결과 보고서
  5. 유지보수 : 유지 보수 및 인수인계 문서


만약 프로젝트가 끝난다면 위와 같은 문서를 작성 및 결과물을 받으실 겁니다.




폭포수 모델의 비판

: 의미있는 규모의 프로젝트에서는 다음 단계에 대한 이해나 경험 없이, 각 단계를 완벽히 마무리한 후 다음 단계를 진행하는 것이 불가능하다는 것입니다. 예를 들어 고객들은 동작하는 프로토타입을 보지 않고는 정확히 자신들이 무엇을 원하는지를 요구사항으로 정하지 못할 수 있습니다. 또 고객들은 정해진 요구사항을 빈번하게 수정해달라고 요구하는 경우도 많으며, 그럴 경우 설계자나 구현자가 이를 통제할 수 있는 방법은 많지 않습니다.. 만약 고객이 설계가 완료된 이후에 요구사항 변경을 요구했다면, 설계는 새로운 요구사항을 위해 변경되어야 하고 그때까지 투입된 많은 노력은 무위로 돌아가게 됩니다..






모든 프로젝트에서 폭포수 모델을 그대로 사용하지는 않지만 가장 기본이 되는 모델이기도 합니다.


실제로 사용한 경우는 극히 드물지만 처음 모델을 설명할 때 쉽고 이해하기가 편합니다.




현재 SM을 하고 있는 입장에서 완성된 프로젝트 결과물에 고객의 요구에 맞게 계속해서 수정해 나갑니다.


하지만 문서화 되어있는 프로젝트 결과물이 1~5번 흐름으로 정리되어 있기 때문에 모델 자체보다는 


프로젝트의 흐름이 이런식으로 흘러가는 구나 알면 좋을 것 같습니다.








반응형