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