Search

비용산정

소프트웨어의 개발 규모를 소요인력, 자원, 기간 등으로 확인하여 실행 가능한 계획을 수립하기 위해 필요한 비용을 산정하는것이다.

소프트웨어 비용 결정 요소

프로젝트 요소
제품 복잡도 - 소프트웨어의 종류에 따라 발생할 수 있는 문제점들의 난이도
시스템 크기 - 소프트웨어의 규모에 따라 개발해야 할 시스템의 크기
요구되는 신뢰도 - 일정기간 내 주어진 조건 하에서 필요한 기능을 수행하는 정도
자원 요소
인적자원 - 소프트웨어 개발 관련자들이 갖춘 능력 혹은 자질
하드웨어 자원 - 소프트웨어 개발 시 필요한 장비와 프린터 등의 보조장비들
소프트웨어 자원 - 소프트웨어 개발 시 필요한 IDE, 문서 관리 도구 등의 툴들
생산성 요소
개발자 능력 - 개발자들이 갖춘 전문지식, 경험, 이해도 등
개발 기간 - 소프트웨어를 개발하는 기간

소프트웨어 비용 산정 기법

하향식 비용 산정 기법
과거의 유사한 경험을 바탕으로 전문가들이 참여한 회의를 통해 비용을 산정하는 정성적 기법이다.
전문가 감정기법
조직 내 경험이 많은 두명 이상의 전문가에게 비용 산정을 의뢰하는 기법이다.
개인적이고 주관적일 수 있다.
델파이 기법
전문가 감정 기법의 주관적 편견을 보완하기 위해 한명의 조정자와 여러 전문가의 의견을 종합하여 성정하는 기법
예측을 목적으로 제안된 기법이라 고대 그리스 델포이 신전의 이름에서 유래하였다.
상향식 비용 산정 기법
프로젝트의 세부적인 작업 단위별로 비용을 산정한 후 집계하여 전체 비용을 산정하는 방법이다.
LOC(source Line Of Code; 원시 코드 라인 수) 기법
소프트웨어 각 기능의 원시코드 라인 수의 비관치, 낙관치, 기대치를 측정하여 예측지를 구하고 이로 이용을 산정하는 기법이다.
EPT(Effort Per Task; 개발 단계별 인원수) 기법
LOC 기법을 보완하기 위한 기법으로, 각 기능을 구현시키는데 필요한 노력을 생명주기의 각 단계별로 산정하는 기법이다.
CoCoMo(Constructive Cost Model) 기법
LOC를 먼저 추정하고 이를 준비된 식에 대입하여 소요 인원/기간을 예측하는 기법이다.
LOC 수치의 기준으로 CoCoMo가 제안하는 소프트웨어 개발 유형이 나뉜다.
CoCoMo에서는 소프트웨어 개발 규모에 따라 소프트웨어를 개발하는데 소요되는 PM(Programmer Man/Month; 프로그래머 인원/월 단위 기간)의 산정법이 구분된다.
조직형(Organic; ~ < 50KDSI)
기관 내부에서 개발된 중, 소규모의 소프트웨어로 일괄 자료 처리나 과학 기술 계산용, 비즈니스 자료 처리용으로 5만라인(50000DSI, 50KDSI) 이하의 소프트웨어를 개발하는 유형이다.
PM = 2.4 X (KDSI)^1.05
반분리형(Semi-Detatched; 50KDSI < ~ < 300KDSI)
트랜잭션 처리 시스템이나 운영체제, 데이터베이스 관리 시스템 등의 30만 라인 이하의 소프트웨어를 개발하는 유형이다.
PM = 3.0 X (KDSI)^1.12
내장형(Embedded; 300KDSI < ~ )
초대형 규모의 트랜잭션 처리 시스템이나 운영체제 등의 30만 라인 이상의 소프트웨어를 개발하는 유형이다.
PM = 3.6 X (KDSI)^1.20
PM을 산정한 후, 소요되는 개발 기간, 인력, 비용을 산정하기 위해 CoCoMo 모델을 사용한다.
기본형 모델(Basic CoCoMo)
소프트웨어의 크기와 개발유형만을 이용하여 비용을 산정하는 방식이다. 앞서 구한 PM을 그대로 사용하여 TDev(Total Development; 총 개발기간), FSP(Fulltime Software Personal; 적정 투입 인원), Cost를 산정한다.
TDev = 2.5 X PM^k
(Organic: k=0.38 / Semi-Detatched: k=0.35 / Embedded: k=0.32)
FSP = PM / TDev
Cost = FSP X TDev X Average monthly pay
중간형 모델(Intermediate CoCoMo)
기본형 CoCoMo의 공식을 그대로 사용하나, 제품, 컴퓨터, 개발요원, 프로젝트 특성 등 15가지 요인을 통해 곱연산한 EAF(Effort Adjustment Factor)과 조정된 constants를 사용하여 PM을 산정한다.
PM = a X KDSI^b
Organic: a=3.2, b=1.05
Semi-Detatched: a=3.0, b=1.12
Embedded: a=2.8, b=1.20
발전형 CoCoMo(Detailed CoCoMo)
중간형 CoCoMo를 보완하여 만들어진 방법으로, 개발 공정별로 보다 자세하고 정확하게 노력을 산출하여 비용을 산정하는 모델이다.
소프트웨어 환경과 구성요소가 사전에 정의되어있어야 하며, 개발 과정의 후반부에 주로 적용한다.
Putnam 모형
소프트웨어 생명주기의 전 과정 동안에 사용될 노력의 분포를 가정해주는 모형이다.
Putnam이 제안한 모델로, 생명주기 예측 모형이라고도 부른다.
시간에 따른 함수로 표현되는 Rayleigh-Norden 곡선의 노력 분포도를 기초로 한다.
대형 프로젝트의 노력 분포 산정에 이용되는 기법이다.
특징으론, 개발기간이 늘어날수록 프로젝트 적용 인원의 노력이 감소한다.
기능점수(FP; Function Point) 모형
Albrecht가 제안한 것으로, 4개의 단계를 통해 소프트웨어의 비용을 산정한다.
1.
소프트웨어의 기능을 증대시키는 요인별로 가중치를 부여
2.
요인별 가중치를 합산하여 총 기능수(미조정 가능점수)를 산출
3.
총 기능수와 영향도를 이용하여 기능점수(조정 기능점수)를 산정
4.
도출된 기능점수로 비용을 산정