第08章UML基礎-2.課件電子教案_第1頁
第08章UML基礎-2.課件電子教案_第2頁
第08章UML基礎-2.課件電子教案_第3頁
第08章UML基礎-2.課件電子教案_第4頁
第08章UML基礎-2.課件電子教案_第5頁
已閱讀5頁,還剩85頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第第8 8章章 UMLUML基礎基礎徐 天 宇8.3.1 8.3.1 類圖類圖l1.類l類(Class)是面向對象方法中的最基本概念。l類是對一組具有共同特征對象的概括。l類是面向對象系統中的核心。2.類圖l類圖(Class Diagram)描述了一個系統中的類的靜態結構。 l類圖表達一組類和它們的關系。l在類圖中,一方面描述各個類本身的組成,即類的屬性、操作;l另一方面描述系統中類之間的各種靜態的聯系。類圖的組成l 類的圖標 l在類圖中,類的圖標(Icon)是一個長方形,垂直地分出三個框,分別包含類的名稱、屬性、操作。類的圖標Subscriptionseries:StringpriceCat

2、egorynumber:Integercost( ):Currencyreserve(series:String,level:seatlevel)cancel( )類名屬性操作類名框l類名框中包含一個類的名稱l類名用一個字符串表示,如“學生”l類名的首字母要大寫,置于框的中央。屬性框l屬性框中包含類的屬性。l屬性名以小寫開頭。l屬性描述了該類對象所具有的靜態特征和性質。一個類可以具有零個到多個屬性。 操作框l操作框中包含類的操作。l操作實現類的服務功能,發生某種操作。類之間的靜態聯系l類之間的靜態聯系主要類型有:關聯、聚合、組合、泛化、依賴等。3.屬性l類的屬性(Attribute)是描述對象

3、靜態特征的一個數據項。l屬性有在本類中唯一的屬性名或標識符。屬性的語法格式 屬性可見性 屬性名 多重性 :類型初始值屬性名l方括號中的內容是可選項目。l類型:定義屬性的數據類型。l缺省值 :表示新建對象時該屬性的初始化值。l多重性:用多重性表示法表示,其值是該類的每個實例的屬性值的個數。l約束特性:用于描述對此屬性的約束 UML中的多重性表示法 標記 意義0.1零個 或 一個1僅一個0.*零個 或 更多1.*一個 或 更多* 零個或更多例:屬性WashingMachinebrandName:String=“Laundatorium”modelName:StringserialNumber:St

4、ringcapacity:Integer可見性l可見性(Visibility)用以下可見性標記表示:l+ 公有的(public)l# 受保護的(protected)l- 私有的(private) 4.操作l操作(Operation)是類的行為特征或動態特征l一個類可以有多個操作,也可以沒有一個操作。l操作在類圖標的操作分隔框中用文字串說明,l操作有在本類中唯一的操作名或標識符。類的操作框操作可見性 操作名 (參數列表 ) :返回類型約束 操作用幾個部分表示:l操作的可見性的表示方法和含義與屬性中相同。l操作參數: 定義了操作的輸入參數。l定義方式:“名稱:類型”。 l返回值:規定了當該操作完成

5、返回時的返回值的類型。 l約束特性: 花括號中是一個文字串,說明該操作的在預定義元素之外的信息 約束特性約束特性l操作定義的最后花括號中的約束特性,l是一個文字串,可以加入預定義元素之l外的信息。l約束特性是一個可選項。lsetDuration(new_duration:int):voidthe new duration may not cause overlap with scheduled event例:操作(銀行注冊對話類)8.3.2 類的關聯 l關聯關聯(Association)是類之間是類之間的一種連接的一種連接關系。關系。關聯的內容l關聯的標識關聯的標識l角色標識角色標識l多重性多

6、重性l導航性導航性關聯的表示l在類圖上,關聯用一條把類連接在一起在類圖上,關聯用一條把類連接在一起的實線表示。的實線表示。l關聯線旁可以標出關聯的標識,關聯線旁可以標出關聯的標識,以表明關以表明關聯的真實含意。聯的真實含意。導航性l關聯可以是單向的或雙向的,如果該關關聯可以是單向的或雙向的,如果該關聯是雙向的,就不必標出方向箭頭。聯是雙向的,就不必標出方向箭頭。l單向的導航性意味著:消息僅能沿著箭頭單向的導航性意味著:消息僅能沿著箭頭的方向傳遞。的方向傳遞。例:關聯銀行用戶密碼1.角色l當類參加關聯關系時,類在關聯關系中扮當類參加關聯關系時,類在關聯關系中扮演一個特定的角色。演一個特定的角色。

7、l關聯兩頭的類都以某種角色參與關聯。關聯兩頭的類都以某種角色參與關聯。l角色表示被關聯的類各自在關聯中的特定角色表示被關聯的類各自在關聯中的特定作用。作用。l類的角色名在關聯的類圖標旁標出。類的角色名在關聯的類圖標旁標出。例:角色(雇員與雇主)人人公司公司工作于 1.*1.*雇主雇員人人公司公司2.角色多重性多重性 l角色多重性是說關聯中的一個角色可以有多個對象來扮演。l或者是指一個類中有多少個對象與關聯的另一個類的一個對象相關。l角色多重性表示方法與類屬性的多重性描述方法相同。3.限定關聯l限定關聯通過添加限定符來明確標識和鑒別在限定關聯通過添加限定符來明確標識和鑒別在這個關聯關系的一方的多

8、個對象中的每一個對這個關聯關系的一方的多個對象中的每一個對象。象。帶有限定符的關聯稱為限定關聯。帶有限定符的關聯稱為限定關聯。l限定符可幫助從一組相關對象中標識出獨特對限定符可幫助從一組相關對象中標識出獨特對象。象。l限定符(限定符(QuQualifieralifier)包含)包含在在緊靠源類圖標處緊靠源類圖標處一個小矩形框內一個小矩形框內例:限定關聯10.1售票售票限定符演出演出座位座位入場票入場票Performance:DateSeat:SeatNumber限定屬性限定關聯4.關聯類l如果一個關聯既是類又是關聯,則它是一如果一個關聯既是類又是關聯,則它是一個關聯類。個關聯類。l它定義了一組

9、屬于該關聯的特性。它定義了一組屬于該關聯的特性。l關聯類的圖標是用一條虛線連接到關聯線關聯類的圖標是用一條虛線連接到關聯線上。上。例:關聯類8.3.3聚合關系和組合關系 l1聚合關系聚合關系 l聚合(聚合(Aggregation)是表示部分與整體)是表示部分與整體關系的關聯關系的關聯 l聚合關聯用端點帶有空菱形的連線表示聚合關聯用端點帶有空菱形的連線表示l空菱形與代表整體的聚合類相連接。空菱形與代表整體的聚合類相連接。l連線的另一端連接代表部分事物的類。連線的另一端連接代表部分事物的類。例:聚合關系團隊雇員1.*0.*0.*1.*飛機零件1.*1 11.*車隊車輛2.組合關系組合關系l組合組合

10、(Composition)表示更強形式的部分與表示更強形式的部分與整體關系。整體關系。l在組合關系中,整體與部分之間有很強的所在組合關系中,整體與部分之間有很強的所有關系和一致的生命周期。有關系和一致的生命周期。l代表部分事物的對象只屬于一個組合對象,代表部分事物的對象只屬于一個組合對象,而且與組合對象同時存在,同時消失而且與組合對象同時存在,同時消失l在圖形上它用一個實菱形與代表整體的類相在圖形上它用一個實菱形與代表整體的類相連接連接 。 例:組合關系例:組合關系團隊雇員1.*0.*0.*1.*飛機零件1.*1 11.*8.3.4泛化關系 l泛化泛化(Generalization)(Gene

11、ralization)關系是類的一般描關系是類的一般描述和具體描述之間的關系。述和具體描述之間的關系。l泛化關系是在保留對象差異的同時共享對泛化關系是在保留對象差異的同時共享對象相似性的一種高度抽象方式。象相似性的一種高度抽象方式。 父類與子類有如下關系:l父類所具有的的特性(屬性、操作、關父類所具有的的特性(屬性、操作、關聯等),子類也都具有;聯等),子類也都具有;l子類同時可以有自己的特性;子類同時可以有自己的特性;l泛化用一條帶空心三角箭頭的實箭線表示,泛化用一條帶空心三角箭頭的實箭線表示,箭線尾端連接子類,箭頭指向父類。箭線尾端連接子類,箭頭指向父類。例:泛化 關系例:泛化關系8.3.

12、5 依賴關系 l依賴(依賴(DependencyDependency)是指一個類的存在需要是指一個類的存在需要以另一個類的存在為前提。以另一個類的存在為前提。l在類圖上,在類圖上,依賴用一個從客戶指向提供者的依賴用一個從客戶指向提供者的虛箭頭表示,位于虛箭頭尾端的類依賴于箭虛箭頭表示,位于虛箭頭尾端的類依賴于箭頭所指向的類頭所指向的類例:依賴關系8.3.6 接口與實現 l接口(接口(Interface)是一組外部可訪問的操作)是一組外部可訪問的操作的聲明的聲明, 指定了一個類或者一個組件所能提指定了一個類或者一個組件所能提供的服務。供的服務。 l接口是類的變體。接口是類的變體。它不含屬性。它不

13、含屬性。接口表示l在圖形上,在圖形上,接口用一個圓圈表示,圓旁附接口用一個圓圈表示,圓旁附有接口的名稱,稱為棒糖式接口。有接口的名稱,稱為棒糖式接口。l它通過實線附在表示類的矩形上(如圖)。它通過實線附在表示類的矩形上(如圖)。這意味著這個類提供了在接口中的所有操這意味著這個類提供了在接口中的所有操作(可能更多)。所提供的操作不顯示在作(可能更多)。所提供的操作不顯示在圓圈中圓圈中。例:接口和實現接口類圖標l接口也可以用一個類圖標表示,在接口圖標接口也可以用一個類圖標表示,在接口圖標的名稱分隔框中有的名稱分隔框中有構造型構造型和和唯一的接口名。唯一的接口名。l接口圖標中的屬性分隔框無內容接口圖

14、標中的屬性分隔框無內容 ,在操作分,在操作分隔框中列出抽象的公共操作。可以帶有或不隔框中列出抽象的公共操作。可以帶有或不帶有參數說明帶有參數說明例:接口例:接口實現關系l實現(實現(Implementation)關系將一種模)關系將一種模型元素(如類)與另一種模型元素(如接型元素(如類)與另一種模型元素(如接口)連接起來,其中接口只是行為的說明口)連接起來,其中接口只是行為的說明而不是實現。而不是實現。l實現關系還可以用一條帶封閉空箭頭的虛實現關系還可以用一條帶封閉空箭頭的虛線線指向用類圖標表示的接口上來表示。指向用類圖標表示的接口上來表示。8.3.7 對象圖 l對象(對象(ObjObject

15、ect)是類的實例()是類的實例(InstanceInstance),),用于模型化特定的實體。用于模型化特定的實體。l對象是唯一的,可以標識的。每個對象都對象是唯一的,可以標識的。每個對象都是不同的,即使它具有相同的屬性。是不同的,即使它具有相同的屬性。8.3.7 對象圖l對象圖(對象圖(Object DiagramObject Diagram)顯示了在某)顯示了在某一時刻上一組對象以及它們之間的關系。一時刻上一組對象以及它們之間的關系。l對象圖實質上是類圖的實例,對象圖實質上是類圖的實例,例:類與對象 類entityAgent-name:String-venueManagers 1.*:

16、:Vector+getName( ):String+getVenueManagers( ):Vector+setName( ):String對象entitySusan:Agentname=SusanvenueManager=Tom,Bill對象表示法與類表示法的區別l對象的表示方法與類的表示方法類似。對象的表示方法與類的表示方法類似。l不同之處是給出具體的對象名,不同之處是給出具體的對象名,l屬性給出當前值,屬性給出當前值,l類名與對象名之間用冒號分隔,類名與對象名之間用冒號分隔,l類名與對象名下面加上下劃線。類名與對象名下面加上下劃線。例:類圖例:對象圖8.4狀態圖 l狀態圖狀態圖(Stat

17、e Diagram)(State Diagram)用于描述一個特定對象的所用于描述一個特定對象的所有可能狀態,以及由于某些事件的發生,對象所經歷有可能狀態,以及由于某些事件的發生,對象所經歷的狀態序列及對那些事件的反應。的狀態序列及對那些事件的反應。l 例:訂單的狀態圖例:訂單的狀態圖8.4.1狀態機狀態機 l狀態機(狀態機(State MachineState Machine)規定了對象在它的)規定了對象在它的生命周期內響應事件所經歷的狀態序列以及它生命周期內響應事件所經歷的狀態序列以及它們對這些事件的響應。們對這些事件的響應。l狀態機由狀態、轉移、事件、活動和動作等組狀態機由狀態、轉移、事

18、件、活動和動作等組成。成。l狀態圖是用于顯示狀態機的。狀態圖是用于顯示狀態機的。狀態l 狀態(狀態(State)描述了對象生命期中的)描述了對象生命期中的一個時間段。指在這個時間段,對象滿一個時間段。指在這個時間段,對象滿足在滿足某些條件下,執行某些活動或足在滿足某些條件下,執行某些活動或等待某些事件時的狀況。等待某些事件時的狀況。 狀態圖轉移l轉移(轉移(TransitionTransition)是兩個狀態之間的關系,)是兩個狀態之間的關系,它指明如果特定的事件發生或特定的條件被它指明如果特定的事件發生或特定的條件被滿足,在第一種狀態下,某個對象執行某個滿足,在第一種狀態下,某個對象執行某個

19、動作,對象進入第二種狀態。動作,對象進入第二種狀態。l通常,定義一個轉移要有通常,定義一個轉移要有: :源狀態、引起轉移源狀態、引起轉移的觸發事件、監護條件、轉移的動作和轉移的觸發事件、監護條件、轉移的動作和轉移的目標狀態。的目標狀態。l在狀態機中,一組狀態由轉移相連接。在狀態機中,一組狀態由轉移相連接。事件l事件(事件(EventEvent)是在狀態間引起轉移的事是在狀態間引起轉移的事情。情。 l事件是具有時間和空間位置事件是具有時間和空間位置, ,有意義事情有意義事情的規格說明的規格說明. .活動l活動(活動(ActivityActivity)是在狀態機中進行的一)是在狀態機中進行的一個非

20、原子的執行,它由一系列的動作組成。個非原子的執行,它由一系列的動作組成。動作l動作(動作(ActionAction)是一組可執行語句或計算)是一組可執行語句或計算處理過程。處理過程。l動作是原子性的,這意味著他不能被事件動作是原子性的,這意味著他不能被事件中斷,并因此一直運行到完成。中斷,并因此一直運行到完成。l活動則相反,他可以被其他事件中斷。活動則相反,他可以被其他事件中斷。例子下課回家的學生l學生下課回家整個過程將有以下幾種狀態:學生下課回家整個過程將有以下幾種狀態:l到下課放學時間了,收拾東西準備回家。到下課放學時間了,收拾東西準備回家。l等電梯。等電梯。l到了樓下。(發現忘拿雨衣,上

21、樓拿。)到了樓下。(發現忘拿雨衣,上樓拿。)l上樓。上樓。l去取自行車。去取自行車。l騎自行車回家。騎自行車回家。l回到家回到家例子下課回家的學生l而事件有:而事件有:l下課放學時間到了下課放學時間到了(開始回家開始回家)。l電梯到電梯到(上電梯上電梯)l電梯到樓下電梯到樓下(下電梯下電梯)l發現忘拿雨衣發現忘拿雨衣(去拿雨衣去拿雨衣)。l取到自行車取到自行車(騎車騎車)。l到家到家(下車下車)。例子下課回家的學生l在這個例子中,在這個例子中,“發現沒有拿雨衣發現沒有拿雨衣”這個事件這個事件的發生觸發了狀態的發生觸發了狀態(到樓下到樓下)轉移到狀態轉移到狀態(上上樓樓)。在這個例子中,初態是。

22、在這個例子中,初態是“到了下課放學時到了下課放學時間間”;終態是;終態是“回到家回到家”。在這個例子中,監。在這個例子中,監護條件是時鐘上的時間和放學時間的比較。在護條件是時鐘上的時間和放學時間的比較。在這個例子中,如果這個例子中,如果“在電梯里在電梯里”是一個狀態的是一個狀態的話,哪學生進電梯和出電梯就是狀態話,哪學生進電梯和出電梯就是狀態“在電梯在電梯里里”的進入的進入/退出動作。在這個例子中,如果對退出動作。在這個例子中,如果對象在電梯里有象在電梯里有“說話說話”等狀態時,該狀態就是等狀態時,該狀態就是該對象狀態該對象狀態“在電梯里在電梯里”狀態的子狀態。狀態的子狀態。8.4.2狀態圖狀

23、態圖 l一個狀態圖顯示了一個狀態機一個狀態圖顯示了一個狀態機l狀態狀態l狀態圖由表示狀態的圓角矩形框和表示狀態狀態圖由表示狀態的圓角矩形框和表示狀態之間的轉移的弧組成。之間的轉移的弧組成。l在狀態圖中,若干個狀態圓角矩形框由一條在狀態圖中,若干個狀態圓角矩形框由一條或多條轉移弧連接,狀態的轉移由事件觸發。或多條轉移弧連接,狀態的轉移由事件觸發。狀態的動作與內部轉移 Input Passwordentry/set echo to star,password,reset( )exit/set echo normaldigit /handle characterclear/password,rese

24、t( )help/display helpdo/get password狀態名入口和出口動作內部轉移活動狀態的動作與內部轉移l入口和出口動作表示進入和退出某個狀態所執入口和出口動作表示進入和退出某個狀態所執行的動作。行的動作。l入口動作的語法是:入口動作的語法是:entry/執行的動作;執行的動作;l出口動作的語法是:出口動作的語法是:exit/執行的動作。執行的動作。l如果有多個執行動作,用逗號分隔。如果有多個執行動作,用逗號分隔。l內部轉移描述的是一個事件觸發了對象的某個內部轉移描述的是一個事件觸發了對象的某個響應,但并不改變對象的狀態。內部轉移的語響應,但并不改變對象的狀態。內部轉移的語

25、法是:事件法是:事件/動作表達式。動作表達式。活動l在在UML中還用中還用do轉移來描述在入口動作之后,轉移來描述在入口動作之后,執行的內部的一個活動序列。執行的內部的一個活動序列。l活動是在一個狀態內執行的處理過程活動是在一個狀態內執行的處理過程. ActiveDo/生成月度清單Do/生成月度客戶增長報告簡單狀態或組合狀態簡單狀態或組合狀態l狀態又可分為簡單狀態或組合狀態。狀態又可分為簡單狀態或組合狀態。l含有子狀態的狀態稱為組合狀態。含有子狀態的狀態稱為組合狀態。l組合狀態中包括順序子狀態和并發子狀態。組合狀態中包括順序子狀態和并發子狀態。轉移 l轉移用實箭線表示,從源狀態連接到目標轉移用

26、實箭線表示,從源狀態連接到目標狀態。在箭線上可以標示與該轉移有關的狀態。在箭線上可以標示與該轉移有關的選項:事件、監護條件和動作。選項:事件、監護條件和動作。l當處于源狀態的對象接收到一個事件,并當處于源狀態的對象接收到一個事件,并且監護條件得到滿足時,則執行相應的動且監護條件得到滿足時,則執行相應的動作,并從源狀態轉移到目標狀態。作,并從源狀態轉移到目標狀態。l如果在轉移箭線上不標示觸發轉移的事件如果在轉移箭線上不標示觸發轉移的事件時,則從源狀態轉移到目標狀態是自動進時,則從源狀態轉移到目標狀態是自動進行的。行的。轉移狀態轉移State1do/ actionState2State3 Condition condition 初態l初態(初態(Initial StateInitial State)是模型元素的初)是模型元素的初始狀況,代表一個狀態圖的起始位置。初始狀況,代表一個狀態圖的起始位置。初態的圖標用一個實心的圓表示。態的圖標用一個實心的圓表示。終態l終態(終態(Final StateFinal State)是模型元素的最后)是模型元素的最后的

溫馨提示

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

評論

0/150

提交評論