@SoftyChoco의 다른 컨텐츠
개요
소프트웨어 개발 생명주기 모델 중 하나로 가장 고전적인 모델.
각 단계가 순차적으로 진행되며, 다시 이전단계로 되돌아가기가 어렵기 때문에 "폭포수 모델"이라고 이야기 함.
모델 구조가 간단하며 각 단계별로 산출물이 나오기 때문에 요구사항이 명확하고, 변경될 일이 없는 작은 프로젝트에 적합함.
구성도
타당성 검토 > 계획 > 요구사항 분석 > 설계 > 구현 > 테스트 > 유지보수
작업 방식
- 타당성 검토
- 기술적, 법적으로 문제가 없는지 검토하는 단계
- 산출물: 타당성 검토 확인서
- 계획
- 프로젝트의 범위, 일정, 자원 등을 수립하는 단계
- 산출물: 프로젝트 계획서
- 요구사항 분석
- 고객 요구사항을 분석하고, 명세하는 단계
- 산출물: 요구사항 명세서
- 설계
- 요구사항 명세서를 기반으로 DB 구조, 시스템 구조 등을 설계를 진행하는 단계
- 산출물: 시스템 구조도, ERD, UML(유스케이스 등)
- 구현
- 설계를 기반으로 실제 소프트웨어를 구현하는 단계
- 산출물: 소스코드, 실행파일
- 테스트
- 구현된 소프트웨어를 테스트하는 단계
- 산출물: 테스트 결과 확인서
- 유지보수
- 운영 중 발생된 이슈에 대하여 유지보수를 진행하는 단계
폭포수 모델의 장단점
장점
- 품질 신뢰도 높음: 단계마다 문서화가 되기 때문에 요구사항이 명확한 경우 품질에 대한 신뢰도가 높다.
- 모델에 대한 이해도 쉬움: 단계가 잘 나뉘어있고, 순차적이기 때문에 이해가 쉽다.
- 체계적인 관리: 단계별 산출물이 명확하므로 프로젝트 진척도 확인이 쉽고 인수인계에 용이하다.
단점
- 요구사항 변경 어려움: 요구사항 변경 시 이전단계로 돌아가기 어렵기 때문에 수정이 어렵다.
- 초기 요구사항 중요성: 초기 요구사항이 명확하지 않으면, 결과도 나쁨.
- 후반에 결과물 확인: 구현이 완료된 후 결과물 확인이 가능하기 때문에, 작업 도중 확인이 어렵다.
고려사항
위 단점에서 나오는 문제들로 인해, 잦은 개선이나 붋명확한 요구사항의 소프트웨어 개발 시에는 애자일 방법론 혹은 V 모델을 고려해볼 수 있다.
요구사항이 명확하게 파악된 경우라면 폭포수 모델이 적합하다.