UML用例图学习笔记
作者:互联网
用例图学习笔记
什么是用例图?
- 概念:用例图是站在外部参与者的角度,描述其所能观察到的系统功能,主要用于对系统和子系统的功能建模。
- 作用:展示用例之间、用例与参与者之间是怎样相互通信的,展示了系统提供的功能。
- 用例图:参与者(人)、用例(椭圆框)、系统(矩形框)、通信(参与者与用例间的连接线)
注意事项:绘制用例图时,所有的用例应该绘制在矩形框内,所有的参与者应该会旨在方框外。
用例图中的元素
- 参与者:为实现某个目标,请求系统执行用例的一种类型或一种角色,而不是一个具体的对象。
参与者可能是人、硬件设备、外部系统或时钟。
表示方法:图标表示、人形表示
参与者分类:
- 按参与者性质:外部系统、硬件设备、时钟、人
- 按参与者重要性:主要参与者、次要参与者
- 用例:对一组场景的共同行为的抽象,(场景:用例的一次完整的、具体的执行路径,即一系列操作。是为了实现某个目标,按照某种顺序执行的一系列相关操作的集合 )用例与场景的关系可类比于类与对象的关系。
表示方法:带名称(简单名(用例名)|全名(包名::用例名))的椭圆图形
用例图中的关系
- 参与者间的关系
泛化关系(如:读者是学生、教师的父类) - 用例间的关系
- 包含关系(用构造型《include》表示,指在基本用例内部的某个位置上显式的调用另一个用例):一个用例调用另一个用例时,被调用的用例称为包含用例,调用包含用例的是基本用例。
包含关系中,虚线箭头由基本用例指向包含用例,基本用例执行时,必定调用包含用例。
- 扩展关系(用构造型《extend》表示):两个相似用例A和B,B用例操作步骤中包含A用例的操作步骤。A用例定义为基本用例时,**B用例减去A用例后的剩余部分定义为扩展用例。**
扩展关系中,虚线箭头由扩展用例指向基本用例,基本用例执行时,只有满足特定条件才执行扩展用例。
- 泛化关系(箭头指向:带空心箭头的实线,箭头指向父类):多个子用例中抽取共同行为组成父用例,子用例可以继承父用例的行为、关系、和通信链接。
扩展用例和包含用例统称为抽象用例,抽象用例没有参与者,由基本用例对抽象用例实例化。
- 参与者和用例之间的关系
关联关系(一条实线表示,参与者指向用例):表示参与者和用例间的通信,这种通信是双向的。什么是组织用例?
1.概念:组织用例就是根据用例间(包含、扩展、泛化)的关系,把他们组织在一起。
2.基本用例:能直接实现用户目标的用例,对用户而言有价值的用例。直接由参与者实例化。
3.抽象用例:辅助用户实现其目标,如:包含用例、扩展用例。由基本用例实例化。
4.实例化:执行用例的具体操作行为。
如何实现组织用例?
1.定义所有用例,
1.分组比较:首先在系统中识别出一组用例,进行比较,识别和提取抽象用例。
2.组内封装:
- 如果一组中有相同的操作,就把相同的操作抽取出来封装为包含用例。
- 若某个用例比其他用例多出部分操作,就把多出来的操作封装为扩展用例。
- 最终系统由一组基本用例、包含用例、扩展用例组成。
什么是用例规格描述?
1.概念:对用例的详细执行流程进行描述。其中的事件流描述了用例执行的具体步骤。
2.组成元素:
-
事件流:用例执行操作时的有序集合(用例执行时,一系列操作组成的控制流)。
-----基本事件流--------:事件正常并成功执行的控制流 -----扩展事件流--------:事件执行出现意外情况时的控制流
-
用例模板:(用斜体字显示的项目为必须编写的部分)
-----自然语言格式--------: -----表格形式--------:![图中还可以有:用力概述、用例的设计范围、主要参与者、次要参与者、项目相关人利益说明、规则与约束、非行为需求](https://www.icode9.com/i/ll/?i=0710078bde7040a68c713230f9e37cc8.png?,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAQFZpdmlf,size_20,color_FFFFFF,t_70,g_se,x_16)
-
用例优先级:高——中——低,首先开发优先级较高的用例,目的是尽可能早地降低风险和不确定性
-
用例粒度(指用例执行时包含的步骤有多少):概述级——用户目标级——子功能级,从左往右不断细化用例
用例与协作
-
实现(一条带虚线的空心箭头,用例图中,由协作指向用例)
1.概念:用来描述类目间的语义关系,该关系中,一个类目描述合约,另一个类目实现这个合约。 -
用例与协作(用例由实线椭圆表示,协作由虚线椭圆表示,用力和协作都是类目)
1.协作:描述一组群体对象对外表现出的整体行为。用来实现某个用例的功能。其中的对象既包含静态结构,也有动态行为。
常用建模技术
- 对系统语境建模
存在于系统内部的事物的职责,正好是存在于系统外部的事物希望提供的行为,因此,存在于系统外部事物的集合,构成了系统的语境。 - 对软件需求建模
标签:关系,包含,扩展,笔记,用例,UML,执行,参与者 来源: https://blog.csdn.net/weixin_53083297/article/details/121451727