![post-thumbnail](https://velog.velcdn.com/images/alpaka206/post/0ea81fdd-de89-4260-b7e3-58544021b08c/image.png)
수학적 산정 기법의 개요
- 수학적 산정 기법은 상향식 비용 산정 기법으로, 경험적 추정 모형, 실험적 추정 모형이라고도 하며, 개발 비용 산정의 자동화를 목표로 한다.
- 비용을 자동으로 산정하기 위해 사용되는 공식은 과거 유사한 프로젝트를 기반으로하여 경험적으로 유도된 것이다.
- 수학적 산정 기법에는 COCOMO 모형, Putnam 모형, 기능 점수(FP) 모형 등이 있으며 각 모형에서는 지정된 공식을 사용하여 비용을 산정한다.
COCOMO 모형 개요
- COCOMO(COnstructive COst MOdel) 모형은 보헴(Boehm)이 제안한 것으로, 원시 프로그램의 규모인 LOC(원시 코드 라인 수)에 의한 비용 산정 기법이다.
- 개발할 소프트웨어의 규모(LOC)를 예측한 후 이를 소프트웨어 종류에 따라 다르게 책정되는 비용 산정 방정식에 대입하여 비용을 산정한다.
- 비교적 작은 규모의 프로젝트들을 통계 분석한 결과를 반영한 모델이므로 중소 규모 소프트웨어 프로젝트 비용 추정에 적합하다.
- 같은 규모의 프로그램이라도 그 성격에 따라 비용이 다르게 산정된다.
- 비용 산정 결과는 프로젝트를 완성하는 데 필요한 노력(Man-Month)으로 나타난다.
COCOMO의 소프트웨어 개발 유형
- 소프트웨어 개발 유형은 소프트웨어의 복잡도 혹은 원시 프로그램의 규모에 따라 조직형(Organic Mode), 반분리형(Semi-Detached Mode), 내장형(Embedded Mode)으로 분류할 수 있다.
조직형(Organic Mode)
- 조직형은 기관 내부에서 개발된 중·소 규모의 소프트웨어로 일괄 자료 처리나 과학 기술 계산용, 비즈니스 자료 처리용으로 5만(50KDSI) 라인 이하의 소프트웨어를 개발하는 유형이다.
- 사무 처리용, 업무용, 과학용 응용 소프트웨어 개발에 적합하다.
- 비용을 산정하는 공식은 다음과 같다.
- 노력(MM) = 2.4∗(KDSI)1.05
- 개발 기간(TDEV) = 2.5∗(MM)0.38
반분리형(Semi-Detached Mode)
- 반분리형은 조직형과 내장형의 중간형으로 트랜잭션 처리 시스템이나 운영체제, 데이터베이스 관리 시스템 등의 30만(300KDSI) 라인 이하의 소프트웨어를 개발하는 유형이다.
- 컴파일러, 인터프리터와 같은 유틸리티 개발에 적합하다.
- 비용을 산정하는 공식은 다음과 같다.
- 노력(MM) = 3.0∗(KDSI)1.12
- 개발 기간(TDEV) = 2.5∗(MM)0.35
내장형(Embedded Mode)
- 내장형은 초대형 규모의 트랜잭션 처리 시스템이나 운영체제 등의 30만(300KDSI) 라인 이상의 소프트웨어를 개발하는 유형이다.
- 신호기 제어 시스템, 미사일 유도 시스템, 실시간 처리 시스템 등의 시스템 프로그램 개발에 적합하다.
- 비용을 산정하는 공식은 다음과 같다.
- 노력(MM) = 3.6∗(KDSI)1.20
- 개발 기간(TDEV) = 2.5∗(MM)0.32
Putnam 모형
- Putnam 모형은 소프트웨어 생명 주기의 전 과정 동안에 사용될 노력의 분포를 가정해 주는 모형이다. bbishoo
- 푸트남(Putnam)이 제안한 것으로 생명 주기 예측 모형이라고도 한다.
- 시간에 따른 함수로 표현되는 Rayleigh-Norden 곡선의 노력 분포도를 기초로 한다.
![](https://velog.velcdn.com/images/alpaka206/post/3f15da06-a9ee-4dd6-889e-48a2463b9e56/image.png)
- 대형 프로젝트의 노력 분포 산정에 이용되는 기법이다.
- 개발 기간이 늘어날수록 프로젝트 적용 인원의 노력이 감소한다.
- 산정공식
- 개발 노력(MM) = L3/(Ck3)∗Td4
- L: 원시 코드 라인 수, Td: 개발 기간, Ck: 환경 상수(빈약 환경 = 2,000, 좋은 환경 = 8,000, 최적 환경 = 12,000)
기능 점수(FP) 모형
- 기능 점수(Function Point) 모형은 알브레히트(Albrecht)가 제안한 것으로, 소프트웨어의 기능을 증대시키는 요인별로 가중치를 부여하고, 요인별 가중치를 합산하여 총 기능 점수를 산출하며 총 기능 점수와 영향도를 이용하여 기능 점수(FP)를 구한 후 이를 이용해서 비용을 산정하는 기법이다.
- 기능 점수(FP) = 총 기능 점수 [0.65 + (0.1 총 영향도)]
- 발표 초기에는 관심을 받지 못하였으나 최근에는 그 유용성과 간편성으로 비용 산정 기법 가운데 최선의 평가를 받고 있다.
기능별 가중치
소프트웨어 기능 증대 요인 | 가중치 | 가중치 | 가중치 |
---|
| 단순 | 보통 | 복잡 |
자료 입력(입력 양식) | 3 | 4 | 6 |
정보출력(출력 보고서) | 4 | 5 | 7 |
명령어(사용자 질의수) | 3 | 4 | 5 |
데이터 파일 | 7 | 10 | 15 |
필요한 외부 루틴과의 인터페이스 | 5 | 7 | 10 |