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. 직접경비 및 이윤산정 |
- 해당 소프트웨어 개발에 관련된 직접경비를 산정한다. |
직접경비이윤 |
6. 소프트웨어 개발비산정 |
- 소프트웨어 개발비를 산정한다. |
소프트웨어개발비 |
'IT기술노트 > 소프트웨어공학' 카테고리의 다른 글
일정관리(Project Schedule Management) (0) | 2021.02.04 |
---|---|
WBS(Work Breakdown Structure) (0) | 2021.02.04 |
범위관리(Project Scope Management) (0) | 2021.02.04 |
프로젝트 관리(Project Management) (0) | 2021.02.04 |
소프트웨어 비용산정 (0) | 2021.02.04 |
코드 난독화(Code Obfuscation) (0) | 2021.02.04 |
역공학, 재공학, 재사용 (0) | 2021.02.04 |
3R(Reverse Eng. Re-Eng. Reuse Eng) (0) | 2021.02.04 |
댓글