于紅志
摘要:簡要的介紹了UML(Unified Modeling Language)建模語言的基本概念及其內(nèi)容;并通過對商務(wù)采購業(yè)務(wù)系統(tǒng)的實(shí)際建模簡要演示了應(yīng)用UML建模的思路。
關(guān)鍵詞:UML系統(tǒng)分析與設(shè)計(jì)采購業(yè)務(wù)建模
中圖分類號:F253 文獻(xiàn)標(biāo)識碼:A 文章編號:1674-098X(2012)06(c)-0188-01
UML標(biāo)準(zhǔn)建模語言不僅支持面向?qū)ο蟮姆治雠c設(shè)計(jì),而且還支持需求軟件開發(fā)的全過程。目前,標(biāo)準(zhǔn)建模語言(UML)取得了科技界、工業(yè)界和應(yīng)用界的廣泛支持,成為可視化建模語言事實(shí)上的工業(yè)標(biāo)準(zhǔn)。UML代表了面向?qū)ο蠓椒ǖ能浖_發(fā)技術(shù)的發(fā)展方向,同時也提供軟件工程化的思想和方法。
1 UML(Unified Modeling Language)定義及組成部分
UML的定義包括UML語義和UML表示法兩個部分,UML語義使用簡單一致的語言,表示法則定義了UML的可視化標(biāo)準(zhǔn)符號,這就決定了UML是一種可視化的建模語言。這些圖形符號和文字用于建立應(yīng)用級的模型上。此外UML的定義還給出了結(jié)構(gòu)的規(guī)定。
UML定義了9種視圖。由這9種視圖(靜態(tài)視圖和動態(tài)視圖)來展示模型
UML的靜態(tài)視圖包括用例圖(Use case diagram)、構(gòu)件圖(Component diagram)、類圖(Class diagram)、對象圖(Object diagram)、包(Package)和配置圖(Deployment diagram)。
UML的動態(tài)視圖包括狀態(tài)圖(State Diagram)、順序圖(Sequence Diagram)、合作圖(Collaboration Diagram)和活動圖(Activity Diagram)。這四類圖均可用于系統(tǒng)的動態(tài)建模,但它們各自的側(cè)重點(diǎn)不同,分別用于不同的目的。
UML(Unified Modeling Language)中視圖有以下幾個要點(diǎn):
類圖:它一組類、接口和協(xié)作及它們間的關(guān)系,在建模中所建立的最常見的圖就是類圖。用類圖說明系統(tǒng)的靜態(tài)設(shè)計(jì)視圖,包含主動類的類圖—專注于系統(tǒng)的靜態(tài)進(jìn)程視圖。
對象圖:是一組對象及它們之間的關(guān)系。用對象圖說明類圖中所反應(yīng)的事物實(shí)例的數(shù)據(jù)結(jié)構(gòu)和靜態(tài)快照。對象圖表達(dá)了系統(tǒng)的靜態(tài)設(shè)計(jì)視圖或靜態(tài)過程視圖,除了現(xiàn)實(shí)和原型的方面不同于類圖外,其作用與類圖相同。
狀態(tài)圖:是一個特定對象的所有可能狀態(tài),以及由于各種事件的發(fā)生而引起的狀態(tài)間的轉(zhuǎn)移。一個狀態(tài)圖描述了一個狀態(tài)機(jī),用狀態(tài)圖說明系統(tǒng)的動態(tài)視圖。它對于接口、類或協(xié)作的行為建模尤為重要,也可用它描述用況實(shí)例的生命周期。
例圖:展現(xiàn)了一組用況、參與者以及它們間的關(guān)系??梢杂美龍D描述系統(tǒng)的靜態(tài)使用情況。在對系統(tǒng)行為組織和建模方面,用例圖是非常重要的。
交互圖:展現(xiàn)了按一定的目的進(jìn)行的一種交互形式,它由在一個上下文中的一組對象及它們間交互的信息組成。交互圖也可用于描述一個用況的行為。順序圖和協(xié)作圖都是交互圖,他們可以相互轉(zhuǎn)換。
順序圖:是一組對象和由這組對象收發(fā)的消息,用于按時間順序?qū)刂屏鹘!S庙樞驁D說明系統(tǒng)的動態(tài)視圖。
活動圖:它是一種特殊的狀態(tài)圖,描述需要做的活動、執(zhí)行這些活動的順序(多為并行的)以及工作流(完成工作所需要的步驟)。活動圖對系統(tǒng)的功能建模特別重要,強(qiáng)調(diào)對象間的控制流程。
協(xié)作圖:展示的是這組對象間的連接以及這組對象收發(fā)的消息。它強(qiáng)調(diào)收發(fā)消息的對象的結(jié)構(gòu)組織,按組織結(jié)構(gòu)對控制流建模。
構(gòu)件圖:是一組構(gòu)件之間的組織和依賴,用于對原代碼、可執(zhí)行的發(fā)布、物理數(shù)據(jù)庫和可調(diào)整的系統(tǒng)建模。
配置圖:展現(xiàn)了對運(yùn)行時處理節(jié)點(diǎn)以及其中構(gòu)件的配署。它描述系統(tǒng)硬件的物理拓?fù)浣Y(jié)構(gòu)(包括網(wǎng)絡(luò)布局和構(gòu)件在網(wǎng)絡(luò)上的位置),以及在此結(jié)構(gòu)上執(zhí)行的軟件(即運(yùn)行時軟構(gòu)件在節(jié)點(diǎn)中的分布情況)。
2 UML應(yīng)用示例
下面以商務(wù)采購業(yè)務(wù)系統(tǒng)為例,用UML的基本思想和過程對商務(wù)采購業(yè)務(wù)系統(tǒng)分析與設(shè)計(jì)最典型的部分進(jìn)行具體的分析與建模。
2.1 系統(tǒng)描述
采購管理軟件具有自動請購的功能。它的應(yīng)用對象是簽署采購合同、采購統(tǒng)計(jì)表以及客戶統(tǒng)計(jì)表,例如:在庫存管理軟件每日運(yùn)行的自動采購物品表中就列出這種物品的品名和所需數(shù)量,在庫存人員確定后可生成帶編號的內(nèi)部采購單,生成定單后還要鑒定采購合同。由供應(yīng)商準(zhǔn)備貨源。
2.2 需求分析與設(shè)計(jì)
2.2.1 確定系統(tǒng)的用例和用例圖
需求分析首先要定義用例。在UML建模時,一個用例應(yīng)是用戶在與計(jì)算機(jī)之間為達(dá)到某目的一次交互。是對一個特定系統(tǒng)所提供功能的一種描述,其描述了用戶所提出的一些可見得需求。
從系統(tǒng)外部執(zhí)行者的角度來看,業(yè)務(wù)采購系統(tǒng)應(yīng)提供采購統(tǒng)計(jì)表和客戶統(tǒng)計(jì)表,供采購員使用;同時要支持簽署采購合同的功能,該活動需要采購員和供應(yīng)商的共同參與。
對于商務(wù)采購業(yè)務(wù)系統(tǒng),主要的角色有兩種:采購業(yè)務(wù)員和供應(yīng)商。
采購業(yè)務(wù)中的用例包括:簽署采購合同;采購統(tǒng)計(jì)表;客戶統(tǒng)計(jì)表信息。
業(yè)務(wù)系統(tǒng)的角色是采購業(yè)務(wù)員和供應(yīng)商,采購業(yè)務(wù)員和供應(yīng)商交互完成任務(wù)。因此用例圖表明角色和簽署采購合同、采購統(tǒng)計(jì)表和客戶統(tǒng)計(jì)表信息三個用例有關(guān)。
2.2.2 確定系統(tǒng)中的類以及類圖
類圖是面向?qū)ο笙到y(tǒng)中應(yīng)用最為廣泛的圖。主要描述系統(tǒng)的功能需求即系統(tǒng)給最終用戶提供的服務(wù).
根據(jù)三層次的觀點(diǎn)(概念層、說明層和實(shí)現(xiàn)層),類圖化分為三個層次。其中概念層的概念模型與其實(shí)現(xiàn)的軟件無關(guān);說明層則考察其軟件的接口部分;實(shí)現(xiàn)層才真正具有嚴(yán)格意義上類的概念,揭示出軟件實(shí)現(xiàn)的構(gòu)成情況。
2.2.3 確定系統(tǒng)活動圖
在規(guī)格說明的階段進(jìn)行系統(tǒng)業(yè)務(wù)描述。規(guī)范系統(tǒng)完成特定功能的主要流程??梢杂没顒訄D進(jìn)行描述。
2.3 系統(tǒng)詳細(xì)設(shè)計(jì)
該階段工作是把概要設(shè)計(jì)階段的模型進(jìn)一步的擴(kuò)展和細(xì)化;在分析階段定義的類也將進(jìn)一步被細(xì)化,通常將產(chǎn)生更多被細(xì)化了的新類圖、活動圖等,它們的定義也將更詳細(xì)、并涉及更多技術(shù)細(xì)節(jié)。但這并不意味著為一個系統(tǒng)建模時需要使用UML所有的圖形和符號。
使用UML的準(zhǔn)則:不要試圖使用其所有的圖形與符號。要根據(jù)項(xiàng)目特點(diǎn)選用最適用的圖形和符號,通常應(yīng)該優(yōu)先選用最簡單的圖形和符號;不必為每個事物都畫一個模型。抓住事物本質(zhì)建模方能保證模型符合目標(biāo);應(yīng)分層次建模。根據(jù)項(xiàng)目進(jìn)展的不同階段,用正確的觀點(diǎn)畫模型圖。為避免過早陷入實(shí)現(xiàn)細(xì)節(jié),要把重點(diǎn)放在概念層及說明層。
3 結(jié)語
UML提供的九種視圖從不同應(yīng)用層次和不同角度為系統(tǒng)從系統(tǒng)分析、設(shè)計(jì)直到實(shí)現(xiàn)的提供有力支持。同時UML系統(tǒng)模型的表達(dá)能力也超出了以往任何一種面向?qū)ο蟮姆治龊驮O(shè)計(jì)方法,在不同的階段建立不同的模型,建模的目的也各不相同。