版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第9-10章章 构件图与部署图构件图与部署图面向对象分析与设计面向对象分析与设计&UML2为什么要建模构件图和部署图?为什么要建模构件图和部署图? 构件构件图用来建模系统的各个构件,包括源代码文件、二图用来建模系统的各个构件,包括源代码文件、二进制文件、脚本文件、可执行文件之间的关系,它们是通过进制文件、脚本文件、可执行文件之间的关系,它们是通过功能或者文件组织在一起的。使用构件图可以帮助读者了解功能或者文件组织在一起的。使用构件图可以帮助读者了解某个功能位于软件包的哪一位置,以及各个版本的软件各包某个功能位于软件包的哪一位置,以及各个版本的软件各包含哪些功能。含哪些功能。 部署图用来帮助读
2、者了解软件中的各个构件驻留在什么部署图用来帮助读者了解软件中的各个构件驻留在什么硬件位置,以及这些硬件之间的交互关系。硬件位置,以及这些硬件之间的交互关系。 总之,构件图和部署图可以用来帮助设计系统的整体架总之,构件图和部署图可以用来帮助设计系统的整体架构。构。面向对象分析与设计面向对象分析与设计&UML39.1 什么是构件和构件图什么是构件和构件图 构件图用来建模软件的构件及其相互之间的关系。构件图用来建模软件的构件及其相互之间的关系。这些图由构件和构件之间的关系构成。这些图由构件和构件之间的关系构成。CreditFlightReservationFightServer面向对象分析与设计面向
3、对象分析与设计&UML49.1 什么是构件和构件图什么是构件和构件图1 1构件构件 构件(构件)是系统中可替换的构件(构件)是系统中可替换的代码模块代码模块。例如下面这些。例如下面这些软件部件都是构件。软件部件都是构件。源文件源文件ActiveX ActiveX 控件控件JavaBeanJavaBeanEnterprise JavaBeanEnterprise JavaBean (EJB) (EJB)Java servletJava servletJava Server PageJava Server Page 在在UMLUML中,构件使用在左侧带有两个小矩形的大矩形表示,中,构件使用在左侧带
4、有两个小矩形的大矩形表示,如上图所示。如上图所示。面向对象分析与设计面向对象分析与设计&UML59.1 什么是构件和构件图什么是构件和构件图在下例中,演示了几个使用在下例中,演示了几个使用Visual BasicVisual Basic的项目文件、的项目文件、模块文件和类文件的构件标记,如下图所示。模块文件和类文件的构件标记,如下图所示。面向对象分析与设计面向对象分析与设计&UML69.1 什么是构件和构件图什么是构件和构件图构件的表示构件的表示面向对象分析与设计面向对象分析与设计&UML79.1 什么是构件和构件图什么是构件和构件图构件的类型构件的类型1 1)部署构件)部署构件 运行系统需要
5、部署构件运行系统需要部署构件. .如操作系统、如操作系统、JAVAJAVA虚拟机虚拟机(JVM)(JVM)和和数据库管理系统数据库管理系统(DBMS).(DBMS).2 2)工作产品构件)工作产品构件 包括模型、源代码和用于创建部署构件的数据文件包括模型、源代码和用于创建部署构件的数据文件. .如如JAVAJAVA类、类、JARJAR文件、动态链接库文件、动态链接库(DLL)(DLL)和数据库表和数据库表. .3)执行构件)执行构件在运行应用的时候创建的构件在运行应用的时候创建的构件.如如EJB Servlets,HTML和和XML文档,文档,COM+和和.NET构件及构件及CORBA构件构件
6、面向对象分析与设计面向对象分析与设计&UML89.1 什么是构件和构件图什么是构件和构件图构件与接口构件与接口面向对象分析与设计面向对象分析与设计&UML99.1 什么是构件和构件图什么是构件和构件图2 2依赖关系依赖关系 依赖关系演示两个构依赖关系演示两个构件之间的依赖特性。依赖件之间的依赖特性。依赖关系使用在一端带有开放关系使用在一端带有开放箭头的短划线表示。箭头箭头的短划线表示。箭头从依赖的对象指向被依赖从依赖的对象指向被依赖的对象。例如下图所示。的对象。例如下图所示。面向对象分析与设计面向对象分析与设计&UML109.1 什么是构件和构件图什么是构件和构件图面向对象分析与设计面向对象分
7、析与设计&UML119.1 什么是构件和构件图什么是构件和构件图 UMLUML本身提供了一些固有的依赖关系定义。其表示如下图所本身提供了一些固有的依赖关系定义。其表示如下图所示示。 该示例指示该示例指示Project.vbp文件同时包含文件同时包含Global.bas文件和文件和 Collection.cls文件。文件。面向对象分析与设计面向对象分析与设计&UML129.1 什么是构件和构件图什么是构件和构件图 虽然虽然“includes”includes”比较常用,但是用户也可以使比较常用,但是用户也可以使用其他固化名称来描述它们之间的关系。如用其他固化名称来描述它们之间的关系。如“impo
8、rts”imports”和和“implements”implements”,见下图所示。,见下图所示。面向对象分析与设计面向对象分析与设计&UML139.1 什么是构件和构件图什么是构件和构件图3 3包含构件包含构件 一个构件可以包含在其他的构件中。其标记符可在其他构件中一个构件可以包含在其他的构件中。其标记符可在其他构件中建模构件来表示。建模构件来表示。 下例演示了下例演示了InventoryInventory构件由构件由3 3个独立的构件个独立的构件DataAccessDataAccess,Business LogicBusiness Logic和和UserinterfaceUserint
9、erface组成,如下图所示。组成,如下图所示。面向对象分析与设计面向对象分析与设计&UML149.1 什么是构件和构件图什么是构件和构件图面向对象分析与设计面向对象分析与设计&UML159.2 构件图的阅读构件图的阅读练习练习 : 阅读一个构件图阅读一个构件图练习步骤练习步骤 1 1)标识出构件。)标识出构件。 2 2)标识出包含构件。)标识出包含构件。 3 3)标识出依赖关系。)标识出依赖关系。面向对象分析与设计面向对象分析与设计&UML169.2 构件图的阅读构件图的阅读面向对象分析与设计面向对象分析与设计&UML1710.1 什么是部署图什么是部署图部署图部署图(Deployment
10、diagram)也称配置图、实施图也称配置图、实施图, 是对是对OO系统进行物理建模的图系统进行物理建模的图. 它用来显示系统中计算结它用来显示系统中计算结点的拓朴结构和通信路径与结点上运行的软、构件等点的拓朴结构和通信路径与结点上运行的软、构件等.一个系统只有一个部署图一个系统只有一个部署图, 部署图通常用于理解分布部署图通常用于理解分布式系统式系统.部署图由体系工程师、网络工程师、系统工程师等描部署图由体系工程师、网络工程师、系统工程师等描述述.面向对象分析与设计面向对象分析与设计&UML1810.1 什么是部署图什么是部署图面向对象分析与设计面向对象分析与设计&UML1910.1 什么是
11、部署图什么是部署图 UMLUML部署图用来描述系统部署图用来描述系统硬件节点硬件节点构成,以及在这些节点构成,以及在这些节点上运行上运行软件构件的分布软件构件的分布。1 1结点结点 (node)node) 结结点用来表示一种硬件,它可以是打印机、计算机、扫描点用来表示一种硬件,它可以是打印机、计算机、扫描仪等。结点的标记符是一个三维框,在框的左上方包含了结点仪等。结点的标记符是一个三维框,在框的左上方包含了结点的名称,如下图所示。的名称,如下图所示。面向对象分析与设计面向对象分析与设计&UML2010.2 部署图中的基本概念部署图中的基本概念结点是运行时代表计算资源的物理元素结点是运行时代表计
12、算资源的物理元素, 结点通常有结点通常有内存及处理能力内存及处理能力. 它可以是物理设备及运行在该设备它可以是物理设备及运行在该设备上的软件系统上的软件系统.结点有结点有2种类型种类型:面向对象分析与设计面向对象分析与设计&UML2110.2 部署图中的基本概念部署图中的基本概念2 2连接连接(connection) 结点通过连接建立彼此的关系,采用从结点到结点绘制实结点通过连接建立彼此的关系,采用从结点到结点绘制实线来表示关联。这种关系用来表示两种硬件(结点)通过某种线来表示关联。这种关系用来表示两种硬件(结点)通过某种方式彼此通信。其基本连接的版型表示,如下图所示。方式彼此通信。其基本连接
13、的版型表示,如下图所示。面向对象分析与设计面向对象分析与设计&UML2210.2 部署图中的基本概念部署图中的基本概念连接是表示连接是表示2个硬件之间的关联关系个硬件之间的关联关系. 可以有角色、可以有角色、多重性、约束、版型等多重性、约束、版型等.面向对象分析与设计面向对象分析与设计&UML2310.3 部署图的例子部署图的例子PC和外设与和外设与ISP连接的部署图连接的部署图面向对象分析与设计面向对象分析与设计&UML2410.3 部署图的例子部署图的例子 下图演示了下图演示了WebServerWebServer通过通过HTTPHTTP协议与协议与Client PCClient PC通信,
14、通信,Client PCClient PC通过通过USBUSB协议与协议与PrinterPrinter通信。通信。面向对象分析与设计面向对象分析与设计&UML2510.3 部署图的例子部署图的例子在部署图建模中,还可使用如下常用的关联版型:在部署图建模中,还可使用如下常用的关联版型:JDBCJDBCODBCODBCRMIRMIRPCRPCWeb servicesWeb services此外,在节点内,也可使用节点版型来描述节点类此外,在节点内,也可使用节点版型来描述节点类型,如型,如WebServerWebServer描述该节点为描述该节点为WebWeb服务器服务器ApplicationSer
15、verApplicationServer描述该节点为应用服务器描述该节点为应用服务器DatabaseServerDatabaseServer描述该节点为数据库服务器描述该节点为数据库服务器面向对象分析与设计面向对象分析与设计&UML2610.3 部署图的例子部署图的例子PCApache_WeblogicWeblogicOracle面向对象分析与设计面向对象分析与设计&UML2710.4 部署图的阅读部署图的阅读练习:阅读一个部署图练习:阅读一个部署图练习步骤练习步骤 1 1)标识出通用节点。)标识出通用节点。 2 2)标识出实例化的节点。)标识出实例化的节点。 3 3)标识出通信关联。)标识出
16、通信关联。面向对象分析与设计面向对象分析与设计&UML2810.4 部署图的阅读部署图的阅读面向对象分析与设计面向对象分析与设计&UML2910.4 部署图的阅读部署图的阅读 3.3.构件的部署构件的部署 可以把系统运行时的构件分布在特定的硬件节点上来展可以把系统运行时的构件分布在特定的硬件节点上来展示系统的架构。下图演示了示系统的架构。下图演示了UserInterfaceUserInterface、BusinessLogicBusinessLogic和和BackendfunctionalityBackendfunctionality等构件如何在服务器和客户机硬件等构件如何在服务器和客户机硬件
17、中的部署。中的部署。面向对象分析与设计面向对象分析与设计&UML3010.4 部署图的阅读部署图的阅读4. 如何建模部署图如何建模部署图 创建部署图含有如下创建部署图含有如下4项任务:项任务: 1)添加节点。添加节点。 2)添加通信关联。添加通信关联。 3)添加构件和其他内容,如类和对象。添加构件和其他内容,如类和对象。 4)添加依赖关系。添加依赖关系。面向对象分析与设计面向对象分析与设计&UML3110.5 部署图的建模部署图的建模例例 建模一个网上扫描系统的部署图。其详细的需求如建模一个网上扫描系统的部署图。其详细的需求如下所示:下所示: 扫描仪通过内部的扫描仪通过内部的PCI总线连接到网
18、卡。需要编写总线连接到网卡。需要编写代码来控制扫描仪,代码驻留在扫描仪内部。代码来控制扫描仪,代码驻留在扫描仪内部。 扫描仪通过无线网卡与插入到扫描仪通过无线网卡与插入到Web服务器服务器KONG的的无线无线hub通信,服务器通过通信,服务器通过HTTP协议向客户协议向客户PC机提供机提供Web页。页。 Web服务器安装定制的服务器安装定制的Web服务器软件,通过专用服务器软件,通过专用数据访问构件与产品数据库交互。数据访问构件与产品数据库交互。 在客户的在客户的PC机上将提供专用的浏览器软件,它运机上将提供专用的浏览器软件,它运行产品查询插件,只与定制的行产品查询插件,只与定制的Web服务器
19、通信。服务器通信。面向对象分析与设计面向对象分析与设计&UML3210.5 部署图的建模部署图的建模1 1添加节点添加节点 第一项任务是确定系统的节点。下图演示了上面第一项任务是确定系统的节点。下图演示了上面需求列表中提及的所有硬件。需求列表中提及的所有硬件。面向对象分析与设计面向对象分析与设计&UML3310.5 部署图的建模部署图的建模2. 2. 添加通信关联添加通信关联 为确定的节点添加通信关联。从需求列表中可为确定的节点添加通信关联。从需求列表中可以确定如下所示通信关联:以确定如下所示通信关联: 扫描仪通过内部的扫描仪通过内部的PCIPCI总线连接到网卡。总线连接到网卡。 网卡通过无线
20、电波与无线网卡通过无线电波与无线hubhub通信。通信。 无线无线hubhub通过通过USBUSB连接到名为连接到名为KONGKONG的服务器实例。的服务器实例。 KONG WebKONG Web服务器通过服务器通过HTTPHTTP与客户构件通信。与客户构件通信。 面向对象分析与设计面向对象分析与设计&UML3410.5 部署图的建模部署图的建模面向对象分析与设计面向对象分析与设计&UML3510.5 部署图的建模部署图的建模3 3添加构件、类和对象添加构件、类和对象 接下来需要确定构件和其他内容,如类和对象。接下来需要确定构件和其他内容,如类和对象。需求列表需求列表显示下列构件可以用于图中:显示下列构件可以用于图中: 控制扫描仪的代码(名为控制扫描仪的代码(名为ScanEngineScanEngine构件构件) ) 定制的定制的WebWeb服务器软件(名为服务器软件(名为WebSeverSoftWebSeverSoft构件构件) ) 专用的数据访问构件(名为专用的数据访问构件(名为DataAccessDataAccess构件构件) ) 专用的浏览器软件(名为专用的浏览器软件(名为BrowserBrowser构件构件) ) 产品查询插件(名为产品查询插件(名为ProductLookupAddIn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中考物理复习主题单元4第9课时力与运动课件
- 磴口县三完小三年级手工教案
- 北师大版二年级语文上册教案(高效课堂模式)
- 火力发电电焊施工协议
- 西师版五年级语文下册教案
- 广告创意总监租赁合约
- 社会组织复印机租赁协议
- 财务人员绿色办公倡导承诺书
- 农业科技园区招投标申请表
- 生产线设备故障应对规范
- 招商银行智慧营销体系规划方案((2022年-2023年)-2022)
- 口腔科住院医师考试:2022牙周病学真题模拟及答案
- 慢性伤口的综合处理课件
- 《人民币硬币和普通纪念币》理论考试题库(含答案)
- 卢卡奇教学讲解课件
- 二年级珍惜时间发奋学习主题班会课件
- 平行与垂直(公开课)课件
- 城市轨道交通牵引供电及电力技术分析
- 提高外墙干挂石材施工一次合格率QC成果Word版
- 建筑行业会计基本处理课件
- 三年级上册美术课件-第4课 连环画 ▏人美版 (共15张PPT)
评论
0/150
提交评论