[소공 목차]

 

Function Point의 개념

- 사용자 관점에서 사용자가 요구하고 사용자에게 인도되는 기능을 정량적으로 산정하여 소프트웨어 규모를 측정하는 방법

- (등장배경) LOC한계 -> 라인수 추정의 어려움, 언어마다 라인수 크게 달라짐

 

Function Point 특징

특징 설명
사전측정 가능 실제 개발 이전에 업무량 측정 가능
활용성 개발뿐만 아니라 기획, 운영 등 전 수명주기에 걸쳐 측정 가능
일관성 조직, 구현기술, 방법론과 무관하게 측정 가능
사용자관점 사용자가 요구하는 기능의 관점에서 측정
높은 분석능력 필요 기능도출을 위한 높은 분석능력 필요

 

Function Point 산정방법

 

Function Point 구성

유형 기능 내용
데이터 기능

내부논리파일(ILF) - Internal Logic File
- 측정 대상 어플리케이션 내부에서 유지되며 사용자가 요구한 기능을 수행하기 위해 읽히거나 참조되는 데이터 그룹의 모음(내부DB)


외부연계파일(EIF) - 측정 시스템 참조 데이터 집합
- 측정 대상 어플리케이션 외부에서 유지되며, 사용자가 요구한 기능을 수행하기 위해 읽히거나 참조되는 데이터 그룹(외부DB)

트랜잭션 기능 외부입력(EI) - 외부 입력(External Input) (입력 트랜잭션, 입력 화면)
- 어플리케이션 외부로부터 데이터 또는 제어 정보를 받아 들여, 내부논리 파일의 유지(추가/수정/삭제 등), 어플리케이션의 상태에 변경을 요구하는 단위 프로세스 
외부 출력(EO) - 외부 출력(External Output) (출력 트랜잭션, 출력보고서)
- 어플리케이션 내부에서 데이터 또는 제어 정보를 경계 밖으로 내보낼 것을 요구하는 단위 프로세스 
외부 조회(EQ) - External inQuery. 데이터 가공 없는 입출력
- 어플리케이션 내부에서 데이터 또는 제어 정보를 경계 밖으로 내보낼 것을 요구하는 단위 프로세스 

 

 

Function Point 산정 절차

(유범이의데이트)

 

산정절차별 상세 내용

1) 측정 유형 결정

종류 내용
개발 프로젝트
(DFP)
  • 처음 설치된 어플리케이션을 통해 사용자에게 제공되는 기능을 측정하는 것으로 프로젝트 개발 동안 계산
  • 초기 어플리케이션 기능점수로 계산되는 기능과 데이터 컨버전을 위해 필요한 기능 포함
유지보수 프로젝트(EFP)
  • 새로운 기능의 추가, 기존 기능의 삭제, 기존 기능의 변경을 포함하여 기존 어플리케이션을 수정하여 사용자에게 제공되는 기능
어플리케이션(AFP)
  • 설치된 어플리케이션이 최종 사용자에게 제공하는 현재 기능
  • 기준 선 또는 설치된 기능점수에 해당
  • () 유지보수규모 산정

2) 측정 범위와 어플리케이션 경계 식별

구분 종류 내용
범위 및 경계 식별 범위결정 규모 계산 대상 소프트웨어의 하위 구성요소를 정의
기능점수 계산 목적에 따른 필요 기능을 식별
경계식별 내부어플리케이션과 외부 사용자 세계 간의 개념적 인터페이스
어플리케이션에 의해 유지되는 논리데이터를 둘러싸고 있음

3) 데이터 기능 계산

구분 종류 내용
데이터 기능
유형 식별
내부 논리 파일(ILF) 측정 대상 어플리케이션 내부에서 유지되며 사용자가 요구한 기능을 수행하기 위해 읽히거나 참조되는 데이터 그룹의 모음(내부DB)
외부 연계 파일(EIF) 측정 대상 어플리케이션 외부에서 유지되며, 사용자가 요구한 기능을 수행하기 위해 잃히거나 참조되는 데이터 그룹(외부DB)
복잡도 및 기여도 결정 레코드요소유형(RET) ILF또는 EIF 내부에 존재하는 것으로 하나의 정보를 구성하는 DB의 테이블과 같은 관련 데이터 그룹
사용자가 식별 가능한 데이터 요소의 서브 그룹
데이터요소유형(DET) RET에 존재하는 것으로 RET를 구성하는 개별 데이터 필드
  • RETDET 값이 결정되고 나면 복잡도와 기여도Metric이 정의된 테이블을 참고하여ILFEIF의 값이 산정

데이터 기능 복잡도Metric

  DET
1~19 20~50 >51
RET 1 Low Low Average
2~5 Low Average High
>5 Average High High

 

데이터 기능 기여도Metic

  복잡도
Low Average High
ILF 7 10 15
EIF 5 7 10
  • RET개수와DET 개수를 활용하여 복잡도를 먼저 구하고 기여도 테이블에 따라 기여도를 산출함

4) 트랜잭션 기능 계산

구분 분류 설명
트랜잭션
기능유형 식별
외부입력(EI)
  • 애플리케이션 경계 안으로 들어오는 데이터나 제어정보를 처리하는 단위 프로세스
외부출력(EO)
  • 애플리케이션 경계 밖으로 조회되는 파생 데이터 생성 같은 처리로직 포함 단위 프로세스
  • 데이터나 제어정보를 어플리케이션 경계 외부의 사용자 또는 다른 어플리케이션으로 내보내어 사용자의 요구를 처리하는 기능
) 가입한 회원의 평균 나이를 계산하는 과정과 같은 처리 로직이 있으며 파생 데이터가 발생
외부조회(EQ)
  • EO와 같으나 파생 데이터 생성과 같은 처리 로직을 포함하지 않는 단위 프로세스(계산 처리 없이 단순 데이터가 외부로 나가는 것)
복잡도 및 기여도 결정 참조 파일유형(FTR)
  • 트랜잭션 기능에 의해 조회/유지되는 ILF 또는 EIF(어플리케이션에서 참조하는 ILF EIF의 수)
데이터 요소유형(DET)
  • 사용자가 식별 가능하고 반복되지 않는 유일한 필드

 

EI기능 복잡도Metric

  DET
1~4 5~15 > 16
FTR <2 Low Low Average
2 Low Average High
>2 Average High High

 

EI기여도Metic

  복잡도
Low Average High
EI 3 4 6

 

EO, EQ 복잡도Metic

  DET
1~5 6~19 > 20
FTR <2 Low Low Average
2 ~ 3 Low Average High
> 3 Average High High

 

EO, EQ 기여도Metic

  복잡도
Low Average High
EO 4 5 7
EQ 3 4 6

 

 

5) 미조정 기능 점수(UFP, Unadjusted Function Point) 결정

 

6) 조정인자 결정(VAF, Value Adjustment Factor)

  • 측정되어지는 어플리케이션의 일반적 기능에 등급을 부여한14개의 일반 시스템 특성(GSC) 기반을 두고 각 특성은 영향도 정도의 파악할 수 있도록 적용 명세를 가짐
  • 영향도의 범위는 없음(0)에서 강함(5) 까지6등급으로 표시되고 조정 기능 점수는 미조정 기능점수의 ±35 %까지 조정이 가능

7) 조정 기능 점수 결정

  • 최종 조정된 기능 점수인 보정 후 개발 원가는 다음과 같은 공식으로 계산

 

기능점수 방식에 의한 소프트웨어 개발비 산정절차

 

 

간이법 vs. 정규법

구분 간이법 정규법
개념 기능 점수 산정 시 기능 유형별 평균 복잡도를 적용하여 기능 점수를 산출하는 방법 기능을 도출하고, 각 기능의 유형별 복잡도 고려하여 정확한 기능점수 산정을 필요로 할 경우 사용되는 일반적 방법
목적 개략적인 기능점수 측정 상세 기능점수 측정
적용시기 예산 수립/제안단계 분석/설계 단계 이후
측정항목 - 데이터 기능
- 트랜잭션 기능
- 데이터 : DET/RET
- 트랜잭션 : DET/FTR
복잡도 - 평균 복잡도 - 기능별 복잡도
장/단점 - SW 규모 측정 신속성, 산출 비용 최소화
- 제한적 데이터 활용
- 정확한 SW 규모 측정 재활용 가능
- 사업초기 적용 어려움
관련기준 - IFPUG 기능점수 측정 매뉴얼(CPM) - SW 사업대가 기준의 평균 복잡도를 반영

 

+ Recent posts