Improved Function Point Measurement Model for Software Size Estimation

Yong Woo, Doug Je Park, Jin Hyeong Jeong, Chang Kyung Sung · 2009

A software size estimation has to be analyzed in the beginning of the software life-cycle and helpful to the prediction of its size and cost. The software cost has been calculated by estimating software size from the user's point of view since the function point method based on international standards was introduced for the estimation of software size in 2004. However, the current function point method is not easy to be exploited for unfamiliar user, and has a problem that it cannot estimate the proper size for software such as engineering software, scientific calculations and simulation with complicated internal computational logic. This paper presents an improved model which can simplify the existing function point measurement procedure, and perform the estimation of software size in easy and fast way at the initial stage of project. Moreover, it presents a mathematical weighted value calculation model which can solve the problem of the fixed complexity weighted value and reflect the characteristics of organization as its data is pilled up. Our evaluation shows that the presented model has advantage that it can measure the size more rapidly than the existing FPA methods and has more correlation with LOC. ☞ keyword : Software Size Estimation, FPA, 기능점수 측정 모델 * 준 회 원 : 고려대학교 대학원 전자전기공학과(공학석사) [email protected] ** 정 회 원 : 한전KDN [email protected] *** 준 회 원 : 고려대학교 대학원 전자전기공학과(공학석사) [email protected] **** 정 회 원 : 고려대학교 전자공학과 정교수 [email protected] [2009/01/07 투고 2009/01/23 심사 2009/02/16 심사완료] ☆ 이 논문은 서울시 연구 비즈니스 개발 프로그램, 정보통신 연구진흥원 ITRC 지원 프로그램, 고려대학교 BK21사업단 지원에 의한 연구이었음(This work was supported by the 1. 서 론 소프트웨어 규모 예측은 프로젝트 초반에 수행 되어 해당 프로젝트의 비용, 기간, 자원 등의 결정 에 영향을 미치며 정확한 규모 예측은 고품질의 소프트웨어 구현과 성공적인 프로젝트 완료를 위 한 선행 과제이다. 소프트웨어 규모를 추정하는 기법으로 가장 널리 사용되는 방법은 프로그램 Seoul Research and Business Development Program of Seoul, Korea, the ITRC support program of IITA, a Brain Korea 21 project and a grant of Korea University) 소프트웨어 규모 산정을 위한 개선된 기능 점수 측정 모델 116 2009. 8 라인 수(Line Of Code, 이하 LOC) 방식과 FSM(Functional Size Measurement) 방식이 있다. LOC 방식은 해당 소프트웨어의 프로그램 라 인 수를 측정하는 방식으로 개발 규모를 산정하 는 데 그 의미가 명확하여 널리 쓰이고 있다. 하 지만 개발 초기 단계에서의 프로그램 라인 수를 산정할 수 없는 것과 객체지향 방법론, CBD 방법 론 등 진보된 개발 방법론과 개발자의 능력 등 환 경에 따라 결과가 달라지는 단점을 가지고 있다. FSM 방식은 사용자 관점에서 소프트웨어가 제 공하는 기능을 분석하고 이를 정량화하여 규모를 측정하는 방식이다. 1970년대 말 IBM의 Allan J. Albrecht에 의해 최초로 고안된 기능점수 분석 (Function Point Analysis, 이하 FPA)방식은 FSM 방 식의 모태이며 개발이 완료된 후 측정 가능한 물 리적인 크기 대신 초기 단계에서 고객이 요구하 는 시스템의 기능을 크기로 해당 소프트웨어의 규모를 측정하는 방식이다[1]. 현재 FSM 방식은 국제 표준(ISO/IEC 14143) 방식이며 해당 표준을 따르는 방법으로는 FPA, NESMA, MarkII, COSMIC 등이 있다. 전 세계 많은 나라에서 FSM 방식을 통해 소프트웨어의 규모를 산정하고 있으 며 우리나라에서는 2004년 소프트웨어 사업대가 기준에서 소프트웨어 규모 산정 방식을 기존의 본수 방식에서 기능점수 방식으로 전환하였다[2]. FPA 방식 도입 이후 주로 공공사업과 대규모 프로젝트를 시작으로 기능점수 방식을 도입하고 있지만 FPA 측정 방식이 가지고 있는 사용자 주 관적이라는 모호성과 다양한 소프트웨어 기능의 복잡도를 고정된 복잡도 매트릭스로 표현하는 한 계, 기능점수 측정 경험 부족 등으로 활발히 쓰이 지 못하는 실정이다. 본 논문에서는 FPA 방식이 가지고 있는 문제점 을 분석하고 이를 개선할 수 있는 모델을 제시하 여 기존의 FPA 방식보다 효율적이고 효과적인 측 정 방식을 구현한다. 2. 관련 연구 2.1 FPA (Function Point Analysis) FPA 기법은 FSM 기법 가운데 전 세계적으로 가장 널리 쓰이는 기법 중 하나로 1979년 IBM의 Allan Albrecht에 의해 고안되었으며 1984년 ‘Albrecht 1984’로 불리우는 IBM CIS & A Guideline 313, AD/M Productivity Measurement and Estimate Validation를 통해 대중에게 소개되었다 [3]. 이후 IFPUG(International Function Point Users Group)에 의해 개선되며 2002년 조정인자를 제외 한 4.1버전이 ISO/IEC 표준 규격을 획득하였으며 2004년 CPM(Counting Practice Manual) 4.2 버전이 발간되었다[4]. 기능점수 분석은 사용자 관점에서 의 소프트웨어 개발 규모를 측정하기 위한 표준 기법으로 논리적 설계에 기초하여 사용자에게 제 공되는 소프트웨어 기능들을 정량적으로 측정하 는 것으로서 다음과 같은 목적을 가지고 있다[5]. 1 사용자가 요구하여 제공 받는 기능들을 측정 2 구현 기술과는 무관하게 소프트웨어 개발 및 유지보수 규모를 측정 기능점수 분석 기법은 사용자 관점에서 규모를 산정하기 때문에 기존의 LOC나 경험치에 의한 규모 추정 방식에서는 기대할 수 없었던 많은 장 점을 가지고 있다. 예를 들어 소프트웨어 패키지 도입 시 해당 제품의 물리적 크기나 내부적 구현 을 고려하지 않고 오직 사용자에게 유용한 기능 만을 식별하기 때문에 사용자 입장에서는 일관된 도입 기준을 가지는 셈이다. IFPUG의 CPM 4.2는 기능점수 분석의 용도를 다음과 같이 기술하고 있다[5]. 1 패키지의 모든 기능을 측정함으로써, 구매 한 애플리케이션 패키지의 규모를 결정하는 도구 2 사용자의 요구를 만족시키는 특정 기능을 소프트웨어 규모 산정을 위한 개선된 기능 점수 측정 모델 한국 인터넷 정보학회 (10권4호) 117 측정함으로써, 애플리케이션 패키지가 사용 자 조직에 유익한지의 결정을 돕는 도구 3 품질과 생산성 분석을 돕기 위해 소프트웨 어 제품 단위를 측정하는 도구 4 소프트웨어 개발 및 유지보수에 필요한 비 용과 자원을 측정하기 위한 도구 5 소프트웨어 비교를 위한 정규화 요소 위와 같은 이점과 더불어 전 세계적으로 표준 이 되는 측정 도구를 사용함으로써 유용한 통계 자료와 측정 데이터 비교 등 소프트웨어 생산성 및 품질 향상에 많은 도움을 받을 수 있다. 기능점수 측정 절차는 그림 1과 같이 7 단계를 거쳐 이루어진다.

Read the paper · More papers on PaperTik