폭포수 모델
🌊 폭포수 모델 (Waterfall Model)
폭포수 모델은 소프트웨어 생명 주기(SDLC) 모델 중 가장 전통적이고 고전적인 모델입니다. 마치 폭포수가 위에서 아래로 떨어지듯이, 각 개발 단계가 순차적으로 진행되며, 이전 단계가 완전히 완료되어야만 다음 단계로 넘어갈 수 있는 선형적인 방식입니다.
⚙️ 폭포수 모델의 주요 단계
1. 요구사항 정의 (Requirements Definition) : 개발할 소프트웨어의 모든 요구사항을 명확하게 정의하고 문서화합니다. 2. 시스템 및 소프트웨어 설계 (System and Software Design) : 정의된 요구사항을 바탕으로 시스템의 전체 구조와 각 모듈의 상세 설계를 진행합니다. 3. 구현 (Implementation) : 설계된 내용을 바탕으로 실제 코드를 작성합니다. 4. 테스트 (Testing) : 구현된 소프트웨어가 요구사항을 충족하고 오류 없이 동작하는지 검증합니다. 5. 운영 및 유지보수 (Operation and Maintenance) : 개발된 소프트웨어를 실제 환경에 배포하고, 사용자의 피드백을 반영하거나 버그를 수정하며 시스템을 관리합니다.
각 단계는 명확한 산출물(문서)을 가지며, 다음 단계로 넘어가기 전에 이전 단계의 산출물에 대한 검토 및 승인이 이루어집니다.
⚖️ 폭포수 모델의 장단점
- 장점 :
> * 단순하고 이해하기 쉬움: 각 단계가 명확하게 구분되어 있어, 프로젝트 관리와 진행 상황 파악이 용이합니다. > * 체계적인 문서화: 각 단계마다 상세한 문서가 작성되므로, 프로젝트의 이력 관리와 인수인계에 유리합니다. > * 소규모 프로젝트에 적합: 요구사항이 명확하고 변경 가능성이 적은 소규모 프로젝트에 효과적입니다.
- 단점 :
> * 요구사항 변경에 취약: 개발 도중 요구사항이 변경되면, 이전 단계로 돌아가 수정해야 하므로 많은 비용과 시간이 소요됩니다. > * 초기 오류 발견의 어려움: 테스트 단계에 가서야 오류를 발견할 수 있어, 수정 비용이 커집니다. > * 고객 참여 부족: 개발 초기 단계에만 고객의 참여가 집중되고, 이후에는 최종 결과물을 보기 전까지 고객의 피드백을 받기 어렵습니다.
💡 정보처리기사 핵심 Point
- 폭포수 모델은 SDLC의 가장 기본적인 형태로, 다른 모델들의 기반이 됩니다.
- 요구사항이 명확하고 변경 가능성이 적은 프로젝트(예: 국방, 항공, 우주 등 고정된 시스템)에 주로 적용됩니다.
- 정보처리기사 시험에서는 폭포수 모델의 각 단계별 특징과 장단점을 묻는 문제가 자주 출제됩니다.