系统分析与设计(4)
简答题
1、 用例的概念:
用例是软件工程或系统工程中对系统如何反应外界请求的描述,是一种通过用户的使用场景来获取需求的技术。是一组描述参与者使用系统实现目标的相关成功和失败场景的集合。
2、用例和场景的关系?什么是主场景或 happy path?
一个用例是许多场景的集合,包含主场景和一些可选场景。
主场景也称happy path,对应系统的主要的交互,通常是成功的场景。主场景是最常用的,能直接地实现用户目标的流程。
3、用例有哪些形式?
- Brief:通常是简短的一段总结,描述主场景,在早起需求中可以快速了解主题和范围,方便快速创建。
- Casual:非正式的段落格式,涵盖各种场景的多个段落。
- Fully:所有的步骤和变化都写得很详细,并有支持部分,如先决条件和成功的保证。
4、对于复杂业务,为什么编制完整用例非常难?
因为复杂业务会有很多流程,同时会涉及到很多个场景,我们很难按照需求完整的、有序的安排好其中的每一个流程和每一个场景。
5、什么是用例图?
用例图是指由参与者、用例,边界以及它们之间的关系构成的用于描述系统功能的视图,也是外部用户所能观察到的系统功能的模型图。
6、用例图的基本符号与元素?
- 系统:用一个矩形框表示。
- 参与者:用一个小人表示。
- 用例:用一个椭圆表示。
- 关联关系:用带箭头的实线表示,箭头指向消息接收方。
- 泛化关系:符号是一个实线箭头,指向父用例。
- 包含关系:用带箭头的虚线表示,有< includes >标识。箭头方向指向被包含者。
- 扩展关系:符号是一个虚线箭头,有< extends >标识,箭头方向指向被继承者。
7、用例图的画法与步骤
- 确定系统边界
- 确定参与者
- 确定每一个用例
- 确定用例间关系、用户和用例间关系
- 确定外部系统对用例的支持
8、用例图给利益相关人与开发者的价值有哪些?
通过用例图,开发者和利益相关人可以直观的看到系统的每一个功能,以及功能与功能之间的关系,使得开发者的思路更加清晰。利益相关人也可以根据用例图直观的获取自己想要的信息。
建模练习题(用例模型)
选择2-3个你熟悉的类似业务的在线服务系统(或移动 APP),如定旅馆(携程、去哪儿等)、定电影票、背单词APP等,分别绘制它们用例图。并满足以下要求:
- 请使用用户的视角,描述用户目标或系统提供的服务
- 粒度达到子用例级别,并用 include 和 exclude 关联它们
- 请用色彩标注出你认为创新(区别于竞争对手的)用例或子用例
- 尽可能识别外部系统和服务
然后,回答下列问题:
1、为什么相似系统的用例图是相似的?
因为对于相似的系统,业务逻辑都是相似的,所以在绘制用例图的时候所产生的用例和用例间的关系都是相似的,最终导致绘制出来的用例图是相似的。而不同点就是各个系统的特色。
2、如果是定旅馆业务,请对比 Asg_RH 用例图,简述如何利用不同时代、不同地区产品的用例图,展现、突出创新业务和技术。
可以改进推荐算法,根据用户的历史订购业务以及当地的实际旅馆情况为用户推荐真正适合其目前情况的旅馆。
3、如何利用用例图定位创新思路(业务创新、或技术创新、或商业模式创新)在系统中的作用
通过观察创新用例在用例图中的位置以及与其他用例的关系可以确定该用例在系统的作用。
4、请使用 SCRUM 方法,选择一个用例图,编制某定旅馆开发的需求(backlog)开发计划表。
ID | Name | Imp | Est | How to Demo | Note |
---|---|---|---|---|---|
1 | 登录 | 6 | 3 | 根据用户的账户名和密码进行登录 | 可以根据微信账号等方式登录 |
2 | 搜索酒店 | 8 | 4 | 根据用户输入的酒店名称搜索到相应的旅馆 | 支持模糊搜索、关键字搜索等模式 |
3 | 预定房间 | 10 | 5 | 查看酒店的房间信息之后根据自己的需求预定相应房间 | |
4 | 支付订单 | 6 | 2 | 选择支付方式后支付订单 | 可以选择微信、支付宝等多种支付方式 |
5 | 评价 | 5 | 2 | 结束后可以对此次交易进行评价 |
5、根据任务4,参考 使用用例点估算软件成本,给出项目用例点的估算
用例 | 事务 | 计算 | 原因 | UC权重 |
---|---|---|---|---|
登录 | 3 | 2 | 多种登录方式 | 简单 |
搜索 | 7 | 4 | 支持模糊搜索等 | 一般 |
预定 | 4 | 2 | 酒店的全部房间信息 | 一般 |
支付 | 10 | 5 | 多种支付方式以及保证支付安全 | 复杂 |
评价 | 4 | 2 | 用户交互 | 简单 |