摘 要 UML是一種基于面向?qū)ο蟮目梢暬UZ言,用于實現(xiàn)面向?qū)ο蟮南到y(tǒng)分析和設(shè)計。其中,部署模型用于描述物理元素及其運行方式,能夠有效幫助安裝和部署人員掌握系統(tǒng)的硬件物理拓撲結(jié)構(gòu)。本文通過對網(wǎng)上購物系統(tǒng)的部署情況分析,綜合考慮各組成元素的建模要點,完成了系統(tǒng)部署模型的創(chuàng)建,為后續(xù)的系統(tǒng)物理實施提供了有力的依據(jù)。
關(guān)鍵詞 部署模型;網(wǎng)上購物系統(tǒng);物理建模
前言
軟件產(chǎn)品開發(fā)完畢后交付最終用戶使用,必然意味著要將其安裝部署到最終的應(yīng)用環(huán)境中。安裝是軟件交付最常見的形式,大多數(shù)軟件產(chǎn)品都可以通過下載并執(zhí)行安裝包的形式,被成功部署到工作環(huán)境當中。比如常用的Windows操作系統(tǒng)、Office字處理軟件、SQL Server數(shù)據(jù)庫管理系統(tǒng)等,都是通過安裝包實現(xiàn)軟件交付的。
但是,當軟件產(chǎn)品及其所依賴的運行環(huán)境比較復(fù)雜時,僅僅通過一個安裝包無法完成軟件交付的相關(guān)任務(wù)。此時,需要使用另外一種場景的軟件交付方式,即軟件部署。而部署圖則是用于確保所開發(fā)的復(fù)雜軟件產(chǎn)品能夠在合適的硬件環(huán)境上運行,并且通過不同設(shè)備之間的通信來完成整個系統(tǒng)功能的重要手段。
1情景描述
基于B/S的網(wǎng)上購物系統(tǒng)的部署要求如下:
網(wǎng)上購物系統(tǒng)主要包括客戶端計算機、應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器和打印機等硬件設(shè)備。
客戶端計算機的Web瀏覽器要求必須安裝IE 10或者Chrome 50以上的版本,應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器均要求必須運行在Windows操作系統(tǒng)平臺中,數(shù)據(jù)庫服務(wù)器使用Oracle 11g作為數(shù)據(jù)庫管理系統(tǒng)。
客戶端計算機通過HTTP協(xié)議與應(yīng)用服務(wù)器進行通信,應(yīng)用服務(wù)器通過ODBC協(xié)議與數(shù)據(jù)庫服務(wù)器進行通信,應(yīng)用服務(wù)器通過USB協(xié)議與打印機進行通信。
客戶端計算機中安裝部署Web瀏覽器,應(yīng)用服務(wù)器中安裝部署制品server及DataAccess,數(shù)據(jù)庫服務(wù)器中安裝部署數(shù)據(jù)庫實例Shopping。DataAccess與server和Shopping均存在依賴關(guān)系。
2部署模型創(chuàng)建[1-3]
2.1 確定結(jié)點
結(jié)點是部署圖中最為核心的組成元素,代表了一個運行時計算機系統(tǒng)中的硬件資源或物理元素,用于對已開發(fā)的軟件產(chǎn)品需要安裝部署的硬件環(huán)境進行描述。
根據(jù)部署要求,分析并識別該系統(tǒng)運行所必需的硬件設(shè)備,確定創(chuàng)建4個結(jié)點,其中客戶端計算機用于為用戶提供登錄、訪問和購買操作的人機交互環(huán)境,應(yīng)用服務(wù)器用于部署和運行網(wǎng)上購物系統(tǒng),數(shù)據(jù)庫服務(wù)器用于存儲系統(tǒng)中的商品及購物等相關(guān)信息,打印機用于為系統(tǒng)提供打印服務(wù)。
為了突出結(jié)點的作用,可采用構(gòu)造型指明結(jié)點的類型。很明顯,客戶端計算機、應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器必須具備處理能力,并且能夠執(zhí)行構(gòu)件用于完成所需要的功能,因此,需建模為處理器結(jié)點,設(shè)置構(gòu)造型為<
另外,還可借助于約束、注解和標記值等UML公共機制對結(jié)點本身進行一些必要的細節(jié)描述。比如,可以通過大括號形式的標記值,列出客戶端計算機結(jié)點對于Web瀏覽器需滿足的版本要求,應(yīng)用服務(wù)器結(jié)點對于操作系統(tǒng)、Web Server等系統(tǒng)軟件需滿足的各方面部署要求,以及數(shù)據(jù)庫服務(wù)器結(jié)點對于操作系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)需滿足的版本要求。
2.2 確定結(jié)點間的關(guān)系
在安裝部署的硬件環(huán)境確定下來后,需要分析結(jié)點與結(jié)點間的關(guān)聯(lián)關(guān)系,建立通信連接,并通過適當?shù)臉?gòu)造型描述具體通信及協(xié)作方式。
客戶端計算機通過HTTP協(xié)議與應(yīng)用服務(wù)器進行通信,應(yīng)用服務(wù)器通過ODBC協(xié)議與數(shù)據(jù)庫服務(wù)器進行通信,應(yīng)用服務(wù)器通過USB協(xié)議與打印機進行通信。根據(jù)系統(tǒng)部署要求,需要在客戶端計算機和應(yīng)用服務(wù)器之間、應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器之間以及應(yīng)用服務(wù)器和打印機之間通過無方向的實線建立連接,并且通過構(gòu)造型描述具體通信及協(xié)作方式。硬件結(jié)點之間正是通過連接,確保系統(tǒng)總體功能順利完成的。
2.3 部署結(jié)點上的構(gòu)件
在硬件環(huán)境和通信連接確定下來之后,需要將構(gòu)件及制品安裝部署到合適的結(jié)點中,并對構(gòu)件間的關(guān)系進行建模。該步驟非常的重要,體現(xiàn)了部署圖中最有價值的信息。
首先根據(jù)系統(tǒng)部署要求,分析系統(tǒng)運行所必需的軟件部件。在客戶端計算機中必須安裝Web瀏覽器,但由于瀏覽器并不是由開發(fā)團隊所生成的制品,因此,可在結(jié)點中直接進行描述。在應(yīng)用服務(wù)器中必須安裝部署構(gòu)件產(chǎn)生的制品server和DataAccess,這兩個物理部件可通過帶有《artifact》構(gòu)造型的矩形表示。在數(shù)據(jù)庫服務(wù)器中必須創(chuàng)建數(shù)據(jù)庫實例Shopping,該物理部件可通過帶有《database》構(gòu)造型的矩形表示。
通過分析發(fā)現(xiàn),server是用于實現(xiàn)業(yè)務(wù)邏輯的構(gòu)件,而DataAccess是用于實現(xiàn)數(shù)據(jù)訪問的構(gòu)件,其中server需要通過發(fā)送消息的方式來獲取DataAccess所提供的數(shù)據(jù)訪問服務(wù),因此構(gòu)件間依賴關(guān)系的箭頭方向從server指向DataAccess。另外,數(shù)據(jù)訪問構(gòu)件DataAccess需要與Oracle的數(shù)據(jù)庫實例Shopping進行交互,用于獲取所需數(shù)據(jù),因此依賴關(guān)系的箭頭方向從DataAccess指向Shopping。由此可以看出依賴關(guān)系是可以跨結(jié)點的。需要注意的是,這種部署方法存在一定的弊端,如果含有依賴關(guān)系的構(gòu)件實例放置在不同結(jié)點上,有可能導致執(zhí)行過程中性能瓶頸的產(chǎn)生。
通過以上的分析整合過程,網(wǎng)上購物系統(tǒng)的部署模型基本已經(jīng)創(chuàng)建完畢,如圖1所示。
3結(jié)束語
結(jié)合上述案例,總結(jié)創(chuàng)建部署模型的作用主要體現(xiàn)在以下三方面:
(1)部署圖通過對各種硬件,在硬件中的軟件以及各種連接協(xié)議的展示,能夠很好地描述系統(tǒng)具體的部署方式,有助于安裝和部署人員快速高效地完成軟件交付任務(wù)。
(2)部署圖有助于平衡系統(tǒng)運行時的計算資源分布。如果含有依賴關(guān)系的構(gòu)件實例被放置在不同的硬件結(jié)點上,部署圖可以展示出執(zhí)行過程中的瓶頸,幫助安裝部署人員對部署模型進行優(yōu)化改善。
(3)部署圖可以通過結(jié)點間的關(guān)系,以及部署在結(jié)點之上的構(gòu)件間的關(guān)系,清晰地描述出組織的硬件網(wǎng)絡(luò)結(jié)構(gòu)或者是具有多種硬件和軟件相關(guān)的系統(tǒng)運行模型,為硬件工程師和軟件開發(fā)者之間進行有效、無障礙的交流溝通提供了重要手段。
參考文獻
[1] 呂云翔.UML與Rose建模實用教程[M].北京:人民郵電出版社,2016:21.
[2] 夏麗華.UML建模與應(yīng)用 標準教程(2018—2020版)[M].北京:清華大學出版社,2018:63.
[3] 徐峰.UML面向?qū)ο蠼;A(chǔ)[M].北京:中國水利水電出版社,2006:101.
作者簡介
蘇晶(1981-),女,山東省濱州市人;學歷:碩士研究生,職稱:講師,現(xiàn)就職單位:山東理工大學,研究方向:軟件工程、軟件測試。