소프트웨어 개발 방법론의 바탕이 되는 것으로, 소프트웨어를 개발하기 위해 정의하고 운용, 유지보수 등의 과정을 각 단계별로 나눈 것
일반적으로 사용되는 소프트웨어 생명 주기 모형 : 폭포수 모형, 프로토타입 모형, 나선형 모형, 애자일 모형 등
2. 소프트웨어 공학
소프트웨어의 위기를 극복하기 위해 방안으로 연구된 학문
이며 여러가지 방법론과 도구, 관리 기법들을 통하여 소프트웨어의 품질과 생산성을 향상시킬 목적으로 함
여러형태로 정의 1) IEEE의 소프트웨어 공학 표준 용어 : 소프트웨어의 개발, 운용, 유지보수, 폐기 처분에 대한 체계적인 접근 방안 2) Fairley : 지정된 비용과 기간 내에 소프트웨어를 체계적으로 생산하고 유지보수하는 데 관련된 기술적이고 관리적인 원리 3) Boehm : 과학적인 지식을 소프트웨어 설계와 제작에 으용하는 것이미 이를 개발, 운용, 유지보수하는데 필요한 문서 작성 과정
기본 원칙 1) 현대적인 프로그래밍 기술을 계속적으로 적용 2) 개발된 소프트웨어의 품질이 유지되도록 지속적으로 검증 3) 소프트웨어 개발 관련 사항 및 결과에 대한 명확한 기록을 유지
3. 폭포수 모형 (Waterfall Model)
폭포에서 한번 떨어진 물은 거슬러 올라갈 수 없듯이소프트웨어 개발도 이전 단계로 돌아갈 수 없다는 전제하에 각 단계를 확실히 매듭짓고 그 결과를 철저하게 검토하여 승인 과정을 거친 후에 다음 단계를 진행하는 개발 방법론
소프트웨어 공학에서 가장 오래되고 가장 폭넓게 사용된 전통적인 소프트웨어 생명 주기 모형으로, 고전적 생명 주기 모형이라고도 함