logo资料库

使用用例点数进行项目估算(UCP).doc

第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
资料共7页,全文预览结束
简介
用例点数
技术复杂度因素
环境复杂度因素
原始用例点数(UUCP)
UUCW
UAW
生产力因素
最终结果
注意
结论
使用用例点数进行项目估算 作者:RoyClem. 译者:周宇 介绍使用用例点数(UCP)来估算项目的方法 简介 面向对象的应用经常使用用例来描述一个软件应用的业务过程。用例通常由评估业务领域的战略 目标和场景组成,它们也用来说明软件应用的复杂度。 通过分析用例的角色和场景,可以得到 可靠的一个应用程序的规模和工作量的估算值。 用例点数是一个项目估算方法,它使用项目的 用例来准确的估算项目规模和工作量。 用例点数 用例建模是一种得到广泛使用的技术,用来获取软件应用的业务过程和需求。既然用例提供了应 用的功能范围,分析它们的内容将对需要进行设计和实现这个应用有很大作用。通常, 具有大而 复杂用例的应用需要更多的工作量来设计和实现。此外,完成应用程序的时间受到下列因素的影 响:  完成用例需要的步骤.  角色的复杂性和数目.  用例的技术需求,如:并发性、安全性和性能。  各种环境因素,如:开发团队的经验和知识. 用例点数根据一个应用程序的用例来估算它的规模和工作量。依据 Gustav Karner1993 年的 工作,UCP 分析用例角色,场景和各种技术、环境因素,并抽象它们,得到一个计算公式。 计算公式包含下面四个参数组成: 1. 技术复杂度因素 (TCF). 2. 环境复杂度因素 (ECF). 3. 原始用例点数 (UUCP). 4. 生产力因素 (PF). 每个参数都独立定义和计算,各个参数计算中,部分使用分析得到的值,部分使用常量。完整的 公式为: UCP = TCP * ECF * UUCP * PF 依据 UCP 方法进行估算的步骤如下:
1. 确定并计算技术因素. 2. 确定并计算环境因素. 3. 计算原始用例点数. 4. 确定生产力. 5. 计算用例点数(UCP). 技术复杂度因素 13 个标准技术因素对估算生产力存在影响,这些生产力可能涉及应用中的各种技术问题。每种 因素都有与其相关影响相应的权重。权重为 0 意味着完全无关;权重为 5 则意味着有极大的影 响。 技术因素 说明 权重 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 分布式系统 性能 终端用户效率 复杂的内部处理 可重用性 易安装性 易用性 可移植性 易更改性 并发性 特别的安全性 提供给第三方接口 需要特别的用户培训 2 1 1 1 1 0.5 0.5 2 1 1 1 1 1 图 1: 技术因素. 每个项目的技术因素由开发团队来估算,根据相应的复杂度(如可重用性)来设定从 0 到 5 之 间的值,多线程应用需要更高的技能和更多的时间。复杂度为 0 意味着技术因素与本项目无关; 3 意味着一般;5 意味对项目有很强的影响。 每项因素的权重与复杂度相乘得到(中间)计算结果。计算结果相加得到总因素值。 复杂度使用样例值后的计算示例如下: 技术因素 说明 权重 复杂度 计算结果 (权重*复杂度) T1 分布式系统 2 5 10
T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 性能 终端用户效率 复杂的内部处理 可重用性 易安装性 易用性 可移植性 易更改性 并发性 特别的安全性 提供给第三方接口 需要特别的用户培训 图 2: 计算技术总因素. 1 1 1 1 0.5 0.5 2 1 1 1 1 1 4 2 4 2 2 2 6 3 2 2 5 3 4 2 4 2 5 3 3 3 2 2 5 3 总因素值 47 图 2 中, 通过加和计算结果,得到总因素值为 47。为了计算 TCF,两个常量将会用来计算。计 算 TCF 的计算公式如下: TCF = 0.6 + (.01*Total Factor). 图 1 中, TCF = 1.07 环境复杂度因素 环境复杂度因素估算各种环境因素对应用生产力的影响。每种环境因素都被评估,并根据其影响 加权,权重值在 0 和 5 之间。权重为 0 意味着环境因素对本项目完全无关;权重为 3 意味着一 般影响;5 意味着很大影响。 环境因素 说明 E1 E2 E3 E4 E5 E6 E7 E8 熟悉 UML 程度 开发应用程序经验 面向对象经验 主分析师能力 激励 需求稳定度 兼职人员 不同的编程语言 权重 1.5 0.5 1 0.5 1 2 -1 2
图 3: 环境因素示例. 每种因素的权重与影响相乘,得到本项计算结果,计算结果相加得到总计值。 样例: 环境因素 说明 权重 影响 结果(权重*影响) E1 E2 E3 E4 E5 E6 E7 E8 熟悉 UML 程度 开发应用程序经验 面向对象经验 主分析师能力 激励 需求稳定度 兼职人员 不同的编程语言 图 4:计算环境总因素 1.5 0.5 1 0.5 1 2 -1 2 4 2 5 2 1 5 0 1 总计 6 1 5 1 1 10 0 2 26 图 4 中,通过加和各项计算值得到的总因素值为 26。为了计算 ECF,两个常量将会用来计算。 计算 ECF 的计算公式如下: ECF = 1.4 + (-0.03*Total Factor). 对图 4, ECF = 0.62 原始用例点数(UUCP) 原始用例点数有下面两部分组成: 1. 原始用例权重 (UUCW) :基于用例场景中包含的活动数或流程部数。 2. 原始角色权重 (UAW): 基于用例角色中多角色的组合复杂性。 UUCW 单个用例可被分成简单、普通和复杂三种,它们的权重依赖于它们包含的(操作)步骤(包含可 选流程)。 用例类别 说明 权重 简单 普通 仅涉及一个数据库实体(表或视图);操作不超过 3 步;实现用到 5 个以下类. 涉及两个或以上数据库实体(表或视图);操作不超 10 5
过 4 步到 7 步;实现用到 5 到 10 个类. 复杂的用户界面或涉及三个或以上数据库实体(表 或视图);操作超过 7 步;实现用到超过 10 个类. 15 复杂 图 5: 用例种类 通过计算各个种类用例的数目,乘上各种用例的权重,然后加和,就得到 UUCW。 用例类别 说明 简单 普通 复杂 仅涉及一个数据库实体(表或视图);操作 不超过 3 步;实现用到 5 个以下类. 涉及两个或以上数据库实体(表或视图); 操作不超过 4 步到 7 步;实现用到 5 到 10 个类. 复杂的用户界面或涉及三个或以上数据库 实体(表或视图);操作超过 7 步;实现用到 超过 10 个类. 权重 用例数 5 8 10 12 15 4 结果 40 120 60 总 UUCW 220 图 6: 计算 UUCW. UAW 跟上面一样,根据角色间的相互作用,角色分为简单、普通和复杂。 角色类别 说明 权重 简单 普通 复杂 角色代表一个定义好了 API 的另外一个系统。 1 角色代表一个通过协议,如 TCP/IP 相互作用的另外一个系统。 2 3 角色是通过接口相互作用的人 图 7:角色分类. 通过计算各个种类用例中的角色数目,乘上各种角色类别的权重,然后加和,就得到 UAW。 角色类别 说明 权重 角色数 结果 简单 普通 角色代表一个定义好了 API 的另外一个系统。1 角色代表一个通过协议,如 TCP/IP 相互作用 2 的另外一个系统。 8 12 8 24 复杂 角色是通过接口相互作用的人 4 3 12 总 Total UAW 44
图 8: 计算 UAW. 最终,由 UUCW 和 UAW 相加得到 UUCP。在上图中,UUCP = 220 + 44 = 264。 生产力因素 生产力因素 (PF)是根据过去的项目得到的平均每个用例所花的人时比率。如果没有历史数据可 供参考,行业专家推荐使用 15-30 之间的一个数字,典型的,你可以使用 20。 最终结果 用例点数由下列参数相乘得到: UCP = TCP * ECF * UUCP * PF 以本文使用的值举例: UCP = 1.07 * 0.62 * 264 * 20 = 3502.752 or 3503 小时. 用 40(小时)来除 UCP (每人每周工作 40 小时)得到 88 人*周。这样,依本文中的值,整个应 用程序需要一个人开发 88 周,大约 22 个月。 注意 与人类专家估算相比,用例点数估算可能偏高。这也许是件好事,因为很多项目都延迟了,但是 估算也不能太高。为了得到准确结果,公式中的变量需要进行调整,特别是刚开始这样估算时。  场景中的步数。很多的步数将使复杂性偏高,用例点数增大。较少的步数将使复杂性偏 低。有时,不用影响业务过程,步骤组数也能减到更少。尽力统一细节标准,但也不要 强迫用例遵守估算方法。  包含和扩充用例增大了复杂性。将这些记为单独的用例。  用例中的角色数也影响估算。如果可能,将角色归纳为更高层次的角色。这将减少复杂 性而不影响用例。另一方面,也不要强行归纳,如果根本不能概括的话。  技术和环境因素值需要根据不断获得的实际数据来做调整。越多项目使用用例点数来估 算,估算将越准确。  用人类专家的估算来与 UCP 估算相比较。如果有差异,选择人类专家的估算,并相应 调整 UCP 因素。  生产力因素只能从历史资产中获得。跟踪设计和实现用例的时间,相应调整生产力因素。 结论
用例点数能够得到可靠的结果,是因为它的估算由实际的业务过程――软件应用的用例――得 到。另外,在众多的传统估算方法中,技术因素和环境因素并没有得到充分考虑。用例点数包含 并抽象了这些主观的因素,并将它们使用进计算公式。随着项目进程,将会发现使用用例点数得 到的估算非常可靠。
分享到:
收藏