1、 基于用例的项目估算简介
项目估算是软件研发中最难的工作之一, 对软件项目的项目估算就是对需求分析、设计、编码、测试、集成交付等整个软件开发过程所花费的工作量、时间、成本等的预测。
项目估算是制定合理的项目计划的基础,项目管理都离不开下面的几大问题:工作范围、时间、成本、质量、资源和风险。面对这些问题,我们需要做一个合理的项目估算。
我们可以使用用例来描述系统的功能需求,而项目估算主要的对象就是功能需求。项目经理可以基于用例来估算项目的工作量、时间和成本。
2、建模工具 EA 中的 用例估算功能
用户在建模工具 EA 中可以建立用例模型,这是用例估算的基础。 EA 中提供了基于用例模型进行估算的功能 。 EA 中的 用例估算功能可以估算实现项目所需的工作量、时间、成本等,进而分析出估算项目的复杂度。
如下是基于聊天室模型的用例项目估算工作量的报告,可以体现出项目预计工作量、预计成本、 技术复杂性因素程度及环境复杂性因素等。
2.1 在建模工具 EA 中如何打开用例估算功能
在 EA 中打开用例估算的方法 :设 置 — 参考数据 -- 模型类型 --- 估算因子。视图如下:
2.2 用例估算的指标有哪些?
在 EA 中用例估算 指标 有三种:
技术复杂性 指标
环境复杂性 指标
工时 指标
下面我们分别来介绍下各种指标。定义用例估算指标的界面视图如下:
2.2.1 技术复杂性指标
技术复杂性 指标 的缩写是 TCF , EA 中的 样例模型包含一组默认的 技术复杂性 指标 ( TCF ) ,我们可以使用 “ 估算因子 ” 对话框添加或修改这些 TCF 。这组 指标 应包括可能影响项目环境技术复杂性的所有 指标 。
如下是 技术复杂性指标 相关说明:
项 |
说明 |
Factor Number |
因素编号 |
Description |
说明信息 |
Weight |
技术复杂性重要性 |
Assigned Value |
分配值,这个 值表示因子对项目的影响程度 |
Unadjusted TCF |
“未调整的 TCF 值”与技术复杂性因素相结合,根据技术复杂程度和相应的技术支持水平,使整体复杂性向上或向下偏移。 |
2.2.2 环境复杂性 指标
环境复杂 指标 的缩写是 ECF , EA 中的样例模型包含一组默认的环境复杂 指标 ( ECF ),我们可以使用 “ 估算因子 ” 对话框添加或修改这些 ECF 。这组 指标 应包括可能影响一般设计和开发环境的所有 指标 ,包括团队经验和知识、团队规模、专业知识和其他非功能性 指标 。
如下是 环境复杂性指标 相关说明:
项 |
说明 |
Factor Number |
因素编号 |
Description |
说明信息 |
Weight |
环境 复杂性的权重 |
Assigned Value |
分配值,这个 值表示因子对项目的影响程度 |
Unadjusted ECF |
“未调整的 ECF 值”与技术复杂性指标相结合,根据技术复杂程度和相应的环境支持水平,使整体复杂性向上或向下微调。 |
2.2.3 小时费率指标
设置小时费率是项目估算中最难的 指标 ,每个项目用例点的小时费率范围可能从 10 到 30 小时不等。
估算小时费率的最佳方法是通过分析以前已完成的项目,在 EA 中通过适当调整 项目持续时间和小时费率的值来完成项目估算。
如下是 默认小时费率的相关 指标 说明:
项 |
说明 |
Set the project defaults for duration and hourly rate for the Use Case effort estimati on |
为用例工作量估计设置项目默认持续时间和小时费率 |
Duration |
项目持续时间 |
Hourly Rate |
项目小时费率 |
2.3 EA 中基于用例的 项目规模估算功能说明
在 EA 中还可以进行项目规模估算,进入项目规模估算的方法:选择构建 — 项目管理 —QA—QA 报告 — 用例估算,视图如下:
如下是内容说明:
项目 | 说明 |
Root Package |
根包, 估算的内容的顶级包,此包下的所有用例都可能包含在报告中。 |
Reload | 从所选包重新运行加载,通常在更改筛选条件后使用这个操作。 |
Phase like | 阶段,用于选择处于该阶段的用例。 |
Keyword like | 关键词,用于选择具有该关键词的用例。 |
Bookmarked |
已添加书签, 包括所有用例,或仅包括已标记的用例或未标记的用例:
|
Use Cases | 显示估算中的用例总数。
比如聊天室模型中用例总数是 28 。
|
Include Actors | 包含的参与者, 选择这个复选框表示 在估算中包括参与者。 |
Technical Complexity Factor | 技术复杂性因素, 描述项目技术复杂程度的参数, “ 未调整的 TCF 值 ” 来自 “ 估算因素 ” 对话框的 “ 技术复杂性因素 ” 选项卡,它构成了用例点方法公式。
需要谨慎修改这些字段,最终的项目估算结果与 TCF 成正比。 |
Environment Complexity Factor- | 环境复杂度因素, 描述程序员经验、知识或专业程度的非功能性环境复杂度的参数。 “ 未调整的 ECF 值 ” 来自 “ 估算因素 ” 对话框的 “ 环境复杂性因素 ” 选项卡,它构成了用例点方法公式。
最终的项目估算结果也与 ECF 成正比。 |
Unadjusted Use Case Points (UUCP) | 未调整用例点( UUCP ) |
Ave Hours per Use Case | 每个用例的平均小时数, 分配给简单、中等和困难用例的平均小时数。
这些数字不能更改。 |
Total Estimate | 总估算, 查看最终估算数字的详细内容。 |
Default Rate | 缺省比率, 为用例工作量估计设置项目持续时间和小时费率
Duration- 持续时间:项目持续时间
Hourly Rate- 小时费率:项目小时费率
|
Re-Calculate | 重新计算, 更改小时数或用例点数后需重新运行估算值。
|
Report | 报告, 根据当前估计值生成富文本格式的报告。 |
View Report | 查看生成的报告。 |
3 、基于用例的项目估算示例
下面我们通过 “聊天室”示例项目说明使用用例进行项目估算的方法。 如下是 聊天室模型的用例项目估算工作量的报告,可以体现出项目预计工作量、预计成本、 技术复杂性因素程度及环境复杂性因素程度等信息。视图如下:
在估算中,可以根据项目实际情况调整相应指标的比率值来让估算更加准确。
如下分别介绍 2 种指标的调整效果:
技术复杂性和环境复杂性中的估算指标
项目持续时间和小时费率的值。
3.1 调整技术复杂性和环境复杂性因素对项目估算的影响
如下视图是调整技术复杂性和环境复杂性估算因子值之前,计算出的项目估算工作量的值。
如下视图是调整技术复杂性和环境复杂性估算因子值之后,计算出的项目估算工作量的值。
3.2 调整 项目持续时间和小时费率对项目估算的影响
我们调整下 项目持续时间和小时费率的值,将原来的项目持续时间 14 改成 15 ,小时费率 28 改成 30 ,然后点击“重新计算”,得出不同的项目估算值。视图如下:
项目持续时间和小时费率调整前
项目持续时间和小时费率调整后
后记
希望您读了此文后有所受益。
如果您有经验乐于分享,欢迎投稿给我们。
如果您对我们的培训、咨询和工具感兴趣:
课程:
工具:
咨询方案:
如果您希望了解更多信息:
|