什么是用例分析?
Table of Contents
hide
用例图主要用于描述角色以及角色与用例之间的联系。解释谁将使用该系统以及他们可以用它做什么。
用例图包含多个模型元素,如系统、参与者和用例,并显示这些元素之间的各种关系,如泛化、关联和依赖。
它显示了外部用户可以观察到的系统功能模型图。用例帮助开发团队以可视化的方式了解系统的功能需求。
用例图的元素
用例图包含6个元素,即
- 演员
- 用例
- 协会
- 包括关系
- 扩展关系(扩展)
- 泛化关系

或者,您可以在用例图中放置系统边界以指示系统的范围。
演员
使用该系统的角色有哪些?不同的角色使用不同的系统功能,在用例图中用反派来表示。
- 外部实体
- 参与用例执行过程
- 参与者由他们在参与用例中所扮演的角色来表示
- 每个参与者都可以参与一个或多个用例
演员类型
- 系统的用户——真实的人,用户,是几乎每个系统中存在的最常见的参与者,他们应该根据角色来命名
与正在构建的系统交互的其他系统 - 外部程序——例如,当客户到还车时还没有还车,系统会提醒客服代表给客户打电话,时间或外部系统成为系统中的参与者
- 其他包括硬件设备、外部服务和外部数据库
如何找到系统参与者?
- 谁将使用系统的主要功能
- 谁需要系统的支持才能完成工作
- 谁需要维护和管理系统
- 系统需要处理哪些硬件设备
- 什么系统正在与这个系统交互
首发和支持者
- 谁或什么系统对该系统产生的结果感兴趣
- 发起者是用例的主要服务对象,
另一个是扮演支持者角色的参与者
用例之间的关系
关联关系(表示参与者和用例之间的关系。在UML中,通常用一条直线或带有指向信息接收者的箭头的直线表示)

用关系构建用例
扩展/扩展关系(是指在一定条件下,在现有用例中增加新的行为。得到的新用例称为扩展用例,原有的用例称为基本用例,相当于提供了一个附加功能用于基本用例。在UML中用带箭头的虚线表示,箭头指向基本用例)
包含关系(即可以简单地包含其他用例的行为,将其中包含的用例行为视为自身行为的一部分。在UML中常用带箭头的虚线表示,箭头指向包含的用例)
泛化关系(指一个父用例可以特化形成多个子用例,父用例和子用例之间的关系就是泛化关系。在UML中用空心三角形的实线表示箭头,箭头指向父用例)

用例示例
这里我从Visual Paradigm Online中选择一些你应该对业务相当熟悉的例子,例如ATM、DMS和订单系统。下图显示了一个 ATM 用例图示例,这是一个用于教授用例图的非常经典的示例。

下面的 文档管理系统 (DMS) 用例图示例显示了系统的参与者和用例。特别是,用例之间存在包含和扩展关系。

下面的 订单系统 用例图示例显示了系统中涉及的参与者和用例:
