소프트웨어 개발 프로세스 중 잘 알려진 대표적인 개발 프로세스의 특징, 장단점을 비교해 본다.
1. 폭포수 모델(Waterfall Model)
2. 프로토타이핑 모델(Prototyping Model)
3. 점진적 모델(Incremental Model)
4. 나선형 모델(Spiral Model)
5. V 모델(Verification Model)
그 외 특이항 프로세스로
6. Unified 프로세스
7. 애자일 프로세스
를 소개-그림만-해 본다.
그 외의 프로세스들
WinWin 나선형 모델(WinWin Spiral Model)
동시적 개발 모델(Concurrent Development Model)
컴포넌트-기반 개발(CBD; Component-based Development)
형식 방법론 모델(Formal Method Model)
등이 있다.
소프트웨어 개발 프로세스 비교표
|
특 징 / 적 용 |
장 점 |
단 점 |
1. 폭포수 모델 |
- 각 단계가 끝나야 다음 단계가 시작 가능함 (순서적) - 단순하거나 응용 분야를 잘 알고 있을 경우 적합 - 결과물 정의가 중요 - 이미 잘 알고 있는 문제나 연구 중심 문제에 적합 - 변화가 적은 프로젝트에 적합 |
- 프로세스가 단순하여 초보자가 쉽게 적용 가능 - 중간 산출물이 명확, 관리하기 좋음 - 코드 생성 전 충분한 연구와 분석 단계 |
- 초반 단계들을 지나치게 강조하면 코딩, 테스트가 지연 - 각 단계의 전환에 많은 노력 - 프로토타입과 재상용의 기회가 줄어둚 - 소용 없는 다종의 문서를 생산할 가능성 있음 |
2. 프로토타이핑 모델 |
- 프로토타입(시범 시스템)의 적용 - 트로토타이핑 도구 이용 - 공동의 참조 모델 - 단순한 요구 추출 및 제작 가능성 타진 - 개발 착수 시점에 요구가 불투명할 때 - 실험적으로 실현 가능성을 타진해 보고 싶을 때 - 혁신적 기술을 사용해 보고 싶을 때 |
- 사용자의 의견 반영이 잘 됨 - 사용자가 더 관심을 가지고 참여할 수 있고 개발자는 요구를 더 정확하게 도출할 수 있음 |
- 오해, 기대심리 유발 - 관리가 어려움 (중간 산출물 정의가 난해) |
3. 점진적 모델 |
- 선형 순차적 모델의 요소들에 프로토 타입의 반복성의 개념 포함 - 개발 사이클이 짧은 환경 - 빠른 시간 내에 시장에 출시해야 할 때 - 개발 시간을 줄이기 위해 시스템을 나누어 릴리즈 - 점증적 & 반복적으로 릴리스 - 기능이 부족하더라도 초기 사용가능 - 빠른 출시로 초기 시장 선점 가능 - 자주 릴리스하여 문제를 신속히 해결 |
- 대규모 시스템 개발에 적합 - 반복적인 개발 및 테스트 - 처음 릴리즈에 핵심 기능이 구현되고, 이후 릴리즈는 부가 사항이 구현 - 한 릴리즈에 추가하지 못한 기능은 다음 릴리즈에 추가 가능 |
- 각 릴리즈에 중복되는 작업이 발생 할 수 있음 |
4. 나선형 모델 |
- 프로토 타입 모델의 반복성과 선형 순차적 모델의 시스템적인 요소를 결합 - S/W 기능을 나누어 점증적으로 개발 - 여러 번의 점증적인 릴리즈 - 계획 수립, 위험 분석, 개발, 평가 단계로 구성 - 재정적 또는 기술적으로 위험 부담이 큰 경우 - 요구 사항이나 아키텍처 이해에 어려운 경우 |
- 대규모 시스템 개발에 적합 - 반복적인 개발 및 테스트 - 한 사이클에 추가하지 못한 기능은 다음 단계에 추가 가능 |
- 위험 분석이 중요 - 관리가 중요 - 새로운 모형 |
5. V 모델 |
- 폭포수 모델의 변형이나 작업 결과의 검증에 초점 - 신뢰성이 높이 요구되는 분야 |
- 오류를 줄일 수 있음 |
- 반복이 없어 변경 사항을 다루기가 쉽지 않음 |
1. 폭포수 모델(Waterfall) 모델
2. 프로토타이핑 모델(Prototyping Model)
3. 점진적 모델(Incremental Model)
4. 나선형 모델(Spiral Model)
5. V 모델(Verification Model)
6. Unified 프로세스
7. 애자일 프로세스
Ref. : 새로 쓴 소프트웨어 공학, 최은만 저, 정익사
Ref. : 소프트웨어 공학 실무적 접근 5th Edition, 우치수외 3명 공역, Pressman
.
'Study > Software Engineering' 카테고리의 다른 글
클라우드 서비스 별 아키텍처 (0) | 2017.05.22 |
---|---|
폭포수 모델(Waterfall Model)의 각 단계 소개 (0) | 2016.03.30 |
클라우드의 이해와 활용 (Cloud; Cloud Computing; Cloud Services) (2) | 2013.07.10 |