UML 用例图以及UML的八种关系

小编终于在学习的道路上又前进一步啦,进度很慢,但是在走,小编今天学习完了UML中的第一个图——用例图,来分享给大家我的学习成果呀~

首先,一张总体的知识脉络导图献上:

《UML 用例图以及UML的八种关系》

 

UML视图:4+1视图:互相关联的视图:用例视图(椭圆形)、设计视图、实现视图、部署视图、进程视图。

用例视图覆盖了其他四个视图,是关键。

 

一、什么是用例图?

用例图描述了一组用例、参与者以及它们之间的关系。

使用阶段:软件需求分析

使用者:软件分析人员、软件开发人员

用例模型:表明开发者和用户对需求规格达成的某种共识。

用例模型:把系统看成黑盒子,外部,不考虑功能怎么实现,只考虑有什么功能。

用例图:用来描述用户的需求。从用户的角度描述系统的功能,并指出各功能的执行者,强调谁在使用系统,系统为执行者完成哪些功能。

 

二、用例图(Use Case Diagram)的内容:

1.用例图的基本的元素:用例(Use Case)、角色、关系

用例:系统的功能的描述

角色:功能执行者

关系:依赖关系,泛化关系,关联关系、拓展关系、包含关系,以及复用关系

 

(1)用例(Use Case):系统的功能的描述

什么是Use Case?

        Use Case是对系统功能的描述。不过一个Use Case描述的是整个系统功能的一部分,这一部分一定要是在逻辑上相对完整的功能流程。

用例的名称:需要反映出来用例的功能

用例图的图符:椭圆形

《UML 用例图以及UML的八种关系》

(2)角色/参与者(Actor):功能执行者

什么是Actor?

       Actor是系统外部的一个实体(可以是任何的事物或人),它以某种方式参与了用例的执行过程。

 

角色:可以触发某种事件,可以进行输入信息,还可以从系统被动的接受信息。所谓角色不一定是人,还可以是某些事或物。

角色:

  • 哪些是直接使用系统的人,哪些维护人员
  • 系统的外设(打印机等)
  • 需要和这个系统相连的系统

图形表示:

执行者:一个小人(执行者可以是人或物)

《UML 用例图以及UML的八种关系》

(3)用例图中涉及的关系:泛化关系,关联关系、拓展关系、包含关系

《UML 用例图以及UML的八种关系》

关系:用例与用例之间,执行者与执行者之间,执行者与用例之间。

关系含义及图符表示:

a.关联关系(Association)(有关联的):

关联关系 表示参与者与用例之间的通信,任何一方都可发送或接受消息。

符号表示:带箭头的实线,箭头指向消息接收方

《UML 用例图以及UML的八种关系》

管理员与查询用户这个用例之间是关联关系,查询用户又有两个子用例:查询教师、查询学生

 

b. 泛化关系(Inheritance)(继承关系):

泛化关系 就是通常理解的继承关系,子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。

符号表示:直线+空心三角,指向父用例

《UML 用例图以及UML的八种关系》

 

  泛化关系可以是用例之间的,可以是角色之间的。可以做到代码复用。

 

c. 包含关系(Include)

包含关系  用来把一个较复杂用例所表示的功能分解成较小的步骤。

符号表示:带箭头的虚线:指向分解出来的功能用例

《UML 用例图以及UML的八种关系》  

子用例的方法可以被父用例复用。

 

d.拓展关系(extend):

扩展关系是指用例功能的延伸,相当于为基础用例提供一个附加功能。扩展用例并不在基本用例中显示。

符号表示:带箭头的虚线:指向基础用例

扩展用例在一定条件下才会用到,正常的基本流不会用到扩展用例。

下面几种情况可以用使用扩展:

1、当表明用例的某一部分是可选的系统行为;

2、当表明只在特定条件下才执行的分支流; 

3、.当表明可能有一组行为段,其中的一个或多个段可以在基本用例中的扩展点处插入。所插入的行为段和插入的顺序取决于在执行基本用例时与主角进行的交互。

例如:学生去图书馆还书,如果学生所借的书遗失的话,那么需要赔偿。遗失赔偿用例是在一种特殊的情况下才会被执行的分流。

《UML 用例图以及UML的八种关系》

 

e. 依赖(Dependency)

  以上4种关系,是UML定义的标准关系。但VS2010的用例模型图中,添加了依赖关系,用带箭头的虚线表示,表示源用例依赖于目标用例。

符号表示:带箭头的虚线:箭头指向被依赖项

《UML 用例图以及UML的八种关系》

f. 复用关系:重复的部分抽象处理,复用。(了解)

 

例子:图书借阅用例图:

《UML 用例图以及UML的八种关系》

 

三、用例图的属性

1.事件流:用例在执行时,执行者和系统之间的交互关系。分为基本流和备选流。
  基本流:是经过用例最简单的路径,即正确完成一个用例的基本流程,这条流程无任何差错,程序直接从开始到结束。
  备选流:即在用例执行中出现的各种错误情况,比如在登录界面什么都不输入或者密码输入错误就属于备选流,而基本流就是账号和密码都输入正确,并顺利进入主界面。备选流也有可能导致用例结束。

2.前置条件:用例执行的前提条件,说明在什么条件下可以开始执行一个事件流。

3.后置条件:用例执行结束时系统的状态。

4.特殊要求

5.拓展点

6.问题说明

 

四、用例的粒度和范围:

用例过少太粗略(复用不好),用例过多太复杂。

  • 概述级(粗浅的)
  • 用户目标级(逐步细化)
  • 子功能级

五、机房收费系统的用例图:

《UML 用例图以及UML的八种关系》

包含关系和拓展关系都是抽象出来一个公共用例。例如:抽象出来一个“查询”的公共用例,包含各种查询功能。

拓展关系:如查询出来信息才导出execl 表(有条件的发生)

泛化关系:父用例和子用例(有类似继承和多态的关系)如:图中的一般用户、操作员和管理员都是用户这个父用例的子用例。

 

第一次画UML图,如果有不足之处,还望指出。请多多指导哟~

后续篇章,精彩敬请期待~

    原文作者:Ariel_欢
    原文地址: https://blog.csdn.net/Ginny97/article/details/93411935
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞