一、用例图
用例图向用户展示了其捕获的系统、子系统、类或者组件的行为。简单而言,谁使用这个系统能做什么。
1.1 用途
描述参与者与用例之间通信。可以以不同的视角展现系统的功能性需求。外部用户能够观察到的系统功能、对客户来讲,用例视图是他们业务领域的逻辑化表达;对于开发者,用例图是系统蓝图、开发依据。
1.2 图元素
(一)参与者/执行者(actor)
执行者是系统、子系统或类发生交互作用的外部用户、进程或者其他系统理想化角色。
(二)用例
用例是一个外部可见的系统内聚功能单元,功能单元由一种被称为主体(subject)的类所提供。用例的目的是在不揭示主体内部结构的情况下定义一个连贯行为。例如:产品维护。产品维护包括增删改查。
(三)关系
用例图中涉及的关系有:关联、泛化、包含、扩展。
- 包含:一个用例包含其他用例、并把它作为自身的片段、这被称为包含关系。
- 扩展:一个用例可以被定义为基用例的增量扩展、这叫做扩展关系。扩展关系箭头指向被扩展的用例。
- 泛化:一个用例可以被细化分为一个或多个子用例。任何子用例都可以用于其父用例能够应用的场合。
(四)其他、注释
1.3 使用案例
简单的购物系统中部分功能用例图。
描述:
- [购买者会员]、[系统管理员] 可以看做是参与者/执行者。(一个实际用户可以是多个参与者,参与者类似于角色,一个人可以有多个角色一样)
- [购买者会员]和【商品查询】用例交互。
- 【电子产品查询】用例继承【商品查询】,是一种泛化关系。
- 【商品信息维护】包含了【产品信息修改】用例和【商品查询】用例
- 对[系统管理员]参与者进行说明
- 【导出电子产品查询】是对【电子产品查询】 扩展。(在基础用例上插入附加的行为,基础用例并不知道);如果将【导出电子产品查询】作为【电子产品查询】作为自身的一个片段,表示为包含关系。作者认为也是可行的。
参考
- 《大象Thinking in UML》
- 《UML参考手册》