CS/소프트웨어 공학
소프트웨어 개발 프로세스
hyomee2
2024. 7. 10. 20:15
1. 소프트웨어 개발 프로세스란?
: 소프트웨어 개발을 위한 일련의 단계적 절차
- 요구사항 수집, 설계, 구현, 테스팅, 배포, 유지보수
2. 소프트웨어 프로세스 모델의 종류
(1) 선형 순차적 모델(워터폴, 폭포수 모델)
- 각 개발 단계(요구 사항 분석, 시스템 설계, 구현, 테스팅, 배포 및 유지보수)가 선형적으로 진행되며,
이전 단계가 완료된 후에만 다음 단계로 넘어간다. (이전 단계로 다시 거슬러 올라갈 수 없다.)
1) 장점
- 구조가 명확하고 이해가 쉽다.
- 각 단계가 명확하게 구분되어 있어 문서화에 유리하다.
- 큰 규모인 프로젝트나 변경이 거의 없는 프로젝트에 적합하다.
2) 단점
- 유연성이 부족하다.
- 사용자 피드백을 개발 과정 후반에야 받을 수 있어서 초기 설계 오류의 수정이 어렵다.
- 프로젝트 초기 단계에서 정확한 요구사항을 파악해야 하는데, 이는 쉽지 않다.
(2) 애자일 프로세스 모델(애자일 방법론)
- 변화에 유연하게 대응하고 고객의 지속적인 피드백을 수용하는 반복적인 개발 접근 방식으로,
짧은 개발 사이클(스프린트)을 통해 지속적으로 제품 개선
1) 장점
- 빠르게 변화하는 요구 사항에 유연하게 대응할 수 있다.
- 정기적인 피드백을 통해 고객 요구사항을 더 잘 반영할 수 있다.
2) 단점
- 대규모 프로젝트에선 사용이 어려울 수 있다.
- 문서화가 충분히 이뤄지지 않아 새로운 팀원의 참여가 어려울 수 있다.
- 초기에 최종 비용 및 시간 추정이 어려울 수 있다.