1、简答题
用例的概念
用例是文本形式的情节描述,广泛应用于需求的发现合记录工作中。
通俗地讲,用例就是一组相关的成功和失败场景集合,用来描述参与者如何使用系统来实现其目标。
用例和场景的关系?什么是主场景或 happy path?
场景是参与者与系统之间的一系列特定的活动和交互,也称为用例实例。
主场景 (primary scenario),也被称为 happy path,是系统主要的交互,通常是成功的场景,是最常用的直接地实现用户目标的场景。
用例有哪些形式?
- 摘要——简洁的一段式概要,通常用于主成功场景。用于早期需求分析过程中,为了快速了解主题和范围。
- 非正式——非正式的段落格式。用几个段落覆盖不同场景。同样,用于早期需求分析过程中,为了快速了解主题和范围。
- 详述——详细编写所有步骤及各种变化,同时具有补充部分,如前置条件和成功保证。何时使用?确定并以摘要形式编写了大量用例后,在第一次需求讨论会中,详细的编写其中少量(例如:10%)的具有重要架构意义和高价值的用例。
对于复杂业务,为什么编制完整用例非常难?
完整用例是结构化的,它展示了更多细节,并且更为深入。对于复杂业务,用例的场景很多,并且很复杂,很难不遗漏一些业务和要求。同时,复杂业务的需求变化更为复杂,牵一发动全身,故而很难编制完整用例。
什么是用例图?
用例图是指由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图。用例图是外部用户(被称为参与者)所能观察到的系统功能的模型图。用例图是系统的蓝图。用例图呈现了一些参与者,一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。
用例图的基本符号与元素?
元素 | 符号 | 概念 |
---|---|---|
参与者 | ![]() |
具有某些行为的事物,可以是人(由角色识别)、计算机系统或组织。 |
用例 | ![]() |
用例就是一组相关的成功和失败场景集合,用来描述参与者如何使用系统来实现其目标。 |
箭头 | ![]() |
箭头用来表示参与者和系统通过相互发送信号或消息进行交互的关联关系。箭头尾部用来表示启动交互的一方,箭头头部用来表示被启动的一方,其中用例总是要由参与者来启动。 |
系统边界 | ![]() |
系统边界是用来表示正在建模系统的边界。边界内表示系统的组成部分,边界外表示系统外部。系统边界在画图中用方框来表示,同时附上系统的名称,参与者画在边界的外面,用例画在边界里面。 |
用例图的画法与步骤
- 确定系统边界
- 寻找参与者
- 满足主要参与者目标的系统服务
- 建立关联
用例图给利益相关人与开发者的价值有哪些?
- 对于利益相关人:
- 可以直观看到系统的结果和用户的功能体验,保证系统按照用户的需求进行设计。
- 用例能够根据需要对复杂程度和形式化程序进行增减调节,即能够响应用户(利益相关人)提出的需求,而用例图则使得这种调节更加便利,可以通过修改图形间的关系实现。
- 对于开发者来说:
- 用例图是设计者设计过程的结论与参考,设计者与开发者之间的交流工具,开发者开发过程的蓝图。
- 用例图使得开发者能够更明确地获得需求,更好地理解需求。
- 用例图可以指导开发和测试,同时可以在整个过程中对其他工作流起到指导作用。
- 对于利益相关人:
2、建模练习题(用例模型)
选择2-3个你熟悉的类似业务的在线服务系统(或移动 APP),如定旅馆(携程、去哪儿等)、定电影票、背单词APP等,分别绘制它们用例图。并满足以下要求:
- 请使用用户的视角,描述用户目标或系统提供的服务
- 粒度达到子用例级别,并用 include 和 exclude 关联它们
- 请用色彩标注出你认为创新(区别于竞争对手的)用例或子用例
- 尽可能识别外部系统和服务
然后,回答下列问题:
为什么相似系统的用例图是相似的?
相似系统的业务流程相似,相关流程与核心相似,所以画出来的用例图也是相似的。
如果是定旅馆业务,请对比 Asg_RH 用例图,简述如何利用不同时代、不同地区产品的用例图,展现、突出创新业务和技术
Asg_RH用例图可以看出,它仅仅是一个简单的订酒店的业务,没有其他多余的功能。而当今时代的定旅馆业务,通常是一个综合型更高的业务,包括更多的更人性化的筛选,问答和评论,更多元化。
如何利用用例图定位创新思路(业务创新、或技术创新、或商业模式创新)在系统中的作用
可以通过设置背景颜色显示出创新思路对其他部分的影响。
请使用 SCRUM 方法,选择一个用例图,编制某定旅馆开发的需求
ID | Name | Imp | Est | How to demo |
---|---|---|---|---|
1 | find hotel | 10 | 3 | find hotel by name or use map api |
2 | make reservation | 7 | 4 | determine hotel,room,time and confirm informations |
3 | pay | 7 | 3 | pay by pay api |
4 | comment | 4 | 2 | comment of the reservation and show it |
- 根据任务4,参考使用用例点估算软件成本,给出项目用例点的估算
用例 | 业务 | 计算 | UC比重 |
---|---|---|---|
Find hotel | 3 | 2 | 简单 |
make reservation | 7 | 6 | 一般 |
pay | 2 | 1 | 简单 |
comment | 3 | 2 | 简单 |