UML——用例图

用例图的含义:

  用例图是指由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的视图。用自己的话就是,外部参与者能够看到系统以及子系统的系统的功能的模型图。

用例图的构成:

  用例图由参与者、参与者(Actor)、用例(Use Case)、系统边界、关系组成。

参与者:

  参与者表示系统或者系统交互者中所扮演的角色,这个角色可是人,也可以是事物。但是这里需要注意的是描述的是事物或者人所表示的角色,而不是人或者物的本身。例如:小明和图书馆的关系,他既可以是管理者,来管理图书馆,也可以是借阅者,他扮演的是两种角色。因此在话用例图时,参与者要写借阅者或者管理者,不能写小明。其命名时一般都是名词。

用例:

  用例就是参与者想要系统实现的功能。其命名一般都是动词

关系:

  表示参与者和系统之间的关联关系。一般都是有参与者指向用例。

  在用例图中,关系包括三种:关联、包含、泛化、扩展。

——关联关系只是用在参与者和用例之间。

——泛化可以用在参与者和用例之间。

——包含和扩展只会用在用例之间。

参与者之间的泛化关系

  泛化就就如同继承,或者说就是继承的另一种说法。例如,机房收费系统中,有一般用户、操作员、管理员。这样我们经过总结,就知道三者之间有共同的特征——用户。通过泛化,来描述参与者之间的共同行为。

 UML——用例图_第1张图片

用例间的泛化关系

  用例与用例之间也存在着泛化关系,通常用于表示同一功能下(父用例)的具体实现(各个子用例)。例如机房收费系统中,查询功能和子功能之间的泛化关系。

  UML——用例图_第2张图片      

包含关系

  包含关系,就是前面的基本用例必须拥有被包含的用例,如果没有了被包含的用例,这个基本用例的功能是不完整的,也即使说,(被包含用例)非要不可。例如机房收费系统中的操作员,基本用例(编辑信息)与被包含用例(添加学生信息,修改学生信息,删除学生信息)之间的关系。

  经过百度查询:包含关系的划分有两个好处:一是被包含用例被抽取出来,基本用例得以简化;二是可以抽象出公共事件流,实现代码复用。

UML——用例图_第3张图片

扩展

  扩展用例实在基本用例的基础上扩展的,扩展用例相对基本用例是独立的,也就是说,可有可无。例如,系统中允许用户对查询的结果进行导出、打印。对于查询而言,能不能导出、打印查询都是一样的,导出、打印是不可见的。导入、打印和查询相对独立,而且为查询添加了新行为。

 UML——用例图_第4张图片       

对比包含关系和扩展关系

共同点:

  扩展用例与包含用例都是基用例的一部分

  基本用例不执行,扩展用例与包含用例都不会执行

  扩展用例可以扩展多个基本用例,包含用例可以被多个基本用例包含

区别:

  扩展关系中基本用例的基本流执行时,扩展用例不一定执行,即可有可无。

  包含关系中基本用例的基本流执行时,包含用例一定会执行。即缺一不可。

系统边界:

  参与者一般在系统边界外,用例一般在系统边界内。

你可能感兴趣的:(uml,▷7.2)——UML)