UML04類圖及對象圖_第1頁
UML04類圖及對象圖_第2頁
UML04類圖及對象圖_第3頁
UML04類圖及對象圖_第4頁
UML04類圖及對象圖_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、UML系統(tǒng)建模-面向對象桂林電子科技大學信息科技學院 劉芳芳重點內容:lReviewl面向對象分析l類圖與對象圖的基本概念 l類圖的組成 l使用Rose創(chuàng)建類圖l對象圖l案例分析第7章 類圖與對象圖重點內容:lReviewl面向對象分析l類圖與對象圖的基本概念 l類圖的組成 l使用Rose創(chuàng)建類圖l對象圖l案例分析第7章 類圖與對象圖Review:基于用例的需求分析過程1. 獲取原始需求2. 開發(fā)一個可以理解的需求 2.1 識別參與者 2.2 識別用例 2.3 構建用例圖3. 詳細、完整地描述需求 進行用例闡述4. 重構用例模型 4.1 識別用例間的關系 4.2 對用例進行組織和分包重點內容:

2、lReviewl面向對象分析l類圖與對象圖的基本概念 l類圖的組成 l對象圖l使用Rose創(chuàng)建類圖l實例第7章 類圖與對象圖需求需求用例用例OOAOOA系統(tǒng)系統(tǒng)面向對象分析面向對象分析為什么要進行分析分析過程概述從需求到分析Requirement Model-SupplementarySpecificationGlossaryAnalysis ModelUse Case Realization - Anaysis : : Analysis Class分析模型與用例模型分析過程概述OOA與用例模型分析過程概述重點內容:lReviewl面向對象分析l類圖與對象圖的基本概念 l類圖的組成 l對象圖l

3、使用Rose創(chuàng)建類圖l實例第7章 類圖與對象圖7.1.1 類圖與對象圖的含義 類圖(Class Diagram)顯示了系統(tǒng)的靜態(tài)結構,而系統(tǒng)的靜態(tài)結構構成了系統(tǒng)的概念基礎 類圖就是用于對系統(tǒng)中的各種概念進行建模,并描繪出它們之間關系的圖 類圖中的類可以轉換成某種面向對象的編程語言代碼一、類圖與對象圖的基本概念 在類圖中,具體來講它一共包含了以下幾種模型元素,分別是:類、接口、依賴關系、泛化關系、關聯(lián)關系以及實現(xiàn)關系。 類圖可以創(chuàng)建約束、注釋和包等。對象圖的含義 對象圖中包含對象(Object)和鏈(Link)。其中對象是類的特定實例,鏈是類之間關系的實例,表示對象之間的特定關系。 對象圖描述某

4、種特定的情況,類圖描述通用通用的情況7.1.1 類圖與對象圖的含義類圖對象圖在類中包含三部分,分別是類名、類的屬性和類的操作對象包含兩部分:對象的名稱和對象的屬性類的名稱欄只包含類名對象的名稱欄包含“對象名:類名”類的屬性欄定義了所有屬性的特征對象的屬性欄定義了屬性的當前值類中列出了操作對象圖中不包含操作的內容因為對屬于同一個類的對象,其操作是相同的類圖的作用 類圖的作用是對系統(tǒng)的靜態(tài)視圖進行建模。當對系統(tǒng)的靜態(tài)視圖進行建模時,通常是以以下三種方式來使用類圖。 1 為系統(tǒng)的詞匯建模。使用類圖來詳細描述系統(tǒng)建模中的抽象。 2 系統(tǒng)分析者可以通過類圖將模型化簡單的協(xié)作可視化和表述。 3 模型化邏輯

5、數(shù)據(jù)庫模式。在設計數(shù)據(jù)庫時,通常將數(shù)據(jù)庫模式看作為數(shù)據(jù)庫概念設計的藍圖,在很多領域中,都需要在關系數(shù)據(jù)庫或面向數(shù)據(jù)庫中存儲永久信息。系統(tǒng)分析者可以使用類圖來對這些數(shù)據(jù)庫進行模式建模。 對象圖作為系統(tǒng)在某一時刻的快照,是類圖中的各個類在某一個時間點上的實例及其關系的靜態(tài)寫照,可以通過以下幾個方面來說明它的作用: 1 說明復雜的數(shù)據(jù)結構。對于復雜的數(shù)據(jù)結構,有時候很難對其進行抽象成類表達之間的交互關系。使用對象描繪對象之間的關系可以幫助我們說明復雜的數(shù)據(jù)結構某一時刻的快照,從而有助于對復雜數(shù)據(jù)結構的抽象。 2 表示快照中的行為。通過一系列的快照,可以有效表達事物的行為。 對象圖的作用重點內容:lR

6、eviewl面向對象分析l類圖與對象圖的基本概念 l類圖的組成 l對象圖l使用Rose創(chuàng)建類圖l實例第7章 類圖與對象圖二、類圖的組成 類是面向對象系統(tǒng)組織結構的核心。類是對一組具有相同屬性、操作、關系和語義的事物的抽象。 在UML的圖形表示中,類的表示法是一個矩形,這個矩形由三個部分構成,分別是: 類的名稱(Name) 類的屬性(Attribute) 類的操作(Operation)。 類的名稱(Name) 類的屬性(Attribute) 可見性可見性 屬性名稱屬性名稱 :屬性類型:屬性類型 = =初始值初始值 屬性字符串屬性字符串(1) 可見性 可見性可見性 屬性名稱屬性名稱 :屬性:屬性類

7、型類型 = =初始值初始值 屬性字符串屬性字符串可見性可見性RoseRose圖注圖注UMLUML圖注圖注PublicPublic+ +ProtectedProtectedPrivatePrivate- -(1) 可見性 可見性可見性 屬性名稱屬性名稱 :屬性:屬性類型類型 = =初始值初始值 屬性字符串屬性字符串(2) 屬性名稱 可見性可見性 屬性名稱屬性名稱 :屬性:屬性類型類型 = =初始值初始值 屬性字符串屬性字符串(3) 屬性類型 可見性可見性 屬性名稱屬性名稱 :屬性:屬性類型類型 =初始值初始值 屬性字符串屬性字符串(4) 初始值 可見性可見性 屬性名稱屬性名稱 :屬性:屬性類型類

8、型 =初始值初始值 屬性字符串屬性字符串(5) 屬性字符串 可見性可見性 屬性名稱屬性名稱 :屬性:屬性類型類型 = =初始值初始值 屬性字符串屬性字符串類的操作(Operation) 可見性可見性 操作操作名稱名稱 (參數(shù)表)(參數(shù)表):返回類型:返回類型屬性字符串屬性字符串(1)類的操作:可見性+public#protected-privateRoseUML可見性 可見性可見性 操作操作名稱名稱 (參數(shù)表)(參數(shù)表):返回類型:返回類型屬性字符串屬性字符串(2)類的操作:操作名稱 可見性可見性 操作操作名稱名稱 (參數(shù)表)(參數(shù)表):返回類型:返回類型屬性字符串屬性字符串(3)類的操作:參

9、數(shù)表 可見性可見性 操作操作名稱名稱 (參數(shù)表)(參數(shù)表):返回類型:返回類型屬性字符串屬性字符串(4) 返回類型 可見性可見性 操作操作名稱名稱 (參數(shù)表)(參數(shù)表) :返回類型:返回類型屬性字符串屬性字符串類的定義畫成類圖例如: 類的定義如下: public class Circle private: Point Center; float radius; public: Circle(); float area(float ratio); float scale(); void move(Point location); Circle - Center: Point -radius: f

10、loat +Circle() +area(ratio:float):float +scale():float +move(location: Point)二、類圖的組成類的職責 在標準的UML定義中,有時還應當指明類的另一種信息,那就是類的職責。類的職責指的是對該類的所有對象所具備的那些相同的屬性和操作共同組成的功能或服務的抽象。 在聲明類的職責的時候,可以非正式的在類圖的下方增加一欄,將該類的職責逐條描述出來。類的職責的描述并不是必須的,因此也可以將其作為文檔的形似存在,也就是說類的職責其實只是一段或多段文本描述。一個類可以有多種職責,設計得好的類一般至少有一種職責。二、類圖的組成類的約束

11、類的約束指定了該類所要滿足的一個或多個規(guī)則。在UML中,約束是用一個大括號括起來的文本信息。二、類圖的組成類的注釋 接口是在沒有給出對象的實現(xiàn)和狀態(tài)的情況下對對象行為的描述。 通常,在接口中包含一系列操作但是不包含屬性 一個類可以通過實現(xiàn)接口從而支持接口所指定的行為。 在UML中,接口的表示方式是使用一個帶有名稱的小圓圈來進行表示接口 接口則是一種類似于抽象類的機制,它是一個沒有具體實現(xiàn)的類 當接口被其他類依賴的時候,也就是說一個接口在某個類中實現(xiàn)后,一個類通過一個依賴關系與該接口相連接。 這時,依賴類僅僅是依賴于指定接口中的那些操作,而不依賴于接口實現(xiàn)類的其他部分。接口的依賴關系和泛化關系

12、接口之間的泛化關系二、類之間的關系依賴關系泛化關系關聯(lián)關系實現(xiàn)關系依賴關系 一個類使用了另外一個類。表現(xiàn)在代碼層面,為類B作為參數(shù)被類A在某個method方法中使用依賴關系泛化關系關聯(lián)關系關聯(lián)關系:關聯(lián)名稱關聯(lián)關系:角色 聚集關系 聚集關系描述的是部分與整體關系的關聯(lián)。 它將一組元素通過關聯(lián)組成一個更大、更復雜的單元。 聚集關系描述了has ahas a的關系 聚集關系由端點帶有空心菱形的線段表示。其中頭部指向整體部分類可以沒有整體類而獨立存生。組合關系 組合關系則是一種更強形式的關聯(lián)。 在組合中,成員對象的生命周期取決于聚合的生命周期。 組合關系不僅控制著成員對象的行為,而且控制著成員對象的

13、創(chuàng)建和結束。一個電子郵件消息由郵件頭、郵件體和未指明數(shù)目的附件構成。簡單描述簡單描述它們之間的關系。它們之間的關系。之間之間的關系。的關系。類的關系:聚集與組成 MailMessageHeaderBodyAttachment111*關聯(lián)關系:多重性 多重性標識語義關聯(lián)關系:多重性 修飾符語義 0僅為0個1恰為1個0.10個或者1個0.50個到5個0.n0個到無窮個*若干個n無窮個實現(xiàn)關系 類之間的關系總結 關系關系 功能功能表示圖形表示圖形依賴關系依賴關系兩個模型元素之間的依賴關系兩個模型元素之間的依賴關系泛化關系泛化關系更概括地描述和更具體的種類之更概括地描述和更具體的種類之間的關系,適應于

14、繼承間的關系,適應于繼承關聯(lián)關系關聯(lián)關系類實例間連接的描述類實例間連接的描述實現(xiàn)關系實現(xiàn)關系聲明聲明和實現(xiàn)間的關系和實現(xiàn)間的關系 OO建模的一個普遍問題是,當類之間具有多對多關系時,一些屬性不能容易地放入一個類中。例如,下圖所示的公司與員工的類關系 當每個Person與雇傭它的Company間存在薪水屬性時會發(fā)生什么呢?薪水記錄在何處呢?記錄在Person類中還是在Company類中?類的關系:關聯(lián)類 薪水實際上是關聯(lián)本身的特性,對于Person對象和Company對象之間的每個雇傭鏈接都存在特定雇傭的特定薪水。 UML允許使用關聯(lián)類來建模這種情況,如下圖所示。類的關系:關聯(lián)類關聯(lián)類既是關聯(lián)類

15、既是關聯(lián)又是類關聯(lián)又是類類元 類圖(Class Diagram)顯示了系統(tǒng)的靜態(tài)結構,而系統(tǒng)的靜態(tài)結構構成了系統(tǒng)的概念基礎。 在大多數(shù)的UML模型當中,我們可以把這些概念概括為以下四種,稱為類元:1. 類2. 接口3. 數(shù)據(jù)類型4. 構件類元是對有實例且有屬性形式的結構特征和操作形類元是對有實例且有屬性形式的結構特征和操作形式的行為特征建模元素的統(tǒng)稱。式的行為特征建模元素的統(tǒng)稱。 在這個練習中,將會通過識別到目前為止學習的在這個練習中,將會通過識別到目前為止學習的UMLUML標標記符來閱讀下面的類圖,如圖所示。記符來閱讀下面的類圖,如圖所示。 練習步驟:練習步驟: 1 1)指出建模的類。)指出

16、建模的類。 2 2)指出所有屬性及其顯示的數(shù)據(jù)類型。)指出所有屬性及其顯示的數(shù)據(jù)類型。 3 3)指出所有顯示的操作。)指出所有顯示的操作。 4 4)指出找到的關聯(lián)。)指出找到的關聯(lián)。 5 5)指出建模的角色。)指出建模的角色。 6 6)指出圖中使用的多重性。)指出圖中使用的多重性。練習:閱讀一個類圖例例 :機房收費:機房收費的類圖的類圖四、對象圖 對象圖(Object Diagram)是由對象(Object)和鏈(Link)組成的。對象圖的目的在于描述系統(tǒng)中參與交互的各個對象在某一時刻是如何運行的。對象的表示法 對象名 對象名:類名 兩個部分是可選的,如果有類名,則必須加冒號,對象名加下劃線

17、屬性 由于對象是具體事物,則所有屬性均已確定,因此在屬性后面列出其值 對象元素中不列出操作對象圖 Rose中沒有專門的對象圖,可在協(xié)作圖中表示。對象圖 在UML中引入對象圖,用于描述一個參與交互的對象在交互過程中某一時刻的狀態(tài)。 對象圖(Object Diagram)是描述在某一時刻,一組對象以及它們之間關系的圖形。 對象圖是描述系統(tǒng)交互的靜態(tài)圖形,它由協(xié)作的對象組成,但不包含在對象之間傳遞的任何消息。練習需求描述小王是一個愛書之人,家里各類書籍已過千冊,而平時小王是一個愛書之人,家里各類書籍已過千冊,而平時又時常有朋友外借,因此需要一個個人圖書管理系統(tǒng)。又時常有朋友外借,因此需要一個個人圖書

18、管理系統(tǒng)。該系統(tǒng)應該能夠將書籍的基本信息按計算機類、非計算該系統(tǒng)應該能夠將書籍的基本信息按計算機類、非計算機類分別建檔,實現(xiàn)按書名、作者、類別、出版社等關機類分別建檔,實現(xiàn)按書名、作者、類別、出版社等關鍵字的組合查詢功能。在使用該系統(tǒng)錄入新書籍時系統(tǒng)鍵字的組合查詢功能。在使用該系統(tǒng)錄入新書籍時系統(tǒng)會自動按規(guī)則生成書號,可以修改信息,但一經(jīng)創(chuàng)建就會自動按規(guī)則生成書號,可以修改信息,但一經(jīng)創(chuàng)建就不允許刪除。該系統(tǒng)還應該能夠對書籍的外借情況進行不允許刪除。該系統(tǒng)還應該能夠對書籍的外借情況進行記錄,可對外借情況列表打印。另外,還希望能夠對書記錄,可對外借情況列表打印。另外,還希望能夠對書籍的購買金額、

19、冊數(shù)按特定時間周期進行統(tǒng)計籍的購買金額、冊數(shù)按特定時間周期進行統(tǒng)計 發(fā)現(xiàn)類小王小王是一個愛書之是一個愛書之人人,家里家里各類各類書籍書籍已過千冊,而平時已過千冊,而平時又時常有又時常有朋友朋友外借,因此需要一個外借,因此需要一個個人圖書管理系統(tǒng)個人圖書管理系統(tǒng)。該系統(tǒng)應該能夠將書籍的該系統(tǒng)應該能夠將書籍的基本信息基本信息按按計算機類計算機類、非計算非計算機類機類分別建檔,實現(xiàn)按分別建檔,實現(xiàn)按書名書名、作者作者、類別類別、出版社出版社等等關關鍵字鍵字的組合查詢的組合查詢功能功能。在使用該系統(tǒng)錄入。在使用該系統(tǒng)錄入新書籍新書籍時時系統(tǒng)系統(tǒng)會自動按會自動按規(guī)則規(guī)則生成生成書號書號,可以修改,可以修

20、改信息信息,但一經(jīng)創(chuàng)建就,但一經(jīng)創(chuàng)建就不允許刪除。該系統(tǒng)還應該能夠對書籍的外借情況進行不允許刪除。該系統(tǒng)還應該能夠對書籍的外借情況進行記錄記錄,可對,可對外借情況列表外借情況列表打印。另外,還希望能夠對書打印。另外,還希望能夠對書籍的籍的購買金額購買金額、冊數(shù)冊數(shù)按按特定時間周期特定時間周期進行統(tǒng)計進行統(tǒng)計 篩選備選類“小王小王”、“人人”、“家里家里”很明顯是系統(tǒng)外的概念,無須對其建模;很明顯是系統(tǒng)外的概念,無須對其建模;而而“個人圖書管理系統(tǒng)個人圖書管理系統(tǒng)”、“系統(tǒng)系統(tǒng)”指的就是將要開發(fā)的系統(tǒng),即系指的就是將要開發(fā)的系統(tǒng),即系統(tǒng)本身,也無須對其進行建模;統(tǒng)本身,也無須對其進行建模;很明顯

21、很明顯“書籍書籍”是一個很重要的類,而是一個很重要的類,而“書名書名”、“作者作者”、“類類別別”、“出版社出版社”、“書號書號”則都是用來描述書籍的基本信息的,因則都是用來描述書籍的基本信息的,因此應該作為此應該作為“書籍書籍”類的屬性處理,而類的屬性處理,而“規(guī)則規(guī)則”是指書號的生成規(guī)則,是指書號的生成規(guī)則,而書號則是書籍的一個屬性,因此而書號則是書籍的一個屬性,因此“規(guī)則規(guī)則”可以作為編寫可以作為編寫“書籍書籍”類類構造函數(shù)的指南。構造函數(shù)的指南。“基本信息基本信息”則是書名、作者、類別等描述書籍的基本信息統(tǒng)稱,則是書名、作者、類別等描述書籍的基本信息統(tǒng)稱,“關鍵字關鍵字”則是代表其中之

22、一,因此無需對其建模;則是代表其中之一,因此無需對其建模;“功能功能”、“新書籍新書籍”、“信息信息”、“記錄記錄”都是在描述需求時使用都是在描述需求時使用到的一些相關詞語,并不是問題域的本質,因此先可以將其淘汰掉;到的一些相關詞語,并不是問題域的本質,因此先可以將其淘汰掉;篩選修選類“計算機類計算機類”、“非計算機類非計算機類”是該系統(tǒng)中圖書的兩大分類,因此應該是該系統(tǒng)中圖書的兩大分類,因此應該對其建模,并改名為對其建模,并改名為“計算機類書籍計算機類書籍”和和“非計算機類書籍非計算機類書籍”,以減少,以減少歧義;歧義;“外借情況外借情況”則是用來表示一次借閱行為,應該成為一個候選類,多個則

23、是用來表示一次借閱行為,應該成為一個候選類,多個外借情況將組成外借情況將組成“外借情況列表外借情況列表”,而外借情況中一個很重要的角色是,而外借情況中一個很重要的角色是“朋友朋友”借閱主體。雖然到本系統(tǒng)中并不需要建立借閱主體。雖然到本系統(tǒng)中并不需要建立“朋友朋友”的資料庫,的資料庫,但考慮到可能會需要列出某個朋友的借閱情況,因此還是將其列為候選但考慮到可能會需要列出某個朋友的借閱情況,因此還是將其列為候選類。為了能夠更好地表述,將類。為了能夠更好地表述,將“外借情況外借情況”改名為改名為“借閱記錄借閱記錄”,而將,而將“外借情況列表外借情況列表”改名為改名為“借閱記錄列表借閱記錄列表”;“購買

24、金額購買金額”、“冊數(shù)冊數(shù)”都是統(tǒng)計的結果,都是一個數(shù)字,因此不用將都是統(tǒng)計的結果,都是一個數(shù)字,因此不用將其建模,而其建模,而“特定時限特定時限”則是統(tǒng)計的范圍,也無需將其建模;不過從這則是統(tǒng)計的范圍,也無需將其建模;不過從這里的分析中,我們可以發(fā)現(xiàn),在該需求描述中隱藏著一個關鍵類里的分析中,我們可以發(fā)現(xiàn),在該需求描述中隱藏著一個關鍵類書籍書籍列表,也就是執(zhí)行統(tǒng)計的主體。列表,也就是執(zhí)行統(tǒng)計的主體。得到候選類在使用在使用“名詞動詞法名詞動詞法”尋找類的時候,很多團隊會在此尋找類的時候,很多團隊會在此耗費大量的時間,特別是對于中大型項目,這樣很容易耗費大量的時間,特別是對于中大型項目,這樣很容易迷失方向。其實在此主要的目的是對問題領域建立概要迷失方向。其實在此主要的目的是對問題領域建立概要的了解,無需太過咬文嚼字的了解,無需太過咬文嚼字 書籍 計算機類書籍 非計算機類書籍借閱記錄 借閱記錄列表 書籍列表關聯(lián)分析,建模,多重性分析,再建模職責分析書籍類:從需求描述中,可找到書籍類:從需求描述中,可找到書名、類別、作者、出版社書名、類別、作者、出版社;同時從;同時從統(tǒng)計的需要中,可得知統(tǒng)計的需要中,可得知“定價定價”也是一個關鍵的成員變量。也是一個關鍵的成員變量。書籍列表類:書籍列表就是全部書籍列表類:書籍列表就是全部的藏書列表,其主要的成員方法的藏書列表,其主

溫馨提示

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

最新文檔

評論

0/150

提交評論