COCOMO: Difference between revisions

From CS Wiki
(새 문서: ;COnstructive COst MOdel ;B.Boehm이 제안한 원시 프로그램의 규모에 의한 비용 예측 방법 * 1981년에 초기 모델 제안, 1995년 COCOMO II로 확장 * 먼저...)
 
 
(10 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[분류:소프트웨어 공학]][[분류:프로젝트 관리]][[분류:정보처리기사]]
;COnstructive COst MOdel
;COnstructive COst MOdel
;B.Boehm이 제안한 원시 프로그램의 규모에 의한 비용 예측 방법
;시스템의 비용을 산정하기 위해 시스템을 구성하고 있는 모듈과 서브 시스템의 비용 합계를 계산하는 방식


* 1981년에 초기 모델 제안, 1995년 COCOMO II로 확장
* B.Boehm이 1981년에 초기 모델 제안, 1995년 [[COCOMO II]]로 확장
* 먼저 완성될 시스템의 규모(lines of code)를 추정하고 이를 준비된 식에 대입하여 소요 인원/월을 예측
* 먼저 완성될 시스템의 규모(lines of code)를 추정하고 이를 준비된 식에 대입하여 소요 인원/월을 예측


== 프로젝트 유형 ==
== 3가지 모델 유형 ==
=== Basic COCOMO ===
;기본형 COCOMO
* SW 개발 노력과 비용을 LOC 형태로 추정한 후 비용을 산정하는 고정 단일값 모형(Static Single-valued Mode)
* 산정공식
** 개발 노력(Effort, MM) = a × (KDSI)^b
** 개발 기간(TDEV) = c × (MM)^d
** 적정 투입 인원(FPS) = MM / TDEV
** 인적 비용(COST) = MM × 인당 월평균 급여
 
=== Intermediate COCOMO ===
;중간형 COCOMO
* 프로젝트 형태, 개발환경, 개발인력 요소에 따라 15개의 특성치를 적용한 방식
*# 제품속성(Product) 3가지: SW 신뢰도, DB크기, 제품의 복잡성
*# HW속성(Computer) 4가지: 응답시간, 실행시간 제약, 기억장치 제약, 가상기계 환경의 휘발성
*# 인적속성(Personal) 5가지: 분석가의 자질, 프로그래머의 자질, 응용분야의 경험, 컴퓨터와의 친숙성, 프로그래밍 언어 경험
*# 프로젝트 속성(Project) 3가지: 개발 기간의 산정, 개발도구 사용, 방법론 응용
* 산정공식
** 개발 노력(Effort, MM) = Basic COCOMO의 MM × 요인별 노력 승수
** 개발 기간(TDEV) = c × (MM)^d
** 적정 투입 인원(FPS) = MM / TDEV
** 인적 비용(COST) = MM × 인당 월평균 급여
 
=== Detailed COCOMO ===
;발전형 COCOMO
* 대형 시스템에 대하여 서브시스템의 상이한 특성을 반영하여 비용을 개별 산정한 후 합산하는 방식
* 3단계 비용 산정: 모듈, 서브시스템, 시스템 레벨
* [[소프트웨어 개발 생명주기|개발 단계별(SDLC)]]로 비용 산정방식을 달리 할 수 있음
* 산정공식
** 중간형 COCOMO 산정 공식 그대로 사용
** 노력 승수 = 개발 공정별 노력 승수 × 개발 공정별 가중치
 
== 3가지 프로젝트 유형 ==
; 프로젝트 유형을 구분하여 프로그램 규모(Kilo Delivered Source Instruction, KDSI)와 프로그래머 M/M(Programmer Man/Month, PM)의 관계 정의
; 프로젝트 유형을 구분하여 프로그램 규모(Kilo Delivered Source Instruction, KDSI)와 프로그래머 M/M(Programmer Man/Month, PM)의 관계 정의
* '''단순형(Organic)'''
=== Organic Mode ===
** 5만 라인 이하
; 단순형 모드
** 소규모 팀이 개발하는 잘 알려진 응용 시스템
* 5만 라인 이하
** PM = 2.4 x (KSDI)^1.05
* 소규모 팀이 개발하는 잘 알려진 응용 시스템
* '''중간형(Semi-Detached)'''
* PM = 2.4 x (KDSI)^1.05
** 30만 라인 이하
 
** 트랜잭션 처리, 운영체제, DBMS 등
=== Semi-Detached Mode ===
** PM = 2.4 x (KSDI)^1.12
; 중간형 모드
* '''임베디드형(Embedded)'''
* 30만 라인 이하
** 5만 라인 이하
* 트랜잭션 처리, 운영체제, DBMS 등
** 하드웨어가 포함된 최상위 규모의 실시간 처리 시스템
* PM = 3.0 x (KDSI)^1.12
** 미사일 유도, 신호기 제어 시스템 등
 
** PM = 2.4 x (KSDI)^1.20
=== Embedded Mode ===
;임베디드형 모드
* 30만 라인 이상
* 하드웨어가 포함된 최상위 규모의 실시간 처리 시스템
* 미사일 유도, 신호기 제어 시스템 등
* PM = 3.6 x (KDSI)^1.20
 
== 같이 보기 ==
* [[COCOMO II]]
* [[기능 점수]]

Latest revision as of 06:55, 22 May 2023

COnstructive COst MOdel
시스템의 비용을 산정하기 위해 시스템을 구성하고 있는 모듈과 서브 시스템의 비용 합계를 계산하는 방식
  • B.Boehm이 1981년에 초기 모델 제안, 1995년 COCOMO II로 확장
  • 먼저 완성될 시스템의 규모(lines of code)를 추정하고 이를 준비된 식에 대입하여 소요 인원/월을 예측

3가지 모델 유형[edit | edit source]

Basic COCOMO[edit | edit source]

기본형 COCOMO
  • SW 개발 노력과 비용을 LOC 형태로 추정한 후 비용을 산정하는 고정 단일값 모형(Static Single-valued Mode)
  • 산정공식
    • 개발 노력(Effort, MM) = a × (KDSI)^b
    • 개발 기간(TDEV) = c × (MM)^d
    • 적정 투입 인원(FPS) = MM / TDEV
    • 인적 비용(COST) = MM × 인당 월평균 급여

Intermediate COCOMO[edit | edit source]

중간형 COCOMO
  • 프로젝트 형태, 개발환경, 개발인력 요소에 따라 15개의 특성치를 적용한 방식
    1. 제품속성(Product) 3가지: SW 신뢰도, DB크기, 제품의 복잡성
    2. HW속성(Computer) 4가지: 응답시간, 실행시간 제약, 기억장치 제약, 가상기계 환경의 휘발성
    3. 인적속성(Personal) 5가지: 분석가의 자질, 프로그래머의 자질, 응용분야의 경험, 컴퓨터와의 친숙성, 프로그래밍 언어 경험
    4. 프로젝트 속성(Project) 3가지: 개발 기간의 산정, 개발도구 사용, 방법론 응용
  • 산정공식
    • 개발 노력(Effort, MM) = Basic COCOMO의 MM × 요인별 노력 승수
    • 개발 기간(TDEV) = c × (MM)^d
    • 적정 투입 인원(FPS) = MM / TDEV
    • 인적 비용(COST) = MM × 인당 월평균 급여

Detailed COCOMO[edit | edit source]

발전형 COCOMO
  • 대형 시스템에 대하여 서브시스템의 상이한 특성을 반영하여 비용을 개별 산정한 후 합산하는 방식
  • 3단계 비용 산정: 모듈, 서브시스템, 시스템 레벨
  • 개발 단계별(SDLC)로 비용 산정방식을 달리 할 수 있음
  • 산정공식
    • 중간형 COCOMO 산정 공식 그대로 사용
    • 노력 승수 = 개발 공정별 노력 승수 × 개발 공정별 가중치

3가지 프로젝트 유형[edit | edit source]

프로젝트 유형을 구분하여 프로그램 규모(Kilo Delivered Source Instruction, KDSI)와 프로그래머 M/M(Programmer Man/Month, PM)의 관계 정의

Organic Mode[edit | edit source]

단순형 모드
  • 5만 라인 이하
  • 소규모 팀이 개발하는 잘 알려진 응용 시스템
  • PM = 2.4 x (KDSI)^1.05

Semi-Detached Mode[edit | edit source]

중간형 모드
  • 30만 라인 이하
  • 트랜잭션 처리, 운영체제, DBMS 등
  • PM = 3.0 x (KDSI)^1.12

Embedded Mode[edit | edit source]

임베디드형 모드
  • 30만 라인 이상
  • 하드웨어가 포함된 최상위 규모의 실시간 처리 시스템
  • 미사일 유도, 신호기 제어 시스템 등
  • PM = 3.6 x (KDSI)^1.20

같이 보기[edit | edit source]