UML统一建模语言共29页文档
统一建模语言UML

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

申请贷款
贷款经理
时序图:打印
计算机
打印驱动器
打印机
队列
输出文件
打印机空闲 打印输出文件
打印机忙 输出文件 入队列
时序图:打电话
访客
交换机
远程交换机
访客
a {b-a<1}
b {c-b<10}
c
{e-d<5}
拿起话筒
蜂鸣音
拨号码
<10
...
d
路径
铃响信号
e 铃响 拿起话筒
铃响停止信号
铃响停止
协同图:打印
状态图:电梯
年编个辑 器
封包
控制器
图组件
见 、、、
图组件
见 、、、
图形核心
基本图形 核心
窗口核心
窗口系统
基本图形 微软窗口
活动图:磁盘
构件分布图
构件图的组合
配置图:主机与外围设备
行为 状态图, 时序图, 协同图, 实现者, 组装者
模型 活动图, 构件图, 配置图
实现
构件图
实现者
模型
环境
配置图
实现者, 组装者,
模型
测试者
事 务
使用实例图
模
型 事件流
分
析 脚本
UML规划 操作分析过程
相互作用图(时序图,协同图)
对象&类
面
向 对
对象图,类图
象
分
类分组
析
封包图
状态图
构件图
配置图
人 持有人 *
类2
角色1
角色2
聚合、导航和个体数目
整体 类名
聚合,单向导航 0..1 0..1 混合聚合,双向导航
UML(UnifiedModelingLanguage统一建模语言)

UML(UnifiedModelingLanguage统⼀建模语⾔)UML(Unified Modeling Language 统⼀建模语⾔),⼜称标准建模语⾔。
是⽤来对软件密集系统进⾏可视化建模的⼀种语⾔。
UML是⼀种⾯向对象的建模语⾔,它可以实现⼤型复杂系统各种成分描述的可视化、说明并构造系统模型,以及建⽴各种所需的⽂档,是⼀种定义良好、易于表达、功能强⼤且普遍适⽤的建模语⾔。
UML基本内容详述(1)视图 视图是表达系统的某⼀⽅⾯特征的UML建模元素的⼦集;试图并不是图,它是由⼀个或多个图组成的对系统某个⾓度的抽象。
1)⽤例视图(核⼼视图) 强调从⽤户的⾓度看到的或需要的系统功能。
2)逻辑视图 该视图⽤于描述系统内实现的逻辑功能,展现系统的静态或结构组成及特征。
3)组件视图 该视图从系统实现的⾓度来描述模型对象间的关系。
4)配置视图 该视图⽤于说明系统的物理配置。
(2)图表 图表是描述视图内容的图。
1)⽤例图 ⽤于描述外部项与系统提供的使⽤事件之间的联系。
⼀个使⽤事件是系统提供的功能的具体描述,是系统分析⼈员从⽤户⾓度描述系统的功能,是功能与功能之间以及功能与⽤户之间的关系。
使⽤事件定义了系统的功能需求。
简单理解:⽤来描述系统的功能。
2)类图 ⽤于描述系统的静态结构。
类可以⽤不同⽅式连接,主要包括联合、依赖、独⽴和包装。
⼀个系统⼀般有多张类图,⼀个类可在不同的视图中出现。
3)对象图 ⽤于表述系统在某个时刻的静态结构。
对象图也可作为协作图的⼀部分,说明⼀组对象之间的动态协作关系。
对象图与类图的区别:对象图表⽰的是类中的许多对象实例,⽽不是类本⾝。
4)状态图 ⽤于说明类中的对象可能具有的状态,以及由时间引起的状态的改变。
简单理解:描述了系统元素的状态条件和响应。
5)顺序图(时序图) ⽤于描述对象间的动态协作关系。
表达了对象间发⾏消息的时序,同时也表达出对象间的相互作⽤,以及当系统执⾏到某个特定位置时可能会发⽣的事。
第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版本。
统一建模语言UML

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

卖主:人
卖主代理: 经纪人
销售房产
财产:房产
买主:人
买主代理: 经纪人
图2-7 协作 “销售房产”
结构元素
• 6. 构件 • 构件也称组件:系统设计中,一个相对独立的软件部件,它把功
能实现部分隐藏在内部,对外声明了一组接口(包括供给接口和 需求接口)。因此,两个具有相同接口的构件可以相互替换 。
• 构件是比“类”更大的软件部件,例如一个COM组件、一个DLL文 件、一个JavaBeans、一个执行文件等等。为了更好地对在UML模 型中对它们进行表示,就引入了构件(也译为组件)
• 建筑模型:建筑物模型、沙盘、公司总部的 3D复制品…
什么是模型
图常见的模型
什么是模型
• 数据分析模型:条形图、饼状图… • 设计模型:建筑平面图、管线图、电路板设计
图…
• 上面这些模型是用图形符号对现实世界中某个 事物的模仿或仿真。在软件开发工程中,模型 主要用来描述问题域和软件域。问题域主要包 括业务、业务规则、业务流程、工作流程;软 件域主要包括软件组成、软件结构、软件部署 等。
• 需求模型:展示应用系统要求和业务要求的模型。需求分析师和 系统分析师创建该种模型。
• 设计模型:设计模型包含架构模型和详细设计模型,架构模型展 示软件系统的宏观结构和组成;详细设计模型展示软件的微观组 成和结构。架构师设计架构模型,详细设计模型则以资深开发人 员为主,架构师提供指导,共同设计。
用UML可以建立的模型种类
• 3.公共机制 • 公共机制包括详述、修饰、通用划分、扩展机
制。公共机制指适用于软件系统或业务系统中 每个事物的方法或规则。
基本元素
• 我们把基本元素分为4类:结构元素、 行为元素、分组元素、注释元素。
(精品文档)统一建模语言UML课件

用例描述了系统的功能需求,是系统执行的一系列动 作。 从本质上讲,一个用例是执行者与计算机之间的一次 典型交互。
用例名
用例
27
UML用例图
28 .
如何识别用例?
执行者的需求
28
UML用例图
o
用例之间存在着一定的关系,这些关系包括泛化关系、 包含关系和扩展关系。
29 .
泛化关系:用例可以被特殊列举为一个或多个子用例, 这被称为用例泛化。
.
实现图(Implementation diagram)定义系统中软硬件的 物理体系结构,包括组件图和配置图: 组件图描述代码部件的物理结构及各部件之间的依赖关 系。
配置图描述了系统中软硬件的物理体系结构,即显示了 系统的软件配置和硬件(计算机和设备,用节点表示) 配置以及它们之间的关系。
21
U M L
元素是模 型的抽象
分组元素 注释元素
类 接口 协作 用例 活动类 组件 节点 交互 状态机 包 注解 依赖 关联 泛化 聚集 实现
8
.
图将元素的集合进行分组
关系
元素之间的 连接纽带是 关系 用例图 静态图 行为图 交互图 实现图
图
UML简介
Part1.UML元素-结构元素
.
UML中共有7种结构元素:类、接口、协作、用例、活 动类、组件和节点。
34
UML类图
在面向对象的方法中,系统中的任何事物 都被看成是对象,通过对象间的交互实现 系统的功能。
35 .
类是创建对象的模板,找出系统中的 类是系统运行的重要前提。
35
UML类图
类图(Class Diagram)
统一的建模语言UML

❖ 统一的建模语言(UML)已经在企业中 广泛使用
❖它 把 Booch 、 Rumbaugh 和 Jacobson 等各自独立的OOA和OOD方法中最 优秀的特色组合成一个统一的方法。
❖ 在UML中用5种不同的视图来表示一个系 统,这些视图从不同的侧面描述系统。
❖ 每一个视图由一组图形来定义。
类2
角色2
一般化-特殊化关系
超类
抽象类 操作
子类1
子类2 操作
使用实例图
准备文件
交易
"使用"
识别
客户
"使用"
银行职员
申请贷款
贷款经理
时序图:打印
计算机
打印驱动器
打印机
队列
输出文件
打印机空闲 打印输出文件
打印机忙 输出文件 入队列
时序图:打电话
访客
交换机
远程交换机
访客
a {b-a<1}
b {c-b<10}
模型
测试者
事 务
使用实例图
模
型 事件流
分
析 脚本
UML规划 操作分析过程
相互作用图(时序图,协同图)
对象&类
面
向 对
对象图,类图
象
分
类分组
析
封包图
状态图
构件图
配置图
人 持有人 *
财产 * 房屋
类图
借方 *
债权人 金融机构
*
抵押
本金
信贷银行
银行
利率
到期
*{有序}
❖ 类图用于表示类的存在和类与类之间 的相互关系,是从系统构成的角度来 描述正在开发的系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
说明和实现间的关系
(虚线空心箭头)
一个元素需要别的元素提供适当功能的情况 (虚线箭头)
川软智能技术有限公司
UML模型图分类和主要概念
分类 模型图 结构特性 类
用例 对象 构件 部署 行为特性 序列 协作 状态转移 活动
英文名称 主要概念
class
类,关联,泛化,依赖,接口
use Case 用例,参与者,泛化,关联,扩展
川软智能技术有限公司
类图
Customer
Name:string Phone:string
Add(Nname,phone)
类名 属性 方法(类的操作)
川软智能技术有限公司
例如:下图是售票系统的类图,他只是售票系统领域模型的一部分。图中表示了 几个重要的类,如Customer,Reservation,Ticket,Performance.顾客可多次 订票,但每一次订票只能由一个顾客来执行。有两种订票方式:个人票或套 票:前者只是一张票,后者包括多张票。每一张票不是个人票就是套票中的 一张,但是不能有事个人票又是套票中的一张。每场演出都有多张票可供预 定,每张票对应一个唯一的座位号。每次演出用剧目名,日期和时间来标识。
川软智能技术有限公司
用例之间的关系 UML用例之间主要有扩展和使用两种关系,他们是泛化关系的两种不同形式。 1》扩展关系 向一个用例中添加一些动作后构成了另一个用例,这两个用例之间的关系就是扩
展关系,后者继承前者的一些行为,通常把后者称为扩展用例。 2》使用关系 当一个用例使用另一个用例时,这两用例之间就构成了使用关系。一般来说,如
Individual Reservation * *
**
Show Name:string
Performance Date:date Time:timeofday
川软智能技术有限公司
对象图:
对象图是类图的变体,两者之间的主要区别是在于对象图表示的是类的对象 实例。而不是真实的类。对象图是类图的一个实例,它及时反映了系统执行 到某处时的工作状况。
川软智能技术有限公司
例子:假设一家工厂的采购部每天需要一张订货报表,报表按零件编号 排序,表中列出所有需要再次订货的零件。对于每个需要再次订货的 零件应该列出下述数据:零件编号,零件名称,订货数量,目前价格, 主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库 中的CRT终端把事务报告给订货系统,当某种零件的库存数量少于库 存量临界值时就应该再次订货。
object 对象,类,属性,方法
component 构件,类,方法,属性
Deployment 节点,依赖,位置,实现
sequence 交互,对象,消息,激活
collaboration 协作,交互,消息,协作角色
state chart 状态,事件,转换,动作
Activity 状态,活动,转换完成,分叉,结合
川软智能技术有限公司
3》开口矩形(或两条平行线):代表数据存储 4》箭头:表示数据流,即特定数据的流动方向。注意,数据流与程序流
程图中用箭头表示的控制流有本质不同,千万不要混淆,熟悉程序流 程图的初学者在画数据流图时,往往试图在数据流图中表现分支条件 或循环,这样做将造成混乱,画不出正确的数据流图。在数据流图中 应该描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件。
统交互的任何人或物都是行为者 行为者代表一种角色,而不是某个具体的人或物。例如在自动售货机系统中,使
用售货功能的人既可以是张三(买矿泉水)也可以是李四(买可乐),但是 不能把张三或李四这样的个体对象称为行为者。事实上,一个具体的人可以 充当多种不同角色。例如某个人既可以为售货机添加商品,又可以把售货机 里德钱取走。 在用例图中用直线连接行为和用例,表示两者之间交换信息,称为通信联系。行 为者触发用例,并与用例交换信息。单个行为者可与多个用例联系;反之一 个用例也可与多个行为者联系。
元素关系有关联、泛化、流及各种形式的依赖关系,包 括实现关系和使用关系。
关系的种类:
川软智能技术有限公司
关系
关联 依赖 流 泛化 实现 使用
功能
表示法
类实例间连接的描述
(直线和间内一个对象的两种类型的关系 虚线箭头
更概括的描述和更具体的种类间关系,使用于继承(直线空心箭头)
软件测试与维护
主讲:王曼
wangman888888@
一、软件质量保证
●UML标准
■UML统一建模语言
■UML合并了许多面向对象中被普遍接受的概念,对每一 种概念,UML都给出了清楚的定义、表示法和有关术 语使用UML可以对已有的用各种方法建立的模型进行 描述.
UML由建模元素、元素关系、语言扩展机制、模型图四部 分组成;模型图由建模元素和元素关系组成
果
数据流图(DFD):它是一种图形化技术,描述信息流和数据从输入移动 到输出的过程中所经受的变换。它只描述数据在软件中流动和被处理 的逻辑过程。是系统逻辑功能的图形表示,即使不是计算机技术人员 也容易理解它,因此是分析员与用户之间极好的通信工具。
数据流图主要是作为交流信息的工具以及作为分析和设计的工具。 符号: 1》正方形(或立体型):表示数据的原点或终点 2》圆角矩形(或圆形):代表变换数据的处理
川软智能技术有限公司
继承
SubscriptionSeries Series interger
* *
Customer Name:string Phone:string
Add(name,phone)
* *
Reservation Date:date
Ticket Available : Sell:customer Exchange()
对象图中使用的图示符号和类图几乎完全一致。只不过在对象图中的名称下 有下划线,而且类与类之间的关系的实例都画出来。如下图是类的具体实现 的对象图。图中票包括套票和个人票,每个票表明剧目名称、演出日期和时 间。
票
_票号 _座位号
_类别
套票
_套票1 _剧目名 _日期 _时间
川软智能技术有限公司
对象图
票
_票号 _座位号
_类别
套票 _套票1 _剧目名 _日期 _时间
个人票 _个人票 _剧目名
_日期 _时间
川软智能技术有限公司
用例图
用例:一个用例是可以被行为者感受到的、系统的一个完整的功能。 用例具有下述特征: 1》用例代表某些用户可见的功能,实现一个具体的用户目标 2》用例总是被行为者启动的,并向行为者提供可识别的值 3》用例必须是完整的 行为者:是与系统交互的人或其他系统,它代表外部实体。使用用例并且与系