辛星解读用例图中的关系

上面一篇博文中我们介绍了用例图,那么我们这里再解释一下用例图里面的关系。用例的关系主要有泛化(generalization)、扩展(extend)和包含(include).

泛化关系是一种继承关系,子用例会继承父用例的所有行为、关系和通信关系,也就是说在任何使用父用例的地方都可以用子用例来代替。泛化关系在用例图中使用空心的箭头表示,箭头方向从子用例指向父用例。

扩展关系是对基用例的扩展,基用例是一个完整的用例,即使没有子用例的参与,也可以完成一个完整的功能。扩展的基用例中将存在一个扩展点,只有当扩展点被激活的时候,子用例才会被执行。扩展关系在用例图中使用带箭头的虚线表示,通常在线上标注<<extend>>,箭头从子用例指向基用例。

包含关系是当两个或多个用例中公用一组相同的动作,这时可以将这组相同的动作抽出来作为一个独立的子用例,它可以被多个基用例共享。如果子用例被抽出,那么基用例就不是一个完整的用例,因此包含关系中的基用例和子用例一起使用才够完整,子用例也必然被执行。包含关系在用例图中使用带箭头的虚线表示,在线上标注<<include>>,箭头从基用例指向子用例。

我感觉比较容易混淆的就是泛化和扩展。繁华类似于OO术语中的“继承"或者"多态",在UML中的Use  Case的泛化过程是将不同的Use  Case之间的可合并部分抽象成独立的父Use Case,并且将不可合并的部分单独成各自的子Use Case。

泛化与扩展的主要不同之处在于:泛化侧重表示子用例间的互斥性,而扩展则侧重表示扩展用例的触发不定性。

泛化与扩展的相同之处在于:泛化中的子用例和扩展中的扩展用例都可以作为基本用例事件的备选择流而存在。

时间: 2024-11-07 12:47:44

辛星解读用例图中的关系的相关文章

辛星解读之php中的重点函数第一节之数组函数

这里我已经写好它的pdf版本了,比本博客更加适合阅读.首先说一下它在百度网盘的下载地址把:百度网盘下载 ,如果左边连接跪了,可以在浏览器中输入:http://pan.baidu.com/s/1qW5AYzM 来下载.然后说一下它在csdn的下载地址,是免积分的奥,下载地址:csdn资源下载处 ,如果连接不起作用,可以在浏览器输入:http://download.csdn.net/detail/xinguimeng/7697309  来手动下载. 好,我们知道php中函数还是很多的,正是这些函数为

辛星解读UML建模中的用例图

第一,用例图概念 要了解用例图,首先了解下用例,也就是use  case.什么是用例呢,简单来说就是在确定项目需求时,不展现系统内部结构的情况下对系统功能的描述,不过一个use  case描述的是整个系统功能的一部分,这一部分一定要是在逻辑上相对完整的功能流程. 用例图是UML用例建模的一种,也是UML建模的基础,它主要用于描述用户或者系统内部的功能需求与行为.灵活的使用用例图,可以让描述的需求或者行为清晰的表达其该有的含义. 用例图是从系统的外部看系统的功能的,它并不描述系统内部对功能的具体实

辛星解读uml建模中的构件图

第一,构件图的概念 构件是系统中实际存在的可更换部分,它实现特定的功能,符合一套接口标准并实现一组接口.构件代表系统中的一部分物理实施,它包括软件代码(源代码.二进制代码或者可执行代码)或者其等价物(比如脚本或者命令文件).每个构件可以单独实现一定的功能,也可以为其他构件提供使用接口. 第二,构件图的要素 构件图通常分为:执行文件.文件.库.表.文档 (1)执行文件:源码编译后的结果,可以直接运行 (2)文件:信息存储体 (3)库:类库,动态链接库,数据库 (4)表:数据库中的表 (5)文档:文

辛星解读UML建模中的状态图

第一,状态图的概念 状态图,也叫做状态机图,它表示一个模型元素在其生命期间的状况.从该模型元素的开始状态起,响应事件,执行某些动作,引起状态转移到新状态,又在新状态下响应事件,执行动作,引起转移到另一个状态,如此连续,直到终结状态. 一句话来说就是:源状态在经历了某个事件之后进入目标状态. 第二,状态图包含的要素 状态图包含三个要素:状态.事件.组合状态 (1)状态:状态名字,进入动作,退出动作,状态中发生的活动(状态内活动,状态向外发送的活动) (2)事件:使状态发生变化的某时刻发生的动作,或

辛星解读UML建模中的活动图

第一,活动图的概念 活动图是可以理解为一个流程图,它用来描述活动的序列,从一个活动到另一个活动的控制流. 活动图的作用是描述用例的具体操作. 第二,活动图的要素 (1)活动:命令的执行或者活动的进行,使用圆角矩形表示 (2)状态:主要是开始状态和结束状态 (3)转移:活动之间,活动与状态的切换,使用箭头 (4)判断:对同一个动作或者状态进行判断,然后选择要执行的下一步操作,使用菱形表示 (5)同步条:用于并行执行的活动图中.它们是成都出现的,并行活动开始和结束都有一跟同步条来表示分歧和汇合.粗线

2014年辛星解读Javascript之DOM快速入门

在Javascript的知识中,有一个所谓的DOM,即文档对象模型,我们可以通过它来访问HTML文档的元素,当网页被加载的时候,浏览器会去创建DOM,有了这个DOM,我们可以使用Javascript去改变页面中HTML元素和属性,改变CSS样式,能够对页面中的事件作出响应. 首先就是查找一个HTML元素,我们可以通过三种方式来做到,即通过id.标签名和类名,通过id是使用getElementById方法,它是doucument的一个方法,通过标签名则可以使用getElementsByTagNam

2014年辛星解读Javascript之用DOM动态操纵HTML元素

关于DOM,我们了解了可以用DOM操纵HTML的一些属性和样式,还可以为HTML元素绑定事件等等,那么接下来,我们将涉及到用DOM来动态的创建.删除HTML等一些操作,我的核心思路还是重实战,因此,代码示例是肯定少不了的. 不过在使用DOM动态操纵HTML元素之前,我们还是先了解一下DOM树,下面是我从网上找的一个DOM树的图片,它的截图如下: 如果大家学习过"树"这种数据结构,就会很好理解,一个父节点可以包含N个子节点,这些子节点可能是div.p等标签,也可以是属性,还可以是中间的文

2014年辛星解读CSS第八节 使用背景图片

这应该是系统CSS的教程的最后一节了,为什么呢,因为到这一节,我感觉基础知识就已经讲完了,接下来的就是无穷的实战,而实战是很难用知识去讲出来的,靠的是积累,拼的是经验,这些都不是讲出来的. 好,我们下面来说一下用CSS添加背景图片的方式把,它在background属性中指定,可以用url("图片路径")的方式来指定背景图片,如果是repeat,则图片在横向和纵向上平铺,如果是no-repeat,则背景图像不会平铺,只显示一次,如果是repeat-x,那么就在水平方向平铺,如果是repe

与辛星一起在vim中加入目录浏览功能

随着用vim越来越多,也就越发感觉到vim的强大,比如最近又很需要目录浏览这一功能,于是就去搜索了下相关的东西,感觉网上的知识很多,但是很杂,于是,就自己花点时间去整理一下. 第一步,就是下载一个插件,这个插件在:http://www.vim.org/scripts/script.php?script_id=1658  这个地方,也可以直接点此下载 ,由于这是个外国网站,如果你感觉速度很慢的话,可以考虑在csdn上下载,当然是免积分的:http://download.csdn.net/detai