본문 바로가기
생각/글쓰기

Function Point 문제풀이

by 3604 2024. 2. 7.
728x90

출처: http://www.jidum.com/jidums/view.do?jidumId=580

 

태그 :

문제) 기능점수(Function Point) 측정에 대하여 아래의 내용을 근거로 질문에 답하시오.

 

[업무기능요건]

. 인사담당자가 인사기본정보(사원DB,부서DB) 관리한다.

. 인사담당자가 임직원의 직무정보(사원DB,직무DB) 산업인력관리공단의 표준직무 DB 연계하여 관리한다.

. 인사담당자가 부서별 각종 최신 통계자료(사원DB, 직무DB, 부서DB) 조회 출력한다.

1) 기능점수 산출방법의 간이법과 정규법의 차이점을 비교 설명하시오.

2) 간이법을 적용하여 주어진 [업무기능요건] 대한 트랜잭션 기능(Transaction Function) 데이터 기능 (Data Function) 산출 하시오.

3) 간이법을 적용하여 주어진[업무기능요건]에대한 기능점수를 산출하시오.(복잡도는 ISBSG 평균데이타를 이용할 )

 

 

 

I. 기능점수 산출방법의 간이법과 정규법의 차이점을 비교 설명하시오.

구분 정규법 간이법
개념  논리적인 설계를 바탕으로 한 각 기능의 속성을 정의하여 기능별 복잡도 매트릭스에 의한 기능점수 산정 방식  개략적인 사용자 요구사항을 바탕으로 기능점수를 도출하여 평균복잡도에 의한 기능 점수 산정 방식
사용시기  상세한 기능점수 측정  프로젝트 초기에 측정
사용목적  SW 분석, 설계, 개발, 유지보수의 개발범위 및 일정, 원가 산정  예산수립, 제안서 견적 산정, 계약의 SW 사업대가 산정
측정항목  데이터 기능 및 DET, RET수 도출
 트랜잭션 기능 및 DET, FTR 식별
 데이터 기능
 트랜잭션 기능
복잡도  기능별 복잡도 매트릭스  평균 복잡도

 

II. 간이법을 적용하여 트랜잭션 기능과 데이터 기능을 산출하시오.

데이터 기능점수 = 내부논리파일외부연계파일 (기능점수)

·        내부논리파일기능점수 = 내부논리파일(ILF) 개수 X (평균)ILF복잡도가중치

·        외부연계파일기능점수 = 외부연계파일(EIF) 개수 X (평균)EIF복잡도가중치

·        27.7 = (3 X 7.4) + (1 X 5.5)

 

트랜잭션 기능점수 = 외부입력 + 외부출력 + 외부조회 (기능점수)

·        외부입력 기능점수 = 외부입력(EI) 개수 X (평균)EI복잡도가중치

·        외부출력 기능점수 = 외부출력(EO) 개수 X (평균)EO복잡도가중치

·        외부조회 기능점수 = 외부조회(EQ) 개수 X (평균)EQ복잡도가중치

·        9.2 = (0 X 4.3) + (1 X 5.4) + (1 X 3.8)

 

III. 간이법을 적용하여 기능점수를 산출하시오. (ISBSG 평균데이터 이용할 )

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

·        36.9 = 27.7 + 9.2

 

조정인자 (VAF) = {(항목1 가중치(0~5) + … + 항목14 가중치(0~5)) X 0.01 ) + 0.65

·        1.07 = { (3 + ... + 3) X 0.01 } + 0.65 ( 항목의 가중치는 3으로 가정)

 

조정 기능점수(AFP) = 미조정 기능점수(UFP) X 조정인자 (VAF)

·        39.48 = 36.9 X 1.07

 

IV. 지식경제부 기준의 개발원가를 산출하시오

. 보정전 개발원가 = 기능점수(UFP) X 기능점수당 단가

·        18,355,056= 36.9 X 497,427

. 보정계수

·        규모 보정계수0.65 (300FP 미만)

·        어플리케이션 유형 보정계수1.0 (업무처리용)

·        언어 보정계수1.2 (C# 가정)

·        품질 특성 보정계수 = 0.025 X 영향도 + 1

. (가정)분산처리:1, 성능:1, 신뢰성:1, 다중사이트:1

1.1 = 0.025 X (1+1+1+1) + 1

. 개발원가 = 보정전 개발원가 X (규모 보정계수 X 어플리케이션유형 보정계수 X 개발언어 보정계수 X 품질 특성 보정계수)

è 15,748,638= 18,355,056 X (0.65 X 1.0 X 1.2 X 1.1)

 

 

 

I.  문제 간이법 적용 풀이

<이벤트(Event) 리스트)
. 담당자는 고객주문을 입력,수정,삭제 한다(고객DB)
. 인사담당자는 사원목록을 부서단위로 조회한다(사원DB, 부서DB)
. 인사담당자는 사원복록을 단순 출력한다(사원DB)
. 인사담당자는 일정 금액 이상의 급여 수령자 사원목록을 검색한다(사원DB, 급여DB)
. 원화에 대한 미국 달러(USD) 가치를 찾기 위해 A은행 외환DB에서 환율을 검색한다(외환DB)
. 인사담당자는 5년 경력 이상이고, 해당 직무 수행겸험이 있는 사원목록을 추출한다(사원DB)
. 인사담당자는 신입/경력사원 입사 시 사원 파일을 갱신한다(사원DB)
. 인사담당자는 외국 사원 입사 시 사원의 급여를 결정하기 위해 H연합외 통화정보를 참조한다(사원DB, 급여DB, 통화DB)
. 회계시스템은 전표번호(부서번호 중 앞자리 2+년도+일련번호)를 자동채번한다(전표DB)
. 인사담당자는 사원현황을 엑셀 파일을 업로드 시킨다(사원DB)
< ISBSG(International Software Benchmark Standard Group) 평균복잡도>
(기능유형 : 평균복잡도)
EI : 4.3 / EO : 5.4 /  EQ : 3.8
ILF : 7.4 / EIF : 5.5

II. 데이터 기능과 트랜잭션 기능 측정

. 데이터 기능 측정

데이터베이스 기능유형 평균복잡도
고객DB ILF 7.4
사원DB ILF 7.4
부서DB ILF 7.4
급여DB ILF 7.4
외환DB EIF 5.5
통화DB EIF 5.5

 

. 트랜잭션 기능 측정

트랜잭션 유형 평균복잡도
담당자는 고객주문을 입력,수정,삭제 한다(고객DB) EI 4.3
인사담당자는 사원목록을 부서단위로 조회한다(사원DB, 부서DB) EO 5.4
인사담당자는 사원목록을 단순 출력한다(사원DB) EQ 3.8
인사담당자는 일정 금액 이상의 급여 수령자 사원목록을 검색한다(사원DB, 급여DB) EO 5.4
. 원화에 대한 미국 달러(USD) 가치를 찾기 위해 A은행 외환DB에서 환율을 검색한다(외환DB) EO 5.4
. 인사담당자는 5년 경력 이상이고, 해당 직무 수행겸험이 있는 사원목록을 추출한다(사원DB) EO 5.4
. 인사담당자는 신입/경력사원 입사 시 사원 파일을 갱신한다(사원DB) EI 4.3
. 인사담당자는 외국 사원 입사 시 사원의 급여를 결정하기 위해 H연합외 통화정보를 참조한다(사원DB, 급여DB, 통화DB) EO 5.4
. 회계시스템은 전표번호(부서번호 중 앞자리 2+년도+일련번호)를 자동채번한다(전표DB) EO 5.4
. 인사담당자는 사원현황을 엑셀 파일을 업로드 시킨다(사원DB) EI 4.3

 

III. Function point 간이 법에 의한 연산

구분 기능(Function) 기능 수 평균
복잡도
기능
점수
데이터
기능
내부논리파일(Internal Logical File : ILF) 4 7.4 29.6
외부연계파일(External Interface File : EIF) 2 5.5 11
데이터 기능점수 = ILF 기능점수 + EIF 기능점수 40.6
트랜잭션
기능
외부입력(External Input: EI) 3 4.3 12.9
외부출력(External Output: EO) 6 5.4 32.4
외부조회(External Inquiry: EQ) 1 3.8 3.8
트랜잭션 기능점수 = EI기능점수 + EO기능점수 + EQ기능점수 49.1

 

 기능점수 = 데이터 기능점수 + 트랜잭션 기능점수 = 89.7

 

문제) 신규 소프트웨어 개발 프로젝트 계획단계에서 기능점수를 측정하였더니 아래의 [1] 같이 기능이 식별되었다. 측정시점에서 신규 개발기능의 세부내용에 대한 개별복잡도 측정이 어려워 평균복잡도 가중치를 적용키로 하였으며, 다른 요구기능은 없다고 가정하고 다음 질문에 대하여 설명하시오

1) 기능점수 식별예시

구분 기능수()
데이터기능 내부논리파일(ILF) 12
외부논리파일(ELF) 6
트렌젝션기능 외부입력(EI) 24
외부출력(EO) 3
외부조회(EQ) 12

2) 기능점수 평균 복잡도 가중치

유형 내부논리파일 외부연계파일 외부입력 외부출력 외부조회
가중치 7.3 5.4 4.0 5.1 3.8

 

  1. IFPUG 기능점수 측정 절차를 설명하시오
  2. 기능별 평균점수와 개발 기능점수를 구하시오
  3. 기능점수 측정의 유의사항과 기능점수 측정결과에 대한 지식화 방안을 제시하시오

 

 

 

  1. 기능별 평균점수와 개발 기능점수를 구하시오.

데이터 기능점수 = 내부논리파일외부연계파일 (기능점수)

·        내부논리파일기능점수 = 내부논리파일(ILF) 개수 X (평균)ILF복잡도가중치

·        외부연계파일기능점수 = 외부연계파일(EIF) 개수 X (평균)EIF복잡도가중치

·        120 = (12 X 7.3) + (6 X 5.4)

 

트랜잭션 기능점수 = 외부입력 + 외부출력 + 외부조회 (기능점수)

·        외부입력 기능점수 = 외부입력(EI) 개수 X (평균)EI복잡도가중치

·        외부출력 기능점수 = 외부입력(EO) 개수 X (평균)EO복잡도가중치

·        외부조회 기능점수 = 외부입력(EQ) 개수 X (평균)EQ복잡도가중치

·        156.9 = (24 X 4.0) + (3 X 5.1) + (12 X 3.8)

 

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

·        276.9 = 120 + 156.9

 

조정인자 (VAF) = {(항목1 가중치(0~5) + … + 항목14 가중치(0~5)) X 0.01 ) + 0.65

·        1.07 = { (3 + ... + 3) X 0.01 } + 0.65 ( 항목의 가중치는 3으로 가정)

 

조정 기능점수(AFP) = 미조정 기능점수(UFP) X 조정인자 (VAF)

·        296.283 = 276.9 X 1.07

 

II. 경제부 기준의 개발원가를 산출하시오

. 보정전 개발원가 = 기능점수(UFP) X 기능점수당 단가

·        137,737,536= 276.9 X 497,427

. 보정계수

·        규모 보정계수0.65 (300FP 미만)

·        어플리케이션 유형 보정계수1.0 (업무처리용 가정)

·        언어 보정계수1.2 (C# 가정)

·        품질 특성 보정계수 = 0.025 X 영향도 + 1

. (가정)분산처리:1, 성능:1, 신뢰성:1, 다중사이트:1

1.1 = 0.025 X (1+1+1+1) + 1

. 개발원가 = 보정전 개발원가 X (규모 보정계수 X 어플리케이션유형 보정계수 X 개발언어 보정계수 X 품질 특성 보정계수)

è 118,178,806= 137,737,536 X (0.65 X 1.0 X 1.2 X 1.1)

 

 

) SW사업대가기준_개정안(지경부고시_2009-102)에는 정확한 소프트웨어 개발 산정을 위해 공공기관의 SW개발시에 기능점수산정 방식으로 적용하도록 하였다. 소프트웨어 개발비 산정에 대해서 다음에 대해 설명하시오.

 

. IFPUG(International Function Point User Group)에서 정의한 기능점수 점수 산정방식의 특장점과 ILF, EIF, EI, EO, EQ 대해 설명하시오.

. 사원정보를 관리하는 업무가 다음 데이터모델을 가질 근거하여 데이터기능의 기능형식(ILF) , RET , DET의수와 트랜잭션기능의 FTR DET수를 구하라.

. 위에서 복잡도/보정요소를 반영하여 20FP() 산정되었다(가정). 다음 항목을 반영하여 SW개발비를 산정하시오.

- 단가 : 1FP 600,000

- 이윤 : 20%

- 직접비 : 출장비 : 0.01, 인쇄비 : 0.01, 전문가운영비 : 0.02, 워크샵비 : 0.01

 

  1. IFPUG에서 정의한 기능점수 점수 산정방식과 특장점과 용어를 설명하시오.
  1. FP 점수 산정방식의 특장점

·        사용자관점 : 개발자 관점이 아닌, 사용자 관점에서 SW 규모 측정함

·        기능중심 : 소스가 아닌 기능으로 규모 측정함

·        논리적 단위 : 물리적인 파일, 스크린, 프로그램이 아닌 사용자의 업무기능인 논리관점에서 측정함

·        패키지 측정가능 : 패키지에 대해서도 기능관점으로 측정할 있음

·        품질, 생산성 측정도구 가능

·        유지보수 이용 가능 : 유지보수에 비용과 자원 산정시 활용이 가능

 

  1. FP 용어설명

·        데이터요소유형(Data Element Type, DET) : 사용자가 식별 가능하고, 유일하고 비반복적인 필드

·        레크드요소유형(Record Element Type, RET) : 내부논리파일(ILF) 또는 외부연계파일(EIF) 안에서 사용자가 식별 가능한 데이터의 서브그룹으로 2가지 유형이 있음

. Optional, 선택적 서브그룹

. Mandatory, 필수적 서브그룹

·        참조파일유형(File Type Referenced, FTR) :트랜잭션 기능에 의해 조회되거나 유지되는 내부논리파일(ILF) 또는 트랜잭션기능에 의해 참조되는 외부연계파일(EIF)

 

  1. RET , DET 수와 트랜잭션기능의 FTR DET수를 구하라.
  1. 데이터 기능
구분 건수 설명
ILF(Internal Logical File) 1 (사원정보) 부양가족은 사원에 딸려있는 부가정보
RET(Record Element Type) 2 사원, 부양가족
DET(Data Element Type) 10 사원번호, 사원이름, 주소, 성별, 나이, 어학점수, 가족주민번호, 가족이름, 직업, (부양가족)주소

#참조, 내부논리파일/외부연계파일의 복잡도 기능점수 가중치(지경부고시)

구분 데이터요소유형(DET) 복잡도 가중치
레코드요소유형(RET) 1 ~ 19 20 ~ 50 51 ~ ILF EIF
1 낮음 낮음 보통 낮음 7 5
2 ~ 5 낮음 보통 높음 보통 10 7
6 ~ 보통 높음 높음 높음 15 10
  • ILF : 사원정보(1), RET(2)/DET(10) Matrix = 7(데이터 기능점수)

 

  1. 트랜잭션 기능
구분 건수 설명
FTR(File Type Reference) 1 (사원정보) 부양가족은 사원에 딸려있는 부가정보
DET(Data Element Type) 7 사원번호, 조회버튼, 사원이름, 주소, 주민번호, 가족이름, 레코드 숫자(00)

#참조1, 외부입력의 복잡도 기능점수 가중치(지경부고시)

구분 데이터요소유형(DET) 복잡도 가중치
참조파일유형(FTR) 1 ~ 4 5 ~ 15 16 ~ EI
0 ~ 1 낮음 낮음 보통 낮음 3
2 낮음 보통 높음 보통 4
3 ~ 보통 높음 높음 높음 6

#참조2, 외부출력/외부조회의 복잡도 기능점수 가중치(지경부고시)

구분 데이터요소유형(DET) 복잡도 가중치
참조파일유형(FTR) 1 ~ 5 6 ~ 19 20 ~ EO EQ
0 ~ 1 낮음 낮음 보통 낮음 4 3
2 ~ 3 낮음 보통 높음 보통 5 4
4 ~ 보통 높음 높음 높음 7 6
  • EO : 사원정보(1), FRT(1)/DET(7) Matrix = 4(트랜잭션 기능점수)

 

  1. SW개발비를 산정하시오.
  1. 조건

·        FP점수 : 20FP, 단가 : 600,000/1FP, 이윤 : 20%

·        직접비 : 출장(0.01), 인쇄(0.01), 전문가운영(0.02), 워크샵(0.01)

  1. SW개발비

·        개발원가 = FP점수 X 600,000/FP

·        0.12 = 12,000,000 = 20FP X 600,000

·        이윤 = 개발원가 X 이윤(0.2)

·        0.024 = 0.12 X 0.2

·        직접비 = 항목

·        0.05 = 0.01 + 0.01 + 0.02 + 0.01

·        SW개발비 = 개발원가 + 이윤 + 직접비

·        0.194 = 0.12 + 0.024 + 0.05

 

IV. 지식경제부 기준의 개발원가를 산출하시오

. 보정전 개발원가 = 기능점수(UFP) X 기능점수당 단가

·        9,948,540= 20 X 497,427

·        12,000,000= 20 X 600.000(문제의 단가조건으로 계산)

. 보정계수

·        규모 보정계수0.65 (300FP 미만)

·        어플리케이션 유형 보정계수1.0 (업무처리용 가정)

·        언어 보정계수1.2 (C# 가정)

·        품질 특성 보정계수 = 0.025 X 영향도 + 1

. (가정)분산처리:1, 성능:1, 신뢰성:1, 다중사이트:1

1.1 = 0.025 X (1+1+1+1) + 1

. 개발원가 = 보정전 개발원가 X (규모 보정계수 X 어플리케이션유형 보정계수 X 개발언어 보정계수 X 품질 특성 보정계수)

·        8,535,847= 9,948,540 X (0.65 X 1.0 X 1.2 X 1.1)

·        10,296,000= 12,000,000 X (0.65 X 1.0 X 1.2 X 1.1) (문제의 단가조건으로 계산)

. 이윤 = 개발원가 X 이윤(0.2)

·        1,707,169 = 8,535,847 X 0.2

·        2,059,200 = 10,296,000 X 0.2 (문제의 단가조건으로 계산)

직접비 = 항목

·        5,000,000 = 0.05 = 0.01 + 0.01 + 0.02 + 0.01

. SW개발비 = 개발원가 + 이윤 + 직접비

·        0.152 = 15,243,016 = 8,535,847 + 1,707,169 + 5,000,000

·        0.174 = 17,355,200 = 10,296,000 + 2,059,200 + 5,000,000 (문제의 단가조건으로 계산)

 

 

문제) 주문과 주문목록 테이블에서 ILF RET 개인가?

 

구분 건수 설명
ILF ?  
RET    

 

 

문제) 인사 시스템에서 종업원 정보는 종업원에 대한 일반적인 정보와 시간제, 월급제 종업원 정보, 부양가족 정보가 포함되는경우 RET 개인가?

 

구분 건수 설명
ILF 1(사원정보) 종업원에 모두 속해 있는 정보임(사용자가 보기에는 한 개)
RET ?  

 

 

문제) 다음 화면의 기능유형, FTR, DET 복잡도와 기여도를 구하시오?

 

 

 

728x90