핵심 인사이트

  1. 기능 점수(Function Point, FP)는 소프트웨어의 기능적 규모를 사용자 관점에서 측정하는 표준 방법론 — 코드 라인(LOC)이나 기술적 복잡도가 아닌 사용자가 인식하는 기능(입력, 출력, 조회, 파일, 인터페이스)을 기준으로 측정하여 언어·기술에 독립적이다.
  2. 미조정 기능 점수(UFP) × 기술 복잡도 조정 인자(VAF)가 FP 계산의 두 단계 — UFP는 5가지 기능 컴포넌트(EI, EO, EQ, ILF, EIF)의 가중합이고, VAF는 14개 일반 시스템 특성(GSC)으로 0.65~1.35 범위에서 조정된다.
  3. IFPUG FP와 COSMIC FP가 현대의 두 축 — IFPUG(전통적 MIS/업무 시스템)는 데이터 이동(Data Movement)으로 측정하고, COSMIC FP는 실시간·임베디드 시스템에서 더 정확한 기능 규모를 제공한다.

Ⅰ. FP 기초

Function Point (기능 점수):
  1979년 Allan Albrecht (IBM) 제안
  사용자 관점 소프트웨어 규모 측정

측정 대상 (5가지 기능 컴포넌트):

트랜잭션 기능:
  EI (External Input): 외부 입력
     사용자 → 시스템 데이터 입력
     예: 회원가입 폼 제출, 주문 입력
  
  EO (External Output): 외부 출력
     시스템 → 사용자 데이터 출력 (계산 포함)
     예: 매출 보고서, 세금 계산서 출력
  
  EQ (External Query): 외부 조회
     시스템 → 사용자 데이터 조회 (단순 검색)
     예: 회원 목록 조회, 주문 현황 조회

데이터 기능:
  ILF (Internal Logical File): 내부 논리 파일
     시스템 내부 유지 데이터 그룹
     예: 회원 테이블, 주문 테이블
  
  EIF (External Interface File): 외부 인터페이스 파일
     외부 시스템에서 참조하는 파일
     예: 외부 API로 받아오는 환율 데이터

EO vs EQ 구분:
  EO: 계산 로직 포함 (보고서, 통계)
  EQ: 단순 조회 (검색 결과)

📢 섹션 요약 비유: FP 5가지 컴포넌트 = 사무실 업무 분류 — EI(접수), EO(보고서 발행), EQ(문서 검색), ILF(내부 서류함), EIF(외부 참고 자료). 업무량 = 각 유형 × 복잡도!


Ⅱ. UFP 계산

UFP (Unadjusted Function Point):
  각 컴포넌트 × 가중치의 합

가중치 테이블:

기능    단순  보통  복잡
EI      3     4     6
EO      4     5     7
EQ      3     4     6
ILF     7    10    15
EIF     5     7    10

복잡도 결정 기준 (DET/RET):
  DET: 데이터 요소 수 (컬럼 수)
  RET: 레코드 요소 수 (논리 서브 타입)
  FTR: 참조 파일 수

EI 복잡도:
  FTR  DET ≤4  DET 5~15  DET ≥16
  0-1    단순     단순     보통
  2      단순     보통     복잡
  ≥3     보통     복잡     복잡

예시 계산 (쇼핑몰 시스템):
  기능               유형  복잡도  가중치
  회원가입           EI    보통    4
  주문 입력          EI    복잡    6
  매출 보고서        EO    보통    5
  주문 내역 조회     EQ    단순    3
  회원 테이블        ILF   보통    10
  상품 테이블        ILF   복잡    15
  결제 API 데이터    EIF   단순    5
  
  UFP = 4+6+5+3+10+15+5 = 48 FP

📢 섹션 요약 비유: UFP 계산 = 사무실 가구 포인트 — 책상(ILF, 무거워 높은 가중치)×15, 의자(EI)×4, 파일함(EIF)×5. 각 가구 개수×무게 = 총 이사 점수(UFP)!


Ⅲ. 기술 복잡도 조정

VAF (Value Adjustment Factor):
  14개 일반 시스템 특성(GSC)으로 기술 복잡도 반영

14개 GSC (0~5점):
  01. 데이터 통신
  02. 분산 처리
  03. 성능 요구사항
  04. 과다 사용 구성
  05. 트랜잭션 빈도
  06. 온라인 데이터 입력
  07. 최종 사용자 효율성
  08. 온라인 업데이트
  09. 복잡한 처리
  10. 재사용성
  11. 설치 용이성
  12. 운영 용이성
  13. 다중 사이트
  14. 변경 용이성

VAF 공식:
  TDI = Σ GSC점수 (0~70)
  VAF = 0.65 + (TDI × 0.01)
  
  최솟값: 0.65 + (0 × 0.01) = 0.65
  최댓값: 0.65 + (70 × 0.01) = 1.35

조정 FP (AFP):
  AFP = UFP × VAF

예시:
  UFP = 48, TDI = 35
  VAF = 0.65 + 0.35 = 1.00
  AFP = 48 × 1.00 = 48 FP
  
  고성능 분산 시스템 (TDI=60):
  VAF = 0.65 + 0.60 = 1.25
  AFP = 48 × 1.25 = 60 FP

실용적 단순화:
  현대 프로젝트: VAF 변동 폭 ±35%
  많은 조직에서 VAF=1.0 고정 (UFP 그대로 사용)
  COSMIC FP: VAF 개념 없음 (단순화)

📢 섹션 요약 비유: VAF = 이사 난이도 조정 — 기본 이사 포인트(UFP)에 층수(분산처리), 엘리베이터 유무(설치 용이성) 등 14가지 요소 반영. 0.65~1.35배 조정!


Ⅳ. FP 활용

FP 기반 프로젝트 추정:

생산성 지표:
  FP당 공수 (Effort per FP):
  업종/기술별 평균치 존재
  
  예:
  자바 웹: 8~15 시간/FP
  레거시 COBOL: 15~25 시간/FP
  패키지 솔루션: 3~5 시간/FP

추정 공식:
  총 공수 = AFP × 공수/FP
  
  예: AFP=200, 생산성=10시간/FP
  총 공수 = 200 × 10 = 2,000 시간 = 250 M/D

기간 추정 (Putnam):
  기간 = (공수)^(1/3) × 상수

비용 추정:
  비용 = 공수 × 인건비/시간
  200 FP × 10시간 × 50,000원 = 1억원

FP 기반 벤치마킹:
  QSM/ISBSG 데이터베이스:
  산업별 FP당 생산성, 결함률, 비용 통계
  
  내부 프로젝트 비교:
  생산성 = AFP / 실제 공수
  품질 = 결함 수 / AFP (결함 밀도)

COSMIC FP (ISO 19761):
  데이터 이동(Data Movement) 단위:
  Entry(E), Exit(X), Read(R), Write(W)
  
  실시간/임베디드에 적합
  레거시 IFPUG보다 현대 시스템에 맞음

📢 섹션 요약 비유: FP 활용 = 레시피 분량 계산 — FP(재료 양) × 요리사 생산성(시간/FP) = 총 요리 시간. 10인분 요리에 요리사 1명이 30분 걸리면 2인분은 6분. 표준화로 추정!


Ⅴ. 실무 시나리오 — 정부 정보화 사업 FP 산정

정부 전자정부 시스템 FP 산정:

배경:
  행정안전부 발주 시스템 개발
  SW 사업대가 기준: FP당 단가 고시
  (2024 기준: 개발 FP당 약 700,000원)

FP 산정 절차:

1. 기능 요구사항 분석:
  유형별 식별:
  EI: 23개 (민원 신청, 데이터 입력 등)
  EO: 18개 (보고서, 통계 출력)
  EQ: 31개 (조회 화면)
  ILF: 12개 (테이블)
  EIF: 5개 (연계 시스템 데이터)

2. 복잡도 평가 + UFP 계산:
  EI: 단순8×3 + 보통10×4 + 복잡5×6 = 24+40+30 = 94
  EO: 단순5×4 + 보통8×5 + 복잡5×7 = 20+40+35 = 95
  EQ: 단순15×3 + 보통12×4 + 복잡4×6 = 45+48+24 = 117
  ILF: 단순3×7 + 보통6×10 + 복잡3×15 = 21+60+45 = 126
  EIF: 단순2×5 + 보통2×7 + 복잡1×10 = 10+14+10 = 34
  
  UFP = 94+95+117+126+34 = 466 FP

3. VAF 산정:
  14개 GSC 합계 = 38
  VAF = 0.65 + 0.38 = 1.03
  AFP = 466 × 1.03 = 480 FP

4. 사업비 산정:
  개발비: 480 × 700,000원 = 336,000,000원
  추가 비용: 분석·설계·테스트·관리 = 25%
  총 사업비: 336,000,000 × 1.25 = 420,000,000원

5. 감리 결과:
  발주처 FP: 480 FP
  수주업체 검증: 495 FP (+3.1% 이내 → 적정)
  
  FP 차이 ±5% 이내: 적정 범위 인정

📢 섹션 요약 비유: 정부 FP 산정 = 건축 면적 산정 — 방(EI/EO/EQ) + 창고(ILF) + 외부 연결 도로(EIF) = 연면적(UFP). 층수 등 보정 = VAF. 연면적×평당가 = 공사비!


📌 관련 개념 맵

기능 점수 (Function Point)
+-- 5가지 컴포넌트
|   +-- EI, EO, EQ (트랜잭션)
|   +-- ILF, EIF (데이터)
+-- 계산
|   +-- UFP (미조정)
|   +-- VAF (0.65~1.35)
|   +-- AFP = UFP × VAF
+-- 활용
|   +-- 공수/기간/비용 추정
|   +-- 벤치마킹 (ISBSG)
|   +-- 정부 SW 대가 산정
+-- 발전
    +-- COSMIC FP (실시간)
    +-- Use Case Point

📈 관련 키워드 및 발전 흐름도

[LOC 기반 추정 (1960s~)]
코드 라인 수 측정
언어 종속적
      |
      v
[Function Point (1979)]
Allan Albrecht (IBM)
사용자 관점 측정
      |
      v
[IFPUG 표준화 (1984)]
국제 기능 점수 사용자 그룹
표준 지침 발행
      |
      v
[COSMIC FP (1999)]
ISO 19761
임베디드/실시간 적합
      |
      v
[현재: 애자일 스토리 포인트]
상대적 추정
FP와 병행 사용

👶 어린이를 위한 3줄 비유 설명

  1. FP = 이사 짐 포인트 — 가구(EI/EO/EQ/ILF/EIF) 종류마다 무게 점수. 총점이 이사 난이도. 언어/기술 상관없이 기능만!
  2. UFP×VAF = 기본 짐 × 층수 보정 — 5층(고성능 요구)이면 기본 짐보다 25% 더 힘듦(VAF=1.25). 0.65~1.35 사이 조정!
  3. FP 활용 = 레시피 분량 계산 — FP당 소요 시간(생산성) × FP 수 = 총 공수. 정부 SW 사업비 = FP × 고시 단가!