소프트웨어공학

COCOMO (Constructive Cost Model)_KDSI, Organic, Semi-Detached, Embedded

스윙스윙 2021. 12. 12. 13:38

▣ COCOMO (Constructive Cost Model)_KDSI, Organic, Semi-Detached, Embedded

■ 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

중간형 COOCMO

  • 프로젝트 형태, 개발환경, 개발인력 요소에 따라 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

발전형 COCOMO

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

 

■ 3가지 프로젝트 유형

구분 내용 산정공식
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

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

 


2012년 32번

정답 : 3번

실행시간 제약은 HW속성임

 

중간형 COOCMO

  • 프로젝트 형태, 개발환경, 개발인력 요소에 따라 15개의 특성치를 적용한 방식
    1. 제품속성(Product) 3가지: SW 신뢰도, DB크기, 제품의 복잡성
    2. HW속성(Computer) 4가지: 응답시간, 실행시간 제약, 기억장치 제약, 가상기계 환경의 휘발성
    3. 인적속성(Personal) 5가지: 분석가의 자질, 프로그래머의 자질, 응용분야의 경험, 컴퓨터와의 친숙성, 프로그래밍 언어 경험
    4. 프로젝트 속성(Project) 3가지: 개발 기간의 산정, 개발도구 사용, 방법론 응용

2014년 32번

정답 : 3번

노력 (MM) : 500

고정 투입 인원 수 : 10명

개발자 연봉 : 3000만원

개발자 월 급여 : 250만원(3000만원 / 12개월)

구현단계 비중 : 총 노력의 40%

 

프로젝트 전체 기간 : 500 / 10 = 50개월

프로젝트 전체 비용 : 개발자 명수 * 개발자 1인 월 급여 * 프로젝트 전체 기간 = 10 * 250만 * 50 = 125,000만원

구현단계 비용 : 프로젝트 전체 비용 * 구현단계 비중 = 125,000만원 * 40% = 5억원

 


2015년 46번

정답 : 1번

 


2016년 44번

정답 : 3번

COCOMO는 경험에 의해 추출된 상수와 LOC를 기반으로 노력 추정과 개발 기간을 산정함

 


2016년 46번

정답 : 2번

Assembly > C > Unix shell Scripts > Java > Powerbuilder

SW 사업 대가산정가이드 언어유형 구분 및 보정계수