uml用例关系
关联关系
关联关系是指执行者与用例之间的关系,又称为通信关系,如果某个执行者可以对某个用例进行操作,它们之间就具有关联关系,如下图所示,“经理”有一个功能为“查看库存报表”,因此可以在执行者“经理”和用例“查看库存报表”之间建立一个关联关系,关联关系用实线表示。
泛化关系
执行者之间的关系只有一种,即泛化关系,用一个带有空心三角形的实线表示,如下图所 示,在该图中,仓库管理员、系统管理员、经理都是员工的一种,因此员工拥有的功能这三 者都拥有,如登录、修改个人信息等,为了减少用例的个数并且使系统更加符合面向对象设 计规范,可以对执行者进行泛化,将各类执行者都具有相同的功能移至父执行者,而将每类 执行者特有的功能保留在子执行者中。
参与者:经理,安全主管,保安 用例:管理人事,批准预算,批准安全证书,监视周边
在参与者之间不存在泛化关系的情况下,各个参与者参与 用例的情况分别是:经理参与用例管理人事和批准预算;安全主管参与用例批准安全证书;保安参与用例监视周边。由于安全主管与经理,安全主管与保安之间泛化关系的存在,意味着安全主管可以担任经理和保安的角色,就能够参与经理和保安参与的用例。这样,安全主管就可以参与全部4个用例。但经理或者保安却不能担任安全主管的角色,也就不能参与用例批准安全证书。
常见的用例之间的关系有两种,分别是包含关系和扩展关系
包含关系
如果多个用例都具有一部分相同的行为,可以将这部分相同的行为作为一个单独的用例抽取出来,与原来的用例形成一个包含关系。如仓库管理员在进行入库、出库等操作之前需要先登录,登录是入库、出库流程的基本组成部分,因此用例“入库”和“出库”包含用例“登录”。为了更加清晰地描述多个用例的相同行为,在用例图中提供了用例与用例之间的包含关系。在UML中,包含关系用依赖线(虚线)加一个<<include>>表示,由原始用例指向包含用例,如下图所示:
扩展关系
扩展关系又称为延伸关系,如果一个用例在执行时可能会使用到另一个用例,或者使用一个新的用例对原有用例的行为进行扩展时可以使用扩展关系,如仓库管理员在入库时发现某种商品在系统中暂不存在,则可以增加新的商品信息;如果入库商品均已存在,则无需增加商品信息,此时用例“增加商品信息”可以作为用例“入库”的扩展用例。
在UML中,包含关系用依赖线(虚线)加一个<<extend>>表示,由扩展用例指向原始用例,如下图所示:
用例之间扩展和包含关系 :
用例的上下文是:短途旅行但汽车的油不足以应付全部路程。那么为汽车加油的动作在旅行的每个场景(事件流)中都会出现,不加油就不会完成旅行。吃饭则可以由司机决定是否进行,不吃饭不会影响旅行的完成。
图解总结
uml用例关系的更多相关文章
- UML用例关系一览
- visio UML用例里面找不到include关系
今天用Microsoft Visio 2007画用例图时,发现visio UML用例里面找不到include关系,查到一个可行的解决办法: 1)创建一个UML用例图模板:打开Microsoft Vi ...
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
UML类图关系(泛化 .继承.实现.依赖.关联.聚合.组合) 继承.实现.依赖.关联.聚合.组合的联系与区别 分别介绍这几种关系: 继承 指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父 ...
- 图解六大UML类图关系
在学习UML类图的过程中,UML类图关系是必须要掌握的问题,UML定义的关系主要有六种:依赖.类属.关联.实现.聚合和组合.下面对其定义和表示方法逐一说明. UML类图关系简介 依赖(Dependen ...
- UML类图关系大全
UML类图关系大全 1.关联 双向关联: C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法.在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设 ...
- UML[1] UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)(转)
转自:http://blog.csdn.net/zhaoxu0312/article/details/7212152 继承.实现.依赖.关联.聚合.组合的联系与区别 分别介绍这几种关系: 继承 指的是 ...
- UML类图关系大全【转】
UML类图关系大全 1.关联 双向关联:C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法. 在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设 ...
- 【UML】UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
http://www.cnblogs.com/olvo/archive/2012/05/03/2481014.html 继承.实现.依赖.关联.聚合.组合的联系与区别 分别介绍这几种关系: 继承 指的 ...
- UML类图关系(继承、泛化、实现、依赖、关联、聚合、组合)
继承.实现.依赖.关联.聚合.组合的联系与区别 分别介绍这几种关系: 继承 指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者 ...
随机推荐
- 读《SQL优化核心思想》:你不知道的优化技巧
SQL性能问题已经逐步发展成为数据库性能的首要问题,80%的数据库性能问题都是因SQL而导致. 1.1 基数(CARDINALITY) 某个列唯一键(Distinct_Keys)的数量叫作基数.比如性 ...
- npm 淘宝镜像
npm config set registry https://registry.npm.taobao.org
- JQuery 删除子元素
删除元素/内容 如需删除元素和内容,一般可使用以下两个 jQuery 方法: remove() - 删除被选元素(及其子元素) empty() - 从被选元素中删除子元素 $("#div1& ...
- 3-自己动手写HashMap 增加哈希算法
public class HashMap { //存储元素数组 private Entry[] entry = null; //记录map个数 private int size; //构造器 publ ...
- java中序列化的简单认识
一.什么是序列化 Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比JVM的生命周期更长.但在现实应用中,就可 ...
- Junit4简单使用
一.Junit4是JAVA语言的单元测试框架,用于编写和运行可重复的测试,可以大大提高效率 1.使用Junit4必须在项目中导入Junit4.har文件 2.新建Junit Test case 勾选s ...
- 第10章 网络安全(4)_网络层安全IPSec
5. 网络层安全IPSec 5.1 IPSec协议 (1)前面使用Outlook进行数字签名和数字加密是应用层实现的安全.安全套接字实现的安全是在应用层和传输层之间插入了一层来实现数据通信安全.而IP ...
- 第1课 类型推导(1)_auto关键字
1. auto关键字 (1)auto的作用是让编译器自动推断变量的类型,而不需要显式指定类型.这种隐式类型的推导发生在编译期. (2)auto并不能代表实际的类型声明,只是一个类型声明的“占位符” ...
- MySQL高可用架构之基于MHA的搭建
一.MySQL MHA架构介绍: MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Fa ...
- python import问题
python中包:一个文件夹中必须要有__init__.py文件,才能被识别为 包,才能被其他模块引入python中 模块的查找顺序是:内存中已经加载的模块->内置模块->sys.path ...