소프트웨어공학

간이 기능 점수법(SFPA: Simple Function Point Analysis)

maxboy 2025. 3. 16. 10:05

1. 개요

  간이 기능 점수법(SFPA, Simple Function Point Analysis)은 기능 점수(Function Point, FP) 측정 방법 중 하나로, 국제 기능 점수 사용자 그룹(IFPUG, International Function Point Users Group)에서 정의한 표준 기능 점수법(IFPUG FP)에 비해 간소화된 방식입니다. 이는 소프트웨어의 크기를 정량적으로 측정하기 위한 기법으로, 특히 기능 위주의 분석을 통해 개발 및 유지보수의 복잡도를 평가하는 데 사용됩니다.

 

  전통적인 기능 점수법은 측정 과정이 복잡하고 많은 시간이 소요될 수 있습니다. 이에 반해 간이 기능 점수법은 보다 빠르고 단순하게 기능 점수를 산출할 수 있도록 설계되었으며, 일반적으로 소프트웨어 프로젝트 초기 단계나 신속한 의사 결정을 필요로 하는 상황에서 유용하게 활용됩니다.

 


 

2. 간이 기능 점수법의 특징

  • 간편한 기능 점수 산정 : 표준 기능 점수법(IFPUG FP)보다 적은 절차로 기능 점수를 계산할 수 있습니다.
  • 신속한 적용 가능 : 소프트웨어의 대략적인 규모를 빠르게 산정할 수 있어 프로젝트 계획 수립에 유리합니다.
  • 객관적인 비교 가능 : 프로젝트 간 기능 점수를 비교하여 규모를 평가하고, 개발 비용 및 기간을 예측하는 데 활용할 수 있습니다.
  • 소프트웨어 유지보수에 활용 가능 : 기존 시스템의 기능 확장 또는 개량 시 변경된 기능을 반영하여 점수를 재산정할 수 있습니다.

 


 

3. 기능 점수 측정 유형

간이 기능 점수법을 적용할 때 가장 먼저 결정해야 하는 것은 측정 유형입니다

 

3.1 개발 프로젝트 기능점수(Development Project Function Points)

  • 신규 시스템을 개발할 때 기능 점수를 산정하는 방법입니다.
  • 사용자의 요구사항을 기반으로 기능을 정의하고 이를 점수화합니다.
  • 일반적으로 프로젝트 초기에 기능 규모를 추정하는 용도로 사용됩니다.

3.2.개선 프로젝트 기능점수(Enhancement Project Function Points)

  • 기존 시스템을 유지보수하거나 기능을 추가·변경하는 경우에 사용됩니다.
  • 새로운 기능이 추가되거나 기존 기능이 수정·삭제될 경우 변경된 부분을 반영하여 점수를 계산합니다.
  • 유지보수 비용을 산정하는 데 유용합니다.

3.3 애플리케이션 기능점수(Application Function Points)

  • 운영 중인 애플리케이션 전체의 기능 점수를 측정하는 방식입니다.
  • 시스템의 전체적인 기능 규모를 평가할 때 사용되며, 장기적인 유지보수 전략 수립에 활용됩니다.

 


 

4. 기능 점수 계산 방법

간이 기능 점수법에서는 기능을 크게 두 가지로 분류하여 측정합니다.

 

4.1. 데이터 기능

데이터 기능은 시스템이 처리하는 데이터의 유형을 기준으로 정의됩니다.

  • 내부 논리 파일(ILF: Internal Logical Files) : 시스템 내부에서 관리되는 논리적인 데이터 그룹입니다.
  • 외부 인터페이스 파일(EIF: External Interface Files) : 다른 시스템에서 관리하는 데이터를 참조하는 경우를 의미합니다.

4.2. 트랜잭션 기능

트랜잭션 기능은 사용자가 시스템과 상호작용하는 기능을 의미하며, 다음 세 가지 유형으로 구분됩니다.

  • 외부 입력(EI: External Inputs) : 데이터를 입력하여 내부 논리 파일을 갱신하는 기능입니다. 예를 들어, 신규 회원 등록, 제품 정보 입력 등이 이에 해당합니다.
  • 외부 출력(EO: External Outputs) : 데이터를 가공하여 외부로 출력하는 기능입니다. 보고서 생성, 통계 출력 등이 포함됩니다.
  • 외부 조회(EQ: External Inquiries) : 데이터의 검색 및 조회 기능입니다. 단순한 데이터 검색 화면이 대표적인 예입니다.

각 기능 유형에 따라 복잡도(단순, 평균, 복잡)를 고려하여 기본 기능 점수를 산정한 후, 최종적으로 보정 계수를 적용하여 최종 기능 점수를 결정합니다.

 

5. 보정 계수 적용

간이 기능 점수법에서는 표준 기능 점수법(IFPUG FP)에서 사용하는 14개의 일반 특성(general system characteristics) 대신, 간소화된 방식으로 보정 계수를 적용합니다보정 계수는 프로젝트의 복잡도나 특성을 반영하기 위해 사용되며, 보통 특정 계수를 곱하여 최종 기능 점수를 산출합니다.

 


 

6. 간이 기능 점수법의 장점과 한계

6.1. 장점

  • 빠른 기능 점수 산정 : 표준 기능 점수법보다 적은 노력으로 기능 점수를 계산할 수 있습니다.
  • 적용이 용이함 : 간단한 방식으로 소프트웨어 규모를 산정할 수 있어, 프로젝트 초기에 유용합니다.
  • 비교 및 예측 가능 : 프로젝트 간 기능 점수를 비교하여 개발 비용 및 기간을 예측할 수 있습니다.

 

6.2. 한계

  • 정확도 제한 : 간소화된 방식이므로 표준 기능 점수법에 비해 세밀한 분석이 어렵습니다.
  • 복잡한 프로젝트에 적용 시 한계 : 대규모 시스템이나 고도로 복잡한 애플리케이션에는 적용이 어렵습니다.
  • 보정 계수의 주관성 : 보정 계수를 적용하는 과정에서 측정자의 주관이 개입될 가능성이 있습니다.

 


 

7. 활용 사례

  • 프로젝트 초기 비용 및 일정 산정 : 신규 개발 프로젝트에서 개발 범위를 정량적으로 평가하여 예산과 일정을 계획할 수 있습니다.
  • 기존 시스템의 유지보수 비용 분석 : 시스템 기능 확장 또는 개량 시 변경된 기능을 반영하여 유지보수 비용을 산출할 수 있습니다.
  • 소프트웨어 아웃소싱 계약 : 기능 점수를 기반으로 개발 비용을 산정하여 공정한 계약 체결이 가능합니다.

 


 

8. 기능점수 산정 절차

출처 : 한국소프트웨어산업협회

 



9.
결론

간이 기능 점수법(SFPA)은 표준 기능 점수법(IFPUG FP)보다 간단하면서도 효과적으로 소프트웨어 규모를 측정할 수 있는 방법입니다. 프로젝트의 목적과 특성에 따라 적절한 측정 유형을 선택하고, 데이터 및 트랜잭션 기능을 분석하여 기능 점수를 산출하는 방식으로 진행됩니다.

 

이 기법은 특히 빠른 의사 결정을 필요로 하는 경우에 유용하며, 유지보수 비용 분석, 소프트웨어 개발 규모 추정, 프로젝트 간 비교 등의 다양한 용도로 활용될 수 있습니다. 다만, 복잡한 프로젝트에서는 보다 정교한 측정 기법이 필요할 수도 있으므로, 사용 목적에 맞춰 적절하게 적용하는 것이 중요합니다.