初探功能点估算以及功能点估算工具

来源:互联网 发布:金牛行情分析软件 编辑:程序博客网 时间:2024/06/06 11:39

成本估算概述

估算不是精确的科学计算,尤其软件项目更是如此,软件项目中存在太多的不确定性,而且在项目初期,人们对需求和技术的了解还不是很透彻。

项目规模和项目成本

我们从下面几个方面简单来说

  • 什么是项目规模和项目成本?
  • 项目规模的单位是什么?
  • 两者之间的关系?

什么是项目规模?

项目规模通俗而言就是工作量,是从软件项目范围中抽出的软件功能,然后确定每个软件功能所必须执行的一系列软件工程任务。

什么是项目成本?

软件项目成本是指完成软件项目规模相应付出的代价,是待开发的软件项目需要的资金。

项目规模的单位是什么?

  • 项目规模的单位有例如:代码行(Lines of Code)功能点(Function Points)、人天、人月、人年等。
  • 而成本的单位一般为货币单位

两者之间的关系?

一个项目的规模是决定一个项目的成本多少的主要因素。

例如:

一个项目的规模是1000个功能点,这个企业使用某种语言开发一个功能点的成本为200元,那么这个项目的成本是200000元。

一个项目的规模是10人月,企业的人力成本为2万/人月,那么这个项目的成本是200000元。

功能点估算法

基本概念

功能点(Function Point,FP)用系统的功能数量来测量其规模。
计算公式:

FP=UFCTCF

UFC(Unadjusted Function Counting)未调整功能系数

将系统分为5类组件和一些常规系统特性

  1. ILF 内部逻辑文件
    内部逻辑文件是用户可确认的、在应用程序内部维护的、逻辑上相关联的最终用户数据或控制信息,如一个平面文件,或者关系数据库中的一个表。

  2. EIF 外部接口文件
    外部接口文件是受其他程序控制的文件,是用户可以识别的一组逻辑相关数据,这组数据只能被引用。

  3. EI 外部输入
    外部输入是最终用户或者其他程序来增加、删除或改变程序数据的屏幕、表单、对话框或控制信号等。

  4. EO 外部输出
    外部输出是程序生成供最终用户或其他程序使用的屏幕、报表、图表或控制信号等。

  5. EQ 外部查询
    外部查询是输入/输出的组合,其中的一个输入引出一个即时的简单输出。

我们把EI EO EQ称为事务组件

为组件指定级别

  • 对于事务组件:级别取决于更新或引用文件的个数以及数据元素类型的个数。

  • 对于内部逻辑文件和外部接口文件:级别取决于记录元素类型个数以及数据元素类型的个数。

术语解释

  • 数据元素

    数据元素(data element)是计算机科学术语。它是数据的基本单位,数据元素也叫做结点或记录。在计算机程序中通常作为一个整体进行考虑和处理。有时,一个数据元素可由若干个数据项组成,例如,一本书的书目信息为一个数据元素,而书目信息的每一项(如书名、作者名等)为一个数据项。数据项是数据的不可分割的最小单位。

  • 引用文件类型 FTR

    Each internal logical file that an external input maintains is counted as an FTR.
    译:每个外部输入维护的每个内部逻辑文件被计数为一个引用文件类型

  • 数据元素类型 DET

    A DET is a unique user recognizable, non-recursive (non-repetitive) field.
    译:数据元素类型是一个独特的用户识别,非递归(非重复性的)域。

    例如:在计算机程序中通常作为一个整体进行考虑和处理。有时,一个数据元素可由若干个数据项组成,例如,一本书的书目信息为一个数据元素,而书目信息的每一项(如书名、作者名等)为一个数据项。数据项是数据的不可分割的最小单位。

  • 记录文件类型 RET

例子

Imagine storing information contained on a music CD. The music CD contains the following layout, Singer, Group, Producer, Label, Date, and Songs. Of course, there are multiple songs on each CD. For each song, the name of the song, author, and length of song is included.
In this case, there are two Record Elements (RET’s). The CD information and the song information. There are 5 data elements (singer, group, producer, label, date) for the CD RET and there are 3 data elements (song name, author, and length) for the Song RET. Hence in this example, there are 2 record element types and 8 data elements.
In this simple example, songs are a subset of a music CD. They do not exist independent of this relationship. They will be used in conjunction with the music CD information. Hence, forth all Songs are part of the Music CD (all B are A).
Copy and reproduction of this article is permitted if and only if copyright notice appears.
Copyright Longstreet Consulting Inc. 1995 -2003 www.SoftwareMetrics.Com David@SoftwareMetrics.Com Longstreet Consulting Inc. 2207 S. West Walnut St. Blue Springs, MO 64015 (816) 739-4058

TCF(Technical Complexity Factor)技术复杂度因子

计算技术因素对软件规模的综合影响程度。

14个通用系统特性

公式

TCF=0.65+0.01i=114Fi

工具——Function Points Estimator

工具链接:On github:Funciton Points Estimator

具体使用方法请参考用户手册UserManual.pdf

工具中包含了COCOMO II(参数模型估算法)的估算工具

参考文献

[1] 韩万江,姜立新.软件项目管理案例教程[M].北京:机械工业出版社,2015:97-106.

0 0
原创粉丝点击