본문 바로가기
knowledge

프로젝트 관리자가 알아야 할 펑션포인트(Function Point): 개념부터 실제 사례까지

by Status Code 2024. 1. 9.

펑션포인트(Function Point) 분석: 소프트웨어 규모와 복잡성 이해하기

서론

소프트웨어 개발의 복잡성과 규모를 측정하는 데 있어 펑션포인트 분석은 중요한 도구입니다. 이 글에서는 펑션포인트의 기본 개념부터 심층적인 적용 방법까지 알아보겠습니다.

펑션포인트 기본 개념

펑션포인트는 소프트웨어의 기능을 측정하는 단위로, 소프트웨어의 크기와 복잡성을 평가하는 데 사용됩니다. 주요 평가 항목은 입력 유형, 출력 유형, 조회 유형, 내부 논리 파일, 외부 인터페이스 파일 등입니다.

펑션포인트 유형별 설명

각 유형은 다음과 같은 특징을 가집니다:

  1. 외부 입력(External Input, EI): 사용자나 외부 시스템으로부터 데이터를 입력받는 기능.
  2. 외부 출력(External Output, EO): 소프트웨어가 처리한 결과를 외부에 제공하는 기능.
  3. 외부 조회(External Inquiry, EQ): 요청에 따라 정보를 검색하고 결과를 제공하는 기능.
  4. 내부 논리 파일(Internal Logical Files, ILF): 소프트웨어 내부에서 사용되는 데이터 집합.
  5. 외부 인터페이스 파일(External Interface Files, EIF): 외부 시스템의 데이터를 읽는 기능.

예시: 온라인 쇼핑몰

온라인 쇼핑몰 시스템에서는 다양한 기능이 펑션포인트로 평가됩니다. 예를 들어, 사용자의 상품 장바구니 추가 기능(입력 유형), 결제 완료 후 영수증 출력 기능(출력 유형), 상품 검색 및 조회 기능(조회 유형) 등이 해당됩니다.

펑션포인트 계산 방법

펑션포인트 분석에서 각 기능의 복잡도는 해당 기능이 시스템 내에서 차지하는 중요도와 복잡성에 따라 다릅니다. 이 복잡도에 따라 각 기능에 가중치가 부여되며, 이를 모두 합산하여 소프트웨어의 전체 펑션포인트를 계산합니다.

예시: 가중치 계산

예를 들어, 상품 장바구니 추가 기능이 중간 복잡도를 가진다면 특정 점수(가중치)를 받습니다. 이러한 방식으로 모든 기능의 점수를 합산하여 전체 펑션포인트를 도출합니다.

실제 프로젝트 사례

펑션포인트 분석은 여러 실제 프로젝트에서 적용되어 개발 비용과 일정 추정의 정확도를 높이는 데 기여했습니다. 예를 들어, 대형 은행의 시스템 개선 프로젝트에서 펑션포인트 분석을 통해 개발 규모와 필요 자원을 정확하게 산정할 수 있었습니다.

장단점 분석

장점

  • 객관적인 규모 측정이 가능
  • 비용 및 일정 추정의 정확도 향상
  • 복잡성 관리 용이

단점

  • 복잡한 계산 방법
  • 시스템의 비기능적 요소(성능, 보안 등)를 직접적으로 측정하지 못함
  • 경험이 부족한 팀에서는 정확한 적용이 어려움

결론

펑션포인트 분석은 소프트웨어 개발 및 유지보수 과정에서 중요한 도구입니다. 이 방법은 소프트웨어의 규모와 복잡성을 정확하게 파악하는 데 도움을 주며, 프로젝트 관리의 효율성을 크게 높일 수 있습니다.

댓글