상 | Function Point / ISO/IEC 14143 | [정의] 정보처리 규모와 기능의 복잡도 요인에 의거한 SW 규모산정방식 [등장배경(LOC문제점)] 추정의 어려움, 환경의 영향, 파라미터 영향 [특징] 최종 사용자 입장, 사전 개발 소요공수 예측모델, 기능설계시 개발중에도 측정 가능, 생산성과 품질척도 활용가능 [절차] 측정유형결정, 측정범위 어플리케이션 경계식별, 데이터 기능측정, 트랜잭션 기능측정, 미조정 기능점수 결정, 조정인자 결정, 조정 기능점수 결정 [지표] ILF, EIF, EI, EO, EQ, DET, REF, FTR |
유범(이의)데(이)트 미조기 |
토픽 이름 (상) | Function Point |
분류 | SW 규모 산정(원가산정) > Function Point |
키워드(암기) | 기능점수, 절차, 특징 트랜잭션 유형, EI, EO, 데이터 기능 유형, EQ, ILF, EIF 측정유형결정, 측정범위 어플리케이션 경계식별, 데이터 기능측정, 트랜잭션 기능측정, 미조정 기능점수 결정, 조정인자 결정, 조정 기능점수 결정 |
암기법(해당경우) | 유범이의 데이트 |
기출문제
번호 | 문제 | 회차 |
1 | S/W프로젝트의 규모척도인 기능점수(Function Point)의 장단점을 설명하고, LOC(Line Of Code)와 COCOMO(Constructive Cost Model)와의 차이를 설명하시오. | 107.컴시응.4.2 |
2 | 6. 비용 산정 모델에 대한 다음 물음에 답하시오. (1) 비용 산정을 위한 COCOMO(Constructive Cost Model)와 기능 점수의 특징과 장점을 비교 설명하시오. (2) 네 개의 모듈로 구성된 프로젝트가 있다. LOC(Line of Code)를 기반으로 한 각 모듈의 규모 추정이 아래와 같을 때, 이 프로젝트의 총 규모는 몇 LOC 인지 계산하시오. |
87.관리.3.6 |
- 소프트웨어 복잡도에 의한 규모 산정방식, FP의 개요
가. FP(Function Point, ISO/IEC 14143-1)의 정의
- 정보처리 규모와 기능의 복잡도 요인에 의거한 SW 규모 산정 방식
- 소프트웨어 크기를 결정하는 소프트웨어 기능 유형별 수량과 성능 및 품질요인들의 영향도 고려하여 계산되는 SW 규모 산정 방식
나. FP의 등장배경 (LOC의 문제점)
구분 | 내용 |
추정의 어려움 | - 소프트웨어 개발 초기에 프로그램 라인 수 예측 어려움 |
환경의 영향 | - 동일 기능 수행 소프트웨어라도 개발 언어에 따라 원시코드 라인수는 크게 다름 |
파라미터 영향 | - 기능은 동일하여도 3단계 C/S 방식, 1단계 C/S 방식, 웹 환경 등에 따라 비용 산정의 어려움 |
다. FP의 특징
사용자 관점 | 최종 사용자 입장에서 SW 규모 산정 (개발자 입장에서 SW견적량인 소스코드 양과 무관) |
개발 소요공수 예측 모델 | 프로젝트 완료 후 생산성 평가 위해 개발되었으나, 사전에 개발 소요공수 예측하는 모델로 사용 |
개발환경, 기술 독립적 | 개발환경과 기술에 무관하게 측정가능, 사용자 요구에 따라 기능 설계 시 개발 중에도 측정 가능 |
생산성 척도 | 생산성과 품질의 척도로도 활용 가능 |
기능, 복잡도 가정 | 제안단계까지는 추정은 가능하나 측정(산정)은 불가능, 기능과 복잡도에 대한 가정 허용 |
- FP 개념도 및 구성요소
가. FP의 개념도
- FP 개념도와 구성요소
유형 | 기능 | 내용 |
트랜잭션 유형 (Transaction Type) |
외부 입력(EI) : External Input |
- 외부 입력 값 (입력 트랜잭션, 입력 화면) |
외부 출력(EO): External Output |
- 외부 출력 되는 값 (출력 트랜잭션, 출력보고서) | |
외부 조회(EQ) : External inQuery |
- 데이터의 가공을 수반하지 않는 입출력 (문의) | |
데이터 기능 유형 (Data Function Type) |
ILF (Internal Logical File) |
- 내부 논리 파일 - 측정 대상 소프트웨어 시스템이 유지/관리하는 데이터의 집합 |
EIF (External Interface File) |
- 외부 인터페이스 파일 - 측정 대상 시스템이 참조하는 데이터의 집합 |
- FP산정 절차 및 상세내용
가. FP의 산정 절차
나. FP의 상세내역
- 측정 유형 결정
구분 | 종류 | 내용 |
측정유형 결정 | 개발 프로젝트 | - SI 프로젝트가 종료된 후, 사용자에게 인도되는 SW |
개선 프로젝트 | - SW 추가, 수정, 삭제 부분에 대한 SW 비용 산정 | |
어플리케이션 | - 사용자가 사용하고 있는 소프트웨어의 현장 기능을 측정 (설치된 기능 점수 측정) |
- 측정 범위와 어플리케이션 경계 식별
구분 | 종류 | 내용 |
측정범위와 어플리케이션 경계 식별 | 범위결정 | - 개별 변경할 SW에 대한 전체 범위 결정 |
경계식별 | - 각 어플리케이션의 경계를 분류하는 과정 |
- 사용자와 어플리케이션 경계 식별 구성도
- 데이터 기능 유형(Data Function Type)
구분 | 종류 | 내용 |
데이터 기능 유형 식별 |
내부 논리 파일(ILF) | - 사용자가 식별할 수 있는 논리적으로 연관된 데이터 그룹 또는 제어정보 - 어플리케이션 경계 내에서 유지되는 Data 및 제어정보(예, 내부 DB) |
외부 연계 파일(EIF) | - 데이터 그룹은 측정되는 어플리케이션의 외부에서 참조 - 어플리케이션 경계 밖에서 유지되는 Data 및 제어정보(예, 외부 DB) |
|
복잡도 및 기여도 결정 |
데이터요소유형 (DET) |
- 사용자가 식별 가능하고 반복되지 않는 유일한 필드 |
레코드요소유형 (RET) |
- 사용자가 식별 가능한 데이터 요소의 서브 그룹 |
- 복잡도 산정 방법은 DET(Data Element Type)과 RET(Record Element Type)을 통해서 이루어짐.
- DET는 ILF나 EIF에 유지되는 필드 중에서 사용자가 식별 가능하고 비반복적인 필드 의미하고 RET는 DET의 서브 셋을 의미. 이 둘을 식별하고 개수를 파악하는 것.
- DET와 RET를 계산 후에 이것을 기여도 테이블로 변환해서 최종 데이터 기능점수를 계산.
- DET: 반복되지 않고 사용자가 식별 가능한 필드(속성값)
1~19 DET | 20~50 DET | 51 이상 DET | ILF 미조정 기능점수 | EIF 미조정 기능점수 | |||
1 RET | 낮음 | 낮음 | 보통 | 낮음 | 7 | 5 | |
2~5 RET | 낮음 | 보통 | 높음 | 보통 | 10 | 7 | |
6 이상 RET | 보통 | 높음 | 높음 | 높음 | 15 | 10 |
- 트랜잭션 기능 유형(Transaction Function Type)
① | 사용자가 식별할 수 있고 최소한의 업무를 처리할 수 있는 단위 프로세스 식별 |
② | 식별된 각 단위 프로세스 별로 EI/EO/EQ로 분류한 다음 복잡도와 기여도를 계산하여 트랜잭션 기능 점수 계산 |
③ | EI/EO/EQ의 단위 프로세스가 식별되면 DET와 FTR(File Transfer Reference)를 통하여 복잡도 계산 |
④ | EI/EO/EQ별로 DET와 FTR이 계산되었으면 복잡도와 기여도 계산 |
- FTR: 어플리케이션에서 참조하는 ILF나 EIF의 수를 의미
구분 | 분류 | 설명 |
트랜잭션 기능 유형식별 | 외부입력(EI) | - 애플리케이션 경계 안으로 들어오는 데이터나 제어정보를 처리하는 단위 프로세스 |
외부출력(EO) | - 애플리케이션 경계 밖으로 조회되는 것으로 파생 데이터 생성과 같은 처리로직을 포함하는 단위 프로세스(계산 처리 된 후 외부로 나가는 것) | |
외부조회(EQ) | - EO와 같으나 파생 데이터 생성과 같은 처리로직을 포함하지 않는 단위 프로세스(계산 처리 없이 단순 데이터가 외부로 나가는 것) | |
복잡도 및 기여도결정 | 데이터 요소유형 (DET) |
- 사용자가 식별 가능하고 반복되지 않는 유일한 필드 |
참조 파일유형 (FTR) |
- 트랜잭션 기능에 의해 읽히거나 유지되는 ILF 또는 EIF |
EI의 FTR/DET | 1~4 DET | 5~15 DET | 16 이상 DET | EI/EO | EQ | ||
0-1 FTR | 낮음 | 낮음 | 보통 | 낮음 | 7 | 5 | |
2 FTR | 낮음 | 보통 | 높음 | 보통 | 10 | 7 | |
3 이상 FTR | 보통 | 높음 | 높음 | 높음 | 15 | 10 |
- 미조정 기능점수 결정
- 조정인자결정
1. 데이터 통신(Data Communications) 2. 분산 데이터 처리(Distributed Data Processing) 3. 성능(Performance) 4. 사용환경(Heavily Used Configuration) 5. 처리율(Transaction Rate) 6. 온라인 데이터 입력(Online Data Entry) 7. 최종사용자 편리성(End-Used Efficiency) |
8. 온라인 갱신(Online Update) 9. 처리복잡성(Complex Processing) 10. 재사용성(Reusability) 11. 설치용이성(Installation Ease) 12. 운영용이성(Operational Ease) 13. 복수 사이트(Multiple Sites) 14 변경 용이성(Facilitate Change) |
- 조정인자 계산: [ {각 (14개 항목 * 0 ~ 5)의 합} * 0.01 ] + 0.65의 계산공식
- 조정 기능점수 결정(±35% 조정가능)
(AFP: Adjusted Function Point, UFP: Unadjusted Function Point, VAF: Value Adjustment Factor)
- 기능점수 산출 방법의 두가지 유형(정규법과 간이법)비교 및 규모산정 방식 비교
가. 기능점수 산출 방법 비교
구분 | 정규법 | 간이법 |
개념 | - 논리적인 설계를 바탕으로 한, 각 기능의 속성을 정의하여 기능별 복잡도 매트릭에 의한 기능점수 산정 방식 | - 개략적인 사용자 요구사항을 바탕으로 기능 점수를 도출하여 평균 복잡도에 의한 기능 점수 산정 방식 |
사용시기 | - 상세한 기능점수 측정 | - 프로젝트 초기에 측정 |
사용목적 | - SW 분석/설계, 개발, 유지보수의 개발 범위, 일정 및 원가 산정 | - 예산 수립, - 제안서 견적 산정 - 계약의 SW 사업대가 산정 |
측정항목 | - 데이터 기능 및 DET, RET 수 도출 RET: Record Element Type DET: Data Element Type - 트랜잭션 기능 및 DET, FTR 식별 FTR: File Type Reference(참조파일수) DET: 데이터 항목 수 |
- 데이터 기능, 트랜잭션 기능 |
복잡도 | - 기능별 복잡도 매트릭(Low, Avg, High) | - 평균 복잡도 |
나. 규모산정방식 비교
구분 | FP (Function Point) |
LOC (Line of Code) |
COCOMO (Constructive Cost Model) |
측정 방법 |
- 신뢰성 높음 - 재사용성 가능 - 규정이고 계측방식의 공식화 |
- S/W양적, 측정의 신뢰성부족 - 산출방식의 재사용 안됨 - 개인경험과 예측의 일관성부족 |
- 공수(Man/Month) 추정모델로 원시 프로그램의 규모에 의한 비용 예측 방법 |
적용 | - 개발초기나 기획에도 적용 - 현상의 타당성 제공 |
- 개발초기에 적용은 어려움 - 가격협상에 투명하지 못함 |
- 개발규모를 알고 있는 경우에, 작업량이나 공기를 견적하는데 유효한 방법 |
종속성 | - S/W마다 고유의 비용 측정 가능 - 독립적인 계산 가능 |
- S/W에 고유하지 않음 - 개발기술이나 환경에 의존 |
- 개발규모를 알고 있는 경우의 견적 방법이기 때문에, 개략견적 시 보다 상세 견적 시에 더욱 유효 |
- FP의 활용 부문 및 문제점
가. FP의 활용부문
- 생산성과 품질 등의 척도로 활용 가능, 생산성 = FP / MM, 품질 = 결함 / FP,
비용 = 비용 / FP, 문서량 = 문서페이지 / FP
나. FP의 문제점
- Data Function: 사용자 관점에서 측정되기 때문에 감추어진 EI, EO, EQ를 찾기 힘듦
- Transaction Function: 사용자 관점에서 사용되는 파일수를 정확히 찾기 힘듦
- 기술도 복잡도 측면: 14개 항목에 대한 측정자의 주관에 의존
반응형
'정보관리기술사 > 소프트웨어공학' 카테고리의 다른 글
SW사업 대가산정 가이드 (0) | 2024.04.22 |
---|---|
간이법 계산 (0) | 2024.04.21 |
SW 비용 산정 일반 (0) | 2024.04.19 |
감리결과보고서 작성하기 (1) | 2024.04.18 |
감리 절차 (0) | 2024.04.17 |