Akashic Records

소프트웨어 비용산정 - 1 본문

오래된글/소프트웨어공학

소프트웨어 비용산정 - 1

Andrew's Akashic Records 2018. 4. 19. 10:55
728x90

PLT 29 소프트웨어 비용산정

소프트웨어 비용산정의 정의

  • 개발 소프트웨어 범위를 측정할 있는 소요공수, 투입인력, 개발기간 등을 파악하여 실행 가능한 계획을 수립하는

  • 소프트웨어의 개발 시에 정보시스템의 구축에 필요한 기능과 규모를 근거로 하여 직접적으로 투입이 필요한 비용을 예측하는데 필요한 과학적, 합리적, 경험적인 활동


소프트웨어 비용산정의 필요성

  • 소프트웨어 제품의 비용을 산정하는정에서정확한 비용과 일정 계산에 오류가 많음

  • 소프트웨어의 전체적인 규모파악을 통해서 사전에 비용을 분석하고 대응하기 위한 방안

  • 발주자와 수주자 간에 합리적이고 신뢰할 있는 수준의 비용계약에 필요한 방법필요

  • 소프트웨어 개발의 생산성 측정방안과 개발비용에 대한 근거제시로 저가 입찰 소프트웨어 품질저하 지양


소프트웨어 비용결정 요소

1. 프로그래머의 자질

초대형 프로젝트에서 개별적인 능력의 차이는 평준화되는 경향이 있지만 5 이하의 프로그래머를 활용해야 하는 프로젝트인 경우에는 개인의 능력의 차이는 매우 중요하다.


2. 제품의 복잡도

제품의 형태

개발난이도

비율

복잡도 등급

프로그래머 비용 공식(PM)

응용프로그램

1

단순(Organic)

PM=2.4X(KDSI)1.05

유틸리티

프로그램

3

중간형(Semidetached)

PM=3.0X(KDSI)1.12

시스템

프로그램

9

임베디드(Embedded)

PM=3.6X(KDSI)1.20

KDSI: Kilo Delivered Source Instruction

(LOC: Lines of code : 1 KDSI = 1,000 LOC)

PM: Programmer-Month


제품의 형태

총개발기간(TDEV)

응용 프로그램

TDEV=2.5(PM)0.38

유틸리티 프로그램

TDEV=2.5(PM)0.35

시스템 프로그램

TDEV=2.5(PM)0.32

TDEV: Total development time


3. 제품의 크기

대형 소프트웨어 제품으 개발 비용은 소형의 소프트웨어를 개발하는 비용 보다 많이 소요된다.


4. 가용 시간

프로젝트 노력은 프로젝트 완료에 유용한 시간에 민감하다. 여러 학자들은 최적의 개발시간에 대하여 조사하였으며, 이들 대부분은 소프트웨어 프로젝트는 개발기간이 최적의 기간보다 단축되거나 늘어난다면 보다 많은 노력을 필요로 한다는데 의견의 일치를 보왔다.


5. 요구되는 신뢰도의 수준

소프트웨어 신뢰도는 프로그램이 일정한 기간내에 주어진 조건하에서필요한 기능을 실행하는 확률로 정의한다. 신뢰도는 원시 코드의 정확성, 강인성, 완전성과 일관성에 관하여 표시될 있다.

범주

실패 효과

노력 승수

매우 낮음

약간 불편

0.75

낮음

쉽게 회복

0.88

보통

손실을 복구하기가 어려움

1.00

높음

높은 재정적인 손실 야기

1.15

매우 높음

생명에 위험을

1.40


6. 기술 수준

어셈블리 언어 대신 고급언어를 사용하는 경우 프로그래머의 생산성은 5 이상 올라간다. 현대식 실제와 개발도구로 사용하면 기본적인 도구을 사용할 때의 0.45 비율으리 노력을 감소하게 해준다.

노력 승수

제품의 속성

. 요구되는 신뢰도

. DB 크기

. 제품의 복잡도


0.75 – 1040

0.94 – 1016

0.7 – 1065

컴퓨터 속성

. 실행 시간의 제약

. 주기억 장소의 제약

. 가상 기계의 불안정

. 컴퓨터 turnaround 시간


1.00 – 1.66

1.00 – 1.56

0.87 – 1.30

0.87 – 1.15

요원의 속성

. 분석가의 자질

. 프로그래머의 자질

. 응용 분야의 경험

. 가상 기계의 경험

. 프로그래밍 언어의 경험


1.46 – 0.71

1.42 – 0.70

1.29 – 0.82

1.21 – 0.90

1.14 – 0.95

프로젝트 속성

. 현대식 프로그래밍 실제의 사용

. 소프트웨어 도구의 사용

. 요구되는 개발 일정 계획


1.24 – 0.82

1.24 – 0.83

1.23 – 1.10


소프트웨어 비용산정 기법

구분

산정방식별 주요 내용

상향식

- 경험과 전문지식이 많은 개발자들이 인력, 시스템 크기, 필요 예산등을 합으하여 결정

- Delphi 기법

하향식

- 업무분류 구조로 정의, 구성요소에 대한 산정을 독립적으로 실시한 이를 집계하여 산정

- LOC(Line Of Code)기법

수학적

- 프로젝트 개발비 산정의 자동화를 목표로

- COCOMO, FP(Function Point) 기법


728x90
Comments