1 功能点估算法是软件项目管理众多知识中比较有技术含量的一个。在软件项目管理中项目 计划制定的优劣直接关系到项目的成败,项目计划中对项目范围的估算又尤为重要。如果项目负责人对项目的规模没有一个比较客观的认识,没有对工作量、所需资 源、完工时间等因素进行估算,那么项目计划也就没有存在的意义。 功能点估算法的特点 项目范围的估算在CMMI 的“MA”度量分析管理和“PP”项目计划中均有涉及。对软件项目范围的估算有很多种方法,常见的是LOC 代码行和 FP 功能点法。它们之间的区别和关系如下: • 功能点估算法常用在项目开始或项目需求基本明确时使用,这时进行估算其结果的准确性比较高。假如这个时候使用 LOC 代码行估算法,则误差会比较大。 • 使用功能点估算法无需懂得软件使用何种开发技术。LOC 代码行估算法则与软件开发技术密切相关。 • 功能点估算法是以用户为角度进行估算,LOC 代码行估算法则是以技术为角度进行估算。 • 通过一些行业标准或企业自身度量的分析,功能点估算法是可以转换为LOC 代码行的。 在项目刚开始的时候进行功能点估算可以对项目的范围进行预测。在项目开发的过程中由于 需求的变 更 和细 化 可能会导 致 项目范围的蔓 延 ,计算出 来 的结果会与当 初 估计的不 同 。因此 ,在项目结束 时还 需要对项目的范围情 况 重新进行估算,这个时候估算的结果才 能最 准确反 映 项目的规模。 功能点分析的步 骤 本文 将 以国 际 标准 IFPUG( International Function Point Users Group)组 织 提 供 的功能点估算法V4.1.1 为基础 进行讲 解 。如下图 所示 ,首 先 大家 应 该了 解 功能点估算法的使用步 骤 。 图 1 功能点估算法的步 骤 2 具体步骤包括: 1. 识别功能点的类型。 2. 识别待估算应用程序的边界和范围。 3. 计算数据类型功能点所提供的未调整的功能点数量。 4. 计算人机交互功能所提供的未调整的功能点数量。 5. 确定调整因子。 6. 计算调整后的功能点数量。 识别项目的类型 国际IFPUG 组织将软件项目分为三类,功能点估算法适用于任何一类项目: • 新开发项目 • 二次开发的项目 • 功能增强的项目 识别项目的范围和边界 使用UML 的“UseCase”用例图是以用户角度进行识别项目范围和边界的最好方法,在画用例图时就必须明确系统的边界。通过系统的边界,我们可以知道 哪些功...