Skip to content

폭포수 방법론 #
Find similar titles

Structured data

Category
Computer science

폭포수 방법론 #

폭포수 방법론이란? #

  • 폭포수 방법론 이란, 1970년에 창안된 소프트웨어 개발 프로세스이다. 각 단계가 마치 폭포수처럼 위에서 아래로 물이 떨어지듯 차례대로 진행되어 이름이 붙여졌다. 여러 단계가 병행적으로 진행되거나 거꾸로 진행되는 경우는 거의 없다. 일정 생명주기를 반복하여 진행되는 애자일 개발 프로세스와는 반대되는 개념이다.

폭포수 방법론의 진행 과정 #

  • 폭포수 방법론은 계획 → 분석 → 설계 → 개발 → 시험 → 운영/유지보수 순으로 진행된다. Image

    그림 1. 워터폴 모델 도식화 (출처)

  • 계획 및 분석 : 고객과 사용자가 원하는 바를 파악하여 타당성을 조사하고 SW 기능과 제약조건을 정의하는 명세서 작성, 대상이 되는 문제 영역과 사용자가 원하는 task를 이해하는 단계

  • 설계 : 분석 모델을 가지고 이를 세분화함으로써 구현될 수 있는 형태로 전환
  • 개발 : 설계단계에서 만들어진 설계서를 바탕으로 프로그램을 작성, 코딩, 디버깅, 단위/통합테스트 수행
  • 시험 : 발생 가능한 실행 프로그램 오류를 발견, 수정하는 단계
  • 운영/유지보수 : 시스템의 사용 중 발생하는 여러 변경사항에 대해 적응하고 변화에 대비하는 과정

폭포수 방법론의 특징 #

특징 정의
계획 중심 폭포수는 일에 필요한 모든 사항을 완벽하게 측정하여 계획을 수립하며, 각 단계를 단순히 수행하고, 측정에 대한 실제 값만을 기록함
문서로 만들어진 진행 사항 진단 폭포수는 계획이 애플리케이션 개발에 가장 중요한 측면이기 때문에 계획에 따른 진행 사항을 진단
마지막 단계 테스트 폭포수는 마지막 전까지 통합하지 않기 때문에 마지막까지 테스트할 수 없지만, 초기에 공들여 모든 것을 고려하여 계획을 세웠기 때문에 계획대로 진행한다면 버그는 없을 것으로 기대함
수평적인 단계별로 개발 폭포수는 소프트웨어 개발을 고층빌딩에 짓는 방식과 같이 생각하여 기초에서 시작하여 단계를 거쳐 튼튼한 기반에 애플리케이션을 만듦
빅뱅 (Big Bang) 릴리즈 폭포수는 요구사항을 제대로 따르면 모든 것이 기술적이고 기능적으로 잘 작동할 것으로 인식하기 때문에 통합을 빨리하거나 자주 하지 않음
미리 정의된 요구사항 폭포수는 미리 모든 요구사항을 수집하고 전체적으로 분석과 디자인을 한 뒤 한 번에 완성함
고객과의 드문 의사소통 폭포수는 기본적으로 문서중심의 접근법으로 이해관계자들 사이에 계약서로 문서를 제공하기 때문에 상호 작용은 최소화하거나 아예 없을 수도 있음

출처:p1ngp1ng 블로그, 애자일 방법론 vs. 폭포수(Waterfall) 방법론, 10가지 주요 차이점

폭포수 방법론의 장점, 단점 #

장점 #

  1. 프로젝트를 시작하기 전에 프로젝트에 대한 전체적인 요구사항과 디자인들이 완성되어 있으므로 프로젝트의 범위, 비용, 타임라인에 대해 자세하게 알 수 있고, 전체적 과정의 이해가 쉽다.
  2. 단계별로 진행되기 때문에 현재 단계에 대한 이해가 빠르고 쉽다.
  3. 단계별로 정형화된 접근방식을 이용하기 때문에 기술적인 위험요소가 적다.
  4. 고전적 방법론으로써 적용 사례가 풍부하므로 벤치마킹하기 쉽다.
  5. 까다로운 계획 때문에 각각의 개발자들이 다른 부분에서 일하므로 더 쉽게 프로젝트 관리를 할 수 있습니다.
  6. 빠듯한 기한이 없거나, 필수 조건들이 적은 프로젝트에 적용하기 적합하다.

단점 #

  1. 실제 현실에서는 개발 프로젝트에서 요구사항이 변경될 가능성이 커, 각 단계가 반복될 수 있으므로 다소 현실적이지 못한 개발 방법론이 될 수 있습니다.
  2. 실제 작동하는 소프트웨어는 개발 후반부에 확인할 수 있다.
  3. 각 단계가 진행된 뒤에 요구사항이 변경되거나 설계 등이 변경되면 나중에 커다란 문제가 발생할 수 있습니다.
  4. 고객 요구사항에 대한 즉각적인 피드백이 어렵다.
  5. 전 단계가 종결되어야 다음 단계를 수행할 수 있다.

애자일 방법론 VS 폭포수 방법론 #

폭포수 애자일
요구사항 한 번에 정의 지속해서 요구사항을 반영
고객과 의사소통 적음 많음
테스트 마지막 단계에서 테스트 지속적인 테스트

Incoming Links #

Related Data Sciences #

Suggested Pages #

0.0.1_20140628_0