1、简答题
1.用例的概念
答:用例是在不展现一个系统或子系统内部结构的情况下,对系统或子系统的某个连贯的功能单元的定义和描述。
2.用例和场景的关系?什么是主场景或 happy path?
用例是场景的集合,场景是一个用例实例。
主场景通常不包括任何条件或分支,这是用例最基本的组成部分,直接地实现用户目标的场景。
3.用例有哪些形式?
- 简洁模式(Brief)
- 简洁的一段式概要,通常用于主成功场景
- 在早期需求分析过程中使用,目的是为了快速了解主题和范围。可能只需要几分钟进行编写
- 简便格式(Casual)
- 非正式的段落格式。用几个段落覆盖不同场景
- 详细描述(Fully)
- 详细编写所有步骤及各种变化,同时具有补充部分,如前置条件和成功保证
- 在确定并以摘要形式写出那些大量用例后,在第一次需求讨论会中,详细地编写其中少量的具有重要架构意义和高价值的用例
4.对于复杂业务,为什么编制完整用例非常难?
复杂业务的需求多,导致扩展部分较多,即除了主成功场景外的其他场景或分支,包括成功和失败路径。用例的格式导致编制复杂业务的完整用例非常难,因为这需要花费大量的时间编写,而且这些用例没有增加或增加很少的价值,并会导致大量的返工。
5.什么是用例图?
用例图是指由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图。
6.用例图的基本符号与元素?
- 基本符号:System框、actor符号、Neighboursystem框、<<include>> 箭头、<<extend>> 箭头、无方向连线
- 元素:参与者Actors、用例Use Case、用例之间的关系
7.用例图的画法与步骤
- 确定参与者,包括:
- 主要参与者:谁将使用系统的主要功能、谁将需要系统的支持以完成工作等
- 协作参与者:谁将提供对应的系统功能、谁将维护系统,保证系统处于工作状态等
- 幕后参与者:谁会对系统产生的结果感兴趣
- 根据用户需求识别和创作用例,主要重点在于:
- 参与者希望系统提供什么样的功能
- 系统具有哪些功能,如是否支持存储和检索信息
- 系统对应的功能由哪些参与者触发
- 当系统状态改变时,参与者是否会得到通知
- 参与者与事件的对应关系
- 是否存在影响系统的外部事件
- 确认用例间的关系,包括关联、包含、扩展和泛化
- 确定外部接口,如API的调用
- 根据上面已经确定的关系已经用例图规范进行用例图的绘制,可以借助例表来详细说明一个较复杂的用例
8.用例图给利益相关人与开发者的价值有哪些
- 用例强调了用户的目标和观点,使得用户能够更多地参与到系统的设计当中去,保证系统按照用户的需求进行设计。而用例图则将用例图形化、具象化了,使得整个系统中用例、参与者之间的关系更加清晰地表达出来。
- 用例能够根据需要对复杂程度和形式化程序进行增减调节,即能够响应用户提出的需求,而用例图则使得这种调节更加便利,可以通过修改图形间的关系实现。
- 用例图使得开发者能够更明确地获得需求,更好地理解需求。
- 用例图可以指导开发和测试,同时可以在整个过程中对其他工作流起到指导作用。
2、建模练习题(用例模型)
-
选择2-3个你熟悉的类似业务的在线服务系统(或移动 APP),如定旅馆(携程、去哪儿等)、定电影票、背单词APP等,分别绘制它们用例图。并满足以下要求:
-
然后,回答下列问题:
-
为什么相似系统的用例图是相似的?
因为相似的系统中,用户预期的功能都是相似的,即不同的同类系统一定具有一致基本功能以及带有自己特色的扩展功能。以酒店预订系统为例,使用该系统的用户一般提供时间、地点、价格等信息,利用系统来搜索出符合信息的房间并进行预定,因此所有的系统都需要包括这样的功能,才能够满足用户的需求。因此,相似的系统一定会有相似的功能,也就具有相似的actor、use case和associate,因此也就具有相似的用例图。
-
如果是定旅馆业务,请对比 Asg_RH 用例图,简述如何利用不同时代、不同地区产品的用例图,展现、突出创新业务和技术
不同时代对预定的酒店的需求不同。可以让筛选算法与时俱进,满足一些不同的主流要求。且用户会需要更加优秀、好用、有参考价值的评价系统,也需要随时更新。而不同地区的消费特点不同,旅游胜地和普通城市用户对于酒店预订的需求有差别,可以在用例图上突出一些特点。
-
如何利用用例图定位创新思路(业务创新、或技术创新、或商业模式创新)在系统中的作用
通过判断创新点在用例图中的位置。如果创新点属于直接与用户关联的用例,则在系统中的作用很重要。如果是子用例,则看与父用例的关系,如果是包含关系,则作用较大,如果是扩展用例,则作用较小。
-
请使用 SCRUM 方法,选择一个用例图,编制某定旅馆开发的需求(backlog)开发计划表
ID Name Imp Est How to Demo Notes 1 搜索旅店 80 20 填写城市、入住及离店日期、关键字进行搜索 搜索框中的每一表项预先设置一个默认值,用户可以对搜索结果进行筛选与排序 2 预订房间 100 25 选择旅店、选择卖家、选择日期、房间类型及数量,然后提交订单 应只可选择可预定的房间,已满的日期和房型给予提示 3 确认订单 60 10 填写入住信息,包括个人资料及联系方式等 必填有效证件号码与联系方式,注意对用户信息的保护 4 付款 60 15 选择付款方式,进行付款 尽量提供较多的第三方支付系统,支付失败及时给出反馈信息,注意对用户信息的保护 5 管理订单 40 10 可以查看已支付的订单信息、取消订单 取消订单需经卖家同意后退款 -
根据任务4,参考 使用用例点估算软件成本,给出项目用例点的估算
-
用例 | 业务 | 计算 |
---|---|---|
搜索旅店 | 6 | 3 |
预订房间 | 4 | 2 |
确认订单 | 2 | 2 |
付款 | 2 | 2 |
管理订单 | 2 | 1 |