基于UML的校園一卡通管理系統(tǒng)的分析與設(shè)計(jì)
文章出處:http://m.luckydriving.com 作者:蘇州大學(xué) 段培同 徐州師范大學(xué) 王宜懷 人氣: 發(fā)表時(shí)間:2011年11月11日
面向?qū)ο蟪绦蛟O(shè)計(jì)提出了一種新的系統(tǒng)設(shè)計(jì)模型,它將系統(tǒng)看成通過交互作用來完成任務(wù)的對(duì)象的集合,每個(gè)對(duì)象用自己的方法管理數(shù)據(jù)。本文將結(jié)合"一卡通"管理系統(tǒng)的分析與設(shè)計(jì)過程來闡述面向?qū)ο蠓椒▽W(xué)的思想以及統(tǒng)一建模語言UML 中的具體應(yīng)用。
1 統(tǒng)一建模語言(UML)概述
統(tǒng)一建模語言(Unified Modeling Language , UML) 是一個(gè)通用的面向?qū)ο蟮目梢暬UZ言,它主要是用于對(duì)軟件進(jìn)行描述、可視化處理、構(gòu)造和建立軟件系統(tǒng)制品的文檔。它造用于對(duì)任何具有靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為的系統(tǒng)進(jìn)行面向?qū)ο蟮慕?。其中靜態(tài)結(jié)構(gòu)定義了系統(tǒng)中的重要對(duì)象的屬性和操作以及這些對(duì)象之間的相互關(guān)系,而動(dòng)態(tài)行為定義了對(duì)象的時(shí)間特性和對(duì)象為完成目標(biāo)而相互進(jìn)行通信的機(jī)制。標(biāo)準(zhǔn)建模語言UML 的主要內(nèi)容也可以歸納為靜態(tài)建模機(jī)制和動(dòng)態(tài)建模機(jī)制兩大類[1 。2] 從應(yīng)用的角度看,當(dāng)采用面向?qū)ο蠹夹g(shù)設(shè)計(jì)系統(tǒng)時(shí),首先是描述需求,其次根據(jù)需求建立系統(tǒng)的靜態(tài)模型,以構(gòu)造系統(tǒng)的結(jié)構(gòu),第三步是描述系統(tǒng)的行為。其中在第一步與第二步中所建立的模型都是靜態(tài)的,包括用例圖、類圖〈包含包〉、對(duì)象圖、組件圖和配置圖等五個(gè)圖形,是標(biāo)準(zhǔn)建模語言UML 的靜態(tài)建模機(jī)制。其中第三步中所建立的模型或者可以執(zhí)行,或者表示執(zhí)行時(shí)的時(shí)序狀態(tài)或交互系,它包括狀態(tài)圖、活動(dòng)圖、順序圖和合作圖等四個(gè)圖形。
2 "校園一卡通"管理系統(tǒng)的面向?qū)ο蠓治龊蚒ML 建模
2.1 系統(tǒng)概述
"校園一卡通"系統(tǒng)就采用現(xiàn)代信息識(shí)別技術(shù)(如感應(yīng)式智能卡式讀寫技術(shù)〉和自動(dòng)控制技術(shù)的計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)。每個(gè)消費(fèi)者都有一張儲(chǔ)值卡,在管理中心注冊(cè)繳費(fèi),卡內(nèi)記載著消費(fèi)者的身份、賬戶金額。管理中心計(jì)算機(jī)上也有相同記錄。消費(fèi)時(shí),消費(fèi)者將儲(chǔ)值卡插入窗口機(jī),窗口機(jī)自動(dòng)顯示卡上金額(如遇空卡、偽卡、掛失卡則自動(dòng)報(bào)警)。服務(wù)員按窗口機(jī)上數(shù)字鍵,窗口機(jī)自動(dòng)計(jì)算并顯示消費(fèi)額及余額(如遇超支則報(bào)警)。管理中心可隨時(shí)監(jiān)視每一筆消費(fèi)。管理中心的計(jì)算機(jī)可以打印出消費(fèi)情況的各種相關(guān)統(tǒng)計(jì)數(shù)據(jù),如食堂的每個(gè)窗口的就餐人次,銷售額等。
2.2 校園一卡通系統(tǒng)靜態(tài)建模
2.2.1 建立用例視圖。本系統(tǒng)主要由三個(gè)二元關(guān)聯(lián)類的事項(xiàng)組成,即消費(fèi)者與系統(tǒng)服務(wù)器之間的卡的管理事項(xiàng),儲(chǔ)值卡與收款機(jī)之間的消費(fèi)事項(xiàng),以及系統(tǒng)服務(wù)器與服務(wù)員的結(jié)算事項(xiàng)。整個(gè)系統(tǒng)參與者是消費(fèi)者、管理員和服務(wù)員。用例視圖如圖1 所示。
2.2.2 發(fā)現(xiàn)對(duì)象,找出對(duì)象類,描述類的屬性與服務(wù),建立類圖。對(duì)這個(gè)系統(tǒng)而言,在系統(tǒng)邊界以外與系統(tǒng)進(jìn)行交互的活動(dòng)者是管理員、服務(wù)員和消費(fèi)者,考慮系統(tǒng)問題域和系統(tǒng)責(zé)任可以發(fā)現(xiàn)下述對(duì)象z:收款機(jī)(POS) :該對(duì)象直接與系統(tǒng)聯(lián)系,模擬服務(wù)員的登錄系統(tǒng)、收款等行為。系統(tǒng)服務(wù)器(Sys) :此類對(duì)象直接與系統(tǒng)進(jìn)行交互,與消費(fèi)者、服務(wù)組進(jìn)行業(yè)務(wù)聯(lián)系,該類對(duì)象直接操作系統(tǒng)主程序。儲(chǔ)值卡(Card) :代表消費(fèi)者與系統(tǒng)和收款機(jī)進(jìn)行交互,模擬消費(fèi)者進(jìn)行充值、消費(fèi)等活動(dòng)。消費(fèi)事項(xiàng)(XF): 消費(fèi)者在某服務(wù)窗口進(jìn)行一組消費(fèi),通過服務(wù)員連續(xù)操作POS 完成收款活動(dòng),就稱為一次消費(fèi)事件。經(jīng)營結(jié)算事項(xiàng)(JY) :對(duì)每一個(gè)服務(wù)組所有消費(fèi)事件的數(shù)據(jù)按日志進(jìn)行匯總,從而實(shí)現(xiàn)服務(wù)中心與服務(wù)組的結(jié)算。卡的管理事項(xiàng)(Card Manager): 此類事件主要是管理卡的注冊(cè)、發(fā)放、充值、掛失、注銷工作。消費(fèi)日志(Daily Log): 為提供消費(fèi)清單查詢和經(jīng)營結(jié)算等行為進(jìn)行實(shí)時(shí)監(jiān)控提供詳細(xì)的記錄,需要系統(tǒng)有實(shí)時(shí)日志。考慮到未來經(jīng)營窗口的變更,比如窗口收款機(jī)的進(jìn)一步擴(kuò)充,并以關(guān)聯(lián)類和集合管理器為核心設(shè)計(jì)樣式。它將來有不同的"經(jīng)紀(jì)" (Agent) 是一個(gè)抽象類,包括新入網(wǎng)(net) 收款機(jī)(POS) 等。根據(jù)以上描述,可以發(fā)現(xiàn)該系統(tǒng)中有七個(gè)類,類的屬性及服務(wù)見表1。系統(tǒng)中,系統(tǒng)服務(wù)器處于主動(dòng)位置,它管理相關(guān)的事項(xiàng)和其它類,其中卡與卡的管理構(gòu)成一個(gè)整體一部分結(jié)構(gòu),這里沒有一般和特殊結(jié)構(gòu),這個(gè)系統(tǒng)中沒有實(shí)例連接關(guān)系。以上完成了"校園一卡通"系統(tǒng)的靜態(tài)模型分析,下面對(duì)它進(jìn)行動(dòng)態(tài)分析。
2.3 動(dòng)態(tài)分析
2.3.1 順序圖。以事項(xiàng)為分析對(duì)象,考慮每個(gè)事項(xiàng)的個(gè)案詳細(xì)情況。用序列圖對(duì)消費(fèi)事項(xiàng)個(gè)案進(jìn)行更為詳細(xì)的描述,詳見順序圖2。
2.3.2 狀態(tài)機(jī)視圖。狀態(tài)機(jī)視圖是一個(gè)類對(duì)象所可能經(jīng)歷的所有歷程的模型。每個(gè)狀態(tài)對(duì)一個(gè)對(duì)象在其生命期中滿足某種條件的一個(gè)時(shí)間段建模。當(dāng)一個(gè)事件發(fā)生時(shí),它會(huì)觸發(fā)狀態(tài)間的轉(zhuǎn)換,導(dǎo)致對(duì)象從一種狀態(tài)轉(zhuǎn)化到另一新的。本系統(tǒng)中類的狀態(tài)轉(zhuǎn)換較為容易,這里僅給出卡的管理事項(xiàng)中的卡掛失的狀態(tài)圖,如圖3 所示。
2.3.3 活動(dòng)視圖?;顒?dòng)圖是狀態(tài)機(jī)的一個(gè)變體,用來描述執(zhí)行算法的工作流程中涉及的活動(dòng)?;顒?dòng)狀態(tài)代表了一個(gè)活動(dòng):一個(gè)工作流步驟或一個(gè)操作的執(zhí)行。活動(dòng)視圖描述了一組順序的或并發(fā)的活動(dòng)?;顒?dòng)視圖用活動(dòng)圖來體現(xiàn)。本系統(tǒng)的卡的管理活動(dòng)圖,如圖4 所示。
2.3.4 物理視圖。實(shí)現(xiàn)視圖為系統(tǒng)的構(gòu)件建模一構(gòu)件即構(gòu)造應(yīng)用的軟件單元-還包括各構(gòu)件間的依賴關(guān)系,以便通過這些依賴關(guān)系來估計(jì)對(duì)系統(tǒng)構(gòu)件的修改給系統(tǒng)可能帶來的影響。本系統(tǒng)的物理視圖可用下列構(gòu)件圖圖5 表示。
2.3.5 部署視圖。描述位于節(jié)點(diǎn)實(shí)例上的運(yùn)行構(gòu)件實(shí)例的安排。節(jié)點(diǎn)是一組運(yùn)行資源,如計(jì)算機(jī)、設(shè)備或存儲(chǔ)器等,部署視圖用部署圖來表達(dá)。圖6 表示了系統(tǒng)中的各構(gòu)件和每個(gè)節(jié)點(diǎn)包含的構(gòu)件。
3 結(jié)束語
統(tǒng)一建模語言UML的出現(xiàn)為信息系統(tǒng)建模與設(shè)計(jì)提供了有力工具。利用基于UML的可視化的建模軟件工具,我們可以按照RUP 的要求方便的管理項(xiàng)目需求、使用基于組件的框架、驗(yàn)證軟件質(zhì)量、控制版本更新,從而實(shí)現(xiàn)整個(gè)軟件系統(tǒng)的面向?qū)ο蟮姆治?、設(shè)計(jì)與迭代開發(fā)。這一技術(shù)的深入普及與應(yīng)用必將對(duì)我國軟件產(chǎn)業(yè)的發(fā)展產(chǎn)生非常積極的推動(dòng)作用,