Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Crawling
- macos
- algorithm
- Scheduling
- python
- Util
- AWS
- Android
- sequelize
- Kotlin
- ubuntu
- docker
- HTML
- wireshark
- TypeScript
- mysql
- mongoose
- DATABASE
- node.js
- MongoDB
- linux
- typeorm
- OOAD
- React
- S3
- postman
- Network
- Express
- css
- OS
Archives
- Today
- Total
Seongwon Lim
소프트웨어 프로세스 3가지 모델 비교하기 본문
반응형
1. Waterfall Model
- 설계 이전에 요구사항을 개발 → 요구사항의 명세가 매우 매우 명확하다.
- 프로그래밍 이전에 모든 설계를 마침 → 매우 완벽하고 정확하게 시스템을 설계
- 모듈들을 통합하기 이전에 프로그래밍을 완료한다.
- 한번에 시스템의 컴포넌트를 통합한다.
- 통합이 끝난 후에 테스트 과정을 수행한다.
1.1 Waterfall Model 장점
- 프로젝트 진행 속도가 빠르다. → 대신 결과물의 만족도나 품질을 보장할 수는 없다.
- 프로젝트 성공 시 프로젝트에 드는 비용이 적게 든다. → 대신에 만족도, 품질을 제외한 경우에 해당된다.
- 개발을 할 때 개발 이외의 요구사항을 신경쓰지 않아도 된다. → 개발에만 집중할 수 있다.
- 각 단계에서 할 일이 명확하다.
1.2 Waterfall Model 단점
- 시스템이 완성될 때까지 시스템이 잘 되는지 확인 불가 → 데모 테스트가 불가능
- 고객은 시작 단계에서 모든 요구사항을 표현해야 한다.
- 모든 설계가 코딩 시작하기 이전에 완성 되어야 한다.
- 각 단계의 수정이 힘들다.
- 요구사항에 대한 피드백 반영이 어렵다. 반대로 생각하면 요구사항은 설계 이전에 완벽하고 안정되어야 한다.
2. Incremental Model
- 설계는 우선 순위에 따라서 나누어진 빌드에 한정한다.
- 가장 중요한 기능들이 먼저 빌드 → 자주 테스트되고 시연된다.
- Waterfall과 달리 테스트가 가능하다.
2.1 Incremental Model 장점
- 사용자로부터 초기 피드백을 받을 수 있음 → 피드백이 수월하다.
- 가장 먼저 구축된 컴포넌트가 가장 많이 테스트 됨 → 중요한 기능을 꼼꼼하게 개발할 수 있다.
- 고객이 데모 시연을 통해 이 기능이 내가 원하는 기능인지 빨리 알아챌 수 있다.
2.2 Incremental Model 단점
- 고객의 수정사항이 길어질수록 프로젝트가 오래 걸리는 경우가 있다.
- 수정사항이 많으면 프로젝트에 적용되는 비용(시간) 또한 많이 든다.
3. Evolutionary Model
- 사전에 명확하게 요구사항을 명세할 수 없을 때 쓰는 모델이다.
- 고위험 프로젝트에서 많이 사용한다. → 꼼꼼하고 상세하게 요구사항 명세할 때
- Evolutionary 모델은 도중에 Incremental 모델로 전환되기도 한다.
3.1 Evolutionary Model 장점
- 초기에 프로젝트를 접을 수 있어서 매몰 시 비용이 상대적으로 적다.
- 따라서 망했을 때 덜 암담하다.
- 고객의 요구사항을 더 적합하게 반영할 수 있다.
- 기능에 대한 수정 비용이 적다. → 다른 비용이 적다는 것은 아니다.
3.2 Evolutionary Model 단점
- 수정 비용이 적으니까 다른 비용이 크다. → 프로젝트 비용이 많이 듦
- 프로젝트 진행 기간이 예상보다 늘어질 수 있음 → 고객 요구가 많아지는 경우 등
'Architecture' 카테고리의 다른 글
소프트웨어 프로세스(Software Process)란? (0) | 2022.05.09 |
---|
Comments