▣ 프로젝트 비용산정_간이법_기능점수(FP, Function Point) ILF, EIF, EI, EO, EQ
유형 | 기능 | 내용 | 간이법 평균 복잡도 |
측정 항목 |
데이터 기능 |
내부논리파일 (ILF, Internal Logical File) |
측정대상 어플리케이션 내에 식별 가능한 논리적으로 연관된 하나의 데이터 그룹(DB테이블, File) | 7.5 | DET, RET |
외부연계파일 (EIF, External Interface File) |
측정대상 어플리케이션은 오직 참조만 하고 유지 갱신은 다른 어플리케이션에서 함 | 5.4 | ||
트랜잭션 기능 |
외부입력 (EI, External Input) |
경계 외부의 사용자나 시스템으로부터 들어오는 입력이나 제어 정보를 이용하여 사용자의 요구를 처리하는 기능 | 4.0 | DET, FTR |
외부출력 (EO, External Output) |
외부로 정보를 내보내기 위해 별도의 작업이 필요함(보고서 폼생성, 비즈니스 로직 계산, 해당 DB 업데이트 등) | 5.2 | ||
외부조회 (EQ, External inQuiry) |
외부 조회(리스트 조회) 유형, 별도의 처리 로직이나 파생데이터가 발생하지 않음(순수한 조회를 의미함) | 3.9 |
* RET(Record Element Type) : 데이터베이스의 테이블과 유사한 개념
* DET(Data Element Type) : 테이블의 필드와 유사한 개념
* FTR(File Type Reference) : 사용자가 요청한 기능을 처리하는데 필요한 데이터 그룹(테이블)
* 암기법 : 유범이의 데이트 상대는 미조정, 인자 마음조정 해서결정
* 조정인자(VAF : Value Adjustment Factor)
데이터, 성능, 환경, 트랜잭션(갱신, 처리), 재사용성, 용이성, 설치성
1) 데이터 통신
2) 분산 데이터 처리
3) 성능
4) 운영환경
5) 트랜잭션 비율
6) 온라인 데이터 입력
7) 사용자 효율성
8) 온라인 갱신
9) 처리 복잡도
10) 재사용성
11) 설치 용이성
12) 운영 용이성
13) 다중 설치성
14) 변경 용이성
통신, 처리, 효율, 설치 용이 / 통처효설용
2018년 26번
정답 : 3번
기능점수의 기능 유형으로 입력, 출력, 조회, 파일로 접근해 볼 수 있음
2011년 29번
정답 : 4번
조정인자(VAF : Value Adjustment Factor)로 고려되는 14개 시스템 특성에 속하지 않는것은 4)개발자 생산성임
데이터, 성능, 환경, 트랜잭션(갱신, 처리), 재사용성, 용이성, 설치성
1) 데이터 통신
2) 분산 데이터 처리
3) 성능
4) 운영환경
5) 트랜잭션 비율
6) 온라인 데이터 입력
7) 사용자 효율성
8) 온라인 갱신
9) 처리 복잡도
10) 재사용성
11) 설치 용이성
12) 운영 용이성
13) 다중 설치성
14) 변경 용이성
2011년 35번
정답 : 1번
외부의 입력에 의해 내부 데이터베이스에 데이터를 추가하는 것이므로 트랜잭션 유형은 '외부입력(EI)'임
FTR은 변경되는 테이블의 개수를 의미함, 시스템 요구사항에 의하면 변경되는 테이블은 사원정보 테이블 하나밖에 없으므로 FTR의 개수는 1임
DET는 변경되는 컬럼의 개수를 의미함
변경되는 컬럼은 '종업원 아이디, 종업원 이름, 직위, 소재지, 전화번호'의 5개임
IFPUG(국제 기능 포인트 사용자 그룹)의 규정에 의하면 다음의 경우 하나의 DET로 계산함
1) 사용자에게 메시지를 표시할 경우(에러발생, 처리완료, 처리여부 질문 등의 경우)
2) 사용자가 버튼 등을 이용하여 프로세서를 기동할 경우(등록, 삭제, 수정 등)
따라서 전체 DET의 개수는 7개임
2012년 50번
정답 : 3번
바. 측정 유형의 결정
사. 측정 범위와 애플리케이션 경계 식별
가. 데이터 기능 측정
다. 트랜잭션 기능 측정
나. 미조정 기능점수 결정
마. 조정 인자 결정
라. 조정 기능점수 결정
* 암기법 : 유범이의 데이트 미인 조정기능 결정
2013년 44번
정답 : 2번
유형 | 기능 | 내용 | 간이법 평균 복잡도 |
측정 항목 |
데이터 기능 |
내부논리파일 (ILF, Internal Logical File) |
측정대상 어플리케이션 내에 식별 가능한 논리적으로 연관된 하나의 데이터 그룹(DB테이블, File) | 7.5 | DET, RET |
외부연계파일 (EIF, External Interface File) |
측정대상 어플리케이션은 오직 참조만 하고 유지 갱신은 다른 어플리케이션에서 함 | 5.4 | ||
트랜잭션 기능 |
외부입력 (EI, External Input) |
경계 외부의 사용자나 시스템으로부터 들어오는 입력이나 제어 정보를 이용하여 사용자의 요구를 처리하는 기능 | 4.0 | DET, FTR |
외부출력 (EO, External Output) |
외부로 정보를 내보내기 위해 별도의 작업이 필요함(보고서 폼생성, 비즈니스 로직 계산, 해당 DB 업데이트 등) | 5.2 | ||
외부조회 (EQ, External inQuiry) |
외부 조회(리스트 조회) 유형, 별도의 처리 로직이나 파생데이터가 발생하지 않음(순수한 조회를 의미함) | 3.9 |
* RET(Record Element Type) : 데이터베이스의 테이블과 유사한 개념
* DET(Data Element Type) : 테이블의 필드와 유사한 개념
* FTR(File Type Reference) : 사용자가 요청한 기능을 처리하는데 필요한 데이터 그룹(테이블)
2014년 41번
정답 : 3번
▶ 소프트웨어 기능 점수 : 기능점수 항목 및 복합 가중값 * SW 기능 구성(개수)
외부입력 : 단순(3*4) + 보통(4*1) + 복잡(6*0) = 16
외부출력 : 단순(4*2) + 보통(5*4) + 복잡(7*0) = 28
외부조회 : 단순(3*2) + 보통(4*2) + 복잡(6*2) = 26
내부논리파일 : 단순(7*0) + 보통(10*4) + 복잡(15*4) = 100
외부 인터페이스파일 : 단순(5*2) + 보통(7*0) + 복잡(10*2) = 30
Total 기능점수 = 16 + 28 + 26 + 100 + 30 = 200
▶언어별 SLOC
C 구현 : 130 * 200 = 26,000
Pascal 구현 : 90 * 200 = 18,000
C++ 구현 : 50 * 200 = 10,000
VB구현 : 30 * 200 = 6,000
2015년 34번
정답 : 4번
LOC 공식
생산성 = LOC / MM(투입공수 OR 개발노력)
프로젝트 비용 = LOC * LOC당 단가
투입공수 OR 개발노력(MM) = LOC / 생산성
1인당 월 평균 생산 SLOC = 50 SLOC /FP * 50 FP/Month = 2,500 SLOC/Month
8명의 개발자가 1개월 동안 생산 SLOC = 8 * 2,500 SLOC / Month = 20,000 SLOC / Month
개발 완료까지 소요 기간 = 500,000 SLOC / 20,000 SLOC / Month = 25 Month
2016년 45번
정답 : 4번
(가) 150,000 SLOC, 6명이 10개월 -> 150,000/60 = 2,500 SLOC/Month
소스라인수 / FP = 50 SLOC/FP이므로 2,500/50 = 50 FP
(나) 개발자 1인당 월평균 생산성은 1.5*(가)이므로 75 FP/Month
390,000 SLOC를 5명이 (나)개월이므로 390,000 / 5 *(나) = X SLOC / Month
소스라인수/FP = 130 SLOC/FP 이므로 X / 130 = 75 FP
X = 9750
(나) = 390,000 / (9,750*5) = 8 Month
2013년 40번
정답 : 2번
총 기능점수 : 7,500 FP
총 소요 M/M : 150 M/M (5명 * 30개월)
따라서 프로그램머 1인당 월평균 생산성은
총 기능점수/총 소요 M/M = 7500 / 150 = 50(FP/월)
2017년 42번
정답 : 2번
개발자 1일당 월 평균 1,500 라인의 코드 개발 가능
전체 소스코드 추정 라인수는 450,000 라인
예상 M/M 는 450,000 / 1,500 = 300 M/M
사업기간이 20개월 이므로 300/20 = 15명의 개발자 필요
현재 투입가능한 개발자 수가 11명이므로 필요 개발자 15명에서 4명이 부족함
15-11 = 4명
2020년 48번
정답 : 2번
학생정보 관리 시스템의 내부논리파일(ILF)에서 DET(데이터요소유형)와 RET(레코드요소유형) 구하는 문제임
ILF의 데이터요소유형(DET)는 시스템에서 관리되는 컬럼수임
학번, 학생이름, 학과, 학생등록일자 4개의 컬럼이 관리되므로 DET는 4임
ILF의 레코드요소유형(RET)수를 찾기 위해서는 서브그룹이 있는지를 확인해야함
학생정보를 등록할 때, 구분되어 반드시 등록되어야 하는 별도의 테이블이나 내부에 논리적으로 구분되어야 하는 그룹이 없음
'서브그룹을 갖지 않는 경우는 기본적으로 논리파일 자기 자신을 하나의 RET로 식별'
RET는 서브그룹이 존재하지 않으므로 1개로 식별함
* RET(Record Element Type) : 데이터베이스의 테이블과 유사한 개념
* DET(Data Element Type) : 테이블의 필드와 유사한 개념
'소프트웨어공학' 카테고리의 다른 글
테스트 설계기법_정적분석_복잡도 분석_순환복잡도(Cyclomatic Complexity), 의사코드(psuedo code), 제어 흐름 그래프(control flow graph), McCabe (0) | 2021.09.21 |
---|---|
SW 개발 방법론_소프트웨어 프로덕트 라인(software product lines) (0) | 2021.09.21 |
MVC 모델_Model, View, controller, 구조스타일, 소프트웨어 아키텍처, 브로커 (0) | 2021.08.31 |
모듈화 응집도, 결합도 우논시절통순기, 내공외제스자 (0) | 2021.08.30 |
SW 개발 방법론_나선형 모델(spiral model)_계획수립, 위험분석, 개발, 평가 (0) | 2021.08.30 |