function point

agnusdei·2025년 6월 30일

Software Engineering

목록 보기
51/59

문제

FP = FC × TCF 공식을 기반으로 기능점수(FP: Function Point)에 관하여 설명하시오

답변

1. 기능점수(FP: Function Point)의 개념

  • 기능점수(FP)는 소프트웨어의 규모와 복잡도를 측정하는 표준화된 방법론
  • 사용자 관점에서 소프트웨어가 제공하는 기능을 기준으로 규모를 정량적으로 평가
  • 1979년 IBM의 앨런 앨브레히트(Allan Albrecht)가 처음 제안한 소프트웨어 측정 기법

2. 기능점수의 산정 공식

2.1 기본 공식

FP = FC × TCF

여기서:

  • FP(Function Point): 최종 기능점수
  • FC(Function Count): 기능 수(미조정 기능점수)
  • TCF(Technical Complexity Factor): 기술적 복잡도 조정계수

3. 기능점수 산정 구성요소

3.1 기능 유형(5가지 기능 구성요소)

기능 유형설명복잡도 가중치(낮음/보통/높음)
ILF(Internal Logical File)내부 논리 파일: 애플리케이션 내에서 유지관리되는 논리적 데이터 그룹7/10/15
EIF(External Interface File)외부 인터페이스 파일: 다른 애플리케이션에서 유지관리되지만 참조하는 논리적 데이터 그룹5/7/10
EI(External Input)외부 입력: 애플리케이션 외부에서 데이터가 들어와 내부 데이터를 갱신하는 처리3/4/6
EO(External Output)외부 출력: 애플리케이션 내부에서 데이터를 처리해 외부로 제공하는 처리4/5/7
EQ(External Inquiry)외부 조회: 애플리케이션 외부에서 데이터를 요청하여 단순 검색 결과를 제공하는 처리3/4/6

3.2 미조정 기능점수(FC) 계산

  1. 각 기능 유형별로 개수를 파악
  2. 각 기능의 복잡도(낮음/보통/높음)를 평가
  3. 복잡도에 따른 가중치 적용
  4. 모든 기능 유형의 가중치 합계를 계산
FC = Σ(기능 유형별 개수 × 복잡도 가중치)

3.3 기술적 복잡도 조정계수(TCF) 계산

  • 14개의 일반 시스템 특성(GSC: General System Characteristics)을 평가
  • 각 특성에 대해 0(영향 없음)~5(매우 큰 영향)의 영향도(DI: Degree of Influence) 부여
  • TCF는 이러한 특성 평가를 바탕으로 계산
TCF = 0.65 + (0.01 × Σ DI)

14가지 일반 시스템 특성(GSC)

  1. 데이터 통신
  2. 분산 데이터 처리
  3. 성능
  4. 사용 환경
  5. 트랜잭션 처리율
  6. 온라인 데이터 입력
  7. 최종 사용자 효율성
  8. 온라인 갱신
  9. 처리 복잡도
  10. 재사용성
  11. 설치 용이성
  12. 운영 용이성
  13. 다중 사이트
  14. 변경 용이성

4. 기능점수 산정 절차

  1. 범위 및 경계 정의: 측정 대상 애플리케이션의 범위 설정
  2. 데이터 기능 식별: ILF와 EIF 식별
  3. 트랜잭션 기능 식별: EI, EO, EQ 식별
  4. 복잡도 평가: 각 기능의 복잡도 결정
  5. 미조정 기능점수 계산: FC 산출
  6. 조정 계수 산출: 14가지 GSC 평가 및 TCF 계산
  7. 최종 기능점수 계산: FP = FC × TCF

5. 기능점수의 활용

5.1 소프트웨어 개발 비용 산정

  • 기능점수를 기반으로 개발 규모 예측
  • 소요 인력 및 개발 기간 예측
  • 비용 추정 공식: 비용 = 기능점수 × 단가

5.2 소프트웨어 생산성 측정

  • 개발자 생산성 = 기능점수 / 투입 인원월
  • 프로젝트 간 생산성 비교 지표

5.3 품질 관리

  • 결함 밀도 = 결함 수 / 기능점수
  • 품질 지표로 활용

6. 기능점수의 장단점

6.1 장점

  • 사용자 관점에서 소프트웨어 규모 측정 가능
  • 개발 초기 단계에서 규모 예측에 활용 가능
  • 구현 기술이나 언어에 독립적인 측정 방법
  • 국제 표준화된 방법론(ISO/IEC 20926)

6.2 단점

  • 측정자의 주관적 판단에 따라 결과가 달라질 수 있음
  • 복잡한 알고리즘이나 내부 처리 로직의 복잡성 반영 부족
  • 측정 과정이 복잡하고 전문성 필요
  • 비즈니스 로직과 기술적 복잡성을 모두 반영하기 어려움

7. 기능점수 관련 주요 기관 및 방법론

  • IFPUG(International Function Point Users Group): 가장 널리 사용되는 FP 방법론 관리
  • NESMA(Netherlands Software Metrics Association): 네덜란드 표준 FP 방법론
  • COSMIC(Common Software Measurement International Consortium): 새로운 세대의 기능 규모 측정 방법
  • Mark-II: 영국에서 개발된 변형 FP 방법론
  • FiSMA(Finnish Software Measurement Association): 핀란드 소프트웨어 측정 협회 방법론

8. 기능점수의 발전 및 최신 동향

  • 애자일 환경에서의 기능점수 적용 방법론 개발
  • 자동화된 기능점수 측정 도구 발전
  • 마이크로서비스 아키텍처에 적합한 측정 방법 연구
  • AI 기반 소프트웨어 측정 방법과의 통합

핵심 용어 정리

용어설명
FP(Function Point)소프트웨어 기능 규모를 측정하는 단위
FC(Function Count)미조정 기능점수, 가중치가 적용된 기능 수의 합계
TCF(Technical Complexity Factor)기술적 복잡도를 반영한 조정 계수
ILF(Internal Logical File)내부 논리 파일, 시스템 내에서 유지관리되는 데이터
EIF(External Interface File)외부 인터페이스 파일, 외부 시스템의 데이터 참조
EI(External Input)외부 입력, 데이터를 시스템 내부로 가져오는 기능
EO(External Output)외부 출력, 처리된 데이터를 외부로 전달하는 기능
EQ(External Inquiry)외부 조회, 단순 검색 기능
GSC(General System Characteristics)일반 시스템 특성, 기술적 복잡도를 평가하는 14가지 요소

어린이 버전 요약

기능점수(FP)는 컴퓨터 프로그램이 얼마나 크고 복잡한지 숫자로 표현하는 방법이에요. 프로그램이 할 수 있는 일들(기능)을 세어보고, 각 기능이 얼마나 복잡한지에 따라 점수를 매겨요. 그리고 프로그램을 만들 때 고려해야 할 여러 기술적인 요소들도 함께 계산해요. 이렇게 계산된 점수를 통해 프로그램을 만드는 데 얼마나 많은 시간과 비용이 필요한지 예측할 수 있답니다!

profile
DevSecOps Pentest🚩

0개의 댓글