文章目录
一、简答题
1. 用例的概念
- 用例:是软件工程或系统工程中对系统如何反应外界请求的描述,是一种通过用户的使用场景来获取需求的技术。
2. 用例和场景的关系?什么是主场景或 happy path?
- 一个用例提供一组场景,包括主场景和可选场景,用来描述参与者如何使用系统来实现其目标。
- 主场景:直接实现用户目标的场景,通常涉及主要的系统交互。
3. 用例有哪些形式?
- 摘要用例:简短的一段总结,通常是主场景。在早期的需求分析中,为了快速了解主题和范围,可在短时间内编写出来。
- 非正式用例:非正式段落格式。涵盖各种场景的多个段落。
- 完整用例:详细描述了所有步骤和变化,考虑繁琐的细节,内容较多。
4. 对于复杂业务,为什么编制完整用例非常难?
- 复杂业务的需求多,往往需要多个用例来描述。但是由于业务的复杂性,用例的增加也只能覆盖大部分已出现的情形,而无法完全覆盖所有情景。同时,用例可能会遗漏一些关键信息或包含错误的陈述。
5. 什么是用例图?
- 用例图是由参与者、用例、边界以及它们之间的关系构成的用于描述系统功能的视图。
6. 用例图的基本符号与元素?
-
基本符号
-
元素
-
参与者:
系统以外的在使用系统或与系统交互中扮演的角色。 -
用例:
外部可用的系统功能,对系统提供的服务进行描述。 -
系统边界:
用来表示正在建模的系统的边界。 -
关系:包括关联、泛化、包含、扩展
- 关联:说明了参与者与用例之间的通信,任何一方都可以发送或接受信息,箭头指向的是消息的接收方。
- 泛化:继承关系。
- 包含:包含关系用来把一个较复杂用例所表示的功能分解成较小的步骤,箭头指向分解出来的功能用例。
- 扩展:扩展关系是指当前用例功能的延伸,相当于给当前基础样例提供附加的功能。箭头指向原来的基础样例
- 关联:说明了参与者与用例之间的通信,任何一方都可以发送或接受信息,箭头指向的是消息的接收方。
7. 用例图的画法与步骤
- 确定系统边界,写明系统名称
- 确定参与者
- 确定参与者之间的关系
- 根据需求创造用例
- 确定参与者与用例之间的关系
- 确定用例与用例之间的关系
- 将其他支持用例的系统放置在系统框的右边
8. 用例图给利益相关人与开发者的价值有哪些?
- 明确系统的业务范围和服务
- 提供了对总体需求的直观理解,使得开发者能够更明确地获得需求、理解需求
- 开发者可以估计项目的规模和复杂性,根据需要对复杂程度和形式化程序进行增减调节
- 用例图可以指导开发和测试,同时可以在整个过程中对其他工作流起指导作用
二、建模练习题
选择2-3个你熟悉的类似业务的在线服务系统(或移动 APP),如定旅馆(携程、去哪儿等)、定电影票、背单词APP等,分别绘制它们用例图。
1. 携程预订酒店
2. 淘票票
- 回答下列问题:
- 为什么相似系统的用例图是相似的?
答:因为在相似的系统中,用户需求是相似的,对应的用例场景也相似,所以用例图也是相似的。 - 如果是定旅馆业务,请对比 Asg_RH 用例图,简述如何利用不同时代、不同地区产品的用例图,展现、突出创新业务和技术
- 引入了第三方的地图系统,可以使客户更直观地看到酒店所在位置
- 增加打分评论系统,有助于客户选择质量更好的旅馆
- 支持支付宝和微信支付等移动支付方式,方便使用
- 相比起Asg_RH,携程有很多的优惠活动,可以更好地吸引客户
- 如何利用用例图定位创新思路(业务创新、或技术创新、或商业模式创新)在系统中的作用
答:对不同方面的创新的用例,使用不同颜色背景的用例图表示 - 请使用 SCRUM 方法,选择一个用例图,编制某定旅馆开发的需求(backlog)开发计划表
ID | Name | Imp | Est | How to demo |
---|---|---|---|---|
1 | 登录 | 30 | 10 | 用户输入用户名和密码,确认登录 |
2 | 查询 | 50 | 20 | 用户输入目的地、入住日期、退房日期、星级等信息后,系统根据输入信息生成一个酒店列表 |
3 | 预订 | 80 | 30 | 用户选择酒店后,根据入住人数选择房型,并确认自己的联系方式 |
4 | 支付 | 60 | 20 | 用户选择支付方式,完成支付 |
- 根据任务4,参考 使用用例点估算软件成本,给出项目用例点的估算
用例 | 业务 | 计算 | 原因 | UC权重 |
---|---|---|---|---|
登录 | 5 | 2 | 简单 | |
查询 | 7 | 5 | 简单 | |
预订 | 10 | 6 | 框架 | 平均 |
支付 | 8 | 3 | 平均 |