
摘 要 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-),女,山東省濱州市人;學歷:碩士研究生,職稱:講師,現就職單位:山東理工大學,研究方向:軟件工程、軟件測試。