Skip to content
난이도 문제은행 6

비용·일정 산정 ​

비용 산정은 소프트웨어를 만드는 데 사람이 얼마나, 몇 달 동안 필요한지 미리 계산하는 일이다. 예산과 인원을 정하려면 착수 전에 숫자가 있어야 하므로 여러 추정 모형이 만들어졌다. 시험에서는 LOC 공식 계산, COCOMO(COnstructive COst MOdel, 구성적 비용 모형)의 세 유형, Putnam·기능 점수(function point)의 특징, CPM 임계 경로(critical path)가 나온다.

LOC 기법 ​

LOC(Lines Of Code, 원시 코드 라인 수) 기법은 만들 프로그램의 코드 줄 수를 먼저 추정하고, 그 값으로 노력(effort)과 기간을 계산한다. 노력의 단위는 인월(MM, Man-Month)로, 1인월은 한 사람이 한 달 동안 하는 일의 양이다. 줄 수를 한 번에 맞히기 어려우므로 낙관치·기대치·비관치 세 값을 받아 가중 평균을 낸다.

식뜻
추정 LOC = (낙관 + 4×기대 + 비관) ÷ 6기대치에 가중치 4
노력(MM) = LOC ÷ 1인당 월평균 생산 LOC
기간(월) = 노력 ÷ 투입 인원

개발 비용은 노력에 1인당 월평균 인건비를 곱하고, 생산성은 LOC를 노력으로 나눈다. 예를 들어 36,000줄을 개발자 6명이 만들고, 1인당 한 달에 400줄을 짠다면 노력은 36,000 ÷ 400 = 90MM이고 기간은 90 ÷ 6 = 15개월이다.

COCOMO ​

COCOMO(COnstructive COst MOdel, 구성적 비용 모형)는 보엠(Barry Boehm)이 1981년에 발표한 모형이다. 추정한 코드 규모(KDSI, Thousand Delivered Source Instructions, 천 단위 인도 소스 명령어 수)를 소프트웨어 유형별 공식에 넣어 노력을 계산한다. 유형을 나누는 이유는 같은 규모라도 제약이 많은 시스템일수록 훨씬 많은 노력이 들기 때문이다.

유형성격시험 기준 규모
조직형(organic)기관 내부의 중소 규모 업무·과학 처리5만 라인 이하
반분리형(semi-detached)조직형과 내장형의 중간, 컴파일러·DBMS 등30만 라인 이하
내장형(embedded)하드웨어에 묶인 실시간 제어, 미사일 유도 등30만 라인 이상1

이 세 유형의 기본형 공식은 노력 E = a × (KDSI)^b, 기간 D = 2.5 × E^d이다. 계수는 보엠 원전 기준으로 조직형 a=2.4·b=1.05·d=0.38, 반분리형 3.0·1.12·0.35, 내장형 3.6·1.20·0.32다. 규모 30KDSI를 넣으면 조직형은 약 85MM, 내장형은 약 213MM가 나와, 같은 크기라도 내장형이 2.5배쯤 든다. COCOMO에는 규모만 쓰는 기본형(basic), 비용 요인 15개(개발자 경험, 신뢰성 요구 수준 등 노력에 영향을 주는 항목)를 곱하는 중간형(intermediate), 단계별로 보는 발전형(detailed)이 있다.

Putnam 모형과 기능 점수 ​

Putnam 모형은 퍼트남(Lawrence Putnam)이 1978년에 만든 모형으로, 생명 주기 전 과정에 걸친 노력의 분포를 예측한다. 인력이 투입되는 모양이 레일리-노든 곡선(Rayleigh-Norden curve)을 따른다는 관찰에 기반한다. 이 곡선은 초반에 인력이 적다가 중반에 가장 많아지고 후반에 다시 줄어드는 종 모양이다. 생명 주기 예측 모형이라고도 한다.

기능 점수(FP, Function Point)는 코드 줄 수 대신 사용자가 받는 기능의 양으로 규모를 잰다. 입력, 출력, 조회, 내부 파일, 외부 인터페이스 수에 복잡도 가중치를 곱해 더한다. 언어가 달라도 같은 기능이면 점수가 같으므로, 코드를 짜기 전에도 셀 수 있다는 장점이 있다. COCOMO·Putnam·FP를 묶어 수학적 산정 기법이라 한다. 과거 프로젝트 자료로 만든 공식에 값을 넣어 계산하므로 경험적 추정 모형이라고도 하고, 시험에서는 각 기능을 하나씩 계산해 더하는 방식이라 상향식(bottom-up) 비용 산정 기법으로 분류한다.

CPM ​

CPM(Critical Path Method, 임계 경로 기법)은 작업들을 노드와 간선으로 된 네트워크로 그리고, 시작부터 끝까지 가는 경로 중 가장 긴 경로를 찾는다. 이 경로를 임계 경로(critical path)라 하고, 그 길이가 프로젝트 최소 완료 기간이다. 임계 경로 위 작업이 하루 늦으면 전체가 하루 늦으므로 관리를 집중할 대상이 된다.

예를 들어 A(4일)→C(3일)→E(2일) 경로는 9일, B(2일)→D(6일)→E(2일) 경로는 10일이면 임계 경로는 B-D-E이고 전체 기간은 10일이다. 짧은 경로가 아니라 긴 경로를 고르는 것이 핵심이다.

시험 포인트 ​

  • LOC: 추정치 = (낙관 + 4×기대 + 비관) ÷ 6, 노력 = LOC ÷ 월 생산량, 기간 = 노력 ÷ 인원.
  • "원시 코드 라인 수 기반, 보엠 제안, 결과는 MM" → COCOMO. 유형 → 조직형·반분리형·내장형.
  • "노력 분포 예측, 레일리-노든 곡선" → Putnam. "기능의 양으로 규모 측정" → FP.
  • "가장 긴 경로가 전체 기간" → CPM 임계 경로.

참고

  1. 규모 기준은 시험 자료의 표기다. 보엠(1981)의 유형 비교표로 널리 인용되는 값은 조직형 50KDSI 미만, 반분리형 300KDSI 미만이고, 내장형은 규모 제한 없이 모든 크기다. 이 비교표는 규모만이 아니라 팀의 경험, 요구·인터페이스 제약이 얼마나 엄격한지를 함께 보고 유형을 정한다. ↩︎

관련 문서