摘要:該文使用統(tǒng)一建模語言UML對(duì)超市會(huì)員管理系統(tǒng)里的會(huì)員卡發(fā)行管理模塊進(jìn)行了需求分析和用例關(guān)系分析,使用Rational Rose 2003 作為建模工具對(duì)模塊建立了需求模型、靜態(tài)模型及實(shí)現(xiàn)模型。采用了基于MVC模式的J2EE技術(shù)對(duì)系統(tǒng)進(jìn)行設(shè)計(jì),采用Struts架構(gòu)來實(shí)現(xiàn)視圖層、業(yè)務(wù)層和控制層的分離。
關(guān)鍵詞:面向?qū)ο蠹夹g(shù);UML;超市會(huì)員管理系統(tǒng);Struts架構(gòu)
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2009)35-9895-02
The Design and Implementation of Supermarket Member Management Based on UML
GUO Meng-meng
(Shandong Yingcai College, Ji'nan 250104, China)
Abstract: UML is used to build visualization model for a module about membership card published management in the supermarket member management system. Several of models have been built by Rational Rose 2003, including requirement model, static model and implementation model, using the MVC model based on J2EE technology. In this architecture, using Struts framework to implement the view layer, business layer and control layer separation.
Key words: object-oriented technology; UML; the supermarket member management system; Struts architecture
隨著我國經(jīng)濟(jì)的快速發(fā)展,市場機(jī)制不斷完善,物質(zhì)資料日益豐富,越來越多的商品從賣方市場轉(zhuǎn)入買方市場,商業(yè)領(lǐng)域的競爭日益激烈。我國加入世貿(mào)組織后,外國的零售巨頭不斷進(jìn)入中國市場,使得這個(gè)領(lǐng)域的競爭更加殘酷。為了應(yīng)對(duì)激烈的市場競爭,各商家推出了各種措施吸引顧客,其中相當(dāng)普遍的方式就是推行會(huì)員制度,推出名目繁多的優(yōu)惠措施。
本文以超市會(huì)員管理系統(tǒng)為例, 探討了利用統(tǒng)一建模語言UML 進(jìn)行面向?qū)ο蟮姆治?、設(shè)計(jì)和實(shí)現(xiàn)等問題。同時(shí)針對(duì)會(huì)員卡發(fā)行管理部分進(jìn)行需求分析,確定系統(tǒng)的組件圖, 建立起系統(tǒng)的體系結(jié)構(gòu), 給出了詳細(xì)的Use Case 描述并據(jù)此創(chuàng)建了分析與設(shè)計(jì)模型。
1 UML 概述
統(tǒng)一建模語言(UML)是一個(gè)通用的可視化建模語言,用于對(duì)軟件進(jìn)行描述、可視化處理、構(gòu)造和建立軟件系統(tǒng)制品的文檔。這種建模語言的最大用途是利用圖形來描述真實(shí)世界各個(gè)對(duì)象的符號(hào)表示,讓所有系統(tǒng)設(shè)計(jì)者在構(gòu)建系統(tǒng)時(shí)從系統(tǒng)流程分析、系統(tǒng)需求、對(duì)象模型化定義到對(duì)象設(shè)計(jì)的整個(gè)過程完全標(biāo)準(zhǔn)化。它記錄了對(duì)必須構(gòu)造的系統(tǒng)的決定和理解,可用于對(duì)系統(tǒng)的理解、設(shè)計(jì)、瀏覽、配置、維護(hù)和信息控制。UML 適用于各種軟件開發(fā)方法、軟件生命周期的各個(gè)階段、各種應(yīng)用領(lǐng)域以及各種開發(fā)工具,是一種總結(jié)了以往建模技術(shù)的經(jīng)驗(yàn)并吸收當(dāng)今優(yōu)秀成果的標(biāo)準(zhǔn)建模方法,包括概念的語義,表示法和說明,提供了靜態(tài)、動(dòng)態(tài)、系統(tǒng)環(huán)境及組織結(jié)構(gòu)的模型。它可被交互的可視化建模工具所支持,這些工具提供了代碼生成器和報(bào)表生成器。UML標(biāo)準(zhǔn)并沒有定義一種標(biāo)準(zhǔn)的開發(fā)過程,但它適用于迭代式的開發(fā)過程。它是為支持大部分現(xiàn)存的面向?qū)ο箝_發(fā)過程而設(shè)計(jì)的。
UML可以由下列5類圖來定義:第1類,用例圖(Use Case diagram),從用戶角度描述系統(tǒng)功能,并指出各功能的操作者。第2類,靜態(tài)圖(Static diagram),包括類圖、對(duì)象圖和包圖。第3類,行為圖(Behavior diagram),描述系統(tǒng)的動(dòng)態(tài)模型和組成對(duì)象間的交互關(guān)系,包括狀態(tài)圖和活動(dòng)圖。第4類,交互圖(Interactive diagram),描述對(duì)象間的交互關(guān)系,包括順序圖和合作圖。第5類,實(shí)現(xiàn)圖(Implementation diagram),包括組件圖和配置圖。以上五類UML圖從不同的角度在不同的設(shè)計(jì)階段對(duì)系統(tǒng)進(jìn)行建模,當(dāng)模型建立之后,模型可以被UML工具轉(zhuǎn)化成指定的面向?qū)ο蟮某绦蛘Z言。目前比較流行的UML工具有IBM的Rational Rose和微軟公司的Visio等。本文中使用IBM公司的Rational Rose2003企業(yè)版來對(duì)系統(tǒng)建模。
2 系統(tǒng)需求分析
在UML 中常常使用系統(tǒng)用例圖來對(duì)系統(tǒng)進(jìn)行需求分析。用例圖顯示誰將是系統(tǒng)的使用者,使用者希望軟件系統(tǒng)提供什么服務(wù)以及使用者需要為系統(tǒng)提供的操作或服務(wù)。
超市會(huì)員管理系統(tǒng)的功能主要有:會(huì)員基本信息管理,會(huì)員政策管理,會(huì)員卡發(fā)行管理,會(huì)員卡日常管理,會(huì)員卡消費(fèi)管理,報(bào)表管理,會(huì)員關(guān)懷管理,接口管理,組織管理,基礎(chǔ)數(shù)據(jù)管理等十個(gè)主要方面。下面以會(huì)員卡發(fā)行管理模塊為例說明UML 建模的步驟。經(jīng)過對(duì)會(huì)員卡發(fā)行管理流程的仔細(xì)分析確定了該模塊的用例圖,該系統(tǒng)的主要角色是用戶,主要的用例有:潛在會(huì)員信息維護(hù),會(huì)員卡注冊(cè),會(huì)員信息修改,會(huì)員卡存款,會(huì)員卡取款與回收,會(huì)員卡的制作,會(huì)員卡補(bǔ)登,會(huì)員卡申領(lǐng)與歸還,會(huì)員卡銷售與退卡,會(huì)員卡開通。用例圖如圖1所示。其他模塊的用例圖與會(huì)員卡發(fā)行管理模塊的用例圖類似。
3 系統(tǒng)建模
1)系統(tǒng)靜態(tài)建模
靜態(tài)圖反映了系統(tǒng)的靜態(tài)結(jié)構(gòu),主要包括類圖、對(duì)象圖和包圖。其中,類圖描述系統(tǒng)中類的靜態(tài)結(jié)構(gòu)。不僅定義系統(tǒng)中的類,還表示類之間的聯(lián)系(如關(guān)聯(lián)、依賴、聚合等),也包括類的內(nèi)部結(jié)構(gòu)(類的屬性和操作)。本文對(duì)會(huì)員卡發(fā)行管理模塊建立了類圖,如圖2所示,在圖2中反映了會(huì)員卡發(fā)行管理模塊所需的類和它們之間的關(guān)系。其他模塊的類圖與會(huì)員卡發(fā)行管理模塊的類圖類似。
2)系統(tǒng)實(shí)現(xiàn)建模
在UML 中采用實(shí)現(xiàn)圖為系統(tǒng)建模,實(shí)現(xiàn)圖主要包括組件圖和配置圖。其中,組件圖描述代碼部件的物理結(jié)構(gòu)及各部件之間的依賴關(guān)系。本系統(tǒng)的組件圖如圖3所示。圖3顯示了系統(tǒng)的主要各個(gè)系統(tǒng)元素的相互關(guān)系。整個(gè)系統(tǒng)包括13個(gè)模塊。各個(gè)模塊構(gòu)成四個(gè)層次。上層模塊依賴于下層模塊的功能和數(shù)據(jù)。
4 系統(tǒng)實(shí)現(xiàn)
由于超市會(huì)員管理系統(tǒng)的多用戶、跨平臺(tái)等特性,系統(tǒng)的實(shí)現(xiàn)是基于J2EE技術(shù)體系的B/S結(jié)構(gòu)WEB應(yīng)用之上,并且使用目前主流的、相對(duì)比較先進(jìn)的、技術(shù)相對(duì)成熟穩(wěn)定的開源Struts實(shí)現(xiàn)表示層MVC架構(gòu)。
MVC是Model-View-Controller(模型-視圖-控制器)的簡寫。Model代表應(yīng)用的業(yè)務(wù)邏輯,View代表應(yīng)用的表示,Controller提供應(yīng)用的處理過程控制。通過這個(gè)設(shè)計(jì)模型,可以把應(yīng)用邏輯、處理過程和顯示邏輯分成不同的組件實(shí)現(xiàn),這些組件可以進(jìn)行交換和重用。
Struts框架是實(shí)現(xiàn)MVC模式的一個(gè)應(yīng)用框架,它由一組相互協(xié)作的組件、Servlet以及JSP TagLib組成。
為了更好的實(shí)現(xiàn)系統(tǒng)功能,采用J2EE 的三層結(jié)構(gòu)。J2EE三層結(jié)構(gòu)中的三層分別是:1) 客戶層:運(yùn)行在用戶的瀏覽器中,處理與用戶的交互。2) 表示邏輯層:也可以叫Web層,從客戶層獲得客戶輸入,傳遞給業(yè)務(wù)邏輯層的組件,再把從業(yè)務(wù)邏輯層獲得的處理結(jié)果以HTML文件的形式輸出到客戶端,形成網(wǎng)頁界面。整個(gè)表示邏輯層建立在Struts框架的基礎(chǔ)上,由JSP程序組成。3) 業(yè)務(wù)邏輯層:處理表示邏輯層傳遞過來的用戶響應(yīng),并將結(jié)果返回給表示邏輯層。分層結(jié)構(gòu)如圖4所示。
本超市配送管理系統(tǒng)采用Oracle 10g作為后臺(tái)數(shù)據(jù)庫,Oracle 10g是J2EE認(rèn)證的、最輕、最快、最具伸縮性的應(yīng)用服務(wù)器,是第一套具有無限可伸縮性與高可用性,并可在集群環(huán)境中運(yùn)行商業(yè)軟件的互聯(lián)網(wǎng)數(shù)據(jù)庫。
5 結(jié)束語
該文中運(yùn)用了UML 作為系統(tǒng)的建模語言,UML建模使系統(tǒng)開發(fā)人員、系統(tǒng)用戶、分析人員、測試人員、管理人員之間均可以從中得到有用的信息,便于各方人員交流。系統(tǒng)的實(shí)現(xiàn)是基于J2EE技術(shù)體系的B/S結(jié)構(gòu)WEB應(yīng)用之上,并且使用目前主流的、相對(duì)比較先進(jìn)的、技術(shù)相對(duì)成熟穩(wěn)定的開源Struts實(shí)現(xiàn)表示層MVC架構(gòu)。
隨后將進(jìn)一步借助于強(qiáng)大的Java開發(fā)工具, 在系統(tǒng)中利用Hibernate架構(gòu)來實(shí)現(xiàn)數(shù)據(jù)持久層。Hibernate是一種實(shí)現(xiàn)對(duì)象和關(guān)系之間映射(Object Relation Mapping)的框架。它對(duì)JDBC進(jìn)行了輕量級(jí)的對(duì)象封裝,使得Java程序員可以使用面向?qū)ο缶幊趟季S來操作關(guān)系數(shù)據(jù)庫。這樣, 把Struts和Hibernate兩種技術(shù)結(jié)合起來, 通過Struts技術(shù)來降低M-V-C各層之間的耦合性,而利用Hibernate架構(gòu)來降低業(yè)務(wù)模型部分的開發(fā)難度。采用這兩種架構(gòu)相結(jié)合的方式開發(fā)出來的系統(tǒng)獲得了更高的靈活性和可維護(hù)性,在效率上和維護(hù)成本上可達(dá)到更好的效果并且更易于改進(jìn)和升級(jí)。
參考文獻(xiàn):
[1] 李思廣,林子禹,胡蜂,等.基于UML的軟件過程建模方法研究[J].計(jì)算機(jī)工程與應(yīng)用,2003(6):76-78.
[2] 孫義敏,帥立國,姜昌金.會(huì)員卡管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].機(jī)械工程與自動(dòng)化,2007(6):110-112.
[3] 劉曉青.UML在POS系統(tǒng)建模中的應(yīng)用[J].電腦知識(shí)與技術(shù),2009,5(32):8933-8934.
[4] 夏聽,Hibernate開發(fā)指南[M].北京:電子工業(yè)出版社,2004.
[5] 劉敏鶯.Rational Rose 2003 基礎(chǔ)教程[M].北京:冶金工業(yè)出版社,2005:13-15.
[6] 游琪,張廣云,桂改花.基于MVC模式的角色訪問控制系統(tǒng)設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2009,5(32):8939-8940.