本文和大家学习一下UML部署图和组件图的相关内容,因为部署图是对物理运行情况进行建模,系统的生产人员就可以很好地利用这种图,而组件图提供系统的物理视图。
UML部署图
部署图表示该软件系统如何部署到硬件环境中。它的用途是显示该系统不同的组件将在何处物理地运行,以及它们将如何彼此通信。因为部署图是对物理运行情况进行建模,系统的生产人员就可以很好地利用这种图。
UML部署图中的符号包括组件图中所使用的符号元素,另外还增加了几个符号,包括节点的概念。一个节点可以代表一台物理机器,或代表一个虚拟机器节点(例如,一个大型机节点)。要对节点进行建模,只需绘制一个三维立方体,节点的名称位于立方体的顶部。所使用的命名约定与序列图中相同:[实例名称]:[实例类型](例如,"w3reporting.myco.com:ApplicationServer")。
图8:部署图。由于ReportingTool组件绘制在IBMWebSphere内部,后者又绘制在节点w3.reporting.myco.com内部,因而我们知道,用户将通过运行在本地机器上的浏览器来访问ReportingTool,浏览器通过公司intranet上的HTTP协议与ReportingTool建立连接。
图8中的UML部署图表明,用户使用运行在本地机器上的浏览器访问ReportingTool,并通过公司intranet上的HTTP协议连接到ReportingTool组件。这个工具实际运行在名为w3reporting.myco.com的ApplicationServer上。这个图还表明ReportingTool组件绘制在IBMWebSphere内部,后者又绘制在w3.reporting.myco.com节点内部。ReportingTool使用Java语言通过IBMDB2数据库的JDBC接口连接到它的报告数据库上,然后该接口又使用本地DB2通信方式,与运行在名为db1.myco.com的服务器上实际的DB2数据库通信。除了与报告数据库通信外,ReportTool组件还通过HTTPS上的SOAP与BillboardService进行通信。
UML组件图
看完了UML部署图的介绍再来看一下UML组件图内容。组件图提供系统的物理视图。它的用途是显示系统中的软件对其他软件组件(例如,库函数)的依赖关系。UML组件图可以在一个非常高的层次上显示,从而仅显示粗粒度的组件,也可以在组件包层次2上显示。
UML组件图的建模最适合通过例子来描述。图7显示了4个组件:ReportingTool、BillboardService、Servlet2.2API和JDBCAPI。从ReportingTool组件指向BillboardService、Servlet2.2API和JDBCAPI组件的带箭头的线段,表示ReportingTool依赖于那三个组件。
图7:组件图显示了系统中各种软件组件的依赖关系
【编辑推荐】