Page 1 ?
UML及软件建模
主讲人, 李 唯
clx7000@163.com
Page 2 ?
第二章 UML的构成
? 作为一种建模语言,UML的定义包括 UML语义和 UML表
示法两个部分
? UML语义 描述基于 UML的精确元模型定义。元模型为 UML的所
有元素在语法和语义上提供了简单、一致、通用的定义性说明,使
开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造
成的影响。此外 UML还支持对元模型的扩展定义。
? UML表示法 定义 UML符号的表示法,为开发者或开发工具使用这
些图形符号和文本语法为系统建模提供了标准。这些图形符号和文
字所表达的是应用级的模型,在语义上它是 UML元模型的实例。
Page 3 ?
UML中的四种事物
1)结构事物 --- 类、接口、协作(它是一个交互,它是由一组共同工作以
提供某协作行为的角色和其它元素构成的一个群体。)、用例、主动类(至少
拥有一个进程或者线程,其元素的行为可以和其它元素的行为并发)、构件(
如 COM+和 Java Bean)、节点。
2)行为事物 --- 交互、状态机 (描述了一个对象或者一个交互在生命期
内响应事件所经历的状态序列)。
3)分组事物 --- 包 。
4)注释事物 --- 注解
Page 4 ?
UML中的四种关系
1)依赖 (Dependency)--- 两个事物间的语义关系
2)关联 (Association)--- 是一种结构关系,如聚合
3)泛化 (Generalization)--- 一般 /特殊关系
4)实现 (Realization) --- 用在两种地方:接口和实现他们之间
的类和构件之间;用例和实现他们的协作之间。
Page 5 ?
UML的视图 (View)和图 ( Diagram)
标准建模语言 UML的重要内容可以由下列五类视图 (共 9
种图形 )来定义,
UML中的各种组件和概念之间没有明显的划分界限,但为方便起
见,我们用视图来划分这些概念和组件。视图只是表达系统某一
方面特征的 UML建模组件的子集。视图的划分带有一定的随意性
,但我们希望这种看法仅仅是直觉上的。在每一类视图中使用一
种或两种特定的图来可视化地表示视图中的各种概念。
Page 6 ?
·第一类是用例 视图 (Use case View),强调
从用户角度 看到的或需要的 系统功能,并指出各
功能的操作者。 包括用例图。
用例图 用来描述系统功能
Page 7 ?
第二类是静态 视图 (Static View),展现系统的静态或结构组成
及特征。 包括类图、对象图和包图。
其中 类图 描述系统中类的静态结构。不仅定义系统中的类,表示
类之间的联系如关联、依赖、聚合等,也包括类的内部结构 (类的
属性和操作 )。类图描述的是一种静态关系,在系统的整个生命周
期都是有效的。
对象 图是类图的实例,几乎使用与类图完全相同的标识。他们的
不同点在于对象图显示类的多个对象实例,而不是实际的类。
一个对象图是类图的一个实例。由于对象存在生命周期,因此对
象图只能在系统某一时间段存在。
包 由包或类组成,表示包与包之间的关系。包图用于描述系统的
分层结构。
Page 8 ?
·第三类是行为视图 (Behavior View),描述系统的动态模
型和组成对象间的交互关系。包括状态图和活动图
? 其中 状态图 描述类的对象所有可能的状态以及事件发生时
状态的转移条件。通常,状态图是对类图的补充。在实用上并
不需要为所有的类画状态图,仅为那些有多个状态其行为受外
界环境的影响并且发生改变的类画状态图。
? 活动图 描述满足用例要求所要进行的活动以及活动间的
约束关系,有利于识别并行活动。
Page 9 ?
第四类是交互图 (Interactive View),描述对象间的交互
关系。 包括顺序图和合作图
其中 顺序图 显示对象之间的动态合作关系,它强调对象之间
消息发 送的顺序,同时显示对象之间的交互 ;
合作图 描述对象间的协作关系,合作图跟顺序图相似,显示对
象间的动态合作关系。除显示信息交换外,合作图还显示对
象以及它们之间的关系。
如果强调时间和顺序,则使用顺序图 ;如果强调上下级关系,则
选择合作图。
Page 10 ?
·第五类是实现图 ( Implementation VIew)。包括
构件图和配置图
? 其中 构件图 描述代码部件的物理结构及各部件之间的依赖
关系。 一个部件可能是一个资源代码部件、一个二进制部件
或一个可执行部件。它包含逻辑类或实现类的有关信息。部
件图有助于分析和理解部件之间的相互影响程度。
? 配置图 定义系统中软硬件的物理体系结构。它可以显示
实际的计算机和设备 (用节点表示 )以及它们之间的连接关系
也可显示连接的类型及部件之间的依赖性。 在节点内部,放
置可执行部件和对象以显示节点跟可执行软件单元的对应关
系。
Page 11 ?
视图和图的总结
? 用例 视图 (Use case View),
? 动态视图 (Dynamic View), 也称为行为视图 (Behavior View),也称
为并发视图 (Concurrent View)
? 实现图 ( Implementation View),也称为组件视图 (Component View)
? 交互 视 图 (Interactive View),
? 静态 视图 (Static View),也称为逻辑视图 (Logic View),也称为结构
模型视图 (Structural Model View)
Page 12 ?
图的总结
? 用例图 (Use Case Diagram)
? 类图 (Class Diagram)
? 对象图 (Object Diagram)
? 组件图 (Component Diagram)
? 配置图 (Deployment Diagram),
也被称为部署图,实施图
静态视图
Page 13 ?
? 时序图 (Sequence Diagram),
也被称为顺序图,序列图
? 协作图 (Collaboration Diagram)
? 状态图 (StateChart Diagram)
? 活动图 (Activity Diagram)
动态视图
Page 14 ?
主要的域 视图 图 主要概念
结构 静态视图 类图 类、关联、泛化、依赖关系、实现、接

用例视图 用例图 用例、参与者、关联、扩展、包括、用
例泛化
实现视图 构件图 构件、接口、依赖关系、实现
部署视图 部署图 节点、构件、依赖关系、位置
动态 状态视图 状态图 状态、事件、转换、动作、
活动视图 活动图 状态、活动、完成转换、分叉、结合
交互视图 顺序图 交互、对象、消息、激活
协作图 协作、交互、协作角色、消息
模型管理 模型管理视

包图 包、子系统、模型
可扩展性 所有 所有 约束、构造型、标记值
UML视图和图
Page 15 ?
? 从应用的角度看,当采用面向对象技术设计系统时,首先是描述需求 ;其
次根据需求建立系统的静态模型,以构造系统的结构 ;第三步是描述系统的
行为。
其中在第一步与第二步中所建立的模型都是静态的,包括用例图、类图 (包
含包 )、对象图、组件图和配置图等五个图形,是标准建模语言 UML的静态
建模机制。
其中第三步中所建立的模型或者可以执行,或者表示执行时的时序状态或
交互关系。它包括状态图、活动图、顺序图和合作图等四个图形,是标准
建模语言 UML的动态建模机制。
因此,标准建模语言 UML的主要内容也可以归纳为静态建模机制和动态建
模机制两大类。