SDLC에 대한 개념 공부

2019-12-11

소프트웨어 개발 생명주기 프로세스 모델

(SDLC :Software Development LifeCycle)
소프트웨어의 생성부터 소멸까지 관리하는 프로세스


Waterfall Model (폭포수 모델)

개발 프로세스에서 가장 많이 사용되고 있는 모델
요구사항 - 설계 - 구현 - 테스팅 - 유지보수 의 순서

  • 장점 : 각 단계별로 정형화된 접근 방법 가능
    체계적 문서화가 가능하여 프로젝트 진행을 명확하게 할 수 있음
  • 단점 : 앞 단계가 완료될 때까지 다음 단계는 대기상태
    실제 작동되는 시스템을 개발 후반부에 확인 가능하기 때문에
    고객이 요구사항 적용을 확인하는데 많은 시간이 걸림

Prototyping Model (원형 모델)

폭포수 모델의 단점을 보완한 모델
점진적으로 시스템을 개발해 나가는 방법

  • 장점 : 원형을 바탕으로 빠른 개발과 고객의 피드백을 받을 수 있음
  • 단점 : 대규모 프로젝트에는 부적합

Spiral Model (나선형 모델)

폭포수 모델과 원형 모델의 장점을 수용하고 위험분석을 추가한 점층적 개발모델
중간마다 위험분석을 하며 문제가 있을 경우 프로젝트를 중단하는 것이 목적

  • 장점 : 프로젝트 위험요인을 최소화 할 수 있음
  • 단점 : 단계가 명확하게 구분되어 있지 않음

V Model (V 모델)

폭포수 모델에 시스템 검증과 테스트, 작업을 강조한 모델
모델의 상세설계를 단위테스트 과정에 검증하고 시스템 설계는
통합테스트 단계에 요구는 시스템 테스트 과정에서 검증하는 방법

  • 장점 : 개발 후 발생하는 오류를 줄일 수 있음
  • 단점 : 반복이 없어 변경을 다루기가 쉽지 않음

Agile Model (애자일 모델)

아무 계획이 없는 개발과 계획이 지나친게 많은 개발
그 방법들 사이에서 타협점을 찾고자 하는 방법론

Document oriented(문서를 통한 개발)가 아니라,
Code oriented(실질적인 코딩)을 통한 방법론