第六章 UML统一建模
统一建模语言UML教材

统一建模语言UML 教程学习目标◆掌握UML的基本概念、通用机制、扩展机制和规则◆掌握静态建模和动态建模机制◆了解物理架构建模和基于UML的统一建模过程统一建模语言UML教学内容5.1 UML的基本概念5.2 UML语言概述5.3 静态建模5.4 动态建模5.5 物理架构建模5.6 基于UML的统一建模过程——RUP本章小结5.1 UML的基本概念主要教学内容:5.1.1 UML语言的产生5.1.2 UML的定义5.1.3 UML的目标5.1.4 UML语言的应用5.1 UML的基本概念— UML的产生5.1.1 UML语言的产生1995年10月发布了称之为统一方法(Unified Method)的UM0.8。
1996年6月和10月分别发布了UML0.9 和UML0.91两个新的版本,并将UM重新命名为UML(Unified Modeling Language)。
1997年1月正式公布了UML1.0 ,11月,OMG(Object Management Group)接纳UML1.1为基于面向对象技术的标准建模语言。
2001年,UML1.4修订完毕。
5.1 UML的基本概念— UML的定义5.1.2 UML的定义UML是一种可视化的、用于绘制软件蓝图的标准建模语言。
可以用UML对软件系统的各种制品(包括程序、文档等)进行描述。
UML作为一种语言提供了用于交流的词汇表和使用这些词汇的规则,它由一些符号和一套指示如何使用这些符号的规则构成,可以利用这些明确定义的符号和相应的规则,建立待开发系统的各种模型。
5.1 UML的基本概念— UML的目标5.1.3 UML的目标◆利用面向对象概念为系统建模(不仅仅是编制软件)。
◆易于使用、表达能力强,可以进行可视化建模。
◆与具体的实现无关,应用于任何语言平台和工具平台,创建一种所有人和所有机器都可以使用的建模语言。
◆与具体的过程无关,可普遍应用于软件开发的过程。
统一建模语言UML

进程视图
以图形方式说明了系统中进程的详细组织结构, 即建模公式中的“人”、“事”、“物”、
“规则”是如何交互的,它们的关系如何。 即分析设计视图
部署视图
以图形方式说明了处理活动在系统中各个节点 的分布,包括进程和线程的物理分布。
即建模公式中的“人”、“事”、“物”、 “规则”是如何部署在物理节点(主机、网络 环境)上的。
抽象层次
抽象层次越高,具体信息越少,但是概括能力 越强。
抽象层次越高,表达能力越丰富。 有时,抽象甚至比具体还容易让人理解。
适当采用合适的抽象层次。
软件开发中,主体上采用自顶向下的抽象法。 辅以自底向上方法,总结较低抽象层次的实践
经验来改进高抽象层次的概念,提高软件质量。
统一过程的一般抽象层次
实际工作中应该在什么地方应用视图、应用哪 一种视图、总共需要哪些视图?
视图
人们只会关心信息中他感兴趣的那部分视角, 因此在展示信息时应选择恰当的视角。
产品有着很多面,只有将这些方面都描述清楚, 用很多个不同的视图去展示软件的不同方面— 静态的、动态的、结构性的、逻辑性的等—才 能完整的建立模型。
怎么建?
采用不同的方法去认识和描述事物,将导致不 同的建模结果。
过程? 对象?
抽象角度的不同,决定了建模方向的不同。
先弄清楚要从什么角度抽象,再进行后续工作。
模是什么?
决定了抽象角度后,我们试图从该角度进行场 景模拟。
目的是从中得到“人”、“事”、“物”、 “规则”,这就是我们要得到的“模”。
对象分析法
一切都是对象 对象都是独立的 对象都具有原子性 对象都是可抽象的 对象都有层次性
第6章统一建模语言UML

③模型元素:在图中使用的类,对象,关系和 消息等概念,统称为模型元素。模型元素在图中用 相应的视图元素(图形符号)表示。一个模型元素可 以用在多个不同的图中,无论怎样使用,它总是具 有相同的含义和相同的符号表示。
6.1 UML概述
1994 年 10 月 James Rumbaugh 和 Grady Booch共同合作把他们的OMT和Booch方法统一起 来 , 到 1995 年 成 为 “ 统 一 方 法 ” ( Unified Method)版本0.8。随后,Ivar Jacobson加入, 并采用他的用例(User case)思想,到1996年,成 为“统一建模语言”版本0.9。
④通用机制:用于为图附加一些额外的信息, 比如注释,模型元素的语义等。此外,它还提供扩 展机制,使UML能够适应一种特殊方法或满足某些 特殊用户的需要。
1997年1月,UML版本1.0被提交给OMG组织, 作为软件建模语言标准的候选。其后的半年多时间 里,一些重要的软件开发商和系统集成商都成为 “ UML 伙 伴 ” , 如 IBM 、 Mircrosoft 、 HP 等 。 1997年11月7日被正式采纳作为业界标准
2001年,UML 1.4修订完毕。现在UML 2.0 已经发布。
Hale Waihona Puke 6.1 UML概述(2) UML表示法 UML表示法定义了图形符号的表示,为开发者 或开发工具使用这些图形符号和文本语法为系统建 模提供了标准。这些图形符号和文字所表达的是应 用级的模型,在语义上它是UML元模型的实例。 UML表示法分为通用表示和图形表示两部分组 成;
6.1 UML概述
第06章-统一建模语言UML

参考答案一. 选择题1.C2.A3.B4.B5.A6.C7.D8.D9.①D ②C ③A ④A⑤A 10.A二. 填空题1. UML语义UML表示法2. 用例图类图对象图状态图活动图顺序图协作图构建图配置图3. 使用实例UML类图4. 用例图类图对象图构件图配置图5. 扩展使用组合6. 用例系统边界执行者7. 组合聚集8. 公有属性私有属性保护属性9. 状态模型顺序模型协作模型活动模型10. 简单消息同步消息异步消息同步且立即返回消息三. 简答题1.答:UML叫做统一的建模语言,它把Booch、Rumbaugh和Jacobson等各自独立的OOA和OOD方法中最优秀的特色组合成一个统一的方法。
UML允许软件工程师使用由一组语法的语义的实用的规则支配的符号来表示分析模型。
在UML中用5种不同的视图来表示一个系统,这些视图从不同的侧面描述系统。
每一个视图由一组图形来定义。
这些视图概述如下:●用户模型视图:这个视图从用户(在UML中叫做参与者)角度来表示系统。
它用使用实例(use case)来建立模型,并用它来描述来自终端用户方面的可用的场景。
●结构模型视图:从系统内部来看数据和功能性。
即对静态结构(类、对象和关系)模型化。
●行为模型视图:这种视图表示了系统动态和行为。
它还描述了在用户模型视图和结构模型视图中所描述的各种结构元素之间的交互和协作。
●实现模型视图:将系统的结构和行为表达成为易于转换为实现的方式。
●环境模型视图:表示系统实现环境的结构和行为。
通常,UML分析建模的注意力放在系统的用户模型和结构模型视图,而UML设计建模则定位在行为模型、实现模型和环境模型。
2.答:作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。
(1) UML语义UML的语义通过元模型来精确定义。
元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的表达方法所造成的影响。
系统分析与设计——统一建模语言UML

北京理工珠海学院
6.1.2统一建模语言特点
(1)面向对象:支持面向对象技术的主要概念,提供 了一批基本的模型元素表示图形和方法,简明表 达面向对象的各种概念. (2)可视化:通过UML的模型图清晰表示系统的逻辑 模型和实现模型,还用于各种复杂系统的建模. (3)独立于过程:独立于开发过程. (4)独立于程序设计语言:建好的系统模型可用任何 面向对象的语言来实现. (5)易于掌握和使用:结构清晰,建模简明易于掌握
五类图
第一类是用例图,从用户角度描述系统功能,并指出各功能的操作者 .
第二类是静态图 ,包括类图、对象图和包图 .
第三类是行为图,描述系统的动态模型和组成对象间的交互关系。行为图 包括:状态图、活动图、顺序图和协作图 第四类是交互图,描述对象间的交互关系。(顺序图显示对象之间的动态 合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互 ;合作图描述对象间的协作关系,显示对象间的动态合作关系和对象以 及它们之间的关系)。如果强调(时间和顺序,则使用顺序图);如果强 调(上下级关系,则选择合作图)。这两种图合称为交互图. 第五类是实现图 ,其中构件图描述代码部件的物理结构及各部件之间的 依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一个 可执行部件。它包含逻辑类或实现类的有关信息。构件图有助于分析和 理解部件之间的相互影响程度。
《include》 打印查询结果
(From Use Case View)
(From Use Case View)
北京理工珠海学院
案例:泛化、扩展关系
下面左图给出了一个扩展关系的例子,在还书的过程中, 只有在例外条件(读者遗失书籍)的情况下,才会执行赔 偿遗失书籍的分支流。 泛化关系:用例可以被特别列举为一个或多个子用例,这 被称做用例泛化。当父用例能够被使用时,任何子用例也 可以被使用。如在右图中,订票是电话订票和网上订票的 抽象。
第六章 UML统一建模

共享聚集
如果在聚集关系中处于部分方的对象可同时 参与多个处于整体方对象的构成,则该聚 集称为共享聚集。
成员 社团 * 1..* 学生
复合聚集
如果部分类完全隶属于整体类,部分与整体 共存,整体不存在了部分也会随之消失(或 失去存在价值了),则该聚集称为复合聚集 (简称为组成)。
* 文本框
* 窗口 1 包含 *
2.用例
自动售货机系统
售货
顾客
供货
取货款
供货人
收银员
2.用例
概括地说,用例具有以下特点:
用例代表某些用户可见的功能,实现一个具体的
用户目标。 用例由执行者激活,并提供确切的值给执行者。 用例可大可小,但它必须是对一个具体的用户目 标实现的完整描述。
注意:用例是一个类,它代表一类功能而不是 使用该功能的某个具体实例。
类B 《友元》 类A
(4)细化关系
当对同一事物在不同抽象层次上描述时,这些描述 之间具有细化关系。 细化是UML中的术语,表示对事物更详细一层的描 述。 假设两个元素A和B描述同一个事物,它们的区别是 抽象层次不同,如果B是在A的基础上的更详细的描 述,则称B细化了A,或称A细化成了B
分析类 设计类
3.对象图
对象是类的实例,对象之间的连接是类之间关联的 实例。因此,对象图可以看作是类图的实例。 在UML中,对象图与类图表示形式类似,主要差别 是对象的名字下面要加一条下划线。 对象名有下列三种表示格式:
第一种格式。对象名:类名。 第二种格式。:类名。 第三种格式。对象名。
张林:学生 五机房8号机: 计算机 三机房8号机: 计算机
在UML中,一个用例模型由若干个用例
2.用例
一个用例实质上是用户与计算机系统之间的 一次典型的交互作用,它代表的是系统的一 个完整的功能。 在UML中把用例定义成系统执行的一系列动 作,动作的结果能被外部执行者察觉到。 在UML用例图中,用例表示为一个椭圆。
统一建模语言UML

活动图
活动图描述为了完成某一个目标需要做的活动 以及这些活动的执行顺序。
活动图中的基本元素:
参考ppt UML-4
掌握如何对用例场景进行建模
状态图
显示一个状态机,用于对模型元素的动态行为 进行建模,即对系统行为中受事件驱动的方面 进行建模。
通常使用状态图来说明单个业务实体对象、或 分析类对象、或设计类对象在它的整个生命周 期内可能的状态,以及导致状态转换的事件和 状态转换引起的操作。
仅描述单个对象在其生命周期内状态的改变, 不用于描述对象间的交互。
状态图中的基本元素: 来自考ppt UML-4状态图示例
示例对电话工作的行为建模。
拨号 idle
dialing
拨号失败
拒接来电
来电
暂无人接听继续响铃
完成通话挂机
电话接通
ringing
摘机
talking
时序图
是交互图的一种,用于描述按时间顺序排列的 对象之间的交互模式。
统一
UML用一种统一的语言来覆盖整个软件过程 (需求、分析、设计……),让不同的开发团 队能顺畅沟通。
可视化
UML通过它的元模型和表示法,把文字等方式 很难表达清楚的,隐晦的潜台词用简单直观的 图形表达,准确直观的描述复杂的含义。
UML提供了相关元素来建立模型:
参与者
模型信息来源提供者,也是第一驱动者。 是整个建模过程的核心。 代表了现实世界中的“人”。
因此,这件事情是由很多不同的情况的集合构 成的,
在UML中称之为用例场景。 一个用例场景就是一个用例的实例。
用例的构成
用例的特征
1. 用例是相对独立的。 2. 用例的执行结果对参与者来说是可观测的和
统一建模语言UML相关技术概述

UML由图和元模型组成,图 是语法,元模型是语义
4、统一建模语言UML的出现:UML“统一”了Booch、OMT 和
OOSE 等的表示方法(因为“百花齐放”的结果是没有标准)。
5、为什么要使用UML (1)以图形的方式来展示系统的各个方面的特性
(2)UML是编制软件蓝图的标准化语言 它提供了一套描述软件模型的概念和图形表示法,以 及语言的扩展机制和对象约束的语言。 软件开发人员使用UML语言对复杂软件系统建立可视化 的系统模型,编制说明和建立软件文档。 UML支持面向对象的技术和方法,能够准确方便的表达 面向对象的概念,体现面向对象的分析与设计风格。
本讲的简要回顾
1、子曰:“学而不思则罔,思而不学则殆。” “学而时习之”
2、子曰:“知之者不如好之者,好之者不如乐之者”
3、子曰:“三人行,必有我师焉”
4、子曰:“我非生而知之者,好古,敏以求之者也”
5、师者:“传道、授业和解惑”
统一建模语言UML相关技术概述
Hale Waihona Puke 统一建模语言UML相关技术概述
The Emphases in Teaching Materials
在本讲中重点掌握如下知识点 UML产生背景 UML的主要特性 为什么要使用UML UML最适于什么开发过程 应用UML时所应该注意的要点
1、面向对象设计方法产生的背景 (1)面向对象方法产生的背景
(2)独立于编程实现语言的系统建模 UML不是一种可视化的编程语言,但用UML描述的模型 可以与各种编程语言直接相关连(转换为代码)。 在UML工具中提供进行正向工程和逆向工程的支持
你知道为什么工科学 生要学习“制图”!
(3)UML的文档化语言特性 一个软件组织除了要生产可执行的软件代码之外,还 要产生出各种与软件有关的制品。 而所产生出的这些制品是度量和理解软件系统的关键。 (4)UML建模的技术 它抓住了系统的本质; 并定义软件的体系结构。
UML统一建模语言chapter06资料精品PPT课件

UML统一建模语言
二、用例图的构成要素
4、用例
✓ 用例实例是在系统中执行的一系列动作,这些动作将生成 特定参与者可见的价值结果。一个用例定义一组用例实例
✓ 用例是由一组用例实例组成的,用例实例也就是常说的 “使用场景”,就是用户使用系统的一个实际的、特定的场 景 ✓ 用例应该给参与者带来可见的价值,这点十分关键
UML统一建模语言
五、使用Rose创建用例图的步骤说明 3、构建用例模型
销售员能够通过该系统进行销售商品活动。首先登录系统,验证 身份成功后,获取商品信息,然后将销售信息更新,最后对客户进行 商品销售。
销售员用例图
UML统一建模语言
仓库管理员用例图
五、使用Rose创建用例图的步骤说明
仓库管理员能够通过该系统 进行如下活动: (1)处理盘点,每天需要 对库存产品信息进行盘点。 (3)产品入库。当产品生 产后,将产品进行入库。 (4)产品出库。当产品销 售发货后,进行出库处理。 (5)管理设置。仓库管理 员负责供应商信息、产品基 本信息的管理设置。
第二,某一个用例的功能过多、事件流过于复杂时,我 们也可以把某一段事件流抽象成为一个被包含的用例,以达 到简化描述的目的。
UML统一建模语言
四、用例之间的各种重要关系
3、扩展
在一定条件下,把新的行为加入到已有的用例中,获得的新用例叫做 扩展用例(Extension),原有的用例叫做基础用例(Base),从扩展用例到 基础用例的关系就是扩展关系。
UML统一建模语言
第6章 用例图
重点内容:
什么叫用例图 用例图的构成要素 用例的重要元素 用例之间的各种重要关系 使用Rose创建用例图的步骤说明 使用Rose创建用例图的步骤说明
第6章统一建模语言UML介绍

18
§6.2 UML语言概述
–(3)通用机制(general mechanism)
用于表达模型元素的其他信息,如:注释(note)、 模型元素的修饰(adornment)、规格说明 (specification)等。
19
§6.2 UML语言概述
7
§6.2 UML语言概述
–用例图(use case diagram)
8
§6.2 UML语言概述
–类图和对象图 (class diagram & object diagram)
9
§6.2 UML语言概述
–状态图(state diagram)
10
§6.2 UML语言概述
–顺序图(sequence diagram)
–用例:是用户与系统之间为达到某个目的而 进行的一次典型的交互作用。 –角色:是与系统交互的外部实体,可以是系 统的用户,也可以是硬件或者其他系统。
24
§6.4 用例图 引入用例的主要目的:
–与用户协商确定系统应该具备哪些功能; –对系统功能进行清晰一致的描述,作为后续 开发的基础; –为系统验证工作打下基础;
42
§6.6 包图
包(package)是分解复杂问题的一种机制
– 是系统的一部分模型,每个模型元素必须包含于一个包中; – 包分配的基本原则:通用功能、耦合内聚、相同视角。 – 包之间的关系为依赖。
43
§6.7 交互图 交互图主要是用来描述对象之间的动态合 作关系以及合作过程中的行为次序。 常常用来描述一个用例的行为,显示用例 中所涉及的对象和这些对象之间的消息传 L是一种标准的面向对象建模语言,不是一 种方法论,即没有提供建模方法,因此,学习 UML的同时还需要学习面向对象建模方法。 (OMT/RUP) 利用UML语言实现分析人员、设计人员、开发 人员以及用户之间的有效而统一的沟通。 UML以面向对象图的方式来描述任何类型的系 统,具有很宽的应用领域,可以对任何具有静态 结构和动态行为的系统(包括非软件系统)进行 建模。
统一建模语言 UML

关联名通 常是一个 动词或动 词词组, 用来表示 关联关系 的类型或 目的。所 选择的关 联名应该 有助于理 解该模型。
关联关系
关联关系中的相关术语和概念
角色 阶元 导航 聚合关系 组合关系 关联类 可见性 限定符 接口说明符
2.2.4 实现关系
实现关系是规格说明和它的实现之间的关 系。 可以在两种情况下使用实现关系:
2.1.1 建模目的
必要性
对于多数程序员而言,在脑海里设想一个软件的实现 与用代码来实现这个软件是没有距离的,怎么想,就 怎么用代码来实现它。这种做法会产生下列问题: 不利于交流。 如果不建立模型,软件系统中的有些东西很难用文 本的编程语言来表达清楚。 如果程序员在修改代码时,没有将他脑海中的模型 记录下来,这个信息可能会永远丢失,不便于软件 维护。
类范围的属性
和操作 暂时
UML的术语和概念
事件
事件是对一个在时间和空间上占有一定位置的有意
义的事情的规格说明。
种类 消息信号 调用
UML的术语和概念
UML的扩充机制
UML支持自身的扩充与调整,以便使其与一个特
定的方法、组织或用户相一致,UML中包含3种主 要的扩充组件:原型、标记值和约束。
2.1.4 UML的组成
UML的内容 UML语义 UML表示法 UML的构成 元素
结构元素:模型的静态部分,描述概念或物理元素,
包括类、接口、协作、用例、主动类、组件和节点。 行为元素:模型的动态部分,描述跨越时间和空间 的行为,包括交互和状态机。 分组元素:模型的组织部分,如包。 注释元素:模型的解释部分,用来描述、说明和标 注模型的任何元素,如注解。
(完整版)《UML统一建模语言》课程教学大纲

《UML统一建模语言》课程教学大纲1。
课程概况2。
教学内容及要求第一章 UML与面向对象教学内容(1)UML概述(2)UML组成(3)面向对象教学要求(1)了解UML的发展和组成(2)理解建模的意义(3)掌握UML的四层结构(4)理解UML视图和图的关系(5)掌握UML模型元素内容(6)理解UML通用机制(7)理解面向对象基本概念(8)了解面向对象开发(9)熟悉面向对象开发的优点(10)掌握面向对象开发三层设计教学重点难点建模的意义;UML的四层结构;模型元素;通用机制;视图和图的关系;面向对象相关知识。
第二章用例图教学内容(1)用例的基本概念,参与者,用例,泛化,用例之间的关系(2)如何发现参与者、用例(3)用例描述的格式要求(4)绘制用例图教学要求(1)理解用例的基本概念(2)能够很好的识别参与者与用例(3)掌握用例之间的关系(4)理解泛化在用例图中的使用(5)熟练掌握用例图的绘制(6)熟练掌握用例描述的格式要求教学重点难点用例的基本概念,绘制用例图;用例描述的格式要求;识别参与者与用例。
第三章类图、对象图和包图教学内容(1)面向对象的基本概念(2)类图的基本概念(3)对象图的基本概念(4)包图的基本概念教学要求(1)了解面向对象的基本概念(2)掌握类的设计原则(3)理解类图的基本概念(4)掌握类间的关系(5)了解对象图和包图的概念(6)熟练使用建模工具建模类图教学重点难点类的设计原则;类图的基本概念;类之间关系的模型表示及含义;熟练使用建模工具建模类图.第四章活动图教学内容(1)活动图的标记符(2)其他标记符(3)使用建模工具为活动图建模教学要求(1)理解活动图的功能(2)掌握活动图基本标记符(3)掌握条件的使用(4)掌握分叉和汇合的使用(5)掌握泳道概念及其标记符的使用(6)理解对象流概念及其标记符(7)熟练掌握使用建模工具为活动图建模教学重点难点活动图的功能;活动图的基本标记符;使用建模工具为活动图建模;分叉和汇合;泳道的概念及其标记符的使用;对象流的概念。
第6章UML统一建模语言报告

1 UML的特点
(1)统一标准.成为对象组织OMG的正式标准,并提供了标 准的面向对象的模型元素的定义和表示
(2)面向对象。UML还吸取了面向对象技术领域中其他流派 的长处
(3)可视化、表示能力强。系统的逻辑模型或实现模型都能 用UML的可视化模型清晰地表示,
(4)独立于过程。UML是系统建模语言,独立于开发过程。 (5)易掌握、易用。
2 UML形成过程
3 UML的图形表示
1.UML的构成 UML建模语言的描述方式以标准的图形表示为主,是由 视图(Views)、图(Diagrams)、模型元素(Model Elements)和通用机制(General Mechanism)构成的 层次关系。 (1)视图
视图就是从不同的视角观察和建立的系统模型图。一个视图 由多个图构成。每个视图表示系统的一个特殊的方面或者系 统的某个特性,多个(用例视图)视图才能建立一个完整的 系统模型图。
构件图(Component Diagram。) 配置图(Deployment Diagram)
• 类图
• 类图描述类和类与类之间的静态关系,它是从静态角 度表示系统的,因此类图属于一种静态模型。类图是 构建其他图的基础,没有类图就没有状态图、协作图 等其他图,也就无法表示系统其他方面的特性。
• 用例
• 一个用例实质上是用户与计算机系统之间的一次 典型的交互作用,它代表的是系统的一个完整的 功能。在UML中把用例定义成系统执行的一系列 动作,动作的结果能被外部执行者察觉到。
• 在UML用例图中,用例表示为一个椭圆。图1是 自动售货机系统的用例图,其中“售货”、“供 货”和“取货款”都是典型的用例。概括地说, 用例有以下特点:
•
活动图描述为满足用例要求而进行的动作以及
uml统一建模基本概念

面向对象:面向对象技术是一种以对象为基础,以事件或消息来驱动对象执行处理的程序设计技术。
对象:面向对象系统的基本构架块,是一些相关变量和方法的软件集。
类:具有相同属性和操作的一组对象的组合。
消息与事件:消息是描述事件发生的信息,是对象间相互联系和相互作用的方式。
事件是指一种预先定义而由用户或系统发出动作。
面向对象三要素:封装,就是把对象的状态和行为绑到一起的机制,使对象形成一个独立整体,隐藏对象内部细节。
继承:连接类与类之间的层次模型,指特殊类的对象拥有一般类的属性和行为。
多态:两个或多个属性不同的对象对于同一个消息或方向调用所做出的不同响应的能力。
UML:是软件开发和系统建模的标准工具,该统一建模语言用于软件系统的可视化,说明,构建和建立文档等方面。
UML包括视图有静态试图,用例视图,交互试图,实现试图,状态机试图,活动试图,物理视图,和模型管理试图。
图:UML作为一种可视化的建模语言,主要形式是将模型进行图形化展示1.用例图:描述系统提供的一个功能单元,主要目的是帮助开发团队以一种可视化方式理解系统功能需求。
2.类图:显示系统静态结构,表示不同的实体(人,事物,数据)是如何彼此相互关联的。
3.序列图:显示一个具体用例或者用例一部分的一个详细流程。
不仅可以显示流程中不同对象之间调用关系,还可以详细显示对不同对象不同调用。
4.状态图:表示某个类所处的不同状态以及该类在这些状态中转换过程。
5.活动图:表示两个或多个对象之间处理某个活动的过程控制流程。
6.构件图:提供物理视图,根据系统代码显示系统代码的整个物理结构。
7.部署图:表示该软件系统如何部署到硬件环境中,显示了系统中不同构件在何处物理的运行,以及彼此通信。
用例视图:由参与者,用例以及他们之间关系构成的用于描述系统功能的状态视图称为用例图。
构成要素:参与者,参与者间的关系,系统边界。
类图:显示系统静态结构,系统静态结构成了系统的概念基础。
组成:类名,累的属性,类的操作。
《统一建模语言(UML)》第6章 包图

<<stub>>
是一个代理包,通常应用于分布式系统的建模中 用来表示一个主要由模式组成的包,框架是一个领域内的应用系 统提供可扩充模板的体系结构模式
<<framework>>
6.2 包的版型
6.3 包的关系
引入依赖关系Import 是默认的关系
说明提供者包的命名空间将被添加到客户包的命名空间中,客户包中的 元素也能够访问提供者包的所有公共元素 源包可以存取目的包中内容,并且引用目的包时无需包名,直接用元素 名称就可。 依赖不传递 p117
6.1 什么是包
包的表示法
名称:每个包都必须有一个与其它包相区别的名称
简单名、路径名 p115 拥有的元素:在包中可以拥有各种其它元素,包括类、接口、构件、节点、 协作、用例,甚至是其它包或图
对包中的元素也可以进行可见性的控制。
公有元素,任何导入此包的包中,都可以引用公有元素 保护元素,只有此包的子包才可以引用保护元素 私有元素,只有在此包中才可以引用私有元素,对外一律不可见。 如,画一个,class,并设置其specification中的export control 右击目标package,选择slect compartment items
共用闭包原则
共用使用原则
非循环依赖原则
谢谢观看
客户包
提供者包
6.3 包的关系
也可以在包和接口之间建立实现关系
6.4 包图
UML2.0正式图形
订单
表示层
业务逻辑层
数据层
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
内容介绍
6.1 UML概述 6.2 UML的静态建模机制 6.3 UML的动态建模机制 6.4 案例分析 6.5 小结
6.1 UML概述
UML(Unified Modeling language),统一建模语 言,是一种标准的图形化建模语言。它主要用于 软件的分析与设计,用定义完善的符号来图形化 地展现一个软件系统。UML的应用可以贯穿于软 件开发的每一个阶段,适用于数据建模、业务建 模、对象建模和组建建模。UML仅是一种建模语 言,不设计编程问题,与计算机语言平台无关。 UML于1996年开发成功至今,相继推出了UML0.9、 UML0.91、UML1.1、UML2.0版本。1997年11月, 国际对象管理组织把UML1.1作为基于面向对象技 术的标准建模语言。
6.1 UML概述
UML的内容
UML是一种标准的图形化(即可视化)建模 语言。 它由图和元模型组成。 图是UML的语法,而元模型给出图的含义,是 UML的语义。
6.1 UML概述
UML的语义
UML的语义被定义在一个如下四层(四个抽象级别)建模 概念框架中。 ① UML的基本元模型层。由UML最基本的元素“事物” 组成,代表要定义的所有事物。 ② 元模型层。由UML的基本元素组成,包括面向对象和面 向构件的概念。这一层的每个概念都是基本元模型中 “事物”概念的实例。 ③ 模型层。由UML模型组成,这一层的每个概念都是元模 型层中概念的实例。这一层的模型通常称为类模型或类 型模型。 ④ 用户模型层。由UML模型的例子组成,这一层中的每个 概念都是模型层的一个实例,也是元模型层概念的一个 实例。这一层的模型通常称为对象模型或实例模型。
6.3.2 顺序图
顺序图描述对象之间的动态交互关系,着重 表现对象间消息传递的时间顺序。顺序图有 两个坐标轴:纵坐标轴表示时间,横坐标轴 表示不同的对象。 顺序图中的对象用一个矩形框表示,框内标 有对象名(对象名的表示格式与对象图中相 同)。从表示对象的矩形框向下的垂直虚线 是对象的“生命线”,用于表示在某段时间 内该对象是存在的。
①普通关联
普通关联是最常见的关联关系,只要在类 与类之间存在连接关系就可以用普通关联 表示。 普通关联的图示符号是连接两个类之间的 直线。
▲
使用 学生 计算机
1..*
▲
*
被使用
①普通关联
如果关联是单向的,则称为导航关联,其符 号是用实线箭头连接两个类。仅在箭头所 指的方向上才有这种关联关系 。
6.3.3 协作图
协作图用于描述相互合作的对象间的交互 关系和链接关系。 虽然顺序图和协作图都用来描述对象间的 交互关系,但是侧重点不一样。顺序图着 重体现交互的时间顺序,协作图则着重体 现交互对象间的静态链接关系。
6.3.4 活动图
活动图描述动作及动作之间的的是描述动 作及动作的结果——对象状态改变。 在活动图中,用例和对象的行为中的各个活 动之间通常具有时间顺序。活动图表达这种 顺序,展示出对象执行某种行为时或者在业 务过程中所要经历的各个活动和判定点。
4.建立用例模型
(1)发现执行者
谁将使用系统的主要功能?
谁来维护和管理系统? 系统控制哪些硬件设备? 系统需要与哪些其他系统交互?
(2)获取用例
执行者需要从系统中获得何种功能? 执行者需要读取、产生、删除、修改或存储系统中的某
种信息吗? 系统中发生的事件需要通知执行者吗? 系统需要何种输入/输出? 当前使用的系统存在的主要问题是什么?
3.对象图
对象是类的实例,对象之间的连接是类之间关联的 实例。因此,对象图可以看作是类图的实例。 在UML中,对象图与类图表示形式类似,主要差别 是对象的名字下面要加一条下划线。 对象名有下列三种表示格式:
第一种格式。对象名:类名。 第二种格式。:类名。 第三种格式。对象名。
张林:学生 五机房8号机: 计算机 三机房8号机: 计算机
行为图也称为动态模型图,主要用来表示系统的行
为。其中,
用例图用来描述一组用例、用例的操作者以及它们的关系
顺序图用来显示若干对象之间的动态协作关系,强调对象 间发送消息的先后顺序,描述对象间的交互过程 活动图重点描述事物执行的控制流或数据流 状态机图描述类的对象的所有可能状态,以及引起状态转 换的事件
6.1 UML概述
UML的图
结构图
类图 对象图 组件图 部署图 包图 活动图 交互图 图
行为图
用例图 状态机图
组织结构图
常用
顺序图 通信图 交互概况图
常用
时序图
常用
6.1 UML概述
说明:
结构图也称为静态模型图,主要表示系统的结构。
其中,
类图主要表示类、接口、协作以及它们之间的关系 对象图主要表示对象的特征以及对象之间的关系
3.执行者
执行者是与系统交互的人或物,它代表外部实体 。 执行者是一个群体概念,代表的是一类能够使用某 个功能的人或物,而不是某个个体。 在UML的用例图中,用一个小人图形代表一个执行 者,但这并不意味着执行者就一定是人。用不带箭 头的线段把执行者与用例连接在一起,表示两者之 间交换信息,称为通信联系。 执行者激活用例,并与用例交换信息。
状态图用来描述一个特定对象的所有可能状态,以及引起状态 转换的事件。 1.状态 所有对象都具有状态,状态是对象执行了一系列活动的结果。 当某个事件发生后,对象的状态将发生变化。在状态图中定 义的状态可能有:初始状态、最终状态、中间状态和复合状 态。 2.状态转换 状态图中两个状态之间带箭头的连线称为状态转换。状态的 变迁通常是由事件触发的,此时应在转移上标出触发转移的 事件表达式。如果转移上未标明事件,则表示在源状态的内 部活动执行完毕后自动触发转移。
系统内部
保险单
客户
Oracle界面 数据库界面 {abstract}
Sybase界面
6.3 UML的动态建模机制
在面向对象技术中,对象之间的交互是通 过对象间的消息传递完成的。 UML定义了如下三种消息:
同步消息。
异步消息。 简单消息。
同步 异步 简单 同步且立即返回
6.3.1 状态图
2.关系
类图描述了类和类之间的静态关系。 类与类之间通常有关联、泛化(继承)、依 赖和细化等四种关系。
(1)关联关系
关联表示两个类之间存在某种语义上的联 系。 例如,学生使用计算机,我们就认为在学 生和计算机之间存在某种语义上的联系, 因此,在类图中应该在学生类和计算机类 之间建立关联关系。
1.类图
类图(Class Diagram)描述类和类之间的静态 关系。 所谓类是对一类具有相同特征的对象的描述。 而对象是类的实例。 类描述一类对象的属性和行为。在UML中,类 的可视化表示为一个划分成三个格子的长方形 (下面两个方格可以省略)。
类的名称 属性 操作
1.类图
类的获取和命名
类B 《友元》 类A
(4)细化关系
当对同一事物在不同抽象层次上描述时,这些描述 之间具有细化关系。 细化是UML中的术语,表示对事物更详细一层的描 述。 假设两个元素A和B描述同一个事物,它们的区别是 抽象层次不同,如果B是在A的基础上的更详细的描 述,则称B细化了A,或称A细化成了B
分析类 设计类
6.1 UML概述
UML的主要的模型
功能模型: 从用户的角度展示系统的功能, 包括用例图。 对象模型: 采用对象,属性,操作,关联等 概念展示系统的结构和基础,包括类图。 动态模型: 展现系统的内部行为。 包括时序 图,活动图,状态图。 是数据库设计过程中, 在E-R图(实体-联系图)的设计后的进一步建 模。
2.用例
自动售货机系统
售货
顾客
供货
取货款
供货人
收银员
2.用例
概括地说,用例具有以下特点:
用例代表某些用户可见的功能,实现一个具体的
用户目标。 用例由执行者激活,并提供确切的值给执行者。 用例可大可小,但它必须是对一个具体的用户目 标实现的完整描述。
注意:用例是一个类,它代表一类功能而不是 使用该功能的某个具体实例。
6.1 UML概述
UML 具有以下特点: (1)面向对象。UML支持面向对象技术的主要概念,提供 了一批基本的模型元素的表示图形和方法,能简洁明了地表达 面向对象的各种概念。 (2)可视化,表示能力强。通过UML的模型图能清晰地表 示系统的逻辑模型和实现模型,可用于各种复杂系统的建模。 (3)独立与过程。UML是系统建模语言,独立与开发过程。 (4)独立于程序设计语言。用UML建立的软件系统模型可 以用Java、VC++、Smalltalk等任何一种面向对象的程序设 计来实现。 (5)易于掌握使用。UML图形结构清晰,建模简洁明了, 容易掌握使用。 使用UML进行系统的分析和设计,可以加速开发的进程,提 高代码的质量,支持动态的业务需求。UML适用于各种规模的 系统开发,能促进软件复用,方便地集成已有的系统并有效处 理开发中的各种风险。
4.包
包是一种组合机制。把各种各 样的模型元素通过内在的语义 关系连在一起,形成一个高内 聚、低耦合的整体就叫做包。 (1)包的内容 构成包的模型元素称为包的内 容,包的内容可以是一个类图 也可以是另一个包图。 (2)包的依赖和继承 包与包之间允许建立依赖、泛 化和细化等关系。
保险单填写 界面
列表框
按钮 菜单
*
(2)泛化关系
UML中的泛化关系就是通常所说的继承关系,它是 通用元素和具体元素之间的一种分类关系。 在UML中,用一端为空心三角形的连线表示泛化关 系,三角形的顶角紧挨着通用元素。
汽车 车厢
客车 客车车厢 载客
货车 货车车厢 载货
(3)依赖关系
依赖关系描述两个模型元素(类、用例等) 之间的语义连接关系:其中一个模型元素 是独立的,另一个模型元素是不独立的, 它依赖于独立的模型元素,如果独立的模 型元素改变了,将影响依赖于它的模型元 素。