IT 이야기/소프트웨어공학

소프트웨어비용산정(Doty, Putnam, COCOMO, COCOMO II, LOC, 기능점수)

필넷 2008. 9. 25. 17:47
반응형
○소프트웨어 비용산정(Doty, Putnam, COCOMO, COCOMO II, LOC, Function Point)

방식

하향식

상향식

° 전문가 측정
° 델파이식(중재자 필요, 감정배제)

° LOC, 수학적 산정기법
° COCOMO, Putnam, FP

직접측정

간접측정

° 비용, 속도, LOC, 노력
° 오류의 수, 메모리 크기

° 기능(FP), 효율성, 품질
° 신뢰성, 복잡성, 유지보수성

° Basili 자원모델 분류 - 정적 단일변수 모델(COCOMO), 정적 다변수 모델, 동적 다변수 모델(Putnam), 이론적모델
Doty ° 인터뷰와 문헌에 바탕
Putnam ° SW 개발 프로젝트의 생명주기 전 과정 동안에 노력의 특수한 분포(Rayleigh)를 가정해주는 동적 다변수 모델
° SLIM - Putnam 모형 기반의 자동화 추정도구
COCOMO ° COCOMO 모델의 가정
- 절대적 생산성 산정(Implicit productivity estimate) : Organic[16LOC/day], Embedded[4LOC/day]
- 개발기간은 팀의 크기가 아니라 총 노력 성과의 함수이다(시스템의 성격과 관계없이 일정) - 사원효용성 모델을 어떻게 적용하는지 명확하지 않다
° 63종류의 Project data를 기초로 작성된 경험적 비용 산정 모델로 유연성이 높아 가장 널리 통용됨
° 3단계 모델

Basic

° Static single value model
° 소프트웨어 개발 노력과 비용을 LOC형태로 추정한 후 비용을 산정하는 고정 단일 값 모형

Intermediate

° Consider personnel, computer, project, product factor ← 비용승수요소
- personnel : 분석가 능력, 프로그래머 능력, 가상기계 경험, 프로그래밍 언어 경험
- computer : 실행시간 제약, 기억장치 제약, 가상기계 휘발성, Turnaround time
- product : 신뢰도, DB크기, 복잡도
- project : 최신 프로그래밍 실습, SW도구, 요구 일정, SW공학 활용도
° Basic의 확장된 모형으로 프로젝트 형태, 개발환경, 개발인력 요소에 따라 15개의 특성치를 적용

Detailed

° Consider system component
° 대형 시스템의 경우 서브 시스템이 서로 상이한 특성을 갖고 있어 각 모듈별, 서브시스템별로 비용을 별도 산정한 후 합산하는 방식을 적용
° 모듈, 서브 시스템, 시스템 수준으로 3계층 비용 산정이 가능하며, 개발 단계별로 비용 산정 방식을 다르게 산정할 수 있음


° 모델별 프로젝트 유형

Organic
(유기적 모드)

° 엄격하지 않은 요구사항 기반의 상대적으로 단순한 SW 프로젝트(응용 프로그램)
° 일괄자료처리, 과학계산용, 비즈니스 자료처리 등에 적합, 50KDSI 이하 규모

Semi detached
(반결합 모드)

° 컴파일러, 워드 프로세서 등의 유틸리티 개발에 적합, 300KDSI 이하 규모에 적합
° 응용 프로그램에 비해 2배의 비용

Embedded
(내장 모드)

° 엄격한 제약조건하에서 개발되는 SW 프로젝트에 적용(시스템 프로그램)
° 운영체제, 데이터베이스 관리시스템등의 300KDSI이상의 규모
° 응용 프로그램에 비해 3배의 비용

° 산정공식

MM(인월)

° a*(KLOC)b

TDEV(개발기간)

° c*(MM)d

FSP(인원)

° MM/TDEV

Cost(비용)

° FSP * TDEV * 월평균임금

COCOMOⅡ ° COCOMO 모델과 Ada 언어 개발환경에 특화된 Ada COCOMO를 통합한 모델로 3개의 sub-model로 구성됨

Application composition model(응용합성)

° 소프트웨어 개발을 위해 통합 CASE Tool을 사용하는 환경에 적용 가능
° 컴포넌트 개수, 복잡도, 객체점수/어플리케이션 점수라 부르는 규모척도로 이용

Early design model
(초기설계)

° 소프트웨어 프로젝트 또는 Product data가 일부 밖에 없는 환경에서 적용 가능

Post-Architecture model
(설계이후)

° 소프트웨어 프로젝트에 대한 상세한 자료가 존재하는 경우에 적용 가능
° 기능점수와 LOC를 규모척도로 이용
° COCOMO모델보다 상세한 cost driver 정보를 사용
° 17개의 multiplicative cost와 5개의 scaling cost driver를 사용하여 비용 산출
° cost driver의 값는 Very Low부터 Extra-High까지 6단계로 구성


※ 개발 초기단계에 LOC를 정확히 예측하는 것이 어려우므로 일의 단계별로 다른 값을 예측하고 소요되는 노력을 추정한다
LOC ° 개발자 관점에서 크기 중심으로 SW 규모산정
Function Point,기능점수(ISO20926) ° Albercht가 최초 제안했으며 최종 사용자 입장에서 SW 규모산정, 규모와 기술의 복잡도를 고려한 SW 비용 산정하는 간접척도
° 소프트웨어 정보영역의 가산적 척도들과 소프트웨어 복잡성에 대한 주관적 추정을 기초로 한 실험, 관찰에 의한 관계성을 이용하여 유도함
사용자 삽입 이미지







장점

단점

° 사용자에게 제공되는 기능측정
° 구현기술에 무관
° Prj 전체 생명주기에 걸쳐 적용
° 일관성, 추적성 관리 가능

° 전문가 필요
° 자동화가 용이하지 않음
° 품질, 기술 요구사항 측정 불가
° 가시적인 사용자 I/F가 없는 경우 효용성 부족

지표

° Productivity(생산성) = FP / Hours
° Development Time to Delivery Rate(생산속도) = FP / Active Time Period
° Protfolio Growth Rate = ((완료 FP - 초기 FP) / 초기 FP) × 100
° FP당 개발원가 = (인건비 + 용역비 + 직/간접경비) / FP
° FP당 이익금액 = (수주금액 - 직접원가) / FP
° Defect Density(결함밀도) = Total defect / FP

데이터기능측정

° ILF, EIF의 복잡도와 가중치는 RET, DET의 개수에 따라 결정됨

트랜잭션기능측정

° EQ, EI, EO의 복잡도와 가중치는 FTR, DET의 개수에 따라 결정됨

조정기능점수

(14개 특성치 적용)

° ±35% 조정됨
° TDI(Total Degree of Influence) - 각 특성에 대향 영향도 범위는 0~5까지 6등급, 최대 70점
° 미조정기능점수 × 조정인자[VAF=(TDI × 0.01) + 0.65]

측정유형

° 개발 프로젝트(DFP) = (UFP + CFP) × VAF
° 개선 프로젝트(EFP) = [(ADD + CHGA + CFP) × VAFA] + (DEL × VAFB)
° 어플리케이션(AFP) = [(UFPB + ADD + CHGA) - (CHGB +DEL)] × VAF

  ※ UFPB의 측정이 불가능하면
    - UFPB = AFPB / VAFB의 공식을 이용하여 측정



반응형