功能点估算是一种专业的方法论,用于软件开发成本和时间预估,它从用户视角出发,侧重于衡量软件中涉及的数据处理和交互功能。这种方法适用于以数据和业务流程为中心的项目,如电子政务、银行和电信的用户管理系统,其中功能的数量是主要的成本驱动因素。功能点(FP)计数主要包括以下五个类别:
1. **内部逻辑文件 (ILF)**: 这是系统内部逻辑上的一组数据,用户能够理解和操作。一个ILF通常涉及大约6种操作,且至少包含写操作。ILF的识别和合并要考虑其对业务需求的重要性,是否值得投入资源进行维护。
2. **外部接口文件 (EIF)**: 这些是系统外部的数据交互,比如数据引用,不直接参与业务流程,但对系统功能至关重要。一个EIF通常关联一个EO(外部输出)和一个EQ(外部查询)。
3. **外部输入 (EI)**: 代表系统接收的外部数据,如用户输入或请求。
4. **外部输出 (EO)**: 是系统产生的对外响应,如报告或反馈。
5. **外部查询 (EQ)**: 不涉及计算的直接输出,如数据检索、排序或聚集。
功能点估算的公式可以表示为:软件规模 = 10 * ILF + 7 * EIF + 4 * EI + 5 * EO + 4 * EQ。这个公式表明,ILF的权重最高,因为它反映了系统的复杂性和核心业务处理能力。
简化估算则更侧重于快速预估,仅考虑逻辑文件,不涉及过程细节,简化公式为:简化估算规模 = 35 * ILF + 15 * EIF。这个模型假设ILF和EIF的数量可以直接反映出系统的规模,适用于项目初期的概算或者需求文档已详细的情况。
对于不同的应用类型,如创意软件或对性能和质量有特殊要求的软件,功能点估算可能不太适用,因为这类软件可能更依赖于非结构化的数据处理和创新特性。
在实践中,功能点估算涉及到理解业务数据的分类,如用户核心数据、业务规则和编码数据。通过阅读并分析实际项目的文件,如甲方协同办公系统的需求说明,可以帮助确定各个功能点的数量,从而准确进行估算。理解文件之间的区别和联系对于确保估算的精确性至关重要。