简答题
用例的概念
用例是一组相关的成功和失败场景集合,用来描述参与者如何使用系统来实现其目标。
用例和场景的关系?什么是主场景或 happy path?
场景也称为用例实例。一个用例代表了场景的集合,包含主场景和一些可选场景。主场景相当于主要的系统交互,即成功场景。
用例有哪些形式?
- Brief 摘要
- Casual 非正式
- Fully 详述
对于复杂业务,为什么编制完整用例非常难?
复杂业务涉及的故事和场景非常多,用例的完全性依赖于其编写者。
什么是用例图?
用例图是指由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图。 用例图(User Case)是外部用户(被称为参与者)所能观察到的系统功能的模型图。
用例图的基本符号与元素?
符号 | 含义 |
---|---|
椭圆 | 表示每个用例 |
矩形框 | 表示整个系统 |
小人 | 绘制在矩形框外,表示参与者 |
连线 | 连接某一参与者与某一用例,表示该参与者和该用例有交互 |
箭头 | 用例之间的包含关系/扩展关系/泛化关系 |
用例图的画法与步骤
- 绘制“子系统”边界, 重命名“子系统”
- 绘制参与者(放在所有系统边界之外), 重命名参与者
- 绘制用例
a) 使用参与者自身能够理解的名称重命名用例,不要使用与代码有关的名称
b) 从主要的事务开始,直到后面较小的交互为止
c) 将每个用例放入支持它的系统或主要子系统(忽略只与用户有关的外观或组件)
d) 可以在系统边界外绘制用例,表明系统不支持该用例 - 将参与者与用例相连
- 使用“包括”、“扩展”和“泛化”关系结构化用例
用例图给利益相关人与开发者的价值有哪些?
- 利益相关人:更加清楚系统的功能和用途
- 开发者:更加清楚用户需求和软件使用方式,使软件架构的设计思路更清晰。
建模练习题(用例模型)
选择2-3个你熟悉的类似业务的在线服务系统(或移动 APP),如定旅馆(携程、去哪儿等)、定电影票、背单词APP等,分别绘制它们用例图。并满足以下要求:
- 请使用用户的视角,描述用户目标或系统提供的服务
- 粒度达到子用例级别,并用 include 和 exclude 关联它们
- 请用色彩标注出你认为创新(区别于竞争对手的)用例或子用例
- 尽可能识别外部系统和服务
选择背单词APP百词斩,绘制用例图。
然后,回答下列问题:
为什么相似系统的用例图是相似的?
因为相似系统的需求也相近,用户需要的功能相近,所以用例图也是相似的。
如何利用用例图定位创新思路(业务创新、或技术创新、或商业模式创新)在系统中的作用
因为用例图可以表示出用户在实现某个目标所需要经过的关键步骤,因此可以在这些关键步骤中寻找业务创新、技术创新、商业模式创新。比如背单词APP可以在问题的设置上寻求创新,百词斩的创新是以图片帮助记忆,扇贝的创新是由用户选择是否记得一个单词。