【文章內(nèi)容簡(jiǎn)介】
示: [包名: ]類(lèi)名 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖?路徑名( path name):包名 : 類(lèi)名。 ?簡(jiǎn)單名( single name):類(lèi)名 ?屬性( Attribute) 是 類(lèi)的一個(gè)組成部分,描述了 類(lèi)所代表事物的特性。 ?屬性的表示 [可見(jiàn)性 ]屬性名 [:類(lèi)型 ][=初始值 ][{屬性字符串 }] ?可見(jiàn)性 public(?+‘)、 private(?‘)、 protected(?‘) 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖?操作( Operation) 操作是對(duì)類(lèi)的對(duì)象所能做的事務(wù)的抽象 。 ?操作的表示 [可見(jiàn)性 ]操作名 [(參數(shù)表 )][:返回類(lèi)型 ][{屬性字符串 }] ?職責(zé)( Responsibility) 職責(zé)是類(lèi)或者其他元素的契約或義務(wù)。 是類(lèi)的擴(kuò)展,增加第 4欄。 采用文本表示。 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖 關(guān)系 關(guān)系( Relationship)是事物間的關(guān)系。在抽象出類(lèi)后,類(lèi)不是獨(dú)立存在的,而是彼此間存在關(guān)系的。 常用的有 4種關(guān)系。 ?依賴(lài)( Dependency) ?泛化( Generalization) ?關(guān)聯(lián)( Association) ?實(shí)現(xiàn)( Realization) 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖?依賴(lài) 關(guān)系 依賴(lài)是兩個(gè)(或兩組)模型元素間的語(yǔ)義聯(lián)系,依賴(lài)雙方某一個(gè)模型元素的變化必影響到另 — 個(gè)模型元素。也就是說(shuō):客戶(hù)以某種方式依賴(lài)于提供者。 UML把依賴(lài)描述成一條有方向的虛線,指向被依賴(lài)的對(duì)象。 ?UML表示 第 2講 靜態(tài)視圖 B o x O f f i c e S c h e du l eEn gi n es c h edu l e u s e 課程簡(jiǎn)介 第 2講 靜態(tài)視圖?抽象依賴(lài) trace:聲明不同模型中相同元素之間的關(guān)系。一般是具體與抽象的關(guān)系。 refine:在同一個(gè)模型中的相同元素之間的關(guān)系。一般是具體與抽象的關(guān)系。 derive:聲明一個(gè)類(lèi)可以從另一個(gè)類(lèi)導(dǎo)處。 第 2講 靜態(tài)視圖 1)抽象依賴(lài) 2)使用依賴(lài) 3)授權(quán)依賴(lài) 4)綁定依賴(lài) ?依賴(lài)的基本類(lèi)型 課程簡(jiǎn)介 第 2講 靜態(tài)視圖?使用依賴(lài) use:使用另一個(gè)模型的元素。 call:操作間的依賴(lài),聲明調(diào)用其它類(lèi)方法操作的方法。 parameter:操作和類(lèi)之間的依賴(lài)。描述操作和參數(shù)之間的關(guān)系。 send:信號(hào)發(fā)送者和接收者之間的依賴(lài)。 instantiate:一個(gè)類(lèi)的方法創(chuàng)建了另一個(gè)類(lèi)的實(shí)例聲明。 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖friend:允許一個(gè)元素訪問(wèn)另一個(gè)元素,不管被訪問(wèn)的元素是否可見(jiàn)。 ?綁定 依賴(lài) bind:規(guī)定了客戶(hù)用給定的實(shí)際參數(shù)實(shí)例化提供者模板 第 2講 靜態(tài)視圖 ? 授權(quán)依賴(lài) access:是包間的依賴(lài),描述允許一個(gè)包訪問(wèn)另一個(gè)包的內(nèi)容。 import:與 access相似,允許一個(gè)包訪問(wèn)另一個(gè)包的內(nèi)容并為被訪問(wèn)包的組成部分增加別名。 課程簡(jiǎn)介 第 2講 靜態(tài)視圖?泛化 關(guān)系 泛化是一般 描述 和 具體描述之間的分類(lèi)關(guān)系,具體描述建立在一般描述的基礎(chǔ)之上,并對(duì)其進(jìn)行了擴(kuò)展。描述了“ is a kind of‖的關(guān)系。 從子類(lèi)指向父類(lèi)的空心三角形箭頭表示 。 ?UML表示 ?示例 圖書(shū)名和雜志名是題名的子類(lèi)。 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖?泛化的主要用途 ?多態(tài)性的體現(xiàn) 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖共享祖先所定義成分的前提下,允許它自身定義增加的描述,這被稱(chēng)作繼承。 ?繼承的體現(xiàn) ?單繼承 ?多繼承 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖? 關(guān)聯(lián) 關(guān)系 是一種結(jié)構(gòu)關(guān)系,指明一個(gè)事物的對(duì)象與另一個(gè)事物的對(duì)象之間的關(guān)系。對(duì)象間的關(guān)系也可以表示為類(lèi)間的關(guān)系。 關(guān)聯(lián)用一條連接相同類(lèi)或不同類(lèi)的實(shí)線表示 。 ?UML表示 ?關(guān)聯(lián)的修飾 名稱(chēng)、角色、多重性和聚合 。 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖?名稱(chēng) 描述關(guān)聯(lián)的性質(zhì)。關(guān)聯(lián)名稱(chēng)應(yīng)該是動(dòng)詞,表示源對(duì)象正在對(duì)目標(biāo)對(duì)象執(zhí)行動(dòng)作。 ?角色 當(dāng)類(lèi)處在關(guān)聯(lián)的一端時(shí),類(lèi)就在關(guān)聯(lián)中扮演一定的角色。使用名詞表示,體現(xiàn)為職責(zé)。 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖?多重性 表明兩個(gè)類(lèi)之間存在的連接數(shù)量的關(guān)系。 表示: minimum..maximum 修飾 語(yǔ)義 0..1 0或 1 1 1 0..* 0或更多 1..* 1或更多 * 0或更多 1..6 1~6 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖 P e r s o n C o m p a n y*1W o r k s f o r違反關(guān)聯(lián)關(guān)系: 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖?聚合關(guān)系( Aggregation Relationship) 表示類(lèi)間的關(guān)系是整體與部分之間的關(guān)系,是一種特殊的關(guān)聯(lián)關(guān)系。 M a i l M e s s a g eH e a d e r B o d y A t t a c h m e n t11 1 **第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖 M a i l M e s s a g eH e a d e r B o d y A t t a c h m e n t11 1 **?組合關(guān)系( Composition Relationship) 是一種更強(qiáng)的關(guān)聯(lián)關(guān)系,描述“部分”對(duì)象依賴(lài)于“整體”對(duì)象 ,它們具有一致的生命周期。 生命周期一致。 各自有自己的生命周期 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖?導(dǎo)航性( Navigation) 表示可以從源類(lèi)的任何對(duì)象到目標(biāo)類(lèi)的一個(gè)或多個(gè)對(duì)象的遍歷。 ?單向關(guān)聯(lián)( Unidirectional Association) 用一條帶箭頭的實(shí)線表示。 ?雙向關(guān)聯(lián)( Bidirectional Association) 用一條沒(méi)有箭頭的實(shí)線表示。 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖?實(shí)現(xiàn) 關(guān)系 實(shí)現(xiàn)是規(guī)格說(shuō)明和其實(shí)現(xiàn)間的關(guān)系。它表示不繼承結(jié)構(gòu)而只繼承 行為 。 在 UML中,實(shí)現(xiàn)關(guān)系用一條帶空心三角形箭頭的虛線來(lái)表示,箭頭方向指向接口。 ?表示 ?省略表示 將接口表示為一個(gè)小圓圈并和實(shí)現(xiàn)它的類(lèi)用一條線相連 。 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖 對(duì)象圖 在 UML里使用對(duì)象圖來(lái)描述參與一個(gè)交互的各對(duì)象在交互過(guò)程中某一時(shí)刻的狀態(tài)。 對(duì)象圖的概念和內(nèi)容 ? 對(duì)象圖( Object Diagram) 表示在某一時(shí)刻一組對(duì)象以及它們之間關(guān)系的圖。 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖? 對(duì)象圖的組成 ?節(jié)點(diǎn) ?連線 ?標(biāo)注 ?約束 可以表示是對(duì)象,也可以是類(lèi)。 表示對(duì)象間的關(guān)系 。 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖 對(duì)象圖建模 對(duì)象圖的建模過(guò)程: (1)確定參與交互的各對(duì)象的類(lèi),可以參照相應(yīng)的類(lèi)圖和交互圖; (2)確定類(lèi)間的關(guān)系,如依賴(lài)、泛化、關(guān)聯(lián)和實(shí)現(xiàn); (3)針對(duì)交互在某特定時(shí)刻各對(duì)象的狀態(tài),使用對(duì)象圖為這些對(duì)象建模; (4)建模時(shí),系統(tǒng)分析師要根據(jù)建模的目標(biāo),繪制對(duì)象的關(guān)鍵狀態(tài)和關(guān)鍵對(duì)象之間的連接關(guān)系。 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖第 2講 靜態(tài)視圖 包圖( Package Diagram) 由包和包之間的關(guān)系構(gòu)成,它是維護(hù)和控制系統(tǒng)總體結(jié)構(gòu)的重要建模工具。 課程簡(jiǎn)介 第 2講 靜態(tài)視圖 包的名字 模型包的名字是一個(gè)字符串,它可分為簡(jiǎn)單名( simple name)和路徑名( path name)。 ?簡(jiǎn)單名是指包僅含一個(gè)簡(jiǎn)單的名稱(chēng) 。 ?路徑名是指以包位于的外圍包的名字作為前綴的包名。 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖 包擁有的元素 包可以擁有 UML中的其他元素,包括類(lèi)、接口、組件、節(jié)點(diǎn)、協(xié)作、用例和圖,包甚至還可以包含其他包。 包是對(duì)模型元素進(jìn)行分組的機(jī)制,它把模型元素劃分成若干個(gè)子集。 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖 包的可見(jiàn)性 包的可見(jiàn)性用來(lái)控制包外界的元素對(duì)包內(nèi)元素的可訪問(wèn)權(quán)限,這一點(diǎn)和類(lèi)的可見(jiàn)性類(lèi)似。 ?公有訪問(wèn)( public) 包內(nèi)的模型元素可以被任何引入此包的其他包的內(nèi)含元素訪問(wèn)。公有訪問(wèn)用前綴于內(nèi)含元素名字的加號(hào)( +)表示。 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖?保護(hù)訪問(wèn)( protected) 表示此元素能被該模型包在繼承關(guān)系上后繼模式包的內(nèi)含元素訪問(wèn)。保護(hù)訪問(wèn)用前綴于內(nèi)含元素名字的#號(hào)(#)表示。 ?私有訪問(wèn)( private) 表示此元素可以被屬于用一包的內(nèi)含元素訪問(wèn)。私有訪問(wèn)用前綴于內(nèi)含元素名字的減號(hào)(-)表示。 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖 引入與輸出 在 UML里,引入一個(gè)包中的元素可以單向的訪問(wèn)另一個(gè)包中的元素。 ? 引入( import)關(guān)系 用構(gòu)造型的 import來(lái)修飾。 ? 輸出( export) 包中具有公有訪問(wèn)權(quán)限的內(nèi)含元素。 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 C l i e n t P a c k a g eG U I P a c k a g eP o l i c i e s P a c k a g eS e r v e r P a c k a g e第 2講 靜態(tài)視圖包 Policies引入包GUI, GUI包中的protected的類(lèi)在Policies中是不可見(jiàn)的 Client包引入了Policies,但沒(méi)有引入GUI,引入沒(méi)有傳遞性 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖 包中的泛化關(guān)系 包間也存在著泛化關(guān)系。包間的泛化關(guān)系也像類(lèi)那樣遵循替代原則,特殊包可以應(yīng)用到一般包被使用的任何地方。 ? 泛化關(guān)系 C l i e nt G U I P a c ka g eG U I P a c ka g e第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖 標(biāo)準(zhǔn)元素 ? UML的擴(kuò)充機(jī)制 ?系統(tǒng)( system) 可以使用標(biāo)記值來(lái)增加包的新特性,用構(gòu)造型來(lái)描述包的新種類(lèi)。 ? UML定義了 5種構(gòu)造型來(lái)為其標(biāo)準(zhǔn)擴(kuò)充 ?虛包( facade) ?框架( framework) ?樁( stub) ?子系統(tǒng)( subsystem) 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖 包圖建模技術(shù) 當(dāng)為較復(fù)雜的系統(tǒng)建模時(shí),使用包是非常有效的建模方法。包將建模元素按語(yǔ)義分組,從而使得復(fù)雜的系統(tǒng)模型能夠被構(gòu)造、表達(dá)、理解和管理。 ? 建立包圖的具體做法 ?分析系統(tǒng)模型元素(通常是對(duì)象類(lèi)),把概念上或語(yǔ)義上相近的模型元素納入一個(gè)包。 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖?確定包與包之間的泛化關(guān)系,確定包元素的多重性與重載。 ?繪制包圖。 ?包圖精化。 ?確定包與包之間的依賴(lài)關(guān)系,特別是輸入依賴(lài)。 ?對(duì)于每一個(gè)包,標(biāo)出其模型元素的可視性(公共、保護(hù)或私用)。 第 2講 靜態(tài)視圖 課程簡(jiǎn)介 第 2講 靜態(tài)視圖 實(shí)例 ——圖書(shū)館管理系統(tǒng)中的靜態(tài)視圖 第 2講 靜態(tài)視圖 建立類(lèi)圖步驟 ?研究分析問(wèn)題領(lǐng)域,確定系統(tǒng)的需求; ?發(fā)現(xiàn)對(duì)象和對(duì)象類(lèi),明確類(lèi)的屬性和操作; ?發(fā)現(xiàn)類(lèi)之間的靜態(tài)關(guān)系,一般與特殊關(guān)系,部分和整體關(guān)系,研究類(lèi)之間的繼承性和多重性; ?設(shè)計(jì)類(lèi)與關(guān)系; ?繪制類(lèi)圖并編制相應(yīng)的說(shuō)明 課程簡(jiǎn)介 類(lèi)的生成 第 2講 靜態(tài)視圖以圖書(shū)管理系統(tǒng)的讀者與書(shū)籍信息、借閱信息和預(yù)留信息等為例來(lái)說(shuō)明對(duì)象圖的建立過(guò)程。 ?讀者類(lèi)的基本屬性 ? 名字 郵編 ?