[TOC]
一、简答题
1. 用例的概念
- 用例是描述在一个项目中,参与者是否可以通过系统达到目标相关的成功和失败的集合
- 用例是一种文本文档,而不是图表
- 用例建模主要是编写文档,而不是画图
- 用例是用于知识系统将要做什么的方法
2. 用例和场景的关系?什么是主场景或 happy path?
- 用例和场景的关系:
- 每一个用例是一些场景的集合(包括成功的场景和失败的场景),场景是actors和系统之间某些特定的一系列动作和绘画的实例
- 主场景:
- 每个用例都包含一个主场景,主场景通常是一个用例里成功的场景,对应于系统中的主要的交互,能够直接达到用户目标的场景
- happy path:
- 在测试用例时没有出现预期之外结果的场景。在用例建模中,happy path是主执行者完成了目标,所有有关人员的需求都得到了满足。
3. 用例有哪些形式?
用例有三种常用的形式:
- 简短格式(brief):
- 通常只包含主场景,在最开始的需求分析时候创建
- 在早期需求分析过程中,快速了解主题和范围
- 可能只需用几分钟来创建
- 简便格式(Casual):
- 一种不正式的格式,许多的图表涵盖了许多种场景
- 完全格式(Fully):
- 所有变化、步骤写的很详细,有支持部分,如前提条件和成功保证
- 所有的用户样例都已经确定且简略写完后,经过迭代得到的完全格式的用例
4. 对于复杂业务,为什么编制完整用例非常难?
- 因为复杂业务中包含的子用例非常多,流程复杂,业务繁琐,对应的场景因此也有很多,因此编制完整的用例难度非常高,需要的成本也比较高
5. 什么是用例图?
- 用例图是指由参与者、用例、边界以及他们的关系构成的用于描述系统功能的视图
- 用例图是外部用户(参与者)所能观察到的系统功能的模型图
- 用例图是系统的蓝图,它是用户和系统交互的一种表示方法,显示了用户与用户所涉及的不同用例之间的关系
6. 用例图的基本符号与元素?
参与者:表示的是一个系统用户,也就是与应用程序进行交互的用户、组织或者外部系统
用例:表示对系统提供的功能、服务的一种描述
用例之间的关系:
包含关系:表示用例可以简单地包含其他用例所具有的行为,并把它所包含的用例行为作为自身行为的一部分。常用带箭头的虚线表示,箭头指向被包含的用例
泛化关系:泛化指的是一个父用例可以被特定化形成多个子用例,而父用例和子用例之间的关系就是泛化关系。常用空心三角箭头实现表示,箭头指向父用例
关联关系:表示的是参与者与用例之间的关系。常用一条直线,或者一条带箭头的线条表示,箭头指向信息接收方
扩展/延伸关系:表示在一定条件下,把新的行为加入到已有的用例中,获得的新用例叫做扩展用例,原有的用例叫做基础用例,相当于基础用例提供一个附加功能。用带箭头的虚线表示,箭头指向基础用例
7. 用例图的画法与步骤
- 确定系统的边界,然后画出系统框架并写上系统名字
- 确定参与者,主要参与者在左边,支持性参与者在右边
- 确定参与者之间的关系
- 根据需求识别和创作用例
- 确认用例与参与者之间的关系
- 将用例画在系统中,如果涉及其他子系统,则将子系统放在右边
8. 用例图给利益相关人与开发者的价值有哪些?
- 对于利益相关人:
- 可直观看到系统的功能和操作过程,保证系统按用户的需求进行设计
- 用例能够根据需要对复杂程度和形式化程序进行增减调节,即能够响应用户提出的需求
- 对于开发者:
- 明确系统的业务范围、服务对象(角色)、外部系统与装备
- 可用于识别技术风险,提前实施关键技术原型攻关与学习
- 使得工作量评估更加方便容易,更易于合理规划迭代周期,规划人力需要
二、建模练习题
选择2-3个你熟悉的类似业务的在线服务系统(或移动 APP),如定旅馆(携程、去哪儿等)、定电影票、背单词APP等,分别绘制它们用例图。并满足以下要求:
- 请使用用户的视角,描述用户目标或系统提供的服务
- 粒度达到子用例级别,并用 include 和 exclude 关联它们
- 请用色彩标注出你认为创新(区别于竞争对手的)用例或子用例
- 尽可能识别外部系统和服务
选择猫眼电影订电影票和携程定旅馆:
- 猫眼电影订电影票:
- 携程定旅馆:
然后,回答下列问题:
为什么相似系统的用例图是相似的?
答:因为用例图描述的是用户和用例的关系,而用例是描述参与者使用系统达成目标相关的成功与失败的场景的集合,如果最终目标相似,需求相似,达成目标的方法也相似,用例图就相似。因此,相似系统的用例图是相似的。如果是定旅馆业务,请对比 Asg_RH 用例图,简述如何利用不同时代、不同地区产品的用例图,展现、突出创新业务和技术
答:在不同时代、不同地区,旅馆的类型就会不同,而定旅馆业务的需求也因地区和时代而异,我们应该着重考虑哪些因需求变化而导致的用例图的差异,并结合市场调研,从中获取更加满足用户需求的用例,使得服务更加周到和细致。如何利用用例图定位创新思路(业务创新、或技术创新、或商业模式创新)在系统中的作用
答:使用不同的高亮的颜色标注创新点请使用 SCRUM 方法,选择一个用例图,编制某定旅馆开发的需求(backlog)开发计划表
这里选择订电影票用例图| ID | Name | Imp | Est | How to demo |
| —- | ———— | —- | —- | ———————————- |
| 1 | 查看电影 | 10 | 6 | 根据系统推荐查看要看的电影 |
| 2 | 选择影院 | 25 | 10 | 根据距离、价格、环境等因素考虑影院 |
| 3 | 选择观影时间 | 25 | 10 | 选择合适的日期和时间看电影 |
| 4 | 选择位置 | 20 | 8 | 选择舒适的观影位置 |
| 5 | 支付 | 10 | 8 | 选择合适的支付平台进行支付 |
| 6 | 评价 | 10 | 5 | 对观看的电影进行合理的评价 |
根据任务4,参考 使用用例点估算软件成本,给出项目用例点的估算
根据参考资料,可知评级依据(标准)为:- 简单用例:1 到 3 个事务,权重=5
- 一般用例:4 到 7 个事务,权重=10
- 复杂用例:多于 7 个事务,权重=15
故任务4的用例点估算如下:
| ID | 用例 | 事务 | 计算 | 评级 |
| —- | ———— | —- | —- | ——– |
| 1 | 查看电影 | 2 | 2 | 简单用例 |
| 2 | 选择影院 | 4 | 7 | 一般用例 |
| 3 | 选择观影时间 | 3 | 2 | 简单用例 |
| 4 | 选择位置 | 3 | 2 | 简单用例 |
| 5 | 支付 | 3 | 2 | 简单用例 |
| 6 | 评价 | 3 | 3 | 简单用例 |