[정보] 기능 점수(Function Point)란? EI, EO, EQ
기능점수(Function Point)와 EI, EO, EQ의 개념
1. 기능점수(Function Point, FP)란?
기능점수(Function Point, FP)는 소프트웨어의 기능적 크기를 측정하는 방법으로, 개발 비용 및 노력을 예측하는 데 사용됩니다. 주로 IFPUG(International Function Point Users Group)에서 정의한 표준을 따르며, 소프트웨어 프로젝트의 복잡성과 규모를 객관적으로 평가하는 데 활용됩니다.
2. 기능점수 구성 요소
기능점수는 크게 데이터 기능과 트랜잭션 기능으로 나뉩니다.
1) 데이터 기능
- ILF (Internal Logical File): 내부 논리 파일 (시스템 내부에서 유지되는 데이터 저장소)
- EIF (External Interface File): 외부 인터페이스 파일 (다른 시스템과 공유되는 데이터 저장소)
2) 트랜잭션 기능
- EI (External Input): 외부 입력 - 시스템이 데이터를 입력받아 처리하는 기능
- EO (External Output): 외부 출력 - 시스템이 데이터를 가공하여 출력하는 기능
- EQ (External Inquiry): 외부 조회 - 단순 데이터 조회 기능
3. EI (External Input) - 외부 입력
외부 입력(EI)은 사용자가 시스템에 데이터를 입력하는 기능을 의미합니다. 일반적으로 데이터베이스에 저장되거나 기존 데이터를 수정하는 작업을 포함합니다.
예시:
- 사용자 로그인
- 회원가입 정보 입력
- 상품 등록
- 게시글 작성
4. EO (External Output) - 외부 출력
외부 출력(EO)은 시스템이 데이터를 처리하여 사용자에게 제공하는 기능을 의미합니다. 이 기능은 데이터베이스에서 가져온 정보를 계산, 정렬, 필터링 등의 작업을 거쳐 출력하는 경우가 많습니다.
예시:
- 월별 매출 보고서 생성
- 사용자 주문 내역 출력
- 시스템 로그 파일 생성
- PDF 또는 CSV 파일 다운로드
5. EQ (External Inquiry) - 외부 조회
외부 조회(EQ)는 사용자가 시스템에서 데이터를 검색하는 기능입니다. 외부 입력(EI)이나 외부 출력(EO)과 달리 데이터의 변경 없이 단순히 조회만 수행합니다.
예시:
- 상품 목록 조회
- 고객 정보 검색
- 날씨 데이터 API 호출
- 사용자 프로필 확인
6. 기능점수 계산 방법
기능점수를 계산할 때, EI, EO, EQ와 같은 트랜잭션 유형에 가중치를 적용하여 최종 FP를 산출합니다.
기본 가중치 테이블
기능 유형 | 단순(Simple) | 중간(Average) | 복잡(Complex) |
---|---|---|---|
외부 입력 (EI) | 3 | 4 | 6 |
외부 출력 (EO) | 4 | 5 | 7 |
외부 조회 (EQ) | 3 | 4 | 6 |
최종 기능점수(FP)는 아래 공식으로 계산됩니다:
FP = (EI * 가중치) + (EO * 가중치) + (EQ * 가중치) + (ILF * 가중치) + (EIF * 가중치)
7. 기능점수의 활용
기능점수 분석을 활용하면 소프트웨어 프로젝트의 규모를 객관적으로 측정할 수 있습니다. 이를 통해 개발 비용을 추정하고, 프로젝트 일정 계획을 수립할 수 있습니다.
활용 분야
- 소프트웨어 개발 비용 예측
- 프로젝트 일정 관리
- 개발 생산성 측정
- 아웃소싱 계약 및 비용 산정
8. 결론
EI, EO, EQ는 기능점수(Function Point) 분석에서 중요한 요소로, 소프트웨어의 입력, 출력, 조회 기능을 측정하여 프로젝트의 크기와 복잡도를 평가하는 데 활용됩니다.