软件系统工作量估算方法论介绍——功能点分析法

文章介绍了软件规模评估的两种主要方法,基于技术视角和业务视角,重点阐述了业务视角的功能点分析法,包括内部逻辑文件、外部接口文件等五个基本要素,以及快速功能点、初步功能点和标准功能点的计算方法。功能点分析法有助于在项目初期估算工作量、成本和工期,提供了一种与技术无关、用户视角的度量标准。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

众所周知,软件系统的复杂性是相当高的,以下几个场景是比较常见的:
1.作为软件公司,要研发一个新的产品,功能需求大概明确了,需要确定下研发成本、资源需求等。
2.作为企业,实施软件系统,需要与软件厂商商谈具体的工期与费用等。
3.作为软件公司或企业的管理方,需要对多个软件系统进行横向对比、衡量与评价等。
以上几个问题,实际都指向一个核心问题,即如何客观估算与衡量一个软件系统的规模。只有具备了软件规模的基本数据,与之相关的工作量(人天)、工期、报价、项目成本才能计算。

概述

目前评估软件规模的方法主要分为两种:基于技术视角和基于业务视角。
基于技术视角的方法是从开发者角度出发,如:基于软件源代码行、数据库表、函数数量等。
基于业务视角的方法是从用户角度出发,与软件开发技术无关,如:功能点、故事点、用例点、对象点等。

基于技术视角的评估方法更多地局限于软件开发团队内部,由经验丰富的技术人员估算,经常也被称之为专家估算法。这种估算法标准很难量化和达成一致,不同的人,估算出来的结果可能差异很大,局限性比较大。
如果要在业务部门与开发部门、企业与软件厂商等外部组织商定软件开发的工期或费用等关键项目目标,客观上需要从业务视角出发,对软件项目规模进行衡量、一致的评价与估算。而且,在系统初始阶段,用户功能需求是唯一真正可以得到的信息。

基于业务视角来评估软件规模,国际上有一套方法论,称之为功能点分析法。该方法论内容不少,本篇对该方法论做一下大概介绍,点到即止,如感兴趣建议自行深入了解。

简介

功能点分析法度量的是软件的规模,主要从逻辑设计的角度出发对提供给客户的功能进行量化。
功能点分析方法的主要目标是度量用户要求和能够接收到的功能,并提供一种与具体实施方法和技术无关的、对软件开发和维护进行度量的手段。
此外,功能点分析方法还是一种相对来说比较简单的对规模进行度量的手段;在不同的项目和组织之间能够保持一致的度量方法;基于数据流,使用行业标准数据,是比较客观的估算,容易得到认同。
功能点分析法,实际不只一种,用的比较多的是国际功能点用户组(IFPUG)的标准功能点分析法,这种方法相对复杂一些。荷兰软件度量协会(NESMA)提供了两种简化后的方法:快速功能点分析法和初步功能点分析法。这三种方法往往结合使用,用在不同的项目阶段。需求分析阶段,使用快速功能点分析法;系统设计阶段,使用初步功能点分析法;系统实施阶段,使用标准功能点分析法。

基本概念

功能点分析法将软件的功能分为五个基本要素:
内部逻辑文件(Internal Logical Files,简称内部文件ILF)
外部接口文件(External Int

1. 功能点分析法概论 1.1 功能点分析方法的目标: 1. 功能点方法的收益. 1.3. 功能点分析法的步骤. 1.3.1. 决定分析的类型 1.3. 识别分析范围和应用边界 1.3.3. 确定未经调整的功能点数 (Unadjusted Function Point Count -- UFPC) . 1.3.3.1 数据功能的计数 1.3.3 交易功能的计数 1.3.3.4. 确定调整系数 1.3.3.5.计算经过调整的功能点 2. 分析流程. 2.1 决定分析的类型. 2.1.1 定义:功能点分析的类型. 2 识别分析范围和应用边界 2.1 识别分析范围和应用边界中的定义 2 定义应用边界. 2.3 分析范围以及应用边界的规则和流程. 2.3.1 边界识别的规则. 2.3 分析范围和应用边界流程: . 2.3.3 边界识别的一些技巧: 2.4 计数数据功能 2.4.1 定义: 2.4 计数流程概述. 2.4.3 ILF 识别规则. 2.4.4 EIF 识别规则. 2.4.5 复杂度和贡献的定义和规则. 2.4.6 ILF/EIF 计数流程. 2.4.7 复杂度和贡献确定流程 2.4.8 数据功能计数技巧. 2.5 计数交易功能 2.5.1 定义 2.5.1.1 基本定义. 2.5.1 交易功能的总结: 2.5.1.3 相关术语的定义 2.5.1.4 交易功能执行的逻辑处理总结 2.5 EI,EO,EQ 计数规则 2.5.1 交易功能计数的概要流程 2.5 基本处理的识别规则 2.5.3 交易功能计数规则 2.5.3.1 EI 的主要目的描述:. 2.5.3 EI 的计数规则: 2.5.3.3 EO 和EQ 的共同主要目的描述: 2.5.3.4 EO/EQ 共享的计数规则:. 2.5.3.5 EO 计数的补充规则:. 2.5.3.6 EQ 计数的补充规则:. 2.5.3 复杂度和贡献的定义和规则. 2.5.3.1 EI 的复杂度和贡献规则 2.5.3.1.1 EI 的引用文件类型(FTR)计数规则 2.5.3.1 EI 的数据元素类型(DET)计数规则. 2.5.3 EO/EQ 的复杂度和贡献规则 2.3.5.1 EO/EQ 共享的引用文件类型(FTR)计数规则 2.3.5 EO 特定的引用文件类型(FTR)计数规则 2.3.5.3 EO/EQ 共享的数据元素类型(DET)计数规则. 2.5.4 EI,EO,EQ 的计数流程 2.5.5 复杂度和贡献确定流程. 2.5.6 交易功能计数技巧. 2.6 决定调整系数 2.6.1 调整系数的决定. 2.6 确定VAF 的流程 2.6.3 通用系统特性及其影响程度的评定. 2.6.3.1 数据通讯. 2.6.3 分布式数据处理. 2.6.3.3 性能. 2.6.3.4 使用强度高的配置. 2.6.3.5 交易速度 2.6.3.6 在线数据输入 2.6.3.7 最终用户的效率. 2.6.3.8 在线更新 2.6.3.9 复杂的处理 2.6.3.10 可重用性 2.6.3.11 安装的简易性 2.6.3.12 运行的简易性 2.6.3.13 多场地 2.6.3.14 允许变更 2.7 计算调整功能点 2.7.1 开发项目功能点计算. 2.7 升级项目功能点计算. 2.7.3 应用功能点计算. 附录A : 未经调整的功能点计算表. 附录B:功能点计数中的规则表. 附录C: 词汇表:.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

行者无疆1982

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值