UML 用例图 use case diagram

1. 什么是用例图

       用例图是被称为参与者的外部用户所能观察到的系统功能的模型图。(《UML参考手册》)。
       用例图列出系统中的用例和系统外的参与者,并显示哪个参与者参与了哪个用例的执行(或称为发起了哪个用例)。
       用例图多用于静态建模阶段(主要是业务建模和需求建模)。

2. 用例图作用

        1). 用例图是从用户角度描述系统功能, 是用户所能观察到的系统功能的模型图,用例是系统中的一个功能单元。
       2). 用例图非常直观的的表达了客户的需求,帮助开发团队以一种图形化的方式理解系统的功能需求。一般由系统需求分析师来完成用例图的绘制。
       3). 在需求分析和概要设计阶段明确系统内部和系统外部的交互。一看用例图就大概明白项目的功能需求。做模块的划分的时候也比较方便。
       4). 概括了用例中角色和系统之间的关系,描述了系统功能需求,角色和系统的交互以及系统的反应。是客户和开发人员全貌理解项目需求功能比较好的一个方式,也是后续功能迭代的依据和方向。
       5). 从外部定义系统功能把需求和设计完全分开。

3. 用例图中的事物

UML 用例图 use case diagram_第1张图片

4. 用例图中的关系

UML 用例图 use case diagram_第2张图片

要注意 关系的两端角色,是参与者和参与者之间的关系,还是用例和用例之间的关系,还是参与者和用例之间的关系。
(1). 关联关系:参与者和用例之间的关系,参与者和用例之间的交互,这个应该很好理解了。
(2). 包含关系:用例和用例之间的关系,包含关系。举个例子。
       比如 数据库操作用例,数据库添加用例,数据库删除用例,数据库更新用例。包含关系也出来了哦。

UML 用例图 use case diagram_第3张图片
(3). 扩展关系:用例和用例之间的关系,将基用例中一段相对独立并且可选的动作,用扩展(Extension)用例加以封装。扩展用例为基用例添加新的行为。扩展用例执不执行没什么影响。
       比如,这样一个案例,我们去ATM机取钱我们怎么知道我们还剩多少钱呢,1,取钱的时候直观的就看到了,2,短信提醒,3,邮件提醒。这样三个用例就出来了。 取钱提醒(基础用例),短信提醒(扩展用例), 邮件消息提醒(扩展用例)。
       当然这里你可能会有一个疑问 为什么他们三个之间不是泛化关系呢,我是这么理解不一定正确,因为我们取钱的时候已经知道了我取钱了短信 邮件我都无所谓了可有可无的东西。

UML 用例图 use case diagram_第4张图片

(4). 泛化关系: 继承,多态
       a). 用例之间的泛化关系:
       比如碰到过一个项目的需求,要开发一款手机APP 控制家里的家电设备,我们知道控制家电设备可以通过蓝牙控制,通过WIFI控制。那我就简单的划分三个用例, 控制用例,wifi控制用例,蓝牙控制用例。 这样应该算是泛化关系出来了吧。
UML 用例图 use case diagram_第5张图片

       b). 参与者之间的泛化关系:
       比如银行客户 普通客户,金卡客户,银卡客户 三者之间就是泛化的关系。

UML 用例图 use case diagram_第6张图片

5. 用例图的建模过程

1). 对用户的问题要有非常深刻完善的理解。
2). 根据客户的需求,分析出系统的功能点。
3). 确定系统中的参与者、用例,进而确定参与者和用例之间,用例和用例之间的关系。
4). 针对每一个用例都应该有一个用例规约文档与之相对应,该文档描述用例的细节内容。

6. 实例

        以银行操作为实例。简单用例图如下

UML 用例图 use case diagram_第7张图片

你可能感兴趣的:(UML)