UML業(yè)務(wù)建模實(shí)例 圖書管理系統(tǒng)建模分析
上節(jié)我們介紹了UML業(yè)務(wù)建模實(shí)例分析中圖書管理系統(tǒng)的用例圖,本節(jié)和大家學(xué)習(xí)UML業(yè)務(wù)對(duì)象的表示,業(yè)務(wù)服務(wù)的實(shí)現(xiàn),用戶界面的組織和UML行為圖等內(nèi)容。希望本節(jié)的學(xué)習(xí)對(duì)你有所幫助。
UML業(yè)務(wù)建模實(shí)例分析
UML(The Unified Modeling Language,即統(tǒng)一建模語言)是一種編制系統(tǒng)藍(lán)圖的標(biāo)準(zhǔn)化語言,可以對(duì)復(fù)雜的系統(tǒng)建立可視化的系統(tǒng)模型,目前已經(jīng)被工業(yè)標(biāo)準(zhǔn)化組織OMG(Object Management Group)接受,一經(jīng)推出便得到許多著名的計(jì)算機(jī)廠商如Microsoft、HP、IBM、Oracle等的支持,也在逐步開始應(yīng)用到需求分析過程中。
下一步就是編制每一個(gè)用例的詳細(xì)說明,對(duì)用例說明的主要信息包括有:用例名稱、編號(hào)、用例的簡短描述、用例的參與者、與其他用例的管理、用例啟動(dòng)的前提條件、用例結(jié)束后的事后條件、用例的輸入、輸出、用例的執(zhí)行事件流等。在實(shí)際項(xiàng)目中,我們并不一定要面面俱到,而是根據(jù)實(shí)際情況對(duì)用例描述進(jìn)行裁減。其中有幾點(diǎn)重要信息是不能裁減的:用例名稱、描述、輸入、輸出、執(zhí)行事件流、參與者。另外,如果實(shí)際情況需要,還可以使用MS Visio等工具畫出界面的示意圖來。
如上例所述,我們對(duì)每一個(gè)用例都進(jìn)行詳細(xì)的描述,建立當(dāng)前系統(tǒng)的功能用例模型。UML業(yè)務(wù)建模實(shí)例中需求溝通與分析是一個(gè)迭代的過程,通過與用戶的不斷溝通,最終達(dá)成對(duì)目標(biāo)系統(tǒng)的一致理解。如果用戶確認(rèn)了需求分析的成果,一般是需求規(guī)格說明書之后,項(xiàng)目開始進(jìn)入系統(tǒng)分析設(shè)計(jì)階段,也就是開始構(gòu)造目標(biāo)系統(tǒng)的邏輯模型。
為了讓系統(tǒng)設(shè)計(jì)能夠以結(jié)構(gòu)、組織方式和代碼重用的形式表現(xiàn)出來,要對(duì)系統(tǒng)進(jìn)行設(shè)計(jì)規(guī)劃,設(shè)計(jì)階段應(yīng)該與分析階段交迭。需求是不斷地發(fā)展,而設(shè)計(jì)本身也會(huì)推動(dòng)需求的發(fā)展(反之亦然) 。在圖書館管理系統(tǒng)的建模設(shè)計(jì)中,以下3個(gè)方面的問題是要關(guān)注的:業(yè)務(wù)對(duì)象的表示、業(yè)務(wù)服務(wù)的實(shí)現(xiàn)、用戶界面的組織。
業(yè)務(wù)對(duì)象的表示
在圖書館管理系統(tǒng)系統(tǒng)中,業(yè)務(wù)對(duì)象主要是數(shù)據(jù)庫和數(shù)據(jù)實(shí)體類的表示方式。建模時(shí),可以構(gòu)造出系統(tǒng)的靜態(tài)模型,也就是系統(tǒng)類圖來表示。如下圖則描述了借書這一用例的靜態(tài)結(jié)構(gòu)圖。為了體現(xiàn)類之間的關(guān)系,在下圖中沒有顯示出每一個(gè)類的屬性和基本操作。
業(yè)務(wù)服務(wù)的實(shí)現(xiàn)
UML業(yè)務(wù)建模實(shí)例中業(yè)務(wù)服務(wù)的實(shí)現(xiàn)需要完成的功能是各種業(yè)務(wù)規(guī)則和邏輯的實(shí)現(xiàn),如借書處理的業(yè)務(wù)邏輯。每個(gè)模塊的信息錄入、修改、刪除、查詢等。業(yè)務(wù)規(guī)則和邏輯的實(shí)現(xiàn)基本相似,沒有太多的規(guī)律可循。采用UML來進(jìn)行業(yè)務(wù)服務(wù)的建模,可以使用UML 的序列圖、狀態(tài)圖、活動(dòng)圖。這個(gè)部分的工作,通常通過一系列的類之間的交互來完成。為了在更動(dòng)態(tài)的層面上描述系統(tǒng),UML 提供了許多其他類型的圖。
對(duì)于B/S系統(tǒng)設(shè)計(jì)而言,情節(jié)圖(Scenario Diagram) 特別有用。情節(jié)圖分成兩種:協(xié)作圖(Collaboration Diagram) ,序列圖(Sequence Diagram) 。UML 建模工具Rational Rose 能夠從協(xié)作圖生成序列圖也可以從序列圖生成協(xié)作圖。
借閱書刊過程主要包括:管理員選擇“借閱書刊”菜單,彈出對(duì)話框,管理員輸入書刊信息和用戶信息,系統(tǒng)查找數(shù)據(jù)庫,是否存在該種物理書刊,如果不存在,顯示提示信息,用例結(jié)束;是否存在借閱者信息,如果不存在,顯示提示信息,用例結(jié)束;否則,管理員單擊確認(rèn)按鈕后,該圖書借閱給該借閱者,系統(tǒng)存儲(chǔ)借閱信息到數(shù)據(jù)庫。
用戶界面的組織
UML業(yè)務(wù)建模實(shí)例中用戶界面布局圖能夠幫助組織系統(tǒng)頁面、文件、服務(wù)的布局結(jié)構(gòu)。在UML 中,對(duì)于頁面和文件的組織,可以使用構(gòu)件圖(Component Diagram) 或類圖(Class Diagram) 建模型。本系統(tǒng)中使用類圖對(duì)界面組織建模,頁面結(jié)構(gòu)以及各種業(yè)務(wù)服務(wù)被捆綁到不同的區(qū)域。
在 UML 中,系統(tǒng)的體系結(jié)構(gòu)使用部署圖(DeploymentDiagram) 來完成。應(yīng)用部署的規(guī)劃對(duì)于規(guī)劃整個(gè)B/ S 系統(tǒng)是很有用的。它確定了一種有效的應(yīng)用部署的規(guī)劃組織方式,還可以作為一個(gè)模式在多個(gè)類似B/ S 系統(tǒng)上應(yīng)用。
在建模完成后,開發(fā)人員利用一些UML Case工具如Rational ROSE生成程序代碼框架,并對(duì)代碼框架進(jìn)行修改和補(bǔ)充,形成完整代碼;而且,還可根據(jù)代碼逆向生成 UML模型。這就較好地保證了模型與代碼的一致性。
測(cè)試必須在整個(gè)項(xiàng)目周期中進(jìn)行,對(duì)每個(gè)階段都要用所建立的模型進(jìn)行測(cè)試,這樣才能保證開發(fā)的質(zhì)量,減少開發(fā)的風(fēng)險(xiǎn)。
統(tǒng)一建模語言 UML 是國際軟件工程領(lǐng)域具有劃時(shí)代意義的重要成果,適用于以面向?qū)ο蠹夹g(shù)來描述任何類型的系統(tǒng),而且適用于系統(tǒng)開發(fā)的不同階段,從需求規(guī)格描述直至系統(tǒng)完成后的測(cè)試和維護(hù)。軟件系統(tǒng)的規(guī)模越來越大,復(fù)雜度不斷提高,RUP迭代式增量開發(fā)方式可以降低風(fēng)險(xiǎn),同時(shí)可以適應(yīng)需求變化的需要。
在本次UML業(yè)務(wù)建模實(shí)例實(shí)踐之旅中,我們通過對(duì)圖書館管理系統(tǒng)的需求進(jìn)行分析,將 UML 應(yīng)用于系統(tǒng)開發(fā)的各個(gè)階段,建立了系統(tǒng)的需求模型、靜態(tài)模型和動(dòng)態(tài)模型,同時(shí)遵循Rationl統(tǒng)一過程(RUP)的核心思想和基本原則,采用以用例為驅(qū)動(dòng)、以體系構(gòu)架為核心的迭代化面向?qū)ο蠓治龊驮O(shè)計(jì)過程。
UML行為圖
用況圖(use case diagram)描述了一組用況和參與者(一種特殊的類)以及它們之間的關(guān)系。
交互圖(interaction diagram)是順序圖和協(xié)作圖的統(tǒng)稱。
順序圖(sequence diagram)是強(qiáng)調(diào)消息的時(shí)間次序的交互圖。
協(xié)作圖(collaboration diagram)是強(qiáng)調(diào)收發(fā)消息的對(duì)象的結(jié)構(gòu)組織的交互圖。
狀態(tài)圖顯示了一個(gè)由狀態(tài),轉(zhuǎn)換,事件和活動(dòng)組成的狀態(tài)機(jī)。
活動(dòng)圖顯示了系統(tǒng)中從活動(dòng)到活動(dòng)的流。
【編輯推薦】
- 名師點(diǎn)評(píng) 如何進(jìn)行UML業(yè)務(wù)建模實(shí)例分析
- UML業(yè)務(wù)建模實(shí)例全面剖析
- 學(xué)習(xí)筆記 UML建模語言的特點(diǎn)和應(yīng)用領(lǐng)域
- 免費(fèi)UML建模工具盡情體驗(yàn)
- UML業(yè)務(wù)建模實(shí)例中如何作需求分析