你能详细解释一下功能点分析法吗？
功能点分析法是一种使用功能点为单位测量软件功能规模的度量方法。IBM的工程师AllanAlbrecht在1984年第一个公开发布了用于软件规模度量的功能点分析方法。
根据Daich和Kitchen-ham提出的分类方法，功能点分析方法是一种分解类的规模度量方法，即把复杂系统分解子系统进行评估的方法。功能点分析方法基于软件文档（需求规格说明书、设计文档等）的功能性需求进行度量，其结果以功能点数的形式表征软件的功能规模。早期的功能点分析方法中，为了使估算结果更为准确，常使用调整因子对分析结果进行调整，这些调整因子涵盖了影响项目规模的技术和环境因素。由于调整方法过于主观和粗糙，反而影响了估算结果的准确性，因此ISO标准中定义的功能点分析方法取消了调整步骤，仅包括基于用户功能性需求度量软件系统的功能规模的步骤，所以该方法也被称为功能规模度量方法。#### 功能点分析法的流程

功能点分析方法分析流程主要包括识别（Identification）和映射（Mapping）2个步骤，其中，识别步骤把软件文档描述的功能性需求分析处理为符合分析规则的对象，而映射步骤根据分析规则把实体以及实体之间交互的复杂度映射为功能点数。功能点数是表示分析对象的复杂程度的抽象单位，不具有其他含义。
识别：功能点分析方法识别过程中需要识别的关键元素有对象的边界（Boundary）、过程（Process）和存储数据（StoredData）以及用于交互的基本功能性组件。其中，边界用于限定分析对象的范围；过程用于表示分析对象的内部处理逻辑;存储数据表示对象的数据结构；基本功能性组件用于描述分析对象与外部的交互或者内部的交互。基本功能性组件是构成用户功能性需求的基本单元，只描述项目的用户功能性需求，不需要描述技术需求和质量需求，并且一个基本功能性组件只能被识别为一种基本功能性组件类型。在不同功能点分析方法中，基本功能性组件类型差异较大，因而适用的系统领域不同。
映射：在功能点分析方法映射过程中，基本功能性组件的复杂程度被映射为分析对象的功能点数。映射的基本思想是将基本功能性组件涉及的数据元素以连续或非连续方式映射为功能点数。由于各种功能点分析方法的基本功能性组件定义不同，映射规则也各不相同。在一些较早提出的功能点分析方法中，存储数据的复杂度也被映射为功能点数。#### 功能点分析法的特点

功能点分析方法针对软件系统的功能进行软件规模度量。这使功能点分析方法具有如下的特点：
1.功能点分析方法方便了与客户的交流。这是因为功能点方法针对客户易于理解的功能需求进行度量，只关注用户所要求和得到的功能信息。
2.功能点方法能够在项目早期进行规模度量。这是因为在软件开发过程中，可以从早期的工作产品分析软件的功能规模，如项目需求规格说明书、设计文档等。在项目早期对项目进行度量，并在开发过程中不断地更新数据，有利于实现一种持续一致的管理。
3.功能点分析方法比其他度量方法更为客观。功能点分析方法不考虑编程语言、实现技术或者硬件平台信息。这种区分功能规模与技术因素的机制，使软件规模度量更加客观。#### 功能点分析方法支持工具

功能点分析方法的分析过程比较复杂，度量大型软件的功能规模需要借助工具来进行计算。按照功能的划分，功能点分析方法工具分为辅助计算类和自动计算类。此类工具能够记录分析过程和结果，并且提供图形统计和输出报告功能，帮助分析估算结果，部分工具.还引人了成本怙算模型支持成本、工作量的估算。
1.FunctionPointsWorkbench
FunctionPointsWorkbench是CHARISMATEK公司开发的图形界面的功能点计算工具，支持IFPUG4.0-4.2的分析规则。该工具能够根据定制要求输出功能点分析的文字或者图形报告，并支持简单的成本估算以及批量数据输人以及属性搜索功能，但该工具不支持数据与事务功能的关联设置。FunctionPointsWorkbench是首个经过IFPUG组织认证的工具。
2.SCOPE
SCOPE是TotalMetrics组织开发的功能点估算工具，支持IFPUG4.1-4.2标准规则。具有与FunctionPoints.Workbench一样的图形编辑界面以及属性搜索功能。此外，该工具支持数据与事务功能的关联设置以及强大的版本管理，功能，并且还能够收集项目数据提交到ISBSG数据库进行对比。SCOPE兼容FunctionPointsWorkbench的文件格式，并且也经过了IFPUG组织认证。
3.HierarchyMasterFFP
FFPHierarchyMasterFFP是一个用于嵌人式系统以及实时系统的功能点计算工具，目前支持COSMIC-FFPI和COS-MIC-FFPII两种方法的计算。此外，该工具还提供其他功能点分析方法（如IFPUG方法）的简单计算小工具，能够支持这CH些方法的数据计算。
4.CostXpert
CostXpert是COSTXPERTGROUP公司开发的辅助制定项目计划的工具。该工具集成了COCOMO等多种模型提供成本和工作量的估算功能，目前支持MKII和UseCasePoints等方法的计算。
5.Checkpoint/KnowledgePlan
Checkpoint/KnowledgePIan是由SPR公司开发的辅助制定项目计划的工具，支持IFPUG功能点和特征点的计算，并且支持这两种方法计算结果的转换。