1、包含<<include>>

包含是指当多个用例中存在相同的事件流时,可以把这些公共事件流抽象成公共用例,这个公共用例称之为抽象用例(跟类的概念有点相像,类是多个对象的抽象定义),而原始用例称为基础用例,基础用例与抽象用例之间就是包含关系。但是值得注意的是,对于包含关系而言,基础用例是抽象用例执行中不可缺少的一部分,基础用例一般不单独存在且基础用例不知道抽象用例的存在而抽象用例知道基础用例的存在。包含关系是箭头从抽象用例指向基础用例(也就是从父类指向子类)。

2、扩展<<extend>>

如果一个用例明显地混合了两种或两种以上不同的场景,可以将这个用例分为一个基础用例和一个扩展用例。扩展关系用<<extend>>关系表示,箭头指向基本用例(也就是从子类指向父类)。与此同时,扩展用例是基础用例在某些特定条件下触发产生的,扩展用例不是基础用例必须存在的部分,扩展用例可以单独存在,扩展用例知道基础用例的存在而基础用例不知道基础用例的存在。

3、泛化<<>generalization>>

泛化关系是一种继承关系,子用例将继承基用例的所有行为,也就是任何使用基用例的地方都可以使用子用例来代替。我平时是这样记住这个关系的,就是子类从父类中继承,父类就是子类的泛化。因为泛化和继承本就是一对反关系。泛化关系在用例图中用空心箭头表示,箭头方向从子用例指向基用例。

UML建模的更多相关文章

  1. 三大UML建模工具Visio、Rational Rose、PowerDesign的区别

    本文源自http://developer.51cto.com/art/201006/207993.htm UML建模工具Visio .Rational Rose.PowerDesign的比较   RO ...

  2. 本节向大家介绍一下UML建模误区

    本节向大家介绍一下UML建模误区,这里向大家介绍九个误区,希望通过本节的学习,你对UML建模有清晰的认识,以免在以后使用过程中产生不必要的麻烦.下面让我们一起来看一下这些建模误区吧. UML建模误区 ...

  3. UML建模类型(转载)

    区分UML模型, UML建模用于不同类型的不同的图.有三个重要类型的UML建模: 结构建模: 系统结构建模捕捉静态功能.它们包括下列各项: 类图 对象图 部署图 包图 复合结构图 组件图 结构模型代表 ...

  4. 使用Visio进行UML建模

    http://www.qdgw.edu.cn/zhuantiweb/jpkc/2009/rjkf/xmwd/Visio_UmlModel.htm#_Toc80417837 内容提纲: 1.VISIO中 ...

  5. UML建模文章总结

    一.为什么要学习UML UML是Unified Modeling Language(统一建模语言)的简称.UML是对软件密集型系统中的制品进行可视化.详述.构造和文档化的语言.制品{Artifact} ...

  6. 五个免费UML建模工具推荐

    UML工具很多是商用的,价格不菲:而免费的UML建模工具,功能完善的很少.以下推荐的是五个免费的UML建模工具,相对而言还算功能比较不错. 1.免费UML建模工具推荐:JUDE – community ...

  7. UML建模系列文章总结

    本文转载:http://www.cnblogs.com/ywqu/tag/UML建模/ 本人总结: UML类图按照关系分为三大类:继承关系.拥有关系.整体与部分的关系. 继承关系:泛化.实现 拥有关系 ...

  8. EA UML 建模——类图

    Enterprise Architect(EA) 是一个功能比较强悍的建模工具,本篇文章仅使用其 UML 建模功能,其他更多功能,可以Google. 一.简单梳理C#中类与类.类与接口.接口与接口的关 ...

  9. Enterprise Architect UML 建模之活动图

    EA(Enterprise Architect) UML 建模之活动图   一.活动图的概念作用 活动图本质上是一种流程图,它描述活动的序列,即系统从一个活动到另一个活动的控制流. 活动图的作用:描述 ...

  10. 【转】三大UML建模工具Visio、Rational Rose、PowerDesign的区别

    本文转自http://developer.51cto.com/art/201006/207993.htm UML建模工具相信大家有所了解,那么你对UML建模工具Visio .Rational Rose ...

随机推荐

  1. 如何在VS2013中新建WindowsService定时任务

    http://jingyan.baidu.com/article/cd4c2979e9330d756f6e6070.html 很多人都想做定时任务,但是没有不知道如何下手,现在就用WindowsSer ...

  2. symfony中twig的模板变量与注释

    程序会传递给模板若干变量,你需要在模板里输出他们.例如输出$hello .1{{ hello }}.如果传递给模板的是对象或者数组,你可以使用点. 来输出对象的属性或者方法,或者数组的成员.或者你可以 ...

  3. oracle nvl和nvl2的区别

    一直用oracle nvl函数,最近发现还有一个nvl2函数: nvl(a,b) 如果a不为null 则返回a,如果a为null则返回b; nvl2(a,b,c) ,如果a不为null 则返回b,如果 ...

  4. ACM题目————Robot Motion

    Description A robot has been programmed to follow the instructions in its path. Instructions for the ...

  5. YTU 3008: 链串的基本运算

    3008: 链串的基本运算 时间限制: 1 Sec  内存限制: 128 MB 提交: 1  解决: 1 题目描述 编写一个程序,实现链串的各种基本运算,主函数已给出,请补充每一种方法. 1.建立串s ...

  6. 关于BufferedWriter.write超过30W条数据写入过慢问题。

    原创文章,转载请注明出处! ------------------------------------------------------------ 今天接到一个项目需求变更,是关于从数据库查询到30 ...

  7. CSocket客户端(TCP)

    首先是UDP和TCP的区别: UDP是不连接服务器,每次发送数据的时候需要服务器的IP:而TCP是先连接服务器,保持常连接,然后直接发送不需要IP. 下面是TCP客户端: 1.新建项目,TestCSo ...

  8. afxmessagebox和messagebox

    MessageBox()是Win32API函数.后者是mfc中的全局函数.在MFC中能用MessageBox()的地方都能用AfxMessageBox(). afxmessagebox更多的时候是用于 ...

  9. CodeForces 628B New Skateboard

    New Skateboard time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  10. iq 格式分析

    po iq {type:1 name:iq xml:"<iq xmlns="jabber:client" to="testhjy@ecouser.net/ ...