COCOMO

개념
COCOMO (Constructive Cost Model)의 정의 - 시스템의 비용을 산정하기 위해 시스템을 구성하고 있는 모듈과 서브 시스템의 비용 합계를 계산하는 방식 - 소프트웨어 유형을 모듈별(Organic, Semi-Detached, Embedded)로 구분하고 각 유형에 대한 총 인월(man/month)수와 개발 기간을 계산하는 방식 - 소프트웨어 개발비, 유지보수 비용의 견적, 개발 단계 및 업무 활동과 산출물을 정의하여 포함한 비용 산정

Ⅰ. COCOMO (Constructive Cost Model)의 개요

가. COCOMO (Constructive Cost Model)의 정의

-시스템의 비용을 산정하기 위해 시스템을 구성하고 있는 모듈과 서브 시스템의 비용 합계를 계산하는 방식

-소프트웨어 유형을 모듈별(Organic, Semi-Detached, Embedded)로 구분하고 각 유형에 대한 총 인월(man/month)수와 개발 기간을 계산하는 방식

-소프트웨어 개발비, 유지보수 비용의 견적, 개발 단계 및 업무 활동과 산출물을 정의하여 포함한 비용 산정

나. COCOMO (Constructive Cost Model)의 특징

비용 예측

 예상된 시스템의 크기(SLOC - Source Lines of Code, DSI - Deliverd Source Instruction)로부터 예측

의존성

 소프트웨어의 속성(Organic, Semi-Detached, Embedded)에 의존

유연성

 진행 예정된 프로젝트의 여러 특성(제품 특성, 컴퓨터 특성, 개발요원 특성, 프로젝트 성격에 영향)을 고려할 수 있도록 융통성 부여

이용성

 현재까지 공표된 소프트웨어의 측정 중에서 가장 이해하기 쉬운 실험적 모델

 

Ⅱ. COCOMO 모델의 분류 및 프로젝트 유형

가. COCOMO 모델의 유형

- KDSI(Kilo Delivered Source Instruction) :전체 라인 수를 1,000라인 단위로 묶은 것으로 KLOC(Kilo LOC)와 같은 의미

구분

내용

산정공식

기본형

(Basic)

COCOMO

 SW 개발 노력과 비용을 LOC 형태로 추정한 후 비용을 산정하는 고정 단일값 모형 (Static Single-valued mode)

 -산정공식

중간형

(Intermediate)

COCOMO

 Basic의 확장, 프로젝트 형태, 개발환경, 개발인력 요소에 따라 15개의 특성치를 적용한 방식

 1)제품속성(product:3개) : SW 신뢰도, DB크기, 제품의 복잡성

 2)HW속성(computer:4개) : 응답시간, 실행시간 성능제약, 기억장치 제약, 가상기계 환경의 휘발성

 3)인적속성(personnel:5개) : 분석가의 자질, 프로그래머의 자질, 응용분야의 경험, 컴퓨터와의 친숙성, 프로그래밍 언어의 경험

 4)프로젝트속성(project:3개) : 개발 기간의 산정, 개발도구 사용, 방법론 응용

 - 산정공식

발전형

(Detailed)

COCOMO

대형 시스템의 경우 서브시스템이 서로 상이한 특성을 가지며 각 모듈별, 서브 시스템별로 비용을 별도 산정하여 합산하는 방식 적용

.3계층 비용 산정이 가능(모듈, 서브시스템, 시스템 레벨)

.개발단계별(생명주기)로 비용 산정방식을 달리 할 수 있음

-산정공식

중간형 COCOMO 산정 공식을 그대로 사용하되, 노력 승수를 다음과 같이 적용하여 산정한다

노력승수 = 개발공정별노력승수 * 개발공정별가중치

 

나. COCOMO 모델의 프로젝트 유형

구분

내용

산정공식

Organic Mode

(유기적 모드)

-50,000 소스라인(50KDSI) 이하의 비교적 작은 크기의 제품(Scientific, Business 등의 SW)

-비교적 작은 소규모 개발팀

-훌륭한 현장 경험을 갖고 있는 개발팀

-기능 및 성능의 요구사항과 인수 테스트 및 인터페이스 등의 명세가 비교적 덜 엄격함

-통신을 위한 부가비용이 적음

-안정적인 개발 환경, 일정에 대한 강제성이 적음

-현존하며, 증명된 기술을 사용함

노력(MM)

= 2.4 * (KDSI)1.05

개발기간(TDEV)

= 2.5 * (MM)0.38

Semidetached Mode

(반 결합 모드

프로젝트)

-300,000 소스라인(300KDSI) 정도의 중간 크기 제품(컴파일러, 워드프로세서와 같은 개발 지원도구 개발용 프로젝트)

-개발대상과 개발환경에 대하여 경험자와 비 경험자가 섞여있는 개발팀

-엄격한 명세와 덜 엄격한 명세가 섞여있음

-크기와 복잡성 면에서 중간 정도 수준의 소프트웨어 프로젝트

노력(MM)

= 3.0 * (KDSI)1.12

개발기간(TDEV)

= 2.5 * (MM)0.35

Embedded Mode

(내장모드

프로젝트)

- OS, DBMS, 통신모니터와 같이 300KDSI이상의 대형 프로젝트로서 transaction processing system 등

기능이나 성능 등에 대한 엄격한 명세

-제품이 시간 제약사항 내에서 수행되어야만 함

-제품이 엄격하며 정형적인 품질 표준을 만족해야 함

-하드웨어, 소프트웨어, 운영 등의 제약에 깊은 상호연관성이 있음

-광범위한 시험평가가 요구됨

-선도적인 기술이 사용됨

-병행되어 개발되는 다른 시스템 컴포넌트들이 사용됨

-강한 일정에 대한 제약

노력(MM)

= 3.6 * (KDSI)1.20

개발기간(TDEV)

= 2.5 * (MM)0.32

 

 

Ⅲ. COCOMO 계산

문제)14,000 라인의 응용프로그램을 작성해야 되는 프로젝트의 비용을 COCOMO의 Basic 모델을 이용하여 개발노력, 개발기간, 개발인원을 계산하고, COCOMO를 설명하시오.

 단) 계산에서 상수a = 2.4, b=1, c=0.5, d=1 로 가정한다.

 

 

 

 

 

Basic COCOMO 모델의 계산

개발노력(E) = 2.4 * 141 = 2.4 * 14 = 33.6 MM

개발기간(D) = 0.5 * 33.61 = 16.8 Month

개발인원(N) = 33.6/16.8 = 2 명                      ”

 

 


 

댓글