1. 고전적 라이프사이클 개발 패러다임 폭포수(waterfall) 모델의 개요
가. 폭포수 모델의 정의
- 고전적 소프트웨어 라이프사이클 패러다임(Classic Lifecycle Paradigm)
- 분석, 설계, 개발, 구현, 및 유지보수등 전 과정을 순차적으로 접근하는 개발 모델
나. 폭포수 모델의 특징
- 고전적 라이프사이클 패러다임으로 순차적 접근방법임
- 요구사항분석, 설계, 구현, 시험 및 유지보수의 순서로 이어짐
- 소프트웨어 개발을 단계적, 순차적, 체계적 접근 방식으로 수행
- 각 단계별로 철저히 매듭 짓고 다음 단계로 진행함
- 개념 정립에서 구현까지 하향식 접근 방법을 사용
(높은 추상화 단계 -> 낮은 추상화 단계로 옮겨가는 방식)
- 각 단계 종료 시 검증 후에 다음 단계로 진행
(이전단계 산출물 -> 다음단계 기초자료)
- 프로젝트 진행과정을 세분화하여 관리하기에 용이함
- 목표시스템이 과정의 후반부에 가서야 구체화되므로 중요한 문제점이 프로젝트
후반에 발견되는 문제점
2. 폭포수모델의 개념도 및 구성도
가. 폭포수모델의 개념도
- 폭포수 모델은 분석, 설계, 개발/구현, 시험, 운영 및 유지보수 등 전 과정을
순차적으로 접근하는 개발 모델
나. 폭포수 모델의 구성요소
단계 | 내용 |
---|---|
계획
| 고객과 사용자가 원하는 바를 파악하여, 타당성을 조사하고, 소프트웨어의 기능과 제약조건을 정의하는 명세서 작성 |
분석
| 대상이 되는 문제 영역과 사용자가 원하는 업무를 이해하는 단계 |
설계
| 분석모델을 가지고 이를 세분화함으로써 구현될 수 있는 형태로 전환 |
개발
| 설계단계에서 만들어진 설계 사양서를 바탕으로 프로그램을 작성, 코딩, 디버깅, 단위테스트 수행 |
시험
| 발생 가능한 실행 프로그램의 오류를 발건하고 수정하는 단계 |
유지보수
| 시스템의 사용중에 발생하는 여러 변경사항에 대해 적응하고, 변화에 대비하는 과정 |
3. 폭포수모델의 장단점 및 고려사항
가. 폭포수모델의 장단점
<장점>
- 가장 오래되고 폭넓게 사용(사례풍부)
- 전체과정이 이해하기 용이
- 관리 용이(진행과정을 세분화)
- 기술적 위험이 적고, 경험이 많아 비용, 일정 예측이 용이한 경우 적합
- 문서 등의 관리와 적용이 용이
<단점>
- 초기에 요구사항 정의가 어려움
- 중요 문제점의 발견이 늦어짐(후반부에 구체화)
- 이전 단계 종결되어야 다음단계를 수행
- 사용자 피드백에 의한 반복이 불가능
- 초기 단계(분석, 설계) 강조 시 코딩, 테스트 지연
나. 폭포수모델 적용 시 고려사항
- 관리가 상대적으로 쉬우나 요구사항의 변경에 대한 대응력이 떨어짐
- 기술 위험이 낮고 유사한 프로젝트 경험이 있는 경우 적용
- 요구사항이 비교적 명확이 정의되는 경우 적용
- 해당 업무 영역에 대한 전문가가 있고, 요구사항이 변경될 가능성이
적은 시스템 개발에 적용될 수 있음
4. 반복점증적 개발방법과 폭포수모델 개발방법의 비교
5. Agile 개발방법과 전통적 개발방법의 비교
댓글 없음:
댓글 쓰기