Waterfall Model
- 작업 단계가 완성되어야 다음 단계로 넘어감. (단계별 정의 명확)
- 개발 과정 중 발생하는 새로운 요구사항을 시스템에 반영하기 어려움.

Prototype Model
- 폭포수 모델의 단점을 보완(개발 완료 시점에서 발견되는 오류 보완)
- 실제 개발 이전에 고객이 시제품을 보고 평가 가능

spiral Model
- 폭포수 모델과 프로토타입 모델의 장점 수용 + 위험 분석 기능 추가
- 나선을 따라 돌듯 여러 번 s/w 개발 과정을 거쳐 점진적으로 완벽한 최종 s/w 개발
- 고객 초기 요구사항 대한 위험 분석 후 관리 기술 통해 해결

Agile Model
- 일정 주기를 반복함으로써 고객의 요구사항 변화에 민첩히 대응
- 개발 주기마다 고객 요구사항이 가장 우선시 되어 개발 작업 진행
- 소규모 프로젝트, 숙련된 개발자, 요구사항 변화가 많은 프젝에 적합
- 스크럼, XP(Extreme Programming), 칸반, Lean, 크리스탈, ASD(Adaptive S/W Development), FDD(Feature Driven Development), DSDM(Dynamic System Development Method), DAD(Disciplined Adile Delivery)

scrum
제품 백로그 -> 스프린트 계획 회의 -> 스프린트 실행 -> 일일 스크럼 회의 -> 스크럼 검토 회의 -> 스프린트 회고

XP(eXtreme Programming)
- 사용자의 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발과정 반복 극대화 -> 생산성 향상
- 단순한 설계와 코딩, 짧고 반복적인 개발주기, 고객의 참여를 통해 s/w 를 신속히 개발하는 것이 목표
- 반복적으로 포로토타입을 고객에게 전달
요구사항 개요
기능 요구사항
- 시스템이 어떤 기능을 수행하는지
- 시스템이 어떤 데이터를 저장하고 연산을 수행해야 하는지
- 시스템이 수행할 기능
- 유저가 제공받는 서비스
비 기능 요구사항
- 시스템 장비/성능/인터페이스 요구사항
- 데이터 구축에 필요한 요구사항
- 테스트 요구사항
- 데이터 보안에 관한 요구사항
- 품질 요구사항, 제약사항, 프로젝트 관리 요구사항, 프로젝트 지원 요구사항
사용자 요구사항
- 사용자 관점에서 본 시스템이 제공해야 할 요구사항
시스템 요구사항
- 개발자 관점에서 본 시스템 전제가 사용자와 타 시스템에 제공해야 할 요구사항
- 소프트웨어 요구사항