[정보처리기사 필기] 소프트웨어 개발 방법론 활용 - 129. 수학적 산정 기법

1. 수학적 산정 기법의 개요

  • 경험적 추정 모형, 실험적 추정 모형
  • 상향식 비용 산정 기법
  • 개발 비용 산정의 자동화를 목표로 함
  • 비용을 자동으로 산정하기 위해 사용되는 공식은 과거 유사한 프로젝트를 기반으로하여 경험적으로 유도된 것
  • 수학적 산정 기법의 종류 : COCOMO 모형, Putnam 모형, 기능 점수 FP 모형 등
  • 각 모형에서 지정된 공식을 사용하여 비용을 산정

2. COCOMO 모형 개요

  • 보햄이 제안한 것
  • 프로그램의 규모인 LOC(원시 코드 라인 수)에 의한 비용 산정 기법
  • 개발할 소프트웨어 규모를 예측한 후 이를 소프트웨어 종류에 따라 다르게 책정되는 비용 산정 방정식에 대입하여 비용을 산정
  • 비교적 작은 규모의 프로젝트들을 통계 분석한 결과를 반영한 모델
  • 중소 규모 소프트웨어 프로젝트 비용 추정에 적합
  • 같은 규모의 프로그램이라도 그 성격에 따라 비용이 다르게 산정됨
  • 비용 산정 결과는 프로젝트를 완성하는데 필요한 노력(Man-Month)으로 나타남

3. COCOMO의 소프트웨어 개발 유형

  • 소프트웨어의 복잡도 혹은 원시 프로그램의 규모에 따라 분류
    • 조작형 Oraganic Mode
      • 기관 내부에서 개발된 중소 규모의 소프트웨어
      • 일괄 자료 처리나 과학 기술 계산용, 비즈니스 자료 처리용으로 5만(50KDSI) 라인 이하의 소프트웨어를 개발하는 유형
        • KDSI : 전체 라인 수를 1,000 라인 단위로 묶은 것, KLOC와 같은 의미
      • 사무 처리용, 업무용, 과학용 응용 소프트웨어 개발에 적합
      • 조작형의 비용 산정 공식
  • 반분리형 Semi-Detached Mode 
    • 조작형과 내장형의 중간형으로 트랜잭션 처리 시스템이나 운영체제, 데이터베이스 관리 시스템 등의 30만(300KDSI) 라인 이하의 소프트웨어를 개발하는 유형
    • 컴파일러, 인터프리터와 같은 유틸리티 개발에 적합
    • 반분리형의 비용 산정 공식
  • 내장형 Embedded Mode
    • 초대형 규모의 트랜잭션 처리 시스템이나 운영체제 등의 30만(300KDSI) 라인 이상의 소프트웨어를 개발하는 유형
    • 신호기 제어 시스템, 미사일 유도 시스템, 실시간 처리 시스템 등의 시스템 프로그램 개발에 적합
    • 내장형의 비용 산정 공식
      •  

4. Putnam 모형

  • 생명 주기 예측 모형
  • 소프트웨어 생명 주기의 전 과정 동안에 사용될 노력의 분포를 가정해주는 모형
  • 푸트남이 제안한 모형
  • 시간에 따른 함수로 표현되는 Rayleigh-Norden 곡선의 노력 분포도를 기초로 함

Rayleigh-Norden 곡선

  • 대형 프로젝트의 노력 분포 산정에 이용되는 기법
  • 개발 기간이 늘어날수록 프로젝트 적용 인원의 노력이 감소
  • Putnam 모형의 산정 공식
    • L : 원시 코드 라인 수
    • Td : 개발 기간
    • Ck : 환경 상수 (빈약 환경 = 2,000, 좋은 환경 = 8,000, 최적 환경 = 12,000)

5. 기능 점수 FP 모형

  • 알브레히트 Albrecht 가 제안한 것
  • 소프트웨어의 기능을 증대시키는 요인별로 가중치를 부여하고, 요인별 가중치를 합산하여 총 기능 점수를 산출하며 총 기능 점수와 영향도를 이용하여 기능 점수를 구한 후 이를 이용해서 비용을 산정하는 기법
  • 기능 점수 FP 모형의 공식
    • 기능 점수 FP = 총 기능 점수 x [0.65 + {0.1 X 총 영향도}]
    • 총 기능 점수 : 소프트웨어 개발의 규모, 복잡도, 난이도 등을 하나의 수치로 장악시킨 것
  • 최근에 그 유용성과 간편성으로 비용 산정 기법 가운데 최선의 평가를 받고 있음
  • 기능별 가중치
소프트웨어 기능 증대 요인 가중치
단순 보통 복잡
자료 입력 (입력 양식) 3 4 6
정보 출력(출력 보고서) 4 5 7
명령어 (사용자 질의 수) 3 4 5
데이터 파일 7 10 15
필요한 외부 루틴과의 인터페이스 5 7 10

6. 자동화 추정 도구

  • SLIM : Rayleigh-Nordlen 곡선과 Putnam 예측 모델을 기초로 하여 개발된 자동화 추정 도구
  • ESTIMACS : 다양한 프로젝트와 개인별 요소를 수용하도록 FP 모형을 기초로 하여 개발된 자동화 추정 도구