UML基礎(chǔ)與應(yīng)用第六章_第1頁(yè)
UML基礎(chǔ)與應(yīng)用第六章_第2頁(yè)
UML基礎(chǔ)與應(yīng)用第六章_第3頁(yè)
UML基礎(chǔ)與應(yīng)用第六章_第4頁(yè)
UML基礎(chǔ)與應(yīng)用第六章_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第六章第六章 實(shí)現(xiàn)圖實(shí)現(xiàn)圖UML大部分的模型描述了系統(tǒng)的邏輯和設(shè)計(jì)方面的信息??紤]到重用性、擴(kuò)展性和系統(tǒng)的硬件配置描述等方面,UML給出了實(shí)現(xiàn)圖,用來(lái)描述系統(tǒng)實(shí)現(xiàn)方面的信息。它從系統(tǒng)的層次來(lái)描述硬件的組成和布局、軟件系統(tǒng)劃分和功能實(shí)現(xiàn)。實(shí)現(xiàn)圖包實(shí)現(xiàn)圖包括構(gòu)件圖和部署圖,括構(gòu)件圖和部署圖,其中構(gòu)件圖用來(lái)顯示一組構(gòu)件之間的組織及依賴關(guān)系;部署圖則用來(lái)描述系統(tǒng)硬件的物理拓?fù)浣Y(jié)構(gòu)以及在此結(jié)構(gòu)上執(zhí)行的軟件。6.1 構(gòu)件圖(Component Diagrams)構(gòu)件是代碼的軟件模塊,一般來(lái)說,就是一個(gè)構(gòu)件是代碼的軟件模塊,一般來(lái)說,就是一個(gè)實(shí)際文件。實(shí)際文件。構(gòu)件包括以下類型:構(gòu)件包括以下類型:源代碼組件

2、:一個(gè)源代碼文件或一個(gè)包對(duì)應(yīng)的若干源代碼組件:一個(gè)源代碼文件或一個(gè)包對(duì)應(yīng)的若干個(gè)源代碼文件。個(gè)源代碼文件。二進(jìn)制組件:一個(gè)目標(biāo)碼文件,一個(gè)靜態(tài)的或動(dòng)態(tài)二進(jìn)制組件:一個(gè)目標(biāo)碼文件,一個(gè)靜態(tài)的或動(dòng)態(tài)的庫(kù)文件。的庫(kù)文件??蓤?zhí)行組件:即可執(zhí)行程序??蓤?zhí)行組件:即可執(zhí)行程序。構(gòu)件的特點(diǎn):構(gòu)件的特點(diǎn):A、構(gòu)件是物理的、構(gòu)件是物理的B、構(gòu)件是可替代的、構(gòu)件是可替代的C、構(gòu)件是系統(tǒng)的一部分、構(gòu)件是系統(tǒng)的一部分NewComponent2. 構(gòu)件類型 實(shí)施構(gòu)件:這類構(gòu)件是構(gòu)成一個(gè)可執(zhí)行系統(tǒng)必要實(shí)施構(gòu)件:這類構(gòu)件是構(gòu)成一個(gè)可執(zhí)行系統(tǒng)必要和充分的構(gòu)件,例如動(dòng)態(tài)鏈接庫(kù)、可執(zhí)行文件,和充分的構(gòu)件,例如動(dòng)態(tài)鏈接庫(kù)、可執(zhí)行文

3、件,另外還包括如另外還包括如COM+、CORBA及企業(yè)級(jí)及企業(yè)級(jí)Java Beans、動(dòng)態(tài)、動(dòng)態(tài)Web頁(yè)面也屬于實(shí)施構(gòu)件的一部分頁(yè)面也屬于實(shí)施構(gòu)件的一部分 工作產(chǎn)品構(gòu)件:這類構(gòu)件主要是開發(fā)過程的產(chǎn)物,工作產(chǎn)品構(gòu)件:這類構(gòu)件主要是開發(fā)過程的產(chǎn)物,包括創(chuàng)建實(shí)施構(gòu)件的源代碼文件及數(shù)據(jù)文件。這包括創(chuàng)建實(shí)施構(gòu)件的源代碼文件及數(shù)據(jù)文件。這些構(gòu)件并不是直接地參與可執(zhí)行系統(tǒng),而且用來(lái)些構(gòu)件并不是直接地參與可執(zhí)行系統(tǒng),而且用來(lái)產(chǎn)生可執(zhí)行系統(tǒng)的中間工作產(chǎn)品產(chǎn)生可執(zhí)行系統(tǒng)的中間工作產(chǎn)品 執(zhí)行構(gòu)件:作為一個(gè)正在執(zhí)行的系統(tǒng)的結(jié)果而被執(zhí)行構(gòu)件:作為一個(gè)正在執(zhí)行的系統(tǒng)的結(jié)果而被創(chuàng)建的,例如由創(chuàng)建的,例如由DLL實(shí)例化形成的

4、實(shí)例化形成的COM+對(duì)象對(duì)象3. 構(gòu)件圖 構(gòu)件圖是對(duì)面向?qū)ο笙到y(tǒng)的物理方面建模構(gòu)件圖是對(duì)面向?qū)ο笙到y(tǒng)的物理方面建模時(shí)使用的兩種圖之一(另一種圖是部署時(shí)使用的兩種圖之一(另一種圖是部署圖)。目前,演示意義大于實(shí)際意義。圖)。目前,演示意義大于實(shí)際意義。 構(gòu)件圖和部署圖統(tǒng)稱系統(tǒng)的實(shí)現(xiàn)圖。其中構(gòu)件圖和部署圖統(tǒng)稱系統(tǒng)的實(shí)現(xiàn)圖。其中構(gòu)件圖顯示代碼本身的邏輯結(jié)構(gòu);部署圖構(gòu)件圖顯示代碼本身的邏輯結(jié)構(gòu);部署圖顯示系統(tǒng)運(yùn)行時(shí)的結(jié)構(gòu)。顯示系統(tǒng)運(yùn)行時(shí)的結(jié)構(gòu)。 構(gòu)件圖描述軟件組件以及組件之間的關(guān)系。構(gòu)件圖描述軟件組件以及組件之間的關(guān)系。構(gòu)建件是代碼的軟件模塊,構(gòu)件圖則顯示構(gòu)建件是代碼的軟件模塊,構(gòu)件圖則顯示了代碼的結(jié)

5、構(gòu)。了代碼的結(jié)構(gòu)。 構(gòu)件圖中通常包含3個(gè)元素:(1)構(gòu)件(Component)(2)接口(Interface)(3)依賴關(guān)系(Dependency)構(gòu)件圖示例:(1)構(gòu)件(組件) 構(gòu)件是定義了良好接口的物理實(shí)現(xiàn)單元,是系統(tǒng)中可替換的物理部件。 構(gòu)件可以是源代碼構(gòu)件、二進(jìn)制構(gòu)件或一個(gè)可執(zhí)行的構(gòu)件。 在UML中,構(gòu)件用一個(gè)左側(cè)帶有突出兩個(gè)小矩形的矩形來(lái)表示。 構(gòu)件與類的比較:相同點(diǎn)不同點(diǎn)兩者都有名稱;都可以實(shí)現(xiàn)一組接口;都可以參與依賴關(guān)系;都可以被嵌套;都可以有實(shí)例;都可以參與交互。類描述了軟件設(shè)計(jì)的邏輯組織和意圖,而構(gòu)件則描述軟件設(shè)計(jì)的物理實(shí)現(xiàn),即每個(gè)構(gòu)件體現(xiàn)了系統(tǒng)設(shè)計(jì)中特定類的實(shí)現(xiàn)。(2)接口

6、 接口和構(gòu)件之間的關(guān)系分為兩種:實(shí)現(xiàn)關(guān)系(Realization)依賴關(guān)系(Dependency) 接口和構(gòu)件之間用實(shí)線連接表示實(shí)現(xiàn)關(guān)系;而接口和構(gòu)件之間用虛線箭頭連接則表示依賴關(guān)系。(3)依賴關(guān)系 構(gòu)件圖用依賴關(guān)系表示各構(gòu)件之間存在的關(guān)系類型。 在UML中,構(gòu)件圖中依賴關(guān)系的表示方法與類圖中依賴關(guān)系相同,都是一個(gè)由客戶指向提供者的虛線箭頭。(構(gòu)件圖中的依構(gòu)件圖中的依賴關(guān)系使用虛線箭頭表示。這種依賴關(guān)系賴關(guān)系使用虛線箭頭表示。這種依賴關(guān)系主要就是編譯時(shí)的順序。在其后編譯的組主要就是編譯時(shí)的順序。在其后編譯的組件向提前編譯的組件畫出箭頭件向提前編譯的組件畫出箭頭,表示對(duì)其依表示對(duì)其依賴。賴。)4

7、.構(gòu)件圖建模技術(shù)(1)對(duì)系統(tǒng)中的組件建模。(2)對(duì)相應(yīng)組件提供的接口建模。(3)對(duì)組件之間的依賴關(guān)系建模。(4)將邏輯設(shè)計(jì)映射成物理實(shí)現(xiàn)。(5)對(duì)建模的結(jié)果進(jìn)行精化和細(xì)化。6.2部署圖(Deployment Diagrams) 1.部署圖的概念和內(nèi)容部署圖的概念和內(nèi)容 部署圖(也稱部署圖(也稱配置圖配置圖、布局圖)、布局圖)顯示了運(yùn)行軟件顯示了運(yùn)行軟件系統(tǒng)的物理硬件,以及如何將軟件配置到硬件環(huán)系統(tǒng)的物理硬件,以及如何將軟件配置到硬件環(huán)境中。境中。 部署圖部署圖的用途是顯示該系統(tǒng)不同的組件將在何處的用途是顯示該系統(tǒng)不同的組件將在何處物理地運(yùn)行,以及它們將如何彼此通信。一個(gè)系物理地運(yùn)行,以及它們將

8、如何彼此通信。一個(gè)系統(tǒng)模型只有一個(gè)配置圖。統(tǒng)模型只有一個(gè)配置圖。 部署圖可以清楚地描繪硬件設(shè)備的配置、通信以部署圖可以清楚地描繪硬件設(shè)備的配置、通信以及在各硬設(shè)備上各種軟組件和對(duì)象的配制。及在各硬設(shè)備上各種軟組件和對(duì)象的配制。 部署圖中通常包括以下元素:部署圖中通常包括以下元素:(1)節(jié)點(diǎn))節(jié)點(diǎn)(2)關(guān)系)關(guān)系(1)節(jié)點(diǎn)(Node) 節(jié)點(diǎn)是系統(tǒng)在運(yùn)行期間存在的物理元素,它節(jié)點(diǎn)是系統(tǒng)在運(yùn)行期間存在的物理元素,它通常是處理器或其他硬件設(shè)備等通常是處理器或其他硬件設(shè)備等計(jì)算機(jī)硬件計(jì)算機(jī)硬件資源資源。如:一臺(tái)主機(jī)、一臺(tái)打印機(jī)或一個(gè)。如:一臺(tái)主機(jī)、一臺(tái)打印機(jī)或一個(gè)PCPC終端等。終端等。 節(jié)點(diǎn)之間的連線

9、表示系統(tǒng)之間的通信路徑,節(jié)點(diǎn)之間的連線表示系統(tǒng)之間的通信路徑,即連接。通信類型則放在連接旁邊的即連接。通信類型則放在連接旁邊的“”之間,表示所用的通信協(xié)議或網(wǎng)絡(luò)類型。之間,表示所用的通信協(xié)議或網(wǎng)絡(luò)類型。 在UML中,節(jié)點(diǎn)用一個(gè)立方體來(lái)表示。 節(jié)點(diǎn)與構(gòu)件的比較:相同點(diǎn)不同點(diǎn)二者都有名稱和關(guān)系;都可以有實(shí)例;都可以被嵌套;都可以參與交互。構(gòu)件是參與系統(tǒng)執(zhí)行的事物,而節(jié)點(diǎn)是執(zhí)行組件的事物;構(gòu)件表示邏輯元素的物理包裝,而節(jié)點(diǎn)表示構(gòu)件的物理配置。 部署圖中的節(jié)點(diǎn)分為兩種類型:部署圖中的節(jié)點(diǎn)分為兩種類型: 處理器(處理器(processor),任何有處理功能),任何有處理功能的機(jī)器,即可以執(zhí)行程序的硬件構(gòu)

10、件。在的機(jī)器,即可以執(zhí)行程序的硬件構(gòu)件。在部署圖中,可以說明處理器中有哪些進(jìn)程,部署圖中,可以說明處理器中有哪些進(jìn)程,進(jìn)程的優(yōu)先級(jí)等。進(jìn)程的優(yōu)先級(jí)等。 設(shè)備(設(shè)備(device),任何沒有處理功能的機(jī)器,任何沒有處理功能的機(jī)器,如打印機(jī)、終端等。如打印機(jī)、終端等。Application SeverDB SeverClientPrinter 1Printer 2(2)關(guān)系 部署圖用關(guān)聯(lián)關(guān)系表示各節(jié)點(diǎn)之間通信路徑,表示為一條實(shí)線。 在連接硬件時(shí)通常關(guān)心節(jié)點(diǎn)之間是如何連接的,因此關(guān)聯(lián)關(guān)系一般不使用名稱,而是使用構(gòu)造型。關(guān)系示例:2.部署圖建模技術(shù)部署圖建模技術(shù)部署圖用于對(duì)系統(tǒng)的實(shí)現(xiàn)視圖建模。繪制這些

11、視部署圖用于對(duì)系統(tǒng)的實(shí)現(xiàn)視圖建模。繪制這些視圖主要是為了描述系統(tǒng)中各個(gè)物理組成部分的分圖主要是為了描述系統(tǒng)中各個(gè)物理組成部分的分布、提交和安裝過程。布、提交和安裝過程。 在實(shí)際應(yīng)用中,并不是每一個(gè)軟件開發(fā)項(xiàng)目在實(shí)際應(yīng)用中,并不是每一個(gè)軟件開發(fā)項(xiàng)目都必須繪制部署圖。如果項(xiàng)目開發(fā)組所開發(fā)的軟都必須繪制部署圖。如果項(xiàng)目開發(fā)組所開發(fā)的軟件系統(tǒng)只需要運(yùn)行于一臺(tái)計(jì)算機(jī)上,這種情況下件系統(tǒng)只需要運(yùn)行于一臺(tái)計(jì)算機(jī)上,這種情況下就沒有必要繪制配置圖了。就沒有必要繪制配置圖了。如果項(xiàng)目開發(fā)組所開發(fā)的軟件系統(tǒng)需要使用操作如果項(xiàng)目開發(fā)組所開發(fā)的軟件系統(tǒng)需要使用操作系統(tǒng)管理以外的設(shè)備(例如打印機(jī)、路由器等)、系統(tǒng)管理以

12、外的設(shè)備(例如打印機(jī)、路由器等)、或者系統(tǒng)中的設(shè)備分布在多個(gè)處理器上,這時(shí)就或者系統(tǒng)中的設(shè)備分布在多個(gè)處理器上,這時(shí)就有必要繪制部署圖,用其來(lái)幫助開發(fā)人員理解系有必要繪制部署圖,用其來(lái)幫助開發(fā)人員理解系統(tǒng)中軟件和硬件的映射關(guān)系。統(tǒng)中軟件和硬件的映射關(guān)系。3. 部署圖一個(gè)實(shí)例員工考勤系統(tǒng) IC卡讀卡器:提供給員工刷卡用,它將收集刷卡卡讀卡器:提供給員工刷卡用,它將收集刷卡的時(shí)間信息,傳給應(yīng)用系統(tǒng),并存入數(shù)據(jù)庫(kù)中的時(shí)間信息,傳給應(yīng)用系統(tǒng),并存入數(shù)據(jù)庫(kù)中 應(yīng)用服務(wù)器:用來(lái)負(fù)責(zé)從應(yīng)用服務(wù)器:用來(lái)負(fù)責(zé)從IC卡讀卡器中收集信息,卡讀卡器中收集信息,并對(duì)管理人員提供員工設(shè)置、考勤查詢等功能并對(duì)管理人員提供員

13、工設(shè)置、考勤查詢等功能 數(shù)據(jù)庫(kù)服務(wù)器:用來(lái)存儲(chǔ)考勤數(shù)據(jù),由于該系統(tǒng)數(shù)據(jù)庫(kù)服務(wù)器:用來(lái)存儲(chǔ)考勤數(shù)據(jù),由于該系統(tǒng)比較小,因此在物理上可以與應(yīng)用服務(wù)器合并比較小,因此在物理上可以與應(yīng)用服務(wù)器合并 客戶端軟件:提供給管理人員使用,連接應(yīng)用服客戶端軟件:提供給管理人員使用,連接應(yīng)用服務(wù)器,完成相應(yīng)操作務(wù)器,完成相應(yīng)操作 客戶端:需使用客戶端:需使用Windows操作系統(tǒng),安裝客戶操作系統(tǒng),安裝客戶端軟件(假設(shè)名為端軟件(假設(shè)名為KaoQing.exe) 服務(wù)器:包含一個(gè)用服務(wù)器:包含一個(gè)用Delphi開發(fā)的服務(wù)端軟件開發(fā)的服務(wù)端軟件(設(shè)為(設(shè)為KqServer.exe),它需要與),它需要與Access

14、數(shù)據(jù)數(shù)據(jù)庫(kù)交互(設(shè)為庫(kù)交互(設(shè)為KaoQing.mdb),并且需要通過),并且需要通過IC卡讀卡器的驅(qū)動(dòng)程序(假設(shè)名為卡讀卡器的驅(qū)動(dòng)程序(假設(shè)名為cardReader.dll)來(lái)實(shí)現(xiàn)與)來(lái)實(shí)現(xiàn)與IC卡讀卡器通信卡讀卡器通信 IC卡讀寫器:對(duì)于本系統(tǒng)而言,它是不執(zhí)行構(gòu)件卡讀寫器:對(duì)于本系統(tǒng)而言,它是不執(zhí)行構(gòu)件的設(shè)備,不過為了方便員工,安裝了的設(shè)備,不過為了方便員工,安裝了3個(gè)。個(gè)。至此,我們已經(jīng)學(xué)習(xí)了UML的5 5類共類共9 9種圖,下種圖,下面總結(jié)一下:面總結(jié)一下:UML圖小結(jié)Actor AUse Case 1Use Case 2Actor B user : ClerkmainWnd : Ma

15、inWndfileMgr : FileMgrrepository : Repositorydocument : DocumentgFile : GrpFile9: sortByName ( )L1: Doc view request ( )2: fetchDoc( )5: readDoc ( )7: readFile ( )3: create ( )6: fillDocument ( )4: create ( )8: fillFile ( ) Window95 .EXE WindowsNT .EXEWindowsNT Windows95Solaris.EXE AlphaUNIX IBM Mai

16、nframeWindows95 DocumentFileManagerGraphicFileFileRepositoryDocumentListFileListusermainWndfileMgr : FileMgrrepositorydocument : DocumentgFile1: Doc view request ( )2: fetchDoc( )3: create ( )4: create ( )5: readDoc ( )6: fillDocument ( )7: readFile ( )8: fillFile ( )9: sortByName ( ) . . .OpenningW

17、ritingReadingClosingadd file numberOffile=MAX / flag OFFadd fileclose fileclose fileUse Case 3Use-CaseDiagramClass DiagramCollaboration DiagramSequence DiagramComponent DiagramStatechartDiagramGrpFileread( )open( )create( )fillFile( )repRepositoryname : char * = 0readDoc( )readFile( )(from Persisten

18、ce)FileMgrfetchDoc( )sortByName( )DocumentListadd( )delete( )Documentname : intdocid : intnumField : intget( )open( )close( )read( )sortFileList( )create( )fillDocument( )fList1FileListadd( )delete( )1Fileread( )read() fill the code.Deployment Diagram圖:最直接的一種組織元素圖:最直接的一種組織元素模型:模型:-業(yè)務(wù)分析模型業(yè)務(wù)分析模型 -系統(tǒng)分析

19、模型系統(tǒng)分析模型-設(shè)計(jì)模型設(shè)計(jì)模型 -實(shí)現(xiàn)模型實(shí)現(xiàn)模型-測(cè)試模型測(cè)試模型視圖視圖-邏輯視圖邏輯視圖 -進(jìn)程視圖進(jìn)程視圖-實(shí)現(xiàn)視圖實(shí)現(xiàn)視圖 -部署視圖部署視圖包:視圖、模型、子系統(tǒng)、層、包包:視圖、模型、子系統(tǒng)、層、包視圖模型圖用例視圖業(yè)務(wù)/系統(tǒng)分析模型(為主)用例圖、交互圖、狀態(tài)機(jī)圖、類圖、交互概述圖設(shè)計(jì)模型交互圖、狀態(tài)機(jī)圖、類圖、交互概述圖邏輯視圖業(yè)務(wù)分析模型類圖設(shè)計(jì)分析模型(為主)類圖、交互圖、狀態(tài)機(jī)圖、對(duì)象圖、包圖設(shè)計(jì)模型活動(dòng)圖、交互圖、活動(dòng)圖、交互概述圖、狀態(tài)機(jī)圖、對(duì)象圖實(shí)現(xiàn)視圖設(shè)計(jì)模型構(gòu)件圖、部署圖部署視圖設(shè)計(jì)模型部署圖建模時(shí)切忌摳細(xì)節(jié)、鉆牛角尖,例如為聚合建模時(shí)切忌摳細(xì)節(jié)、鉆牛角尖,例如為聚

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論