于紅志
摘要:論文簡(jiǎn)要介紹了UML(Unified Modeling Language)標(biāo)準(zhǔn)建模語言的特點(diǎn),UML建模語言的靜態(tài)建模機(jī)制和動(dòng)態(tài)建模機(jī)制及其使用方法,并運(yùn)用UML的建模機(jī)制和方法對(duì)餐飲管理信息系統(tǒng)進(jìn)行了分析建模。
關(guān)鍵詞:UML建模;分析建模;描述和構(gòu)建
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)27-0243-02
標(biāo)準(zhǔn)建模語言(Unified Modeling Language,簡(jiǎn)稱UML)是圖形建模語言,具有高度的可視化的特點(diǎn)。其目標(biāo)是用面向?qū)ο蟮姆椒ㄈッ枋鱿到y(tǒng),它有著廣泛的應(yīng)用領(lǐng)域和應(yīng)用前景,而其最為廣泛的應(yīng)用是建立軟件的系統(tǒng)模型。除此之外也可以用UML來描述諸如工業(yè)過程和工業(yè)系統(tǒng)等其他領(lǐng)域。即UML建模適用于具有靜態(tài)結(jié)構(gòu)及動(dòng)態(tài)行為的任何系統(tǒng)。
1 UML建模概要
UML建??筛乓蓺w納為靜態(tài)的建模方法和動(dòng)態(tài)的建模方法這兩大類。
用UML進(jìn)行面向?qū)ο蟮南到y(tǒng)分析時(shí),首先是要描述系統(tǒng)的需求,以此確定系統(tǒng)的功能;其次是要依據(jù)系統(tǒng)的需求為系統(tǒng)去建立靜態(tài)模型,進(jìn)一步去描繪和構(gòu)建系統(tǒng)的結(jié)構(gòu);最后是去描繪和闡述系統(tǒng)的行為。在此,應(yīng)用UML的前兩步創(chuàng)建的都是系統(tǒng)的靜態(tài)的模型,可使用的圖形工具包括有用例圖、類與對(duì)象圖、包圖、構(gòu)件圖和配置圖,這些圖形構(gòu)成了UML建模語言的靜態(tài)建模機(jī)制,通常由用例圖和類與對(duì)象圖來描述和構(gòu)建系統(tǒng)的功能和結(jié)構(gòu);進(jìn)行建模分析的第三步是描述系統(tǒng)可以執(zhí)行的動(dòng)作或是執(zhí)行動(dòng)作時(shí)的時(shí)序狀態(tài)以及存在的交互關(guān)系。對(duì)這些情形的描述和構(gòu)建可以使用狀態(tài)圖、活動(dòng)圖、順序圖和合作圖等,這些內(nèi)容則構(gòu)成了UML建模語言的動(dòng)態(tài)建模機(jī)制。
2 UML的建模應(yīng)用
下面以餐飲企業(yè)管理信息系統(tǒng)為例,用UML的建模機(jī)制和方法對(duì)餐飲企業(yè)管理信息系統(tǒng)進(jìn)行具體的分析建模。
2.1 系統(tǒng)描述
餐飲企業(yè)管理信息系統(tǒng)是根據(jù)餐飲企業(yè)的特點(diǎn)和日常經(jīng)營活動(dòng)內(nèi)容對(duì)其業(yè)務(wù)信息的處理和流程進(jìn)行規(guī)范化的管理。它的使用對(duì)象是餐飲管理員和餐飲服務(wù)員。
2.2 系統(tǒng)需求分析與建模
2.2.1 系統(tǒng)分析與功能描述
用UML對(duì)系統(tǒng)進(jìn)行需求分析時(shí),是使用用例來獲取用戶的需求的,一個(gè)用例表示系統(tǒng)具有的某一種功能。在此選擇用例圖描述使用系統(tǒng)和與系統(tǒng)有關(guān)的相關(guān)聯(lián)的角色以及這些角色對(duì)系統(tǒng)功能的要求,系統(tǒng)中的所有的用例以及這些用例的使用者構(gòu)成了系統(tǒng)的用例圖,以此來描述系統(tǒng)具有的功能和系統(tǒng)的使用者。分析階段是針對(duì)問題域中的類和問題域中的對(duì)象展開分析,必須識(shí)別出系統(tǒng)中的這些類以及類與類之間的關(guān)系,而后由類圖去加以描述和說明。而類與類之間是需要協(xié)作才能實(shí)現(xiàn)用例的,因此這就還要用到動(dòng)態(tài)模型去描述類之間的協(xié)作。在系統(tǒng)分析這一階段和時(shí)期,應(yīng)該僅就問題域的對(duì)象去建模,暫不考慮軟件系統(tǒng)中涉及的技術(shù)細(xì)節(jié)。
遵循UML的建模思想對(duì)餐飲管理信息系統(tǒng)進(jìn)行具體的分析建模。根據(jù)餐飲企業(yè)的特點(diǎn),餐飲企業(yè)可見的業(yè)務(wù)活動(dòng)和應(yīng)實(shí)現(xiàn)的功能應(yīng)該包括有菜品業(yè)務(wù)的管理,該項(xiàng)功能的使用者是餐飲管理員。菜品信息的管理是餐飲管理的核心內(nèi)容,諸如顧客所點(diǎn)的菜品是否可用、菜品查詢、菜品編號(hào)、菜品名稱、菜品價(jià)格等;系統(tǒng)前臺(tái)的營業(yè)管理應(yīng)該包括營業(yè)訂單信息的錄入、查詢、添加、修改和刪除等,該項(xiàng)功能的使用者是前臺(tái)服務(wù)員;餐飲企業(yè)還應(yīng)提供餐飲預(yù)定服務(wù),應(yīng)按顧客指定的時(shí)間和內(nèi)容提供餐飲產(chǎn)品,餐飲預(yù)訂的信息管理應(yīng)該包括顧客預(yù)訂信息的錄入、查詢、添加、修改和刪除等,該項(xiàng)功能的使用者是預(yù)訂服務(wù)員;同理,餐飲企業(yè)還應(yīng)提供外賣服務(wù),要實(shí)現(xiàn)對(duì)外賣信息的錄入、查詢、添加、修改和刪除等,該項(xiàng)功能的使用者是外賣服務(wù)員;同時(shí)系統(tǒng)還應(yīng)該具有對(duì)員工基本信息的管理功能,這項(xiàng)功能的使用者是餐飲管理員。因此菜品管理、前臺(tái)業(yè)務(wù)管理、預(yù)定業(yè)務(wù)管理、外賣業(yè)務(wù)管理和企業(yè)員工管理是餐飲管理信息系統(tǒng)中的五個(gè)用例。它們與系統(tǒng)的執(zhí)行者也就是餐飲管理員、前臺(tái)服務(wù)員、預(yù)定服務(wù)員和外賣服務(wù)員構(gòu)成了餐飲管理信息系統(tǒng)的用例。
2.2.2 系統(tǒng)結(jié)構(gòu)描述
用類圖描述系統(tǒng)的組成結(jié)構(gòu)。類的分析是建立在用例分析的基礎(chǔ)上的。類模型是面向?qū)ο蠓椒ǖ暮诵膬?nèi)容,它是對(duì)系統(tǒng)中的某一類對(duì)象的抽象,它描述了系統(tǒng)中各種對(duì)象的類型以及對(duì)象之間的各種靜態(tài)關(guān)系,是具有職責(zé)的數(shù)據(jù)模型。每個(gè)類都包含其特有的靜態(tài)屬性和動(dòng)態(tài)行為,這些屬性和行為標(biāo)注在類名稱的下方,由類可生成具體的數(shù)據(jù)對(duì)象實(shí)例。通過分析得知餐飲管理系統(tǒng)中的基本類有:?jiǎn)T工類、預(yù)定類、前臺(tái)類、外賣類和菜品類,由此得到概念層上的系統(tǒng),即餐飲管理信息系統(tǒng)的結(jié)構(gòu)。
2.2.3 系統(tǒng)中類行為的描述
上述系統(tǒng)中的每個(gè)類都具有自己的動(dòng)態(tài)行為。接下來給出其動(dòng)態(tài)行為的描述。僅以前臺(tái)營業(yè)為例用UML的狀態(tài)圖和順序圖對(duì)前臺(tái)營業(yè)的處理流程進(jìn)行具體的分析與描述。其他類的動(dòng)態(tài)行為圖可以類似的得出。在此,狀態(tài)圖描述了一個(gè)具體對(duì)象的可能的所有狀態(tài)和因事件引發(fā)的所有的狀態(tài)的轉(zhuǎn)變。前臺(tái)營業(yè)中,一單業(yè)務(wù)進(jìn)入訂單生成狀態(tài)后接下來可能出現(xiàn)的狀態(tài)有下述幾種情況:①訂單取消、業(yè)務(wù)結(jié)束;②訂單使用、訂單結(jié)算、業(yè)務(wù)結(jié)束;③訂單修改、訂單使用、訂單結(jié)算、業(yè)務(wù)結(jié)束;④訂單使用、訂單修改、再訂單使用、訂單結(jié)算、業(yè)務(wù)結(jié)束。
UML用順序圖描述對(duì)象之間隨時(shí)間推移的動(dòng)態(tài)交互關(guān)系。其中每個(gè)對(duì)象用一條豎線表示其生命線,消息用水平箭頭表示由一個(gè)對(duì)象發(fā)送給另一個(gè)對(duì)象。前臺(tái)營業(yè)時(shí),營業(yè)信息由前臺(tái)營業(yè)員添加到系統(tǒng)的營業(yè)信息處理界面,產(chǎn)生修改信息時(shí),信息再發(fā)送至修改界面,修改完成后再發(fā)送到營業(yè)信息界面確認(rèn),最終再將確認(rèn)的營業(yè)信息發(fā)送至營業(yè)結(jié)算界面。
2.3 系統(tǒng)后期設(shè)計(jì)目標(biāo)
下一步系統(tǒng)設(shè)計(jì)階段,要進(jìn)行更進(jìn)一步的細(xì)化分析,對(duì)已有的類(包括已經(jīng)定義的操作和屬性)進(jìn)行細(xì)化,適當(dāng)增加新類,用來處理例如用戶接口以及數(shù)據(jù)庫等其他問題。設(shè)計(jì)階段還包含總體設(shè)計(jì)與詳細(xì)設(shè)計(jì),總體設(shè)計(jì)即高層結(jié)構(gòu)設(shè)計(jì),是定義包(即子系統(tǒng)),其中還有包間的依存關(guān)系和包間的通信關(guān)系;詳細(xì)設(shè)計(jì)則是詳細(xì)描述包中的內(nèi)容,為下一階段的編程工作提供一個(gè)清晰的類的描述,為后續(xù)的編碼實(shí)現(xiàn)奠定基礎(chǔ)。
總體設(shè)計(jì)中定義的包體現(xiàn)的是一種分組機(jī)制。餐飲管理信息系統(tǒng)的包可由如下幾個(gè)包組成:系統(tǒng)界面、業(yè)務(wù)對(duì)象、數(shù)據(jù)庫和系統(tǒng)應(yīng)用。這些包中,用戶界面包構(gòu)成將來用戶的操作界面;業(yè)務(wù)對(duì)象包包含了分析模型中的所有的類,它們?cè)跀?shù)據(jù)庫包的支持下完成任務(wù);數(shù)據(jù)庫包為業(yè)務(wù)對(duì)象包提供服務(wù);應(yīng)用包向其他包提供服務(wù)。
詳細(xì)設(shè)計(jì)是將上述包的內(nèi)容再進(jìn)行細(xì)化,對(duì)每個(gè)包的內(nèi)容進(jìn)行詳細(xì)的設(shè)計(jì)。最后根據(jù)詳細(xì)設(shè)計(jì)的結(jié)果進(jìn)行編碼實(shí)現(xiàn)。
3 結(jié)語
UML是功能強(qiáng)大的可視化建模語言。運(yùn)用其靜態(tài)建模機(jī)制建立了餐飲管理信息系統(tǒng)的功能模型,運(yùn)用UML的用例圖、UML的類圖構(gòu)建了系統(tǒng)、描述了系統(tǒng)的信息處理功能以及用戶與系統(tǒng)之間的關(guān)系;應(yīng)用UML的動(dòng)態(tài)建模方法,使用UML的狀態(tài)圖和順序圖對(duì)系統(tǒng)中的業(yè)務(wù)對(duì)象的狀態(tài)及行為過程進(jìn)行了描述。為系統(tǒng)的后續(xù)設(shè)計(jì)奠定了基礎(chǔ)。
參考文獻(xiàn):
[1] 張海藩.軟件工程[J].北京:人民郵電出版社,2002.
[2] 宋國順.軟件工程中UML建模的技術(shù)與分析[J].軟件導(dǎo)刊,2010(8).
[3] 馬國勤.基于UML的全程建模研究與應(yīng)用[J].信息技術(shù),2010(6).
[4] 許維.基于UML的嵌入式系統(tǒng)可視化建模研究[J].制造業(yè)自動(dòng)化,2011(1).
[5] 鄔恩杰.基于UML的在線考試系統(tǒng)需求分析與建模[J].電腦編程技巧與維護(hù),2016(7).