통계 기능을 기능점수(Function Point, FP)로 산정하는 방법은 소프트웨어 사업 대가산정 가이드(한국소프트웨어산업협회) 기준을 따릅니다. 통계 기능은 보통 단순 조회가 아니라 데이터의 가공, 계산, 요약이 포함되므로 **외부 출력(External Output, EO)**으로 산정되는 경우가 많습니다.
구체적인 산정 단계와 기준을 정리해 드립니다.
1. 통계 기능의 단위 프로세스 식별
기능점수를 산정할 때 통계는 하나의 **단위 프로세스(Unit Process)**로 간주됩니다.
- 외부 입력(EI): 통계 조건을 입력하고 실행하는 행위 (단독 산정보다는 EO/EQ의 일부로 포함)
- 외부 출력(EO): 계산, 요약, 파생 데이터 생성이 포함된 통계 화면이나 리포트 (대부분의 통계)
- 외부 조회(EQ): DB에 있는 데이터를 단순 합산 없이 필터링만 해서 보여주는 경우
참고: 통계는 로직(평균, 합계, 비율 계산 등)이 들어가므로 일반적으로 EO로 분류하는 것이 정석입니다.
2. 복잡도 결정을 위한 데이터 요소(DET)와 참조 파일(FTR) 식별
통계 기능의 복잡도는 DET와 FTR의 개수에 따라 결정됩니다.
① DET (Data Element Type)
사용자가 식별할 수 있는 고유한 데이터 필드 수입니다.
- 통계 조건: 기간, 부서, 카테고리 등 선택 항목
- 결과 항목: 통계 테이블의 열(Column)들, 차트의 범례 등
- 버튼: 조회, 엑셀 다운로드, 출력 버튼 (각 1개)
② FTR (File Type Referenced)
통계치를 뽑아내기 위해 참조하는 내부 논리 파일(ILF)이나 외부 인터페이스 파일(EIF)의 개수입니다.
- 예: '매출 통계'를 위해 '주문 테이블', '상품 테이블', '고객 테이블'을 참조한다면 3 FTR입니다.
3. 기능점수 산정 테이블 (EO 기준)
식별된 DET와 FTR을 아래 매트릭스에 대입하여 복잡도(낮음, 보통, 높음)를 결정합니다.
| 구분 (FTR \ DET) |
1 ~ 5개 |
6 ~ 19개 |
20개 이상 |
| 0 ~ 1개 |
낮음 (4점) |
낮음 (4점) |
보통 (5점) |
| 2 ~ 3개 |
낮음 (4점) |
보통 (5점) |
높음 (7점) |
| 4개 이상 |
보통 (5점) |
높음 (7점) |
높음 (7점) |
점수는 간이산정법이 아닌 상세산정법 기준 가중치입니다.
4. 실무적인 통계 산정 팁
엑셀 다운로드 기능은 별도인가요?
- 아니요. 동일한 통계 데이터를 단순히 엑셀 형태로 출력하는 것은 해당 통계 기능의 **일부(DET 1개 추가)**로 간주하며, 별개의 기능점수로 산정하지 않습니다.
- 단, 화면 출력 내용과 엑셀 출력 내용의 로직이 완전히 다르다면 별도로 산정할 수 있습니다.
다차원 분석(OLAP) 통계
- 사용자가 행과 열을 자유롭게 바꾸는 복잡한 통계는 일반적인 EO보다 높은 복잡도를 적용하거나, 기능 분할을 통해 상세히 산정해야 합니다.
검색 조건이 매우 많은 경우
- 검색 조건이 20개가 넘더라도 통계 결과 항목(DET)과 합산하여 복잡도를 체크합니다. 통계는 보통 결과값이 많기 때문에 대부분 '보통' 혹은 '높음' 수준에서 결정됩니다.
5. 행정적 처리 (대가산정 시)
국가 사업이나 하도급 계약 변경 시 통계 기능이 추가되었다면, 위 산정 방식에 따라 증액된 FP를 산출하고 이를 근거로 계약 금액 조정을 요청해야 합니다