【摘要】統(tǒng)一建模語言(UML)是面向?qū)ο蠓治龊驮O(shè)計過程中重要的建模工具,適用于軟件生命周期的各個階段。本文以倉儲管理系統(tǒng)為例,采用面向?qū)ο蟮姆椒ǎ榻BUML的建模機(jī)制和UML在倉儲管理系統(tǒng)中應(yīng)用需要的知識;敘述了倉儲管理系統(tǒng)的用例建模、動態(tài)建模的過程,詳細(xì)描述了基于UML 該系統(tǒng)的用例圖、活動圖、順序圖、協(xié)作圖。
【關(guān)鍵詞】UML;建模;用例圖
【中圖號】F715.6【文獻(xiàn)標(biāo)示碼】A【文章編號】1005-1074(2008)10-0236-02
1引言
隨著科學(xué)技術(shù)不斷進(jìn)步和經(jīng)濟(jì)不斷發(fā)展,以及全球化信息網(wǎng)絡(luò)和全球化市場的形成和技術(shù)變革的加速,圍繞新產(chǎn)品的市場競爭也日趨激烈,企業(yè)面臨縮短交貨期、提高產(chǎn)品質(zhì)量、降低成本和改進(jìn)服務(wù)的壓力,這些都要求企業(yè)能對不斷變化的市場做出快速響應(yīng)。作為供應(yīng)鏈節(jié)點中的一個重要環(huán)節(jié),物資管理企業(yè)要實現(xiàn)對物資快速收發(fā),必須建立現(xiàn)代化的倉儲管理系統(tǒng)。UML 是一種用于對軟件密集型系統(tǒng)進(jìn)行可視化、詳述、構(gòu)造和文檔化的建模語言,可以很好地完成倉儲管理系統(tǒng)的分析與設(shè)計。
2UML概述
2.1UML介紹UML是一種編制系統(tǒng)藍(lán)圖的標(biāo)準(zhǔn)化語言,可以實現(xiàn)大型復(fù)雜系統(tǒng)各種成分描述的可視化、說明并構(gòu)造系統(tǒng)模型,以及建立各種所需的文檔,它是一種定義良好、易于表達(dá)、功能強(qiáng)大且普遍適用的建模語言。UML的發(fā)展對軟件工程的發(fā)展做出了杰出的貢獻(xiàn)。UML支持從需求分析開始的軟件開發(fā)的全過程。UML通過三類圖形建立系統(tǒng)模型:用例(User Case)圖、靜態(tài)結(jié)構(gòu)圖(對象類圖、對象圖、組件圖、配置圖)和動態(tài)行為圖(順序圖、協(xié)同圖、狀態(tài)圖、活動圖),這些圖可以從不同的抽象角度實現(xiàn)系統(tǒng)的可視化。UML標(biāo)準(zhǔn)的建立統(tǒng)一了面向?qū)ο蟮慕7椒ǎ藢ο蠼5牟顒e。
2.2UML建模機(jī)制當(dāng)采用面向?qū)ο蠹夹g(shù)分析和設(shè)計系統(tǒng)時,一般包括以下三個步驟:①描述所要開發(fā)系統(tǒng)的需求;②根據(jù)第一步所確定的需求建立系統(tǒng)相應(yīng)的靜態(tài)模型,以構(gòu)造系統(tǒng)的結(jié)構(gòu);③描述系統(tǒng)的行為。如果使用UML來進(jìn)行分析與設(shè)計時,在第一步與第二步中所建立的模型都是靜態(tài)的,包括用例圖、類圖(包含包)、對象圖、組件圖和配置圖等五個圖形,是標(biāo)準(zhǔn)建模語言UML的靜態(tài)建模機(jī)制。在第三步中所建立的模型或者可以執(zhí)行,或者表示執(zhí)行時的時序狀態(tài)或交互關(guān)系。它包括狀態(tài)圖、活動圖、序列圖和協(xié)作圖等四個圖形,是標(biāo)準(zhǔn)建模語言UML的動態(tài)建模機(jī)制。因此,標(biāo)準(zhǔn)建模語言UML的主要內(nèi)容也可以歸納為靜態(tài)建模機(jī)制和動態(tài)建模機(jī)制兩大類。
3基于UML的倉儲管理系統(tǒng)的設(shè)計與應(yīng)用
3.1系統(tǒng)概述倉儲信息系統(tǒng)是一種功能強(qiáng)大而操作簡便、實用的倉儲管理軟件,至少包括用戶登錄、倉儲管理、業(yè)務(wù)查詢和系統(tǒng)設(shè)置4個基本功能模塊。系統(tǒng)通過供應(yīng)商、倉儲及客戶三者之間信息溝通與指令的有效傳遞,將制造商和供應(yīng)商的庫存成本與資金占有率降到最低限度。倉儲存放的貨物品種繁多,堆存方式及處理過程也非常復(fù)雜,隨著業(yè)務(wù)量的增加,倉儲管理者需要處理的信息量會大幅上升,因此很難及時準(zhǔn)確的掌握整個倉儲的運作狀態(tài)。針對這一情況,系統(tǒng)在滿足倉儲基本管理功能的基礎(chǔ)上發(fā)揮信息系統(tǒng)的智能化作用,減輕倉儲管理人員的工作負(fù)擔(dān)。系統(tǒng)主要的實現(xiàn)目標(biāo)是監(jiān)控整個倉儲的運轉(zhuǎn)情況;提供完善的任務(wù)計劃功能;實時監(jiān)控所有貨物的在線情況; 實時提供庫存變化的信息。
3.2需求分析在軟件開發(fā)的初期,開發(fā)人員及用戶往往忽略信息溝通!導(dǎo)致軟件開發(fā)完成后,不能很好的滿足實際的需要,而返工不僅在技術(shù)上給開發(fā)人員帶來巨大的麻煩,還會造成人力、物力的浪費。因此,只有弄清楚客戶的需求,才能真正開發(fā)出
滿足客戶需求的倉庫管理系統(tǒng),才能夠讓整個系統(tǒng)發(fā)揮其相應(yīng)的作用。倉庫是與企業(yè)緊密相關(guān)的一個部分,倉庫提供了入庫、出庫等業(yè)務(wù)。倉庫管理系統(tǒng)一般由用戶登錄、入庫、出庫、原料需求
和顯示表單5個功能模塊組成,但是在實際生產(chǎn)中的倉庫要具有復(fù)雜得多的功能,比如倉庫盤點商品調(diào)撥等。本文重點討論如何在軟件開發(fā)的設(shè)計階段實現(xiàn)系統(tǒng)建模而不是具體的程序設(shè)計,因此描述的只是倉庫的最基本功能。一個功能完善的倉儲信息管理系統(tǒng),必須包括以下的幾個模塊(子系統(tǒng))。
3.2.1用戶登錄由用戶登錄、用戶注銷、退出系統(tǒng)3部分組成。用戶可以普通操作員和經(jīng)理(管理人員)兩種身份登錄本系統(tǒng),不同身份登錄被系統(tǒng)授予不同的使用權(quán)限,從而提高了系統(tǒng)的安全性。用戶在登錄后可以使用注銷方式,不退出本系統(tǒng)。
3.2.2倉儲管理倉儲管理子系統(tǒng)由倉儲進(jìn)貨、倉儲退貨、倉儲領(lǐng)料、倉儲退料、商品調(diào)撥和倉儲盤點6個功能模塊組成,是整個倉儲信息系統(tǒng)的核心,是所有數(shù)據(jù)的來源。用戶通過本系統(tǒng)的使用,可以使倉儲的空間得以優(yōu)化,減少無效和多余的作業(yè),使庫存精度更準(zhǔn)確,庫存周轉(zhuǎn)率提高及庫存資金占用減少。
3.2.3業(yè)務(wù)查詢業(yè)務(wù)查詢子系統(tǒng)由庫存查詢、銷售查詢和倉儲歷史記錄查詢3個功能模塊組成。庫存查詢實時提供庫存變化的信息,應(yīng)不同客戶的要求得到當(dāng)前的庫存信息。銷售查詢提供一個完整的出貨查詢平臺:用戶可以根據(jù)貨物的ID號查詢某個時段里該貨物的銷售情況,該銷售情況可以使企業(yè)的管理人員能夠以最快的速度了解倉儲的出貨情況和與倉儲相配套的商場的銷售情況,方便企業(yè)管理人員根據(jù)不同的情況及時調(diào)整經(jīng)營戰(zhàn)略。倉儲歷史記錄查詢功能模塊把倉儲進(jìn)貨、倉儲退貨、倉儲領(lǐng)料、倉儲退料、商品調(diào)撥和倉儲盤點的全部操作信息都存儲在數(shù)據(jù)庫中,能實時查詢?nèi)我粭l操作記錄。
3.2.3系統(tǒng)設(shè)置系統(tǒng)設(shè)置包括供應(yīng)商設(shè)置和倉儲設(shè)置兩部分。在供應(yīng)商設(shè)置中,用戶可以輸入詳細(xì)的供應(yīng)商信息。在倉儲設(shè)置中,用戶可以將整個倉儲虛擬的分成若干個小倉儲,每個小倉儲存儲不同類型的貨物,即對便倉儲貨物進(jìn)行分類管理,提高了倉儲進(jìn)貨、出貨的效率。
3.3系統(tǒng)用例模型分析倉庫管理系統(tǒng)的業(yè)務(wù)流程和各個參與者之間的相互作用,理解系統(tǒng)要解決的問題,我們可以用User Case模型對這個系統(tǒng)進(jìn)行建模,這種模型稱為用例視圖。用例視圖是被稱為參與者的外部用戶所能觀察到的系統(tǒng)功能的模型圖。其中參與者是系統(tǒng)之外和系統(tǒng)進(jìn)行交互的一類對象,包括倉庫管理員和業(yè)務(wù)員;用例是系統(tǒng)中的一個功能單元,可以被描述為參與者與系統(tǒng)之間的一次交互作用,包括用戶登錄、倉庫入庫、倉庫出庫等。使用UML對倉庫管理系統(tǒng)進(jìn)行基于面向?qū)ο蟮姆治雠c設(shè)計,經(jīng)常需要處理大量的類、接口、組件、節(jié)點和圖,將語義相近并傾向于一起變化的元素組織起來加入同一包,這樣能更好地理解和處理整個倉庫管理模型。在詳細(xì)設(shè)計階段可以對包圖中的所有類、對象從實現(xiàn)角度再進(jìn)一步進(jìn)行細(xì)化,繪制具體的對象類圖、對象圖等。類圖是面向?qū)ο笙到y(tǒng)的建模中最常見的圖。類圖顯示了一組類、接口、協(xié)作以及他們之間的關(guān)系。類圖用于對系統(tǒng)靜態(tài)設(shè)計視圖建模。用例視圖是參與者的外部用戶所能觀測到的系統(tǒng)功能的模型圖。用例是系統(tǒng)中的一個功能單元,可以描述為參與者與系統(tǒng)之間的一次交互作用。用例模型的用途是列出系統(tǒng)中的用例和參與者,并顯示出哪個參與者參與了哪個用例的執(zhí)行。通過分析系統(tǒng),確定參與者和用例如下:參與者:操作員、管理員、供應(yīng)商、商品領(lǐng)料人、商品退料人;用例:倉庫進(jìn)貨、倉庫退貨、倉庫領(lǐng)料、倉庫退料、商品調(diào)撥、倉庫盤點、庫存查詢、業(yè)務(wù)分析、倉庫歷史記錄查詢、供應(yīng)商信息維護(hù)、倉庫信息維護(hù)、用戶登錄、用戶注銷、退出系統(tǒng)。
3.4 系統(tǒng)動態(tài)模型動態(tài)模型描述了系統(tǒng)隨時間變化的行為,這些行為是用從靜態(tài)視圖中抽取的系統(tǒng)的瞬間值的變化來描述的。在UML的表現(xiàn)上,動態(tài)模型主要是建立系統(tǒng)的交互圖和行為圖。交互圖包括時序圖和協(xié)作圖;行為圖則包括狀態(tài)圖和活動圖。時序圖是強(qiáng)調(diào)信息時間順序的交互圖。時序圖顯示特定用例(甚至特定用例的某一部分)的詳細(xì)流程。它們幾乎是自描述的,并且顯示了它們的序列中不同對象之間的調(diào)用關(guān)系。同時可以在很詳細(xì)的級別上顯示對不同對象的不同調(diào)用。活動圖顯示在處理某個活動時,兩個或者更多類對象之間的過程控制流。活動圖可用于在業(yè)務(wù)單元的級別上對更高級別的業(yè)務(wù)過程進(jìn)行建模,或者對低級別的內(nèi)部類操作進(jìn)行建模。為了描述系統(tǒng)隨時間變化的行為特征,可以建立系統(tǒng)的動態(tài)模型。動態(tài)模型主要建立系統(tǒng)的交互圖和行為圖。交互圖包括時序圖和協(xié)作圖;行為圖包括狀態(tài)圖和活動圖。在進(jìn)貨的活動圖設(shè)計中,應(yīng)充分考慮管理員、操作員還有供應(yīng)商三者之間相互的關(guān)系。首先管理員查看銷售記錄判斷商品銷售情況,然后查看商品庫存情況。如果發(fā)現(xiàn)倉庫中商品庫存充足則操作完畢,如果發(fā)現(xiàn)倉庫中某一商品庫存不足,則列出缺貨商品清單,操作員領(lǐng)取清單后立即聯(lián)系相應(yīng)的供應(yīng)商,供應(yīng)商提供相應(yīng)的商品,操作員接收貨物后更新數(shù)據(jù)庫,操作完成。時序圖表示對象之間傳送消息的時間順序。時序圖可以用來進(jìn)行一個場景的說明,即一個事務(wù)的歷史過程。它的用途是用來表示用例中行為的時間順序。當(dāng)執(zhí)行一個用例行為時,時序圖中的每一條消息對應(yīng)一個類操作或狀態(tài)機(jī)中引起轉(zhuǎn)換的觸發(fā)事件。
4結(jié)論
UML是設(shè)計階段的重要工具,通過UML,我們可以發(fā)現(xiàn)所有類、類的所需的屬性與行為和類之間的交互都可以清晰展現(xiàn)在我們面前,通過建模,可以使代碼的編寫思路更加清晰。同時,我們在軟件開發(fā)中應(yīng)更注重對面向?qū)ο筌浖_發(fā)方法的研究,而不是單獨、片面的應(yīng)用UML,這樣才能更正確地應(yīng)用建模技術(shù)。本文通過倉儲管理系統(tǒng)的分析和設(shè)計,介紹了UML 的實際建模過程。在系統(tǒng)開發(fā)過程中,結(jié)合當(dāng)前流行的建模工具Ration Rose 來實現(xiàn)建模,利用上面的建模過程進(jìn)行系統(tǒng)分析,為后面的編碼設(shè)計工作和測試及配置工作奠定了堅實的基礎(chǔ)。
5參考文獻(xiàn)
1Jim Arlow,Ila Neustadt著.方貴賓譯.UML和統(tǒng)一過程實用面向?qū)ο蟮姆治龊驮O(shè)計[J].機(jī)械工業(yè)出版社,2003
2羅新,尹淑琴. 基于UML 的軟件系統(tǒng)業(yè)務(wù)流程分析[J].中國教育科學(xué)研究2006(7): 36-37
3甘文麗,柳菊霞. 基于UML 的企業(yè)管理信息系統(tǒng)的研究與開發(fā)[J].大眾科技2007(95): 35-36
4周世兵,劉淵.運用UML為軟件項目建模研究[J].計算機(jī)應(yīng)用研究,2002(8): 85-87