[소프트웨어공학] 소프트웨어 개발비용 산정 기법

[소프트웨어공학] 소프트웨어 개발비용 산정 기법

하향식 비용 산정 기법(top-down)

과거 유사 경험을 바탕으로 회의를 통해 산정하는 비과학적인 기법
  • 전문가 감정 기법
    • 조직내 경험이 있는 2명 이상의 전문가에게 비용산정 의뢰
    • 신속하게 할 수 있지만, 편견이 있을 수 있다.
  • 델파이 기법
    • 한명의 조정자(중재자)와 여러명의 전문가의 의전을 종합하여 비용 산정
    • 전문가 감정 기법의 단점을 보완한 것

상향식 비용 산정 기법(down-top)

프로젝트의 세부적인 작업 단위별로 비용을 산정한 후 전체 비용 산정
  • LOC(원시 코드 라인 수)기법 
    • 각 기능의 원시 코드의 라인수의 비관치(가장 많은 라인 수), 낙관치(가장 적은 라인 수), 기대치(평균 라인수)를 측정하여 예측지를 구해 비용을 산정하는 기법
      • 예측치 = (낙관치 + 4*기대치 + 비관치)/6
      • 노력(인월) = 개발기간 * 투입인원 = LOC / 1인당 월 평균 생상 코드 라인 수
      • 개발 비용 = 노력 * 단위비용(1인당 월평균 인권비)
      • 생산성 = LOC / 노력
  • 개발 단계별 인원수(Effort per Task) 기법
    • 생명 주기의 각 단계별로 노력(인월)을 산정
    • LOC보다 더 정확한 기법
      • LCO는 라인수만 있고, EPT는 가중치(일의 어려움)까지 측정


수학적 산정 기법(경험적 추정 모형, 실험적 추정 모형)

수학적 산정 기법 또한 상향식 비용 산정 기법이다.
  • COCOMO(Constructive COst MOdel)
    • 개발할 소프트웨어의 규모(LOC)를 예측한 후 소프트웨어의 종류에 따라 각 비용 산정 공식에 대입하여 비용 선정
      • 소프트웨어 개발 유형
        • 조직형(Organic Mode)
          • 중,소 규모의 5만 라인 이하의 소프트웨어
          • 사무처리용, 업무용, 과학용 응용 소프트웨어 개발에 적합
        • 반 분리형(Semi - Detached Mode)
          • 조직형과 내장형의 중간형으로 30만 라인 이하의 소프트웨어
          • 컴파일러, 인터프리터등 유틸리티 개발에 적합
        • 내장형(Embedded Mode)
          • 최대 규모의 30만 라인 이상의 소프트웨어
          • 신호기제어 시스템, 미사일 유도 시스템, 실시간 처리 시스템 등의 시스템 프로그램 개발에 적합
  • Putman 모형
    • 소프트웨어 생명 주기의 전 과정 동안에 사용될 노력의 분포를 가정해 주는 모형
    • 시간에 따른 함수로 표현되는 Rayleigh-Norden 곡선의 노력 분포도를 기초로 함
    • 대형 프로젝트의 노력 분포 산정에 이용
  • 기능 점수(FP) 모형
    • 기능 점수(Function Point)를 구한 후 이를 이용해서 비용을 산정하는 기법
    • 기능점수(FP) = 총 기능점수 * (0.65 + (0.1 * 총 영향도))최근 유용성과 간편성으로 인해 비용 산정 기법중 최선의 평가를 받고 있다.
    • (입출력, 데이터베이스 테이블, 인터페이스, 조희 등)의 수를 판단 근거로 삼는다.
    • 즉 라인 수와 무관하게 기능이 많으면 규모도 크고 복잡도도 높다고 판단한다.
    • 구현 관점(물리적 파일, 화면, 프로그램 수)이 아닌 사용자 관점의 요구 기능을 정량적으로 산정한다.
    • 측정의 일관성을 유지하기 위해 개발 기술, 개발 방법, 품질 수준 등은 고려하지 않는다.
    • 소프트웨어 개발에 사용되는 언어와 무관하다.
    • 소프트웨어 개발 생명주기의 전체 단계에서 사용 가능하다
    • 경험을 바탕으로 단순, 보통, 복잡한 정도에 따라 가중치를 부여한다.


자동화 추정 도구

비용 산정의 자동화를 위해 개발된 도구
  • SLIM
    • Rayleigh-Norden 곡선과 Putnam 예측 모델을 기초로 하여 개발된 자동화 추정 도구
  • ESTIMACE
    • FP 모형을 기초로 하여 개발된 자동화 추정 도구


출처

댓글

이 블로그의 인기 게시물

[소프트웨어공학] NS(Nassi-Schneiderman) 차트

[컴퓨터네트워크] Telnet이란?

[Python] # -*- coding: utf-8 -*-를 쓰는 이유