Hello

[정처기 필기] 소프트웨어 개발 생명주기, 프로토타입 모형, 폭포수 모형, 나선형 모형

by 볼빵빵오춘기

소프트웨어 개발 생명주기(SDLC : Software Development Life Cycle)

  • 소프트웨어 시스템의 개발, 가동, 운용, 유지보수, 파기의 전 공정을 체계화한 개념이다.
  • 소프트웨어 시스템의 개발부터 생애를 마치기까지의 과정에 대한 작업 프로세스를 모델화한 것이다.
  • 단계별 주요 활동과 산출물을 표현함으로써 프로젝트의 관리를 쉽게 해 준다.
  • 프로젝트의 비용 산정과 개발 계획을 수립할 수 있는 기본 골격이 된다.
  • 용어를 표준화시키고 문서화가 충실한 프로젝트 관리를 가능하게 한다.

 

프로토타입 모형(Prototyping Model)

  • 실제 개발될 소프트웨어에 대한 시제품(Prototype)을 만들어 최종 결과물을 예측하는 모형이다.
  • 폭포수 모델의 단점을 보완한 모델이다.
  • 구축하고자 하는 시스템의 요구사항이 불명확한 경우 가장 적절하게 적용될 수 있다.
  • 요구 수집, 빠른 설계, 프로토타입 구축, 고객 평가, 프로토타입 조정, 구현의 단계를 통해 소프트웨어를 개발하는 모형이다.

 

폭포수 모형(Waterfall Model)

  • 보헴(Boehm)이 제안한 고전적 생명주기 모형으로, 선형 순차적 모형이라고도 한다.
  • 타당성 검토, 계획, 요구사항 분석, 구현, 테스트, 유지보수 단계를 통해 소프트웨어를 개발하는 모형이다.
  • 순차적인 접근 방법을 이용하며, 단계적 정의와 산출물이 명확하다.
  • 각 단계의 결과가 확인되어야지만 다음 단계로 넘어간다.
  • 개발 중 발생한 요구사항을 반영하기 어렵다.

 

나선형 모형(Spiral Model)

  • Boehm이 제시하였으며, 반복적인 작업을 수행하는 모형으로 점증적 모형, 집중적 모형이라고도 한다.
  • 완성도 높은 소프트웨어를 만들 수 있다.
  • 여러 번의 개발 과정을 거쳐 완벽한 최종 소프트웨어를 개발하는 점진적 모형이다.
  • 가장 큰 장점인 위험 분석 단계에서 기술과 관리의 위험 요소들을 하나씩 제거해 나감으로써 위험성 평가에 크게 의존하기 때문에 이를 발견하지 않으면 문제가 발생할 수 있다.
  • 대규모 시스템의 소프트웨어 개발에 적합하다.

 

나선형 모형의 개발 단계

  1. 계획 수립(Planning)
  2. 위험 요소와 타당성을 분석하여 프로젝트 추진 여부를 결정한다.
  3. 위험 분석(Risk Analysis)
  4. 개발 목적과 기능 선택, 제약 조건 등을 결정하고 분석한다.
  5. 개발 및 검증(Development)
  6. 선택된 기능을 수행하는 프로토타입을 개발한다.
  7. 고객 평가(Evaluation)
  8. 개발된 프로토타입을 사용자가 확인하고 추가 및 수정될 요구사항이 있으면 이를 반영한 개선 프로토타입을 만든다.

 

CPM(Critical Path Method)

  • 프로젝트 완적에 필요한 작업을 나열하고 작업에 필요한 소요 기간을 예측하는 기법
  • 노드와 간선으로 구성되며, 노드는 작업을 표시하고 간선은 작업 사이의 전후 의존 관계를 나타낸다.
  • 박스 노드는 프로젝트의 중간 점검을 뜻하는 이정표로, 이 노드 위에 예상 완료 시간이 표시된다.
  • 한 이정표에서 다른 이정표에 도달하기 전의 작업이 모두 완료되어야만 다음 작업 진행 가능하다.

  • 모든 작업을 거치려면
    2일 + 3일 + 5일 + 4일 = 14일
    2일 + 2일 + 3일 + 3일 = 10일
    두 가지 작업 방법이 있으며,
    짧은 작업보다 긴 작업을 선택해서 계산해야 그 시간 안에 모든 일을 처리할 수 있게된다.

 

블로그의 정보

Hello 춘기's world

볼빵빵오춘기

활동하기