用例(Use Case)
定义 用例是一个描述用户在使用系统达到目标时所遇到的所有有关的成功和失败的场景的集合。
性质
- 用例是用文本描述的,而不是用图表描述。
- 用例不是面向对象的。
- 对于传统的面向对象分析\设计来说,用例是关键的需求输入。
- 确定和描述系统的程序性需求。
- 在用户和软件设计师之间进行调解。
- 给定一个系统应该做的事情的准确描述。
- 为执行验证系统交付功能的测试提供基础。
- 把程序性需求跟踪到实际的类和系统的操作中。
- 场景是参与者和系统之间一系列特定动作和会话,也称之为用例的实例。
- 是使用系统时一个特定的故事或者一条穿过用例的路线。
- 主场景/基本流:对应主要的系统交互,经常是“成功”的场景。
- 可选场景/备选流:对应较少发生的交互和意外。
【系统分析与设计——Use Case学习报告】用例模型即所有写下来的用例的集合,是系统的程序性和环境的黑盒模型。可以选择性地包含一个UML用例图来表示用例和参与者的名称以及他们之间的关系。
三种常见的用例格式
- 概要格式
简洁的一段摘要,通常是主要的成功场景。
在进行早期需求分析时,要快速了解主题和范围。可能只需几分钟就可以创建。 - 简便格式
非正式段落格式,涵盖不同场景的多个段落。 - 全面格式
所有的步骤和变化进行了详细的论述,并有配套的部分,如前提和成功的保证。
拿我们的扫码点餐作为例子:
首先要确定用例的一些参与对象:
* 目标:实现一个能让来餐馆点餐的顾客通过使用手机扫描餐桌上的二维码,并根据上面的指示完成点餐的系统,而且这个系统能让餐馆的老板进行餐桌的更改。
* 参与者:顾客,餐馆老板,厨房。
* 主要场景:顾客进入餐馆,选定一张餐桌坐下,然后扫描餐桌的二维码,进入到我们的系统,选择想要的菜品,加入购物车,然后下订单,支付订单。订单信息通过我们的系统到厨房的小票打印机,然后打印订单,厨房拿到订单,制作菜品,然后送到顾客的餐桌上。
* 可选的场景列表:
1. 顾客在完成用餐之后,再次打开系统,选中订单的菜品,进行打分以及评价或收藏。
2. 顾客在选择菜品时,可以看到菜品的分数以及前面顾客留下的评价。
3. 顾客发现在支付成功之后,菜品长时间(20分钟以后)没有上来,可以点击系统的催单按钮,这时会向厨房传递一个催单语音。
4. 顾客可以进入系统的个人页面,观看历史订单,并有附近店面推荐系统。
在设定了前面对象之后,我们就可以写用例分析了,注意用例主体是由文字描述的,必要的时候可以通过一些图(用例图或UML活动图)来辅助说明。
UML活动图:
文章图片
用例图:
文章图片