UML的關系解析.ppt_第1頁
UML的關系解析.ppt_第2頁
UML的關系解析.ppt_第3頁
UML的關系解析.ppt_第4頁
UML的關系解析.ppt_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、UML的關系,依賴(Dependency)關系 類屬(Generalization)關系 關聯(Association)關系 實現(Realization)關系,關系依賴關系,依賴關系描述了類之間的使用關系。 如果一個模型元素發(fā)生變化會影響另一個模型元素(這種影響不必是可逆的),那么就說在這兩個模型元素之間存在依賴關系。 例如:有兩個元素X、Y,如果修改元素X的定義會引起對元素Y的定義的修改,則稱元素Y依賴于元素X。,關系依賴關系,依賴關系的UML符號表示是帶箭頭的虛線,指向被依賴的模型元素。,關系依賴關系,在類圖中,依賴可以由許多原因引起,例如,一個類向另一個類發(fā)送消息(也即,一個類的操作調

2、用另一個類的操作),或者一個類是另一個類的數據成員,或者一個類是另一個類的某個操作參數,那么就可以說這兩個類之間存在著依賴關系。 語義上,所有的關系(包括關聯關系、類屬關系、實現關系)都是各種各樣的依賴關系,因為這3種關系具有很重要的語義,所以在UML中被分離出來成為獨立的關系。,關系類屬關系,在解決復雜性問題時,通常需要將具有共同特性的元素抽象成類別,并通過增加其內涵而進一步分類。例如,學生可以分為大學生、中學生和小學生,火車可以分為客運列車和貨運列車。 在面向對象方法中,將前者稱為一般元素、基類元素或父元素,將后者稱為特殊元素或子元素。 類屬關系描述了一般事物和該事物較為特殊的種類之間的關

3、系,也即父元素與子元素之間的關系。,關系類屬關系,類之間的類屬關系表示子類繼承一個或多個父類的結構與行為。類屬關系描述了類之間的“是一種”(is-a-kind-of)的關系,類屬關系用來連接一般類與特殊類,用來描述父類與子類或父與子的關系,子類繼承父類的特性,尤其是屬性和操作。 類屬關系的UML符號表示是帶空心箭頭的實線,箭頭指向父元素。,一個類可以有零個到多個父類,沒有父類且有一個或多個子類的類被稱為根類或基類。 沒有子類的類被稱為葉類。,如果在繼承關系中,每個類只能有一個父類,則是單繼承。 如果一個類有多于一個的父類存在,則被稱為多繼承。,關系關聯關系,關聯關系是一種結構關系,規(guī)定了一種事

4、物的對象可以與另一種事物的對象相連。 例如,雇員為公司工作,一個公司有很多部門,就可以認為雇員和公司、公司和部門之間存在某種語義上的聯系,在類圖模型中,就可以在類Employee(雇員)和類Company(公司)、類Company(公司)和類Department(部門)之間建立關聯關系。 關聯關系的UML符號表示是一條實線。,關系關聯關系,可以應用于關聯關系的四種基本修飾是: 名稱:描述關系的性質。 角色:關聯中靠近它一端的類對另外一端的類呈現的職責。 階元(Multiplicity):說明一個關聯的實例中有多少個相互連接的對象。 聚合(Aggregation):整體對象擁有部分對象。,關聯名

5、通常是一個動詞或動詞詞組,用來表示關聯關系的類型或目的。所選擇的關聯名應該有助于理解該模型。,關聯關系中的相關術語和概念,角色(Role) 當類參加關聯關系時,類在關聯關系中扮演一個特定的角色。關聯兩頭的類都以某種角色參與關聯。 如果在關聯中沒有標出角色名,則隱式地表示用類的名稱作為角色名。,類Company以Employer(雇主)的角色參加關聯,而類Person則以Employee (雇員)的角色參加關聯。 Employer和Employee被稱為類的角色名。,關聯關系中的相關術語和概念,階元(Multiplicity) 階元表示有多少個對象參與該關聯。 階元表示參與關聯的對象數目的上下界

6、限制。 “0.n”代表0,表示0個或任意多個, “1.n”代表1n,表示1個或任意多個。階元可以用單個數字表示,例如“1”表示一個, “2”表示兩個。階元也可以用連續(xù)的或者不連續(xù)的數字表示,例如“0.2, 4.6, 8.*”表示除了3,7的任何數量的對象。,試描述圖中2個類之間的關系,包括其多重性的約束。其中,關聯的角色名稱是成員(member)。圖中的類是Committee(委員會)和Person(人)。,一個委員會可以有35個成員,他們屬于“人”類,一個人可以參與02個委員會。,練一練,關聯關系中的相關術語和概念,導航 給定關聯一端的對象能夠容易并直接地得到另一端的對象。 關聯關系可以有方

7、向,表示該關聯被單方向使用。 只在一個方向上可以導航的關聯,被稱為單向關聯;在兩個方向上都可以導航的關聯,被稱為雙向關聯。 單向關聯關系的UML符號表示是一條帶箭頭的實線,箭頭方向表示了導航方向;雙向關聯關系的UML符號表示是一條沒有箭頭的實線。,類Person和類Company之間的關聯關系,是一條沒有箭頭的實線,所以是雙向關聯。給出Company,就能找出所有的Person;給出Person,就能發(fā)現它所屬的Company。,有時候需要限制導航的方向為單向。給定一個User,可以發(fā)現相應的Password;但給定一個Password,并不希望發(fā)現相應的User。所以用單向關聯來表示他們之間

8、的關系,用箭頭表示導航方向。,關聯關系中的相關術語和概念,聚合關系 聚合關系是一種特殊的關聯關系。 聚合表示類之間的關系是整體與部分的關系,也即作為整體的對象擁有作為部分的對象。 在需求分析中,“包含”、“組成”、“分為部分”等描述經常被設計為聚合關系。 聚合關系的UML符號表示是一條帶有空心菱形頭的實線。,用UML圖形表示一組幾何對象。組中的父類叫做“幾何單項”(Geometry Item),由此衍生出線(Line)、圓(Circle)、正方形(Square)、橢圓(Ellipse)和多邊形(Polygon)子類。橢圓有兩個焦點,它們重合時就成了圓。正方形是多邊形的一種。所有的Geometr

9、yItem都是由點(Point)組成的。,練一練,關聯關系中的相關術語和概念,組合關系 組合關系是聚合關系的一種形式,是一種特殊的聚合關系。 組合關系具有強擁有關系,而且“整體”與“部分”的生命周期是一致的。 在一個組合關系中,一個對象一次只是一個組合的一部分。 在組合關系中,“整體”負責“部分”的創(chuàng)建與破壞。例如,在一個Company(公司)系統(tǒng)中創(chuàng)建一個Department(部門), Department必須依附于Company,當破壞對象Company時,對象Department也同時被破壞。 組合關系的UML符號表示是一條帶有實心菱形頭的實線。,在窗口系統(tǒng)中,一個對象Frame只屬于一

10、個對象Window。這與簡單的聚合關系相反,在簡單的聚合關系中,一個“部分”可以被幾個“整體”共享,例如,一面墻(對象Wall)可以是多個房間(對象Room)的一部分。,關聯關系中的相關術語和概念,關聯類 在UML中,關聯類是一個既具有關聯屬性又具有類屬性的建模元素。 關聯類是具有類特征的關聯、或具有關聯特征的類。 關聯類的UML符號表示是用虛線連接到關聯關系上的類符號。 一個關聯類只能連到一個關聯上,因為關聯類本身是一個關聯。,關聯關系中的相關術語和概念,可見性(Visibility) 如果在兩個類之間存在關聯關系,一個類的對象就可以看見并導航到另一個類的對象,除非有所限制,如限制導航為單向

11、導航。 某些情況下,需要限制關聯外部的對象對于該關聯的可見性。 在UML中,通過對角色名附加可見性符號,可以為關聯端規(guī)定公共可見性和私有可見性。如果沒有標出可見性,角色的缺省可見性是公共的。公共可見性表示對象可以被關聯外的對象訪問,私有可見性表示對象不能被關聯外的任何對象訪問。,類UserGroup和類User之間存在一個關聯關系,類User和類Password之間存在另一個關聯關系。給定一個User對象,可以找到相應的Password對象,但是,由于Password是User私有的,所以它不應該被外部對象訪問。所以,給出一個UserGroup對象,可以導航到User對象,但不應該看到User

12、對象的Password對象。 Password對象是User對象私有的。,關聯關系中的相關術語和概念,限定符(Qualifier) 限定符是屬性或屬性列表,這些值用來劃分與某個對象通過關聯關系連接的的對象集。限定符是這個關聯的屬性。 限定符的UML符號表示是用與關聯一端的小矩形表示,將屬性放在小矩形中。 源對象連同限定符的值一起就可以確定一個目標對象(如果目標階元是1)或目標對象集(如果目標階元大于1) 。,圖中的jobID是關聯的屬性,給定一個WorkDesk對象,并賦給屬性jobID一個對象值,就可以導航到零個或一個Reterneditem對象。,關聯關系中的相關術語和概念,接口說明符(I

13、nterface Specifier) 接口是用來規(guī)定類或組件服務的操作集。 每個類可以實現多個接口。但是,在與關聯的上下文中,目標類源類可能只選擇對外展示部分接口。 可以用語法 rolename:iname 來顯式地說明角色的類型,iname是接口名。,類Person可以實現多個接口:IManager,IEmployee等,在supervisor與worker之間有一對多的關聯關系, supervisor只呈現了IManager的接口給worker, worker 只呈現了IEmployee的接口給supervisor 。,關系實現關系,實現關系是分類器之間的語義關系,一個分類器規(guī)定合同,另一個分類器保證實現這個合同。 可以在兩種情況下使用實現關系: 實現被用在接口與實現它們的類或組件之間; 實現被用在用例和實現該用例的協作之間。 實現關系的UML符號表示是一條帶有空心箭頭的虛線。,以UML圖形表示下列關系,并指出下列關系是哪種關系?,練一練,一個國家有一個首都。,國家和首都是聚合關系。,以UML圖形表示下列關系,并指出下列關系是哪種關系?,練一練,一位進餐的哲學家正在使用一把叉子。,進餐的哲學家和叉子是依賴關系 。,以UML圖形表示下列關系,并指出下列關

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論