文档编号:用例点估算使用手册XXX 有限公司修订记录A-新增 M-修改 D-删除变更类型版本日期修订原因修订人(A-M-D)内部资料,注意保密1.2.3.4.5.6.7.8.9.目 录简介 ........................................................................3 用例点数 ....................................................................3技术复杂度因素..............................................................3 环境复杂度因素..............................................................5 原始用例点数(UUCP) ..........................................................6生产力因素..................................................................7最终结果 ....................................................................7注意 ........................................................................7 结论 ........................................................................8 内部资料,注意保密1. 简介面向对象的应用经常使用用例来描述一个软件应用的业务过程用。
例通常由评估业务领域 的战略目标和场景组成,它们也用来说明软件应用的复杂度通过分析用例的角色和场景, 可以得到可靠的一个应用程序的规模和工作量的估算值用例点数 是一个项目估算方法,它 使用项目的用例来准确的估算项目规模和工作量2. 用例点数用例建模是一种得到广泛使用的技术,用来获取软件应用的业务过程和需求既然用例提 供了应用的功能范围,分析它们的内容将对需要进行设计和实现这个应用有很大作用通常 具有大而复杂用例的应用需要更多的工作量来设计和实现此外,完成应用程序的时间受到下 列因素的影响:••••完成用例需要的步骤.角色的复杂性和数目.用例的技术需求,如:并发性、安全性和性能 各种环境因素,如:开发团队的经验和知识.用例点数根据一个应用程序的用例来估算它的规模和工作量依Gustav据 Karner1993年的工 作,UCP 分析用例角色,场景和各种技术、环境因素,并抽象它们,得到一个计算公式 计算公式包含下面四个参数组成:1. 技术复杂度因素 (TCF).2. 环境复杂度因素 (ECF).3. 原始用例点数 (UUCP).4. 生产力因素 (PF).每个参数都独立定义和计算,各个参数计算中,部分使用分析得到的值,部分使用常量。
完整 的公式为:UCP = TCP * ECF * UUCP * PF依据 UCP 方法进行估算的步骤如下:1. 确定并计算技术因素.2. 确定并计算环境因素.3. 计算原始用例点数.4. 确定生产力.5. 计算用例点数(UCP).3. 技术复杂度因素13 个标准技术因素对估算生产力存在影响,这些生产力可能涉及应用中的各种技术问题 每种因素都有与其相关影响相应的权重权重值为0意味着技术因素对本项目完全无关;权重 值为 1 意味着技术因素对本项目有极小影响权;重值为2 意味着技术因素对本项目有轻微影响; 权重值为 3 意味着一般影响;权重值为4 意味着技术因素对本项目有较大影响;权重值为5意 味着很强影响技术因素T1说明 分布式系统权重2T2内部资料,注意保密性能,例如: 0 不考虑 , 1T3T4T5T63 根据业界考量,响应时间 在 3 秒内,5 客户特别关注 终端用户效率内部处理(复杂度) 可重用性易安装性1110.5T7T8T9易用性,例如:0 不考虑, 0.5 3 业务操作 5 步之内, 5业务操作 3 步以内可移植性 2 易更改性,例如:0 公司修 1 改与配置,3 公司协助客户 配置修改,5 客户可以配置 修改T10T11T12并发性安全性提供给第三方接口111T13用户培训(粒度)例如:0 1 不需要培训,3只需对管理 员培训,5 需对所有人员培 训图 1: 技术因素.每个项目的技术因素由开发团队来估算,根据相应的复杂度(如可重用性)来设定0到从5之 间的值,多线程应用需要更高的技能和更多的时间复。
杂度为0 意味着技术因素与本项目无关; 复杂度为 1 意味着技术因素对本项目有极小影响;复杂度为2意味着技术因素对本项目有轻微 影响;复杂度为3 意味着一般影响;复杂度为4 意味着技术因素对本项目有较大影响;复杂度 为 5 意味对项目有很强的影响每项因素的权重与复杂度相乘得到(中间)计算结果计算结果相加得到总因素值复杂度使用样例值后的计算示例如下:技术因素T1T2T3T4T5T6T7T8T9说明分布式系统 性能终端用户效率 复杂的内部处理 可重用性易安装性易用性可移植性易更改性权重211110.50.521复杂度542425333计算结果(权重*复杂度) 1042422263内部资料,注意保密T10T11T12T13并发性特别的安全性 提供给第三方接口 需要特别的用户培训111122532253总因素值47图 2: 计算技术总因素.图 2 中, 通过加和计算结果,得到总因素值为47为了计算TCF,两个常量将会用来计算计 算 TCF 的计算公式如下:TCF = 0.6 + (0.01*Total Factor).图 1 中, TCF = 1.074. 环境复杂度因素环境复杂度因素估算各种环境因素对应用生产力的影响。
每种环境因素都被评并估根,据 其影响加权,权重值在0 和 5 之间权重值为0 意味着环境因素对本项目完全无关;权重值为 1 意味着环境因素对本项目有极小影响;权重值为2意味着环境因素对本项目有轻微影响;权 重值为 3 意味着一般影响;权重值为4 意味着环境因素对本项目有较大影响;权重值为5意味 着很强影响环境因素说明权重E1E2E3E4熟悉 UML 程度,例如:0 表示没关联,3 表示人员会UML 基本 1.5 操作即可,5 表示人员精通UML 操作开发应用程序经验,例如:例如:0表示没关联,3 表示人员 0.5 会 3 年左右的开发经验,5 表示人员拥有5 年以上的经验 面向对象经验 例如:0 表示不需要面向对象经验,3表示人 1 员会面向对象即可,5 表示人员精通面向对象经验主分析师能力 例如:0 表示没有相关分析能力,3表示人员 0.5 具有一般分析能力,5 表示人员具有全面且深厚的分析能力E5E6激励例如:0 表示不需要激励,3 表示人员需要适当激励,5 表示需要持续的激励需求稳定度,例如:0 表示需求没变更,3 表示需求变更在5 条以上,5 表示需求变更在10 条以上12E7E8兼职人员例如:0 表示没有兼职人员,3 表示具有 1-2 位兼职 -1 人员,5 表示人员具有2-3 位兼职人员不同的编程语言例如:0表示 1 种编程语言,3 表示 2 种编程 2 语言,5 表示 3 种以上编程语言图 3: 环境因素示例.每种因素的权重与影响相乘,得到本项计算结果,计算结果相加得到总计值。
样例:环境因素E1E2说明熟悉 UML 程度 开发应用程序经验权重1.50.5影响42结果(权重*影响) 61内部资料,注意保密E3E4E5E6E7E8面向对象经验 主分析师能力 激励需求稳定度 兼职人员 不同的编程语言10.512-125215015111002总计26图 4:计算环境总因素图 4 中,通过加和各项计算值得到的总因素值为26为了计算ECF,两个常量将会用来计算 计算 ECF 的计算公式如下:ECF = 1.4 + (-0.03*Total Factor).对图 4, ECF = 0.625. 原始用例点数(UUCP)原始用例点数有下面两部分组成:1. 原始用例权重 (UUCW) :基于用例场景中包含的活动数或流程部数2. 原始角色权重 (UAW): 基于用例角色中多角色的组合复杂性UUCW单个用例可被分成简单、普通和复杂三种,它们的权重依赖于它们包含的(操作)步骤(包含 可选流程)用例类别简单普通复杂说明仅涉及一个数据库实体(表或视图);操作不超过3 步;实现用到 5 个以下类.涉及两个或以上数据库实体(表或视图);操作不超 过 4 步到 7 步;实现用到 5 到 10 个类.复杂的用户界面或涉及三个或以上数据库实(体表 或视图);操作超过 7 步;实现用到超过10 个类.权重51015图 5: 用例种类通过计算各个种类用例的数目,乘上各种用例的权重,然后加和,就得UUCW到。
用例说明说明权重用例数结果简单仅涉及一个数据库实体(表或视图);操作不5 840超过 3 步;实现用到 5 个以下类.普通涉及两个或以上数据库实体(表或视图);操 1012120作不超过4 步到 7 步;实现用到5 到 10 个类.复杂复杂的用户界面或涉及三个或以上数据库 15460实体(表或视图);操作超过 7 步;实现用到超过 10 个类.总 UUCW 220图 6: 计算 UUCW.UAW跟上面一样,根据角色间的相互作用,角色分为简单、普通和复杂角色类别简单普通说明角色代表一个定义好了API 的另外一个系统角色代表一个通过协议,如TCP/IP 相互作用的另外一个系统权重内部资料,注意保密复杂角色是通过接口相互作用的人图 7:角色分类.通过。