
文章插图
一个用例规约(use case specification)应该包含以下内容:
(1)用例的标识与名称;
(2)用例涉及到的参与者;
(3)用例的简要说明;
(4)相关的其它用例;
(5)用例执行的前置条件
(6)基本事件流;
(7)备选事件流;
(8)用例执行的后置条件;
(9)其它信息 , 如非功能性需求、设计约束、用例审核状态、编制者、修改记录等 。
下面是一个用例文档中对借阅图书用例的一个描述情况 。

文章插图
5
用例之间的关系
用例之间的关系主要包括泛化、包含和扩展三种 。
5.1 泛化关系
当多个用例拥有相似的属性或行为时 , 我们可以将它们的共性抽象为父用例 , 而其它用例作为泛化关系的子用例 。子用例继承父用例中的属性和行为 。
用例的泛化关系可以理解为同一业务目的的不同实现路径 。
泛化(Generalization)关系在图形上使用带空心三角形箭头的实现表示 , 箭头由子用例指向父用例 。

文章插图
上面这个例子中 , “使用 支付”和“使用 支付”是“支付”的子用例 。在父用例“支付”中并不提供具体的支付方式 , 只提供支付必须的属性和接口 , 而在其子用例中实现具体的支付功能 。
5.2 包含关系
在系统建模过程中 , 有些功能在不同业务情境中需要反复使用 。这些反复使用的功能可以单独剥离出来形成一个单独的用例 , 而在执行相关功能时 , 可以把剥离出来的公共功能再包含到主流程中去 。用例的包含关系就可以描述这种情形 。另外 , 如果一个基本用例的功能过多时 , 也可以把其拆解成多个小的用例 。
被包含的用例称作提供者用例 , 包含其它用例的用例称作客户用例 。
在UML中 , 包含(include)关系使用带<<include>>构造型的虚线箭头表示 , 箭头由基本用例(包含用例/客户用例)指向被包含的用例(提供者用例) 。

文章插图
下面是一个具体的例子:

文章插图
在这个例子中 , 读者要预借图书 , 他需要执行查询图书用例 , 才能执行预借图书 , 所以查询图书用例将被包含到预借图书用例中来 , 同时 , 读者要执行预借图书时 , 前提他必须已经登录到系统中 , 系统已经保存了他的登录状态才能执行预借操作 , 所以验证身份用例也将被包含到预借图书用例中来 。查询图书即是一个读者要求具有的一个基本功能 , 又是其它功能的一个必要操作过程 。验证身份不仅在预借图书时要用到 , 还要在执行如查询借阅记录、缴纳罚款时等用到的一个功能 , 把验证身份单独提出来形成一个用例比较合适 。
5.3 扩展关系
基本用例提供扩展点 , 在扩展点中可以添加新的行为 , 扩展用例提供了一组插入片段 , 这些片段能插入到基本用例的扩展点上 。
基本用例仅提供扩展点 , 而不必知道扩展用例的任何细节 。
基本用例即使没有扩展用例也是完整的 , 这与包含关系不同 。
一个用例可以提供多个扩展点 , 每个扩展点也可出现多次 。
一般情况下 , 基本用例的执行不会涉及到扩展用例 , 只有在特定条件或事件发生时 , 才会执行扩展用例的功能 。
在UML中 , 扩展关系使用带构造型<<extend>>的虚线箭头表示 。箭头由扩展用例指向基本用例 。

文章插图
下面这个例子是图书馆借阅系统中 , 一个用例图片段:

文章插图
在这个例子中 , 缴纳罚款即是读者的一个基本用例 , 也是归还图书的一个扩展用例 。
- HOTTOYS发布《复仇者联盟4:终局之战》战损版灭霸!
- 小米手机重启小技巧 小米手机怎么强制重启手机
- 新旧混凝土如何连接
- 教你几种特别实用的方法 pdf文件变小的简单方法
- 现在亚马逊电商怎么做 怎样在亚马逊网上开店
- 录屏时的小白点取消方法 oppo录屏结束后白点还在怎么取消
- 2023年必玩游戏盘点 2023热门网游
- 恐龙在什么时候灭绝
- 冰箱十大品牌2021排行榜 冰箱十大品牌2022排行榜
- 世界十大名犬排行榜图片 世界十大名犬排行榜图片大全加名字
