您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
   
 
 
     
   
 订阅
  捐助
UML统一建模语言(二)模型元素
 
作者 穷小子wp的博客,火龙果软件    发布于 2014-09-03
   次浏览      
 

UML中的模型元素包括事物和事物之间的联系。事物是UML中重要的组成部分,它代表任何可以定义的东西。事物之间的关系能够把事物联系在一起,组成有意义的结构模型。每一个模型元素都有一个与之相对应的图形元素。

一、 事物

1、 结构事物

结构事物分为:类、接口、协作、用例、活动类、组件和节点

(1) 类。类是对具有相同属性、方法、关系和语义的对象的抽象,一个类可以实现一 个或多个接口。类用包括类名、属性和方法的矩形表示。

活动类。活动类是类对象有一个或多个进程或线程的类。在UML中活动类的表示法和类相同,只是边框用粗线条。

(2) 接口。接口是为类或组件提供特定服务的一组操作的集合。

(3) 用例。用例描述系统对一个特定角色执行的一系列动作。在模型中用例通常用来组织动作事物,它是通过协作来实现的。UML中,用例用标注了用例名称的实线椭圆表示。

协作。协作定义了交互操作。一些角色和其他元素一起工作,提供一些合作的动作,这些动作比元素的总和要大。不常用,和用例的表示区别是它是虚线画的椭圆。

(4) 参与者。在系统外部与系统直接交互的人或事物。

(5) 组件。组件是实现了一个接口集合的物理上可替换的系统部分。

(6) 节点。节点是在运行时存在的一个物理元素,它代表一个可计算的资源,通常占用一些内存和具有处理能力。一个组件集合一般来说位于一个节点,但也可以从一个节点转到另一个节点。

2、 动作事物

动作事物是UML模型中的动态部分,它们是模型的动词,代表时间和空间上的动作。交互和状态机是UML模型中最基本的两个动态事物元素。

(1) 交互。交互是一组对象在特定上下文中,为达到某种特定的目的而进行的一系列消息交换组成的动作。在交互中组成动作的对象的每个操作都要详细列出,包括消息、动作次数(消息产生的动作)、连接(对象之间的连接)。

(2) 状态机。状态机由一系列对象的状态组成。

3、 分组事物

分组事物是UML模型中组织的部分,分组事物只有一种,称为包。

4、 注释事物

注释事物是UML模型的解释部分。

二、 UML中的关系

1、 关联关系has

关联关系连接元素和链接实例,它用连接两个模型元素的实线表示,在关联的两端可以标注关联双方的角色和多重性标记。

2、 依赖关系use

依赖关系描述一个元素对另一个元素的依附。依赖关系用源模型指向目标模型的带箭头的虚线表示。

3、 泛化关系extend

泛化关系也称为继承关系,泛化用一条带空心三角箭头的实线表示,从子类指向父类。

4、 实现关系implement

实现关系描述一个元素实现另一个元素。下面的图其实有两个实现关系,只是因为在rational rose中把class的stereotype设为Interface时类是个圆圈,实现它的时候直接使用直线就可以明了。如果没有设置stereotype时,依然使用虚线加三角形。

5、 聚合关系aggregation

聚合(aggregation)关系: 关联关系的一种特例, 是强的关联关系. 聚合是整体和个体之间的关系,即has-a的关系,此时整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享,表现在代码层面,和关联关系是一致的,只能从语义级别来区分;聚合关系也是使用实例变量实现的. 从java 语法上是分不出关联和聚合的。这也是我纠结的地方,正因如此rational rose貌似没有表示聚合的符号,所以我就只好换用visio了,所以我又加了一些visio的图,大家不要赶脚奇怪哈。关联关系中两个类是处于相同的层次, 而聚合关系中两不类是处于不平等的层次, 一个表示整体, 一个表示部分.

6、组合(合成)关系composition

组合 也是关联关系的一种特例,他体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束;比如你和你的大脑;合成关系不能共享. 。表现在代码层面,和关联关系是一致的,只能从语义级别来区分。

组合跟聚合几乎相同,唯一的区别就是“部分”不能脱离“整体”单独存在,就是说, “部分”的生命期不能比“整体”还要长。


   
次浏览       
 
相关文章

UML概览
UML图解:用例图(Use case diagram )
UML图解:活动图(activity diagram )
UML图解:类图(class diagram )
UML图解:对象图(object diagram)
UML图解:顺序图( sequence diagram )
 
相关文档

模型跟踪:跟踪图、矩阵、关系(建模工具EA)
自定义表格(Custom Table)在EA中的使用
元素的详情浏览控制
UAF 1.2规范解读(DMM 和 UAFML )
EA中支持的各种图表
EA中的界面原型建模
 
相关课程

UML与面向对象分析设计
UML + 嵌入式系统分析设计
业务建模与业务分析
基于SysML和EA进行系统设计与建模
基于模型的需求管理
业务建模 & 领域驱动设计
最新活动计划
LLM大模型应用与项目构建 12-26[特惠]
QT应用开发 11-21[线上]
C++高级编程 11-27[北京]
业务建模&领域驱动设计 11-15[北京]
用户研究与用户建模 11-21[北京]
SysML和EA进行系统设计建模 11-28[北京]

如何向妻子解释OOD
OOAD与UML笔记
UML类图与类的关系详解
UML统一建模语言初学
总结一下领域模型的验证
基于 UML 的业务建模


面向对象的分析设计
基于UML的面向对象分析设计
UML + 嵌入式系统分析设计
关系数据库面向OOAD设计
业务建模与业务架构
使用用例进行需求管理


某航空IT部门 业务分析与业务建模
联想 业务需求分析与建模
北京航管科技 EA工具与架构设计
使用EA和UML进行嵌入式系统分析
全球最大的茶业集团 UML系统分析
华为 基于EA的嵌入式系统建模
水资源服务商 基于EA进行UML建模
更多...