Seongwon Lim

소프트웨어 프로세스 3가지 모델 비교하기 본문

Architecture

소프트웨어 프로세스 3가지 모델 비교하기

limsw 2022. 5. 9. 20:36
반응형

1. Waterfall Model

  • 설계 이전에 요구사항을 개발 → 요구사항의 명세가 매우 매우 명확하다.
  • 프로그래밍 이전에 모든 설계를 마침 → 매우 완벽하고 정확하게 시스템을 설계
  • 모듈들을 통합하기 이전에 프로그래밍을 완료한다.
  • 한번에 시스템의 컴포넌트를 통합한다.
  • 통합이 끝난 후에 테스트 과정을 수행한다.

1.1 Waterfall Model 장점

  • 프로젝트 진행 속도가 빠르다. → 대신 결과물의 만족도나 품질을 보장할 수는 없다.
  • 프로젝트 성공 시 프로젝트에 드는 비용이 적게 든다. → 대신에 만족도, 품질을 제외한 경우에 해당된다.
  • 개발을 할 때 개발 이외의 요구사항을 신경쓰지 않아도 된다. → 개발에만 집중할 수 있다.
  • 각 단계에서 할 일이 명확하다.

1.2 Waterfall Model 단점

  • 시스템이 완성될 때까지 시스템이 잘 되는지 확인 불가 → 데모 테스트가 불가능
  • 고객은 시작 단계에서 모든 요구사항을 표현해야 한다.
  • 모든 설계가 코딩 시작하기 이전에 완성 되어야 한다.
  • 각 단계의 수정이 힘들다.
  • 요구사항에 대한 피드백 반영이 어렵다. 반대로 생각하면 요구사항은 설계 이전에 완벽하고 안정되어야 한다.

2. Incremental Model

  • 설계는 우선 순위에 따라서 나누어진 빌드에 한정한다.
  • 가장 중요한 기능들이 먼저 빌드 → 자주 테스트되고 시연된다.
  • Waterfall과 달리 테스트가 가능하다.

2.1 Incremental Model 장점

  • 사용자로부터 초기 피드백을 받을 수 있음 → 피드백이 수월하다.
  • 가장 먼저 구축된 컴포넌트가 가장 많이 테스트 됨 → 중요한 기능을 꼼꼼하게 개발할 수 있다.
  • 고객이 데모 시연을 통해 이 기능이 내가 원하는 기능인지 빨리 알아챌 수 있다.

2.2 Incremental Model 단점

  • 고객의 수정사항이 길어질수록 프로젝트가 오래 걸리는 경우가 있다.
  • 수정사항이 많으면 프로젝트에 적용되는 비용(시간) 또한 많이 든다.

3. Evolutionary Model

  • 사전에 명확하게 요구사항을 명세할 수 없을 때 쓰는 모델이다.
  • 고위험 프로젝트에서 많이 사용한다. → 꼼꼼하고 상세하게 요구사항 명세할 때
  • Evolutionary 모델은 도중에 Incremental 모델로 전환되기도 한다.

3.1 Evolutionary Model 장점

  • 초기에 프로젝트를 접을 수 있어서 매몰 시 비용이 상대적으로 적다.
  • 따라서 망했을 때 덜 암담하다.
  • 고객의 요구사항을 더 적합하게 반영할 수 있다.
  • 기능에 대한 수정 비용이 적다. → 다른 비용이 적다는 것은 아니다.

3.2 Evolutionary Model 단점

  • 수정 비용이 적으니까 다른 비용이 크다. → 프로젝트 비용이 많이 듦
  • 프로젝트 진행 기간이 예상보다 늘어질 수 있음 → 고객 요구가 많아지는 경우 등

'Architecture' 카테고리의 다른 글

소프트웨어 프로세스(Software Process)란?  (0) 2022.05.09
Comments