uml里的extend和include_用例图中包含(include)扩展(extend)和泛化(generalization)关系详解...

标签:uml

用例图是解决用户需求的图,画好用例图一定要理清用例之间的关系。用例之间有三种关系:包含(include)扩展(extend)和泛化(generalization)。下面介绍三者的相同点和不同点以便区分:

相同点: 三者都是从现有的用例中抽取公共信息的那部分,作为一个单独的用例,然后采用不同的方法来重用这个公共的用例。(感觉都是面向对象里的继承思想,减少模型维护的工作量)。

不同点:

1.包含(include)

当两个或多个用例中公用一组相同的动作,这时可以将这些相同的动作抽离出来作为一个独立的子用例,供多个基用例所共享。因为子用例是被抽离出来的,所以基用例并非一个完整的用例。即在包含关系中基用例要和子用例一起使用才完整。子用例也必然被执行。

通俗的说,就是采用包含关系的几个用例是被拆分的一个整体,大家相互依靠,缺一不可。

2.扩展(extend)

扩展关系是对基用例的扩展,基用例是一个完整的用例,即没有子用例的参与也可以完成一个完整的功能。扩展用例为基用例添加新的行为。扩展用例可以访问基用例的属性,因此可以根据基用例中的扩展点的当前状态来判断是否执行自己。

通俗的说,就是基用例没有扩展用例也能存活,但是有了扩展用例可以活的更精彩。

------------包含和扩展的关系类似于聚合和组合的关系。包含和组合一样,大家都是有机的整体,缺了谁也不行。而扩展和聚合一样,大家相互独立,有了彼此可以让生活更精彩,没有也可以照自己的方式活着。。

3.泛化(generalization)

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

画第一遍用例图的时候根本没考虑什么包含扩展,关系都是随便的连线,第二遍才认识到了上文中的关系。重复的学习,不断的思考才能深刻的理解知识,才能把存储介质上的知识转化成我们自己的知识,我们的力量。

标签:uml

原文:http://blog.csdn.net/linxi1209163com/article/details/21369505

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/397812.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据库的数据类型及运算符

一、数据类型 1、整数类形: (重点记忆,常用)有符号整形:int--每个int类型的数据按4个字节存储,其中1位表示整数值的正负号,其他31位表示整数值长度和大小; 大整形:bigint…

浙江大学计算机博士很难复试专业课,浙江大学计算机学院2020年博士研究生招生复试公告...

一、复试资格通过计算机学院博士生材料初审的考生获得复试资格,名单见附件。二、复试内容和成绩组成博士研究生的复试内容主要包括对考生思想政治素质和品德、学术水平考核。1. 思想政治素质和道德品质考核思想政治素质和品德考核是博士研究生招生复试的…

推荐几款热门的敏捷开发工具

不知道有多少企业在很好的应用敏捷模式; 在今天的文章中,我们将一同了解更多有趣、高效且面向敏捷的项目管理工具。 Atlassian Jira/ Jira Agile   Atlassian的Jira是一款热门工具,用于追踪产品开发、帮助团队组织问题、分配工作并保证团队…

语言语法糖_【c#】几种常用语法糖

语法糖(syntactic sugar)是由英国计算机科学家Peter J. Landin发明的术语,指计算机语言中添加的某种语法。这种语法不影响语言的功能,但更方便使用。在开发中使用语法糖能够让程序变得更短,使看起来更美观些~空检查pub…

CodeForces 696B Puzzles

思维,简单树$dp$。 首先计算出每一个子树包含多少个节点,记为$f[i]$。然后就可以从$root$开始推出所有节点的期望了。 现在已知$fa$节点的答案为$ans[fa]$,假设要计算$fa$的一个儿子$v$的期望,那么$ans[v]ans[fa]1.0(f[fa]-f[v]-1…

2018清华计算机类专业录取分数线,清华大学2018年各省录取分数线及各专业录取分数线 - 高教网...

【一批录取分数线】港澳台联招:630分安徽:理科689分;文科675分;理科定向683分北京:理科694分;文科677分福建:理科681分;文科650分甘肃:理科652分;文科637分广…

ASP.NET 对类进行XML序列化和反序列化

1 序列化方法 public void SerializeObject<T>(string Xmlname,T t){XmlSerializer ser new XmlSerializer(typeof(T));TextWriter writer new StreamWriter(Xmlname);ser.Serialize(writer, t);//要序列化的对象writer.Close();} 2 序列化方法的使用 NodeConfigInfo n…

python100内3整除while_python-循环语句-习题及答案-for-while

for 变量 in range(起始&#xff0c;终止&#xff0c;步长):循环体变量 起始while 终止条件(bool):循环体步长break continue1. 盈盈为了考验令狐冲夺冠的决心&#xff0c;要他说一百遍“我能行&#xff01;”# for i in range(0,100,1):# print("我能行")2.本金100…

怎么用计算机连接电视,电脑怎么连接电视 详细步骤【图文】

现在一般的LED电视机都有连接电脑的功能&#xff0c;如何让电脑连接电视&#xff0c;让电视的大屏幕成为电脑的显示器呢?下面给大家说明电脑连接电视详细步骤!电脑连接电视步骤&#xff1a;1 电脑连接电视所需的接口及连接线我们先来介绍一下&#xff0c;电视上需要的接口&…

PC-CSS-多浏览器支持HTML5

非IE:article, section, aside, hgroup, nav, header, footer, figure, figcaption {display: block;}IE&#xff1a;<script>document.createElement(‘article’);document.createElement(‘section’);document.createElement(‘aside’);document.createElement(‘hg…

4r照片尺寸是多大_数码照片4D、4R、6RW是什么意思,怎样调整4D照片尺寸?

数码照片4D、4R、6RW是什么意思,怎样调整4D照片尺寸?数码相机和DV进入寻常百姓家&#xff0c;有些朋友希望把外出旅游或者居家时拍的照片冲印出来&#xff0c;但是一些朋友对里面的专业说法不太熟悉&#xff0c;比如3R,4R,4D,5D,5R,6R等照片的规格和尺寸不清楚&#xff0c;其实…

javascript 盒子模型

oDiv.clientWidth---》width左右padding oDiv.clientHeight---》height上下padding oDiv.clientTop---》上边框的高度 oDiv.clientLeft---》左边框的宽度 oDiv.offsetWidth---》clientWidth左右边框的宽度 oDiv.offsetHeight---》clientHeight上下边框的高度 offsetLeft---》当…

html自定义列表 嵌套,HTML 列表

HTML 支持有序、无序和定义列表:HTML 列表有序列表The first list itemThe second list itemThe third list item无序列表List itemList itemList item在线实例无序列表本例演示无序列表。有序列表本例演示有序列表。(可以在本页底端找到更多实例。)HTML无序列表无序列表是一个…

shiro会话监听_SpringBoot集成Shiro会话管理

在Shiro中我们可以通过org.apache.shiro.session.mgt.eis.SessionDAO对象的getActiveSessions()方法方便的获取到当前所有有效的Session对象。通过这些Session对象&#xff0c;我们可以实现一些比较有趣的功能&#xff0c;比如查看当前系统的在线人数&#xff0c;查看这些在线用…

JAVA程序员面试必知32个知识点

第一&#xff0c;谈谈final, finally, finalize的区别。 final 用于声明属性&#xff0c;方法和类&#xff0c;分别表示属性不可变&#xff0c;方法不可覆盖&#xff0c;类不可继承。finally是异常处理语句结构的一部分&#xff0c;表示总是执行。finalize是 Object类的一个方法…

html 将两个标签绑在一起,基本标签2

表格的合并1.水平方向上的单元格合并可以给td标签添加一个colspan属性, 来指定把某一个单元格当做多个单元格来看待(水平方向)例如:含义: 把当前单元格当做两个单元格来看待注意点:1.由于把某一个单元格当做了多个单元格来看到, 所以就会多出一些单元格, 所以需要删掉一些单元格…

【原创】吟端午

《吟端午》人间六月艳阳天&#xff0c;粽子飘香不等闲。自古离骚东流水&#xff0c;九州沧海变桑田。创作时间&#xff1a;2016年06月08日创作背景&#xff1a;受人之约&#xff0c;赋诗为题&#xff01;转载于:https://blog.51cto.com/yanhuasanyue/1842346

libc 无法访问null_C中strlen的NULL参数

1. C语言strlen函数参数如果是NULL&#xff0c;则会出错。可以参考glibc中strlen的具体实现通常使用前可以判断一下参数是否是NULL&#xff0c;或者自己写一个strlen的实现函数。2. String LengthYou can get the length of a string using the strlen function.This function …

dom对象常用的属性和方法有哪些?

dom对象常用的属性和方法有哪些&#xff1f; 一、总结 一句话总结&#xff1a; 1、document属性和方法&#xff1a;document的属性有head&#xff0c;body之类&#xff0c;方法有各种获取element的方法 2、element的属性和方法&#xff1a;属性比如style&#xff0c;innerHTML和…

html左中右自适应布局,CSS左中右自适应布局六种方案与原理

css虽简单,但细节多,技巧性高,易学难精。如何实现左右固定300px , 中间宽度自适应&#xff1f;有如下结构左右中公有样式, 设置高,设置左右宽度固定300px,左右为红色&#xff0c;中间为黄色。.item {height: 400px;}.left,.right {width: 300px;background: #f00;}.center {bac…