[소프트웨어공학] 비용 산정 방법론
소프트웨어 개발비용 산정기법
상향식
단계별로 측정한 결과들을 모아서 총비용을 측정하는 방법
- LOC 기법 (원시 코드 라인 수 : Line Of Code)
프로젝트의 각 기능별 라인 수를 측정(비관치, 기대치, 낙관치)하여 비용을 산정하는 방법- 비관치 : 기능을 코딩할 때, 가장 많이 측정된 라인 수
- 기대치 : 기능을 코딩할 때, 제시한 측정된 라인 수의 평균
- 낙관치 : 기능을 코딩할 때, 가장 적게 측정된 라인 수
- 예측치 : $\frac{(비관치 + 4 \cdot 기대치 + 낙관치)}{6}$
- 평방 편차 : $({\frac{(비관치-낙관치)}6})^2$
- 개발 단계별 인월 수 방법
LOC 기법을 보완하기 위한 방법으로, 각 기능을 구현시키는데 필요한 노력을 생명주기의 각 단계별로 산정
수학적 산정 기법
- Walston Felix 모형
60여 개 개발 업체의 다양한 규모의 프로젝트 비용 측정 자료를 모아 통계적으로 분석한 공식으로 개발 비용을 측정하는 방법
인월 수를 계산하는데KDSI
(원시코드에서 주석라인, 라이브러리 루틴, 공백을 제외한 실제 수행 코드 라인 수)를 사용한다- COCOMO 비용 산정 공식의 모체이다
- COCOMO(COnstructive COst MOdel)
Boehm이 제시한 원시 프로그램의 규모에 의한 비용 예측 모형 변화 모형과 규모 유형이 존재한다- 변화 모형
- Basic : S/W 크기 + 개발 유형
- Intermediate : Basic Model + 가중치
- Detailed : Intermediate Model + 시스템 세분화
- 규모 모형
- Organic(유기형)
인월(MM) = $2.4 \times [KDSI]^{1.05}$
개발기간(TDEV) = $2.5 \times [KDSI]^{0.38}$ - Semi-detached(준 분리형)
인월(MM) = $3.0 \times [KDSI]^{1.12}$
개발기간(TDEV) = $2.5 \times [KDSI]^{0.35}$ - Embedded(내재형)
인월(MM) = $3.6 \times [KDSI]^{1.20}$
개발기간(TDEV) = $2.5 \times [KDSI]^{0.32}$
- Organic(유기형)
- 변화 모형
-
PUTNAM
시간에 따른 함수로 표현되는 Rayleigh-Norden 곡선의 노력 분포도를 기초로 한다
개발 기간이 연장될수록 프로젝트 적용 인원의 노력이 감소하므로 대형 프로젝트의 노력 분포 산정으로 적당
Putnam 모형을 기초로 해서 만든 자동화 추정 도구는SLIM
이다MM = $\frac{DSI^3}{[개발 기술 지수]^3 \times [개발 기간]^4\frac{3}{4}}$
LOC = $[개발 기술 지수] \times[총인월]^{\frac{1}{3}} \times [개발 기간]^{\frac{3}{4}}$ - Albrecht 모형(기능점수, FP)
프로젝트를 기능 별로 분해하고 경험을 바탕으로 단순/보통/복잡한 정도에 따라가중치
를 부여
요인별 가중치를 합산하여 총 기능점수 산출
총 기능점수와 영향도를 이용하여 실질 기능 점수를 구한 후 최종 비용 산정
FP 모형을 기초로 하여 개발된 자동화 도구는ESTIMACS
실질 기능 점수(FP) = $총기능점수 \times [0.65+ (0.1 \times 총영향도)]$
하향식
프로젝트의 총비용을 측정한 후 단계별로 비용을 세분화하는 방법
- 전문가 감정 기법
- 조직 내 경험이 많은 두명 이상의 전문가에게 비용산정 의뢰
- 의뢰자로부터 신뢰를 얻을 수 있다
- 새로운 프로젝트와 유사한 프로젝트에 대한 경험이 없을 수 있고 개인직이고 주관적일 가능성이 있다
- 델파이 기법
- 많은 전문가의 의견을 종합 후 산정하는 방법으로 전문가 감정 기법의 단점을 보완
- 전문가들의 의견을 중재하는 중재자가 반드시 필요
댓글남기기