1、简答题
- 用例的概念
- 是软件工程或系统工程中对系统如何反应外界请求的描述,是一种通过用户的使用场景来获取需求的技术。每个用例提供了一个或多个场景,该场景说明了系统是如何和最终用户或其它系统互动,也就是谁可以用系统做什么,从而获得一个明确的业务目标。
- 在UML的文档中,用例的定义是:在不展现一个系统或子系统内部结构的情况下,对系统或子系统的某个连贯的功能单元的定义和描述。
- 用例和场景的关系?什么是主场景或 happy path?
- 每个用例提供了一个或多个场景,场景是用例的实例。主场景对应于系统主要的交互,通常是成功的场景,是最常用的直接地实现用户目标的场景。
- 用例有哪些形式?
- 概要型:简洁的一段式概要,通常用于主成功场景
- 简便型:非正式的段落格式,包含多种场景
- 完整型:所有的步骤和变化都十分详细
- 对于复杂业务,为什么编制完整用例非常难?
- 由于复杂的业务涉及的场景可能特别多,有些业务可能在用例中难以描述清楚或不适合描述,但是如果场景不够全面,那么用例的完整性就难以保障
- 什么是用例图?
- 用例图是指由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图。
- 用例图的基本符号与元素?
- 小人:参与者
- 椭圆:用例
- 方框:系统
- 虚线箭头,无<>标识:关联关系
- 虚线箭头,有<>标识。箭头方向指向被包含者:包含关系
- 虚线箭头,有<>标识,箭头方向指向被继承者:扩展关系
- 空心箭头:泛化关系
- 用例图的画法与步骤
- 确定参与者
- 确定系统边界
- 识别用例
- 确定用例之间的关系
- 用例图给利益相关人与开发者的价值有哪些?
- 利益相关人可以直观看到系统的结果和用户的功能体验,保证系统按照其需求进行设计。而对于开发者,这细化了用户的需求,以及软件的使用方式,可以使得软件架构的设计思路更加清晰
2、建模练习题(用例模型)
- 选择2-3个你熟悉的类似业务的在线服务系统(或移动 APP),如定旅馆(携程、去哪儿等)、定电影票、背单词APP等,分别绘制它们用例图。并满足以下要求:
- 请使用用户的视角,描述用户目标或系统提供的服务
- 粒度达到子用例级别,并用 include 和 exclude 关联它们
- 请用色彩标注出你认为创新(区别于竞争对手的)用例或子用例
- 尽可能识别外部系统和服务
飞猪订旅馆
淘票票订电影票
- 然后,回答下列问题:
- 为什么相似系统的用例图是相似的?
- 因为在相似的系统中用户的需求也是近似的,所以会有差不多的基本功能。
- 如果是定旅馆业务,请对比 Asg_RH 用例图,简述如何利用不同时代、不同地区产品的用例图,展现、突出创新业务和技术
- 由于不同时代、不同地区的用户偏好可能不一样,可以在不同的地区统计用户选择的偏好并进行推荐
- 如何利用用例图定位创新思路(业务创新、或技术创新、或商业模式创新)在系统中的作用
- 可以查看业务创新部分是属于用例图的哪一部分来具体监视数据,以便确定创新的作用是好或坏。
- 请使用 SCRUM 方法,选择一个用例图,编制某定旅馆开发的需求(backlog)开发计划表
- 为什么相似系统的用例图是相似的?
ID | Name | IMP | Est | How to demo | Notes |
---|---|---|---|---|---|
1 | 注册 | 20 | 3 | 利用手机号注册 | 确保手机号等信息不泄露 |
2 | 登录 | 20 | 5 | 利用已注册手机号或者第三方账号进行登录 | |
3 | 搜索酒店 | 80 | 10 | 选择城市、日期、酒店星级/价格、地区等信息 | 筛选结果需要精确 |
4 | 预订酒店 | 30 | 3 | 选择具体酒店的具体房间进行预订 | |
5 | 管理订单 | 60 | 7 | 对预订下单进行支付或取消处理;对已下单进行申请取消退款 | 支持主流付款方式 |
- 根据任务4,参考 使用用例点估算软件成本,给出项目用例点的估算
用例 | 事物 | 计算 | 原因 | UC权重 |
---|---|---|---|---|
注册 | 1 | 1 | 手机号注册 | 简单 |
登录 | 2 | 2 | 可以用注册的手机号或者第三方账号登录 | 简单 |
搜索酒店 | 10 | 8 | 有多种搜索酒店的方式 | 复杂 |
预订酒店 | 5 | 4 | 高并发的订单处理 | 平均 |
管理订单 | 8 | 7 | 需要对多个且不同状态的订单进行筛选 | 平均 |