<<extend>>与<<include>>

<<include>> 关系允许将被包含用例中的公共行为分解出来。

<<extend>> 关系通过在特定的扩展点激活另一个用例来扩展一个用例的行为,从而提供了一种可控的扩展形式。

<<include>><<extend>> 关系的不同点在于“被包含”用例对“激活”用例的完成来说是必需的。

实例分析

上图是一个大学注册系统的高层用例图,该模型包含了4个参与者4个用例。每一个用例由一个参与者启动,是一个完整的、外部可见的和正交的功能。除了 Student 以外,所有的参与者都是启动者。Student 首先获取考试结果和注册指导,然后才能输入和验证下学期的学习计划。
用例 Provide examination results 可以 <<extend>> 用例 Provide enrolment instructions,但前者并不总是扩展后者。例如,对新生来说,考试结果还是未知的。这就是用 <<extend>> 构建扩展型,而不是用 <<include>> 来为这个关系建模的原因。
从用例 Enter program of study 到用例 Validate program of study 建立了 <<include>> 关系,这个 <<include>> 关系表明前者总是包含后者,每当输入学习计划时,都要验证是否存在时间冲突和特殊的批准等。

【UML】用例图中<<extend>>与<<include>>的区别相关推荐

  1. UML 中extend和include的区别

    在UML用例图中有两种关系--包含和扩展,容易混淆,下面通过一张表来区别一下这两种关系. 转载于:https://www.cnblogs.com/yonyong/p/8555547.html

  2. uml里的extend和include_解析UML用例图中include与extend的区别

    本文和大家重点讨论一下UML用例图中include与extend的区别,include是指用例中的包含关系,通常发生在多个用例中,有可以提取出来的公共部分,而extend则恰好相反.下面请看本文详细介 ...

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

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

  4. UML 用例图中include,extends,uses的区别

    区别extends . use.include extends是对已有用例的扩展 use是使用了另一个用例 include,是指一个用例包含另一个用例 extends的关键在于,他不会修改原有的用例说 ...

  5. 用例图中的包含关系(include)与拓展关系(extend)的区别

    一直被这两个关系困扰,不太容易分辨某些用例到底是拓展关系还是包含关系,比如网站转账系统 转账和登录系统是什么关系? 我登录网站可以什么都不做,也可以选择转账,从这方面看是拓展关系. 但是我直接选择转账 ...

  6. JSP中两种include的区别

    jsp中有两种include,一种是<%@include file="xxx.jsp"%>,另一种是<jsp:include page="xxx.jsp ...

  7. JSP中forward和include的区别

  8. UML用例图之关联关系、包含关系、扩展关系、泛化关系详解

    目录 UML定义 UML图结构 用例图定义 用例图中的事物 用例图中的关系 关联关系 包含关系 特点 使用场景 扩展关系 特点 使用场景 泛化关系 特点 使用场景 包含关系和扩展关系的联系和区别 UM ...

  9. [UML]UML系列——用例图中的各种关系(include、extend)

    [UML]UML系列--用例图中的各种关系(include.extend) 原文:[UML]UML系列--用例图中的各种关系(include.extend) 用例图中的各种关系 一.参与者与用例间的关 ...

最新文章

  1. 1105 Spiral Matrix 给定数组向螺旋矩阵中填入数据
  2. python03-异常处理
  3. 十 Java集合框架(2):Set接口
  4. c语言json映射,GitHub - xujun621/cson: 基于C语言的json数据映射解析库
  5. 改写教科书!人类细胞可将RNA序列写入DNA,生命基本定律中心法则遭挑战!
  6. 一个as3开发人员的话
  7. 详解Java的交互式编程环境:jshell
  8. java前端开发简历_web前端工程师简历
  9. 贵州安顺:红色基因激活初心密码 为民服务谱写秀丽篇章
  10. Android USB Tethering的实现以及代码流程
  11. SQL企业管理器打不开
  12. 【Linux认证考试分数线多少】
  13. 分享一个二维码生成的接口,简单好用
  14. VirtualBox免费虚拟机使用简介、3G无线上网的Virtualbox实现
  15. JDBC连接Sql_Server_2005
  16. 仅用1天!腾讯协助警方破获伪造交警罚单诈骗案
  17. python在线翻译小程序_几个Python小程序
  18. qt 二次开发 研华daq_研华|数据采集|DAQNavi-告别复杂编程,研华DAQNavi让您轻松实现数据采集...
  19. glade-2:安装经验
  20. 用Python编写录屏程序将播放的视频用截屏方法转换为多帧图像编辑后保存为GIF格式动图文件

热门文章

  1. python学习-10 运算符1
  2. 二维数组(声明以及遍历)
  3. 批量下载,多文件压缩打包zip下载
  4. 使用Pycharm的一些错误
  5. 移动端页面0.5px border的实现
  6. 百度UEditor编辑器使用(二)
  7. ORACLE 进入sqlplus的协议适配器错误
  8. 现在股市里人人都在赚钱!!到底谁在亏钱?我讲一个故事来告诉大家谁亏钱了...
  9. js中给多个class属性的标签赋值
  10. JSP的9个内置对象-application