CS/소프트웨어 공학

소프트웨어 개발 프로세스

hyomee2 2024. 7. 10. 20:15

1. 소프트웨어 개발 프로세스란?

: 소프트웨어 개발을 위한 일련의 단계적 절차

- 요구사항 수집, 설계, 구현, 테스팅, 배포, 유지보수

2. 소프트웨어 프로세스 모델의 종류

(1) 선형 순차적 모델(워터폴, 폭포수 모델)

- 각 개발 단계(요구 사항 분석, 시스템 설계, 구현, 테스팅, 배포 및 유지보수)가 선형적으로 진행되며,

  이전 단계가 완료된 후에만 다음 단계로 넘어간다. (이전 단계로 다시 거슬러 올라갈 수 없다.)

1) 장점

- 구조가 명확하고 이해가 쉽다.

- 각 단계가 명확하게 구분되어 있어 문서화에 유리하다.

- 큰 규모인 프로젝트나 변경이 거의 없는 프로젝트에 적합하다.

2) 단점

- 유연성이 부족하다.

- 사용자 피드백을 개발 과정 후반에야 받을 수 있어서 초기 설계 오류의 수정이 어렵다.

- 프로젝트 초기 단계에서 정확한 요구사항을 파악해야 하는데, 이는 쉽지 않다.

(2) 애자일 프로세스 모델(애자일 방법론)

- 변화에 유연하게 대응하고 고객의 지속적인 피드백을 수용하는 반복적인 개발 접근 방식으로,

  짧은 개발 사이클(스프린트)을 통해 지속적으로 제품 개선

1) 장점

- 빠르게 변화하는 요구 사항에 유연하게 대응할 수 있다.

- 정기적인 피드백을 통해 고객 요구사항을 더 잘 반영할 수 있다.

2) 단점

- 대규모 프로젝트에선 사용이 어려울 수 있다.

- 문서화가 충분히 이뤄지지 않아 새로운 팀원의 참여가 어려울 수 있다.

- 초기에 최종 비용 및 시간 추정이 어려울 수 있다.