SDLC

SDLC(Software Development Life Cycle, 소프트웨어 생명주기)는 시스템의 요구분석부터 폐기까지의 전 과정을 단계별로 체계화한 절차다. 어떤 방법론을 따르든 이 단계들을 어떻게 배치하고 반복할 것인가가 차이일 뿐, 본질은 동일하다.

표준 단계

  1. 요구사항 분석: 무엇을 만들지 정의 → Requirement Specification
  2. 설계: 시스템 구조와 모듈을 설계 → 소프트웨어 아키텍쳐
  3. 구현: 실제 코드 작성
  4. 테스트: 단위/통합/시스템 테스트/인수 테스트
  5. 배포: 운영 환경에 릴리스
  6. 유지보수: 결함 수정 및 기능 개선

대표 모델

폭포수(Waterfall)

앞 단계가 끝나야 다음 단계로 진행. 요구가 안정적인 프로젝트에 적합. 변경에 취약.

V-모델

폭포수 + 각 단계마다 대응되는 검증 단계 추가.

프로토타이핑

초기 프로토타입을 만들고 사용자 피드백을 받으며 발전.

나선형(Spiral)

계획 → 위험분석 → 개발 → 평가의 사이클을 반복하며 점진적 확장.

애자일(Agile)

짧은 반복(스프린트)으로 가치 있는 결과물을 자주 배포 → Agile

모델 선택 기준

요인선호 모델
요구가 명확·고정폭포수, V-모델
요구가 불확실프로토타이핑, 애자일
위험 높음·대규모나선형
빠른 시장 검증애자일 + MVP

관련 노트