摘要:配送管理系統(tǒng)對超市的配送管理工作起著重要的作用。為了提高系統(tǒng)的開發(fā)效率和擴展性,可以采用UML(Unified Modeling Language,統(tǒng)一建模語言)對超市配送管理系統(tǒng)進行可視化建模。在對系統(tǒng)進行需求分析的基礎(chǔ)上,使用Rational Rose 2003作為建模工具對系統(tǒng)建立需求模型、靜態(tài)模型、動態(tài)模型及實現(xiàn)模型。
關(guān)鍵詞:面向?qū)ο蠹夹g(shù);UML;超市配送管理系統(tǒng)
中圖分類號:TP311文獻標(biāo)識碼:A 文章編號:1009-3044(2009)04-0781-03
The Analysis and Design of Management System of Supermarket Dispatching Based on UML
WEI Feng1, LI Hong2
(Management College of Inner Mongolia University of Technology, Huhehaote 010051, China)
Abstract: Dispatching management system is very important to supermarket dispatching management works. In order to strengthen design efficiency and expansibility of system , UML(Unified Modeling Language) is used to build visualization model for management system of supermarket dispatching. Beginning with the requirement analysis, several of models have been built by Rational Rose 2003, including requirement model, static model, action model and implementation model.
Key words: object-oriented technology; UML; management system of supermarket dispatching
1 引言
配送是連鎖超市經(jīng)營的一個關(guān)鍵環(huán)節(jié),它涉及收貨、集貨、分揀、配載、送貨,退還貨,統(tǒng)計等一系列作業(yè)。超市配送管理系統(tǒng)是針對連鎖超市企業(yè)開展配送業(yè)務(wù)的特點,用系統(tǒng)的思想來優(yōu)化配送環(huán)節(jié),實現(xiàn)作業(yè)流程的信息化處理。它對于提高配送作業(yè)效率,增強配送服務(wù)水平、降低成本具有舉足輕重的作用。本文建立的超市配送管理系統(tǒng),整體上按照面向?qū)ο蠹夹g(shù)的思想和方法進行分析和設(shè)計,利用UML進行系統(tǒng)建模,使用Rational Rose 2003作為系統(tǒng)建模工具,Java作為程序設(shè)計語言,SQL Server 2005 作為系統(tǒng)的數(shù)據(jù)庫。
2 UML概述
UML(Unified Modeling Language,統(tǒng)一建模語言)是一個通用的可視化建模語言,用于對軟件進行描述、可視化處理、構(gòu)造和建立軟件系統(tǒng)制品的文檔。這種建模語言的最大用途是利用圖形來描述真實世界各個對象的符號表示,讓所有系統(tǒng)設(shè)計者在構(gòu)建系統(tǒng)時從系統(tǒng)流程分析、系統(tǒng)需求、對象模型化定義到對象設(shè)計的整個過程完全標(biāo)準(zhǔn)化。UML 并沒有定義一種標(biāo)準(zhǔn)的開發(fā)過程,它適用于迭代式的面向?qū)ο蟮拈_發(fā)方法。面向?qū)ο蠹夹g(shù)即面向?qū)ο筌浖_發(fā)方法已發(fā)展成為一種成熟的、有效的軟件開發(fā)方法。它克服了一些結(jié)構(gòu)化方法設(shè)計的軟件重用性差,可維護性差等缺陷。其基本出發(fā)點就是盡可能按照人類認(rèn)識世界的方法和思維方式來分析和解決問題。面向?qū)ο蠹夹g(shù)支持三種基本的活動:識別對象和類、描述對象和類之間的關(guān)系,以及通過描述每個類的功能定義對象的行為。UML對面向?qū)ο蟮能浖O(shè)計方法提供全面的支持,為系統(tǒng)建立不同類型不同階段的模型和相應(yīng)的文檔。UML可以由下列5類圖來定義,第1類,用例圖(Use Case diagram),從用戶角度描述系統(tǒng)功能,并指出各功能的操作者。第2類,靜態(tài)圖(Static diagram),包括類圖、對象圖和包圖。第3類,行為圖(Behavior diagram),描述系統(tǒng)的動態(tài)模型和組成對象間的交互關(guān)系,包括狀態(tài)圖和活動圖。第4類,交互圖(Interactive diagram),描述對象間的交互關(guān)系,包括順序圖和合作圖。第5類,實現(xiàn)圖(Implementation diagram),包括組件圖和配置圖。以上五類UML圖從不同的角度在不同的設(shè)計階段對系統(tǒng)進行建模,UML作為一種模型語言,它使開發(fā)人員專注于建立產(chǎn)品的模型和結(jié)構(gòu),而不必考慮選用什么程序語言和算法實現(xiàn)等的細(xì)節(jié)問題。當(dāng)模型建立之后,模型可以被UML工具轉(zhuǎn)化成指定的面向?qū)ο蟮某绦蛘Z言?,F(xiàn)在比較流行的UML工具有IBM的Rational Rose和MS的Visio 等。Rational Rose的早期版本支持Booch方法和OMT方法。從1996年的版本4.0起新增對UML方法的支持。Rational Rose2003企業(yè)版全面支持UML的8種模型圖,即用例圖、類圖、順序圖、合作圖、狀態(tài)圖、活動圖、組件圖和部署圖。
3 系統(tǒng)需求分析
超市配送管理系統(tǒng)是否能夠為企業(yè)帶來理想的回報,關(guān)鍵在于系統(tǒng)能否滿足用戶的需求,所以對系統(tǒng)進行需求分析是系統(tǒng)開發(fā)的第一步也是關(guān)鍵的一步。在UML中常常使用系統(tǒng)用例圖來對系統(tǒng)進行需求分析。用例圖描述了用戶希望如何方便快捷地使用一款軟件應(yīng)用系統(tǒng)。用例圖顯示誰將是相關(guān)的使用者,使用者希望軟件系統(tǒng)提供什么服務(wù)以及使用者需要為系統(tǒng)提供的操作或服務(wù),這樣軟件系統(tǒng)使用者會更容易理解這些元素的用途,同時方便開發(fā)人員與系統(tǒng)使用者交流,更便于程序開發(fā)人員最終實現(xiàn)這些元素。
超市配送管理系統(tǒng)的功能主要有:信息處理,事故處理,預(yù)測,計劃,控制,輔助決策和決策優(yōu)化。為了實現(xiàn)這些功能,需要對系統(tǒng)的需求進行認(rèn)真分析。經(jīng)過對連鎖超市配送流程的仔細(xì)分析確定了超市配送管理系統(tǒng)的用例圖,該系統(tǒng)的角色有:系統(tǒng)管理員,配送中心主管,倉庫管理員,配送管理員,分揀理貨員,財務(wù)人員,貨車司機。主要的用例有:用戶管理,設(shè)備管理,供應(yīng)商管理,商品管理,訂單管理,入庫管理,庫存管理,配送出庫管理,統(tǒng)計分析管理,退還貨管理,財務(wù)管理,系統(tǒng)維護。系統(tǒng)用例圖如圖1所示,從圖中可以看出系統(tǒng)的主要用例以及用例與系統(tǒng)主要用戶之間的關(guān)系。每個用例都是根據(jù)功能來命名的,例如:用戶管理的主要功能是對系統(tǒng)用戶的信息和操作權(quán)限進行管理。這個系統(tǒng)的用例圖中的每一個用例還可以繼續(xù)的細(xì)分,直到細(xì)分到比較簡單的用例為止。下面就以配送出庫管理模塊為例說明UML建模的步驟。配送出庫管理模塊的功能是對各個分店的商品配送工作進行信息化管理,配送出庫管理模塊的用例圖,如圖2所示。
在圖2中配送出庫管理模塊的用例有分揀管理,出庫管理,配送管理。涉及的用戶有分揀理貨員,倉庫管理員,配送管理員,貨車司機,配送中心主管。分揀理貨員主要負(fù)責(zé)對出庫的商品進行分揀和包裝,倉庫管理員負(fù)責(zé)商品的出庫操作,配送管理員負(fù)責(zé)根據(jù)配送單對商品的配送路線和車輛配載進行管理,貨車司機負(fù)責(zé)具體運輸工作,配送中心主管主要是負(fù)責(zé)總體的監(jiān)督和審核工作,擁有最高的權(quán)限,對整個過程起到領(lǐng)導(dǎo)監(jiān)督的作用。其他模塊的用例圖與配送出庫管理模塊的用例圖類似。
4 系統(tǒng)建模
4.1 系統(tǒng)靜態(tài)建模
靜態(tài)圖反映了系統(tǒng)的靜態(tài)結(jié)構(gòu),主要包括類圖、對象圖和包圖。其中,類圖描述系統(tǒng)中類的靜態(tài)結(jié)構(gòu)。不僅了定義系統(tǒng)中的類,還表示類之間的聯(lián)系(如關(guān)聯(lián)、依賴、聚合等),也包括類的內(nèi)部結(jié)構(gòu)(類的屬性和操作)。類圖描述的是一種靜態(tài)關(guān)系,在系統(tǒng)的整個生命周期都是有效的。對象圖是類圖的實例,幾乎使用與類圖相同的標(biāo)識。它們的不同點在于對象圖顯示類的多個對象實例,而不是實際的類。一個對象圖是類圖的一個實例。由于對象存在生命周期,因此對象圖只能在系統(tǒng)某一時間段存在。本文對配送出庫管理模塊建立了類圖,如圖3所示,在圖3中反映了配送出庫管理模塊所需的類和它們之間的關(guān)系。其中界面類負(fù)責(zé)信息的顯示。控制類負(fù)責(zé)用戶的身份驗證和對實際操作的檢查,其他的類負(fù)責(zé)商品的派遣分揀出庫配送等具體操作的信息化管理。例如:配送管理類的屬性主要有配送單號,出庫單號,商品分類號,商品的重量體積配送時間路線等,配送管理類的操作有添加刪除修改查詢配送單。其他模塊的類圖與配送出庫管理模塊的類圖類似。
4.2 系統(tǒng)動態(tài)建模
靜態(tài)建模是系統(tǒng)的基礎(chǔ)工作,但是系統(tǒng)的大部分活動是動態(tài)的,所以有必要對系統(tǒng)進行動態(tài)建模。UML使用行為圖和交互圖對系統(tǒng)進行建模,其中順序圖是屬于交互圖的一種,顯示對象之間的動態(tài)合作關(guān)系,它強調(diào)對象之間消息發(fā)送的時間和順序,同時顯示對象之間的交互關(guān)系,由于順序圖的特點,使它更容易被大家所理解,本文就采用順序圖對配送出庫管理模塊建立動態(tài)模型,如圖4所示。在圖4中顯示了配送出庫管理模塊的工作流程,以及各個角色與類之間的關(guān)系。縱坐標(biāo)表示時間和順序,橫坐標(biāo)表示系統(tǒng)的角色和類。系統(tǒng)用戶首先登陸系統(tǒng),然后控制類根據(jù)用戶名和密碼對用戶的身份進行驗證,通過驗證就可以繼續(xù)操作,若沒有通過驗證,系統(tǒng)會給出提示信息,要求用戶再次輸入用戶名和密碼。如果經(jīng)過三次還不能通過驗證,系統(tǒng)將會禁止該用戶登錄系統(tǒng)。當(dāng)用戶通過身份驗證后,就根據(jù)各自的職責(zé)進行相應(yīng)的操作。在配送出庫管理模塊中,配送中心主管負(fù)責(zé)對各個活動的審核確認(rèn)工作,在處理一筆業(yè)務(wù)時,配送中心主管確認(rèn)商品派遣單,分揀理貨員根據(jù)商品派遣單,對所需要的商品進行分揀和包裝,并且將相關(guān)的信息記錄單證上,然后商品出庫,再由配送管理員根據(jù)商品的具體情況和當(dāng)前路線和車輛的配載情況,把商品裝車配送到各個分店。在整個的過程中,每一操作都可以在配送出庫管理模塊中完成,特別是在配送過程中,可以自動的為車輛配載和選擇路線。其他模塊的順序圖與配送出庫管理模塊的順序圖類似。
4.3 系統(tǒng)實現(xiàn)建模
系統(tǒng)模型的大部分內(nèi)容反映了系統(tǒng)的邏輯和設(shè)計方面的信息,并且獨立于系統(tǒng)的最終實
現(xiàn)單元。然而,為了系統(tǒng)的可重用性和可操作性,系統(tǒng)實現(xiàn)方面的信息也很重要。在UML中采用實現(xiàn)圖為系統(tǒng)建模,其中,組件圖描述代碼部件的物理結(jié)構(gòu)及各部件之間的依賴關(guān)系。一個部件可能是一個資源代碼部件、一個二進制部件或一個可執(zhí)行部件,它包含邏輯類或?qū)崿F(xiàn)類的有關(guān)信息。配置圖定義系統(tǒng)中軟硬件的物理體系結(jié)構(gòu)。它可以顯示實際的計算機和設(shè)備(用節(jié)點表示)以及它們之間的連接關(guān)系,也可顯示連接的類型及部件之間的依賴性。本系統(tǒng)的組件圖和配置圖如圖5和圖6所示。圖5顯示了系統(tǒng)的主要各個系統(tǒng)元素的相互關(guān)系。圖6顯示了系統(tǒng)的物理布局,整個系統(tǒng)采用了客戶機/服務(wù)器模式,數(shù)據(jù)庫服務(wù)器為整個系統(tǒng)提供數(shù)據(jù)服務(wù)。
5 系統(tǒng)實現(xiàn)
本超市配送管理系統(tǒng)采用J2EE技術(shù)來實現(xiàn)系統(tǒng),Java2平臺有3個版本,J2EE是適用于創(chuàng)建服務(wù)器應(yīng)用程序和服務(wù)的Java 2平臺企業(yè)版(Java 2 Platform Enterprise Edition,J2EE)。J2EE為搭建具有可伸縮性、靈活性、易維護性的商務(wù)系統(tǒng)提供了良好的機制。為了更好的實現(xiàn)系統(tǒng)功能,采用J2EE的四層結(jié)構(gòu)。J2EE四層結(jié)構(gòu)中的四層分別是: 運行在客戶端機器上的客戶層組件,可以處理比標(biāo)記語言更豐富的用戶界面任務(wù)。運行在J2EE服務(wù)器上的WEB層組件,可以是Servlet也可以是JSP頁面。運行在J2EE服務(wù)器上的業(yè)務(wù)邏輯層組件,表示與特定商業(yè)領(lǐng)域相適應(yīng)的邏輯,它可以由Enterprise Bean來處理。運行在EIS服務(wù)器上的企業(yè)信息系統(tǒng)軟件包括主機事務(wù)處理、數(shù)據(jù)庫系統(tǒng)等這樣的底層系統(tǒng)。本超市配送管理系統(tǒng)采用SQL Server 2005作為后臺數(shù)據(jù)庫,SQL Server 2005適用于大規(guī)模聯(lián)機事務(wù)處理(OLTP)、數(shù)據(jù)倉庫和電子商務(wù)應(yīng)用的數(shù)據(jù)庫和數(shù)據(jù)分析平臺,擴展了SQL Server 2000的性能、可靠性、可用性、可編程性和易用性,并且新增了Service Broker和Notification Services功能 。
6 結(jié)束語
本文采用UML建模使系統(tǒng)開發(fā)人員、系統(tǒng)用戶、分析人員、測試人員、管理人員之間均可以從中得到有用的信息,便于各方人員交流。在分析和設(shè)計系統(tǒng)的過程中,充分認(rèn)識到系統(tǒng)建模對于系統(tǒng)的最終實現(xiàn)具有重要的意義,運用合適的系統(tǒng)的分析與設(shè)計工具對于系統(tǒng)的開發(fā)是有很大的幫助作用的。在本文中運用了UML作為系統(tǒng)建模語言,它從不同的方面,采用了不同的視圖,全面地分析出系統(tǒng)的靜態(tài)和動態(tài)結(jié)構(gòu),為系統(tǒng)的實現(xiàn)提供了依據(jù)。
參考文獻:
[1] 盛業(yè)華,張桂英,王平,李榮梅.物流管理信息系統(tǒng)[M].北京:科學(xué)出版社,2008.302-303.
[2] 孫惠民.UML設(shè)計實作寶典[M].北京:中國鐵道出版社m2003.4-5.
[3] 國剛m周峰m孫更新.UML與 Rational Rose 2003軟件工程統(tǒng)一建模原理與實踐教程[M].北京:電子工業(yè)出版社,2007.16-17.
[4] 劉敏鶯.Rational Rose 2003基礎(chǔ)教程[M].北京:冶金工業(yè)出版社,2005.13-15.
[5] 于宗水,趙繼興.配送管理實務(wù)[M].北京:人民交通出版社,2007.229-230.
[6] 歐廣宇.連鎖超市業(yè)態(tài)分析及其配送中心信息系統(tǒng)的建設(shè)[J].商業(yè)現(xiàn)代化,2007,(521):36-37.
[7] 孫更新,周峰,賓晟.白領(lǐng)就業(yè)指南J2EE開發(fā)員成長之路[M].北京:電子工業(yè)出版社,2006.2-4.
[8] 戴志誠.SQL Server 2005 數(shù)據(jù)庫系統(tǒng)開發(fā)與實例[M].北京:電子工業(yè)出版社,2007.5-6.