UML部署图在网上购物系统物理建模中的应用

2020-10-09 11:13苏晶
科学与信息化 2020年26期

摘 要 UML是一种基于面向对象的可视化建模语言,用于实现面向对象的系统分析和设计。其中,部署模型用于描述物理元素及其运行方式,能够有效帮助安装和部署人员掌握系统的硬件物理拓扑结构。本文通过对网上购物系统的部署情况分析,综合考虑各组成元素的建模要点,完成了系统部署模型的创建,为后续的系统物理实施提供了有力的依据。

关键词 部署模型;网上购物系统;物理建模

前言

软件产品开发完毕后交付最终用户使用,必然意味着要将其安装部署到最终的应用环境中。安装是软件交付最常见的形式,大多数软件产品都可以通过下载并执行安装包的形式,被成功部署到工作环境当中。比如常用的Windows操作系统、Office字处理软件、SQL Server数据库管理系统等,都是通过安装包实现软件交付的。

但是,当软件产品及其所依赖的运行环境比较复杂时,仅仅通过一个安装包无法完成软件交付的相关任务。此时,需要使用另外一种场景的软件交付方式,即软件部署。而部署图则是用于确保所开发的复杂软件产品能够在合适的硬件环境上运行,并且通过不同设备之间的通信来完成整个系统功能的重要手段。

1情景描述

基于B/S的网上购物系统的部署要求如下:

网上购物系统主要包括客户端计算机、应用服务器、数据库服务器和打印机等硬件设备。

客户端计算机的Web浏览器要求必须安装IE 10或者Chrome 50以上的版本,应用服务器和数据库服务器均要求必须运行在Windows操作系统平台中,数据库服务器使用Oracle 11g作为数据库管理系统。

客户端计算机通过HTTP协议与应用服务器进行通信,应用服务器通过ODBC协议与数据库服务器进行通信,应用服务器通过USB协议与打印机进行通信。

客户端计算机中安装部署Web浏览器,应用服务器中安装部署制品server及DataAccess,数据库服务器中安装部署数据库实例Shopping。DataAccess与server和Shopping均存在依赖关系。

2部署模型创建[1-3]

2.1 确定结点

结点是部署图中最为核心的组成元素,代表了一个运行时计算机系统中的硬件资源或物理元素,用于对已开发的软件产品需要安装部署的硬件环境进行描述。

根据部署要求,分析并识别该系统运行所必需的硬件设备,确定创建4个结点,其中客户端计算机用于为用户提供登录、访问和购买操作的人机交互环境,应用服务器用于部署和运行网上购物系统,数据库服务器用于存储系统中的商品及购物等相关信息,打印机用于为系统提供打印服务。

为了突出结点的作用,可采用构造型指明结点的类型。很明显,客户端计算机、应用服务器和数据库服务器必须具备处理能力,并且能够执行构件用于完成所需要的功能,因此,需建模为处理器结点,设置构造型为<>。而作为打印机在当前系统中,并不关心其是否具备处理能力,而只是希望通过其接口为外部提供服务,所以可建模为设备结点,设置构造型为<>。

另外,还可借助于约束、注解和标记值等UML公共机制对结点本身进行一些必要的细节描述。比如,可以通过大括号形式的标记值,列出客户端计算机结点对于Web浏览器需满足的版本要求,应用服务器结点对于操作系统、Web Server等系统软件需满足的各方面部署要求,以及数据库服务器结点对于操作系统和数据库管理系统需满足的版本要求。

2.2 確定结点间的关系

在安装部署的硬件环境确定下来后,需要分析结点与结点间的关联关系,建立通信连接,并通过适当的构造型描述具体通信及协作方式。

客户端计算机通过HTTP协议与应用服务器进行通信,应用服务器通过ODBC协议与数据库服务器进行通信,应用服务器通过USB协议与打印机进行通信。根据系统部署要求,需要在客户端计算机和应用服务器之间、应用服务器和数据库服务器之间以及应用服务器和打印机之间通过无方向的实线建立连接,并且通过构造型描述具体通信及协作方式。硬件结点之间正是通过连接,确保系统总体功能顺利完成的。

2.3 部署结点上的构件

在硬件环境和通信连接确定下来之后,需要将构件及制品安装部署到合适的结点中,并对构件间的关系进行建模。该步骤非常的重要,体现了部署图中最有价值的信息。

首先根据系统部署要求,分析系统运行所必需的软件部件。在客户端计算机中必须安装Web浏览器,但由于浏览器并不是由开发团队所生成的制品,因此,可在结点中直接进行描述。在应用服务器中必须安装部署构件产生的制品server和DataAccess,这两个物理部件可通过带有《artifact》构造型的矩形表示。在数据库服务器中必须创建数据库实例Shopping,该物理部件可通过带有《database》构造型的矩形表示。

通过分析发现,server是用于实现业务逻辑的构件,而DataAccess是用于实现数据访问的构件,其中server需要通过发送消息的方式来获取DataAccess所提供的数据访问服务,因此构件间依赖关系的箭头方向从server指向DataAccess。另外,数据访问构件DataAccess需要与Oracle的数据库实例Shopping进行交互,用于获取所需数据,因此依赖关系的箭头方向从DataAccess指向Shopping。由此可以看出依赖关系是可以跨结点的。需要注意的是,这种部署方法存在一定的弊端,如果含有依赖关系的构件实例放置在不同结点上,有可能导致执行过程中性能瓶颈的产生。

通过以上的分析整合过程,网上购物系统的部署模型基本已经创建完毕,如图1所示。

3结束语

结合上述案例,总结创建部署模型的作用主要体现在以下三方面:

(1)部署图通过对各种硬件,在硬件中的软件以及各种连接协议的展示,能够很好地描述系统具体的部署方式,有助于安装和部署人员快速高效地完成软件交付任务。

(2)部署图有助于平衡系统运行时的计算资源分布。如果含有依赖关系的构件实例被放置在不同的硬件结点上,部署图可以展示出执行过程中的瓶颈,帮助安装部署人员对部署模型进行优化改善。

(3)部署图可以通过结点间的关系,以及部署在结点之上的构件间的关系,清晰地描述出组织的硬件网络结构或者是具有多种硬件和软件相关的系统运行模型,为硬件工程师和软件开发者之间进行有效、无障碍的交流沟通提供了重要手段。

参考文献

[1] 吕云翔.UML与Rose建模实用教程[M].北京:人民邮电出版社,2016:21.

[2] 夏丽华.UML建模与应用 标准教程(2018—2020版)[M].北京:清华大学出版社,2018:63.

[3] 徐峰.UML面向对象建模基础[M].北京:中国水利水电出版社,2006:101.

作者简介

苏晶(1981-),女,山东省滨州市人;学历:硕士研究生,职称:讲师,现就职单位:山东理工大学,研究方向:软件工程、软件测试。