UML组件图和部署图实践课件
《统一建模语言(UML)》第9章 组件图和部署图

例如,编写文档和相关帮助的人员不直接参与系统的分析和设计,然而他们 对系统的理解直接影响到系统文档的质量,而组件图是帮助他们理解系统 的有力工具。
9.1.1 组件图元素
构成组件图的元素包括:
组件(component) 接口(interface) 关系(relationship)
还可以包括包(package)和子系统(subsystem) 它们有助于将系统中的模型元素组织成更大的组块。
Processor
Device
9.2 部署图
2.组件(Component)
节点和组件的关系:
组件是参与系统执行的事物,而节点是执行组件的事物。 组件表示逻辑元素的物理模块,而节点表示组件的物理部署。
9.2 部署图
3.关系(relationship)
部署图中也可以包括依赖、泛化、关联及实现关系。部署图中的依赖关系谢谢观看Fra bibliotek任务解决
小结
组件图是对面向对象系统的物理方面建模时使 用的两种图之一,用于描述软件组件以及组件 之间的组织和依赖关系,构成组件图的元素包 括组件(component)、接口(interface)和关系 (relationship)。 部署图是用于描述系统硬件的物理拓扑结构以 及在此结构上运行的软件的图形,部署图可以 显示计算节点的拓扑结构、通信路径、节点上 运行的软件、软件包含的逻辑单元(对象、类 等)。构成部署图的元素主要是节点(node)、 组件(component)和关系(relationship)。
9.1.1 组件图
1.组件(Component)
组件是定义了良好接口且提供实现的一个物理部件 是指类的物理实现,表示将类、接口等逻辑元素打包而形
UML组件图和部署图实践课件

实验十、十一组件图和部署图一、实验目的1.理解组件图的基本概念。
2.理解组件图的应用:逻辑部署。
3.理解部署图的基本概念。
4.理解部署图的应用:物理部署。
5.掌握组件图和部署图绘制的方法。
二、实验器材1.计算机一台。
2.Rational Rose 工具软件。
三、实验内容某图书管理系统的分析和设计已按计划完成类图和交互图的分析与设计,下一步将完成系统的组件图和部署图,现系统分析部指派您完成如下任务:完成系统的组件图。
四、实验步骤1. 绘制组件图分析:在某图书馆管理系统中,通过分析可以发现类图中的类应分为4个部分:1.用户接口模块(UI),主要负责系统和用户的交互,包括Frame类,Dialog类等。
2.业务对象模块(BO),主要负责处理系统中的业务计算,如借书,还书等功能的具体操作。
3.数据存储模块(DB),主要负责处理对数据的存储。
4.通用工具模块(UTIL),包括系统中通用函数。
通过一个主程序StartClass来启动。
由于系统中的类较多,这里以业务对象模块(BO)为例来讲解如何创建组件图,BO模块中包括Item类:书目类,表示一本实际存在的书籍或杂志Loan类:借书业务类,将借阅者和图书馆关联起来,一个Loan对象表示借出的一本书 BorrowerInfomation类:借阅者信息类,表示一个借阅者。
Title类:表示一种书或一种杂志。
如《C++编程思想》就是一种书,用1个title 表示,如果有2本这样的书,则需要用2个Item表示。
Reservation类:预定信息类,表示一个预定信息。
Item类和Loan类之间互相依赖,Loan类和BorrowerInfomation类之间互相依赖,BorrowerInfomation类和Reservation类之间互相依赖,Reservation类和Title之间互相依赖,Title和Item类之间互相依赖。
绘图步骤:(1)在组件视图中双击Main图,出现图10.1,为编辑组件图做好准备,这时绘图工具栏中的图标如图中椭圆所示,其中具体含义可参看本节“补充图标”一段的介绍。
《组件图和部署图》PPT课件

C.对物理数据库建模
D.对可适应的系统建模
3.(
)是可复用的,提供明确接口完成特定功能的程序代码块。
A.模块
B.函数
C.用例
D.软件构件
4.组件图展现了一组组件之间的组件和依赖。它专注于系统的(
)实现图。
A.动态
B.静态
C.基础
D.实体
5.(
)是用于把元素组织成组的通用机制。
习题
1.( 实现
)是系统中遵从一组接口且提供实现的一个物理部件,通常指开发和运行时类的物理
A.部署图
B.类
C.接口
D.组件
2.组件图用于对系统的静态实现视图建模,这种视图主要支持系统部件的配置管理,通常可以分为
四种方式来完成,下面哪种不是其中之一(
)。
A.对源代码建模
B.对事物建模
8.3小结
组件图用于静态建模,是表示组件类型的组织以及各种组 件之间依赖关系的图。组件图通过对组件间依赖关系的描 述来估计对系统组件的修改给系统可能带来的影响。部署 图是用来为面向对象系统的物理实现建模的图。部署图描 述了节点和运行在其上的组件的配置,它用来模拟系统的 静态部署实现。
本章介绍了组件的定义以构成组件的要素,对组件、组件 关系进行了详细的讲解。对使用组件图建模适用领域进行 了说明,并对最为常见的两种场景即可执行程序结构建模、 源代码建模进行了举例说明。还介绍了部署图语义和功能, 通过实例讲解了部署图的应用。
UML实现与部署(精)

• 一、组件图(Component Diagrams) • 二、 部署图(Deployment Diagrams)
一、组件图(Component Diagrams)
组件图的概念和内容Байду номын сангаас
• 组件图是对面向对象系统的物理方面建模时使用的两种图 之一,另一种图是部署图。组件图描述软件组件以及组件 之间的关系,组件本身是代码的物理模块,组件图则显示 了代码的结构。在 UML中,每一个组件图只是系统实现视 图的一个图形表示,也就是说任何一个组件图不能描述系 统实现视图的所有方面,当系统中的组件和起来,这时表 示系统完整的实现视图,而其中的一个组件图只表示实现 视图的一部分。 • 组件图中可以包括包和子系统,它们可以将系统中的模型 元素组织成更大的组块。有时,当系统有需要可视化一个 基于组件的一个实例时,还需要在组件图中加入实例。
• • • • •
组件
• 组件是定义开发时和运行时的物理对象的类。组件是系统中 可替换的物理部件,它包装了实现而且遵从并统一提供一组 接口的实现。组件常用于对可分配的物理单元建模,这些物 理单元包含模型元素,并具有身份标识和明确定义的接口。 • 组件一般表示实际存在的、物理的物件,它具有很广泛的定 义,以下的一些制品都可以被认为是组件:程序源代码、子 系统、动态链接库、ActiveX控件、JavaBean、Java servlet、 Java Server Page。这些组件一般都包含很多类并实现许多 接口。 • 在 UML 中,图形上组件使用左侧带有两个突出的小矩形的 矩形表示。
关系
• 组件图中可以包括以下关系:依赖、泛化、关联和实现关系。 某概念上理解,组件图可以算作一种特殊的类图,它重点描 述系统的组件以及它们间的关系。 • 组件图中的依赖关系使用虚线箭头表示。具有依赖关系的组 件有以下一些性质:客户端组件依赖于提供者组件;提供者 组件在开发时存在,但不需要运行时存在。
组件图与部署图

UML组件图与部署图U n R e g i s t er ed为什么要建模组件图和部署图?组件图用来建模系统的各个组件,包括(1)源代码文件(如java)(2)二进制文件(如bin、dll等,系统调用的某一外部可执行文件)(3)脚本文件(如xml、txt等)(4)可执行文件(如exe)之间的关系它们是通过功能或者文件组织在一起的。
使用组件图可以帮助读者了解某个功能位于软件包的哪一位置,以及各个版本的软件各包含哪些功能。
部署图用来帮助读者了解软件中的各个组件驻留在什么硬件位置,以及这些硬件之间的交互关系。
总之,组件图和部署图可以用来帮助设计系统的物理架构。
Un Re gi st er ed1.组件在UML中,组件使用在左侧带有两个小矩形的大矩形表示,如下图所示。
Un Re gi st er ed组件的表示U n R e g i s t er ed2.依赖关系依赖关系演示两个组件之间的依赖特性。
依赖关系使用在一端带有开放箭头的短划线表示。
箭头从依赖的对象指向被依赖的对象。
例如下图所示。
deretsigeRnUderetsigeRnU3.包含组件一个组件可以包含在其他的组件中。
其标记符可在其他组件中建模组件来表示。
下例演示了Inventory组件由3个独立的组件DataAccess,Business Logic和Userinterface组成,如下图所示。
Un Re gi st er edUML部署图用来描述系统硬件节点构成,以及在这些节点上运行软件组件的分布。
1.节点节点用来表示一种硬件,它可以是打印机、计算机、扫描仪等。
节点的标记符是一个三维框,在框的左上方包含了节点的名称,如下图所示。
部署图Un Re gi st er ed2.通信关联节点通过通信关联建立彼此的关系,采用从节点到节点绘制实线来表示关联。
这种关系用来表示两种硬件(节点)通过某种方式彼此通信。
其基本通信关联的版型表示,如下图所示。
Un Re gi st er ed下图演示了WebServer通过HTTP协议与Client PC通信,Client PC通过USB协议与Printer通信。
UML-11组件图与部署图

组件
图11.2 组件与类的关系示例
11.1.1
组件
组件提供接口的实现,一个组件可以实现一个或多个接 口。 例:在图11.3中的组件“字典”实现两个接口:“拼写 检查”和“同义词”。
图11.3 组件与接口示例
Home
11.1.2
组件的种类
按照组件的作用可以把组件分为以下3种: 1.配置组件(Deployment Component) 配置组件是构成一个可执行的系统的必需的组件,如动态连接库 (DLL)、执行程序(EXE)等。 UML的组件可以表达典型的对象模型,如COM+、 CORBA、 JAVA Beans、Web页、数据库表等内容。 2.工作产品组件(Work Product Component) 工作产品组件是在软件开发阶段使用的组件,它们包括源程序文件、 数据文件等。 配置组件是根据工作产品组件建立的。 3.执行组件(Execution Component) 执行组件是执行系统的部件,如COM+的一个对象,它是一个动态 连接库(DLL)的实例。
图11.5 组件的开发期间的依赖
Home
11.1.3
调用依赖(Call Dependency)是指一个组 件调用或使用另一个组件 的服务,如图11.6所示。 客户组件调用或使用供应 者组件的服务,调用可以 直接进行,或通过接口进 行。供应者组件的元素可 以是组件的型或对象。 调用依赖可以发生在开发 期间的组件的型之间,用 组件图表示;调用依赖也 可以发生在运行期间的组 件的实例之间,可在部署 图中表示。
Home
组件
图11.1 简单组件与扩充组件示例
11.1.1
组件
组件在很多方面与对象类相似,如都有名字,都有实例,都能实现 接口,都存在着联系等。 组件的实例代表运行期间的可执行软件模块。例如,图11.1中的组 件“mymailer:Mailer”就是组件“Mailer”的一个实例,它存在于 运行期间。组件的实例只用于部署图中。 组件的性质的表示法与类相同。组件所包含的模型元素的可视性同 样有“公共”、“保护”、“私用”等。 但是组件和类有实质性的区别。 组件代表物理事物,而类代表事物的逻辑抽象,因此组件可以用于 部署图的节点中,而类不能。 一般组件只有操作,外界只能通过接口接触它们,而类可以直接有 属性和操作。
第17次课uml08.架构设计-包图组件图部署图

Image.java
学习路线图
10 …… …… …… ……
-3-
内容安排
包图 构件图
部署图
-4-
包图
1 包图的概念
2 包的表示 3 包图中的关系 4 阅读包图 5 创建包图 6 包图建模
1 包图的概念 1.包 包就像一个“容器”,可用于组织模 型中的相关元素,以便容易理解。 将相关的各种类型的模型元素组织成 组的通用机制。 包的实例没有任何语义。 仅在建模时有意义,而不必转换到可 执行的系统中。
wordProcessor.exe
WordProcessor
SpellChecker
WordCounter
构件与类的关系示例
component.java
Image.java ImageObserver
字典
拼写检查
同义词
component.java
<<Interface>> ImageObserver
包名放在第二栏 包名放在第一栏
PackageName
PackageName ClassName-1 ClassName-2 …..
PackageName 类名
Rose常用表示法
第二栏列出 包含的类名
在第二栏画出所 包含的类图形表示
2 包的表示
1.包的符号表示 嵌套包及其表示 一个包可以包含其他 的包; 嵌套包可以访问自身 的元素; 应尽量避免使用嵌套 包,一般2-3层最好。
设计包的原则
③
共同重用原则
——把不会一起使用的类不要放在同一个包中。
④
非循环依赖原则
——包之间的依赖关系不要形成循环。
ch12_UML组件图与部署图

12.2.2 部署图的要素
1.节点
节点(node) 是运行时代表计算资源的物理元素。节点通常 有内存及处理能力,它可以是物理设备及运行在该设备上的软 件系统. 节点分为处理机(processor)和设备(device)两类。
• 处理机:能执行软件、具有计算能力的节点,如主机、服务 器、客户机等; • 设备:没有计算能力的节点,如打印机、传感器、终端等。
3.添加组件、类和对象 接下来需要确定组件和其他内容,如类和对象。 需求列表显示下列组件可以用于图中: • 控制扫描仪的代码(名为ScanEngine组件) • 定制的Web服务器软件(名为WebSeverSoft组件) • 专用的数据访问组件(名为DataAccess组件) • 专用的浏览器软件(名为Browser组件) • 产品查询插件(名为ProductLookupAddIn组件) 另外,前面还提到了产品数据库,但是它不必像前面的几个项 目那样也建模为软件组件。我们要把产品数据库建模为一个类 实例ProductDB。
组件图的特性
• 组件图和部署图统称为实现图,是对OO 系统的物理方面建模的图。
• 组件图显示一组组件以及它们之间的相互 关系。
• 组件图可以显示软组件之间的依赖关系, 可以用来显示编译、链接或执行时组件之 间的依赖关系。
12.1.3 组件图的作用
1. 对源代码文件之间的相互关系建模
12.1.3 组件图的作用
组件和类之间的不同点:
1、类是逻辑抽象,组件是物理抽象,即 组件可以位于节点(node)上。
2、组件是对其它逻辑元素,如类,协作 (collaboration)的物理实现。即,组件 是软件系统的一个物理单元。 3、类可以有属性和操作;组件通常只有 操作,而且这些操作只能通过组件的 接口才能使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验十、组件图和部署图
、实验目的
1 •理解组件图的基本概念。
2•理解组件图的应用:逻辑部署。
3•理解部署图的基本概念。
4.理解部署图的应用:物理部署。
5•掌握组件图和部署图绘制的方法。
、实验器材
1. 计算机一台。
2. Rational Rose工具软件。
、实验内容
某图书管理系统的分析和设计已按计划完成类图和交互图的分析与设计,下一步将完成系统的组件图和部署图,现系统分析部指派您完成如下任务:完成系统的组件图。
四、实验步骤
1.绘制组件图分析:
在某图书馆管理系统中,通过分析可以发现类图中的类应分为4个部分:
1.用户接口模块(UI),主要负责系统和用户的交互,包括Frame类,Dialog 类等。
2.业务对象模块(BO),主要负责处理系统中的业务计算,如借书,还书等功能的具体操作。
3 •数据存储模块(DB),主要负责处理对数据的存储。
4•通用工具模块(UTIL ),包括系统中通用函数。
通过一个主程序StartClass来启动。
由于系统中的类较多,这里以业务对象模块
(BO)为例来讲解如何创建组件图,BO模块中包括
Item类:书目类,表示一本实际存在的书籍或杂志
Loan类:借书业务类,将借阅者和图书馆关联起来,一个Loan对象表示借出的一本书Borrowerlnfomation类:借阅者信息类,表示一个借阅者。
Title类:表示一种书或一种杂志。
如《C++编程思想》就是一种书,用1个title 表示,如果有2本这样的书,则需要用2个Item表示。
Reservation类:预定信息类,表示一个预定信息。
Item类和Loan类之间互相依赖,Loan类和BorrowerI nfomation类之间互相依赖,BorrowerI nfomation 类和Reservation 类之间互相依赖,Reservation 类和Title 之间互相依赖,Title和Item类之间互相依赖。
绘图步骤:
(1)在组件视图中双击Main图,出现图10.1,为编辑组件图做好准备,这时
绘图工具栏中的图标如图中椭圆所示,其中具体含义可参看本节“补充图标” 一段的介绍。
图10.1
2)在组件视图中,从工具栏中选择Ma in Program图标,在右边的绘图区中添加一个新组件,并取名StartClass.java表明新增一个主程序。
图10.2
(3 )选择新创建的组件,点击鼠标右键,在弹出的菜单中选择
“Open Sepcification”,弹出图10.3对话框。
(4)在对话框中,可以修改组件的名称,设置组件的类型,指定实现的语言。
这里新组件的名称定为“ StartClass.java,组件构型为Main Program(Rose中提供了多种构型,大部分在补充图标一段中均有简单的介绍),实现语言为JAVA (Rose中默认的是分析语言Analysis),修改结果如图10.4所示。
图10.3
图10.4
(5)组件图描述的是系统的实现视图,因此要指定实现组件功能的文件。
点击File 选项卡,在列表框中点击鼠标右键,在弹出的菜单中选择“Insert File”,弹出文件对话框。
在对话框中,键入StartClass.java点击“打开”按键,这时对
话框如图10.5所示。
图10.5
(6)双击StartClass.java弹出是否创建对话框,询问是否创建文件,选择“YES”, 弹出记事本,这时可输入相应的源程序(注意:如果这里选择的文件已经存在,
则不会弹出创建文件对话框,而是直接显示相应文件内容)。
(7)创建相应的包。
选择包图标,在右图中创建。
这里同样需要对每个组件打开“ Open Specification”对话框,设置具体的属性,对“包”组件来说需要在Files 选项卡中指明与其对应的目录。
创建完毕的组件图如图10.6所示。
图10.6
(8)选择业务对象包(BO),双击,打开业务对象包的详细组件图,这里根据
分析的结果分别创建Title.java,ltem.java,Loa n.java,BorrowerI nfomati on .java,Reservation.java组件,并设置好每个组件的构型和对应的文件。
创建好的BO包组件图如图10.7
10.7
(9)创建依赖关系。
在本节“关系” 一段中,已经描述过依赖关系使用虚线表
示,因此根据分析中的结果,在图中将相互依赖的组件连接即可。
完成后的组件 图如图10.8。
Kase - (-^titled) - Di QET «B 10 f
也 E.11< Ejiit Ei t* ffir*st firg finery MFJg Hiiftd Ktlp ■_Jj Xl □ o I . - % m 肃口 回画m 图厨 通炉 龟田o
图 10.8
2.绘制部署图
分析:
TJKD 的图书管理系统目前开发的是一个单机版系统,其中所有的运算均在一台 机器上完成,但是由于打印报表的需要,系统还应配备一台打印机。
因此得出系 统中存在2个节点:
一台主机,其类型是Process 。
②一台打印机,其类型是Device 。
绘图步骤: 绘图步骤:
(1)浏览窗口中选择“ Deployment View ”,弹出如图10.9所示窗口 ■ L
EIr
■B D 国Tl II u t F B D tf V M
5 8□口
口口 昌 出. □ D^plv^n^Fd TYw 囲 Updtl Pr :pflTti«§
J —I Tiflej f«r Htlp* preti Pl
E'jrr jrrif . r nat) 9(i.javti
Retardation 2fcj [wti
ffl-Q Us« C4Et Yiw *i O
ly c-ii 力:、
□ e □ AK Loan jspna I temjeva I ----- J tD^fult L M ^IUC * _ J AI Q 簟ti v
图10.9
(2 )在图中添加分别添加一个Processer和Device ,并分别命名为“computer with java support'和“Printer”,添加完毕后,其结果如图10.10所示。
图10.10
(3)为节点添加连接关系。
全图如图10.11
图10.11
五、实验报告要求
1. 组件图和部署图的基本概念,它们都包含哪些模型元素。
2. 仿照书中的例子,在Rose软件上画出上述各种组件图和部署图,打印附在作业上。