组件图与部署图

合集下载

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

《统一建模语言(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组件图和部署图实践课件

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,为编辑组件图做好准备,这时绘图工具栏中的图标如图中椭圆所示,其中具体含义可参看本节“补充图标”一段的介绍。

§8 包图、组件图、部署图

§8 包图、组件图、部署图

AWT +Window #Form -EventHandler 图1.1 AWT包
包中可以包含其他建模元素,如类、接口、组件、节点、用例、包等。 就像对类的属性和操作可以进行可见性控制一样,对包中元素也可以进行 可见性控制。
图1.1中的AWT包有3个元素:Window、Form和 EventHandler。其中window的可见性为公有的(Public), 表示在任何导入(import)AWT包的包中,都可以引用 Window这个元素;Form的可见性为保护的(protected), 表示只有AWT包的子包才可以引用Form这个元素; EventHandler的可见性为私有的(privated),表示只有 在AWT包中才可以引用Event Handler这个元素。
AWT +Window #Form -EvebtHandler 图1.1 AWT包
对包的命名有两种方式,即简单包名名(simple name)和路径包名(path name)。例如Vision)是一个简单的包名,而Sensors::Vision是带路径的包名。 其中Sensors是Vision包的外围包,也就是说,Vision包是嵌套在Sensors包中 的。包可以嵌套,但在实际应用中,嵌套层次不应太深。
习题: 1.什么是包? 2.什么是包的泛化、包的依赖? 3.包和类有何区别? 4.哪些模型元素可以组成包? 5.当把模型元素组成一个包时应该考虑哪些问题? 6.对超市管理系统绘制相应的包图。
2 组 件 图
2.1 什么是组件和组件图
组件(component)是系统中遵从一组接口且提供其实现的物理的、可 替换的部分。组件图(component diagram)则显示一组组件以及它们之间 的相互关系,包括编译、链接或执行时组件之间的依赖关系。组件图是对OO 系统物理方面建模的两个图之一(另一个图是配置图)。 如图2.1正所示是一个组件图的例子,表示.html文件、.exe文件、.dll 文件这些组件之间的相互依赖关系。

包图组件图部署图

包图组件图部署图

包(Package)
引入与输出:引入(import)允许一个包中的元素单向访问另一包中的元素 允许一个包中的元素单向访问另一包中的元素. 引入与输出 引入 允许一个包中的元素单向访问另一包中的元素
在UML中,用一个由构造型import修饰的依赖为 引入关系建模.通过把抽象包装秤有含义的组块, 然后用引入关系控制对它们的访问,就能控制 大量抽象的复杂性. 输出(export)就是包的公共部分 就是包的公共部分. 输出 就是包的公共部分 一个包输出的部分仅对显示地引入这个包 的其他包中的元素是可见的 注:引入和访问依赖是不可传递的.
虚包(Generic Package): 虚包
虚子程序(Generic Subprogram): 虚子程序
接口(Interface)
概述: 概述 在组件图中,组件可以通过其他组件的接口来使用其他组件中定义
的操作.通过使用命名的接口,可以避免在系统中各个组件之间直接发生依 赖关系,有利于组件的替换 接口和组件之间的关系: 实现关系(Realization): 依赖关系(Dependency): 组件接口的分类: 导入接口(import interface):供访问操作的组件使用 导出接口(export interface):由提供操作的组件提供
组件图(Component Diagram)
背景: 背景:在软件建模的过程中,使用用例图可以推断系统希望的行为;使用类图
可以描述系统中的词汇;使用时序图、组件图、状态图和活动图可以说明这些词 汇中的事物如何相互作用以完成某些行为。在完成系统的逻辑设计之后,下一步 要定义设计的物理实现,如可执行文件、库、表、文件和文档等。对面向对象系 统的物理方面进行建模时要用到两种图:组件图和配置图。 概述: 概述:使用组件图能够可视化物理组件以及它们之间的关系,并描述其构造细节. 组件图描述了软件的各种组件和它们之间的依赖关系.在UML中,组件图是系统实 现视图的图形表示,而其中的一个组件图只能表示系统实现视图的一部分,也即任 何一个组件图都不能描述系统实现的所 有方面,只有系统中的组件组合起来 才能表示完整的系统实现视图

实验八 组件图和部署图及状态图实验报告

实验八 组件图和部署图及状态图实验报告

青海民族大学物理与电子信息工程学院实验报告实验名称:组件图和部署图及状态图姓名:学号:班级:实验八组件图和部署图及状态图一、实验目的1.理解组件图的基本概念。

2.理解组件图的应用:逻辑部署。

3.理解部署图的基本概念。

4.理解部署图的应用:物理部署。

5.掌握组件图和部署图绘制的方法。

二、实验器材1.计算机一台。

2.Rational Rose 工具软件。

三、实验内容企业进销存系统的分析和设计已按计划完成,下一步将完成系统的组件图和部署图,现系统分析部指派您完成如下任务:1.以“仓库管理员将生产的产品放进仓库”的用例为基础创建构件图。

2.一些系统的需求为基础,创建系统的部署图。

四、实验步骤1. 绘制组件图分析:对该用例的流程进行分析,发现包含下列元素。

1.产品类(Products)2.仓库管理员类(Warehouse Manager)3.界面类(Web Interface)4.数据库管理类(Data Manager)5.系统的主程序(Main System)绘图步骤:(1)在组件视图中双击Main图2. 绘制部署图分析:根据系统的物理需求确定系统的节点,①客户机②Web应用服务器③数据库服务器绘图步骤:(2)(1)浏览窗口中选择“Deployment View”,。

(五)实验心得部署图主要是用来说明如何配置系统的软件和硬件。

本学生选课系统由5个节点构成,应用服务器负责整个系统的总体协调工作:数据库负责数据管理;Web 应用程序模块用于学生进行课程查询、选课;业务操作模块用于管理员处理学生选课、课程信息管理等一般的业务流程:学生信息维护模块用于管理员对学生信息的维护,如添加和修改学生信息、添加和修改课程信息等。

状态图一、实验目的1.熟悉状态图的基本功能和使用方法。

2.掌握如何使用建模工具绘制状态图。

二、实验器材1.计算机一台。

2.Rational Rose 工具软件。

三、实验内容通过对前面内容的学习,使我们完成了进销存管理系统的静态模型,构建了分析阶段和设计阶段的类图。

6组件图布置图

6组件图布置图

部署图(续)

部署图的用途 – 主要用来描述构成物理系统的各组成部分的分布、提 交和安装 – 应用程序的物理部署,如:网络布局,组件在网络上的 位置等 – 显示网络上所有的节点,节点间的连接和每个节点上 运行的进程
3 Sept. 2008 Confidential
部署图(续)

节点(Node) – 存在于运行时并代表一项计算资源的物理元素,一 般至少拥有一些内存,而且通常具有处理能力。应 用程序的物理部署,如:网络布局,组件在网络上的 位置等 – 节点既可以代表一个物理设备,也可以代表在该设 备上运行的软件系统。
3 Sept. 2008 Confidential
部署图(Deployment Diagram)

部署图(Deployment Diagram) – 显示运行时进行处理的节点和在节点上活动的组件的 配置。 – 描述了处理器、设备和软件组件运行时的体系架构。 – 也叫实施图或布置图
3 Sept. 2008 Confidential
3 Sept. 2008 Confidential
组件图(续)
• 组件类型 – 实施组件(Deployment component) • 构成一个可执行系统必要和充分的组件。例如:
dll, exe – 工作产品组件(Work product component) • 是开发过程的产物,包括创建实施组件的源代码 文件及数据文件等,如:cpp,c,java – 执行组件(Execution component) • 作为一个正在执行的系统的结果而被创建,如: 由dll实例化形成的COM+对象
3 Sept. 2008 Confidential
部署图(续)
• •

UML部署图和图九组件图

UML部署图和图九组件图

UML部署图和图九组件图前⾔UML⼤部分描写叙述了逻辑和设计⽅⾯的信息。

实现图⽤来描写叙述实现⽅⾯的信息。

实现图包含部署图和构件图。

构件图1. 概念构件图从软件架构的⾓度来描写叙述⼀个系统的主要功能。

如⼦系统、类、包、构件。

⽤来显⽰⼀组构建之间组织与依赖的关系。

2. 构成构件、接⼝、关系3. 构件的类型源码构件、⼆进制构件、可运⾏构件、数据⽂件或⽂档4. 构件和类的关系(1)类表⽰逻辑抽象⽽构件表⽰物理抽象(2)构件是其他元素的物理实现(3)类能够直接拥有属性和操作,构件⼀般仅仅有通过接⼝訪问的操作5. 构件的特点物理的、可替换的、是系统的⼀部分、从⼀组接⼝并提供对⼀组接⼝的实现6. 构件与接⼝的关系实现、依赖、⽰出、进⼊7. 以下是我的机房收费的构件图。

眼下感觉理解的还是不够透彻,先画出来以后学的深了再改进部署图1. 概念⽤来显⽰系统中软件和硬件的物理架构。

⼀个系统仅仅有⼀个部署图。

2. 部署图元素节点、节点实例、物件、关系、节点容器3. 使⽤条件对复杂的分布式软件使⽤部署图4. 长处部署图判断软件的所需的处理器和设备的拓扑结构5. ⼀个良好的部署图:(1)每⼀个实施图是系统的⼀个⽅⾯(2)側重⼀个⽅⾯(3)仅仅包括必要元素和必要修饰(4)避免交叉、名字要能概括你功能6.以下是我的机房收费的部署图,不⾜之处欢迎⼤家积极指正UML仍在路上(尾声)通过以上连续的五篇博客,对UML中的9+1(包图)个图结合之前敲的机房收费系统做了总结。

前五篇博客将关系联系紧密的两两放在⼀起更有助于对照理解这些图。

UML语⾔使系统建模过程标准化,统⼀化。

规范化。

UML在整个软件开发过程中採⽤同样的概念和表⽰⽅法。

在不同的开发阶段,不必转换概念和表⽰⽅法。

避免了传统软件开发⽅法的两个鸿沟。

UML採⽤图形化的表现形式。

产⽣的模型易于理解。

易于开发者与⽤户之间的沟通。

从⽽可以及时得到⽤户的反馈信息。

⽤UML进⾏系统建模所得到的建模制品不只包含各种模型框图,还有⼤量丰富的⽂档。

包图组件图部署图

包图组件图部署图
字空间的。这样在引用目的包中的内容时不
需要加包名限定,直接用目的包中的元素名 字即可。
User Services 《import》
Business Services 《import》
Data Services
图1.2 包之间的非传递依赖关系

另外,与UML中其他建模元素类似,包之间也可以有泛化关系。子包继 承了父包中可见性为public和protected的元素。
EventHandler的可见性为私有的(privated),表示只有
在AWT包中才可以引用Event Handler这个元素。
图1.1 AWT包
对包的命名有两种方式,即简单包名名(simple name)和路径包名(path name)。例如Vision)是一个简单的包名,而Sensors::Vision是带路径的包名。 其中Sensors是Vision包的外围包,也就是说,Vision包是嵌套在Sensors包中 的。包可以嵌套,但在实际应用中,嵌套层次不应太深。
EventHandler。其中window的可见性为公有的(Public),
AWT
表示在任何导入(import)AWT包的包中,都可以引用
+Window
Window这个元素;Form的可见性为保护的(protected), #Form
表示只有AWT包的子包才可以引用Form这个元素; -EvebtHandler
在设计包时,应遵循以下原则: 1. 重用等价原则(Reuse Equivalency Principle,REP) 2. 共同闭包原则(Common Closure Principle,CCP) 3. 共同重用原则(Common Reuse Principle,CRP) 4. 非循环依赖原则(Acyclic Dependencies Principle,ADP)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

UML组件图与部署图
U n R e g i s t e
r e
d
为什么要建模组件图和部署图?
组件图用来建模系统的各个组件,包括
(1)源代码文件(如java)
(2)二进制文件(如bin、dll等,系统调用的某一外部可执行文件)(3)脚本文件(如xml、txt等)
(4)可执行文件(如exe)之间的关系
它们是通过功能或者文件组织在一起的。

使用组件图可以帮助读者了解某个功能位于软件包的哪一位置,以及各个版本的软件各包含哪些功能。

部署图用来帮助读者了解软件中的各个组件驻留在什么硬
件位置,以及这些硬件之间的交互关系。

总之,组件图和部署图可以用来帮助设计系统的物理架构。

U
n R
e g
i s
t e
r e
d
1.组件
在UML中,组件使用在左侧带有两个小矩形的大矩形表示,如下图所示。

U
n R
e g
i s
t e
r e
d
组件的表示
U n R e g i s t e
r e
d
2.依赖关系
依赖关系演示两个组件之间的依赖特性。

依赖关系使用在一端带有开放箭头的短划线表示。

箭头从依赖的对象指向被依赖的对象。

例如下图所示。

d
e
r
e
t
s
i
g
e
R
n
U
d
e
r
e
t
s
i
g
e
R
n
U
3.包含组件
一个组件可以包含在其他的组件中。

其标记符可在其他组件中建模组件来表示。

下例演示了Inventory组件由3个独立的组件DataAccess,
Business Logic和Userinterface组成,如下图所示。

U
n R
e g
i s
t e
r e
d
UML部署图用来描述系统硬件节点构成,以及在这些节点上运行软件组件的分布。

1.节点
节点用来表示一种硬件,它可以是打印机、计算机、扫描仪等。

节点的标记符是一个三维框,在框的左上方包含了节点的名
称,如下图所示。

部署图
U
n R
e g
i s
t e
r e
d
2.通信关联
节点通过通信关联建立彼此的关系,采用从节点到节点绘制实线来表示关联。

这种关系用来表示两种硬件(节点)通过某种方
式彼此通信。

其基本通信关联的版型表示,如下图所示。

U
n R
e g
i s
t e
r e
d
下图演示了WebServer通过HTTP协议与Client PC通信,Client PC通过USB协议与Printer通信。

d
e
r
e
t
s
i
g
e
R
n
U
3.组件的部署
可以把系统运行时的组件分布在特定的硬件节点上来展示系统的架构。

下图演示了UserInterface、BusinessLogic和Backendfunctionality等组件如何在服务器和客户机硬件中的部署。

d
e
r
e
t
s
i
g
e
R
n
U。

相关文档
最新文档