第三篇UML建模语言
第三部分UML基础(第一章UML概述)

1、标准的表示方法
人们用各种方法来使用UML,而无论方
法如何变化,它们的基础是UML的图。 这就是UML的最终用途——为不同领域 的人们提供统一的交流标准。 软件开发的难点在于:一个项目的参与 包括领域专家、软件设计开发人员、客 户,以及用户他们之间交流的难题,成 为软件开发的最大难题。
最突出的两条,
一是:注重系统架构的开发 一是:注重过程的迭代和递增性
尽管UML
本身对过程没有任何定义,但 UML 对任何使用它的方法或过程提出的 要求,是支持用例驱动use-case driven 、以架构为中心architecturecentric 以及递增incremental 和迭代 iterative 地开发。
26
四、UML 的应用领域
UML
被用来为系统建模,它可应用的范 围非常广泛:
可以描述许多类型的系统
它也可以用在系统开发的不同阶段,从需
求规格说明到对已完成系统的测试。
软件技术基础-------PPT课件
27
1、在不同类型系统中的应用
的目标是:用面向对象的方式描述 任何类型的系统。 其中最直接的是,用UML 为软件系统创 建模型。但UML 也可用来描述其它非计 算机软件的系统,或者是商业机构或过 程。
UML是一种建模语言,是一种标准的表
示,而不是一种方法或方法学。
方法是一种把人的思考和行动结构化的明
确方式。方法需要定义软件开发的步骤, 告诉人们做什么,如何做,什么时候做以 及为什么要这么做
UML只定义了一些图以及它们的意义。
它的思想是与方法无关。
软件技术基础-------PPT课件 20
软件技术基础-------PPT课件 4
第3章 统一建模语言UML

22
从用户角度描述系统功能,并指出各功能的操作者。 主要目的是帮助开发团队以一种可视化的方式来理解 系统的功能需求。
用于系统分析阶段,确定“谁使用系统以及能够做什 么”。
UML用例图
23
买饮料 供货人
客户 供货 取货款 收银员
P. 自动售货系统的用例图
2005年以后UML成为建模语言国际标准 目前常用的UML建模工具有Sybase Power Designer 16.5、 IBM Rational Rose 2007和Microsoft Office Visio 2013
UML简介
UML的特点
UML是一种可视化的建模语言 UML是一种可用于详细描述的语言 UML是一种构造语言,而不是一种编程语言
UML简介
Part3.UML图-行为图
行为图(Behavior diagram)描述系统的动态模型和对 象间的交互关系,包括状态图和活动图: 状态图描述了一个对象的所有可能的状态及引起状态转 移的事件。状态图可看作是对类图的补充。 活动图通过描述满足用例要求所要进行的活动以及活动 间的约束关系。
扩展关系用标有 <<extend>>的 虚箭线表示
31
还书 <<extend>> 赔偿遗失书籍
UML用例图
执行者与用例间的关系--关联关系
32
执行者和用例的关系叫做关联关系,该关系用实线表示 (可带也可不带箭头)。
未登录客户
注册
UML用例图
用例文档
33
用例文档是通过文字描述一个用例的行为,说明用例的 逻辑流程。 主要用于对一些存在较多异常情况(不是每一个)的用 例进行描述。 用例文档一般包括:用例名称、执行者、简要说明、基 本事件流、其他事件流、异常事件流。
第三章 初识UML-UML面向对象分析、建模与设计-吕云翔-清华大学出版社

行为图
状态图
活动图
顺序图
协作图
用例图
UML 2中的图
UML图
结构图
类图
组件图
对象图
外廓图
组合结构 图
部署图
包图
顺序图
行为图
用例图
活动图
状态机图
交互图
通信图
交互概览 图
时间图
UML 1.4与UML 2中不同图的对比
UML 1.4
状态图 活动图
UML 2 包图 状态机图 活动图
对比说明
尽管UML 1.4使用包图说明规范的组织结构,但是没有对包图进行明确 定义。
例如,在一个类的符号中暗示了一种规格说明:它提供类所有的属性、 操作等信息的全面描述。
修饰
修饰是对规格说明的文字的或图形的表示。
例如,通过对类名添加斜体修饰来表明这是一个抽象类。
在UML中的每个元素符号都以一个基本的符号开始,在其上添加一 些具有独特性的修饰。
例如,这里有一个类,我们可以通过不同的修饰来标示出它是一个抽象 类,拥有两个公有性的操作,一个保护性的操作和一个私有性的操作。
通用划分
在面向对象系统建模中,通常有几种划分方法,其中最常见的有两 种划分:
类型-实例:是通用描述与某个特定元素的对应。
➢例如,类和对象就是一种典型的类型-实例划分。
接口-实现:接口是一个系统或对象的行为规范,这种规范预先告知使 用者或外部的其它对象这个系统或对象的某项能力,和其提供的服务。 实现是接口的具体行为,它负责执行接口的全部语义,是具体的服务兑 现过程。
只是名称不同,技术上完全相同。 UML 2的活动图独立于状态机存在。
组合结构图 显示结构化类元或协作的内部结构,和普通类图之间没有严格界限。
第3章 统一建模语言UML

第3章统一建模语言UML简介本章目录第3章统一建模语言UML简介.............................................................. 错误!未定义书签。
3.1 UML概述 (1)3.1.1 UML的产生背景 (1)3.1.2 什么是UML (2)3.1.3 UML中的视图 (3)3.2 UML的构成 (4)3.2.1 UML的体系结构 (4)3.2.2 UML的模型元素 (5)3.2.3 UML的模型结构 (5)3.2.4 UML的模型图 (6)3.2.5 UML建模规则 (7)3.2.6 UML的公用机制 (8)3.3 一个UML的例子 (8)3.3.1 用例图 (9)3.3.2 活动图 (9)3.3.3 顺序图 (10)3.3.4 协作图 (11)3.3.5 类图 (12)3.3.6 状态图 (12)3.3.7 组件图 (13)3.3.8 部署图 (13)建模是为软件开发服务的,因此,如果模型所包含的信息足够完备,就可以以这些信息为基础,进行软件系统的建造。
统一建模语言UML是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模技术,利用UML表达的软件模型,可以直接和某种设计语言建立映射关系,通过UML建造工具,将UML模型转换为对应的程序设计语言源代码框架。
本章简要地回顾了UML的产生背景与UML的视图,重点介绍UML的体系结构和建模规则等内容。
3.1 UML概述UML是一个通用的可视化建模语言,是用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。
其中制品是指软件开发过程中产生的各种产物,例如模型、源代码、测试用例等。
UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域及各种开发工具。
3.1.1 UML的产生背景早在20世纪70年代就陆续出现了面向对象的建模方法,在80年代末到90年代中期,各种建模方法如雨后春笋般出现,从不到10种增加到50多种。
统一建模语言UML-3

Use Case名 Use Case名 扩展点 扩展点名
Use Case名 扩展点
…
图4.4 Use Case的表示图形
医药信息工程学院 陈伟
4.3.3 Use Case图
按照抽象层次,Use Case图可以划分为系统层(最高 层)、子系统层和对象类层(最低层)。 系统层Use Case图描述系统提供的全部服务。 子系统层Use Case图描述子系统提供的服务,它的外部 交互者可以是其他的子系统或高一层的活动者。子系统 层又可以划分为多个层次。 对象类层的Use Case图描述对象类提供的功能片或操作, 它的外部交互者可以是其它对象类或高一层活动者。 在系统的开发过程中,Use Case图可以自顶向下不断精 化,抽象出不同层次的Use Case图。
图4.11 扩展关联的图形表示
医药信息工程学院 陈伟
4.5 Use Case图的应用
4.5.1 Use Case的确定
4.5.2 建立Use Case模型
医药信息se的确定
确定Use Case时必须考虑活动者对系统的服务功能的要 求以及活动者与系统的交互过程。 在标识Use Case时需要考虑的问题如下: · 对于每一个已经确定的活动者,系统将有一些什么任务, 提供什么服务。 · 在系统中是否需要传递信息给活动者。 · 活动者是否需要通知系统某些突然的外部变化。 · 系统是否为领域业务提供了正确的行为。 · Case的运行特征是否标识出来了。 Use · Case将支持和维护的系统功能是什么。 Use
图4.8 泛化关联的图形表示
医药信息工程学院 陈伟
4.4.2 使用关联
使用关联(Use Association)指一个Use Case使用另一个 Use Case的功能行为。使用关联用于在Use Case间共享 公共的功能行为。 使用关联是一种泛化关联,在Use Case图上用一个从基 本Use Case指向公共Use Case的泛化箭线表示,并在箭 线上标有构造型<<Use>>,如图4.9所示。 在UML 2.0中,使用关联已经由包含关联所替代。
UML建模语言 ppt课件

2021/3/26
20 UML建模语言 ppt课件
手机类图案例分析2
请用UML类图描述如下关系: • 每个品牌的手机开关机的功能相同 • 每个品牌备wifi功能,但是普通手
机不具备此功能、而有些手机具有蓝牙的功能 • 所有手机都可以打电话,发短信
2021/3/26
21 UML建模语言 ppt课件
时序图(Sequence Diagram)
• 时序图(Sequence Diagram)是强调消息时间 顺序的交互图。时序图描述类系统中类和类之间 的交互,它将这些交互建模成消息交换。时序图 是一个模型,用于描述对象组如何随着时间在某 些行为方面进行协作。
目
1. UML介绍
录
2. 用例图
3. 类图
4. 顺序图
5. 状态图
UML介绍
• 什么是软件危机 • 什么是软件工程 • UML概念、发展、意义
2021/3/26
2 UML建模语言 ppt课件
UML用例图
• 用例图概述 • 用例图包含的2元素4关系 • 用例图实例:京东商城用例图
2021/3/26
}
2021/3/26
14 UML建模语言 ppt课件
类图—泛化关系(generalization)
• 泛化关系实际上就是继承关系,他是依赖关系的 特例
public abstract class DaoSupport{ public void save(Object entity){ } public void delete(Object id){ }
单向一对 一关系
Person 1
-card IDCard 1
双向一对 一关系
Person -person 1
UML基础与Rose建模实用教程(第三版)

第11 章包图
1 1 .5 本章小结
习题十 一
习题十一
1. 填空题 2. 选择题 3. 简答题 4. 练习题
第12 章构件图与部署图
1 2 .1 构件图与部署 图的基本概念
1 2 .2 使用R o s e 创建 构件图与部署图
1 2 .3 本章小结
习题十 二
12.1构件图与部署图的基本概念
1. 构件 2. 构件图的基本概念 3. 部署图的基本概念
1.填空题
2. 选择题 3. 简答题 4. 练习题
第9 章状态图
9 .1 状态图的
1
基本概念
2
9 .2 状态图的 组成
3
9 .3 组成状态
4 9 .4 使用R o s e
创建状态图
5 9 .5 使用R o s e
创建状态图示 例
第9 章状态图
9 .6 本章小结
习题 九
9.1状态图的基本概念
1. 状态图的定义 2. 状态图的作用
7.5使用Rose创建序列图示例
1. 确定工作流程 2. 确定对象 3. 确定消息和条件 4. 绘制序列图总图
习 4. 练习题
第8 章协作图
8.2协作图的组成
8.1协作图的基本 概念
8.3使用Rose创建 协作图
第8 章协作图
8.5本章小结
8.4使用Rose创建 协作图示例
习题八
8.1协作图的基本概念
1. 协作图的定义 2. 协作图的作用
8.2协作图的组成
1. 对象 2. 消息 3. 链
8.3使用Rose创建协作图
1. 创建对象 2. 创建消息 3. 创建链
8.4使用Rose创建协作图示例
第3章 统一建模语言UML

第3章统一建模语言UML软件工程领域具有划时代意义的成果之一就是统一建模语言(unified modeling language,UML)。
至少在近十年内,UML将是面向对象技术领域内占主导地位的标准建模语言。
UML应用领域非常广泛,可用于多种类型软件系统开发建模的各个阶段。
具有创建系统的静态结构和动态行为等多种结构模型的能力,具有可扩展性和通用性,适合与多种多变结构系统的建模。
3.1 软件建模的原因高质量的软件开发是项目团队努力追求的一个重要目标。
但是,软件质量受到诸多因素的混合影响,在软件工程中,我们面临着成本和工作量的压力;在软件产品方面,我们需要保证软件的功能、性能、有效性、容错能力、扩展性、可维护性、可移植性等等;尤其对大型复杂软件系统,费用超支、生产率低下和质量不高等问题常常困绕着软件开发。
这些问题的根源在于软件自身的复杂性。
应对软件复杂性问题的根本性方法之一就是要进行软件建模。
我们进行软件建模的最重要原因是为了使我们的最终产品在质量上达到一个较高的水平。
高品质是指产品开发简单,开发周期短,有更好的用户文档,经过更好测试从而减少故障。
事实上,良好的结构可以持续使用,拙劣的结构只会被淘汰。
建立于良好基础之上,使用达到目标的一致的方法、包含大量的重用,没有故障的代码修复起来非常容易。
事实上,建立软件模型要比开发软件耗费的时间更多,而通过合理的软件建模可以减少开发时间也是一个不争的事实。
3.2 UML的发展历程面向对象的建模方法始于20世纪80年代初期,大量有决定意义的思想形成于20世纪90年代中期,这期间涌现出一些重要方法,包括Booch、OMT、Shlaer-Mellor、Fusion、OOSE 和Coad-Yourdon等。
1994年10月,Jim Rumbaugh和Grady Booch开始共同合作,于1995年10月提出统一方法(unified method)0.8版本。
随后,Ivar Jacobson也加入其中,同时将OOSE思想融合进来,于1996年6月发布统一建模语言(Unified Modeling Language,UML)0.9版本。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2
软件设计模式
3.1.1 面向对象的开发方法
利用传统程序设计语言的软件开发方法出现于 20 世 纪 70 年代,在 80 年代被广泛采用 —— 其中最重要的 是结构化分析和设计方法及其变体。 1967年Simula-67是第一个面向对象的程序设计语言 ,但它没有后继的版本。 80 年代初,面向对象的程序设计语言 Smalltalk 被广 泛使用,随之诞生了Objective C、C++等语言。
15
软件设计模式
3.2.1用例图(3/7)——用例
用例是外部可见的一个系统功能单元,这些功能由系 统单元所提供,并通过一系列系统单元与一个或多个 参与者之间交换的消息来表达。 用例的特征:
– 用例由参与者初始化:用例所代表的功能必须由参与者发起 ,用例才得以执行;参与者需要系统完成的功能,都是通过 用例具体完成的。 – 用例为参与者提供值:用例必须为参与者提供具体的并且能 被参与者识别的值。 – 用例具有完全性:只有返回了最终提供给用户的值后,整个 用例才执行完毕。
– 用例图、类图、对象图、组件图和部署图属于静态建模机制
– 状态图、顺序图、协作图和活动图属于动态建模机制
10
软件设计模式
3.1.4 UML概述(4/5)——模型元素
模型元素是在图中可以使用的所有概念。
模型元素在图中用相应的符号表示。
利用视图元素可以把图形象并且直观地表示出来。 一个符号可以在多个不同类型的图中出现。
– 建模语言各有千秋。
– 用户往往并不了解不同建模语言的优缺点及差异,因而很难根据应用特点选 择合适的建模语言。 – 不同的建模语言大多雷同,但仍存在细微差别,妨碍了用户之间的交流。
Booch、Rumbaugh和Jacobson三人共同努力,在比较不同建模语言优 缺点及总结面向对象技术应用的基础上,于1996年6月和10月发布 UML0.9和UML0.91。 1997年1月,UML1.0被提交给OMG组织,作为软件建模语言标准化的 候选,很多著名软件公司积极使用UML并提出反馈意见。 1997年9月再次提交给OMG组织,1997年11月7日被OMG采纳为业界 标准。
9
软件设计模式
3.1.4 UML概述(3/5)——图
UML中的图由图片(graph)组成,图片是模型元素 的符号的有机组合体。 图表示了系统的一个特殊部分或者某个方面。在系统 中,包含有多个各种类型的图。 UML中包含了用例图、类图、对象图、状态图、顺序 图、协作图、活动图、组件图、部署图九种。 按照机制分类,UML的建模机制分为静态建模机制和 动态建模机制。
订单追踪
监督人员
13
软件设计模式
3.2.1用例图(1/7)——系统
系统是用例模型的一个组成部分,代表某个活 动或者某个实体,而不是软件系统。系统的边 界用来说明所构建用例模型的应用范围。 例如,网络购物系统提供查看订单状态、订单 处理、发货、订单追踪功能,这些功能仅限于 该网络购物系统。 用例图中的系统用一个长方框来表示,系统名 一般写在方框上部。系统内部(方框内)是系 统中的用例。
UML的组成部分:
– 视图(views) – 图(Diagrams) – 模型元素(Model elements) – 通用机制(General mechanism)
8
软件设计模式
3.1.4 UML概述(2/5)——视图
视图只是表达系统某一方面特征的UML建模组件的子 集。在每一类视图中使用一种或两种特定的图来可视 化地表示系统中的各种概念。 用例视图 (Use-case view):参与者(外部用户)所能观 察到的系统功能的模型图。 逻辑视图 (Logical view):描述系统内部功能的设计 思路。 组件视图 (Component view):显示代码组件的组织 方式,描述系统实现模块及模块间的依赖关系。 部署视图 (Deployment view):表示系统的物理架构
用例的目标:明确用例的最终任务和想要得到的结果。
用例的激发:用例是怎样被激活的——每个用例的执行,都需要 某个参与者来启动,需要描述参与者启动用例的原因。
参与者与用例之间的消息:哪些消息是帮助用例作决定的,每个 消息所描述的问题,消息对系统实体的影响等。 用例的多种执行方案:某些用例在不同的条件下或特殊情况下, 能够选择合适的执行方案——这可以在动作的不同流程中予以描 述。
22
软件设计模式
3.2.2 顺序图(3/4)——对象的建立和删除
23
软件设计模式
3.2.2 顺序图(4/4)——异步消息
: Actor
OrderClient
Server
CreditServer
1: InsertCard 2: InputDate 3: ChooseSeat 4: Select 5: Submit 6: IsValid 8: OrderOK 9: PrintTicket 7: authorize
常见的模型元素包括对象、类、包、结点、状态、 组件等。
模型元素与模型元素之间的关系也是模型元素,比 如关联、依赖、聚合、泛化等。
11
软件设计模式
3.1.4 UML概述(5/5)——通用机制
在建模过程中,某些信息无法通过基本模型元素来 表示。UML利用通用机制为图添加附加信息,通常用 的通用机制有修饰、笔记、规格说明。 为了使建模者能很好地区分开类型和实例,通常利 用修饰为模型元素附加一定语义。修饰的位置一般 紧靠着模型元素。
4
U M L 的 形 成 过 程
软件设计模式
3.1.3 什么是UML (1/2)
统一建模语言(UML)是一个通用的可视化建模语 言,用于对软件进行描述、可视化处理、构造和建立 软件系统的文档。 UML 适用于各种软件开发方法、软件生命周期的各 个阶段、各种应用领域以及各种开发工具,是一种总 结了以往建模技术的经验并吸收当以使用代码生成器工 具将UML模型转换为多种程序设计语言代码,或使 用反向生成工具将程序源代码转换为UML。
16
软件设计模式
3.2.1用例图(4/7)——用例表示
用例之间存在包含、扩展和泛化关系:
包含:一个用例可以简单地包含其它用例具有的行为,并把它所包 含的用例行为作为自身行为的一部分。包含用含有<<include>>的带 箭头的虚线表示,箭头指向被包含的用例。 扩展:一个用例也可以被定义为基用例的增量扩展。同一个基用例 的几个扩展用例可以在一起应用,扩展增加了原有的语义。扩展关 系可以用含有关键字<<extend>>的带箭头的虚线表示,关系箭头指 向被扩展的用例。 泛化:一个用例可以被特别列举为一个或多个子用例,这被称为用 例泛化。当父用例能够被使用时,任何子用例也可以被使用。用例 泛化与其他泛化关系的表示法相同,都用一个三角箭头从子用例指 向父用例。
笔记可以描述模型元素无法表示的信息,通常在需 要用较多的文字来说明某个特征时使用,笔记可以 放在图的任何位置。
12
软件设计模式
3.2 经常使用的模型 3.2.1用例图
用例位于系统边界内部,用椭圆形表示,名字写在椭圆下方,用 例和参与者之间用一条直线表示。
网上购物系统
订单状态检查 销售员
顾客
订单处理 货运 发货
17
软件设计模式
3.2.1用例图(5/7)——用例表示
<<extend>>
ATM
<<include>> <<include>> <<include>>
取款请求
查询
转账
取款
RMB 提款
美元提款
18
软件设计模式
3.2.1用例图(6/7)——用例描述
用例的描述本质上是一个关于参与者与系统进行交互的规格说 明。
6
软件设计模式
3.1.3 什么是UML (2/2)
作为一种建模语言,UML的定义包括UML语义和 UML表示法两个部分。
– UML语义: 描述基于UML的精确元模型定义。元模型为 UML的所有元素在语法和语义上提供了简单、一致、通用的 定义性说明,使开发者能在语义上取得一致,消除了因人而 异的最佳表达方法所造成的影响。此外UML还支持对元模型 的扩展定义。 – UML表示法: 定义UML符号的表示法,为开发者或开发工 具在系统建模时使用这些图形符号和文本语法提供标准。这 些图形符号和文字所表达的是应用级的模型,在语义上它是 UML元模型的实例。
14
软件设计模式
3.2.1用例图(2/7)——参与者
参与者是与系统、子系统或类发生交互作用的外部用户 、进程或其他系统。 一个用户可能对应多个参与者。不同的用户也可以只对 应于一个参与者,代表同一参与者的不同实例。 每个参与者可以参与一个或多个用例,通过交换信息与 用例发生交互作用。 参与者可以是人、另一个计算机系统或一些可以运行的 进程。 参与者用小人图形表示。
消息是两个对象之间的单路通信,从发送者到接受者的控 制信息流。消息具有用于在对象间传值的参数,可以是信 号(一种明确的、命名的、对象间的异步通信)或调用( 具有返回控制机制的操作的同步调用)。 消息可用两种图来表示:顺序图和协作图。
21
软件设计模式
3.2.2 顺序图(2/4)
顺序图也称为时序图,描述系统中对象间通过消息进行的交互 ,强调消息在时间轴上的先后顺序。 顺序图的作用:顺序图常用来描述用例的实现,它表明了由哪 些对象,通过消息相互协作来实现用例的功能,在顺序图中, 标识了消息发生交互的先后顺序。 顺序图中的水平轴表示不同的对象,垂直轴表示时间。顺序图 中的对象用一个带有垂直虚线的矩形框表示,并标有对象名和 类名。垂直虚线是对象的生命线,用于表示某段时间内对象是 存在的。对象间的通信用在对象的生命线间画消息来表示。 一个对象可以通过发送消息来创建另一个对象,当一个对象被 删除或自我删除时,用“X”标识。