UML(Unified Modeling Language,統(tǒng)一建模語言)作為對軟件密集系統(tǒng)進行可視化建模的一種語言,是一個統(tǒng)一的、公共的、具有廣泛適用性的建模語言。
pos機(point of sales,銷售點終端)系統(tǒng)是指通過如收銀機等自動讀取設備在商品銷售時直接讀取商品的商品名、價格等銷售信息,并通過計算機系統(tǒng)和通信網(wǎng)絡傳輸至有關部門進行處理分析以提高經(jīng)營效率的系統(tǒng)。商場、超級市場、零售店等購物消費場所通常會使用到這種系統(tǒng)。POS機系統(tǒng)要求有一定的容錯性,若遠程服務暫時中斷,系統(tǒng)必須仍然能夠獲取銷售信息,如現(xiàn)金的處理和支付。隨著電子商務的飛速發(fā)展,POS機在商業(yè)自動化中發(fā)揮著越來越大的作用。近年來,在IT技術支持下,POS機獲得了迅速的發(fā)展。
1 UML建模工具
目前有許多支持UML的工具,比如Rational Rose、Microsoft Visio、Power Designer等。Rational Rose是一個具有能滿足所有建模環(huán)境需求的能力和很大程度的靈活性的一套解決方案。本文的POS機系統(tǒng)的UML建模工具為Rational Rose。在完成系統(tǒng)建模后,在編碼階段,還可以利用Rational Rose工具根據(jù)系統(tǒng)模型生成代碼程序框架。
2 pos機系統(tǒng)建模
UML為建立系統(tǒng)提供了一整套建模機制,使用用例圖、順序圖、通信圖、活動圖和狀態(tài)圖等從不同的角度、不同抽象級別為系統(tǒng)建立模型。
2.1 用例模型
2.1.1 需求分析說明
盡管顧客自助的POS機系統(tǒng)的應用范圍越來廣泛,但是本文考慮的是由收銀員使用的傳統(tǒng)收銀環(huán)境。POS機通過網(wǎng)絡連接數(shù)據(jù)庫服務器,獲取、更新數(shù)據(jù)。收銀員能夠處理商品的銷售和退貨,以及入款出款等。銷售活動系統(tǒng)是一個遠程應用,該應用將從每個POS機節(jié)點處頻繁地請求性能數(shù)據(jù),用于分析銷售數(shù)據(jù)。系統(tǒng)管理員則能夠?qū)OS機的用戶以及安全進行管理。
2.1.2 用例圖
用例圖呈現(xiàn)了一些參與者和一些用例,以及它們之間的關系,是從軟件需求分析到最終實現(xiàn)的第一步。它主要描述系統(tǒng)功能,也就是從外部用戶的角度觀察,系統(tǒng)應該先完成哪些功能,有利于開發(fā)者以一種可視化的方式理解系統(tǒng)的功能需求,同時也可作為開發(fā)者與用戶之間針對系統(tǒng)需求進行溝通的有效手段。根據(jù)需求分析得到系統(tǒng)頂層用例圖。
頂層相關角色和用例活動,概括為系統(tǒng)及其參與者的行為。可以確定系統(tǒng)的六個參與者為收銀員、銷售活動系統(tǒng)、系統(tǒng)管理員、支付授權服務系統(tǒng)、財務系統(tǒng)、人力資源系統(tǒng)。同時也可以確定六個系統(tǒng)的用例,分別為:處理銷售、處理退貨、收款、分析銷售和績效數(shù)據(jù)、管理安全、管理POS用戶。
2.2 靜態(tài)模型
系統(tǒng)的靜態(tài)結構構成了系統(tǒng)的概念基礎,而類圖顯示了系統(tǒng)的靜態(tài)結構。在類圖中,不僅定義了類之間的關系,如關聯(lián)、依賴和聚合等,還定義了類的內(nèi)部結構,如屬性和操作。主要類的實現(xiàn)按照耦合度從低到高的順序。依次是Payment類、CommodityInformation類、Commodity Calatog類、Salelineitem類、Sale類、Register類、Supermarket類。
2.3 動態(tài)模型
系統(tǒng)的動態(tài)模型可改進系統(tǒng)的靜態(tài)結構。為了讓對象協(xié)作完成系統(tǒng)功能,各個類必須定義自己合適的方法。這些方法使對象實體能夠通過消息進行交互。為了確定并發(fā)對象是如何交互以及是如何影響對象的狀態(tài),接下來為POS系統(tǒng)建立動態(tài)結構模型。
系統(tǒng)的動態(tài)模型主要是建立交互視圖和行為視圖。其中交互視圖包括順序圖和通信圖,行為視圖包括活動圖和狀態(tài)圖。
2.3.1 POS系統(tǒng)的順序圖
順序圖的目的在于描述系統(tǒng)中各個對象按照時間順序的交互過程,是對象之間傳送消息的時間順序的可視化表示。順序圖從一定程度上更加詳細地描述了用例表達的需求,能夠?qū)ο到y(tǒng)進行更進一步的精細表達,其以網(wǎng)格格式描述對象交互。收銀員輸入顧客需要購買的商品 ID和數(shù)量時,要請求POS系統(tǒng)記錄對該商品的銷售,也就是需要特定的系統(tǒng)操作來處理intputitem事件。
2.3.2 POS系統(tǒng)的活動圖
活動圖可用來描述動作和動作導致對象狀態(tài)發(fā)生改變的結果,而不用考慮系統(tǒng)引發(fā)狀態(tài)改變的事件,常用于為計算流程和工作流程建模。例如系統(tǒng)管理員管理用戶。系統(tǒng)管理員在登錄驗證成功后,可以選擇查詢、新增POS用戶。查詢成功后可修改用戶信息和刪除用戶,更改后保存信息,這時系統(tǒng)將修改后的信息保存到數(shù)據(jù)庫,而后系統(tǒng)管理員退出。
2.4 實現(xiàn)模型
完成以上的邏輯設計之后,需要進一步描述系統(tǒng)的物理實現(xiàn)和物理運行情況。
構件圖是用來表示系統(tǒng)中構件與構件之間、類或接口與構件之間的關系圖,配置圖則定義系統(tǒng)中軟硬件的物理體系結構。其中配置圖可以顯示實際的計算機和設備(用節(jié)點表示)以及它們之間的連接關系,也可顯示連接的類型及部件之間的依賴性。其中包含了銷售終端機(POS前臺終端)、服務器、數(shù)據(jù)庫服務器和打印機等節(jié)點。銷售終端機通過TCP/IP方式連接,服務器和數(shù)據(jù)庫服務器通過JDBC方式連接。
3 結束語
UML能有效的增強對模型建模價值的普遍認識,由于UML中的構件和概念之間沒有劃分明顯的界限,所以選用視圖來劃分這些概念和構件。在每一種視圖中建模者可使用一種或兩種特定的圖來可視化的表示各種概念。本文以POS機系統(tǒng)為例,通過用例模型、靜態(tài)模型、動態(tài)模型及實現(xiàn)模型搭建系統(tǒng)框架,描繪了系統(tǒng)的大致輪廓,同時也展示了UML開發(fā)POS機系統(tǒng)的方法和步驟。當然模型還需進一步精化,相關的細節(jié)還可以進一步探討。