핵심 인사이트

  1. 본질: 기능 점수 (FP, Function Point)는 소프트웨어의 기능적 크기를 데이터 기능(ILF, EIF)과 트랜잭션 기능(EI, EO, EQ)으로 계산하여 원시 코드 라인 수(LOC)와 무관하게 규모를 측정하는 표준 방법론이다.
  2. 가치: 개발 언어와 플랫폼에 독립적인 기능 크기 측정으로 프로젝트 규모 산정, 비용 추정, 생산성 측정의 국제 표준 기반을 제공한다.
  3. 판단 포인트: 한국 공공 정보화 사업에서는 소프트웨어 개발비 산정에 기능 점수 방식(IFPUG FP 또는 ISBSG 기준)을 공식 채택한다.

Ⅰ. 개요 및 필요성

기능 점수는 1979년 IBM의 앨런 알브레히트(Allan Albrecht)가 제안한 방법으로, 소프트웨어가 '사용자에게 제공하는 기능'의 수와 복잡도로 크기를 측정한다. LOC는 언어마다 다르고 설계 방식에 따라 변하지만, FP는 기능 요구사항이 동일하면 언어에 무관하게 같은 크기가 나온다.

📢 섹션 요약 비유: FP는 집의 크기를 '방 수+기능'으로 재는 평수 단위다. 어떤 건축 재료(언어)로 짓느냐와 무관하다.

Ⅱ. 아키텍처 및 핵심 원리

┌──────────────────────────────────────────────┐
│  기능 점수 5대 구성 요소                     │
├──────────────────────────────────────────────┤
│  데이터 기능                                 │
│  ILF (Internal Logical File) - 내부 파일    │
│  EIF (External Interface File) - 외부 파일  │
├──────────────────────────────────────────────┤
│  트랜잭션 기능                               │
│  EI  (External Input)  - 외부 입력          │
│  EO  (External Output) - 외부 출력          │
│  EQ  (External Inquiry)- 외부 조회          │
└──────────────────────────────────────────────┘
기능 유형복잡도기능 점수
ILF단순/보통/복잡7/10/15
EIF단순/보통/복잡5/7/10
EI단순/보통/복잡3/4/6
EO단순/보통/복잡4/5/7
EQ단순/보통/복잡3/4/6

📢 섹션 요약 비유: 기능 점수 계산은 집 평가다. 방(ILF), 창문(EI), 전망(EO)의 개수와 크기로 총 점수를 매긴다.

Ⅲ. 비교 및 연결

구분FPLOC(코드 라인 수)
측정 기준기능(What)구현(How)
언어 의존성독립의존
활용발주·계약·비용 산정생산성 측정

📢 섹션 요약 비유: FP는 건물 용도면적(기능)이고, LOC는 사용된 벽돌 수(구현)다.

Ⅳ. 실무 적용 및 기술사 판단

한국 공공 IT 사업에서 SW 개발비 = 기능점수(UFP) × 보정 계수(VAF) × 기능점수당 단가(원)로 산정한다. 기능 점수 산정 기준서(행안부 고시)에 따라 발주기관과 수주기관이 규모 추정치를 합의한다.

📢 섹션 요약 비유: FP 산정은 건물 설계도면 보고 공사비 견적 내는 것이다. 도면(요구사항)이 명확해야 정확한 견적이 나온다.

Ⅴ. 기대효과 및 결론

기능 점수 적용으로 SW 개발 규모의 객관적·표준화된 산정, 발주-수주 간 분쟁 감소, 생산성 벤치마킹(국제 ISBSG 데이터), 정확한 비용·일정 계획 수립이 달성된다.

📢 섹션 요약 비유: FP는 국제 표준 단위계다. 어느 나라 어느 팀이 계산해도 같은 기준으로 크기를 비교할 수 있다.

📌 관련 개념 맵

개념설명연관 키워드
IFPUG기능 점수 국제 표준FP 측정 표준
VAF가치 조정 계수기술적 복잡도
COCOMO비용 산정 모델FP와 병행

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

  1. 기능 점수는 소프트웨어 크기를 재는 자(Ruler)예요. 기능이 많을수록 점수가 높아요.
  2. 어떤 언어로 만들어도 같은 기능이면 같은 점수가 나와서 공정한 비교가 가능해요.
  3. 정부가 소프트웨어를 발주할 때 이 점수로 개발비를 계산해요.