预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共34页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第六章构件图和部署图 为什么要建模构件图和部署图? 构件图用来建模系统的各个构件,包括源代码文件、二进制文件、脚本文件、可执行文件之间的关系,它们是通过功能或者文件组织在一起的。使用构件图可以帮助读者了解某个功能位于软件包的哪一位置,以及各个版本的软件各包含哪些功能。 部署图用来帮助读者了解软件中的各个构件驻留在什么硬件位置,以及这些硬件之间的交互关系。 总之,构件图和部署图可以用来帮助设计系统的整体架构。第六章构件图和部署图 构件图用来建模软件的构件及其相互之间的关系。这些图由构件和构件之间的关系构成。1.构件 构件(构件)是系统中可替换的代码模块。例如下面这些软件部件都是构件。 源文件 ActiveX控件 JavaBean EnterpriseJavaBean(EJB) Javaservlet JavaServerPage 在UML中,构件使用在左侧带有两个小矩形的大矩形表示,如上图所示。在下例中,演示了几个使用VisualBasic的项目文件、模块文件和类文件的构件标记,如下图所示。构件的表示构件的类型 1)部署构件 运行系统需要部署构件.如操作系统、JAVA虚拟机(JVM)和数据库管理系统(DBMS). 2)工作产品构件 包括模型、源代码和用于创建部署构件的数据文件.如JAVA类、JAR文件、动态链接库(DLL)和数据库表. 3)执行构件 在运行应用的时候创建的构件.如EJBServlets,HTML和XML文档,COM+和.NET构件及CORBA构件.构件与接口2.依赖关系 依赖关系演示两个构件之间的依赖特性。依赖关系使用在一端带有开放箭头的短划线表示。箭头从依赖的对象指向被依赖的对象。例如下图所示。UML本身提供了一些固有的依赖关系定义。其表示如下图所示。虽然“includes”比较常用,但是用户也可以使用其他固化名称来描述它们之间的关系。如“imports”和“implements”,见下图所示。3.包含构件 一个构件可以包含在其他的构件中。其标记符可在其他构件中建模构件来表示。 下例演示了Inventory构件由3个独立的构件DataAccess,BusinessLogic和Userinterface组成,如下图所示。练习:阅读一个构件图 练习步骤 1)标识出构件。 2)标识出包含构件。 3)标识出依赖关系。 4)标识出固化类型部署图2.通信关联 节点通过通信关联建立彼此的关系,采用从节点到节点绘制实线来表示关联。这种关系用来表示两种硬件(节点)通过某种方式彼此通信。其基本通信关联的版型表示,如下图所示。下图演示了WebServer通过HTTP协议与ClientPC通信,ClientPC通过USB协议与Printer通信。在部署图建模中,还可使用如下常用的关联版型: 《JDBC》 《ODBC》 《RMI》 《RPC》 《Webservices》部署图练习:阅读一个部署图 练习步骤 1)标识出通用节点。 2)标识出实例化的节点。 3)标识出通信关联。3.构件的部署 可以把系统运行时的构件分布在特定的硬件节点上来展示系统的架构。下图演示了UserInterface、BusinessLogic和Backendfunctionality等构件如何在服务器和客户机硬件中的部署。4.如何建模部署图 创建部署图含有如下4项任务: 1)添加节点。 2)添加通信关联。 3)添加构件和其他内容,如类和对象。 4)添加依赖关系。例建模一个网上扫描系统的部署图。其详细的需求如下所示: 扫描仪通过内部的PCI总线连接到网卡。需要编写代码来控制扫描仪,代码驻留在扫描仪内部。 扫描仪通过无线网卡与插入到Web服务器KONG的无线hub通信,服务器通过HTTP协议向客户PC机提供Web页。 Web服务器安装定制的Web服务器软件,通过专用数据访问构件与产品数据库交互。 在客户的PC机上将提供专用的浏览器软件,它运行产品查询插件,只与定制的Web服务器通信。1.添加节点 第一项任务是确定系统的节点。下图演示了上面需求列表中提及的所有硬件。2.添加通信关联 为确定的节点添加通信关联。从需求列表中可以确定如下所示通信关联: 扫描仪通过内部的PCI总线连接到网卡。 网卡通过无线电波与无线hub通信。 无线hub通过USB连接到名为KONG的服务器实例。 KONGWeb服务器通过HTTP与客户构件通信。部署图3.添加构件、类和对象 接下来需要确定构件和其他内容,如类和对象。需求列表显示下列构件可以用于图中: 控制扫描仪的代码(名为ScanEngine构件) 定制的Web服务器软件(名为WebSeverSoft构件) 专用的数据访问构件(名为DataAccess构件) 专用的浏览器软件(名为Browser构件) 产品查询插件(名为ProductLoo