반응형
- 고전적 라이프 사이클 개발 패러다임, 폭포수(waterfall) 모델의 개요
- 폭포수(waterfall) 모델의 정의
- 고전적 라이프 사이클 개발 패러다임(Classic Life-Cycle Paradigm)에 따라, 분석, 설계, 개발, 구현, 시험 및 유지보수 과정을 순차적으로 접근하는 방법
- 폭포수 모델의 특징
- 개념 정립에서 구현까지 하향식 접근 방식을 사용, 단계별 관리 용이
- 목표 시스템이 과정의 후반부에 구체화 되어, 중요한 이슈 사항이 후반부에서 많이 발견
- 기술적 위험이 낮고, 유사프로젝트 경험이 있는 경우 사용(Analogs Estimation)
- 요구사항이 명확한 모델, Phase Testing, 고정된 산출물
- 폭포수 모델의 장단점
장점 |
단점 |
- 가장 오래되고 폭넓게 사용(사례풍부)
- 전체 과정이 이해하기 용이
- 관리용이 (진행과정을 세분화)
- 다양한 문서와 산출물로 가시성 확보
|
- 초기에 요구사항 정의가 어려움
- 전단계가 종결되어야 다음 단계 수행
- 사용자 피드백에 의한 반복 단계 불가능
- 한번 결정된 요구사항은 변경이 힘듦
|
- 폭포수 모델 개념도 및 구성 요소
- 폭포수모델의 개념도
- 소프트웨어 개발(계획, 분석, 설계, 개발, 시험, 운영/유지보수)을 단계적, 순차적, 체계적으로 수행하는 프로세스, 각 단계의 결과물은 다음 단계의 입력으로 사용
- 폭포수 모델의 구성요소
구성요소 |
설명 |
계획 |
고객과 사용자가 원하는 바를 파악하여, 타당성을 조사하고,
소프트웨어의 기능과 제약조건을 정의하는 명세서 작성
|
분석 |
대상이 되는 문제 영역과 사용자가 원하는 Task를 이해하는 단계
|
설계 |
분석모델을 가지고 이를 세분화함으로써 구현될 수 있는 형태로 전환
|
개발 |
설계단계에서 만들어진 설계 사양서를 바탕으로 프로그램을 작성, 코딩, 디버깅, 단위테스트 수행
|
시험 |
발생 가능한 실행 프로그램의 오류를 발견하고 수정하는 단계
|
유지보수 |
시스템의 사용 중에 발생하는 여러 변경사항에 대해 적응하고, 변화에 대비하는 과정
|
- 폭포수 모델과 프로토타이핑 모델의 비교
구분 |
폭포수 모델
|
프로토타이핑 모델
|
특징 |
앞단계가 끝나야 다음 단계로 넘어감
단계별 정의가 분명
단계별 산출물이 명확
|
사용자 기본 요구사항에 따른 모형시스템의 신속한 개발
사용자 의견 바탕,시스템을 개선 보완
폭포수 모델 단점 극복하고자 개발 됨
|
효과적인 적용 유형
|
기술위험 낮고 유사프로젝트 경험이 있는 경우
요구사항이 비교적 명확히 정의 되어 있는 경우
해당 영역에 대한 전문가 있고 요구사항이 변경될 가능성이 상당히 적은 경우
|
요구사항을 명세하기 어려운 경우
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 |