UML简介

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

作用:描述如何实现系统内部的功能 ;


适用对象:分析者、设计者、开发者 ;
描述使用的图:类图和对象图、状态图、顺序图、合作 图和活动图 ; 重要性:描述了系统的静态结构和因发送消息而出现的 动态协作关系。

组件视图
作用:描述系统代码构件组织和实现模块,及它们之 适用对象:设计者、开发者和测试者;
UML起源
UML只是一种建模语言,不是一种建模方法。
建模方法应包括建模语言和建模过程两部分:
① 建模语言:提供这种方法用于表示建模结果的符号。 (图形符号:可视化)
②建模过程:描述建模时需要遵循的步骤。
为什么称之为UML?
U:对多种经典的OO建模方法进行了统一,形成了规范。 M:用于建立软件开发过程中的各种工程模型。 L:是一种可视化的(图式)语言。
起点
状态
终点
状态名
在第一层 到达 移到 第一层 下降 到指定楼层
上行
上升
到指定楼层
到达 到达 空闲 时间=0 开始计时 上行
下行
超时
电梯状态图
序列图
序列图序列图用来反映若干个对象之间的动态协作关系, 也就是随着时间的流逝,对象之间是如何交互的。主要是 用来显示对象之间发送消息的顺序,还显示了对象之间的 交互,即系统执行的某一特定点所发生的事。
4. 聚合(Aggregation)



【聚合关系】:是整体与部分的关系,且部分可以 离开整体而单独存在。如车和轮胎是整体和部分的 关系,轮胎离开车仍然可以存在。 聚合关系是关联关系的一种,是强的关联关系;关 联和聚合在语法上无法区分,必须考察具体的逻辑 关系。 【代码体现】:成员变量 【箭头及指向】:带空心菱形的实心线,菱形指向 整体
①具有指定的建模元素(图式符号)
②具有严格的语法(构图规则)
③具有明确的语义(逻辑含义)
6.3.1 UML的主要构成
UML是一种标准化的图形建模语言,它是面 向对象分析与设计的一种标准表示。由以下四 个部分构成:

视图(views)
图(Diagrams)
模型元素(Model elements) 通用机制(general mechanism)
贸易经理
评价
《扩展》
超越边界
销售人员
类图

类图(class diagram)用来表示系统中的类和类与类之间 的关系,它是对系统静态结构的描述。 类用来表示系统中需要处理的事物。类与类之间有多 种连接方式(关系),比如:关联、依赖、通用化或打包 (packaged)。可以把若干个相关的类包装在一起作为一 个单元(包),相当于一个子系统。一个系统可以有多张类图, 一个类也可以出现在几张类图中。
UML起源

发展历史
1994年Booch和Rumbaugh在Rational Software Corporation开始 了UML的工作,其目标是创建一个“统一的方法”。
1995年OOSE的创始人Jacobson加盟到这项工作中,工作重点转移 到创建一种统一的建模语言UML。
1997年11月,OMG(Object Management Group)批准把UML1.1作为 基于面向对象技术的标准建模语言。 2004年推出了UML2.0。

各种关系的强弱顺序: 泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖

对象图
对象图是类图的实例,它及时具体地反映了系统执行到某处时系 统的工作状况。对象图使用与类图相同的符号,只是在对象名下面加 上下划线,同时它还显示了对象间的所有实例链接关系。
丁一办公室中的PC: 计算机 丁一:作家 名称=Dell 内存=64 466
建模语言和系统开发时选择的方法或过程连接起来。
逻辑视图描述 系统设计特征, 包括结构模型 视图和行为模 型视图,前者 描述系统的静 态结构,后者 描述系统的动 态行为。
用例视图描述系统的 外部特性、系统功能 等。
Component View
Logical View
Use Case View Deployment View

间的依赖关系;

描述使用的图:组件图;
重要性:描述系统如何划分软件构件,如何进行编程。
Hale Waihona Puke 发视图作用:描述系统的并发性,并处理这些线程间的通信和 同步;

适用对象:开发者和系统集成者;
描述使用的图:状态图、顺序图、协作图、活动图、组 件图和部署图; 重要性:将系统分割成并发执行的控制线程及处理这些 线程的通信和同步。
UML视图
一个系统应从不同的角度进行描述 ,从一个角度观察到的 系统称为一个视图(view)。 视图由多个图 (Diagrams) 构成,它不是一个图表 , 而是在
某一个抽象层上,对系统的抽象表示。
如果要为系统建立一个完整的模型图,需定义一定数量的 视图,每个视图表示系统的一个特殊的方面。另外,视图还把
Concurrency View
组件图用来 显示代码组 件的组织方 式。它描述 了实现模块 和它们之间 的依赖关系。
并发图用来显示系统的并发工作状况。并发视 图将系统划分为进程和处理机方式,通过划分 引入并发机制,利用并发高效地使用资源、并 行执行和处理异步事件。
展开图用来显示系统的物 理架构,即系统的物理展 开。
说明:对于同一个系统,不同人员所关心的内容 并不一样:

分析人员和测试人员关心的是系统的行为,因此会侧重于用 例视图;


最终用户关心的是系统的功能,因此会侧重于逻辑视图;
程序员关心的是系统的配臵、装配等问题,因此会侧重于组 件视图;

系统集成人员关心的是系统的性能、可伸缩性、吞吐率等问 题,因此会侧重于并发视图;
1. 泛化(Generalization)


【泛化关系】:是一种继承关系,表示一般与特殊的关系, 它指定了子类如何特化父类的所有特征和行为。例如:老虎 是动物的一种,即有老虎的特性也有动物的共性。 【箭头指向】:带三角箭头的实线,箭头指向父类
2. 实现(Realization)


【实现关系】:是一种类与接口的关系,表示类是 接口所有特征和行为的实现. 【箭头指向】:带三角箭头的虚线,箭头指向接口
用例图
用例图 用例图(use-case diagram)用于显示若干角色(actor)以及这 些角色与系统提供的用例之间的连接关系。一个用例是系统所提供的一个功

能的描述,执行者是指使用这些用例的人或外部系统,执行者与用例的连接表示 该执行者使用了此用例。
设置边界 风险分析 交易估价 进行交易 营销人员 更新帐目 《使用》 《使用》 记帐系统
3. 关联(Association)



【关联关系】:是一种拥有的关系,它使一个类知道另一个 类的属性和方法;如:老师与学生,丈夫与妻子关联可以是 双向的,也可以是单向的。双向的关联可以有两个箭头或者 没有箭头,单向的关联有一个箭头。 【代码体现】:成员变量 【箭头及指向】:带普通箭头的实心线,指向被拥有者
4. 聚合(Aggregation)
5. 组合(Composition)



【组合关系】:是整体与部分的关系,但部分不能 离开整体而单独存在。如公司和部门是整体和部分 的关系,没有公司就不存在部门。 组合关系是关联关系的一种,是比聚合关系还要强 的关系,它要求普通的聚合关系中代表整体的对象 负责代表部分的对象的生命周期。 【代码体现】:成员变量 【箭头及指向】:带实心菱形的实线,菱形指向整 体
5. 组合(Composition)
6. 依赖(Dependency)



【依赖关系】:是一种使用的关系,即一个类的实现需 要另一个类的协助,所以要尽量不使用双向的互相依赖. 【代码表现】:局部变量、方法的参数或者对静态方法 的调用 【箭头及指向】:带箭头的虚线,指向被使用者
class diagram
活动图(Activity Diagram)的应用非常广泛, 它既可用来描述操作 ( 类的方法 ) 的行为 , 也可以描 述用例和对象内部的工作过程 , 并可用于表示并行 过程。 活动图是由状态图变化而来的,它们各自用于不 同的目的。活动图描述了系统中各种活动的执行的 顺序。刻化一个方法中所要进行的各项活动的执行 流程。 活动图中一个活动结束后将立即进入下一个活 动(在状态图中状态的变迁可能需要事件的触发)。
呼叫者
交换
拿起话筒 响拨号声
接受者
A
{B-A<1S} {C-B<10S} B C 通过网络选择 D 通话路径 E {E-D<5S}
拨号码 路由选择 鸣响音 响铃声
接电话 停音 停铃声
双方通话
打电话的序列图
协作图
协作图(Collaboration Diagram)用于描述相互合作的对象间的交互 关系和链接关系。虽然顺序图和合作图都用来描述对象间的交互关系, 但侧重点不一样,顺序图着重体现交互的时间顺序,合作图则着重体现 交互对象间的静态链接关系。
:计算机
1:打印文件
1.2:[打印机忙] 保存打印文件
:队列
:打印服务器
1.3:[打印机空闲] 打印文件
:打印机 协作图
活动图
活动图反映一个连续的活动流。 活动图由各种动作状态构成,每个动作状态包含 可执行动作的规范说明。当某个动作执行完毕,该 动作的状态就会随着改变。这样,动作状态的控制 就从一个状态流向另一个与之相连的状态。 活动图中还可以显示决策、条件、动作状态的并 行执行、消息(被动作发送或接收)的规范说明等 内容。
窗口控制2 (p) 窗口控制1 (whnd.obj)
图形库 (graphic.dll)
通信控制2 (p)
通信控制1 (comhnd.obj)
客户程序 (client.exe)
主控模块 (p)
组件图

组件图(component diagram)用来反映代码的物理结构。 代码的物理结构用代码组件表示。组件可以是源代码、二进制文 件或可执行文件组件。 组件包含了逻辑类或逻辑类的实现信息,因此逻辑视图与组件视 图之间存在着映射关系。组件之间也存在依赖关系,利用这种依赖 关系可以方便地很容易地分析一个组件的变化会给其他的组件带来 怎样的影响。 实际编程工作中经常使用组件图。
系统工程师关心的是系统的发布、安装、拓扑结构等问题, 因此会侧重于展开视图。

用例视图

作用:描述系统的功能需求,找出用例和执行者;
适用对象:客户、分析者、设计者、开发者和测试者;
描述使用的图:用例图和活动图;
重要性:系统的中心,它决定了其他视图的开发,用于确认 和最终验证系统。
逻辑视图
教学难点 ⒈ UML视图; ⒉ UML图; 3. UML的模型元素。
8.1 UML起源
统一建模语言UML
Unified Modeling Language
UML是一种基于面向对象的可视化的通用
(General)建模语言,该方法结合了Booch, OMT, 和
OOSE方法的优点,统一了符号体系,并从其它的方法 和工程实践中吸收了许多经过实际检验的概念和技术。
第八章 UML简介
8.1 UML起源
8.2 UML构成 8.3 统一过程(RUP)简介 8.4 Rational Rose 介绍
教学目的与要求
⒈了解UML的发展历史;
⒉掌握UML的基本概念和组成;
3.了解统一过程(RUP); 4.了解Rational Rose建模工具的基本功能。
教学重点
⒈UML视图; ⒉ UML图; ⒊ UML的模型元素; ⒋UML通用机制。
姓名=丁一 年龄=30
丁一家里的PC: 计算机
名称=长城PII MMX 内存=64
状态图
状态图通常是对类描述的补充,它说明该类的对象所有可能的状态 以及哪些事件将导致状态的改变。
状态 所有对象都具有状态 , 状态是对象执行了一系列 活动的结果。当某个事件发生后 , 对象的状态将发生变化。 状态图中定义的状态有 : 初态、终态、中间状态、复合状态。 一个状态图只能有一个初态,而终态则可以有多个。起点 用一个黑点表示,终点用黑点外加一个圆表示。状态用一个 圆角四边形表示。

展开视图
作用:描述系统的物理设备配臵,如计算机、硬件设 适用对象:开发者、系统集成者和测试者;
描述使用的图:部署图; 重要性:描述硬件设备的连接和哪个程序或对象驻留

备以及它们相互间的连接;

在哪台计算机上执行。
UML图
UML中最常用的图包括用例图、类图、对象 图、状态图、序列图、协作图、活动图、组件 图、部署图等。
相关文档
最新文档