摘 要:以物流運(yùn)輸管理系統(tǒng)的開發(fā)為背景,探討了UML在物流運(yùn)輸管理系統(tǒng)建模中的應(yīng)用問題。在對系統(tǒng)進(jìn)行分析和設(shè)計的基礎(chǔ)上,采用Rational Rose對系統(tǒng)建立模型。
關(guān)鍵詞: UML;運(yùn)輸業(yè)務(wù)管理;建模;用例
中圖分類號:F270 文獻(xiàn)標(biāo)識碼:A
面向?qū)ο蟮姆治雠c設(shè)計方法的發(fā)展在20世紀(jì)80年代末至90年代中出現(xiàn)了一個高潮,UML就是在此期間逐漸發(fā)展并成熟的。UML是一種定義良好、易于表達(dá)、功能強(qiáng)大且普遍適用的建模語言。UML適用于系統(tǒng)開發(fā)過程中從需求規(guī)格描述到系統(tǒng)完成后測試的不同階段。它提供了九種基本的模型圖,通過對這些圖的綜合運(yùn)用來全面刻畫整個系統(tǒng)的全貌[1]。在需求階段,可以使用用例圖來捕獲用戶需求;在分析階段,可以使用類圖來描述主要關(guān)心的問題域中的主要概念(如抽象、類和對象等)和機(jī)制,以及識別這些類之間的相互關(guān)系;在設(shè)計階段,活動圖是設(shè)計工作的起點(diǎn),為了完成設(shè)計,每個活動必須擴(kuò)展成一個或多個操作,每個操作被指定到類。系統(tǒng)設(shè)計的靜態(tài)方面通過類圖、對象圖來表示,動態(tài)設(shè)計由合作圖、狀態(tài)圖、活動圖來表示;在實(shí)現(xiàn)階段,是實(shí)現(xiàn)系統(tǒng)的整體結(jié)構(gòu),包括構(gòu)件圖和配置圖,它們表示系統(tǒng)實(shí)現(xiàn)的一些特性[2]。最后,是對類進(jìn)行編程的過程,開發(fā)者可以選擇某種面向?qū)ο蟮木幊陶Z言進(jìn)行程序的開發(fā);在測試階段,單元測試使用類圖和類規(guī)格說明,集成測試使用部件圖和合作圖,系統(tǒng)測試使用用例圖來驗(yàn)證系統(tǒng)的行為,驗(yàn)收測試由用戶進(jìn)行,以驗(yàn)證系統(tǒng)測試的結(jié)果是否滿足在分析階段確定的需求。
一、物流運(yùn)輸管理系統(tǒng)建模過程
物流運(yùn)輸管理系統(tǒng)可實(shí)現(xiàn)訂單管理、業(yè)務(wù)管理、倉庫臺帳管理、人車分配、車輛技術(shù)管理、財務(wù)管理、查詢等功能。實(shí)現(xiàn)網(wǎng)上實(shí)時信息查詢、委托,客戶可以憑有效身份透明的查詢貨物狀態(tài),了解整個運(yùn)輸過程、時間進(jìn)度、方便客戶在貨物流轉(zhuǎn)的過程中,更合理的安排生產(chǎn)銷售計劃。并且加強(qiáng)了車輛調(diào)度功能,加快各環(huán)節(jié)的信息交流和協(xié)作,提高部門協(xié)同工作效率,從而提高了企業(yè)整體效率。
該系統(tǒng)主要包括以下幾個模塊:①系統(tǒng)管理:用戶管理、權(quán)限管理、系統(tǒng)設(shè)置等。②基礎(chǔ)資料管理:貨站管理、固定客戶管理、專線管理、國道管理、車輛管理、司機(jī)管理、裝卸公司管理。③貨運(yùn)業(yè)務(wù)管理:業(yè)務(wù)受理、承運(yùn)單管理、運(yùn)輸計劃、派車單、裝卸作業(yè)指示單、裝車完成報告、運(yùn)輸事故管理、定單跟蹤。④費(fèi)用管理:運(yùn)輸合同管理、運(yùn)輸定價管理、客戶收費(fèi)總賬、司機(jī)費(fèi)用支出、裝卸費(fèi)用支出、收款登記、付款登記等。⑤查詢統(tǒng)計:貨站貨物統(tǒng)計表、滯發(fā)貨物統(tǒng)計表、司機(jī)運(yùn)輸質(zhì)量考核表、月(季,年)運(yùn)輸事故統(tǒng)計表、發(fā)貨量統(tǒng)計表、運(yùn)輸收入統(tǒng)計表、司機(jī)費(fèi)用支出統(tǒng)計表、裝卸費(fèi)用支出統(tǒng)計表、收支分析表、客戶欠費(fèi)一覽表等。
1. 需求分析
首先對系統(tǒng)進(jìn)行需求分析,確定角色和用例,建立系統(tǒng)的用例圖。運(yùn)輸管理系統(tǒng)的需求分析大致說明如下:系統(tǒng)管理員管理系統(tǒng)的用戶及權(quán)限;系統(tǒng)操作員維護(hù)基礎(chǔ)數(shù)據(jù)庫如車輛、客戶、貨物等信息,同時維護(hù)運(yùn)輸業(yè)務(wù)中的配車計劃、發(fā)送單和報表;財務(wù)人員維護(hù)費(fèi)用及結(jié)算信息等;企業(yè)管理者進(jìn)行業(yè)務(wù)的受理;一般員工查詢各類信息;時鐘主要是由于時間到達(dá),所要求引起的決策響應(yīng)。如:定期催交一些費(fèi)用等。系統(tǒng)的角色可分為:系統(tǒng)管理員、系統(tǒng)操作員、企業(yè)管理者、財務(wù)人員、一般員工和時鐘。由此建立系統(tǒng)的用例圖。如圖1所示。
2. 系統(tǒng)分析
一個系統(tǒng)可以看成是一些不同類型的對象組成的,對象類之間的各種關(guān)系反映了系統(tǒng)內(nèi)部各種成分之間的靜態(tài)結(jié)構(gòu)。系統(tǒng)分析階段主要考慮系統(tǒng)所要實(shí)現(xiàn)的功能,用UML的類圖對系統(tǒng)的特征進(jìn)行描述,主要描述系統(tǒng)中各種類之間的靜態(tài)結(jié)構(gòu)和所有類之間的聯(lián)系以及類的屬性和行為[1]。運(yùn)輸管理系統(tǒng)功能模塊較多,就以業(yè)務(wù)管理子系統(tǒng)的部分簡化實(shí)體類圖為例說明。如圖2所示,圖中費(fèi)用單類是單車、運(yùn)輸二種費(fèi)用單類的父類,結(jié)算單類是公路結(jié)算單類的父類。每種單據(jù)包含一條以上明細(xì),其中發(fā)送單明細(xì)由貨物明細(xì)和車輛明細(xì)組成,費(fèi)用單明細(xì)由收入明細(xì)和支出明細(xì)組成,每種結(jié)算單也由一條以上明細(xì)組成。單據(jù)明細(xì)類是所有單據(jù)明細(xì)的父類。帶空心三角箭頭的實(shí)箭線表示泛化關(guān)系,帶空心小菱形箭頭的實(shí)箭線表示包含關(guān)系。圖中隱藏了類的屬性和操作[3]。
另外,車輛管理和司機(jī)管理中的類圖存在著關(guān)聯(lián)類,比較復(fù)雜一些:車隊(duì)與司機(jī)之間存在“聘用”聯(lián)系,每個車隊(duì)可聘用若干司機(jī),但每個司機(jī)只能應(yīng)聘于一個車隊(duì),車隊(duì)聘用司機(jī)有個聘期;車隊(duì)與車輛之間存在“擁有”聯(lián)系,每個車隊(duì)可擁有若干車輛,但每輛車只能屬于一個車隊(duì);司機(jī)與車輛之間存在著“使用”聯(lián)系,司機(jī)使用車輛有使用日期和公里數(shù)兩個屬性,每個司機(jī)可使用多輛汽車,每輛汽車可被多個司機(jī)使用。如圖所示描述其中的類關(guān)系。
3. 系統(tǒng)設(shè)計
需求分析和領(lǐng)域分析進(jìn)行完之后,就進(jìn)入設(shè)計階段。在設(shè)計階段通過順序圖和合作圖來表達(dá)系統(tǒng)的動態(tài)特征,即需建立系統(tǒng)的行為模型[2]。順序圖從時間的角度描述對象之間的交互。合作圖描述對象之間的交互,其中不同的是合作圖側(cè)重點(diǎn)是事件,這意味著合作圖側(cè)重于對象之間的交互而不太顧及時間因素。圖4是填寫發(fā)送單的合作圖。首先,操作員登錄系統(tǒng),輸入用戶名和密碼經(jīng)驗(yàn)證身份后進(jìn)入業(yè)務(wù)管理,之后就可打開國內(nèi)發(fā)送單編輯窗口,開始填寫國內(nèi)發(fā)送單貨物明細(xì),選擇運(yùn)輸對象如貨運(yùn)地運(yùn)站、目的地、承運(yùn)方等基礎(chǔ)數(shù)據(jù)庫信息。發(fā)送單貨物明細(xì)把貨物信息傳遞給配車計劃單,計劃單根據(jù)收到的信息配車并把車輛信息發(fā)送給發(fā)送單車輛明細(xì),再由發(fā)送單把運(yùn)輸信息發(fā)送給費(fèi)用單,在核算后費(fèi)用單把運(yùn)輸費(fèi)用傳送給結(jié)算單,結(jié)算單據(jù)此和客戶結(jié)算費(fèi)用,在完成之后關(guān)閉發(fā)送單編緝窗口。圖中主要業(yè)務(wù)對象的流程如下:
4. 實(shí)現(xiàn)
系統(tǒng)的實(shí)現(xiàn)圖包括構(gòu)件圖和配置圖。其中,構(gòu)件圖表示代碼本身的邏輯結(jié)構(gòu)。配置圖表示系統(tǒng)運(yùn)行時刻的結(jié)構(gòu)。和拓?fù)鋱D相比,配置圖顯示的視圖缺少了對底層網(wǎng)絡(luò)或節(jié)點(diǎn)的物理結(jié)構(gòu)的描述,無法精確地表現(xiàn)出物理的連接方式的拓?fù)浣Y(jié)構(gòu),但利用配置圖,可以從更抽象的系統(tǒng)設(shè)計角度上,考察每一個軟件模塊、每一個軟件的可執(zhí)行體在物理節(jié)點(diǎn)之間的通信方式[2]。物流運(yùn)輸管理系統(tǒng)采用瀏覽器/服務(wù)器構(gòu)架,節(jié)點(diǎn)之間采用的通信協(xié)議都是TCP/IP協(xié)議[3]。最后,編程人員可以根據(jù)以上各階段設(shè)計的模型,利用面向?qū)ο蟮某绦蛟O(shè)計語言,實(shí)現(xiàn)系統(tǒng)的功能。可以考慮使用Java 語言實(shí)現(xiàn)該系統(tǒng),Java 很容易實(shí)現(xiàn)從邏輯視圖到代碼部件的映射,因?yàn)镴ava 代碼文件之間是一一映射關(guān)系。
5. 測試
編碼結(jié)束后,UML 的使用還沒有停止。例如,可以檢驗(yàn)用例能否在已完成的應(yīng)用程序中得到很好的支持。
二、結(jié)論
UML 是一種優(yōu)秀的面向?qū)ο蟮慕UZ言,適合于開發(fā)過程的各個階段。文中采用UML對物流運(yùn)輸管理系統(tǒng)進(jìn)行建模,建立了系統(tǒng)的動、靜態(tài)模型,有助于開發(fā)人員對系統(tǒng)有清晰的認(rèn)識,從而提高了開發(fā)效率和質(zhì)量。
作者單位:廣東輕工職業(yè)技術(shù)學(xué)院
參考文獻(xiàn):
[1] Ivar Jacobos