




免费预览已结束,剩余29页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件系统开发成本估算法软件系统开发成本估算法 功能点估算含例子功能点估算含例子 实用的软件系统开发成本估算法 1 目录目录 一 一 功能点估算法概念功能点估算法概念 1 1 二 二 功能点估算法的特点功能点估算法的特点 1 1 三 三 功能点分析的步骤 含例子 功能点分析的步骤 含例子 2 2 3 1 识别项目的类型 2 3 2 识别项目的范围和边界 3 3 3 按不同功能点计算 3 3 3 1 功能点估算分类 3 3 3 2 识别功能点的重要原则 4 3 3 3 内部逻辑文件与外部接口文件 4 3 3 4 事务类型功能点的计算规则 9 3 3 5 计算调整因子 14 3 3 6 计算调整后的功能点个数 25 3 4 总结 33 实用的软件系统开发成本估算法 1 一 功能点估算法概念功能点估算法概念 功能点估算法是软件项目管理众多方法中比较有技术含量的一个 也是最 实用的一个 在软件项目管理中项目计划制定的优劣 合理直接关系到项目的 成败 项目计划中对项目范围的估算又尤为重要 如果项目负责人对项目的规 模没有一个比较客观的认识 没有对工作量 所需资 源 完工时间等因素进行 估算 那么项目计划也就没有存在的意义 二 功能点估算法的特点功能点估算法的特点 项目范围的估算在 CMMI 的 MA 度量分析管理和 PP 项目计划中均有涉 及 对软件项目范围的估算有很多种方法 常见的是 LOC 代码行和 FP 功能点法 它们之间的区别和关系如下 功能点估算法常用在项目开始或项目需求基本明确时使用 这时进行估 算其结果的准确性比较高 假如这个时候使用 LOC 代码行估算法 则误 差会比较大 使用功能点估算法无需懂得软件使用何种开发技术 LOC 代码行估算法 则与软件开发技术密切相关 功能点估算法是以用户为角度进行估算 LOC 代码行估算法则是以技术 为角度进行估算 通过一些行业标准或企业自身度量的分析 功能点估算法是可以转换为 LOC 代码行的 在项目刚开始的时候进行功能点估算可以对项目的范围进行预测 在项目 开发的过程中由于需求的变更和细化可能会导致项目范围的蔓延 计算出来的 结果会与当初 估计的不同 因此 在项目结束时还需要对项目的范围情况重新 进行估算 这个时候估算的结果才能最准确反映项目的规模 三 功能点分析的步骤 含例子 功能点分析的步骤 含例子 本文将以国际标准 IFPUG International Function Point Users Group 组织提供的功能点估算法 V4 1 1 为基础进行讲解 如下图所示 首先大家应该 了解功能点估算法的使用步骤 实用的软件系统开发成本估算法 2 图 1 功能点估算法的步骤 具体步骤包括 1 识别功能点的类型 2 识别待估算应用程序的边界和范围 3 计算数据类型功能点所提供的未调整的功能点数量 4 计算人机交互功能所提供的未调整的功能点数量 5 确定调整因子 6 计算调整后的功能点数量 3 1 识别项目的类型识别项目的类型 国际 IFPUG 组织将软件项目分为三类 功能点估算法适用于任何一类项目 新开发项目 二次开发的项目 功能增强的项目 3 2 识别项目的范围和边界识别项目的范围和边界 使用 UML 的 UseCase 用例图是以用户角度进行识别项目范围和边界的 最好方法 在画用例图时就必须明确系统的边界 通过系统的边界 我们可以 知道 哪些功能要计算功能点 哪些功能点是外部系统负责计算的 以图 2 为例 一个外贸订单系统只包含录入 修改 删除 查询和统计订单的功能 而汇率 实用的软件系统开发成本估算法 3 查询转换服 务是不属于该系统的 应用程序边界的识别规则大家一定要牢记 不能从技术角度去思考 必须从 用户角度来定义 如果项目牵扯到多个系统 那么必须将这多个系统的边界全 部描述清楚 图 2 外贸订单系统用例图 3 3 按不同功能点计算按不同功能点计算 3 3 1功能点估算分类功能点估算分类 功能点估算法将功能点分为以下 5 类 1 ILF Internal Logical File 内部逻辑文件 2 EIF External Interface File 外部接口文件 3 EI External Input 外部输入 4 EO External Output 外部输出 5 EQ External Inquiry 外部查询 实用的软件系统开发成本估算法 4 其中 ILF 和 EIF 属于数据类型的功能点 EI EO EQ 属于人机交互事务 类型的功能点 以外贸订单系统项目为例 录入订单 修改订单 删除订单是 EI 查询订单是 EO 统计订单是 EQ 汇率查询转换系统为 EIF 订单和客户是 ILF 3 3 2识别功能点的重要原则识别功能点的重要原则 ILF EIF 要与 EI EO EQ 分开计算 对 ILF 和 EIF 复杂度的计算可以简单 理解为对数据库复杂度的计算 对 EI EO EQ 复杂度的计算可以理 解为对程 序开发复杂度的计算 一般软件项目都是由数据和程序构成的 因此计算 ILF EIF 和计算 EI EO EQ 之间没有任何关系 3 3 3内部逻辑文件与外部接口文件内部逻辑文件与外部接口文件 ILFILF 内部逻辑文件内部逻辑文件 内部逻辑文件是指一组以用户角度识别的 在应用程序边界内且被维护的逻 辑相关数据或控制信息 ILF 的主要目的是通过应用程序的一个或多个基本处 理过程来维护数据 EIFEIF 外部接口文件外部接口文件 外部接口文件是指一组在应用程序边界内被查询 但在其他应用程序中被维 护的 以用户角度来识别的 逻辑上相关的数据 因此 一个应用程序中的 EIF 必然是 其他应用程序中的 ILF EIF 的主要目的是为边界内的应用程序提 供一个或多个通过基础操作过程来引用的一组数据或信息 EIF 所遵循的规则 从用户角度出发识别的一组逻辑数据 这组数据是在应用程序外部 并被应用程序引用的 实用的软件系统开发成本估算法 5 计算功能点的这个应用程序并不维护该 EIF 这组数据是作为另一个应用程序中的 ILF 被维护的 ILFILF 和和 EIFEIF 的复杂性计算的复杂性计算 ILF 和 EIF 的复杂性是取决于 RET Record element type 和 DET Data element type 的数量 DET 是一个以用户角度识别的 非重复的 有业务逻辑意义的字段 DET 计算的规则如下 通过一个基本处理过程的执行 对 ILF 进行维护 或从 ILF EIF 中返回 一个特定的 用户可识别的 非重复的字段 那么每个这样的字段算一 个 DET 例如 添加一个外贸订单时需要保存 订单号码 订单日期 地址 邮编 那么对于 ILF 订单来说它的 DET 就是 4 个 再如 保存订单时还会保存订单的明细 订单的明细往往作为一个子表进 行保存 那么 订单号码 在主表和子表中都同时存在 主外键 但以用户 角度来识别时 存盘操作是一个最小的单位 那么订单号码只能算做一个 DET 当两个应用程序维护和 或引用相同的 ILF EIF 但是每个应用程序分别 维护 引用它们相应的 DET 时 这些 DET 在这两个应用程序的维护 引用 中将单独计算 例如 一个应用程序的两个 Elementary Process 基本处理过程都 需要使用到 地址 的信息 地址信息又可以细分为 国家 城市 街道 邮 编 那么对于其中一个基本处理过程来说 它将整 个地址信息作为一个整体 进行处理 只算一个 DET 另外一个基本处理过程使用每个地址的详细信息 那么 DET 就是 4 个 RET 计算的规则如下 RET 是指一个 EIF ILF 中用户可以识别的 DET 的集合 如果把 DET 简单理 解为字段的话 那 RET 就可以简单理解为数据库中的表 RET 在 ILF EIF 中分 实用的软件系统开发成本估算法 6 为两种类型 可选的 Optional 和必选的 Mandatory 计算 RET 的规则为 以下两点 在一个 ILF EIF 中每一个可选或必选的集合都被计算为一个 RET 如果一个 ILF EIF 没有子集合 则 ILF EIF 被计算为一个 RET 例如 在外贸订单系统中添加一个订单时会保存 订单信息 客户的 ID 部门的 ID 那么订单系统 ILF 中的 RET 为 1 订单信息 必选的 2 客户信息 必选的 3 部门信息 可选的 因此 ILF 中 RET 的个数为 3 个 ILF EIF 复杂度的矩阵如下 1 19 个 DET20 50 个 DET超过 51 个 DET 1 个 RET低低中等 2 5 个 RET低中等高 6 个以上 RET中等高高 软件项目管理中的功能点估算法将功能点分为 5 类 ILF Internal Logical File 内部逻辑文件 EIF External Interface File 外部接口 文件 EI External Input 外部输入 EO External Output 外部输出 和 EQ External Inquiry 外部查询 其中 ILF 和 EIF 属于数据类型的功 能点 EI EO EQ 属于事务类型的功能点 EIEI EOEO EQEQ 的比较的比较 实用的软件系统开发成本估算法 7 EI 是处理来自应用程序边界外部的一组数据输入 它的主要目的是维 护一个或多个 ILF 以及 或者更改系统的行为 EO 是输送数据到应用程序边界外部的过程 它的主要目的是通过逻辑处理 过程向用户呈现信息 该处理过程必须包含至少一个数学公式或计算方法必须包含至少一个数学公式或计算方法 或 生成派生数据 一个 EO 也可以维护一个或多个 ILF 并 或改变系统行为 EQ 是向应用程序边界外发送数据基本处理的过程 其主要目的是从 ILF 或 EIF 中通过恢复数据信息来向用户呈现 该处理逻辑不包括任何数学公式不包括任何数学公式或计 算方法 也不会生成任何派生数据 EQ 不会维护任何一个 ILF 也不会改变应 用程序的系统行为 EO 和 EQ 的共同点是 其主要目的都是通过基本操作过程展现数据给用户 EI EO EQ 的比较见下表 表 1 EI EO EQ 的主要目的 目的 EIEOEQ 改变应用程序的属性或行为主要目的次要目的不允许 维护一个或多个 ILF主要目的次要目的不允许 显示信息给用户次要目的主要目的主要目的 表 2 EI EO EQ 的主要行为 实用的软件系统开发成本估算法 8 行为 EIEOEQ 数学公式或计算被执行可以 至少选择一 次 不可 以 至少一个 ILF 被修改 至少选择一 次 至少选择一 次 不可 以 至少一个 ILF 或 EIF 被引用可选可选必选 数据被重新恢复可选可选必选 派生数据被创建可选 至少选择一 次 可选 应用程序的行为或属性被修改 至少选择一 次 至少选择一 次 可选 准备或呈现信息到系统边界外可选必选必选 接受进入系统边界内的数据的能力必须可选可选 3 3 4事务类型功能点的计算规则事务类型功能点的计算规则 在 IFPUG 的定义中有一个重要的单词 Elementary Process 基本处 理过程 该过程对用户来说是一个有意义的 最小的活动单位 并且是一个自 实用的软件系统开发成本估算法 9 包含的活动 功能点的分类 EI EO EQ 的识别都 是基于 Elementary Process 基本处理过程的 EIEI 的计算规则的计算规则 1 从应用边界之外收到数据 2 如果进入系统边界内的数据不是一个改变系统行为的控制信息 那么至 少一个 ILF 应该被改变 3 对于已识别的处理过程 至少满足下面三个条件之一 该基本处理过程的逻辑与本应用系统中其它基本处理过程的逻辑不同 该基本处理过程应该具有唯一性 例如 不能存在两个完全一模一样的 存盘操作 在应用程序边界内 该基本处理过程所使用的这组数据应该与其他基本 处理过程所使用的数据不同 在应用程序边界内 基本处理过程所引用的 ILF 或 EIF 是不同于其它基 本处理过程所引用的 ILF 或 EIF EOEO 和和 EQEQ 通用计算规则通用计算规则 必须全部满足以下内容才能被视为一个 EO 或 EQ 1 从外部发送数据或控制信息到应用程序边界内 2 为了识别这个过程 以下三点必须满足一个 该基本处理过程逻辑上必须是唯一的 该唯一性是指其在应用程序中与 其他 EO 或 EQ 在逻辑性上保持唯一 该基本处理过程所使用的数据应该是唯一的 该唯一性是指其在应用程 序中与其他 EO 或 EQ 所使用的数据不同 该基本处理过程所引用的 ILF 或 EIF 文件应该是唯一的 该唯一性是指 其在应用程序中与其他 EO 或 EQ 所引用的 ILF 或 EIF 文件不同 EOEO 补充的计算规则补充的计算规则 除了要满足上面的通用规则外 还要满足下面其中一条 在基本操作过程中至少包含一个数学公式或计算方法 在基本操作过程中要产生派生数据 在基本操作过程中至少要维护一个 ILF 在基本操作过程中要改变系统的行为 实用的软件系统开发成本估算法 10 EQEQ 补充的计算规则补充的计算规则 除了要满足上面的通用规则外 还要满足下面其中一条 基本操作过程从 ILF 或 EIF 中获取数据 基本操作过程不能包含数学公式或计算方法 基本操作过程不能生成派生数据 基本操作过程不能维护任何一个 ILF 基本操作过程不能改变系统的行为 EIEI EQEQ 和和 EOEO 的技术复杂性计算的技术复杂性计算 复杂性取决于 FIRs 和 DETs 的数量 FTR 是被一个事物读取或维护的 ILF 或者是被一个事物读取的 EIF EIEI 中识别中识别 FTRFTR 规则规则 每一个 ILF 应该算做一个 FTR 通过 EI 读取的每个 ILF 或 EIF 都应该计算为一个 FTR 既被 EI 维护又被读取的 ILF 仅计算为一个 FTR EIEI 中识别中识别 DETDET 规则规则 在 EI 的过程中 以用户角度识别的 通过应用系统边界输入系统内部的 非重复字段 应算作一个 DET 在 EI 的过程中 只要没有通过系统边界输入 即使它存在于系统内的一 个 ILF 中 也不能算为一个 DET 例如 外贸订单系统中 订单的金额是被单价和数量自动计算的 那 么金额是没有通过系统边界输入的 因此在 EI 操作中就不应该算做一个 DET 在应用程序的 EI 操作时 系统提示的错误信息或完成操作的信息 应该 被分别计算为一个 DET 例如 在网站注册用户信息时 由于输入错误系统会显示提示信息 那么这些提示信息应该被逐个计算为一个 DET 再如 当 EI 操作完成时系统提示并显示出来的信息 应该被计算为一个 DET 实用的软件系统开发成本估算法 11 在 EI 操作中 如果遇到主外键的字段 应该算作一个 DET EOEO 和和 EQEQ 计算计算 FTRFTR 的规则的规则 1 通用规则 每个在 EO EQ 处理过程中读取的 ILF 和 EIF 算一个 FTR 2 EO 额外的 FTR 计算规则 在 EO 处理过程中每个被维护的 ILF 算一个 FTR 在 EO 处理过程中既被读取又被维护的 ILF 算一个 FTR EOEO 和和 EQEQ 计算计算 DETDET 的通用规则的通用规则 用户可识别的非重复字段 进入应用边界并指明处理什么 何时处理或 处理方式 并且由 EO EQ 返回或产生 那么这样的每个字段算一个 DET 例如 报表中的每个字段都是一个 DET 在应用边界内以用户角度识别的非重复字段算一个 DET 例如 在报表中起到解释或备注作用的文字信息 不管是一个字 一 个词或一段话 都当作一个 DET 再如 某种编号或日期 即使它被物理存储在不同字段中 但从用户角度 看是一个整体的信息 因此被算作一个 DET 还有 在饼图中百分比和分类算作不同的 DET 在 EO 或 EQ 操作中 如果对系统进行输入或读取操作时 相同的字段只 计算一个 DET 例如 在报表查询时 输入的字段在报表上也有显示 那么将算作同 一个 DET 在应用程序的 EO 或 EQ 操作时 系统提示的错误信息或完成操作的信息 应该被计算为 DET 实用的软件系统开发成本估算法 12 例如 用户查询一个列表时被拒绝 那么拒绝的提示信息就算为一个 DET 在 EO 或 EQ 操作中如果遇到主外键的字段 应该算作一个 DET 在 EO 或 EQ 过程中 只要没有通过系统边界输入 就算它存在于系统内 的一个 ILF 中 也不能算为一个 DET 例如 在公司发工资的时候 员工对应的状态信息被更新 但这个状 态信息的更新是没有通过系统边界输入的 因此也不能算做一个 DET 页面的标题等类似信息不计算 DET 系统字段生成的记号不能被算作一个 DET 例如 页码 位置信息 时间 上一页和下一页等信息 都不能算作 一个 DET EI 复杂度计算矩阵 1 4 个 DET5 15 个 DET多于 16 个 DET 0 1 个 FTR低低中等 2 个 FTR低中等高 大于 2 个 FRT中等高高 EO 和 EQ 复杂度计算矩阵 1 5 个 DET6 19 个 DET多于 20 个 DET 0 1 个 FTR低低中等 2 3 个 FTR低中等高 实用的软件系统开发成本估算法 13 多于 4 个 FTR中等高高 未调整前功能点对应矩阵未调整前功能点对应矩阵 EI EO EQ ILF 和 EIF 技术复杂度对应的功能点如下表所示 低一般高 EI346 EO457 EQ346 ILF71015 EIF5710 用功能点估算法计算软件项目功能点时会用到调整因子 或称调整系数 功能点的调整系数是通过通用系统特性及其影响程度来评定的 对每个常规系 统特性的评估由其影响程度 DI 而定 分为 0 5 级 0 毫无影响 1 偶然影响 2 适度影响 3 一般影响 实用的软件系统开发成本估算法 14 4 重要影响 5 强烈影响 然后依次对以下 14 个系统常规特性进行打分 并带入以下计算公式算 出功能点的调整因子 Value Adjustment Factor sum of DI 0 01 0 65 3 3 5计算调整因子计算调整因子 1 1 数据通讯数据通讯 数据通讯指的是应用程序直接与处理器通讯的程度 通常我们都是通过某 种通讯手段来实现在一个应用中所使用的数据或者控制信息 连接到本地控制 器上的终端被认为是通讯设施 协议则指两个系统或设备之间进行通讯时使用 的一种约定 所有的数据通讯链接都需要某种协议 0 应用程序是单纯的批处理或者 PC stand alone 1 应用程序是一种批处理过程 但是包含远程数据的 录入或远程打印 2 应用程序是一种批处理过程 但是包含远程数据的 录入和远程打印 3 应用程序包括在线数据收集或者包括批处理或查询 系统的远程处理的前端应用 4 应用程序不单只是前端应用 但是仅支持一种远程 处理通讯协议 5 应用程序不单只是前端应用 还支持多于一种的远 实用的软件系统开发成本估算法 15 程处理通讯协议 2 2 分布式数据处理分布式数据处理 分布式数据处理是应用在内部组件之间传递信息的程度 这个特性是在应 用边界内体现的 0 应用程序不支持组件之间的数据传输和处理功能 1 应用程序为用户可能进行的处理准备数据 例如使 用电子表格或者数据库等 2 应用程序所准备的数据是为了在系统另外一个组件 上传输和处理 并非为终端用户所处理 3 分布式处理和数据传输是在线的 并且是单向的 4 分布式处理和数据传输是在线的 并且是双向的 5 由系统中最恰当的组件动态地执行处理功能 3 3 性能性能 性能是吞吐量 处理时间等指标对开发的影响 用户所提出的性能要求将 直接影响到系统的设计 实施 安装和支持 0 用户没有提出性能方面的要求 1 用户提出了性能和设计方面的要求 但不需要采取 实用的软件系统开发成本估算法 16 特定措施 2 响应时间和吞吐量在系统峰值时是关键的 但是不 需要采取相应的 CPU 使用方面的特殊设计 处理的最后 期限是在下一个工作日 3 在任何时候响应时间和吞吐量都是关键的 但是不 需要采取相应的 CPU 使用方面的特殊设计 处理的完成 期限比较严格 4 除了上面一项的要求外 由于对需求的要求比较严 格 在设计阶段就要进行性能分析 5 除了上面一项的要求之外 在设计和实施阶段需要 使用性能分析工具来判断性能要求的完成情况 4 4 大业务量配置大业务量配置 大业务量配置是指计算机资源对应用开发的影响程度 大业务量的运行配 置对设计有特殊要求 是必须考虑的一个系统特性 0 没有提出明确的运行方面的限制 1 有运行方面的限制 但是不需要采取特别的措施以 满足运行限制 2 提出了一些安全和时间方面的限制 3 应用程序的某些部分对处理器有特定的要求 实用的软件系统开发成本估算法 17 4 提出的运行限制对应用的中央处理器或者专用处理 器有特殊的要求 5 除上面一项之外 还对应用的分布式组件提出了限 制 5 5 事务处理率事务处理率 事务处理率是业务交易处理速度对系统的设计 实施 安装和支持等的影 响 0 预计不会出现周期性的高峰事务处理期 1 预计会有周期性的高峰事务处理期 例如 每月 每季 每年 2 预计每周都会出现高峰事务处理期 3 预计每天都会出现高峰事务处理期 4 用户在应用程序需求或者服务级别协议中对事务率 要求很高 因此必须在设计阶段进行性能分析 5 用户在应用程序需求或者服务级别协议中对事务率 要求很高 因此必须进行性能分析并在设计 开发和安 装阶段中使用到性能分析工具 6 6 在线数据输入在线数据输入 实用的软件系统开发成本估算法 18 在线数据输入是指数据通过交互的方式输入系统的程度 系统中包括在线 数据输入和控制信息功能 0 所有事务都是批处理的 1 1 7 的事务是以交互式的方式进行数据录入 2 8 15 的事务是以交互式的方式进行数据录入 3 16 23 的事务是以交互式的方式进行数据录入 4 24 30 的事务是以交互式的方式进行数据录入 5 30 以上的事务是以交互式的方式进行数据录入 7 7 最终用户效率最终用户效率 最终用户效率是指对应用的人文因素及使用的便捷程度等的考虑程度 如下功能设计是针对最终用户效率的 页面导航 菜单 在线帮助或文档 光标自动跳转 可以滚动 在线远程打印 预定义的功能键 在线做批量提交任务 光标可以选取界面上的数据 用户使用大量反白显示 重点显示 下划线或其他的标识 在线 copy 用户文档 鼠标拖动功能 弹出窗体 使用最少的界面完成某种商业功能 双语言支持 如果选择了这个就算 4 项 实用的软件系统开发成本估算法 19 语言支持 如果选择了这个就算 6 项 0 以上的一个都不包括 1 包括以上的 1 3 个 2 包括以上的 4 5 个 3 包括以上的 6 个或以上 但是没有用户对于效率的 要求 4 包括以上的 6 个或以上 对用户使用效率有较高要 求 因而必须考虑用户方面的设计 例如 最少击键次 数 尽可能提供默认值 模版的使用 5 包括以上的 6 个或以上 用户对效率的要求使得开 发人员必须使用特定的工具和流程以判定用户对效率的 要求已经被达成 8 8 在线更新在线更新 在线更新是指内部逻辑文件 ILF 被在线更新的程度 应用系统提供在线更 新内部逻辑文件的功能 0 没有在线更新 1 包含 1 3 个控制文件的在线更新 更新的流量低 恢复容易 实用的软件系统开发成本估算法 20 2 包含对 4 个以上控制文件的在线更新 更新的流量 低 恢复容易 3 包含对主要 ILF 的更新 4 除了 3 之外 在设计和实施中要考虑对数据丢失的 防范 5 除了 4 之外 大量的数据恢复工作要考虑成本因素 同时包含了高度自动化的恢复流程 9 9 复杂处理复杂处理 复杂处理描述了逻辑处理对应用开发的影响程度 它包含以下要素 敏感控制 例如特殊的审核过程 和 或程序特定的安全处理 大量的逻辑处理 大量的数学处理 因为例外处理造成的需要重新处理的情况 例如 由 TP 中断 数据值缺 少和验证失败导致的 ATM 事务 多种可能的输入 输出造成的复杂处理 0 上面一个都不满足 1 只满足一个 2 只满足两个 3 满足三个 4 满足四个 实用的软件系统开发成本估算法 21 5 都满足 10 10 可复用性可复用性 应用系统中的应用和代码经过特殊设计 开发和支持 可以在其他应用系 统中复用 0 没有可复用的代码 1 代码在应用之内复用 2 应用中被其他用户复用的部分不足 10 3 应用中被不止一个用户使用的部分超过 10 4 应用遵从一种易于复用的方式被打包和文档化 用 户在源代码级客户化该应用 5 应用按照一种易于复用的方式被打包和文档化 用 户使用用户参数来对该应用进行客户化 11 11 易安装性易安装性 易安装性指应用系统的转换和安装容易度对开发的影响程度 系统测试阶 段提供了转换和安装计划 转换工具 0 用户对安装没有特定的要求 1 用户对安装没有特定的要求 但有特定的安装环境 实用的软件系统开发成本估算法 22 要求 2 用户提出了安装和转化的要求 转化 安装指南被经 过测试提供给用户 但是转化的影响对该应用不重要 3 用户提出了安装和转化的要求 转化 安装指南被经 过测试提供给用户 转化的影响对该应用来说是重要的 4 除了 2 的要求之外 需要提供经过测试的自动化的 安装和转化工具 5 除了 3 的要求之外 需要提供经过测试的自动化的 安装和转化工具 12 12 易操作性易操作性 易操作性指的是应用对运行的影响程度 如有效启动 备份和恢复规程的 影响 易操作性是应用提供的一种特性 它最小化了手工操作的要求 0 用户没有指定除正常备份程序外的其它特定操作 1 提供高效的启动 备份和恢复进程 但需要人手操 作 2 提供高效的启动 备份和恢复进程 不需要人手操 作 当作两项计算 3 应用程序对磁带的需求最小化 实用的软件系统开发成本估算法 23 4 应用程序对硬拷贝处理的需求最小化 5 程序设计成无人操作模式 无人操作模式的意思是 除了启动和关闭之外 不需要对系统进行操作 程序的 其中一个功能就是错误自动恢复 13 13 多场地多场地 多场地指应用系统经特殊设计 开发可以在多个组织 多个地点应用的程 度 0 用户需求不含多场地和组织的要求 1 考虑了多场地的要求 但是设计要求应用在不同的 场地使用相同的软硬件环境 2 考虑了多场地的要求 但是设计要求应用在不同的 场地使用类似的软硬件环境 3 考虑了多场地的要求 同时设计支持应用在不同的 场地使用不同的软硬件环境 4 在 1 或者 2 的要求之上 提供了经过测试的多场地 的文档和支持计划 5 在 3 的要求之上 提供了经过测试的多场地的文档 和支持计划 14 14 支持变更支持变更 实用的软件系统开发成本估算法 24 支持变更是指应用在设计上考虑支持处理逻辑和数据结构变化的程度 可以具有如下的特性 提供可以处理简单要求的弹性查询和报告功能 如对一个 ILF 进行与 或 逻辑 提供可以处理一般复杂度要求的弹性查询和报告功能 如对多于一个的 ILF 进行与 或 逻辑 当作两项计算 提供可以处理复杂要求的弹性查询和报告功能 如对一个或多个 ILF 进 行与 或 逻辑的组合 当作三项计算 业务控制数据被保存到用户通过在线交互进程维护的表中 但变更只会 在第二个工作日生效 业务控制数据被保存到用户通过在线交互进程维护的表中 且变更即时 生效 0 一个都不满足 1 合计满足一个 2 合计满足二个 3 合计满足三个 4 合计满足四个 5 合计满足五个 3 3 6计算调整后的功能点个数计算调整后的功能点个数 国际 IFPUG 组织将软件项目分为三类 功能点估算法适用于任何一类 项目 其计算公式中的术语请详见表 1 功能点的原始计算公式 FP Count UFP VAF 新开发项目 实用的软件系统开发成本估算法 25 有时新开发的软件项目也需要与其他现存的软件系统进行整合 例如 一个企业新开发的 MIS 内部管理系统经常会与财务系统进行整合 这时除了考 虑本身项目的功能点个数外 还要考虑系统整合或数据迁移部分的工作量 因 此 其功能点计算公式如下 FP Count UFP CFP VAF 二次开发的项目 有时新开发的软件项目是在原有基础上进行二次开发的 只是为了 增加一些新功能 因此 其功能点计算公式如下 FP Count ADD VAF 功能增强的项目 功能增强项目的功能点估算比较复杂 在计算功能点前大家需要计功能增强项目的功能点估算比较复杂 在计算功能点前大家需要计 算有哪些是新增加的功能 哪些是被修改的功能 哪些是属于数据迁移算有哪些是新增加的功能 哪些是被修改的功能 哪些是属于数据迁移 或系统整合的功能 或系统整合的功能 然后计 算新系统技术复杂度的调整因子 VAFA 并在此基础上计算系统功能点的数量 当然 此类项目也会去掉一些原 有功能 那么在原有系统的技术复杂度基础上 重新计算功能点的调整因 子 VAFB 再计算所去掉功能贡献的功能点数量 因此 其功能点计 算公式如下 FP Count ADD CHGA CFP VAFA DEL VAFB 表 1 功能点技术公式术语 术语英文中文含义 ADDAdded functionality 被添加的功能点个数 CFPConversion functionality 被转换的功能点个数 CHGAUFP of changed functionality after enhancement 功能增强后所改动的功能所贡献的未 调整的功能点个数 DELDeleted functionality 被删除的功能点个数 UFPUnadjusted functional point 未调整的功能点个数 实用的软件系统开发成本估算法 26 count VAFValue adjustment factor VAF sum of DI 0 01 0 65 功能点的调整因子的计算公式 VAF sum of DI 0 01 0 65 VAFAValue adjustment factor after enhancement 功能增强后的功能点调整因子 VAFBValue adjustment factor before enhancement 功能增强前的功能点调整因子 以员工管理系统为例 详细说明如何利用功能点估算法计算业务复杂度 在员工管理系统中添加一个员工资料 会使用到员工的一般信息 教育情 况 工作经历和家属信息 员工隶属于某个部门 在本系统中会有一个对部门 进行维护的功能 员工的工资则由另外一个财务系统提供 因此 其用例图如 下所示 实用的软件系统开发成本估算法 27 图 1 员工管理系统用例图 假设员工基本信息如下所示 员工 ID 标签控件 员工名称 性别 生日 婚否 所属部门 ID 标签控件 所属部门名称 受教育的时间 学校名称 所学专业 工作时间 工作单位 工作部门 工作职务 亲属的姓名 之间关系 亲属年龄 工作单位 实用的软件系统开发成本估算法 28 假设部门信息如下所示 部门 ID 标签控件 部门名称 假设工资表信息如下所示 员工 ID 标签控件 员工姓名 金额 单位 ILFILF 和和 EIFEIF 的功能点数的功能点数 本范例识别出来 ILF 和 EIF 功能点个数如下表所示 ILF 内部 逻辑文件 RET DE T 个数 复 杂度 未调整 的 FP 个数 员工信息 员工基本信息 受教育情况 工作经历 亲属信息 共 4 个 18 低 7 部门信息部门基本信息 共 1 个 2 低 7 EIF 外部接 口文件 RET D ET 个 数 复 杂 度 未
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中级银行从业资格之中级银行业法律法规与综合能力能力测试备考题及完整答案详解1套
- 中考数学总复习《 圆》必背100题附答案详解(综合卷)
- 自考专业(计算机网络)全真模拟模拟题及完整答案详解(全优)
- 中医执业医师考前冲刺练习附完整答案详解(必刷)
- 中级银行从业资格之中级银行业法律法规与综合能力能力提升题库参考答案详解
- 2025贵州黔南民族医学高等专科学校博士人才引进笔试模拟试题及答案解析
- (2025年标准)交货违约协议书
- 2025版文化创意产业外包合作协议-创意内容生产服务
- 2025年节日庆典场地合作经营服务协议
- (2025年标准)建坟墓协议书
- MSA-KAPPA表-带公式模板
- 1.1 网络层次化拓扑结构设计
- 专项:阅读理解18篇【真题】 七年级英语下册(人教版2024)查漏补缺(含答案+解析)
- GB/T 9869.2-2025橡胶用硫化仪测定硫化特性第2部分:圆盘振荡硫化仪
- 集团公司井控管理规定及井控知识相关考试试卷
- 民间配资双方协议书范本
- 就业能力展示-宣讲
- 神经内科常规用药课件
- 脑梗死取栓术后护理查房
- 国航股份新建配餐楼项目一期工程报告表
- 鸿合交互平板一体机培训
评论
0/150
提交评论