




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、(Object-Oriented Software DevelopmentObject-Oriented Software Development)法法是是一種一種 把面向對象的思想應用于軟件開發(fā)過程,指導開發(fā)活動的把面向對象的思想應用于軟件開發(fā)過程,指導開發(fā)活動的系統方法。系統方法。根據根據CoadCoad 和和 Yourdon Yourdon 的定義,按照以下的定義,按照以下4 4個概念設計和個概念設計和實現的系統,稱為是面向對象的。實現的系統,稱為是面向對象的。 面向對象面向對象= =對象對象 ( (object) ) + +類類 ( (classification) ) + +繼承繼承
2、( (inheritance) ) + +通信通信 ( (communication with messages) )1 1、對軟件開發(fā)過程所有階段進行綜合考慮。、對軟件開發(fā)過程所有階段進行綜合考慮。2 2、軟件生存期各階段所使用的方法、技術具有高度的連續(xù)性,、軟件生存期各階段所使用的方法、技術具有高度的連續(xù)性,用符合人類認識世界的思維方式來分析、解決問題。用符合人類認識世界的思維方式來分析、解決問題。3 3、將、將OOA、OOD、OOP有機地集成在一起。有機地集成在一起。 OOA(Object-Oriented Analysis OOD(Object-Oriented Design)OOP(
3、Object-Oriented Program) OOSD由三部分組成:由三部分組成: OOA(Object-Oriented Analysis)面向對象的分析面向對象的分析 OOD(Object-Oriented Design)面向對象的設計面向對象的設計 OOP (Object-Oriented Program)面向對象的程序設計面向對象的程序設計OOAOOA強調的是對一個系統中的對象特征和行強調的是對一個系統中的對象特征和行為的定義。建立系統的三類模型。為的定義。建立系統的三類模型。OODOODOOD與與OOAOOA密切配合順序實現對現實世界的進密切配合順序實現對現實世界的進一步建模。一
4、步建模。OOPOOPOOP是面向對象的技術中發(fā)展最快的,使用是面向對象的技術中發(fā)展最快的,使用面向對象的程序設計語言,進行編碼。面向對象的程序設計語言,進行編碼。 就是要解決就是要解決“作什么作什么”的問題。的問題。OOA 法的基本任務就是要法的基本任務就是要建立三種模型:建立三種模型:狀態(tài)模型狀態(tài)模型(動態(tài)模型)(動態(tài)模型) 描述任何時刻對象的聯系及其聯系的改變,即時序。常描述任何時刻對象的聯系及其聯系的改變,即時序。常用狀態(tài)圖用狀態(tài)圖, , 事件追蹤圖描述。事件追蹤圖描述。處理模型處理模型(函數模型)(函數模型) 描述系統內部數據的傳送處理。描述系統內部數據的傳送處理。 顯然,在三大模型中
5、,最重要的是對象模型。顯然,在三大模型中,最重要的是對象模型。對象模型對象模型(信息模型)(信息模型) 定義構成系統的類和對象,它們的屬性與操作。定義構成系統的類和對象,它們的屬性與操作。1.3.5 1.3.5 面向對象開發(fā)方法的組成面向對象開發(fā)方法的組成在需求分析的基礎上,進一步解決在需求分析的基礎上,進一步解決“如何作如何作”的問題,的問題,OOD OOD 法也分為概要設計和詳細設計。法也分為概要設計和詳細設計。細化對象行為,添加新對象,認定類,組類細化對象行為,添加新對象,認定類,組類庫,確定外部接口及主要數據結構庫,確定外部接口及主要數據結構詳細設計:詳細設計:加細對象描述加細對象描述
6、 使用面向對象的程序設計語言,如使用面向對象的程序設計語言,如C+C+進行程序設計。進行程序設計。 CoadCoad和和YourdonYourdon給出一個面向對象的定義:給出一個面向對象的定義:面向對象面向對象= =對象對象+ +類類+ +繼承繼承+ +消息消息如果一個軟件系統是按照這樣四個概念設計和實現的,如果一個軟件系統是按照這樣四個概念設計和實現的,則可以認為這個軟件系統是面向對象的。則可以認為這個軟件系統是面向對象的。1.3.5 1.3.5 面向對象方法及其工作模型面向對象方法及其工作模型面向對象的方法的代表性成果有:面向對象的方法的代表性成果有:1、B.Henderson-sell
7、ers 和和 J.m.Edwards提出的面向對象軟件提出的面向對象軟件生存期噴泉模型及面向對象的系統開發(fā)方法。生存期噴泉模型及面向對象的系統開發(fā)方法。2、G.Booch提出的面向對象的開發(fā)方法。提出的面向對象的開發(fā)方法。3、P.Coad和和E.Yourd提出的提出的OOA和和OOD法。法。 4、J. Rumbaugh等人提出的對象建模技術等人提出的對象建模技術(OMT)。5、Jacobson 提出的面向對象的軟件工程提出的面向對象的軟件工程(OOSE)。6、G.booch J.Rumbough Jacobson等人在等人在Booch方法、方法、OMT和和OOSE的基礎上推出了統一建模語言的基
8、礎上推出了統一建模語言UML。1.3.5 1.3.5 面向對象方法及其工作模型面向對象方法及其工作模型 理解面向對象的基本概念對于學習和掌握面向對象的理解面向對象的基本概念對于學習和掌握面向對象的開發(fā)方法是十分重要的。開發(fā)方法是十分重要的。 對客對客觀存在的事物的描述觀存在的事物的描述統稱為對象,對象統稱為對象,對象可以是事、物、或抽可以是事、物、或抽象概念象概念 ,是將一組數據和使用該數據的一組基本操作或過,是將一組數據和使用該數據的一組基本操作或過程封裝在一起的實體程封裝在一起的實體。 對象的最基本的特征是封裝性和繼承性。對象的最基本的特征是封裝性和繼承性。 類類又稱又稱對象類對象類一組具
9、有相同屬性和一組具有相同屬性和相同操作的對象的集合。相同操作的對象的集合。在一個類中,每個對象都是類的在一個類中,每個對象都是類的實例實例(instance) ,它們都可以使用類中提供的函數。,它們都可以使用類中提供的函數。類具有屬性類具有屬性,用數據結構來描述類的屬性,用數據結構來描述類的屬性,類具有操作,類具有操作,它 是 對 象 的 行 為 的 抽 象 , 操 作 實 現 的 過 程 稱 為 方 法它 是 對 象 的 行 為 的 抽 象 , 操 作 實 現 的 過 程 稱 為 方 法(method) ,方法有方法名,方法體和參數。,方法有方法名,方法體和參數。 由于對象是類的實例,在進行
10、分析和設計時,通常把注由于對象是類的實例,在進行分析和設計時,通常把注意力集中在類上,而不是具體的對象上。意力集中在類上,而不是具體的對象上。幾何對象幾何對象顏色顏色位置位置移動(移動(delta:矢量)矢量)選擇(選擇(P:指針型)指針型):布爾型布爾型旋轉旋轉(角度角度)圖4.1 對象類的描述人人姓姓 名名:字符串字符串年年 齡齡: 整整 型型改換工作改換工作改換地址改換地址文件文件文件名文件名文件大小文件大小最近更新日期最近更新日期打印打印(人人)張紅兵張紅兵28繪圖員繪圖員人民路人民路8號號(人人)李軍李軍24程序員程序員無無圖4.2 對象的描述類名類名屬性屬性運算運算 對象圖對象圖
11、類圖類圖對象和類的描述對象和類的描述退出退出上頁上頁首頁首頁下頁下頁末頁末頁Class 中國人中國人中國人中國人 Attributes中國人中國人 Methods張山張山 (instance) Class 中國人中國人 張山的張山的 AttributesClass 杭州人杭州人 (子類子類) 杭州人杭州人 Attributes 杭州人杭州人 Methods Class 中國人中國人李士李士 (instance) 中國人李士的中國人李士的 Attributes 杭州人李士的杭州人李士的 Attributes Class 杭州人杭州人例:例:退出退出上頁上頁首頁首頁下頁下頁末頁末頁特點:特點: 若
12、若杭州人杭州人的的 methods中有與中有與中國人中國人的同名,則的同名,則李士執(zhí)行該李士執(zhí)行該 method 時以時以杭州人為杭州人為準,不執(zhí)行準,不執(zhí)行中中國人國人中定義的同名中定義的同名 method。 講官話,這叫做講官話,這叫做“低層性質低層性質override高層性質高層性質”講土話,這叫做講土話,這叫做“縣官不如現管縣官不如現管” 繼承是使用現存的定義作為基礎,建立新定義的技術。繼承是使用現存的定義作為基礎,建立新定義的技術。是是父類和子類之間共享數據結構和方法的機制,這是類之間的一父類和子類之間共享數據結構和方法的機制,這是類之間的一種關系。在定義和實現一個類的時候,可以在一
13、個已經存在的種關系。在定義和實現一個類的時候,可以在一個已經存在的類的基礎上來進行,把這個已經存在的類所定義的內容做為自類的基礎上來進行,把這個已經存在的類所定義的內容做為自己的內容,并加入若干新內容。己的內容,并加入若干新內容。 繼承性分:繼承性分: 單重繼承:一個子類只有一個父類。即單重繼承:一個子類只有一個父類。即子類只繼承一個父類子類只繼承一個父類 的數據結構和方法。的數據結構和方法。 多重繼承:一個子類可有多個父類。繼承多個多重繼承:一個子類可有多個父類。繼承多個父類的數據結父類的數據結 構和方法。構和方法。6.1.2 6.1.2 面向對象的概念面向對象的概念基類基類子類子類A子類子
14、類B圖 4.4 繼承性描述現存類定義現存類定義父類父類( (基類基類) )新類定義新類定義子類子類( (派生類派生類) )繼繼 承承圖 4.3 繼承性 互相聯系、協同工互相聯系、協同工作等作等對象之間的聯系可表示為對象間的消息傳遞,即對象之間的聯系可表示為對象間的消息傳遞,即對象間的通訊機制。對象間的通訊機制。 一個消息應該包含以下信息:消息名、接收消息對象一個消息應該包含以下信息:消息名、接收消息對象的標識、服務標識的標識、服務標識 、消息和方法、輸入信息、回答信息。、消息和方法、輸入信息、回答信息。在對象的操作中當一個消息發(fā)送給某個對象時,消息在對象的操作中當一個消息發(fā)送給某個對象時,消息
15、包含接收對象去執(zhí)行某種操作的消息。包含接收對象去執(zhí)行某種操作的消息。6.1.2 6.1.2 面向對象的概念面向對象的概念6.1.2 6.1.2 面向對象的概念面向對象的概念屬性:姓名屬性:姓名 年齡年齡 單位單位 職稱職稱 工資工資狀態(tài):李偉狀態(tài):李偉 25 計算機系計算機系 講師講師 900屬性:調工資屬性:調工資 評職稱評職稱 受受 聘聘方法:調工資方法:調工資 (計算公式)(計算公式) 評職稱評職稱 (步驟、條件)(步驟、條件)屬性:調工資屬性:調工資 評職稱評職稱 受受 聘聘李偉,調工資(李偉,調工資( )數數據據結結構構數數據據值值人事處向對象發(fā)消息人事處向對象發(fā)消息執(zhí)行執(zhí)行的的操作
16、操作方方法法體體類:教師類:教師對象:李偉對象:李偉抽象抽象實例實例抽象抽象實例實例抽象抽象方法名(參數)方法名(參數)圖4.5 對象、類和消息傳遞 例如:例如: “繪圖繪圖”操作,作用在操作,作用在“橢圓橢圓” 和和“矩形矩形” 上,畫出不同的圖形。上,畫出不同的圖形。6.1.2 6.1.2 面向對象的概念面向對象的概念所謂所謂是指生存期可以超越程序的執(zhí)行時間而長是指生存期可以超越程序的執(zhí)行時間而長期存在的對象。期存在的對象。 目前,大多數目前,大多數OOPLOOPL不支持永久對象,如果一個對象要長不支持永久對象,如果一個對象要長期保存,必須依靠于文件系統或數據庫管理系統實現,程序期保存,必
17、須依靠于文件系統或數據庫管理系統實現,程序員需要作對象與文件系統或數據庫之間數據格式的轉換,以員需要作對象與文件系統或數據庫之間數據格式的轉換,以及保存和恢復所需的操作等煩瑣的工作。及保存和恢復所需的操作等煩瑣的工作。 為了實現永久對象,使上述煩瑣工作由系統自動完成,為了實現永久對象,使上述煩瑣工作由系統自動完成,需要較強的技術支持;需要一個基于永久對象管理系統需要較強的技術支持;需要一個基于永久對象管理系統OMS(object management system),),能夠描述和處理永久對象的能夠描述和處理永久對象的編程語言。編程語言。6.1.2 6.1.2 面向對象的概念面向對象的概念退出
18、退出上頁上頁首頁首頁下頁下頁末頁末頁double avg (const double a , int size) ;double avg (const int a , int size) ;double avg (const double a , int size) ; double sum = 0.0 ; for ( int i = 0; i size; +i ) sum += ai ; return ( sum / size ) ; double avg (const int a , int size) ; int sum = 0 ; for ( int i = 0; i size; +i
19、 ) sum += ai ; return ( (double) sum / size ) ; main() int k3 = 1, 2, 3 ; double x3 = 1.1, 2.2, 3.3 ; cout avg(k, 3) “ int average n” ; cout avg(x, 3) “ double average n” ;7、Overloading(重載)重載) Function (or parameter) overloading :不同函數共用不同函數共用一個名字,而一個名字,而調用參數的特調用參數的特征不同。征不同。例:例:退出退出上頁上頁首頁首頁下頁下頁末頁末頁 面
20、向對象的方法學又稱為面向對象的方法學又稱為,( Object Model Technology)是一種軟件工程方法學,是一種軟件工程方法學,支持整個軟件生存周期,它覆蓋了問題構成、分析、支持整個軟件生存周期,它覆蓋了問題構成、分析、設計和實現等階段。設計和實現等階段。OMT方法使用了建模的思想,討論如何建立一個方法使用了建模的思想,討論如何建立一個實際的應用模型。從實際的應用模型。從3 3個不同而又相關的角度建立了三個不同而又相關的角度建立了三類模型:對象模型、動態(tài)模型和功能模型,類模型:對象模型、動態(tài)模型和功能模型,OMT為每為每一個模型提供了圖形表示。一個模型提供了圖形表示。6.2 6.2
21、 面向對象的建模技術(面向對象的建模技術(OMTOMT)6.2 面向對象的建模技術(OMT)退出退出上頁上頁首頁首頁下頁下頁末頁末頁 方法討論的核心就是建立三類模型:方法討論的核心就是建立三類模型:描述了由對象和相應實體構成的系統靜態(tài)結構,描述了由對象和相應實體構成的系統靜態(tài)結構,描述了系統中對象的標識,屬性、操作及描述了系統中對象的標識,屬性、操作及提供了其它兩類模型都適用的框架。提供了其它兩類模型都適用的框架。根據事件和狀態(tài)描述了系統的控制結構,系統根據事件和狀態(tài)描述了系統的控制結構,系統中與時間和操作順序有關的內容。如:標記變化的事件,事中與時間和操作順序有關的內容。如:標記變化的事件,
22、事件的順序,定義事件背景的狀態(tài)等。件的順序,定義事件背景的狀態(tài)等。著重描述系統中與值的轉換有關的問題,如函著重描述系統中與值的轉換有關的問題,如函數、映射、約束和函數作用等。數、映射、約束和函數作用等。三類模型描述的角度不同,卻又相互聯系。三類模型描述的角度不同,卻又相互聯系。退出退出上頁上頁首頁首頁下頁下頁末頁末頁1)確定類確定類&對象對象 類和對象是在問題域中客觀存在的,系統分析員的類和對象是在問題域中客觀存在的,系統分析員的主要任務,就是通個分析找出這些類和對象。主要任務,就是通個分析找出這些類和對象。2)確定關聯確定關聯 兩個或多個對象之間的相互依賴,相互作用的關系兩個或多個對
23、象之間的相互依賴,相互作用的關系就是關聯就是關聯, ,分析確定關聯,要考慮問題域的邊緣情況。分析確定關聯,要考慮問題域的邊緣情況。3) 劃分主題劃分主題 將大型、復雜系統進一步劃分成為不同的主題,以將大型、復雜系統進一步劃分成為不同的主題,以降低系統的復雜度。降低系統的復雜度。退出退出上頁上頁首頁首頁下頁下頁末頁末頁 4) 確定屬性確定屬性 屬性是對象的性質,一般確定屬性的過程包括分析和屬性是對象的性質,一般確定屬性的過程包括分析和選擇兩個步驟。選擇兩個步驟。 5) 識別繼承關系識別繼承關系 確定了類中應該定義的屬性之后,就可以利用繼承機確定了類中應該定義的屬性之后,就可以利用繼承機制共享公共
24、性質,并對系統中眾多的類加以組織。一般使制共享公共性質,并對系統中眾多的類加以組織。一般使用自底向上和自頂向下兩種方式建立繼承關系。用自底向上和自頂向下兩種方式建立繼承關系。退出退出上頁上頁首頁首頁下頁下頁末頁末頁人人姓姓 名名:字符串字符串年年 齡齡: 整整 型型改換工作改換工作改換地址改換地址文件文件文件名文件名文件大小文件大小最近更新日期最近更新日期打印打印幾何對象幾何對象顏色顏色位置位置移動(移動(delta:矢量)矢量)選擇(選擇(P:指針型)指針型):布爾型布爾型旋轉旋轉(角度角度)(人人)李軍李軍24程序員程序員無無(人人)張紅兵張紅兵28繪圖員繪圖員人民路人民路8號號退出退出上
25、頁上頁首頁首頁下頁下頁末頁末頁屬性屬性:屬性名、補充細節(jié)。:屬性名、補充細節(jié)。操作操作:應用于類中對象或被類中對象使用的應用于類中對象或被類中對象使用的一種功能或者轉換,包含操作允許的參數。一種功能或者轉換,包含操作允許的參數。(類名)(類名)對象名對象名屬性屬性操作操作圖4.25 對象的一般描述對象與類是構成對象模型的基本元素,圖對象與類是構成對象模型的基本元素,圖2.182.18給出了類圖給出了類圖的一般描述形式,由類名、屬性和操作三部分組成,屬性和操的一般描述形式,由類名、屬性和操作三部分組成,屬性和操作還可作進一步的描述。圖作還可作進一步的描述。圖2.202.20則是對象圖的一般描述。
26、則是對象圖的一般描述。 類類 名名屬性名屬性名(1),數據類型數據類型1缺省值缺省值1屬性名屬性名(2),數據類型數據類型2缺省值缺省值2 操作名操作名1(變量名變量名1) :結果類型:結果類型1操作名操作名2(變量名變量名2) :結果類型:結果類型2 圖4.24 類的進一步描述圖4.23 類的一般描述類名類名屬性屬性操作操作退出退出上頁上頁首頁首頁下頁下頁末頁末頁6.2.4 6.2.4 鏈和關聯鏈和關聯關聯關聯鏈鏈圖 4. 26 鏈與關聯建立對象模型,必須要描述構成系統的對象之間的聯系,建立對象模型,必須要描述構成系統的對象之間的聯系,和和都是建立對象和類之間關系的手段。都是建立對象和類之間
27、關系的手段。 表示兩個(或多個)對象之間的關系。表示兩個(或多個)對象之間的關系。 描述具有公共結構和語義的一組鏈。描述具有公共結構和語義的一組鏈。關聯是描述兩個或多個類之間的關系,鏈是關聯的實例(程關聯是描述兩個或多個類之間的關系,鏈是關聯的實例(程序設計中,關聯常用一個對象到另一對象的指針實現。)。序設計中,關聯常用一個對象到另一對象的指針實現。)。退出退出上頁上頁首頁首頁下頁下頁末頁末頁6.2.4 6.2.4 鏈和關聯鏈和關聯兩個類之間的關聯稱為兩個類之間的關聯稱為二元關聯二元關聯,三個類之間的關聯稱為,三個類之間的關聯稱為三元關聯三元關聯。 圖4.27 二元關聯類類1類類2關聯名關聯名
28、二元關聯的表示人員人員公司公司雇用雇用二元關聯的例(人員)(人員)張濤張濤(公司)(公司)通大通大雇用雇用鏈的例子如果對關聯的含義作出某種限制,稱為如果對關聯的含義作出某種限制,稱為受限關聯受限關聯。類類A A類類B B限定詞限定詞目錄目錄文件文件文件名文件名 圖4.29 受限關聯受限關聯的表示受限關聯的例項目項目語言語言人人(項目項目)CAD系統系統(語言語言) C 語言語言(人人)林珩林珩 圖4.28 三元關聯類類1類類2類類3三元關聯的表示三元關聯的例鏈的例子退出退出上頁上頁首頁首頁下頁下頁末頁末頁(1)普通關聯)普通關聯 例如:學生使用計算機例如:學生使用計算機學生計算機使用 使用*1
29、.*0.1 表示表示0到到1個對象個對象0.*或或* 表示表示0到多個對象到多個對象1+或或1.* 表示表示1到多個對象到多個對象1.15 表示表示1到到15個對象個對象3 表示表示3個對象個對象退出退出上頁上頁首頁首頁下頁下頁末頁末頁人結婚妻子丈夫關聯的角色退出退出上頁上頁首頁首頁下頁下頁末頁末頁(3 3)限定關聯)限定關聯一個受限的關聯由兩個對象一個受限的關聯由兩個對象及一個限定詞組成??梢园鸭耙粋€限定詞組成??梢园严薅ㄔ~看作是一種特殊的鏈限定詞看作是一種特殊的鏈屬性。利用限定詞通常能有屬性。利用限定詞通常能有效地減少關聯的階數。效地減少關聯的階數。目 錄 文件名文 件某操作系統中一個目錄
30、下某操作系統中一個目錄下有許多文件,一個文件僅有許多文件,一個文件僅屬于一個目錄,在一個目屬于一個目錄,在一個目錄內文件名確定了唯一的錄內文件名確定了唯一的一個文件。一個文件。利用限定詞利用限定詞“文件名文件名”表示了目錄與文表示了目錄與文件之間的關系,可見限定詞把一對多關件之間的關系,可見限定詞把一對多關系簡化成了一對一關系系簡化成了一對一關系退出退出上頁上頁首頁首頁下頁下頁末頁末頁在在一些情況下,與兩個互相關聯的類相關的屬性不能放一些情況下,與兩個互相關聯的類相關的屬性不能放在任何一個類中。在任何一個類中。StudentCourseSection+IsRegisteredIn*一個多對多關
31、聯n“grade”grade”屬性不能放在屬性不能放在studentstudent類,也不能放在類,也不能放在CourseSectionCourseSection類。類。創(chuàng)建一個關聯類(創(chuàng)建一個關聯類(association association classclass)退出退出上頁上頁首頁首頁下頁下頁末頁末頁一個帶有關聯類的多對多關聯-gradeRegistration*StudentCourseSection1. 除了隸屬于一個關聯之外,關聯類同其他類沒什么不除了隸屬于一個關聯之外,關聯類同其他類沒什么不同。同。2. 任何時候看到多對多關聯,都應改考慮是否需要一個任何時候看到多對多關聯,都
32、應改考慮是否需要一個關聯類。關聯類。退出退出上頁上頁首頁首頁下頁下頁末頁末頁工作站工作站窗口窗口控制臺控制臺圖4.33 重數為0或者1人人公司公司人人公司公司圖4. 31 多對多的關聯圖4. 30 一對多的關聯也可在連線上標注數字表示重數。也可在連線上標注數字表示重數?!?” “1” 表示只有表示只有1 1個個“1+” “1+” 表示表示1 1個或多個個或多個“3 5” “3 5” 表示表示 3 3個到個到5 5個之間個之間“2“2,4 4,15” 15” 表示表示2 2個,個,4 4個或個或1515個個引入引入重數重數進一步描述類之間的關聯,也稱進一步描述類之間的關聯,也稱關聯的多重性關聯的
33、多重性。表示一個類中有多少個實例與一個相關類的某一例子有關,重表示一個類中有多少個實例與一個相關類的某一例子有關,重數限定了相關對象的個數。數限定了相關對象的個數。直線直線名稱名稱點點名稱名稱相交相交2+圖4.32 重數為2或多個表示表示“多個多個”,表示零或多表示零或多個。個。表示表示“可選可選”,表示表示“0“0或者或者1”1”。6.2.4 6.2.4 鏈和關聯鏈和關聯退出退出上頁上頁首頁首頁下頁下頁末頁末頁 鏈屬性鏈屬性是關聯中鏈的性質,鏈的每一個屬性都有一個值。如是關聯中鏈的性質,鏈的每一個屬性都有一個值。如圖圖2.292.29所示,鏈屬性的所示,鏈屬性的OMT符號是一個盒子。符號是一
34、個盒子。可進一步說明可訪問(關聯)性??蛇M一步說明可訪問(關聯)性。D:edcdate1.Dat(D:edcdate1.Dat(讀讀- -寫寫) ) 李紅李紅D:( D:( 讀讀) ) 張立張立角色,常與附加鏈屬性一起角色,常與附加鏈屬性一起進一步描述對象之間的聯接(圖進一步描述對象之間的聯接(圖2.302.30)。)。6.2.4 6.2.4 鏈和關聯鏈和關聯鏈屬性鏈屬性圖4. 34 多對多關聯的鏈屬性文件文件用戶用戶訪問許可訪問許可可訪問可訪問公司公司名字名字個人個人名字名字工作工作職務職務工資工資關聯關聯雇雇主主雇雇員員類類A A類類B B關聯關聯角角色色角角色色圖4.35 角色與鏈屬性退
35、出退出上頁上頁首頁首頁下頁下頁末頁末頁 可用可用來代表整體與部分的關系來代表整體與部分的關系( (圖圖2.31)2.31),還可構成,還可構成不同層次的多級不同層次的多級( (圖圖2.32)2.32)段落段落句子句子整體整體部分部分圖4.36 聚集關系圖4.37聚集關系微機系統微機系統監(jiān)視器監(jiān)視器主機箱主機箱鼠標鼠標鍵盤鍵盤底架底架CPURAM風扇風扇6.2.4 6.2.4 鏈和關聯鏈和關聯退出退出上頁上頁首頁首頁下頁下頁末頁末頁整體部分2部分11,m0,n整體部分關系圖中上部是一個整體對圖中上部是一個整體對象,下部是組成該整體象,下部是組成該整體對象的若干個部分對象。對象的若干個部分對象。三
36、角形標記表明組合關三角形標記表明組合關系的方向:從三角形頂系的方向:從三角形頂角引出的線指向整體對角引出的線指向整體對象,從三角形底邊中點象,從三角形底邊中點畫出的線連到部分對象。畫出的線連到部分對象。聚集:一般聚集、共享聚集和組合聚集聚集:一般聚集、共享聚集和組合聚集退出退出上頁上頁首頁首頁下頁下頁末頁末頁(2 2)組合聚集)組合聚集窗 口1文 本 框列 表 框按 鈕菜 單*組 合 聚 集*1.*課題組人成員共享聚集(1 1)共享聚集)共享聚集退出退出上頁上頁首頁首頁下頁下頁末頁末頁 (3)(3)泛化關系泛化關系一般化類具體化類具體化類一般特殊關系泛化關系反映了一個類泛化關系反映了一個類與若
37、干個互不相容的子與若干個互不相容的子類之間的分類關系。類之間的分類關系。高層類(即基類)說明高層類(即基類)說明一般性的屬性。一般性的屬性。低層類(即派生類)說低層類(即派生類)說明特殊屬性。明特殊屬性。半圓形標記表明歸納關半圓形標記表明歸納關系的方向:從半圓弧中系的方向:從半圓弧中點引出的直線指到一般點引出的直線指到一般化的類?;念?。請注意:直線端點的位置,這個請注意:直線端點的位置,這個端點位置表明,這是類(而不是端點位置表明,這是類(而不是對象)間的關系。對象)間的關系。泛化:普通泛化和受限泛化泛化:普通泛化和受限泛化退出退出上頁上頁首頁首頁下頁下頁末頁末頁(1)依賴關系)依賴關系類B
38、類A友元分 析 類設 計 類(2 2)細化關系)細化關系 一家公司的對象模型一家公司的對象模型該公司有許多部門,部門名唯一地確定一個部門;每個該公司有許多部門,部門名唯一地確定一個部門;每個部門由一名經理管理,也有的經理并不管理任何一個部部門由一名經理管理,也有的經理并不管理任何一個部門;每個部門生產多種產品,每種產品僅由一個部門生門;每個部門生產多種產品,每種產品僅由一個部門生產。該公司有許多名員工為之工作,員工又進一步劃分產。該公司有許多名員工為之工作,員工又進一步劃分為經理和工人兩類。每名工人可參加多個工程項目,每為經理和工人兩類。每名工人可參加多個工程項目,每個項目需要多名工人;每位經
39、理可以主持多個項目,每個項目需要多名工人;每位經理可以主持多個項目,每個項目僅有一人主持。個項目僅有一人主持。退出退出上頁上頁首頁首頁下頁下頁末頁末頁員工姓名地址身份證號碼工資公司名字電話號碼主要產品地址雇傭解雇1+為之工作職務工人經理項目項目名預算優(yōu)先級1+1+1+參加主持管理0,1部門名部門產品產品名成本重量1+生產退出退出上頁上頁首頁首頁下頁下頁末頁末頁基類基類子類子類A子類子類B 概括描述了類和具體概括描述了類和具體實例之間的關系。實例之間的關系。6.2.5 6.2.5 繼承是使用現存的定義作為基礎,建立新定義的技術。繼承是使用現存的定義作為基礎,建立新定義的技術。繼繼承性通常又稱為承
40、性通常又稱為概括概括,表示基類與子類的關系。子類的公共屬,表示基類與子類的關系。子類的公共屬性和操作歸屬于基類,并為每個子類共享,子類繼承了基類的性和操作歸屬于基類,并為每個子類共享,子類繼承了基類的特征。特征。繼承性分:單重繼承、多重繼承。繼承性分:單重繼承、多重繼承。運輸工具運輸工具陸上運輸工具陸上運輸工具水上運輸工具水上運輸工具汽車汽車水陸兩用車水陸兩用車船船圖4.38繼承關系退出退出上頁上頁首頁首頁下頁下頁末頁末頁圖圖 形形顏顏 色色中心位置中心位置筆的濃度筆的濃度筆筆 型型移移 動動 選選 擇擇旋旋 轉轉 顯顯 示示二二 維維方方 向向填充類型填充類型比例尺比例尺填充填充多邊形多邊形
41、邊數邊數點數點數顯示顯示園園直徑直徑顯示顯示旋轉旋轉0 維維線線 端點端點 顯示顯示一一 維維方向方向比例尺比例尺點點 顯示顯示樣條樣條 控制點控制點 顯示顯示弧弧半徑半徑起始角起始角弧度角弧度角顯示顯示6.2.5 6.2.5 圖4.39繼承性實例退出退出上頁上頁首頁首頁下頁下頁末頁末頁動態(tài)模型著重于系統的邏輯結構;描述某時刻對象及其聯動態(tài)模型著重于系統的邏輯結構;描述某時刻對象及其聯系的改變。包括狀態(tài)圖和事件追綜圖。系的改變。包括狀態(tài)圖和事件追綜圖。對象所具有的屬性值,具有時間性和持續(xù)性。對象所具有的屬性值,具有時間性和持續(xù)性。 對于對象的觸發(fā)行為,指從一個對象到另一個對象的對于對象的觸發(fā)行
42、為,指從一個對象到另一個對象的信息的單向傳遞。信息的單向傳遞。在系統的某一執(zhí)行期間內的一系列事件。在系統的某一執(zhí)行期間內的一系列事件。 在系統中具有屬性值、鏈路的對象,可能相互激發(fā),引起狀在系統中具有屬性值、鏈路的對象,可能相互激發(fā),引起狀態(tài)的一系列變化。態(tài)的一系列變化。 有的事件傳遞的是簡單信號,有的事件則傳遞的是數據有的事件傳遞的是簡單信號,有的事件則傳遞的是數據值。由事件傳送的數據值稱為值。由事件傳送的數據值稱為“屬性屬性”。6.2.6 6.2.6 建立動態(tài)模型建立動態(tài)模型退出退出上頁上頁首頁首頁下頁下頁末頁末頁狀態(tài)圖是一個狀態(tài)和事件的網絡,側重于描述每一類對象狀態(tài)圖是一個狀態(tài)和事件的網
43、絡,側重于描述每一類對象的動態(tài)行為,狀態(tài)的遷移。的動態(tài)行為,狀態(tài)的遷移。狀態(tài)狀態(tài)A活動活動狀態(tài)狀態(tài)B狀態(tài)狀態(tài)A / / 操作操作事件事件B條件條件起始狀態(tài)起始狀態(tài)終結狀態(tài)終結狀態(tài)狀態(tài)圖狀態(tài)圖動態(tài)模型由多個狀態(tài)圖組成,每個有重要行為的類都有一動態(tài)模型由多個狀態(tài)圖組成,每個有重要行為的類都有一個狀態(tài)圖。各狀態(tài)圖可并發(fā)地執(zhí)行及獨立改變狀態(tài)。個狀態(tài)圖。各狀態(tài)圖可并發(fā)地執(zhí)行及獨立改變狀態(tài)。菜單消失菜單消失菜單顯示菜單顯示按下右鍵按下右鍵/ /菜單顯示菜單顯示釋放右鍵釋放右鍵/ /擦去擦去菜單菜單圖例圖例狀態(tài)狀態(tài)狀態(tài)遷移狀態(tài)遷移狀態(tài)6.2.6 6.2.6 建立動態(tài)模型建立動態(tài)模型退出退出上頁上頁首頁首頁下
44、頁下頁末頁末頁事件追蹤圖側重描述系統執(zhí)行過程中的一個特定的事件追蹤圖側重描述系統執(zhí)行過程中的一個特定的“場景(場景(Scenarios)”。場景場景有時也叫有時也叫“腳本腳本”,是完成,是完成系統某個功能的一個事件序列。即是描述多個對象的集體系統某個功能的一個事件序列。即是描述多個對象的集體行為。行為。序列。例序列。例如:打電話的場景:如:打電話的場景:1 1、拿起電話受話器、拿起電話受話器1212、打電話者聽見振鈴聲、打電話者聽見振鈴聲2 2、電話忙音開始、電話忙音開始1313、對方接電話、對方接電話3 3、撥電話號碼數、撥電話號碼數5 51414、接話方停止振鈴、接話方停止振鈴4 4、電話
45、忙音結束、電話忙音結束1515、打電話方停止振鈴聲、打電話方停止振鈴聲5 5、撥電話號碼數、撥電話號碼數5 51616、通電話、通電話6 6、撥電話號碼數、撥電話號碼數5 51717、對方掛電話、對方掛電話7 7、撥電話號碼數、撥電話號碼數1 11818、電話切斷、電話切斷8 8、撥電話號碼數、撥電話號碼數2 192 19、打電話者掛電話、打電話者掛電話.1111、對方電話開始振鈴、對方電話開始振鈴6.2.6 6.2.6 建立動態(tài)模型建立動態(tài)模型退出退出上頁上頁首頁首頁下頁下頁末頁末頁打電話者打電話者 電話線電話線 接電話者接電話者拿起接收器拿起接收器撥號音開始撥號音開始撥號(撥號(5)忙音結
46、束忙音結束撥號(撥號(5)撥號(撥號(5)撥號(撥號(1)撥號(撥號(2)撥號(撥號(3)撥號(撥號(4)撥號(撥號(8)鈴聲鈴聲鈴聲停止鈴聲停止電話連通電話連通電話斷開電話斷開打電話者掛機打電話者掛機鈴聲鈴聲受話方回答受話方回答鈴聲停止鈴聲停止電話連通電話連通受話方掛機受話方掛機電話斷開電話斷開打電話者打電話者打電話的事件追綜圖6.2.6 6.2.6 建立動態(tài)模型建立動態(tài)模型退出退出上頁上頁首頁首頁下頁下頁末頁末頁空閑空閑撥號撥號連接連接鈴響鈴響連接連接斷連斷連忙音忙音快速忙音快速忙音撥號音撥號音超出時間超出時間記錄的信息記錄的信息放下話筒放下話筒提起話筒超時超時無效號碼有效號碼對方應答通路一位號碼中斷線忙號碼忙對方電話掛斷信息送完6.2.6 6.2.6 建立動態(tài)模型建立動態(tài)模型圖4.40打電話狀態(tài)圖退出退出上頁上頁首頁首頁下頁下頁末頁末頁退出退出上頁上頁首頁首頁下頁下頁末頁末頁退出退出上頁上頁首頁首頁下頁下頁末頁末頁用例圖用例圖用例圖描述的是外部行為者所理解的系統功能,包含系統、用例圖描述的是外部行為者所理解的系統功能,包含系統、行為者、用例以及用例之間的關系。行為者、用例
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- LED采購合同模板
- 洗浴行業(yè)市場前景預測與戰(zhàn)略規(guī)劃實踐考核試卷
- 2024年05月-2025廣東揭陽市第三次引進基層醫(yī)療衛(wèi)生急需緊缺人才招聘489人筆試歷年專業(yè)考點(難、易錯點)附帶答案詳解
- 2024年04月湖北武漢市精神衛(wèi)生中心招聘人事代理制護理人員筆試歷年專業(yè)考點(難、易錯點)附帶答案詳解
- 鹽的傳統制作與民俗文化考核試卷
- 河道整治工程生態(tài)工程技術考核試卷
- 低溫倉儲的溫濕度控制考核試卷
- 空調系統防霉除濕技術考核試卷
- 搪瓷制品成型工藝研究考核試卷
- 木箱包裝培訓
- GB/Z 43281-2023即時檢驗(POCT)設備監(jiān)督員和操作員指南
- 主動披露報告表
- 煤礦一通三防知識培訓課件
- 2022年版小學《義務教育音樂課程標準》考試復習題庫
- 筑業(yè)海南省建筑工程資料表格填寫范例與指南
- 國家開放大學《廣告學概論》形考任務1-4參考答案
- 畢業(yè)論文建筑消防系統論文
- 自制移動吊車(炮車)方案
- 《咕咚來了》PPT圖文帶mpa
- (三四級)農業(yè)經理人復習阿備考題庫及答案(含理論和實操)
- 知識工程-龐晨
評論
0/150
提交評論