




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第四章第四章 UMLUML建模技術(shù)建模技術(shù)4.1 面向?qū)ο蠼<癠ML簡介4.2 用例視圖4.3 動態(tài)模型圖4.4 靜態(tài)模型圖4.5 本章小結(jié)4.1 面向?qū)ο蠼<懊嫦驅(qū)ο蠼<癠ML簡介簡介4.1.1 面向?qū)ο蠼C嫦驅(qū)ο蠼?建模是為了能夠更好地理解正在開發(fā)的系統(tǒng)。所謂模型,就為了理解事物而對事物作出的一種抽象模擬,是對事物的一種無歧義的書面描述。通常,模型由一組圖示符號和組織這些符號的規(guī)則組成,利用它們來定義和描述問題域中的術(shù)語和概念。更進一步講,模型是一種思考工具,利用這種工具可以把知識規(guī)范地表示出來。模型可以幫助思考問題、定義術(shù)語、在選擇術(shù)語時作出適當(dāng)?shù)募僭O(shè),并且可以保持定義和假設(shè)的
2、一致性。4.1 面向?qū)ο蠼<懊嫦驅(qū)ο蠼<癠ML簡介簡介通過建模,可以達到四個個目的:n有助于按照實際情況或按照所需要的樣式對系統(tǒng)進行可視化n能夠規(guī)約系統(tǒng)的結(jié)構(gòu)或行為n給出指導(dǎo)構(gòu)造系統(tǒng)的模板n對做出的決策進行文檔化4.1.1 面向?qū)ο蠼C嫦驅(qū)ο蠼?.1 面向?qū)ο蠼<懊嫦驅(qū)ο蠼<癠ML簡介簡介 統(tǒng)一建模語言UML是一種標(biāo)準(zhǔn)的建模語言,是用為面向?qū)ο箝_發(fā)系統(tǒng)的產(chǎn)品進行說明、可視化和編制文檔的方法。它主要以圖形的方式對系統(tǒng)進行分析、設(shè)計。軟件工程領(lǐng)域在1995年至1997年取得了前所未有的進展,其成果超過軟件工程領(lǐng)域過去15年來的成就總和。其中最重要的、具有劃時代重大意義的成果之一就是UM
3、L的出現(xiàn)。從第一個UML語言標(biāo)準(zhǔn)1.0于1997年推出以來,軟件產(chǎn)業(yè)界支持UML的各種工具和平臺也被迅速推出,UML及其平臺已被廣泛應(yīng)用于軟4.1.2 UML簡介簡介4.1 面向?qū)ο蠼<懊嫦驅(qū)ο蠼<癠ML簡介簡介 件開發(fā)的各個階段,包括分析、設(shè)計、測實現(xiàn)、配織置和維護過程。由于UML已由國際對象管理組OMG(Object Management Group)標(biāo)準(zhǔn)化為軟件建模的統(tǒng)一語言,因此在工業(yè)界、學(xué)術(shù)界已被廣泛承認(rèn)與采用。在世界范圍內(nèi),UML是面向?qū)ο蠹夹g(shù)領(lǐng)域內(nèi)占主導(dǎo)地位的標(biāo)準(zhǔn)建模語言。4.1.2 UML簡介簡介4.1 面向?qū)ο蠼<懊嫦驅(qū)ο蠼<癠ML簡介簡介4.1.2 UML簡介簡介圖
4、4.1 UML建模結(jié)構(gòu)圖 4.2 用例視圖用例視圖 用例視圖中可以包含若干個用例(Use Case)。用例圖用來表示系統(tǒng)能夠提供的功能(用法),一個用例是系統(tǒng)功能(用法)的一個通用描述。用例視圖是其它視圖的核心和基礎(chǔ),其它視圖的構(gòu)造和發(fā)展依賴于用例圖中所描述的內(nèi)容。因為系統(tǒng)的最終目標(biāo)是提供用例視圖中描述的功能,同時附帶一些非功能的性質(zhì),因此用例視圖影響著其它的視圖。同時,用例視圖還可用于測試系統(tǒng)是否滿足用戶的需求和驗證系統(tǒng)的有效性。 4.2 用例視圖用例視圖 在UML中,用例用橢圓來表示,它用來記錄用戶或外界環(huán)境從頭到尾使用系統(tǒng)的一系列事件。用戶被稱為“執(zhí)行者”(Actor),執(zhí)行者可以是人,
5、也可以是另一個系統(tǒng)。它與當(dāng)前的系統(tǒng)進行交互,向系統(tǒng)提供輸入或從系統(tǒng)中獲得輸出,用一個人形(Stickman)來表示。用例圖顯示了用例和執(zhí)行者、用例與用例之間以及執(zhí)行者與執(zhí)行者之間的關(guān)系。關(guān)系描述模型元素之間的語義連接;在UML中,關(guān)系使用實線來表示,實線可以有箭頭,也可以沒有箭頭。 4.2 用例視圖用例視圖(1)執(zhí)行者 執(zhí)行者是指在系統(tǒng)外部與系統(tǒng)交互的人或其它系統(tǒng),他以某種方式參與系統(tǒng)內(nèi)用例的執(zhí)行。當(dāng)劃分了系統(tǒng)的范圍并明確了系統(tǒng)邊界后,從系統(tǒng)應(yīng)用的角度出發(fā),找尋那些與系統(tǒng)進行信息交換(包括數(shù)據(jù)信息和控制信息)的外部事物,包括系統(tǒng)使用人員、硬件設(shè)備及外部系統(tǒng),來確定執(zhí)行者。我們 可以從以下角度來
6、尋找和確定執(zhí)行者: 1)使用系統(tǒng)主要功能的人。 2)需要借助于系統(tǒng)完成日常工作的人。 4.2 用例視圖用例視圖3)維護、管理系統(tǒng),保證系統(tǒng)正常工作的人。4)系統(tǒng)是否使用使用外部資源。5)系統(tǒng)和已經(jīng)存在的系統(tǒng)是否存在交互。 例如在學(xué)生成績管理系統(tǒng)中,除了查詢成績的學(xué)生之外,還有以下執(zhí)行者:1)系統(tǒng)管理員對系統(tǒng)的更新和維護。2)老師對學(xué)生成績查詢和更新數(shù)據(jù) 4.2 用例視圖用例視圖(2)用例 用例代表的是一個完整的功能,是執(zhí)行者想要系統(tǒng)做的事情;它是特定執(zhí)行者對系統(tǒng)的“使用情況”。 用例一般具有以下的特征1 用例總是從執(zhí)行者的角度來編寫的用例所代表的功能必須由執(zhí)行者激活,然后才能執(zhí)行。2 用例總是
7、從執(zhí)行者的角度來編寫的由于用例描述的是用戶的功能需求,只能從用戶的角度出發(fā)才能真正了解用戶需要什么樣的功能。 4.2 用例視圖用例視圖3 用例具有完全性用例是一個完整的描述。雖然在編程實現(xiàn)時,一個用例可以被分解成為多個小用例(函數(shù)或方法),用例之間可以互相調(diào)用執(zhí)行,但是只有最終產(chǎn)生了返回給執(zhí)行者的結(jié)果值,才能說用例執(zhí)行完畢。 4.2 用例視圖用例視圖(3)用例圖內(nèi)元素的關(guān)系 一般將執(zhí)行者和用例之間的關(guān)系稱為通信,而用例與用例之間可以存在的關(guān)系分為泛化(eneralization)包含(Include)、擴展(Extend)和使用(Use)四種。另外執(zhí)行者與執(zhí)行者之間也可以存在泛化關(guān)系。 4.2
8、 用例視圖用例視圖(1)泛化關(guān)系 UML中的泛化關(guān)系就是通常所說的繼承關(guān)系,表示幾個元素某些共性。它是通用元素和具體元素之間的一種分類關(guān)系。在UML中,用一端為空心三角形的連線表示泛化關(guān)系,三角形的頂角緊挨著通用元素。 例如在買票系統(tǒng)中,個人購買和團體定購都是買票的特例,肯有一些共同的特征,將這些共同的特征抽象出來,定義一個“買票”的基本用例(基用例),個人購買和團體定購從“買票”的基用例繼承??梢杂脠D4.3所示的用例圖來表示。 4.2 用例視圖用例視圖圖4.3 用例的泛化關(guān)系圖4.4 執(zhí)行者的泛化關(guān)系 4.2 用例視圖用例視圖 如果多個執(zhí)行者之間存在很多共性,就可以使用泛來分解共性行為。比如
9、學(xué)生成績管理系統(tǒng)中,涉及用戶包括系統(tǒng)管理員(Admin)和學(xué)生(Student),他們都是用例圖中的執(zhí)行者,他們的主要特征相似,都具有姓名、賬號等信息,所以可以抽象出“基”執(zhí)行者。用例圖可以表示為圖4.4的形式。 4.2 用例視圖用例視圖(2)包含關(guān)系包含關(guān)系指的是兩個用例之間的關(guān)系,其中一個用例(基用例)的行為包含了另一個用例的功能。如果兩個以上的用例有相同的功能,則可以將這個功能分解到另一個用例中,基用例則包含了分解出來的新用例的功能。 例如在學(xué)生成績管理系統(tǒng)中,學(xué)生和系統(tǒng)管理員都需要先登錄然后才能進行相關(guān)的操作。這時就可以分解一個登錄用例出來,讓學(xué)生和系統(tǒng)管理員都包含它。在UML中使用表
10、示包含關(guān)系,如圖4.5所示。 4.2 用例視圖用例視圖 包含關(guān)系是比較特殊的依賴關(guān)系,它們比一般的依賴關(guān)系多了一些語義。在包含關(guān)系中,箭頭的指向是從基本用例到包含用例,也就是說,基本用例依賴于包含用例。圖4.5 學(xué)生成績管理系統(tǒng)用例圖中的包含關(guān)系 4.2 用例視圖用例視圖(3)擴展關(guān)系擴展關(guān)系的基本含義與泛化關(guān)系類似,但對擴展用例有更多的限制,即基用例必須具有“擴展點”。而擴展用例只能在擴展點上增加新的行為和含義。也就是說,擴展關(guān)系允許一個用例(可選)擴展另一個用例(基用例)提供的功能。與包含關(guān)系一樣,擴展關(guān)系也是依賴關(guān)系,而包含關(guān)系是特殊的依賴關(guān)系,這兩個關(guān)系都是把相同功能分離到另一個用例中
11、。 4.2 用例視圖用例視圖 在UML中使用表示擴展關(guān)系,箭頭的方向是從擴展用例到基用例。 例如,在自動售貨機系統(tǒng)中,“售貨”是一個基本的用例,如果顧客購買罐裝飲料,售貨功能可以順利完成。但是,如果顧客要購買用紙杯裝的散裝飲料,則不能執(zhí)行該用例提供的常規(guī)動作,而要做些改動。我們可以修改售貨用例,使之既能提供售罐裝飲料的常規(guī)動作又能提供售散裝飲料的非常規(guī)動作。我們可以把常規(guī)動作放在售貨用例中,把非常規(guī)動作放置于售散裝飲料用例中,這兩個用例之間的關(guān)系就是擴展關(guān)系,如圖4.6所示。 4.2 用例視圖用例視圖圖4.6 自動售貨系統(tǒng)用例中的擴展關(guān)系 4.2 用例視圖用例視圖(4)使用關(guān)系 使用關(guān)系也是一
12、種繼承關(guān)系。在使用關(guān)系中,一個用例使用另一個用例的功能和行為。在UML中,用例之間的使用關(guān)系的圖形描述和用例的繼承關(guān)系一樣,用一條帶空心箭頭的實線連接一個子用例和一個父用例,實線上方標(biāo)明構(gòu)造型表明兩個用例是使用關(guān)系。如圖4.7所示: 4.2 用例視圖用例視圖 圖中表明,子用例在使用父用例的功能和行為。如果有多個子用例使用同一個父用例,表明這些子用例在共享父用例的功能和行為。圖4.7 用例之間的使用關(guān)系 4.3 動態(tài)模型圖動態(tài)模型圖 用例圖顯示系統(tǒng)應(yīng)該做什么,活動圖則指明了系統(tǒng)將如何實現(xiàn)它的目標(biāo)。活動圖顯示鏈接在一起的高級動作,代表系統(tǒng)中發(fā)生的操作流程?;顒訄D在面向?qū)ο笙到y(tǒng)的不同組件之間建模工作
13、流和并發(fā)過程行為。活動圖用來描述采取何種動作、做什么(對象狀態(tài)改變)、何時發(fā)生(動作序列)以及在何處發(fā)生(泳道)。 在UML中,活動圖可以用作下述目的:n描述一個操作執(zhí)行過程中所完成的工作(動作),這是活動圖最常見的用途。4.3.1活動圖活動圖n描述對象內(nèi)部的工作。n顯示如何執(zhí)行一組相關(guān)的動作以及這些動作如何影響它們周圍的對象。n顯示用例的實例如何執(zhí)行動作以及如何改變對象狀態(tài)。n說明一次商務(wù)活動中的人(角色)工作流組織和對象是如何工作的。(1)活動圖的基本要素 活動圖的基本元素包括活動、遷移、起始活動、終止活動、條件判定以及并發(fā)活動,如圖4.9所示。 4.3 動態(tài)模型圖動態(tài)模型圖 4.3 動態(tài)
14、模型圖動態(tài)模型圖圖4.9 活動圖的基本元素(2)泳道 活動圖告訴人們發(fā)生了什么,但是不能告訴該項活動由誰來完成。對于程序設(shè)計而言,活動圖沒有指出每個活動是由哪個類負責(zé)。而對于建模而言,活動圖沒有表達出某些活動是由哪些人或哪些部門負責(zé)。雖然可以在每個活動上標(biāo)記出其所負責(zé)的類或者部門,但難免帶出諸多麻煩。泳道的引用解決了這些問題。泳道將活動圖劃分為若干組,每一組指定給負責(zé)這組活動的業(yè)務(wù)組織,即對象。在活動圖中泳道區(qū)分了負責(zé)活動的對象,它明確地表示了哪些活動是由哪些對象進行的。在包含泳道的活動圖中每個活動只能明確地屬于一個泳道。 4.3 動態(tài)模型圖動態(tài)模型圖(3)活動圖建模步驟建模活動圖時,可以按照
15、以下五步來進行:1)標(biāo)識需要活動圖的用例。2)建模每一個用例的主路徑。3)建模每一個用例的從路徑。4)添加泳道來標(biāo)識活動的事務(wù)分區(qū)。5)改進高層活動并添加到更多活動圖。 4.3 動態(tài)模型圖動態(tài)模型圖(4)活動圖中的并發(fā)與同步活動活動圖中,一個動作(或活動)狀態(tài)的遷移可以分劈成兩個或多個導(dǎo)致并行動作(或活動)狀態(tài)的遷移;若干個來自并行動作(或活動)的遷移也可以接合成一個遷移。值得注意的是,一個動作(或活動)狀態(tài)遷移分劈后,在接合之前并行遷移上的活動必須全部完成。也就是說,動作狀態(tài)的同步分劈和同步接合要成對的出現(xiàn)。在一個同步分劈與同步接合對中,可以嵌套另一個同步分劈與同步合并對。圖4.14中就出現(xiàn)
16、了同步分劈與同步接合對?;顒訄D的基本元素包括活動、遷移、起始活動、終止活動、條件判定以及并發(fā)活動,如圖4.9所示。 4.3 動態(tài)模型圖動態(tài)模型圖4.3.2 順序圖順序圖 4.3 動態(tài)模型圖動態(tài)模型圖 順序圖用來描述對象之間動態(tài)的交互關(guān)系,著重體現(xiàn)對象間消息傳遞的時間順序,是一種強調(diào)消息的時序交互圖。它由執(zhí)行者、對象、消息、生命線和激活期組成。在UML中對象表示為一個矩形,其中對象名稱標(biāo)有下標(biāo)線;消息在順序圖中由有標(biāo)記的箭頭表示;生命線由虛線表示,激活期由薄薄的矩形表示。 4.3 動態(tài)模型圖動態(tài)模型圖(1)對象順序圖中所包含的每個對象用一個對象框表示,對象名需帶下劃線。n對象名后面可以跟“:”及
17、其創(chuàng)建該對象的類名。n對象一般位于順序圖的頂部。n交互頻繁的對象盡量靠攏,可以使畫面清晰。n對整個交互活動進行初始化的對象放在圖的最左邊。n在交互過程中產(chǎn)生的對象應(yīng)放在產(chǎn)生該對象的時間點處 4.3 動態(tài)模型圖動態(tài)模型圖n過程中對象改變了屬性值、狀態(tài)或角色,則在生命線上該對象的改變點處畫上該對象的圖符副本,并注明有關(guān)的變更。(2)生命線n對象框下面的一條垂直虛線,稱為該對象的生命線,表示該對象的生存時間。n生命線從該對象創(chuàng)建開始到釋放,其生存期多長,虛線就有多長。n生命線表示該對象的生命處在休眠期,等待消息的激活 4.3 動態(tài)模型圖動態(tài)模型圖(3)消息在順序圖中,對象之間消息的傳遞用兩個對象生命
18、線之間的消息箭頭線表示,用來指出該對象執(zhí)行期間的時序。n在順序圖中,不同的消息表示對象間不同類型的通信n簡單消息表示消息類型未知或與類型無關(guān),或是一個同步消息的返回n同步消息表示發(fā)送對象必須等接收對象完成消息的處理后才能繼續(xù)執(zhí)行n異步消息表示發(fā)送對象在消息發(fā)送后繼續(xù)執(zhí)行,而不等待接收對象的返回消息 4.3 動態(tài)模型圖動態(tài)模型圖n傳送延遲可用傾斜的箭頭表示,意思是消息發(fā)送后需經(jīng)歷一段延遲時間才被接收 (4)激活期 對象生命線上的一個細長方形框,表示該對象的激活時間段。 n當(dāng)一個休眠的對象接收到一個消息時,該對象開始活動,稱為激活 n激活展示了某時間點哪個對象能夠響應(yīng)或發(fā)送消息,執(zhí)行動作或活動n一
19、個激活的對象要么執(zhí)行自己的代碼,要么在等待另一個對象的返回 4.3 動態(tài)模型圖動態(tài)模型圖n接垂直坐標(biāo)從上到下的次序讀順序圖,可以觀察到隨時間的前進消息通信的順序 n激活期長方形的上端與動作的開始時間齊平,下端與動作的完成時間齊平 n激活期外,對象處在休眠期,什么事都不做,但它仍然存在,等待消息的激活 4.3 動態(tài)模型圖動態(tài)模型圖圖4.13 學(xué)生成績查詢順序圖 4.3 動態(tài)模型圖動態(tài)模型圖 協(xié)作圖由執(zhí)行者、對象、連接和消息基本元素組成。(1)對象與順序圖一樣,協(xié)作圖中的對象也用短式標(biāo)記,即在一個方框內(nèi)標(biāo)識對象名。對象一般在協(xié)作圖中擔(dān)當(dāng)一個具體的角色,可以把對象名寫為對象的角色名。如果不標(biāo)明角色名
20、,則說明該對象角色為匿名對象。(2)連接在協(xié)作圖中,對象之間的連接用連接兩個對象的實線表示。在連接上可以標(biāo)明角色名。連接角色名用來說明連接路徑,規(guī)定在交互中對象之間連接的角色類型。4.3.3 協(xié)作圖協(xié)作圖 4.3 動態(tài)模型圖動態(tài)模型圖(3)消息協(xié)作圖畫成對象圖,圖中的消息箭頭表示對象之間的消息流,消息上標(biāo)以序號,說明消息發(fā)送的順序,還可以指明條件、重復(fù)和回送值等。一個協(xié)作圖從一個引起整個系統(tǒng)交互或協(xié)作的消息開始,例如調(diào)用某一個操作。圖4.14是一個蜂窩電話的協(xié)作圖. 4.3 動態(tài)模型圖動態(tài)模型圖圖4.14 蜂窩電話的協(xié)作圖 4.3 動態(tài)模型圖動態(tài)模型圖4.3.4 狀態(tài)圖狀態(tài)圖 狀態(tài)圖是眾多開發(fā)
21、人員都十分熟悉甚至經(jīng)常使用的工具,它描述了一個特定對象的所有可能狀態(tài)以及由于各種事件的發(fā)生而引起的狀態(tài)之間的轉(zhuǎn)移。大多數(shù)面向?qū)ο蠹夹g(shù)都使用狀態(tài)圖來描述一個對象在其生命周期中的行為,尤其是通過給單個類繪制圖以表示該類單個對象的生存期行為。狀態(tài)圖適合于描述跨越多個用例的單個對象的行為,而不適合描述多個對象之間的行為協(xié)作。 狀態(tài)圖由表示狀態(tài)的結(jié)點和表示狀態(tài)之間轉(zhuǎn)換的帶箭頭的直線組成。若干個狀態(tài)由一條或者多條轉(zhuǎn)換箭頭連接,狀態(tài)的轉(zhuǎn)換由事件觸發(fā)。模型元素的行為可以由狀態(tài)圖 4.3 動態(tài)模型圖動態(tài)模型圖中的一條通路表示,沿著此通路執(zhí)行一系列動作。 在UML中,狀態(tài)圖由狀態(tài)、遷移、初始狀態(tài)、終止?fàn)顟B(tài)、條件判
22、定等元素組成。 4.3 動態(tài)模型圖動態(tài)模型圖圖4.15 圖書對象的狀態(tài)圖 4.4 靜態(tài)模型圖靜態(tài)模型圖4.4.1 類圖類圖 類圖是描述類、接口以及它們之間關(guān)系的圖,它顯示了系統(tǒng)中各個類的靜態(tài)結(jié)構(gòu),是一種靜態(tài)模型。類圖根據(jù)系統(tǒng)中的類以及各個類的關(guān)系描述系統(tǒng)的靜態(tài)視圖??梢杂媚撤N面向?qū)ο蟮恼Z言實現(xiàn)類圖中的類。 類圖是面向?qū)ο笙到y(tǒng)建模中最常用和最基本的圖之一,其它許多圖,如狀態(tài)圖、協(xié)作圖、組件圖和配置圖等都是在類圖的基礎(chǔ)上進一步描述了系統(tǒng)其它方面的特性。類圖中可以包含了七個模型元素,它們分別是:類、接口、依賴關(guān)系、泛化關(guān)系、關(guān)聯(lián)關(guān)系和實現(xiàn)關(guān)系等模型元素。在類圖中也可以包含注釋、約束、包或子系統(tǒng)。 4
23、.4 靜態(tài)模型圖靜態(tài)模型圖4.4.1 類圖類圖(1)尋找類 從用例圖中尋找類,一般是從用例的事件流開始,查處事件流中的名詞來獲得類,在事件流中,名詞可以分為角色、類、類屬性和表達式四種類型;也可以檢查順序圖和協(xié)作圖中的對象,通過對象的共性來尋找類,順序圖和協(xié)作圖中每一個對象都要映射到相應(yīng)的類。當(dāng)然,可能有些類無法通過以上方法找到。 類可以分為實體類(Entity)邊界類(Boundary)和控制類(Control)三種類型。 4.4 靜態(tài)模型圖靜態(tài)模型圖(2)類表示 在UML中一個類用一個矩形方框表示,它被分成三個區(qū)域。最上面的區(qū)域是類名,中間的區(qū)域是類的屬性,下面的區(qū)域是類的操作。類圖就是由
24、這些類和表明類之間如何關(guān)聯(lián)的連線組成。 例如在一個學(xué)校的任意一個學(xué)生都具有學(xué)號和姓名兩個屬性,以及改變學(xué)號和姓名的操作,這樣就可以建立如圖4.17所示的Student類。 4.4 靜態(tài)模型圖靜態(tài)模型圖圖4.17 學(xué)生類的類圖 4.4 靜態(tài)模型圖靜態(tài)模型圖(3)類關(guān)系 類圖由類及類與類之間的關(guān)系組成。在類圖中,常用的關(guān)系主要有關(guān)聯(lián)、聚集、泛化、依賴和實現(xiàn)等四種關(guān)系關(guān)聯(lián)。1)關(guān)聯(lián) 表示類的實例之間存在的某種關(guān)系,定義了對象之間的關(guān)系準(zhǔn)則,在應(yīng)用程序創(chuàng)建和使用關(guān)系時,關(guān)聯(lián)提供了維護關(guān)系完整性的規(guī)則,通常用一個無向線段表示。 只要在類與類之間存在連接關(guān)系就可以用普通關(guān)聯(lián)表示。普通關(guān)聯(lián)的圖示符號是連接兩
25、個類之間的直線。通常,關(guān)聯(lián)是雙向的,可在一個方向上為關(guān)聯(lián)起一個名字,在另一個方向上起另一個名字。 4.4 靜態(tài)模型圖靜態(tài)模型圖在表示關(guān)聯(lián)的直線兩端可以寫上重數(shù)(Multiplicity),用“.”分隔開的區(qū)間,它表示該類有多少個對象與對方的一個對象連接。具體示例如圖4.18所示。圖4.18 普通關(guān)聯(lián)示例圖 4.4 靜態(tài)模型圖靜態(tài)模型圖表4.2 重數(shù)的表示方法重數(shù)的表示方法通常如表4.2所示。 4.4 靜態(tài)模型圖靜態(tài)模型圖圖4.19 共享聚集示意圖2)聚集 聚集是一種特殊類型的關(guān)聯(lián),它指出類間的“整體與部分”關(guān)系。聚集是關(guān)聯(lián)的特例,它可以有重數(shù)、角色、限制符號等。聚集關(guān)聯(lián)有共享聚集和組合聚集兩種
26、。 4.4 靜態(tài)模型圖靜態(tài)模型圖 組合聚集是指整體擁有它的部分,它具有強的物主身份,表示事物的整體與部分關(guān)系較強的情況。實心菱形表示組合聚集,它畫在代表事物整體的一端部分生存在整體中不可分離,它與整體一起存在或消亡。整體的重數(shù)必須是0或1,而部分重數(shù)可以是任意的。例如,菜單和按鈕不能脫離窗口對象而獨立存在,如果組合被破壞,則其中的成員對象不會繼續(xù)存在,如圖4.20所示。 4.4 靜態(tài)模型圖靜態(tài)模型圖圖4.20 組合聚集示意圖 4.4 靜態(tài)模型圖靜態(tài)模型圖3)泛化 UML中的泛化關(guān)系就是通常所說的繼承關(guān)系,它是通用元素和具體元素之間的一種分類關(guān)系。具體元素完全擁有通用元素的信息,并且還可以附加一
27、些其它信息。在UML中,用一端為空心的三角形連線表示泛化關(guān)系,三角形的頂角緊挨著通用元素。 泛化關(guān)系描述了“is a kind of”(是的一種)的關(guān)系。例如,彩色電視機和黑白電視機都是電視機的一種。在類中,通用元素被稱超類或父類,而具體元素被稱為子類,如圖4.21所示 4.4 靜態(tài)模型圖靜態(tài)模型圖圖4.21 泛化關(guān)系示意圖 4.4 靜態(tài)模型圖靜態(tài)模型圖圖4.20 組合聚集示意圖圖4.22 依賴關(guān)系示意圖 4.4 靜態(tài)模型圖靜態(tài)模型圖4)依賴 依賴是兩個模型元素之間的語義連接,一個獨立的模型元素,另一個是依賴的模型元素,獨立元素的變化會影響依賴的元素。例如,一個類把另一個類的對象作為參數(shù),一個
28、類訪問另一個類的全局對象,或者一個類調(diào)用另一個類的類操作。依賴用帶箭頭的虛線表示,位于虛線箭頭尾部的類(稱為客戶)依賴于箭頭所指向的類(稱為供應(yīng)者)。5)實現(xiàn) 實現(xiàn)是規(guī)格說明和其實現(xiàn)之間的關(guān)系,它將一種模型元素與另一種模型元素連接起來,比如類與接口。 4.4 靜態(tài)模型圖靜態(tài)模型圖雖然實現(xiàn)關(guān)系意味著要具有接口一樣的說明元素,但是也可以用一個具體的實現(xiàn)元素來暗示它的說明必須被支持。例如,實現(xiàn)關(guān)系可以用來表示類的一個優(yōu)化形式和一個簡單低效的形式之間的關(guān)系。在UML中,實現(xiàn)關(guān)系的符號與泛化關(guān)系的符號類似,用一條帶指向接口的空心三角箭頭的虛線表示,如圖4.23所示。 圖4.23 實現(xiàn)關(guān)系示意圖 4.4
29、靜態(tài)模型圖靜態(tài)模型圖4.4.2 組件圖組件圖 組件是系統(tǒng)中可以進行替換的物理部分,它不僅將系統(tǒng)如何實現(xiàn)包裝起來,而且提供一組實現(xiàn)了的接口。所以它表示實現(xiàn)后的實體,也就是物理實體。組件是可以復(fù)用的單元,具有非常廣泛的定義。每個組件可能包含很多類,實現(xiàn)很多接口。 組件圖描述了軟件的各種組件和它們之間的依賴關(guān)系。組件圖中通常包含組件、接口和依賴關(guān)系三種元素。每個組件實現(xiàn)一些接口,并使用另一些接口。如果組件間的依賴關(guān)系與接口有關(guān),那么可以被具有同樣接口的其它組件所替代。 4.4 靜態(tài)模型圖靜態(tài)模型圖4.4.2 組件圖組件圖 例如,在選課系統(tǒng)中包括MainProgram類,People類、FormObject類、ControlObject類、Student類、Rgistrar類、Course類和DataBase類。People類是Student類和Registrar類的基類,所以Student類和Registrar類依賴于People類。FormObject類和ControlObject類都和Course類相關(guān),F(xiàn)ormObject類和ControlObject類依賴Course類。 ControlObj
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 內(nèi)部配套銷售合同范例
- 買買車訂金合同范例
- 介紹婚姻服務(wù)合同范例
- 與礦簽合同范例
- 專利員工合同范例
- 兒童美術(shù)培訓(xùn)合同范例
- 個人掛靠建筑公司合同范例
- 中式裝修合同范例
- 信托合同貸款合同范例
- 兒子分戶合同范例
- 2025年安徽商貿(mào)職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及完整答案一套
- 2025年安徽商貿(mào)職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫a4版
- 2025年安徽財貿(mào)職業(yè)學(xué)院單招職業(yè)技能考試題庫標(biāo)準(zhǔn)卷
- 2025年2月時事政治100題及參考答案
- 2025中小學(xué)植樹節(jié)主題班會
- 瘋狂動物城賞析課件
- 2025浙江慈溪市水務(wù)集團限公司招聘國企業(yè)人員19人高頻重點提升(共500題)附帶答案詳解
- 制造業(yè)智能化生產(chǎn)流程改造實施方案
- 校車司機和跟車?yán)蠋熍嘤?xùn)
- 鐵道概論知到智慧樹章節(jié)測試課后答案2024年秋石家莊鐵道大學(xué)
- 北師大版(2024新版)七年級上冊數(shù)學(xué)第五章《一元一次方程》單元測試卷3(含答案解析)
評論
0/150
提交評論