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的主要内容也可以归纳为静态建模机制和动态建
模机制两大类。
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的主要内容也可以归纳为静态建模机制和动态建
模机制两大类。