用例建模 – 绘制用例图
文章目录
简答题
1.用例的概念
在软件和系统工程中,用例是一系列系统的操作或事件步骤,通常通过用户的使用场景来获取需求。每个用例会提供一个或者多个场景,用场景说明系统怎样和用户或其他系统交互,从而获得一个明确的业务目标。
2.用例和场景的关系?什么是主场景 或 happy path?
- 用例和场景的关系
- 每个用例提供了一个或多个场景。其中场景指的是使用场景,用于说明系统可以做什么,系统是如何和用户或其他系统交互的,从而获得一个明确的业务目标。
- 主场景 或 happy path
- 每个用例都包含一个主场景,这个场景是用户和系统发生主要交互,是最常用实现用户目标的场景。
3.用例有哪些形式?
- 三种常见的用例形式:
- Brief(high level):简洁型,通常是简短的一段总结,描述主要的成功场景,在早起需求中快速了解主题和范围,可以快速创建。
- Casual:随意型,非正式的段落格式,涵盖各种场景的多个段落。
- Fully:完整型,所有的步骤和变化都写得很详细,并有支持部分,如先决条件和成功的保证。
4.对于复杂业务,为什么编制完整用例非常难?
复杂业务涉及到的场景比较多,业务流程复杂繁琐,场景之间也有各种关联,如果要编制完整的用例,需要熟悉各种业务场景和流程,还需要建模相关知识,注意用户交互的细节,并且增加了提取一个场景中的主要元素的难度。
5.什么是用例图?
用例图是指由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图,也是外部用户所能观察到的系统功能的模型图。
6.用例图的基本符号与元素?
用例图的基本符号与元素如下图:
- 参与者:符号是一个小人
- 用例:符号是一个圆框
- 系统边界:符号是一个方框
- 关联关系:符号是一个虚线箭头:—->,箭头指向消息接收方
- 包含关系:符号是一个虚线箭头,有<>标识。箭头方向指向被包含者
- 扩展关系:符号是一个虚线箭头,有<>标识,箭头方向指向被继承者
- 泛化关系:符号是一个实线箭头,箭头是个小三角,指向父用例
7.用例图的画法与步骤
首先先确定系统边界
确定参与者
- 确定谁使用该系统主要功能,需要该系统的支持以完成其工作,需要维护、管理该系统,保持该系统处于工作状态,对本系统结果感兴趣,与本系统有关的人或系统等。
识别用例
- 特定参与者希望系统提供什么功能,由哪个参与者触发、当系统改变状态时,是否通知参与者、是否存在影响系统的外部事件等。一般以动词开头描述某件事情。
确定用例间的关系
- 思考用例之间的业务关系,如包含关系、扩展关系和泛化关系。
确定关联的外部支持系统
8.用例图给利益相关人与开发者的价值有哪些?
用例图描述了一个系统的主要功能以及怎样去使用,可以让人清楚的知道系统的各个模块以及各部分功能的关系,对系统进行了可视化,在开发过程可以起到指导作用,能够帮助更合理的进行人员的安排。也可以便于向用户阐述系统功能。
建模练习题(用例模型)
- 选择2-3个你熟悉的类似业务的在线服务系统(或移动 APP),如定旅馆(携程、去哪儿等)、定电影票、背单词APP等,分别绘制它们用例图。并满足以下要求:
- 请使用用户的视角,描述用户目标或系统提供的服务
- 粒度达到子用例级别,并用 include 和 exclude 关联它们
- 请用色彩标注出你认为创新(区别于竞争对手的)用例或子用例
- 尽可能识别外部系统和服务
然后,回答下列问题:
1.为什么相似系统的用例图是相似的?
- 对于上面的订票和订餐系统其实用例图的业务逻辑类似,所以他们的用例图是相似的。对于相似的系统主要业务逻辑类似,而且用例的类型基本一致。比如搜索,下单这些基本功能都是相同的,而且子用例的关系也类似,主要是针对不同的场景会扩展一些不同的子用例。
2.如果是定旅馆业务,请对比 Asg_RH 用例图,简述如何利用不同时代、不同地区产品的用例图,展现、突出创新业务和技术
- 可以新增根据游客想要去的景点或者旅游路线去推出适合的旅馆,也可以通过酒店提供的风格,特色服务等结合用户的喜好而推出酒店还有就是APP的开屏做一个最佳酒店展示,可以简单介绍每一期的特色酒店。
3.如何利用用例图定位创新思路(业务创新、或技术创新、或商业模式创新)在系统中的作用
- 在用例图中对创新用例使用某种颜色进行高亮标记。这样开发人员与需求方就能快速找到并且了解系统创新功能,以及知道创新模块的相关依赖和输入输出结果。
4.请使用 SCRUM 方法,选择一个用例图,编制某定旅馆开发的需求(backlog)开发计划表
ID | Name | Imp | Est(man-day) | How to Demo | Notes |
---|---|---|---|---|---|
1 | 注册 | 20 | 2 | 注册时使用输入手机号码然后接收验证码验证的形式 | 成功注册后直接进入主页 |
2 | 登录 | 15 | 2 | 使用手机号码和验证码进行登录 | 需要保持登录状态 |
3 | 搜索旅馆 | 20 | 5 | 提供搜索界面,输入旅馆的名称可以匹配包含字符串的合适旅馆,并且显示结果 | 显示结果可以按照字母表排序也可以按照旅馆距离用户现在的距离排序 |
4 | 预定房间 | 20 | 3 | 用户可以选择预定房间的天数,并且判断这些天是否都是空房然后进行下单预定 | 下单后会锁定房间,其他用户不能预定被预定的房间 |
5 | 支付订单 | 25 | 2 | 用户下单预定后在15分钟内需要完成支付 | 可以接入支付宝和微信支付的API |
6 | 查询 | 10 | 1 | 用户能够查询自己的订单情况 | 未支付和支付的订单都能查询 |
- 5.根据任务4,参考 使用用例点估算软件成本,给出项目用例点的估算
用例 | 事务 | 计算 | UC权重 |
---|---|---|---|
注册 | 2 | 1 | 简单 |
登录 | 2 | 1 | 简单 |
搜索旅馆 | 3 | 2 | 平均 |
预定房间 | 3 | 4 | 复杂 |
支付订单 | 4 | 1 | 简单 |
查询 | 3 | 1 | 简单 |