`

用例图元素之间的关系

    博客分类:
  • UML
阅读更多

参考:http://blog.163.com/danydany_ok@126/blog/static/1233395082009105102415481/

 

 

转自:
http://www.pycsky.com/use-case/115/
用例图中包含的元素除了系统边界、角色和用例,另外就是关系。包括:角色之间的关系、用例之间的关系、用例和角色之间的关系

角色之间的关系
 由于角色实质上也是类,所以它拥有与类相同的关系描述,即角色之间存在泛化关系,泛化关系的含义是把某些角色的共同行为提取出来表示为通用的行为。

 

用户的泛化

 用例之间的关系:

(1)包含关系:基本用例的行为包含了另一个用例的行为。基本用例描述在多个用例中都有的公共行为。包含关系本质上是比较特殊的依赖关系。它比一般的依赖关系多了一些语义。在包含关系中箭头的方向是从基本用例到包含用例。
简单的理解就是用例可以包含其他用例具有的行为,并把它所包含的用例行为做为自身行为的一部分。
用例的包括关系

(2)泛化关系:代表一般于特殊的关系。它的意思和面向对象程序设计中的继承的概念是类似的。不同的是继承使用在实施阶段,泛化使用在分析、设计阶段。在泛化关系中子用例继承了父用例的行为和含义,子用例也可以增加新的行为和含义或者覆盖父用例中的行为和含义。

 

用例的泛化

泛化(Generalization)在面向对象的技术中无处不在,下图给出了一个使用泛化的用例图:

泛化的例子

在用例图中,角色和用例都能够泛化。角色的泛化/继承很容易理解,因为角色本来就是类(Class),它是一种版型(stereotype)为 Actor的类,所以角色的继承直观而自然。但是用例的继承实际上分为两种情况,并不是简单的使用泛化,而是使用扩展(extended)和包含 (include)两种泛化的特例。 扩展用于子用例的动作步骤基本上和父用例的动作步骤相同,只是增加了另外的一些步骤的情况下。包含用于子用例包含了所有父用例的动作,它将父用例作为了自 己的一个大步骤,子用例常常包含一个以上的父用例。

(3)扩展关系: 扩展关系的基本含义和泛化关系类似,但在扩展关系中,对于扩展用例有更多的规则限制,基本用例必须声明扩展点,而扩展用例只能在扩展点上增加新的行为和含 义。与包含关系一样,扩展关系也是依赖关系的版型。在扩展关系中,箭头的方向是从扩展用例到基本用例,这与包含关系是不同的。
它是以隐含形式插入的,也就是说,扩展用例并不在基本用例中显示。在以下几种情况下,可使用扩展用例:

 a.表明用例的某一部分是可选的系统行为(这样,您就可以将模型中的可选行为和必选行为分开);
 b.表明只在特定条件(如例外条件)下才执行的分支流;
 c.表明可能有一组行为段,其中的一个或多个段可以在基本用例中的扩展点处插入。所插入的行为段和插入的顺序取决于在执行基本用例时与主角进行的交互。

用例的扩展

 图中的第二个例子中,在还书的过程中,只有在例外条件(读者遗失书籍)的情况下,才会执行赔偿遗失书籍的分支流。

用例与角色之间的关系
用例由角色发起,一个用例必须至少与一个执行者关联。

 

分享到:
评论

相关推荐

    软件需求分析—用例图和用例

    在UML中,把用用例图建立起来的系统模型称为用例模型,一个用例模型若干个用例图... 一幅用例图(use case diagram)包含的模型元素有系统、行为者、用例及用例之间的关系,是显示一组用例、角色以及它们之间的关系的图。

    UML用例图总结

    用例图所包含的元素如下:表示与您的应用程序或系统进行交互的用户、组织或外部系统。用一个小人表示。用例就是外部可见的系统功能,对系统提供的服务进行描述。用椭圆表示用来展示系统的一部分功能,这部分功能联系...

    设计阶段如何画用例图(Use-CaseDiagram)

    用例试图描概括了用例中角色和系统之间的关系,描述了系统功能需求,角色和系统的交互以及系统的反应。会员具有浏览商品类别、根据关键字产讯商品和选择商品加入购物车的功能。扩展关系一般用来描述一个元素延伸为...

    UML(统一建模语言)相关知识点

    用例图、静态图(包括类图、对象图和包图)、行为图、交互图和实现图,以及敏捷开发的特点和目的是什么,软件工程三要素中的过程敏捷开发的特点和目的,什么是RUP软件开发过程?它的优势是什么?用户需求描述的是...

    UML实验报告(4).doc

    熟悉UML用例图的基本图形元素。 2. 掌握用例与用例之间的各种关系。 3. 熟悉针对具体场景使用例图进行软件建模的方法。 4. 掌握用例规格说明的概念和基本结构,以及用例规格说明的作用。 二、实验内容 1. 根据实验...

    线性表-数据结构.pptx

    例:用线性表描述学生成绩表,用树或图描述遗传关系。 抽象数据类型描述的一般形式如下: ADT 抽象数据类型名称 { 数据对象: …… 数据关系: …… 操作集合: 操作名1: …… …… 操作名n: }ADT抽象数据类型名称...

    C#数据结构

    和存储,包括数据元素的表示和存储以及数据元素之间关系的表示和存储。 数据的存储结构包括顺序存储结构和链式存储结构两种。顺序存储结构 (Sequence Storage Structure)是通过数据元素在计算机存储器中的相对位置来...

    UML和模式应用期末复习资料

    在用例图中参与者是什么,它属于系统范围之内吗? 请简要阐述在软件开发过程中使用UML的必要性以及好处。 领域模型的状态变化包括那三种? 寻找概念类的三种策略是什么? 关联是什么? 在UML中定义了哪几种可见性规则...

    招生管理数据库系统(sql)

    表现系统流程以及系统元素之间的交互关系可以用两种试图:时序图和协作图。 时序图的功能是按照时间顺序描述系统元素间的交互,协作图的功能按照时间和空间顺序描述系统元素间的交互和他们之间的关系。 工作人员...

    计算机系数据结构与算法设计.pptx

    四、图状结构或网状结构 结构中的数据元素之间存在多对多的关系。 计算机系数据结构与算法设计全文共241页,当前为第8页。 数据结构的形式定义为:数据结构是一个二元组: Data-Structure=(D,S) 其中:D是数据元素...

    (c语言)数据结构教程

    在a1、a2和a3 之间存在“次序”关系  a1,a2 、 a2,a3 3214,6587,9345 ≠ 6587,3214,9345  a1 a2 a3 a2 a1 a3 又例,2行3列的二维数组 {a1, a2, a3, a4, a5, a6} a1 a2 a3 a4 a5 a6 行的次序关系:row ...

    最简单易懂的数据结构

    ① 数据元素之间的逻辑关系,也称数据的逻辑结构(Logical Structure); 数据的逻辑结构是从逻辑关系上描述数据,与数据的存储无关,是独立于计算机的。数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。 ...

    网吧管理系统--课程设计.doc

    系统的主要功能 3 UML建模 2.1分析问题领域 4.1.1用例图 3. 设计静态结构模型 4.2.1类图 4.2.2对象图 4. 设计动态行为模型 4.3.1顺序图 4.3.2状态图 4.3.3活动图 4 总结 1.引言 1.1问题提出的背景 需求分析 需求...

    数据库设计-ER图.pdf

    实体联系图可以表示一个实体类型对另一个实体类型的存在的依赖性,例如工人这一实体下反映其被抚养者的关系,就是依赖 关系,这种联系用箭头表示,说明抚养者这个实体的存在取决于工人中的相应的那个实体。...

    UML基础、案例与应用(第三版)].施穆勒.扫描版_2分.pdf

    1.3.3 用例图 7 1.3.4 状态图 7 1.3.5 顺序图 8 1.3.6 活动图 9 1.3.7 协作图 10 1.3.8 构件图 11 1.3.9 部署图 11 1.4 其他特征 12 1.4.1 注释 12 1.4.2 关键字和构造型 12 1.5 UML 2.0中的新图 13 1.5.1 组成结构...

    软件工程知识点

    甘特图表是一种常用的项目进度图表,可以直观地描述项目任务的活动分解,以及活动之间的依赖关系、资源配置情况、各项活动的进展情况等。 四、软件需求分析 1.需求分析任务 (1)用户需求 用户需求是用户关于软件...

Global site tag (gtag.js) - Google Analytics