本讲主要内容
? UML的发展
? UML的功能
? UML的开发工具
? UML建模元素
? 事物 ( 结构事物, 行为事物, 分组事
物, 备注事物 )
? 关系( 依赖关系, 关联关系, 一般化
关系, 实现关系 )
? 图( 静态视图, 动态视图 )
UML







UML的发展 (第 14章第 1讲)
由于传统的结构化系统分析和设计方法无法满足日益复杂的大
型、分布式系统,因此软件开发的技术与方法逐渐由 结构化分析和设
计发展到了面向对象的分析和设计 。
这期间比较有代表性的方法是:① Grady Booch 和 Ivar Jacobson提
出的 OOSE( Object-Oriented Software Engineering 面向对象化软件工
具 );② James Rumbaugh的 OMT( Object Modeling Technique 对象化建模
技术 )。
到 1997年,面向对象方法就有 50多种,每一种的建模语言都不
一样,这给信息系统开发造成了极大的困难和混乱。针对这一问题,
Rational公司 组织了三个面向对象方法的研究专家 Grady Booch、
James Rumbaugh和 Jacobson,对现有的各种建模语言进行分析、归纳,
提出了应用于所有软件开发的统一建模语言,统称为 统一建模语言
UML( Unified Modeling Language)。
UML于 1997年 1月颁布第一版,并被 OMG( Object Management
Group)协会所接受。 1997年 11月,UML被 OMG确定为工业标准。
现在,UML已经发展到第二版,并成为软件建模语言的事实标准。
UML的功能 (第 14章第 1讲)
UML是在消化、吸收、提炼至今所有软件建模语言的基础上提出
的,它集百家之长,是软件建模语言的集大成者,所以 UML作为一种
统一的软件建模语言,具有广泛的建模能力。
UML在 信息软件系统领域的应用 具有以下几类:① 管理信息系统
( MIS);② 商业进销存系统;③ 财务管理系统;④ 工程应用软件;
⑤ 科学应用软件;⑥ 金融应用软件;⑦ 医院医疗系统;⑧ 工厂制
造流程管理系统;⑨ CRM;⑩ ESS应用。
UML既可以设计 C/S( Client/Server Application System)客户
机 /服务器结构的应用系统,也可以设计 B/S( Blower/Server
Application System)浏览器 /服务器结构的应用系统。
UML不仅适用于 计算机信息管理领域,还可用于 机械制图的流程
管理, 建筑的结构设计分析等建模工作。
UML的开发工具 (第 14章第 1讲)
目前,常用的 UML开发工具有,Rational Rose、
Visual Modeler,Microsoft Visio 2000/2002企业
版,Visual UML和 JUG( Java UML Generator)等。
(1) Rational Rose Rational Rose是美国
Rational Software Corporation开发的专业 UML设计
工具,是目前最专业的一种 UML开发工具。
(2) Visual Modeler Visual Modeler是一套附带
在 Microsoft Visual Studio企业版本中的 UML设计工
具。
(3) Microsoft Visio 2000/2002企业版
UML建模元素 (第 14章第 1讲)
UML共有三大基本要素,见图,
事物 (第 14章第 1讲)
UML里的, 事物( Things), 是指开发
设计模型时抽象化的最后结果。, 事物
( Things), 分为四大类,
① 结构事物 (Structural Things)
② 行为事物 (Behavioral Things)
③ 分组事物 (Grouping Things)
④ 备注事物 (Annotational Things)
结构事物 (Structural Things)(第 14章第 1讲)
结构事物主要用来表示, 概念, 或, 实
体, 的 组件,它又分为 7个 处理元素,分别
为 类 ( Class),界面 ( Interface),合作
( Collaboration),使用案例 ( Use
Case),活动类 ( Active Classes),组件
( Components)和 节点 ( Nodes)。
类( Class) (第 14章第 1讲)
类( Class) 是指一种可以
共享某些指定的相同的 属性
( Attributes),操作
( Operations),关系
( Relationships)和 语意
( Semantics)的 对象描述。
在 UML的模型中是用, 长方
形, 来表示, 类, 的,长方形
上方表示类的名称,下方则隔
开小方块分别描述类中所包含
的, 属性, 和, 操作,,类的
图形表示法如图。
界面( Interface) (第 14章第 1讲)
界面( Interface)就是
,操作, 的集合。 使用界面可
以定义出类( Class)或组件
( Component)能提供的各种 服
务。 利用界面能清晰地描述出
类中所有让外界看到的 行为。
在 UML的模型中的是用, 圆
圈, 来表示, 界面, 的,圆圈
下方标注界面的名称,界面的
图形表示法如图。
合作( Collaboration) (第 14章第 1讲)
合作 ( Collaboration)并不是一种单独的行为
模型表示,而是一种 行为的, 交互,, 合作是指由
角色和其他相关的元素所开发设计的群体,使用合
作可显示出行为交互过程中的状态,交互是利用信
息传递的方式来完成的。
在 UML的模型中的是用, 虚线绘制的椭圆, 来
表示, 合作, 的,椭圆里只标注合作的名称,合作
( Collaboration)如图。
使用案例( Use Case) (第 14章第 1讲)
使用案例 ( Use Case)是系统对于特定的角色
所发出的一连串 行为的描述 。通过使用案例可以设
计和开发出模型内的行为事件。
在 UML的模型中是用, 实线绘制的椭圆, 来表
示, 使用案例, 的,椭圆里只标注使用案例的名称,
使用案例的图形表示法如图。
活动类( Active Classes) (第 14章第 1讲)
活动类 ( Active Classes)
是类的一种,但却不是一种单纯
的类。活动类中的对象和组件都
有自己的 进程 和 线程,因此这类
对象和组件拥有可以启动某些
,控制活动, 的功能,且对象与
对象间可利用, 同步, 的方式相
互沟通。
在 UML的模型中活动类与类
的表示形式是一样的,但活动类
在长方形外框上使用粗线 框起
来,活动类的图形表示法如图。
组件( Components) (第 14章第 1讲)
组件 ( Components)可以说是软件
系统中的经过 模型化的实体 。组件可以是
一段源程序代码、一个文本文件、一个二
进制文件或一个可执行文件。
在 UML的模型中,组件的图形表示方
法是一个长方形加两个小标签,长方形内
标注组件的名称,组件的图形表示法如图
所示。
节点( Nodes) (第 14章第 1讲)
节点 ( Nodes)就是系统运算资源的
表示元素,也视为是一种实体元素。
在 UML的模型中,节点的图形表示方
法是一个立方体,节点的图形表示法如图。
行为事物 (Behavioral Things)(第 14章第 1讲)
行为事物 主要用来反映事物之
间的 交互过程 和 状态变化 。行为
事物分为交互( Interaction)和
状态机( State Machine)两种。
① 交互( Interaction) 是指对象之
间相互沟通的动作信息。交互的
图形表示法如图。
② 状态机( State Machine) 用来表
示对象的一连串状态,它不是单
一元素,而是包含了相当多的元
素(状态、转换、事件和活动)。
状态机的图形表示法如图。
分组事物 (Grouping Things)(第 14章第 1讲)
分组事物
( Grouping Things)是
指 UML中属于, 组织, 的
结构 。利用分组事物可以
将模型按特定的结构切分
为不等的元素。分组事物
只有一种,就是, 类库
( Packages), (也可称
为, 包, )。类库的图形
表示法如图。
备注事物 (Annotational Things)
(第 14章第 1讲)
备注事物
(Annotational Things)
是 UML中用于, 说明, 的
元素,只有, 批注
( Note), 一种元素。批
注( Note)是用来在建模
过程中对模型进行注释和
说明的。
在 UML的模型中是用
,有折角的长方形, 来表
示, 批注, 的,批注的图
形表示法如图。
依赖关系 (Dependency)(第 14章第 1讲)
依赖关系 (Dependency)是指两个事物或两
个元素间 相互影响的关联,也就是当一个事物
或元素发生改变时会影响到另外一个事物。
在 UML的模型中是用, 具有方向的虚线, 来
表示, 依赖关系, 的,依赖关系的图形表示法
如图。
关联关系 (Association)(第 14章第 1讲)
关联关系 (Association)是指两个事物之
间相互联接的一组联机结构。
在 UML的模型中是用, 直线, 来表示, 关
联关系, 的,关联关系的图形表示法如图。表
示法如图。
一般化关系 (Generationalization)
(第 14章第 1讲)
一般化关系 (Generationalization)是指
两个对象或元素之间互为主从(一般和特殊化)
的关系。
在 UML的模型中是用, 具有空心箭头的直
线, 来表示, 一般化关系, 的,箭头指向主
(一般)对象或元素,一般化关系的图形表示
法如图。
实现关系 (Realization)(第 14章第 1讲)
实现关系 (Realization)是指两个分类器
之间的语意关系。
在 UML的模型中是用, 具有空心箭头的虚
线, 来表示, 实现关系, 的,实现关系的图形
表示法如图。
静态视图 (Static Views)(第 14章第 1讲)
静态视图 包括 类图, 对象图, 组件图, 用例图 和
部署图 。
类图 是主要用来描述系统的 静态结构 的。学校信息
系统的一个类图如下。
对象图( Object Diagram) (第 14章第 1讲)
对象图 ( Object Diagram)是 类图的实例,它主要
描述在某特定时刻的系统中对象与对象之间的关系。作
者和图书类图的对象图如下。
组件图( Component Diagram) (第 14章第 1讲)
组件图 ( Component Diagram)是用来描述构成软
件系统的 软组件 以及它们 之间的关系 。组件可以是一段
源程序代码、一个文本文件、一个二进制文件或一个可
执行文件。
组件图里一般包括组件、界面、关系、包、子系统、
备注和限制等元素。一个课程设置组件图如下。
用例图( Use Case Diagram) (第 14章第 1讲)
用例图 ( Use Case Diagram)是用来描述软件系统
向一组使用者提供的一组相关的功能。在一个用例图中,
可以有一个或多个使用者与一个或多个用例相互关联。
一个系统的全部用例图就构成了该系统的需求模型。
用例图里一般包括用户案例、动作者、类库、备注
和限制等元素。自动取款机的用例图。
部署图( Deployment Diagram)
(第 14章第 1讲)
部署图 ( Deployment Diagram)是一种用来显示运
行时处理节点和节点存在的组件的图形,主要用来设计
系统的静态部署视图。
部署图里一般包括节点、依赖关系、关联关系、组
件、类库、子系统、备注和限制等要素。一个汽车零件
信息管理系统的部署图。
动态视图 (Dynamic Views)(第 14章第 1讲)
动态视图包括, 活动
图, 状态图, 顺序图 和 合
作图 。
活动图 ( Activity
Diagram)是一种用来设计
系统的工作、操作流程的
图形,主要描述事物的变
化过程。活动图也可简单
地说是 UML的流程图。
活动图里一般包括状
态(活动、动作、简单、
组合、分支、分叉、结
合)、转换、对象等要素。
一个体现图书入库业务流
程的活动图。
状态图( State Chat) (第 14章第 1讲)
状态图 ( State Chat)描述对象在其生
存周期中所具有的各种状态,以及根据事件
激励各种状态变化的相互关系。
状态图里面一般包括:状态和转换(动
作、事件)要素。下图是反映书店中图书的
各种状态的变化图。
顺序图( Sequence Diagram) (第 14章第 1讲)
顺序图 ( Sequence Diagram)主要描述各个对
象之间的消息传送顺序,主要指时间顺序。
顺序图里一般包括对象、联机、消息、备注和
限制等元素。下图是计算机打印工作的顺序图。
合作图( Collaboration Diagram)
(第 14章第 1讲)
合作图 ( Collaboration Diagram)主要强调
的是接收和发送消息对象的结构组织。顺序图和合
作图都是描述事物对象之间的消息交互活动,所以
二者也被称为交互图。
合作图里一般包括对象、联机、消息、备注和
限制等元素。下图是计算机打印工作的合作图。