본문 바로가기

IT 연구회

폭포수(waterfall) 모델

반응형
  1. 고전적 라이프 사이클 개발 패러다임, 폭포수(waterfall) 모델의 개요
  1. 폭포수(waterfall) 모델의 정의
  • 고전적 라이프 사이클 개발 패러다임(Classic Life-Cycle Paradigm) 따라, 분석, 설계, 개발, 구현, 시험 유지보수 과정을 순차적으로 접근하는 방법
  1. 폭포수 모델의 특징
  • 개념 정립에서 구현까지 하향식 접근 방식을 사용, 단계별 관리 용이
  • 목표 시스템이 과정의 후반부에 구체화 되어, 중요한 이슈 사항이 후반부에서 많이 발견
  • 기술적 위험이 낮고, 유사프로젝트 경험이 있는 경우 사용(Analogs Estimation)
  • 요구사항이 명확한 모델, Phase Testing, 고정된 산출물
  1. 폭포수 모델의 장단점
장점
단점
- 가장 오래되고 폭넓게 사용(사례풍부)
- 전체 과정이 이해하기 용이
- 관리용이 (진행과정을 세분화)
- 다양한 문서와 산출물로 가시성 확보
- 초기에 요구사항 정의가 어려움
- 전단계가 종결되어야 다음 단계 수행
- 사용자 피드백에 의한 반복 단계 불가능
- 한번 결정된 요구사항은 변경이 힘듦
  1. 폭포수 모델 개념도 구성 요소
  1. 폭포수모델의 개념도








  • 소프트웨어 개발(계획, 분석, 설계, 개발, 시험, 운영/유지보수) 단계적, 순차적, 체계적으로 수행하는 프로세스, 단계의 결과물은 다음 단계의 입력으로 사용
  1. 폭포수 모델의 구성요소
구성요소
설명
계획
고객과 사용자가 원하는 바를 파악하여, 타당성을 조사하고,
소프트웨어의 기능과 제약조건을 정의하는 명세서 작성
분석
대상이 되는 문제 영역과 사용자가 원하는 Task 이해하는 단계
설계
분석모델을 가지고 이를 세분화함으로써 구현될 있는 형태로 전환
개발
설계단계에서 만들어진 설계 사양서를 바탕으로 프로그램을 작성, 코딩, 디버깅, 단위테스트 수행
시험
발생 가능한 실행 프로그램의 오류를 발견하고 수정하는 단계
유지보수
시스템의 사용 중에 발생하는 여러 변경사항에 대해 적응하고, 변화에 대비하는 과정

  1. 폭포수 모델과 프로토타이핑 모델의 비교

구분
폭포수 모델
프로토타이핑 모델
특징
앞단계가 끝나야 다음 단계로 넘어감
단계별 정의가 분명
단계별 산출물이 명확
사용자 기본 요구사항에 따른 모형시스템의 신속한 개발
사용자 의견 바탕,시스템을 개선 보완
폭포수 모델 단점 극복하고자 개발
효과적인 적용 유형
기술위험 낮고 유사프로젝트 경험이 있는 경우
요구사항이 비교적 명확히 정의 되어 있는 경우
해당 영역에 대한 전문가 있고 요구사항이 변경될 가능성이 상당히 적은 경우
요구사항을 명세하기 어려운 경우
1) 고객이 원하는 시스템을 구체적으로 알지 못하는 경우
2) 요구사항이 어떻게 변할 모르는 경우
프로젝트의 타당성이 의심스러운 경우
장점
적용사례가 많음
전체 과정이 이해하기 용이
진행과정을 세분화 하여 관리가 용이함
다양한 문서와 산출물로 가시성 확보
Prototyping 다양한 활용
1)요구사항이 모호한 경우
2)프로젝트의 실현 가능성이 의문시 경우
3) 사용자 교육
고객과의 원활한 의사소통이 가능
1)불완전하거나 불일치 하는 요구사항의 조기 발견 수정
2)예기치 못한 기능과 서비스 발견
정확하고 고품질의 요구사항 명세 작성 가능
개발 시스템의 가능성과 유용성을 관리자에게 제시
고객에게 개발될 제품의 윤곽이나 기능을 명확하게 제시
단점
초기에 요구사항 정의가 어려움
전단계가 종결되어야 다음 단계 수행 가능
사용자 피드백에 의한 반복 단계 불가능
한번 결정된 요구사항은 변경이 어려움
고객에게 잘못된 믿음 야기 시킬 가능성이 있음
1)프로토타입이 최종 제품
2)최종 제품에 대한 보급이 즉시 것임
프로토타입에 대한 지나친 강조
1) 고객이 최종 시스템에 대해 훨씬 많은 것을 기대
관리와 제어의 어려움
1)특정 단계, 이정표 산출물 빈약
2)프로젝트에 대한 실제 진척도를 평가하기 어려움



반응형

'IT 연구회' 카테고리의 다른 글

[tomcat] 시작  (0) 2018.05.14
RBAC  (0) 2017.12.30
연산자 종류  (0) 2017.12.24
인터럽트  (0) 2017.12.07
Kanban  (0) 2017.09.05
SDLC  (0) 2017.09.05
데이터 모델링(data modeling)  (0) 2017.08.21
HCE(Host Card Emulation)  (0) 2017.08.16
망중립성(network neutrality)  (0) 2017.08.14
토르(Tor) 네트워크  (0) 2017.08.14