본문 바로가기
IT기술노트/소프트웨어공학

기능점수(Function Point)

by 비트코기 2021. 2. 4.

ISO/IEC 14143, 기능점수, 데이터기능점수(ILF, ELF), 트랜잭션기능점수(EI, EO, EQ)


I. 요구기능을 파악하여 기능점수 분석법을 적용한 SW규모산정방식, FP의 개요

가. 기능점수(Function Point)의 정의

   - 소프트웨어의 크기를 결정하는 소프트웨어 기능 유형 별 수량과 성능 및 품질 요인들의 영향도를 고려하여 계산되는 SW 규모 산정 방식

   - 특징 : 기능 중심의 산정, 복잡도 산정 시 주관 개입

   - 1979 IBM FPA 소개, 1986년 국제기능사용자그룹(IFOUG)의 발족으로 활성화, ISO/IEC 14143 표준 제정

나. 기능점수의 등장배경

등장배경

내용

추정의 어려움

소프트웨어 개발 초기 프로그램 LOC를 추정하기 어려움

환경의 영향

동일한 기능의 소프트웨어라도 개발 언어에 따라 소프트웨어 라인수가 크게 다름

파라미터 영향

기능은 동일하여도 CS방식, 웹 환경 등에 따라 비용산정이 어려움

다. 기능점수의 장점

장점

내용

사용자 요구사항 기반

요구사항으로 기능을 추출하여 기술, 언어, 개발자 능력과 상관없이 일관성 있는 규모산정

객관적 요구사항으로 측정

개발방법, 개발 팀과 무관하므로 소프트웨어 규모 산정의 일관성 유지

모든 개발 단계에서 사용

계획 단계 뿐 아니라 분석, 설계, 구현 단계에서 사용 가능, 단계가 진행될수록 정확한 점수 산정 가능

라. 기능점수의 단점

단점

내용

높은 분석 능력 요구

요구사항으로부터 기능을 도출하려면 상당한 분석 능력 요구

FP 전문가 필요

기능점수를 잘 사용할 수 있는 기능점수 전문가 필요

내부 로직 위주 SW 부적합

사용자가 알수 있는 기능으로 측정하기 때문에 로직 위주의 SW 부적합

개발규모측정에만 적합

실제 개발 공수를 직접 나타내는 것이 아니라 개발규모 예측에만 적합


II.  기능점수의 구성도 및 구성요소

가. 기능점수의 구성도

 

나. 기능점수의 구성요소

유형

기능

내용

데이터

기능

내부논리파일 (ILF)

경계 내에서 유지되는 데이터 및 제어정보

외부연계파일 (EIF)

어플리케이션 경계 밖에서 유지 데이터로 측정되는 어플리케이션 외부에서 참조하는 데이터 그룹

트랜잭션기능

외부입력

(EI)

어플리케이션 안으로 들어오는 데이터나 제어정보를 처리하는 단위 프로세스

입력, 수정, 삭제 각각 계산

외부출력

(EO)

외부 출력(보고서 출력), 어플리케이션 경계 밖으로 보냄

계산 데이터 생성(자동 채번), 시스템 동작 변경이 일어나는 위치

외부조회

(EQ)

외부 조회(리스트 조회) 유형, 데이터 가공없이 입출력

계산 데이터 생성하지 않음, 수학공식 측정 없음


III. 기능점수의 산정방법

가. 기능점수 산정방법의 분류

설계 단계 이후에 사용하며 기능의 유형별 복잡도를 적용한 기능 점수 산정

기획, 발주 단계에서 사용하며 평균 복잡도를 적용하여 기능 점수 산정

나. 기능점수 산정방법 유형

구분

정규법

간이법

개념

논리적인 설계를 바탕으로 각 기능의 속성을 정의하여 기능별 복잡도 매트릭에 의한 기능점수 산정방식

개략적 사용자 요구사항 바탕 기능

점수를 도출하여 평균 복잡도에 의한 기능 점수 산정 방식

적용시점

개발요건 및 요건 별 상세 설계 정보가 제공되는 시점

일반적으로 설계 공정 이후부터 폐기까지

개발요건만 정의되면 예산수립, 사업발주, 개발, 운영 및 유지보수, 폐기까지 모든 단계 적용가능

사용목적

SW 분석/설계, 개발, 유지보수 범위, 일정 및 원가 산정

예산수립, 제안서 견적 및 계약 SW 사업대가 산정

측정항목

데이터 기능 및 DET, RET 수 도출

트랜잭션 기능 및 DET, FTR 식별

데이터 기능, 트랜잭션 기능

복잡도

기능별 복잡도 매트릭 (Low, Average, High)

평균 복잡도

- 계산 문제는 주로 간이법이 출제


 

IV. 기능점수 절차 및 절차설명

가. 기능점수 절차 (유범이의데)

나. 측정 유형 결정

구분

종류

내용

측정 유형 결정

개발 프로젝트

SI 프로젝트가 종료된 후, 사용자에게 인도되는 SW

개선 프로젝트

기존 SW에서 추가, 수정, 삭제 부분에 대한 SW 비용산정

어플리케이션

사용자가 사용하고 있는 소프트웨어의 현재 기능 측정

- SW 사업대가 기준에서는 위의 3가지 유형 중 개발 프로젝트 기능점수만을 채택

다. 측정범위와 어플리케이션 경계식별

구분

종류

내용

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

범위 결정

규모 계산 대상 SW의 하위 구성요소를 정의

기능점수 계산 목적에 따른 필요 기능을 식별

경계 분류

내부 어플리케이션과 외부 사용자 세계 간의 개념적 인터페이스

어플리케이션에 의해 유지되는 논리 데이터를 둘러싸고 있음

- 사용자가 보는 분리된 기능 영역을 기초하는 것으로 기술적 고려사항에 의한 것이 아님

라.  데이터 기능 측정

구분

종류

내용

데이터기능 유형식별

내부논리파일(ILF)

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

외부연계파일(EIF)

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

복잡도 및 기여도 결정

레코드요소유형(RET)

ILF또는 EIF 내부에 존재하는 것으로 하나의 정보를 구성하는 DB의 테이블과 같은 관련 데이터 그룹

기여도결정(DET)

RET에 존재하는 것으로 RET를 구성하는 개별 데이터 필드

 마. 트랜잭션 기능 측정

구분

종류

내용

트랜잭션

기능유형

식별

외부입력(EI)

어플리케이션 경계 안으로 들어오는 데이터나 제어정보를 처리하는 단위 프로세스

외부출력(EO)

어플리케이션 경계 밖으로 조회되는 파생 데이터 생성 같은 처리로직 포함 단위 프로세스

외부조회(EQ)

EO와 같으나 파생 데이터 생성과 같은 처리로직을 포함하지 않는 단위 프로세스 (계산 처리 없이 단순 데이터)

복잡도 및 기여도 결정

참조파일유형(FTR)

트랜잭션 기능에 의해 조회/유지되는 ILF 또는 EIF

데이터요소유형(DET)

사용자가 식별 가능하고 반복되지 않는 유일한 필드

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

미조정 기능점수(UFP) = 데이터 기능점수 + 트랜잭션 기능점수

사. 조정인자 결정

값 조정인자(VAF) = (총 영향도*0.01)+ 0.65

총 영향도

{(14개 항목*0~5)의합}

아. 조정 기능점수 결정

미조정 기능점수 * 값 조정인자


 V. 기능점수에 의한 대가기준 산정 절차

절차

주요내용

산출물

1. 사전준비

- 개발대상 업무와 요구사항을 명확히 정의하고,개발 규모(기능점수) 산정방법(정통법 또는 간이법) 결정한다.

개발대상 업무

기능 요구사항

규모산정 방법

2. 개발대상 SW 기능 점수 산정

- 요구사항에 근거하여 개발대상 소프트웨어 의기능을 식별하고, 복잡도를 고려하여기능 점수를 산정한다.

개발대상

SW

기능점수

3. 보정전개발

원가 산정

- 산정된 기능점수에 기능점수당 단가를 곱하여보정전 개발원가를 산정한다.
(
보정전 개발원가 = 기능점수 × 기능점수당 단가)

보정전 개발원가

4. 보정후개발원가 산정

소프트웨어사업특성을 고려하여 보정요소 별로 보정계수를 식별한다.
(
보정요소 : 규모보정, 언어보정, 어플리케이션유형보정, 품질 특성 보정)
-
식별된 보정계수에 따라 개발원가를 보정한다.
(
개발원가 = 보정전 개발원가 × 보정계수)

보정후 개발원가

5. 직접경비 이윤산정

- 해당 소프트웨어 개발에 관련된 직접경비를 산정한다.
-
이윤은 개발원가의 25% 이내에서 산정한다.

직접경비이윤

6. 소프트웨어

개발비산정

- 소프트웨어 개발비를 산정한다.
( SW
개발비 = 개발원가 + 직접경비 + 이윤)

소프트웨어개발비

 

반응형

댓글