UML用例图中用例间关联关系
来源:互联网 发布:棋牌游戏平台源码下载 编辑:程序博客网 时间:2024/05/22 14:34
用例图中只有3种元素,分别是“角色(actor)”,“用例(usecase)”,“关联(association)”。
所谓的“角色”就是有哪些人员或者事物使用你的系统,就是做一些操作的物。
例如,你去ATM机器取钱。那么在这个用例图中,你和ATM机器就是“角色”
“用例”就是动作,操作,或者说是触发的事件。
“关联”,就是“角色”和“用例”或者“角色“和”角色“之间的关系。
”关联“又分几种类型,下边一一介绍。
include / using(包含):基用例与包含用例之间的关系。说明如何将包含用例中定义的行为插入基用例定义的行为中。基用例可以看到包含用例,并依赖于包含用例的执行结果。但是二者不能访问对方的属性。
extend(扩展):指扩展用例与基用例之间的关系,说明如何将扩展用例定义的行为插入基用例定义的行为序列。扩展用例以模块化的方法递增地修改基用例。
generalization(泛化):一个较广泛元素和一个较特殊元素之间的类元关系。较特殊元素完整地包含了较广泛元素,并含有更多信息。较特殊元素的实例可以用于任何使用较广泛元素的地方。
说明
其中include/using比较好理解,就是指把多个用例(UseCase A'加撇号表示是在提取公共部分之前的原UseCase ,UseCase C')都使用到的相同的部分提取出来单独作为一个用例(UseCase B),然后再在分离之后的用例A,C调用B,画上连线。
extend和generization容易搞混,至于原因可能在于Java语言中的继承(也就是UML中的泛化)使用了extends这个词的缘故。网上有不少文章把generization直接当作了extend,对学习者造成了误导;也有文章说extend和generization是特殊和一般的关系,下面我举个具体的例子来说明。
举例
从这幅图中,我们可以看到:
“包含”比较好理解,二者之间可以认为是一个"HAS A"的关系。
“泛化”是一般的“抽象和具体”之间的关系,子用例(较特殊用例)完整包含了父用例(较一般用例),是一个"ISA"关系。“用邮件报告错误”和“用短信报告错误”都是一种具体的“报告错误”。
“扩展”的扩展用例和基用例之间既不是"HAS A"关系也不是"ISA"关系,而是“以模块化的方法递增地修改基用例”,以提供一些附加的功能。
在以下几种情况下,可使用扩展用例:
a.表明用例的某一部分是可选的系统行为(这样,您就可以将模型中的可选行为和必选行为分开);
b.表明只在特定条件(如例外条件)下才执行的分支流;
c.表明可能有一组行为段,其中的一个或多个段可以在基本用例中的扩展点处插入。所插入的行为段和插入的顺序取决于在执行基本用例时与主角进行的交互。
图2.3给出了一个扩展关系的例子,在还书的过程中,只有在例外条件(读者遗失书籍)的情况下,才会执行赔偿遗失书籍的分支流。
- UML用例图中用例间关联关系
- UML用例图设计中用例之间关系
- UML中用例图之间的关系
- uml中用例图关系解释
- UML中的关联关系
- UML关联关系
- UML中的关联关系
- UML关联关系
- UML关联关系
- 【UML】关系之关联关系
- UML建模中用例的三种关系区分
- UML笔记:关联关系.(2005-03-24)
- UML类关系:依赖、关联、聚合、组合
- UML中依赖与关联关系
- UML关系(泛化、依赖、关联、聚合、组合)
- 【转】UML类关联关系详解
- UML中的聚合,关联,泛化等关系
- UML常见关系图,依赖、关联等
- Jetspeed-2 心得隨筆(3)
- Tip #8 在app_code文件夹内同时使用C#和VB.Net
- 内核对powertop的支持
- ubuntu中搭建java开发环境
- C++中的4种类型转换方式
- UML用例图中用例间关联关系
- 实用软件项目管理(本书目的)
- UML用例图中包含(include)、扩展(extend)和泛化(generalization)三种关系详解
- EntLib.com Blog 开源ASP.NET/C# 博客平台 v3.1 发布(提供源码下载)
- postdiskimage.bat
- Discuz! 6.1 - 自动禁止非公开版面向Home推送事件
- DSP特点
- 白皮书:当前大学生就业呈七大趋势
- TUXEDO的MAXACCESSERS详解