教材和参考书
【 教材 】
制作 龙鹏飞
面向对象技术 UML教程
作者:王少锋 出版社:清华大学出版社
ISBN,7-302-07740-1 价格,24.00元
【 参考书 】
1,UML用户指南 Booch,Rumbaugh,Jacobson著。邵维
忠等译。 ISBN:7-111-07564-1。机械工业出版社。 48.00元
2,UML 参考手册 Rumbaugh,Jacobson,Booch著。姚淑
珍等译。 ISBN:7-111-08220-6。机械工业出版社。 69.00元
3,统一软件开发过程 Jacobson,Booch,Rumbaugh 著。
周伯生等译。 ISBN:7-111-07572-2。机械工业出版社。 45.00元
4,面向对象分析与设计 杨正莆 著。 ISBN:7-113-04097-
7。中国铁道出版社。 55.00元






第 2章 UML概述
【 定义 】
制作 龙鹏飞
制品 ( artifact):指软件开发过程中产生的各
种类型的产物,如模型、代码、测试用例等。
UML,Unified Modeling Language,统一建模语
言。
UML是对软件密集型系统中的制品进行 可视化,
详述, 构造 和 文档化 的语言。






第 2章 UML概述
【 定义 】
制作 龙鹏飞
详述,模型允许我们详细说明系统的结构和行
为。
可视化,模型帮助我们按照实际情况或按照我
们所需要的样式对系统进行可视化。
构造,模型给出了一个指导我们构造系统的模
板。
文档化,模型对我们所作的决策进行文档化。






第 2章 UML概述
【 为什么要学习 UML】
一幅图顶得上一千个字
制作 龙鹏飞
■ 使用模型可以加强人员之间的沟通
■ 使用模型可以更好地理解问题
■ 使用模型可以更早地发现错误或疏漏的地方
■ 使用模型可以获得设计结果
■ 模型为最后的代码生成提供依据






第 2章 UML概述
【UM
L



制作 龙鹏飞
■ G,Booch ■ J,Rumbaugh ■ I,Jacobson■ 其它人
Booch’91 OMT-1 OOSE方法其它方法
Booch’93 OMT-2
1995,Unified Method 0.8
1996,UML 0.9 & 0.91
1997,UML 1.0 & 1.1
UML 1.3(1999.6) 1.4(2001.9)
1.5(2003.3) 2.0(最近版本 )







统一阶段
标准化阶段
工业化阶段
合作伙伴的
专家意见






第 2章 UML概述
【 UML的特点 】
制作 龙鹏飞
■ 面向对象 支持面向对象软件开发。
■ 统一的标准 作为 OMG标准,提供支持多,用
户多。
■ 可视化、表示能力强
■ 独立于过程 不依赖于特定软件开发过程。
■ 概念明确 表示法简洁,图形结构清晰。






第 2章 UML概述
【 UML的构成 】
制作 龙鹏飞
基本构造块
basic building block
事物
thing
结构事物( structural thing)
行为事物( behavioral thing)
分组事物( grouping thing)
注释事物( annotational thing)
关系
relationship

diagram
规则
rule
通用机制
common mechanism
行为事物:交互
( interaction)和状态
机( state machine)
结构事物:类、接口、
协作、用例、主动类、
组件和结点
分组事物:包
( package)
注释事物:注解( note)






第 2章 UML概述
【 UML的构成 】
制作 龙鹏飞
基本构造块
basic building block
事物
thing
关系
relationship

diagram
依赖( dependency)
关联( association)
泛化( generalization)
实现( realization)
规则
rule
通用机制
common mechanism
关联:两个类存在结构
上的关系,如一个公司
有许多员工,公司与员
工之间具有关联关系。
依赖:如,A类的方法使用
了 B类对象(作为参数),
则 A类依赖 B类。
泛化:定义了一般元素
与特殊元素之间的分类
关系。
实现:如,一个类实现
了一个接口,一个协作
实现了一个用例。






第 2章 UML概述
【 UML的构成 】
制作 龙鹏飞
基本构造块
basic building block
事物
thing
关系
relationship

diagram
配置图( deployment diagram)
规则
rule
通用机制
common mechanism
用例图( use case diagram)
顺序图( sequence diagram)
协作图( collaboration diagram)
类图( class diagram)
对象图( object diagram)
状态图( statechart diagram)
活动图( activity diagram)
组件组( component diagram)






第 2章 UML概述
【 UML的构成 】
制作 龙鹏飞
基本构造块
basic building
block
规则
rule
通用机制
common
mechanism
范围( scope)
可视性( visibility)
完整性( integrity)
执行( execution)
命名( name)
命名:一个标识符。
1、所取字符集;
2、长度;
3、命名空间(如包,类)中
唯一。
范围:说明是实例( instance)成
员还是类( class)成员。
可视性:模型元素是否在命
名空间外部可见。
完整性:事物如何正确、一
致地相互联系。
执行:运行或模拟动态模型
的含义是什么。
规则:不能简单地把 UML的构造块
按随机的方式放在一起。 UML有一
套规则,这些规则描述了一个结构
良好的模型看起来应该象什么。
一个结构良好的模型应该在语义上
是前后一致的,并且与所有的相关
模型协调一致。






第 2章 UML概述
【 UML的构成 】
制作 龙鹏飞
基本构造块
basic building
block
规则
rule
通用机制
common
mechanism
规格说明
specification
修饰
adornment
通用划分
common division
扩展机制
extensibility
mechanism
通用机制:通过与具有公共
特征的模式取得一致性,使
模型更为简单和协调。
规格说明,UML不只是一种图形语
言,在其图形表示法背后都有一个
规格说明,其提供了对构造块的语
法和语义的文字叙述。
修饰:图形元素的某些规格说明的细节
通过标准图形的变化来反映。如抽象类
名和抽象方法名用斜体,属性和方法前
的 +-#。
通用划分:指元素 /元素实例、
接口 /实现这样的划分方法。如:
类 /对象,组件 /组件实例,接
口 /组件,接口 /类。
扩展机制,UML提供了一种绘制软件
蓝图的标准语言,为了表示出各种领
域的各种模型在不同时刻所有可能的
细微差别,以受控方法扩展该语言。
从三个方面:






第 2章 UML概述
【 UML的构成 】
制作 龙鹏飞
基本构造块
basic building
block
规则
rule
通用机制
common
mechanism
规格说明
specification
修饰
adornment
通用划分
common division
扩展机制
extensibility
mechanism 标记值:扩展了 UML构造块的特性,允许创建
元素的新信息。
约束:扩展了 UML构造
块的语义,它允许增加
新的规则或修改现有的
规则。
构造型:扩展了 UML词
汇,创造新的构造块,
新的构造块从已有块派
生,又专门针对要解决
特定问题。
构造型
stereotype
标记值
tagged
value
约束
constraint






第 2章 UML概述
【 UML的构成 】
制作 龙鹏飞
<<exception>>
Overflow
EventQueue
{version=3.2
author=egb}
add()
remove()
flush()
{ordered}
构造型
标记值
约束
扩展机制
extensibility
mechanism






第 2章 UML概述
【 UML的构成 】
制作 龙鹏飞
基本构造块
basic building block
规则
rule
通用机制
common mechanism
范围( scope)
可视性( visibility)
完整性( integrity)
执行( execution)
命名( name)
规格说明( specification)
修饰( adornment)
通用划分( common division)
扩展机制( extensibility mechanism)
事物
thing
关系
relationship

diagram
结构事物( structural thing)
行为事物( behavioral thing)
分组事物( grouping thing)
注释事物( annotational thing)
依赖( dependency)
关联( association)
泛化( generalization)
实现( realization)
配置图
用例图
顺序图 协作图
类图 对象图
状态图 活动图
组件组 构造型stereotype
标记值
tagged value
约束
constraint






第 2章 UML概述
【 图的关系 】
制作 龙鹏飞
需求获取 分析 设计
用例图
活动图
类图
顺序图
状态图
类图
协作图






第 2章 UML概述
【 UML中的视图 】
制作 龙鹏飞
用例视图
Use Case View
逻辑视图
Logical View
进程视图
Process View
实现视图
Implement View
配置视图
Deployment View
系统术语词汇描述(类、接口和协作等)。
静态:类图、对象图
动态:交互图、状态图和活动图
包含了用于装配和发布的物理系统的组件和
文件。
静态:组件图
动态:交互图、状态图和活动图 系统行为的用例组成。
静态:用例图
动态:交互图、状态图和活动图
包含了形成系统并发与同步机制的线程和进程。
静态:类图、对象图
动态:交互图、状态图和活动图
侧重描述主动类。
描述组成物理系统的部件的分布、交付与
安装。
静态:配置图
动态:交互图、状态图和活动图






第 2章 UML概述
【 UML的应用领域 】
制作 龙鹏飞
■ 软件系统建模 企业信息系统、银行金融服务、
电信、交通、国防 /航空、零售领域、科学计算、
分布式的基于 Web的服务等。
■ 非软件系统建模 机构组织建模、工作流程建
模等。






第 2章 UML概述
【 UML支持工具 】
制作 龙鹏飞
■ Together(纯 Java开发)
■ Rational Rose(功能强大,市场占有率高)
■ Argo UML(开放源代码)
■ Visio( MS office 组件,随 Studio.NET 2003)
■ Visual UML(易用,功能强大,与 Rose生成
的模型可相互转换)
■,.....






第 2章 UML概述
【 UML例子 】
制作 龙鹏飞
import java.awt.Graphics;
import java.applet.Applet;
public class HelloWorld extends Applet
{
public void paint(Graphics g)
{
g.drawString(“Hello,World!”,10,25);
}
}
Java Applet( HelloWorld.java)代码
javac HelloWorld.java -> HelloWorld.class






第 2章 UML概述
【 UML例子 】
制作 龙鹏飞
<html>
<title>My Java Applet</title>
<body>
<img src="broadcast.jpg"
width="100" height="100"></img>
<br>
<applet code="HelloWorld.class"
width="100" height="50"></applet>
</body>
</html>
网页( TestApplet.html)代码






第 2章 UML概述
【 UML例子 】
制作 龙鹏飞
类图( 1)
+ p a i n t ( i n g, G r a p h i c s ), v o i d
H e l l o W o r l d a w t,, G r a p h i c s






第 2章 UML概述
【 UML例子 】
制作 龙鹏飞
类图( 2)
+ p a i n t ( i n g, G r a p h i c s ), v o i d
H e l l o W o r l d
a w t,, G r a p h i c s
a p p l e t,, A p p l e t






第 2章 UML概述
【 UML例子 】
制作 龙鹏飞
类图( 3)
+ p a i n t ( i n g, G r a p h i c s ), v o i d
H e l l o W o r l d
a p p l e t,, A p p l e t a w t,, P a n e l
a w t,, C o n t a i n e r
a w t,, C o m p o n e n t
+ c o m p o n e n t
*
+ p a r e n t 1
I m a g e O b s e r v e r
l a n g,, O b j e c t






第 2章 UML概述
【 UML例子 】
制作 龙鹏飞
包图
顶 层 包,, j a v a
j a v a,, a p p l e tj a v a,, a w t
j a v a,, i m a g ej a v a,, l a n g
+ p a i n t ( i n g, G r a p h i c s ), v o i d
H e l l o W o r l d






第 2章 UML概述
【 UML例子 】
制作 龙鹏飞
顺序图
, T h r e a d
, T o o l k i t
, C o m p o n e n t P e e r
t a r g e t, H e l l o W o r l d
r u n
c a l l b a c k L o o p
h a n d l e E x p o s e
p a i n t, = p a i n t ( g )
, J r e
r u n






第 2章 UML概述
【 UML例子 】
制作 龙鹏飞
组件图
< < e x e c u t a b l e > >
H e l l o W o r l d, c l a s s
H e l l o W o r l d, j a v a
T e s t A p p l e t, h t m l b r o a d c a s t, j p g