第四章 初识统一建模语言 UML
一,UML的产生和发展
三,UML的视图和图
二,UML的基本概念
四、用 UML建模
一,UML的产生和发展
1,UML及其起源及发展
二,UML的基本概念
1、什么是 UML
UML是一种基于面向对象的可视化图形建模语言,用于对软件系统
进行说明,构造和文档建立。
1) UML中相互关联的含义
?UML合并了许多面向对象方法中被普遍接受的概念,并对每种概念给
出了清晰的定义、表示法和有关术语。
?UML对于整个生命周期的开发具有无缝性。
?UML适用于各种应用领域的建模
?UML可应用于运行各种不同的编程语言和开发平台的系统。
?UML作为建模语言,不对开发过程的细节进行描述
?UML元模型揭示和表达了各种概念之间的内在联系。
2) UML的目标
?提供一种所有建模人员都可使用的通用建模语言。
?能对众多系统建模的同时,尽可能简洁
?支持大部分软件开发过程
?使用面向对象概念为系统建模
?创建一种人和机器都可以使用的语言
?设计一种面向对象分析和设计的符号表示
3) UML的特点
?统一标准
?面向对象
?可视化、表示能力强大
?独立于过程
?容易掌握使用
4) UML概念模型
UML
事物
关系

结构事物
行为事物
分组事物
注释事物
接口
协作
用例
主动类
构件
节点
交互
状态机

注释
依赖
关联
泛化

类图
对象图
用例图
顺序图
协作图
状态图
活动图
构件图
实施图
事物 是模型中最具有代表性的成分抽象。
结构事物
?类:一组具有相同属性、相同操作、相同关系的对象的描述
?接口:描述一个类或构件的一个服务的操作集。
?协作:定义可一个交互。
?用例:是系统中的功能单元
?主动类:其对象至少拥有一个进程或线程,能够启动控制活动
?构件:系统中物理的、可替代的部件
?结点:系统运行时存在的物理单元
行为事物
?交互:它由在特定语境中共同完成一定任务的一组对象之间交换的消息组成。
?状态机:它描述一个对象或一个交互在生命期内响应时间所经历的状态序列
分组事物 包 —— 把元素组成为组的机制
关系
依赖 表示两个或多个模型元素之间的一种语义联系,其中一个
事物的改变将影响另一个事物。
关联 通过一个事物可联想到另一个事物。
泛化 指模型要素之间的一般与特殊的联系。
5) UML视图体系
视图名称 视图作用 包含的图 图的说明
用例视图
强调从用户角度看到或需要的系统
功能
用例图 以用例为单位描述系统的功能
逻辑视图 展现系统的静态或结构组成及特征 类图、对象图
类图描述系统的静态结构;对象图描
述系统在某一时刻的静态结构
并发视图 体现系统的动态或行为特征
顺序图、协作图、状
态图、活动图
顺序图按时间顺序描述系统元素间的
交互;协作图按时间和空间顺序描述
系统元素的交互和关系;状态图描述
系统元素的状态和响应;活动图描述
系统元素的活动
组件视图 体现系统实现的结构和行为特征 组件图 描述系统元素间的组织
展开视图
体现系统实现环境的结构和行为特

展开图
描述环境元素的配置,并把实现系统
的元素映射到配置上
三,UML的视图和图
1、视图
视图代表完整系统描述中一个特定方面的抽象,系统的整体架构和
特征可以用一组视图完整地描述出来。每个视图由一组图构成。
1)用例视图
用例视图从系统外部用户出发,抽象地描述系统的功能集合,使系
统最终实现这个功能。用例视图是其他视图的核心和基础
2)逻辑视图
逻辑视图显示系统内部的功能是怎样设计的,它利用系统的静态结
构和动态行为来刻画系统功能。静态结构描述类、对象和它们之间的关
系等;动态行为主要描述对象之间的动态协作。
3)并发视图
并发视图用来显示系统并发工作的情况,主要由动态图(状态图、
顺序图、协作图、活动图)和执行图(组件图、展开图)构成。为系统
开发人员和集成人员使用。
4)组件视图
组件视图用来显示代码组件的组织方式,描述实现模块和它们之间
的依赖关系。组件视图由组件图构成,为开发者使用。
5)展开视图
组件视图用来显示代码组件的组织方式,描述实现模块和它们之间
的依赖关系。展开视图由展开图组成,包括结点和结点之间的关系。
2、图
显示若干参与者以及参与者与系统提供的用例之间的连接关系
1)用例图
图由图片组成,图片是模型元素的符号化。图是视图的组成部分,
一个系统模型包括多个各种类型的图。
鉴定保险单
统计保险金额
建立客户档案
客户
保险销售员
1)用例概念的基本思路
首先找出系统边界以外的活动者,然后从活动者如何与系统进行对
话的角度,以用例图描述活动者怎样使用系统以及系统向活动者提供什
么功能。
例:客户对“下订单”用例的描述 (场景),
“确定客户,找出需要的并且仓库里还有的物品并检查客户信用额是否
够”
“活动者” — 客户;系统对信息的处理 — 查找库存、检查客户信用额;
处理之后的返回结果 — 客户订购的商品是否够,客户信用度是否够
2)用例中的有关概念
? 系统边界:一个系统所包含的所有成分与系统以外的各种事物的分界线。
?活动者:是系统之外与系统进行交互的任何事物。
用例图是系统获取需求的重要手段,用例图反映系统的主要功能。
2)类图
表示系统中类与类之间的关系,是对系统静态结构的描述。构造类
图的三个关键问题,
?系统中有哪些需要关心的类?
?这些类是如何描述的?
?这些类之间的联系是什么?
客户 利润 交易者
生财工具
债券 股票 选择股票
1..* 1..*
0..*
0..*
1 1
3)对象图
对象图表示类的对象 实例,具体反映该系统执行到某处时系统内事
物的状态。(见图 4— 3)
4)状态图
状态图对类所描述事物作补充说明,从而显示类的所有对象可能具
有的状态,以及引起状态变化的事件。
例:对象, 发票, 可以根据其付款的情况分为 3个状态:未付款、部分
付款以及付清款
未付款 部分付款
付清款
部分付款
部分付款
完全付款
状态图使用状态、事件和转换来记录对象在其生命周期中所经历的
状态序列。
?对象的初始状态是图中任何事件都未对该对象起作用时的状态
?状态代表对象生命周期中的某一瞬间
?转换表明作为对事件的响应结果,对象将从一种状态转换到另一种状
态并执行某个动作。
?触发状态转换的事件在状态转换中命名。
在一楼
下降至一楼
正在下降 停止
正在上升
向上
向下
向上
向上至要
到达的楼
层 向下至要
到达的楼

停止时间到
向下至一楼
开始
计算机, 打印服务器,,
打印文件
打印机,,队列
结束打印
打印文件
加入队列
通知打印
打印文件
打印机忙碌
打印机空闲
5)顺序图
表示随时间的推进,若干对象之间是如何交互作用的,显示对象之间
的动态合作关系,强调对象之间消息发送的顺序。对象之间的这些交互
是指在场景或用例的事件流中发生的。每一个对象用一条生命周期线来
表示,在生命线上用棒形线表示该对象的服务按时间前进方向的执行动
作,生命线之间的箭头连线代表消息。
6)协作图
协作图按照时间和空间的顺序描述系统元素的交互和关系。协作图由
对象及其关系,以及对象之间的流动消息构成。
:计算机
:打印服务器,队列
:打印机
1、打印文件 4、打印结束
2.1 进入队列
2.2 离开队列
3、打印文件
7)活动图
任何一个系统任务在对象观点下对应于一系列有序的消息及消息的响
应,但从系统的观点来看,它是一系列有序的活动,这些活动有序地通
过事件的触发连接起来实现系统任务。
尽管用例也从活动的角度描述系统,但用例的活动描述难以描述系统任
务中的并发活动,以及跨用例的任务。因此,引入活动图主要目的是描
述并发活动和跨用例的系统任务。 活动图的核心概念是活动,活动是
完成系统任务必需执行的处理步骤。在 UML中活动本身是一种活动状态,
与状态表示法完全相同。
屏幕显示
磁盘满
屏幕显示
打印
产生附录
文件
檫除屏幕
提示信息
打印文件 磁盘满
磁盘有空闲
8)组件图
组件图反映代码的物理结构。组件包含逻辑类的实现信息。
窗口控件
Whnd.obj
主控模块
Main.obj
通信控件
Comlind.obj
客户程序
Client.exe
图形库
Graphic.dll
主控模块
Main.cpp
通信控件
comlind.cpp
窗口控件
Whnd.cpp
9)展开图
展开图又称配置图,显示系统中软件和硬件的物理架构,描述环境元
素的配置,并把实现系统的元素映射到配置上。
个人计算机
个人计算机
网络服务器 数据库服务器
客户系统,EXE
客户系统,EXE
网络服务,EXE 查询系统,EXE
网络
TCP/IP
TCP/IP
开列订单
验证客户
<extend>
用例图
服务人员
订单
客户
商品条目 类图
10)图例
顺序图 订单,…….,
客户,…….,
创建订单
验证客户
订单调出
订单分发 订单存档
订单入座 订单填写
订单类的状态图
创建订单
确认订单
提供优惠 填写订单
团体付费
信用卡付费
填写订单 个别订户 分支
同步条 团购订户
同步条
合并
活动图 —— 描述订单创建过程的活动
3、图的模型元素和符号
类(对象)
属性
操作
状态
用例
结点
笔记
包 组件
接口
模型元素符号
关系符号
聚合
泛化
关联
依赖
4、通用机制
1)修饰
修饰是在模型元素旁边用附加的文字或规格说明。例如,在类型的名
字下加下划线表示该类的实例(即对象)。
2)笔记
笔记用于对模型的意义作进一步的解释
3)规格说明
通用机制用于描述基本模型元素无法表达的附加信息
对模型元素性质的详细描述称为规格说明
4)版类
是 UML提供的一种扩展机制,在已有模型的基础上建立一种新的模型元素
5)约束
约束是对元素的限制,通过约束限定元素的用法或元素的语义。
四、用 UML建模
1,UML系统模型的组成
分析模型 设计模型 实现模型 展开模型
系统模型
从用户需求
角度观察
从数据库设
计角度观察 从物理实现角度观察
从系统和网络
构成角度观察
类图
状态图
顺序图 包图
设计类图 协作图
用例图
活动图
对象数据
库模式
组件图 展开图 实施阶段
设计阶段
分析阶段
事物
事件或
事件表
2,UML建模的过程
集体讨论 描绘目标
组织目标
详细说明
集成 验证 核实
原型化与测试
系统评价
发现不足
使用非正式工具,
如白板或笔记公告
把上面描绘的目标
组织成正式的图
反复迭代,明确内
容,显示细节
消除图形之间的冲
突,保证系统正确
有效
完成原型并进行测

评价结果,必要时
返回以纠正不足
3,UML建模的工具支持( Rational Rose)
1)绘图支持
提供一致的图标和图片,可以选择、放置、连接和定义图中各元素。
工具还具有理解元素的语义的能力,以及提供版面设计功能。
2)模型积累
图的一致性检索
鉴定
报告
重用元素或图
3)导航
4)多用户支持
5)代码生成
6)反向工程
UML 通过阅读和分析代码,将代码的结构用图显示出来。
7)集成
把建模工具与系统开发时需要的其他工具结合形成一个整体。