課件面向?qū)ο骲 uml_第1頁(yè)
課件面向?qū)ο骲 uml_第2頁(yè)
課件面向?qū)ο骲 uml_第3頁(yè)
課件面向?qū)ο骲 uml_第4頁(yè)
課件面向?qū)ο骲 uml_第5頁(yè)
已閱讀5頁(yè),還剩88頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1/10/20241UML簡(jiǎn)介UML統(tǒng)一建模語(yǔ)言

(UnifiedModelingLanguage)1/10/20242UML產(chǎn)生與發(fā)展70年代中期,公認(rèn)的面向?qū)ο蠼UZ(yǔ)言出現(xiàn)。從1989年到1994年,其數(shù)量從不到十種增加到了五十多種。90年代中,一批新方法出現(xiàn)了,其中最引人注目的是Booch1993、OOSE和OMT-2等。1/10/20243UML產(chǎn)生與發(fā)展面對(duì)眾多的建模語(yǔ)言,用戶由于沒(méi)有能力區(qū)別不同語(yǔ)言之間的差別,因此很難找到一種比較適合其應(yīng)用特點(diǎn)的語(yǔ)言;眾多的建模語(yǔ)言實(shí)際上各有千秋;雖然不同的建模語(yǔ)言大多類同,但仍存在某些細(xì)微的差別,極大地妨礙了用戶之間的交流。因此在客觀上,極有必要在精心比較不同的建模語(yǔ)言優(yōu)缺點(diǎn)及總結(jié)面向?qū)ο蠹夹g(shù)應(yīng)用實(shí)踐的基礎(chǔ)上,取其精華,去其糟粕,求同存異,統(tǒng)一建模語(yǔ)言。1/10/20244UML產(chǎn)生與發(fā)展1994年10月,GradyBooch和JimRumbaugh開(kāi)始致力于這一工作。他們首先將Booch93和OMT-2統(tǒng)一起來(lái),并于1995年10月發(fā)布了第一個(gè)公開(kāi)版本,稱之為統(tǒng)一方法UM0.8(UnitedMethod)。1995年秋,OOSE的創(chuàng)始人IvarJacobson加盟到這一工作。經(jīng)過(guò)Booch、Rumbaugh和Jacobson三人的共同努力,于1996年6月和10月分別發(fā)布了兩個(gè)新的版本,即UML0.9和UML0.91,并將UM重新命名為UML(UnifiedModelingLanguage)。1/10/20245UML產(chǎn)生與發(fā)展1996年,一些機(jī)構(gòu)將UML作為其商業(yè)策略已日趨明顯。UML的開(kāi)發(fā)者得到了來(lái)自公眾的正面反應(yīng),并倡議成立了UML成員協(xié)會(huì),以完善、加強(qiáng)和促進(jìn)UML的定義工作。當(dāng)時(shí)的成員有DEC、HP、I-Logix、Itellicorp、IBM、ICONComputing、MCISystemhouse、Microsoft、Oracle、RationalSoftware、TI以及Unisys。這一機(jī)構(gòu)對(duì)UML1.0(1997年1月)及UML1.1(1997年11月17日)的定義和發(fā)布起了重要的促進(jìn)作用。1/10/20246UML的產(chǎn)生和成長(zhǎng) 1/10/20247Rational三劍客1/10/20248UML內(nèi)容任何語(yǔ)言都有語(yǔ)法和語(yǔ)義兩個(gè)方面。UML采用元-元模型、元模型、模型和用戶對(duì)象四個(gè)層次來(lái)定義其體系結(jié)構(gòu)。作為一種建模語(yǔ)言,UML的定義包括UML語(yǔ)義和UML表示法兩個(gè)部分。1/10/20249UML語(yǔ)言的體系結(jié)構(gòu)元-元模型元模型模型用戶對(duì)象1/10/202410UML語(yǔ)義UML語(yǔ)義描述基于UML的精確元模型定義。元模型為UML的所有元素在語(yǔ)法和語(yǔ)義上提供了簡(jiǎn)單、一致、通用的定義性說(shuō)明,使開(kāi)發(fā)者能在語(yǔ)義上取得一致。此外UML還支持對(duì)元模型的擴(kuò)展定義。1/10/202411UML表示法UML表示法定義UML符號(hào)的表示法。它為開(kāi)發(fā)者或開(kāi)發(fā)工具使用這些圖形符號(hào)和文本語(yǔ)法為系統(tǒng)建模提供了標(biāo)準(zhǔn)。這些圖形符號(hào)和文字所表達(dá)的是應(yīng)用級(jí)的模型,在語(yǔ)義上它是UML元模型的實(shí)例。1/10/202412在UML元模型中定義了很多模型元素,如:UseCase、對(duì)象類、接口、組件等,為了模型的可視化,UML為每個(gè)模型元素規(guī)定的特定的圖形符號(hào)來(lái)表示。符號(hào)與圖形1/10/202413活動(dòng)者是作用于系統(tǒng)的一個(gè)角色或者說(shuō)是一個(gè)外部用戶?;顒?dòng)者可以是一個(gè)人,也可以是使用本系統(tǒng)的外部系統(tǒng)。活動(dòng)者(Actor)活動(dòng)者名1/10/202414用例是對(duì)活動(dòng)者使用系統(tǒng)的一項(xiàng)功能的交互過(guò)程的陳述。用例(UseCase)用例名1/10/202415用戶進(jìn)行登錄的用例圖用戶登錄1/10/202416對(duì)象類(類)是具有相同屬性和相同操作的對(duì)象的集合。對(duì)象類(Class)1/10/202417接口是一種抽象類,它對(duì)外提供一組操作,但自己沒(méi)有屬性和方法(操作的實(shí)現(xiàn)),它是在沒(méi)有給出對(duì)象實(shí)現(xiàn)的情況下對(duì)對(duì)象行為的描述。接口使用對(duì)象類的圖形表示方法,接口名前面加構(gòu)造型《interface》。接口(Interface)接口名屬性方法()<<Interface>>1/10/202418包也是一種模型元素,可以把語(yǔ)義相近的模型元素組織在一個(gè)包里,增加對(duì)模型元素的可維護(hù)性。包(Package)包名1/10/202419關(guān)聯(lián)就是類或?qū)ο笾愭溄拥拿枋?。關(guān)聯(lián)(Association)1/10/202420組合關(guān)系用于表示對(duì)象之間部分和整體關(guān)系,關(guān)系很緊密。組合(Composition)1/10/202421聚合關(guān)系也用于表示對(duì)象之間部分和整體關(guān)系,但關(guān)系比較松散。聚合(Aggregation)1/10/202422泛化用于表示對(duì)象之間一般和特殊的結(jié)構(gòu)關(guān)系。泛化(Generalization)1/10/202423依賴表示兩個(gè)或多個(gè)模型元素之間語(yǔ)義上的關(guān)系。依賴(Dependency)1/10/202424實(shí)現(xiàn)是指一個(gè)模型元素(如:類)是另一個(gè)模型元素(如:接口)的實(shí)現(xiàn)。實(shí)現(xiàn)(Realization)1/10/202425消息(Message)一般消息返回消息1/10/202426注釋沒(méi)有特定的語(yǔ)義,它用于對(duì)其他模型元素的補(bǔ)充說(shuō)明。注釋(Comment)注釋內(nèi)容1/10/202427UML構(gòu)造塊支配這些構(gòu)造塊如何放在一起的規(guī)則。運(yùn)用于整個(gè)UML的公共機(jī)制。UML概念模型1/10/202428UML的構(gòu)造塊

組成UML有三種基本的構(gòu)造塊:

1.事物(Things)4

2.關(guān)系(Relationships)4 3.圖(Diagrams)91/10/2024291.結(jié)構(gòu)事物(Structuralthings)2.動(dòng)作事物(Behavioralthings)3.分組事物(Groupingthings)4.注釋事物(Notationalthings)這些事物是UML模型中最基本的面向?qū)ο蟮慕ㄖK。它們?cè)谀P椭袑儆谧铎o態(tài)的部分。UML的事物

1/10/202430客觀世界是一個(gè)復(fù)雜的系統(tǒng),需要從不同的角度來(lái)考察,才能真正理解這個(gè)系統(tǒng)。為了能支持從不同角度來(lái)考察系統(tǒng),標(biāo)準(zhǔn)建模語(yǔ)言UML定義了下列5類、共9種模型圖:UML模型圖1/10/202431用例圖靜態(tài)圖行為圖交互圖實(shí)現(xiàn)圖UML模型圖1/10/202432從用戶角度描述系統(tǒng)功能,并指出各功能的操作者。

1.用例圖1/10/202433包括類圖、對(duì)象圖和包圖。類圖描述系統(tǒng)中類的靜態(tài)結(jié)構(gòu)。不僅定義系統(tǒng)中的類,表示類之間的聯(lián)系如關(guān)聯(lián)、依賴、聚合等,也包括類的內(nèi)部結(jié)構(gòu)(類的屬性和操作)。類圖描述的是一種靜態(tài)關(guān)系,在系統(tǒng)的整個(gè)生命周期都是有效的。2.靜態(tài)圖1/10/202434對(duì)象圖是類圖的實(shí)例,幾乎使用與類圖完全相同的標(biāo)識(shí)。不同點(diǎn)在于對(duì)象圖顯示類的多個(gè)對(duì)象實(shí)例,而不是實(shí)際的類。一個(gè)對(duì)象圖是類圖的一個(gè)實(shí)例。由于對(duì)象存在生命周期,因此對(duì)象圖只能在系統(tǒng)某一時(shí)間段存在。包由包或類組成,表示包與包之間的關(guān)系。包圖用于描述系統(tǒng)的分層結(jié)構(gòu)。2.靜態(tài)圖1/10/202435描述系統(tǒng)的動(dòng)態(tài)模型和組成對(duì)象間的交互關(guān)系。狀態(tài)圖描述類的對(duì)象所有可能的狀態(tài)以及事件發(fā)生時(shí)狀態(tài)的轉(zhuǎn)移條件。通常,狀態(tài)圖是對(duì)類圖的補(bǔ)充。在實(shí)用上并不需要為所有的類畫(huà)狀態(tài)圖,僅為那些有多個(gè)狀態(tài)其行為受外界環(huán)境的影響并且發(fā)生改變的類畫(huà)狀態(tài)圖?;顒?dòng)圖描述滿足用例要求所要進(jìn)行的活動(dòng)以及活動(dòng)間的約束關(guān)系,有利于識(shí)別并行活動(dòng)。3.行為圖1/10/202436描述對(duì)象間的交互關(guān)系。順序圖顯示對(duì)象之間的動(dòng)態(tài)合作關(guān)系,它強(qiáng)調(diào)對(duì)象之間消息發(fā)送的順序,同時(shí)顯示對(duì)象之間的交互(也稱時(shí)序圖、序列圖);協(xié)作圖描述對(duì)象間的協(xié)作關(guān)系,協(xié)作圖跟順序圖相似,顯示對(duì)象間的動(dòng)態(tài)合作關(guān)系。除顯示信息交換外,協(xié)作圖還顯示對(duì)象以及它們之間的關(guān)系。如果強(qiáng)調(diào)時(shí)間和順序,則使用順序圖;如果強(qiáng)調(diào)上下級(jí)關(guān)系,則選擇協(xié)作圖。4.交互圖1/10/202437構(gòu)件圖描述代碼部件的物理結(jié)構(gòu)及各部件之間的依賴關(guān)系。一個(gè)部件可能是一個(gè)資源代碼部件、一個(gè)二進(jìn)制部件或一個(gè)可執(zhí)行部件。

它包含邏輯類或?qū)崿F(xiàn)類的有關(guān)信息。部件圖有助于分析和理解部件之間的相互影響程度。配置圖定義系統(tǒng)中軟硬件的物理體系結(jié)構(gòu)。它可以顯示實(shí)際的計(jì)算機(jī)和設(shè)備(用節(jié)點(diǎn)表示)以及它們之間的連接關(guān)系,也可顯示連接的類型及部件之間的依賴性。在節(jié)點(diǎn)內(nèi)部,放置可執(zhí)行部件和對(duì)象以顯示節(jié)點(diǎn)跟可執(zhí)行軟件單元的對(duì)應(yīng)關(guān)系。5.實(shí)現(xiàn)圖1/10/202438用例圖展現(xiàn)了一組用例、參與者以及它們間的關(guān)系??梢杂糜美龍D描述系統(tǒng)的靜態(tài)使用情況。在對(duì)系統(tǒng)行為組織和建模方面,用例圖是相當(dāng)重要的。用例圖1/10/202439用例圖中包含三種模型元素:系統(tǒng)、角色、用例。在畫(huà)用例圖時(shí),還要畫(huà)出元素之間的各種關(guān)系。用例圖角色(Actor)系統(tǒng)(System)用例(UseCase)關(guān)系(relationship)1/10/202440系統(tǒng)是用例模型的一個(gè)組成部分。它代表一臺(tái)機(jī)器或者一個(gè)業(yè)務(wù)活動(dòng)。而并不是真正實(shí)現(xiàn)的軟件系統(tǒng)。系統(tǒng)的邊界用來(lái)說(shuō)明構(gòu)建的用例模型的應(yīng)用范圍。用例圖—系統(tǒng)1/10/202441例如一臺(tái)自助式售貨機(jī)(被看作系統(tǒng))應(yīng)提供售貨、供貨、提取銷售款等功能。這些功能在自動(dòng)售貨機(jī)之內(nèi)的區(qū)域起作用,自動(dòng)售貨機(jī)之外的情況不考慮。系統(tǒng)邊界1/10/202442角色是與系統(tǒng)交互的人或者事物。角色代表一個(gè)群體,而不具體的指某一個(gè)體。用例圖—角色(Actor)1/10/202443用例代表一個(gè)完整的功能。是對(duì)一組動(dòng)作序列的描述,顯示了系統(tǒng)是如何被使用。用例的特征:

1.用例總由角色初始化。

2.用例為角色提供值。

3.用例具有完整性。用例圖—用例(UseCase)1/10/2024441/10/202445類圖是用類和它們之間的關(guān)系描述系統(tǒng)的一種圖示。類、對(duì)象和它們之間的關(guān)聯(lián)是面向?qū)ο蠹夹g(shù)中最基本的元素。類模型和對(duì)象模型揭示了系統(tǒng)的結(jié)構(gòu)。類圖(Classdiagram)1/10/202446類圖1/10/202447類的命名應(yīng)盡量用應(yīng)用領(lǐng)域中的術(shù)語(yǔ),應(yīng)明確、無(wú)歧義,以利于開(kāi)發(fā)人員與用戶之間的相互理解和交流。類的獲取是一個(gè)依賴于人的創(chuàng)造力的過(guò)程,必須與領(lǐng)域?qū)<液献?對(duì)研究領(lǐng)域仔細(xì)地分析,抽象出領(lǐng)域中的概念,定義其含義及相互關(guān)系,分析出系統(tǒng)類,并用領(lǐng)域中的術(shù)語(yǔ)為類命名。一般而言,類的名字是名詞。類的名稱1/10/202448原則上來(lái)說(shuō),類的屬性應(yīng)能描述并區(qū)分每個(gè)特定的對(duì)象;只有系統(tǒng)感興趣的特征才包含在類的屬性中;系統(tǒng)建模的目的也會(huì)影響到屬性的選取。屬性1/10/202449+,-,#屬性可視性屬性名[多重性]:類型=初始值1/10/202450+,-,#操作可視性操作名(參數(shù)列表):返回列表1/10/2024511/10/202452類與類的關(guān)系事物之間相互聯(lián)系的方式,無(wú)論是邏輯上的還是物理上的,都被建模為關(guān)系。在面向?qū)ο蟮慕V?,?種最重要的關(guān)系:依賴、泛化和關(guān)聯(lián)。1/10/202453UML中的關(guān)系UML中有四種關(guān)系:

1.依賴(Dependency)2.關(guān)聯(lián)(Association)3.泛化(Generalization)4.實(shí)現(xiàn)(realization)0..1*1/10/202454關(guān)聯(lián)關(guān)系是一種結(jié)構(gòu)關(guān)系,它指明一個(gè)事物的對(duì)象與另一個(gè)事物的對(duì)象間的聯(lián)系。恰好連接兩個(gè)類的關(guān)聯(lián)稱為二元關(guān)聯(lián)。多于兩個(gè)類的關(guān)聯(lián)稱為n元關(guān)聯(lián)。

1/10/202455關(guān)聯(lián)類和類一樣,關(guān)聯(lián)也可以有自己的屬性和操作。此時(shí),這個(gè)關(guān)聯(lián)實(shí)際上是個(gè)關(guān)聯(lián)類(associationlass)。關(guān)聯(lián)類的可視化表示方式與一般的類相同,但是要用一條虛線把關(guān)聯(lián)和對(duì)應(yīng)的關(guān)聯(lián)線連接起來(lái)。1/10/2024561/10/202457是用實(shí)例變量實(shí)現(xiàn)的。關(guān)聯(lián)在Java中1/10/202458聚合:構(gòu)成對(duì)象同構(gòu)組成:構(gòu)成對(duì)象異構(gòu)整體/部分關(guān)聯(lián)1/10/202459聚合聚合是關(guān)聯(lián)的特例。如果類與類之間的關(guān)系具有整體與部分(part-whole)的特點(diǎn),則把這樣的關(guān)聯(lián)稱為聚合。1/10/202460是用實(shí)例變量實(shí)現(xiàn)的。關(guān)聯(lián)與聚合僅從Java語(yǔ)法分辨不出。聚合在Java中1/10/202461復(fù)合聚合/組成/合成如果構(gòu)成整體類的部分類,完全隸屬于整體類,稱這樣的聚合為復(fù)合聚合。1/10/202462代表整體的對(duì)象要負(fù)責(zé)代表部分對(duì)象的生命周期。不能共享。合成1/10/202463關(guān)聯(lián)的修飾名稱:關(guān)聯(lián)可以有一個(gè)名稱,用以描述該關(guān)系的性質(zhì)。角色:是關(guān)聯(lián)中靠近它的一端的類對(duì)另外一端的類呈現(xiàn)的職責(zé)。多重性:在關(guān)聯(lián)的另一端的類的每個(gè)對(duì)象要求在本端的類必須有多少個(gè)對(duì)象聚合:整體對(duì)象擁有部分對(duì)象。1/10/202464依賴關(guān)系是一種使用關(guān)系,它說(shuō)明一個(gè)事物規(guī)格說(shuō)明的變化可能影響到使用它的另一事物,但反之未必。1/10/202465總是單向的。依賴體現(xiàn)為方法參數(shù)或局部變量。依賴1/10/202466泛化關(guān)系是一般事物和該事物的較為特殊的種類之間的關(guān)系。一個(gè)類可以有0-多個(gè)父類。把沒(méi)有父類且至少有一個(gè)子類的類稱為根類或基類,把沒(méi)有子類的類稱為葉子類。1/10/202467泛化關(guān)系1/10/202468在繼承中往往給繼承關(guān)聯(lián)一個(gè)約束條件。預(yù)定義的約束有三種分類:互斥分類,包括重疊(overlap)和互斥(disjoint)不完全分類,包括完全(complete)和不完全(plete)動(dòng)態(tài)分類,包括動(dòng)態(tài)(dynamic)和靜態(tài)(static)。泛化關(guān)系1/10/202469互斥適合于具有兩個(gè)以上分組,能夠清晰區(qū)分事物,在同一時(shí)間一個(gè)事物只能屬于一組。重疊剛好與互斥相反。不完全適用于一個(gè)組的子組。在一個(gè)組中,不是所有可能的子組都包括在模型中。這個(gè)組可能存在一些成員,他們不屬于任何建模的子組。完全分類剛好相反,表示該模型包含了所有的子組。動(dòng)態(tài)表示事物隨時(shí)間的變化而從屬于不同的子組。一個(gè)具有動(dòng)態(tài)分類的事物可能在開(kāi)始時(shí)屬于一個(gè)子組,但隨后又成為另一個(gè)子組的成員。而靜態(tài)表示自始至終屬于一個(gè)子組的成員。約束1/10/202470機(jī)動(dòng)交通工具:汽車、飛機(jī)職工:經(jīng)理、非經(jīng)理動(dòng)物:草食動(dòng)物、肉食動(dòng)物1/10/202471參數(shù)化類1/10/202472對(duì)象圖對(duì)象名有下列三種表示格式1對(duì)象名:類名2:類名3對(duì)象名

1/10/2024731/10/202474順序圖是描述對(duì)象是怎么交互的,著重體現(xiàn)對(duì)象間消息傳遞的時(shí)間順序。用順序圖說(shuō)明系統(tǒng)的動(dòng)態(tài)視圖。順序圖1/10/202475消息有三種:簡(jiǎn)單消息(simple)同步消息(synchronous)異步消息(asynchronous)消息類型1/10/202476簡(jiǎn)單消息(SimpleMessage)表示簡(jiǎn)單的控制流。用于描述控制如何在對(duì)象間進(jìn)行傳遞,而不考慮通信的細(xì)節(jié)。同步消息(SynchronousMessage)表示嵌套的控制流。操作的調(diào)用是一種典型的同步消息。調(diào)用者發(fā)出消息后必須等待消息返回,只有當(dāng)處理消息的操作執(zhí)行完畢后,調(diào)用者才可繼續(xù)執(zhí)行自己的操作。異步消息(Asynchronous

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論