기능점수 (Function Point) 의 정의
기능점수(Function Foint)의 가장 큰 특징은 소프트웨어의 규모를 산정할 때 개발자 즉 공급자 입장이
아닌 사용자 입장에서 그 규모를 산정한다는 점이다.
즉 사용자의 업무적 요구사항에 대해 소프트웨어가 제공하는 소프트웨어의 기능을 논리적 관점에서
식별하여 사용자 관점에서 소프트웨어의 규모를 측정하는 방법.
쉽계 말하면 화면 단위로 각 화면에서 제공하는 기능 (조회,입력,저장,수정...)에 대해서 기능 유형별
수량과 성능 및 품질요인들의 영향도를 고려하여 소프트웨어의 규모를 측정하는 방법
기능점수 (Function Point) 의 특징
① 소프트웨어가 사용자에게 제공하는 기능적 요구사항을 측정한다.
② 기능점수는 “소프트웨어가 어떻게 구현되었는지”의 공급자 관점이 아니라 “사용자가 어떠한 기능을
요구했는지”의 수요자 관점에서 측정
③ 개발 이전에 업무량을 측정 가능
④ 개발은 물론 기획, 운영 등 전 수명주기에 걸쳐서 측정 가능
⑤ 소프트웨어 개발 및 유지관리의 업무량을 조직, 구현기술, 공수, 적용방법론, 물리적 또는 기술적
컴포넌트와 무관하게 일관성 있게 측정 가능
기능점수 산정방식의 종류
구분 | 정통법 | 간이법 |
개념 | 소프트웨어의 기능을 도출하고, 각 기능의 유 형별 복잡도를 고려하여 정확한 기능점수 산 정을 필요로 할 경우 사용되는 일반적인 방법 |
- 기능의 복잡도를 판단하기 어려운 경우 적 용하는 방법 - 계산 절차는 정통법과 동일하나 기능점수 산정 시 기능 유형별 평균 복잡도를 적용하여 기능 점수를 산출 |
장점 | 규모측정 정확도가 간이법 대비 상대적으로 높음 |
기능점수 측정 소요시간 및 측정 지식 습득시 간이 정통법 대비 상대적으로 짧음 |
단점 | 기능점수 측정 소요시간 및 측정 지식 습득시 간이 간이법 대비 상대적으로 길다. |
규모측정 정확도가 정통법 대비 상대적으로 낮음 |
적용시점 | - 개발요건 및 요건별 상세설계정보가 제공되 는 시점 즉, 설계공정 이후부터 폐기까지 적용 - 통상적으로 소프트웨어 개발 공정 상 설계 공정 후 사용 |
- 개발요건만 정의되면 예산수립, 사업발주, 개발, 운영 및 유지보수, 폐기까지 모든 단계 에서 적용 가능 - 통상적으로 기획 및 발주단계에서의 기능점 수 측정에 사용 |
소프트웨어 개발비의 구성요소
소프트웨어 개발비 산정 시 주요 요소는 = 개발원가 + 직접경비 + 이윤 이다.
① 개발원가는 소프트웨어 개발규모를 우선 산정 한 후 이를 토대ㅗ 보정전 개발원가를 계산한다.
그런다음 거기에대가 보정계수를 고려한 개발원가를 산출한다.
② 직접경비는 개발에 직접 투입된 비용들
③ 이윤은 개발원가 의 25% 이내로 한다.
구성요소 | 설명 |
보정 후 개발원가 | ① 규모 ② 연계복잡성 수준 ③ 성능요구 수준 ④ 다중사이트 운영성 ⑤ 보안성 수준 의 5가지 보정계수 각각 산정 - 3단계에서 계산된 보정전 개발원가에 보정계수 값을 모두 곱하여 보정후 개발원가 를 산정 |
이윤 | - 국가를 당사자로 하는 계약에 관한 법률 시행규칙 제8조 제2항 제2호에서는 “제조· 구매(「 소프트웨어산업 진흥법」제22조제1항에 따라 소프트웨어개발을 포함한다)의 이윤율은 100 분의 25를 초과하지 못한다”라고 규정함 - 따라서, 개발원가의 25%를 초과하지 않는 범위에서 이윤을 계산함 |
직접경비 | 직접경비는 해당 소프트웨어 개발사업에 소요되는 직접적인 경비를 의미한다. 직접경비에 포함되는 항목들 도출함 - 직접경비의 계산시에는 정확한 내역을 제시하여야 함 |
5가지 보정원가 계수
구분 | 보정원가 계수 | 설명 |
개발규모 | ①규모 보정계수 | - 소프트웨어 개발사업 규모가 커지면 생산성은 증가하고, 일정 규모 이상이 되면 생산성이 다시 감소하는 추세를 보임 - 사업규모의 증가에 따른 생산성 변화에 대한 보정이 필요하며 이를 감안 하는 계수 - 산정방법 = 0.4057 x (loge(기능점수) - 7.1978)2 + 0.8878 - 만약 한 사업에서 여러 개의 애플리케이션을 통합 구축하는 경우에는 통합 규모를 대상으로 규모보정계수를 적용 |
어플리케이션 복잡도 | ②연계복잡성 수준 | - 대상 애플리케이션의 연계 기관수가 증가함에 따른 프로젝트 관리의 복잡 성을 의미 - 연계 기관수가 많을수록 높은 값을 가짐 |
③성능요구 수준 | - 응답시간 또는 처리율에 대한 사용자 요구수준의 복잡성을 의미 - 성능요구 수준이 복잡할수록 높은 값을 가짐 |
|
④다중사이트 운영성 | - 다중사이트에서의 운영 여부와 플랫폼의 상이한 정도를 의미 - 다중사이트에서의 운영이 요구되고, 상이한 하드웨어와 소프트웨어 환경 을 지원하도록 개발되는 요구 정도가 복잡할수록 높은 값을 가짐 |
|
⑤보안성 수준 | - 시큐어코딩, 웹취약점점검, 암호화점검, 개인정보보호 등 보안성에 대한 요구수준을 의미함 - 보안성에 대한 요구정도가 복잡할수록 높은 값을 가짐 |
'소프트웨어공학' 카테고리의 다른 글
기능점수 (Function Point) - 3탄 (0) | 2019.10.04 |
---|---|
기능점수 (Function Point) - 2탄 (0) | 2019.10.03 |
SW 공학 - 소프트웨어 규모 산정 (0) | 2019.10.01 |
SW 변화관리와 유지관리 - Lehman의 SW 변화 원리 (0) | 2019.09.18 |
COCOMO II (0) | 2019.09.02 |