陸麗婷 (無錫城市職業技術學院電子信息工程系,江蘇 無錫214153)
隨著網絡的不斷發展,網絡購物已經日漸成為消費者的一種生活習慣,網上購物商店也就是在網絡上建立一個虛擬的購物商店,結合網絡技術和傳統實體商店的優點,減少流通環節,降低交易成本,打破時空和地域的限制,使用UML對網上購物商店進行建模分析,將不斷變換的需求映射到模型中,能大大提高系統的擴展性和開發效率。
統一建模語言 (Unified Modeling Language,UML)是一種在面向對象建模方法的基礎上發展的通用可視化建模語言,被廣泛地運用于各種不同的領域,借助于UML可以幫助軟件工程開發人員更好的理解業務流程,建立更可靠、更完善的系統模型,從而方便對各種軟件工程進行正確的描述和交流[1]。UML用來描述系統的靜態結構和動態行為,靜態結構描述了系統中主要對象的屬性和方法,以及這些對象之間的相互關系。動態行為描述了系統中重要對象的時間特性和對象間為完成某個目標而相互進行通信的機制[2-3]。
根據網上購物商店的日常經營和管理,該系統的用戶主要分為3種:一種是網上商店的普通用戶,一種是網上商店的注冊會員用戶,還有一種是網上商店的管理員。三者的身份不同,權限不同,所以,具體的功能需求也不同。對于普通用戶來說,可以瀏覽網上商店的各種內容,搜索商品信息并且可以申請成為注冊會員。對于注冊會員來說,除了具備普通用戶的所有功能,還擁有以下功能:①在登錄頁面中輸入注冊的用戶帳號和密碼,通過身份驗證進入到網上商店;②可以瀏覽網上商店中的各種商品的詳細信息和內容;③可以對選擇的商品進行購買,同時可以修改購買的數量,也可以進行清除購買的操作;④當提交購買信息后,用戶能夠查看購買的信息情況;⑤能夠對網上商店中的所有商品進行快速查詢;⑥能夠對自己的會員信息進行修改和注銷。對于網站管理員而言,也分為系統管理員和普通管理員2類,他們的權限和功能也各不相同。系統管理員主要負責系統的數據管理和維護工作,以及對整個系統的普通管理員資料信息和權限進行管理。對普通管理員而言,他的功能范圍包括:①對會員資料信息進行管理,可查看用戶的基本信息和刪除該用戶的信息;②對商品信息進行管理,包括對商品的添加、修改、刪除和查詢操作;③對商品訂單信息進行管理,包括查看訂單和修改當前訂單的狀態。圖1是網上購物商店總體結構圖。
類圖用于對系統中的各種概念進行建模,描述了系統的靜態結構,而系統的靜態結構構成了系統的概念基礎,在UML中,類定義了一組具有狀態和行為的對象,它被表述成為具有相同結構、行為和關系的一組對象的描述符號,所用的屬性與操作都被定義在類中。
網上購物商店中至少有5個實體類:顧客類、訂單類、商品類、記錄類、管理員類。一個顧客可以處理多個訂單,一個管理員也可以處理多個訂單,一個訂單中包括了多個商品,一條歷史記錄中也包括了多個商品,一個顧客只能對應一條歷史記錄,如圖2所示。

圖1 網上購物商店總體結構圖

圖2 各類之間的關系
用例圖對于軟件開發具有重要意義,在軟件開發時,無論采用面向對象方法還是傳統方法,首先要做到的就是了解需求,即用戶的業務需要,在UML中,用例模型是由用例圖描述的,用例圖是由參與者、用例以及它們之間的關系構成的用于描述系統功能的動態視圖,主要作用是描述參與者和用例之間的關系。圖3僅給出顧客用例圖的創建過程,顧客可以通過本系統進行如下活動:①可以進行個人信息維護;②可以進行商品查詢;③可以進行訂購;④可以進行訂單維護,在進行訂單維護時必然會進行訂單狀態查詢,同時可以增加和刪除訂單,但增加和刪除不是每次維護訂單時都會發生的。

圖3 系統用戶用例圖
在描述對象之間的交互時,常會用到順序圖和協作圖,順序圖描述了系統中對象間通過消息進行的交互,強調了消息在時間軸上的先后順序。順序圖采用二維的布局結構,其中縱軸表示時間軸,橫軸表示各個獨立的對象,當對象存在時 ,生命線用一條虛線表示。
圖4是顧客在該系統訂購商品時交互的過程:①顧客在登錄界面輸入帳號和密碼登錄系統,登錄模塊會把顧客的帳號保存在系統緩存中并提交給商品查詢模塊;②商品查詢模塊提示顧客輸入查詢條件,顧客按查詢要求輸入查詢條件,商品查詢模塊就會顯示符合查詢條件的商品列表;③顧客看到商品列表后,選擇自己想要的商品的編號提交,這時定購模塊中保存了顧客提交的商品編號;④定購模塊向數據模塊成功提交訂單并顯示定購成功。

圖4 顧客訂購順序圖
活動圖是描述系統或業務的一系列活動構成的控制流,描述了系統從一種活動轉換到另一種活動的整個過程。活動圖中使用泳道來表示各個活動的執行者,通過泳道可以很清楚地知道每個不同的活動分別由誰負責的,通過不同泳道中活動的交叉連接,可以知道誰要和誰進行交互。
圖5是顧客購買商品的活動圖,過程描述如下:①顧客登錄系統后進行商品查詢;②顧客成功購買商品后提交訂單,然后顧客就等待管理員處理訂單,此時顧客能做的就只有對訂單的狀態進行查詢;③管理員收到顧客提交的訂單后進行處理,如果該商品有貨就接收訂單并發貨,如果該商品缺貨就拒絕訂單,處理完訂單后更新訂單狀態;④顧客在查詢訂單狀態中若查詢到訂單已處理,則整個購買商品的活動結束,若查詢到訂單未處理,則繼續等待管理員處理訂單。

圖5 顧客購買商品活動圖
系統的部署圖描繪的是系統節點上運行資源的安排。在網上購物商店系統中,系統包括4種節點:數據庫節點 (負責數據存儲和處理),后臺系統維護節點 (管理員通過該節點進行后臺維護,執行系統管理員允許的所有操作),Web服務器節點 (與數據庫服務器進行交互,進行數據的訪問),Web瀏覽器節點,即客戶端節點,用戶在瀏覽器上進行各種操作,如圖6所示。

圖6 網上購物商店的部署圖
UML是當今較為流行的建模語言,在對網上購物商店的分析和設計中,分別通過靜態模型和動態模型對系統各方面進行了建模分析,通過建模更清楚地展現了系統開發過程的各個階段,這對于系統的開發來講具有積極的意義。
[1]李廷全,丁晨路,周超 .基于UML的醫院信息系統建模 [J].電腦知識與技術:學術交流,2010(1):122-123.
[2]方玉華 .基于UML的教務管理系統分析與設計 [J].計算機時代,2010(5):51-53.
[3]王先國.UML統一建模實用教程 [M].北京:清華大學出版社,2009.