UML再论关系extend和include
我在画用例图时,图中既有extend关系也有include关系,师父就问我这两种关系的区别,我在画的时候确实查阅了很多资料,可是在问的时候还是回答不上来,这就是这篇博客得来的缘由了。
【include】
当两个或多个用例中共用一组相同的动作,可以将这组相同的动作抽出来作为一个独立的子用例,供多个基用例使用,子用例被抽出,基用例并非一个完整的用例,所以include关系中的基用例必须和子用例一起使用才够完整,子用例也必然被执行。
【extend】
extend关系是对基用例的扩展,基用例是一个完整的用例,即使没有子用例的参与,也可以完成一个完整的功能。也就是说子用例也是一个单独的功能,比原来的功能更强大。下面显示信息和到处Excel是两个子用例,他们完全不影响基用例的查询,所以是extend的关系
综上就是我对用例图中这两种关系的理解,今后用的时候还需要多加注意,否则就会选错关系。
UML再论关系extend和include的更多相关文章
- UML类图关系大全
UML类图关系大全 1.关联 双向关联: C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法.在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设 ...
- UML类图关系大全【转】
UML类图关系大全 1.关联 双向关联:C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法. 在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设 ...
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
UML类图关系(泛化 .继承.实现.依赖.关联.聚合.组合) 继承.实现.依赖.关联.聚合.组合的联系与区别 分别介绍这几种关系: 继承 指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父 ...
- UML[1] UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)(转)
转自:http://blog.csdn.net/zhaoxu0312/article/details/7212152 继承.实现.依赖.关联.聚合.组合的联系与区别 分别介绍这几种关系: 继承 指的是 ...
- 【UML】UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
http://www.cnblogs.com/olvo/archive/2012/05/03/2481014.html 继承.实现.依赖.关联.聚合.组合的联系与区别 分别介绍这几种关系: 继承 指的 ...
- UML类图关系(继承、泛化、实现、依赖、关联、聚合、组合)
继承.实现.依赖.关联.聚合.组合的联系与区别 分别介绍这几种关系: 继承 指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者 ...
- 图解六大UML类图关系
在学习UML类图的过程中,UML类图关系是必须要掌握的问题,UML定义的关系主要有六种:依赖.类属.关联.实现.聚合和组合.下面对其定义和表示方法逐一说明. UML类图关系简介 依赖(Dependen ...
- UML的六种关系
UML定义的关系主要有:泛化.实现.依赖.关联.聚合.组合,这六种关系紧密程度依次加强,分别看一下 泛化 概念:泛化是一种一般与特殊.一般与具体之间关系的描述,具体描述建立在一般描述的基础之上,并对其 ...
- UML类图关系(转,添加了实例)
UML类图关系(泛化 .继承.实现.依赖.关联.聚合.组合) 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Associati ...
随机推荐
- transform-transition-animation(2)
transform transform : none | <transform-function> [ <transform-function> ]* 也就是: transfo ...
- Javascript 闭包何时回收?
定义 闭包是函数和声明该函数的词法环境的组合.闭包是指有权访问另一个函数作用域中的变量的函数,创建闭包的最常见的方式就是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量. 范例 fun ...
- python---pth包路径
为依赖包添加环境变量 (这一步很关键)PYTHONPATH C:\tensorflow\models\research;C:\tensorflow\models\research\slim6.然后并没 ...
- SSRS Reporting Service安装与部署
安装与部署SSRS步骤 什么是SSRS SQL Server Reporting Serivces(SSRS) 是一种强大的报表设计开发工具或者说是服务,它提供了一系列本地工具和服务,用于创建.部署和 ...
- STL源码剖析——iterators与trait编程#4 iterator源码
在前两节介绍了迭代器的五个相应类型,并讲述如何利用traits机制提取迭代器的类型,但始终是把iteartor_traits类分割开来讨论,这影响我们的理解,本节将给出iteator的部分源码,里面涵 ...
- python 之 数据库(修改表、复制表、删除表、单表查询)
10.8 修改表.复制表.删除表 10.81 修改表 alter table . 修改表名 alter table 表名 rename 新表名; . 增加字段 alter table 表名 add 字 ...
- idea 控制台 彩色打印日志
IDEA右上角:Edit Configurations,点击,找到VM options,填入-Dspring.output.ansi.enabled=ALWAYS. 重新启动应用,就会发现控制台日志变 ...
- .net core使用CSRedisCore连接哨兵集群,并用作redis使用分布式缓存。
CSRedisCore是国内大佬出品的一个Redis-Cli-SDK. Github地址:https://github.com/2881099/csredis 使用此插件作为分布式缓存也十分简单. 一 ...
- Nginx的启动、停止等命令
Windows下Nginx的启动.停止等命令 在Windows下使用Nginx,我们需要掌握一些基本的操作命令,比如:启动.停止Nginx服务,重新载入Nginx等,下面我就进行一些简单的介绍.1.启 ...
- iOS - App上架流程(复习+已用xcode8)
一.前言: 今天又要上架一款APP,顺便来复习一下APP上架流程 下面就来详细讲解一下具体流程步骤. 二.准备: 一个已付费的开发者账号(账号类型分为个人(Individual).公司(Company ...