版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
UML入門教程培訓(xùn)1面向?qū)ο蠼G疤峄A(chǔ):面對對象思想和面對對象設(shè)計面向?qū)ο蠼#耗P褪鞘裁?模型就是對現(xiàn)實世界的形狀或狀態(tài)的抽象模擬和簡化,模型提供了系統(tǒng)的骨架和藍(lán)圖.模型有助于按照實際情況或按照所需要的樣式對系統(tǒng)進(jìn)行可視化.模型能夠規(guī)約系統(tǒng)的結(jié)構(gòu)或行為.模型給出了指導(dǎo)構(gòu)造系統(tǒng)的模板.對軟件開發(fā)而言,軟件的對象模型有助于他們對軟件的需求以及系統(tǒng)的架構(gòu)和功能進(jìn)行溝通.以面向?qū)ο蠼榛A(chǔ)的開發(fā)模式(1)瀑布模型(2)噴泉模型(3)基于構(gòu)件的開發(fā)模型(4)XP方法2UML中的六大關(guān)系繼承指的是一個類(稱為子類、子接口)繼承另外的一個類(稱為父類、父接口)的功能,并可以增加它自己的新功能的能力,繼承是類與類或者接口與接口之間最常見的關(guān)系;在Java中此類關(guān)系通過關(guān)鍵字extends明確標(biāo)識,在設(shè)計時一般沒有爭議性;實現(xiàn)指的是一個class類實現(xiàn)interface接口(可以是多個)的功能;實現(xiàn)是類與接口之間最常見的關(guān)系;在Java中此類關(guān)系通過關(guān)鍵字implements明確標(biāo)識,在設(shè)計時一般沒有爭議性;3UML中的六大關(guān)系依賴可以簡單的理解,就是一個類A使用到了另一個類B,而這種使用關(guān)系是具有偶然性的、、臨時性的、非常弱的,但是B類的變化會影響到A;比如某人要過河,需要借用一條船,此時人與船之間的關(guān)系就是依賴;表現(xiàn)在代碼層面,為類B作為參數(shù)被類A在某個method方法中使用;關(guān)聯(lián)他體現(xiàn)的是兩個類、或者類與接口之間語義級別的一種強依賴關(guān)系,比如我和我的朋友;這種關(guān)系比依賴更強、不存在依賴關(guān)系的偶然性、關(guān)系也不是臨時性的,一般是長期性的,而且雙方的關(guān)系一般是平等的、關(guān)聯(lián)可以是單向、雙向的;表現(xiàn)在代碼層面,為被關(guān)聯(lián)類B以類屬性的形式出現(xiàn)在關(guān)聯(lián)類A中,也可能是關(guān)聯(lián)類A引用了一個類型為被關(guān)聯(lián)類B的全局變量;4聚合聚合是關(guān)聯(lián)關(guān)系的一種特例,他體現(xiàn)的是整體與部分、擁有的關(guān)系,即has-a的關(guān)系,此時整體與部分之間是可分離的,他們可以具有各自的生命周期,部分可以屬于多個整體對象,也可以為多個整體對象共享;比如計算機與CPU、公司與員工的關(guān)系等;表現(xiàn)在代碼層面,和關(guān)聯(lián)關(guān)系是一致的,只能從語義級別來區(qū)分;組合組合也是關(guān)聯(lián)關(guān)系的一種特例,他體現(xiàn)的是一種contains-a的關(guān)系,這種關(guān)系比聚合更強,也稱為強聚合;他同樣體現(xiàn)整體與部分間的關(guān)系,但此時整體與部分是不可分的,整體的生命周期結(jié)束也就意味著部分的生命周期結(jié)束;比如你和你的大腦;表現(xiàn)在代碼層面,和關(guān)聯(lián)關(guān)系是一致的,只能從語義級別來區(qū)分;UML中的六大關(guān)系5UML類圖類的命名盡量應(yīng)用領(lǐng)域中的術(shù)語,應(yīng)明確、無岐義,以利于相互交流和理解。類的屬性、操作中的可見性使用+、#、-分別表示public、protected、private。類之間的關(guān)系是類圖中比較復(fù)雜的內(nèi)容。有關(guān)聯(lián)、聚合、組合、范化、依賴關(guān)聯(lián):是模型元素之間的一種語義聯(lián)系,是類之間的一種很弱的聯(lián)系。關(guān)聯(lián)可以有方向,可以是單向關(guān)聯(lián),也可以是雙向關(guān)聯(lián)??梢越o關(guān)聯(lián)加上關(guān)聯(lián)名來描述關(guān)聯(lián)的作用。關(guān)聯(lián)兩端的類也可以以某種角色參與關(guān)聯(lián),角色可以具有多重性,表示可以有多少個對象參與關(guān)聯(lián)??梢酝ㄟ^關(guān)聯(lián)類進(jìn)一步描述關(guān)聯(lián)的屬性、操作以及其他信息。關(guān)聯(lián)類通過一條虛線與關(guān)聯(lián)連接。對于關(guān)聯(lián)可以加上一些約束,以加強關(guān)聯(lián)的含義。6UML類圖聚合是一種特殊的關(guān)聯(lián),聚合表示整體與部分的關(guān)系。通常在定義一個整體類后,再去分析這個整體類的組成結(jié)構(gòu)。從而找出一些組成類,該整體類和組成類之間就形成了聚合關(guān)系。例如艦隊是由一系列的艦船組成。需求描述中“包含”、“組成”、“分為….部分”等詞常意味著聚合關(guān)系。組合也是一種特殊的關(guān)聯(lián),也表示類之間整體和部分的關(guān)系,但是組合關(guān)系中部分和整體具有統(tǒng)一的生存期。一旦整體對象不存在,部分對象也將不存在。部分對象與整體對象之間具有共生死的關(guān)系。聚合和組合的區(qū)別:聚合關(guān)系是“has-a”關(guān)系,組合關(guān)系是“contains-a”關(guān)系;聚合關(guān)系表示整體與部分的關(guān)系比較弱,而組合比較強;聚合關(guān)系中代表部分事物的對象與代表聚合事物的對象的生存期無關(guān),一旦刪除了聚合對象不一定就刪除了代表部分事物的對象。組合中一旦刪除了組合對象,同時也就刪除了代表部分事物的對象。泛化定義了一般元素和特殊元素之間的分類關(guān)系,類之間的這種泛化關(guān)系也就是繼承關(guān)系。泛化關(guān)系是“a-kind-of”關(guān)系,定義一般元素和特殊元素之間的分類關(guān)系。下圖是一個泛化關(guān)系的例子。
7UML類圖有兩個元素如果修改X的定義可能會導(dǎo)致對Y的定義,則認(rèn)為Y依賴X。依賴關(guān)系可能由各種原因引起,如一個類向另一個類發(fā)送消息,或者一個類是另一個類的數(shù)據(jù)成員類型,或者一個類是另一個類的操作的參數(shù)類型等。有時依賴關(guān)系和關(guān)聯(lián)關(guān)系比較難區(qū)分。如果類A和類B有關(guān)聯(lián)關(guān)系,它們之間必然有依賴關(guān)系。如果兩個類之間有關(guān)聯(lián)關(guān)系時不用再表示出這兩個類之間的依賴關(guān)系。8UML類圖分類概念層類圖描述應(yīng)用領(lǐng)域中的概念,這些概念與實現(xiàn)它們的類有聯(lián)系。通常沒有直接的映射關(guān)系。畫概念層類圖時很少考慮或不考慮實現(xiàn)問題,因此概念層類圖應(yīng)獨立于具體的編程語言。下面是一個概念層類的表示。說明層類圖。此時我們考察的是類的接口部分,而不是實現(xiàn)部分。這個接口可能因為實現(xiàn)環(huán)境、運行特性等有多種不同的實現(xiàn)。下面是一個說明層類的表示。實現(xiàn)層類圖才真正考慮類的實現(xiàn)問題,提供實現(xiàn)的細(xì)節(jié)。此時的類的概念才應(yīng)該是真正的嚴(yán)格意義上的類。它揭示了軟件實體的構(gòu)成情況。實現(xiàn)層的類是最常用的,在很多的時候說明層的類更有助于人們對軟件的理解。9UML類圖解義10UML類圖11UML類圖12UML類圖13
UML活動圖
UML的活動圖(activitydiagram)是用于表示系統(tǒng)控制流的,是狀態(tài)圖的特殊形式?;顒訄D與流程圖比較類似,具有如下與流程圖不同的特征。1)不像系統(tǒng)流程圖那樣僅用于程序設(shè)計級,能用于描述概念級的模型2)能描述并行動作14UML活動圖1.泳道將模型中的活動按照職責(zé)組織起來通常很有用。例如,可以將一個商業(yè)組織處理的所有活動組織起來。這種分配可以通過將活動組織成用線分開的不同區(qū)域來表示。由于它們的外觀的緣故,這些區(qū)域被稱作泳道。2.對象流
活動圖能表示對象的值流和控制流。對象流狀態(tài)表示活動中輸入或輸出的對象。對輸出值而言,虛線箭頭從活動指向?qū)ο罅鳡顟B(tài)。對輸入值而言,虛線箭頭從對象流狀態(tài)指向活動。如果活動有多個輸出值或后繼控制流,那么箭頭背向分叉符號。同樣,多輸入箭頭指向結(jié)合符號。15UML活動圖16UML時序圖時序圖是一種交互圖,時序圖的重點是標(biāo)記出某個行為的對象類和這些對象類之間所傳遞的消息及其時間順序。另外時序圖允許直觀地表示出對象的生存期,在生存期內(nèi),對象可以對輸入消息做出響應(yīng),并且可以發(fā)送消息。正是對象生存期的引入,時序圖具備了時間順序的概念,從而可以清晰地表示出對象在其生存期的某一個時刻的動態(tài)行為。17UML時序圖18UML時序圖19UML時序圖20UML用例圖用例圖主要用來圖示化系統(tǒng)的主事件流程,它主要用來描述客戶的需求,即用戶希望系統(tǒng)具備的完成一定功能的動作,通俗地理解用例就是軟件的功能模塊,所以是設(shè)計系統(tǒng)分析階段的起點,設(shè)計人員根據(jù)客戶的需求來創(chuàng)建和解釋用例圖,用來描述軟件應(yīng)具備哪些功能模塊以及這些模塊之間的調(diào)用關(guān)系,用例圖包含了用例和參與者,用例之間用關(guān)聯(lián)來連接以求把系統(tǒng)的整個結(jié)構(gòu)和功能反映給非技術(shù)人員(通常是軟件的用戶),對應(yīng)的是軟件的結(jié)構(gòu)和功能分解用例是從系統(tǒng)外部可見的行為,是系統(tǒng)為某一個或幾個參與者(Actor)提供的一段完整的服務(wù)。從原則上來講,用例之間都是獨立、并列的,它們之間并不存在著包含從屬關(guān)系。但是為了體現(xiàn)一些用例之間的業(yè)務(wù)關(guān)系,提高可維護性和一致性,用例之間可以抽象出包含(include)、擴展(extend)和泛(generalization)幾種關(guān)系。1、包含(include)包含關(guān)系:使用包含(Inclusion)用例來封裝一組跨越多個用例的相似動作(行為片斷),以便多個基(Base)用例復(fù)用?;美刂婆c包含用例的關(guān)系,以及被包含用例的事件流是否會插入到基用例的事件流中?;美梢砸蕾嚢美龍?zhí)行的結(jié)果,但是雙方都不能訪問對方的屬性。包含關(guān)系對典型的應(yīng)用就是復(fù)用,也就是定義中說的情景。但是有時當(dāng)某用例的事件流過于復(fù)雜時,為了簡化用例的描述,我們也可以把某一段事件流抽象成為一個被包含的用例;相反,用例劃分太細(xì)時,也可以抽象出一個基用例,來包含這些細(xì)顆粒的用例。這種情況類似于在過程設(shè)計語言中,將程序的某一段算法封裝成一個子過程,然后再從主程序中調(diào)用這一子過程。21UML用例圖例如:業(yè)務(wù)中,總是存在著維護某某信息的功能,如果將它作為一個用例,那新建、編輯以及修改都要在用例詳述中描述,過于復(fù)雜;如果分成新建用例、編輯用例和刪除用例,則劃分太細(xì)。這時包含關(guān)系可以用來理清關(guān)系。2、擴展(extend)擴展關(guān)系:將基用例中一段相對獨立并且可選的動作,用擴展(Extension)用例加以封裝,再讓它從基用例中聲明的擴展點(ExtensionPoint)上進(jìn)行擴展,從而使基用例行為更簡練和目標(biāo)更集中。擴展用例為基用例添加新的行為。擴展用例可以訪問基用例的屬性,因此它能根據(jù)基用例中擴展點的當(dāng)前狀態(tài)來判斷是否執(zhí)行自己。但是擴展用例對基用例不可見。22UML用例圖例如,系統(tǒng)中允許用戶對查詢的結(jié)果進(jìn)行導(dǎo)出、打印。對于查詢而言,能不能導(dǎo)出、打印查詢都是一樣的,導(dǎo)出、打印是不可見的。導(dǎo)入、打印和查詢相對獨立,而且為查詢添加了新行為。因此可以采用擴展關(guān)系來描述:泛化
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 下屬違反財務(wù)制度
- 藝術(shù)團財務(wù)制度
- 健身房公司財務(wù)制度
- 社會社團財務(wù)制度
- 分析蘇寧易購財務(wù)制度
- 農(nóng)村集體經(jīng)濟組織會計稽核制度
- 景區(qū)商戶日常管理制度范本(3篇)
- 烤年糕活動方案策劃(3篇)
- 江北管道施工方案(3篇)
- 羊水栓塞不同治療方案的成本效果分析
- 手衛(wèi)生規(guī)范與標(biāo)準(zhǔn)預(yù)防
- 胃癌術(shù)后快速康復(fù)的護理
- 馬工程社會學(xué)概論考試重點
- 鋼筋混凝土圓管涵圓管計算程序(2020規(guī)范)
- DL∕T 2340-2021 大壩安全監(jiān)測資料分析規(guī)程
- 非遺文化媽祖祭典文化知識
- 《陸上風(fēng)電場工程概算定額》NBT 31010-2019
- GB/T 13789-2022用單片測試儀測量電工鋼帶(片)磁性能的方法
- GB/T 33092-2016皮帶運輸機清掃器聚氨酯刮刀
- GB/T 16535-2008精細(xì)陶瓷線熱膨脹系數(shù)試驗方法頂桿法
- 中學(xué)主題班會課:期末考試應(yīng)試技巧點撥(共34張PPT)
評論
0/150
提交評論