用例图的表达方式为: 用例图 = 参与者 + 用例 + 关系 Use Case Diagram = Actor + Use Case + Relationship
参看下面的用例图:
上图有参与者以及用例,还有用例之间的关系。
该用例表示:图书管理员可以执行这些操作 1.新增书籍信息 2.登记外借信息 3.统计金额和册数 4.查询书籍信息【查询外借信息 修改书籍信息】
该用例只是简单的表示参与者与用例之间的关系,实际上一个用例可能要与系统的一个或几个参与者交互。
下面的这个用例图:
这个用例图包含了系统边界【表示建模系统的边界,边界内表示系统的内部,边界外表示系统的外部】
用例之间的关系
1、泛化关系(Generalization):子用例从父用例处继承行为和属性,还可以添加行为。
Create Order是对Create WholeSale Order和Create Retail Order的泛化,泛化关系使用实现空心箭头来表示,箭头指向父用例。除了用例之间的泛化关系参与者也具有泛化关系。在实际中很少使用泛化关系。
2、扩展关系(Extend):把新行为插入到已有的用例的方法。基础用例提供了一组扩展点,这些扩展点可以添加新的行为,扩展用例提供了一组插入片段。
对Compare Inventory:比较库存 进行了扩展,扩展1:创建购买合同 扩展2:Stack Out:出库
3、包含关系(Include):把几个用例的公共步骤分离成一个单独被包含用例.
在这里评估包含 风险分析 和交易评估。
三种关系之间的比较:
包含关系中,执行基本用例时一定会执行包含用例
扩展关系中,执行基本用例时,扩展用例可执行也可不执行
泛化关系中,用例之间相互独立
图书管理系统的用例图: