版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1/10/20241UML簡介UML統(tǒng)一建模語言
(UnifiedModelingLanguage)1/10/20242UML產(chǎn)生與發(fā)展70年代中期,公認的面向?qū)ο蠼UZ言出現(xiàn)。從1989年到1994年,其數(shù)量從不到十種增加到了五十多種。90年代中,一批新方法出現(xiàn)了,其中最引人注目的是Booch1993、OOSE和OMT-2等。1/10/20243UML產(chǎn)生與發(fā)展面對眾多的建模語言,用戶由于沒有能力區(qū)別不同語言之間的差別,因此很難找到一種比較適合其應用特點的語言;眾多的建模語言實際上各有千秋;雖然不同的建模語言大多類同,但仍存在某些細微的差別,極大地妨礙了用戶之間的交流。因此在客觀上,極有必要在精心比較不同的建模語言優(yōu)缺點及總結(jié)面向?qū)ο蠹夹g(shù)應用實踐的基礎(chǔ)上,取其精華,去其糟粕,求同存異,統(tǒng)一建模語言。1/10/20244UML產(chǎn)生與發(fā)展1994年10月,GradyBooch和JimRumbaugh開始致力于這一工作。他們首先將Booch93和OMT-2統(tǒng)一起來,并于1995年10月發(fā)布了第一個公開版本,稱之為統(tǒng)一方法UM0.8(UnitedMethod)。1995年秋,OOSE的創(chuàng)始人IvarJacobson加盟到這一工作。經(jīng)過Booch、Rumbaugh和Jacobson三人的共同努力,于1996年6月和10月分別發(fā)布了兩個新的版本,即UML0.9和UML0.91,并將UM重新命名為UML(UnifiedModelingLanguage)。1/10/20245UML產(chǎn)生與發(fā)展1996年,一些機構(gòu)將UML作為其商業(yè)策略已日趨明顯。UML的開發(fā)者得到了來自公眾的正面反應,并倡議成立了UML成員協(xié)會,以完善、加強和促進UML的定義工作。當時的成員有DEC、HP、I-Logix、Itellicorp、IBM、ICONComputing、MCISystemhouse、Microsoft、Oracle、RationalSoftware、TI以及Unisys。這一機構(gòu)對UML1.0(1997年1月)及UML1.1(1997年11月17日)的定義和發(fā)布起了重要的促進作用。1/10/20246UML的產(chǎn)生和成長 1/10/20247Rational三劍客1/10/20248UML內(nèi)容任何語言都有語法和語義兩個方面。UML采用元-元模型、元模型、模型和用戶對象四個層次來定義其體系結(jié)構(gòu)。作為一種建模語言,UML的定義包括UML語義和UML表示法兩個部分。1/10/20249UML語言的體系結(jié)構(gòu)元-元模型元模型模型用戶對象1/10/202410UML語義UML語義描述基于UML的精確元模型定義。元模型為UML的所有元素在語法和語義上提供了簡單、一致、通用的定義性說明,使開發(fā)者能在語義上取得一致。此外UML還支持對元模型的擴展定義。1/10/202411UML表示法UML表示法定義UML符號的表示法。它為開發(fā)者或開發(fā)工具使用這些圖形符號和文本語法為系統(tǒng)建模提供了標準。這些圖形符號和文字所表達的是應用級的模型,在語義上它是UML元模型的實例。1/10/202412在UML元模型中定義了很多模型元素,如:UseCase、對象類、接口、組件等,為了模型的可視化,UML為每個模型元素規(guī)定的特定的圖形符號來表示。符號與圖形1/10/202413活動者是作用于系統(tǒng)的一個角色或者說是一個外部用戶?;顒诱呖梢允且粋€人,也可以是使用本系統(tǒng)的外部系統(tǒng)?;顒诱撸ˋctor)活動者名1/10/202414用例是對活動者使用系統(tǒng)的一項功能的交互過程的陳述。用例(UseCase)用例名1/10/202415用戶進行登錄的用例圖用戶登錄1/10/202416對象類(類)是具有相同屬性和相同操作的對象的集合。對象類(Class)1/10/202417接口是一種抽象類,它對外提供一組操作,但自己沒有屬性和方法(操作的實現(xiàn)),它是在沒有給出對象實現(xiàn)的情況下對對象行為的描述。接口使用對象類的圖形表示方法,接口名前面加構(gòu)造型《interface》。接口(Interface)接口名屬性方法()<<Interface>>1/10/202418包也是一種模型元素,可以把語義相近的模型元素組織在一個包里,增加對模型元素的可維護性。包(Package)包名1/10/202419關(guān)聯(lián)就是類或?qū)ο笾愭溄拥拿枋觥jP(guān)聯(lián)(Association)1/10/202420組合關(guān)系用于表示對象之間部分和整體關(guān)系,關(guān)系很緊密。組合(Composition)1/10/202421聚合關(guān)系也用于表示對象之間部分和整體關(guān)系,但關(guān)系比較松散。聚合(Aggregation)1/10/202422泛化用于表示對象之間一般和特殊的結(jié)構(gòu)關(guān)系。泛化(Generalization)1/10/202423依賴表示兩個或多個模型元素之間語義上的關(guān)系。依賴(Dependency)1/10/202424實現(xiàn)是指一個模型元素(如:類)是另一個模型元素(如:接口)的實現(xiàn)。實現(xiàn)(Realization)1/10/202425消息(Message)一般消息返回消息1/10/202426注釋沒有特定的語義,它用于對其他模型元素的補充說明。注釋(Comment)注釋內(nèi)容1/10/202427UML構(gòu)造塊支配這些構(gòu)造塊如何放在一起的規(guī)則。運用于整個UML的公共機制。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.動作事物(Behavioralthings)3.分組事物(Groupingthings)4.注釋事物(Notationalthings)這些事物是UML模型中最基本的面向?qū)ο蟮慕ㄖK。它們在模型中屬于最靜態(tài)的部分。UML的事物
1/10/202430客觀世界是一個復雜的系統(tǒng),需要從不同的角度來考察,才能真正理解這個系統(tǒng)。為了能支持從不同角度來考察系統(tǒng),標準建模語言UML定義了下列5類、共9種模型圖:UML模型圖1/10/202431用例圖靜態(tài)圖行為圖交互圖實現(xiàn)圖UML模型圖1/10/202432從用戶角度描述系統(tǒng)功能,并指出各功能的操作者。
1.用例圖1/10/202433包括類圖、對象圖和包圖。類圖描述系統(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)的整個生命周期都是有效的。2.靜態(tài)圖1/10/202434對象圖是類圖的實例,幾乎使用與類圖完全相同的標識。不同點在于對象圖顯示類的多個對象實例,而不是實際的類。一個對象圖是類圖的一個實例。由于對象存在生命周期,因此對象圖只能在系統(tǒng)某一時間段存在。包由包或類組成,表示包與包之間的關(guān)系。包圖用于描述系統(tǒng)的分層結(jié)構(gòu)。2.靜態(tài)圖1/10/202435描述系統(tǒng)的動態(tài)模型和組成對象間的交互關(guān)系。狀態(tài)圖描述類的對象所有可能的狀態(tài)以及事件發(fā)生時狀態(tài)的轉(zhuǎn)移條件。通常,狀態(tài)圖是對類圖的補充。在實用上并不需要為所有的類畫狀態(tài)圖,僅為那些有多個狀態(tài)其行為受外界環(huán)境的影響并且發(fā)生改變的類畫狀態(tài)圖?;顒訄D描述滿足用例要求所要進行的活動以及活動間的約束關(guān)系,有利于識別并行活動。3.行為圖1/10/202436描述對象間的交互關(guān)系。順序圖顯示對象之間的動態(tài)合作關(guān)系,它強調(diào)對象之間消息發(fā)送的順序,同時顯示對象之間的交互(也稱時序圖、序列圖);協(xié)作圖描述對象間的協(xié)作關(guān)系,協(xié)作圖跟順序圖相似,顯示對象間的動態(tài)合作關(guān)系。除顯示信息交換外,協(xié)作圖還顯示對象以及它們之間的關(guān)系。如果強調(diào)時間和順序,則使用順序圖;如果強調(diào)上下級關(guān)系,則選擇協(xié)作圖。4.交互圖1/10/202437構(gòu)件圖描述代碼部件的物理結(jié)構(gòu)及各部件之間的依賴關(guān)系。一個部件可能是一個資源代碼部件、一個二進制部件或一個可執(zhí)行部件。
它包含邏輯類或?qū)崿F(xiàn)類的有關(guān)信息。部件圖有助于分析和理解部件之間的相互影響程度。配置圖定義系統(tǒng)中軟硬件的物理體系結(jié)構(gòu)。它可以顯示實際的計算機和設(shè)備(用節(jié)點表示)以及它們之間的連接關(guān)系,也可顯示連接的類型及部件之間的依賴性。在節(jié)點內(nèi)部,放置可執(zhí)行部件和對象以顯示節(jié)點跟可執(zhí)行軟件單元的對應關(guān)系。5.實現(xiàn)圖1/10/202438用例圖展現(xiàn)了一組用例、參與者以及它們間的關(guān)系??梢杂糜美龍D描述系統(tǒng)的靜態(tài)使用情況。在對系統(tǒng)行為組織和建模方面,用例圖是相當重要的。用例圖1/10/202439用例圖中包含三種模型元素:系統(tǒng)、角色、用例。在畫用例圖時,還要畫出元素之間的各種關(guān)系。用例圖角色(Actor)系統(tǒng)(System)用例(UseCase)關(guān)系(relationship)1/10/202440系統(tǒng)是用例模型的一個組成部分。它代表一臺機器或者一個業(yè)務活動。而并不是真正實現(xiàn)的軟件系統(tǒng)。系統(tǒng)的邊界用來說明構(gòu)建的用例模型的應用范圍。用例圖—系統(tǒng)1/10/202441例如一臺自助式售貨機(被看作系統(tǒng))應提供售貨、供貨、提取銷售款等功能。這些功能在自動售貨機之內(nèi)的區(qū)域起作用,自動售貨機之外的情況不考慮。系統(tǒng)邊界1/10/202442角色是與系統(tǒng)交互的人或者事物。角色代表一個群體,而不具體的指某一個體。用例圖—角色(Actor)1/10/202443用例代表一個完整的功能。是對一組動作序列的描述,顯示了系統(tǒng)是如何被使用。用例的特征:
1.用例總由角色初始化。
2.用例為角色提供值。
3.用例具有完整性。用例圖—用例(UseCase)1/10/2024441/10/202445類圖是用類和它們之間的關(guān)系描述系統(tǒng)的一種圖示。類、對象和它們之間的關(guān)聯(lián)是面向?qū)ο蠹夹g(shù)中最基本的元素。類模型和對象模型揭示了系統(tǒng)的結(jié)構(gòu)。類圖(Classdiagram)1/10/202446類圖1/10/202447類的命名應盡量用應用領(lǐng)域中的術(shù)語,應明確、無歧義,以利于開發(fā)人員與用戶之間的相互理解和交流。類的獲取是一個依賴于人的創(chuàng)造力的過程,必須與領(lǐng)域?qū)<液献?對研究領(lǐng)域仔細地分析,抽象出領(lǐng)域中的概念,定義其含義及相互關(guān)系,分析出系統(tǒng)類,并用領(lǐng)域中的術(shù)語為類命名。一般而言,類的名字是名詞。類的名稱1/10/202448原則上來說,類的屬性應能描述并區(qū)分每個特定的對象;只有系統(tǒng)感興趣的特征才包含在類的屬性中;系統(tǒng)建模的目的也會影響到屬性的選取。屬性1/10/202449+,-,#屬性可視性屬性名[多重性]:類型=初始值1/10/202450+,-,#操作可視性操作名(參數(shù)列表):返回列表1/10/2024511/10/202452類與類的關(guān)系事物之間相互聯(lián)系的方式,無論是邏輯上的還是物理上的,都被建模為關(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.實現(xiàn)(realization)0..1*1/10/202454關(guān)聯(lián)關(guān)系是一種結(jié)構(gòu)關(guān)系,它指明一個事物的對象與另一個事物的對象間的聯(lián)系。恰好連接兩個類的關(guān)聯(lián)稱為二元關(guān)聯(lián)。多于兩個類的關(guān)聯(lián)稱為n元關(guān)聯(lián)。
1/10/202455關(guān)聯(lián)類和類一樣,關(guān)聯(lián)也可以有自己的屬性和操作。此時,這個關(guān)聯(lián)實際上是個關(guān)聯(lián)類(associationlass)。關(guān)聯(lián)類的可視化表示方式與一般的類相同,但是要用一條虛線把關(guān)聯(lián)和對應的關(guān)聯(lián)線連接起來。1/10/2024561/10/202457是用實例變量實現(xiàn)的。關(guān)聯(lián)在Java中1/10/202458聚合:構(gòu)成對象同構(gòu)組成:構(gòu)成對象異構(gòu)整體/部分關(guān)聯(lián)1/10/202459聚合聚合是關(guān)聯(lián)的特例。如果類與類之間的關(guān)系具有整體與部分(part-whole)的特點,則把這樣的關(guān)聯(lián)稱為聚合。1/10/202460是用實例變量實現(xiàn)的。關(guān)聯(lián)與聚合僅從Java語法分辨不出。聚合在Java中1/10/202461復合聚合/組成/合成如果構(gòu)成整體類的部分類,完全隸屬于整體類,稱這樣的聚合為復合聚合。1/10/202462代表整體的對象要負責代表部分對象的生命周期。不能共享。合成1/10/202463關(guān)聯(lián)的修飾名稱:關(guān)聯(lián)可以有一個名稱,用以描述該關(guān)系的性質(zhì)。角色:是關(guān)聯(lián)中靠近它的一端的類對另外一端的類呈現(xiàn)的職責。多重性:在關(guān)聯(lián)的另一端的類的每個對象要求在本端的類必須有多少個對象聚合:整體對象擁有部分對象。1/10/202464依賴關(guān)系是一種使用關(guān)系,它說明一個事物規(guī)格說明的變化可能影響到使用它的另一事物,但反之未必。1/10/202465總是單向的。依賴體現(xiàn)為方法參數(shù)或局部變量。依賴1/10/202466泛化關(guān)系是一般事物和該事物的較為特殊的種類之間的關(guān)系。一個類可以有0-多個父類。把沒有父類且至少有一個子類的類稱為根類或基類,把沒有子類的類稱為葉子類。1/10/202467泛化關(guān)系1/10/202468在繼承中往往給繼承關(guān)聯(lián)一個約束條件。預定義的約束有三種分類:互斥分類,包括重疊(overlap)和互斥(disjoint)不完全分類,包括完全(complete)和不完全(plete)動態(tài)分類,包括動態(tài)(dynamic)和靜態(tài)(static)。泛化關(guān)系1/10/202469互斥適合于具有兩個以上分組,能夠清晰區(qū)分事物,在同一時間一個事物只能屬于一組。重疊剛好與互斥相反。不完全適用于一個組的子組。在一個組中,不是所有可能的子組都包括在模型中。這個組可能存在一些成員,他們不屬于任何建模的子組。完全分類剛好相反,表示該模型包含了所有的子組。動態(tài)表示事物隨時間的變化而從屬于不同的子組。一個具有動態(tài)分類的事物可能在開始時屬于一個子組,但隨后又成為另一個子組的成員。而靜態(tài)表示自始至終屬于一個子組的成員。約束1/10/202470機動交通工具:汽車、飛機職工:經(jīng)理、非經(jīng)理動物:草食動物、肉食動物1/10/202471參數(shù)化類1/10/202472對象圖對象名有下列三種表示格式1對象名:類名2:類名3對象名
1/10/2024731/10/202474順序圖是描述對象是怎么交互的,著重體現(xiàn)對象間消息傳遞的時間順序。用順序圖說明系統(tǒng)的動態(tài)視圖。順序圖1/10/202475消息有三種:簡單消息(simple)同步消息(synchronous)異步消息(asynchronous)消息類型1/10/202476簡單消息(SimpleMessage)表示簡單的控制流。用于描述控制如何在對象間進行傳遞,而不考慮通信的細節(jié)。同步消息(SynchronousMessage)表示嵌套的控制流。操作的調(diào)用是一種典型的同步消息。調(diào)用者發(fā)出消息后必須等待消息返回,只有當處理消息的操作執(zhí)行完畢后,調(diào)用者才可繼續(xù)執(zhí)行自己的操作。異步消息(Asynchronous
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版城市照明電氣設(shè)備采購及運維合同
- 二零二五年度米面糧油倉儲物流服務采購合同2篇
- 2025年度水泥產(chǎn)品銷售渠道建設(shè)承包合同3篇
- 2025殘疾人冰雪項目財務管理與審計合同3篇
- 2025年度木門銷售合同書標準版4篇
- 二零二五版牛只運輸途中疫病防控與應急處理合同4篇
- 2025年度美容美發(fā)行業(yè)技師技能認證合同3篇
- 2025年度二零二五年度民辦學校教師心理健康輔導合同4篇
- 承包宅基地合同(2篇)
- 2025年度農(nóng)產(chǎn)品電商平臺傭金結(jié)算合同4篇
- 【京東倉庫出庫作業(yè)優(yōu)化設(shè)計13000字(論文)】
- 保安春節(jié)安全生產(chǎn)培訓
- 初一語文上冊基礎(chǔ)知識訓練及答案(5篇)
- 初中班級成績分析課件
- 勞務合同樣本下載
- 血液透析水處理系統(tǒng)演示
- GB/T 27030-2006合格評定第三方符合性標志的通用要求
- GB/T 13663.2-2018給水用聚乙烯(PE)管道系統(tǒng)第2部分:管材
- 同角三角函數(shù)的基本關(guān)系式同步練習
- 固定污染源自動監(jiān)控監(jiān)測系統(tǒng)現(xiàn)場端建設(shè)技術(shù)規(guī)范
- 教科版六年級科學下冊第一單元《小小工程師》背背默默知識點
評論
0/150
提交評論