第04章:UML系統(tǒng)分析與設(shè)計-類圖和對象圖_第1頁
第04章:UML系統(tǒng)分析與設(shè)計-類圖和對象圖_第2頁
第04章:UML系統(tǒng)分析與設(shè)計-類圖和對象圖_第3頁
第04章:UML系統(tǒng)分析與設(shè)計-類圖和對象圖_第4頁
第04章:UML系統(tǒng)分析與設(shè)計-類圖和對象圖_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第四章:類圖和對象圖

UML系統(tǒng)分析與設(shè)計學(xué)習(xí)內(nèi)容類圖的概念類圖的組成創(chuàng)建類圖對象圖的概念創(chuàng)建類圖案例分析創(chuàng)建對象圖案例分析類圖的概念1.類圖的概念類圖(Classdiagram)顯示了系統(tǒng)的靜態(tài)結(jié)構(gòu),而系統(tǒng)的靜態(tài)結(jié)構(gòu)構(gòu)成了系統(tǒng)的概念基礎(chǔ)。類圖,就是用于對系統(tǒng)中的各種概念進(jìn)行建模,并描繪出它們之間關(guān)系的圖。在大多數(shù)的UML模型中,我們可以將這些概念的類型概括為以下四種,分別是:

1類2接口3數(shù)據(jù)類型4構(gòu)件類圖的概念在類圖中,具體來講它一共包含了以下幾種模型元素,分別是:類、接口、依賴關(guān)系、泛化關(guān)系、關(guān)聯(lián)關(guān)系以及實現(xiàn)關(guān)系。類圖可以創(chuàng)建約束、注釋和包等。類圖的概念2.類圖在項目開發(fā)中的作用類圖的作用是對系統(tǒng)的靜態(tài)視圖進(jìn)行建模。當(dāng)對系統(tǒng)的靜態(tài)視圖進(jìn)行建模時,通常是以以下三種方式來使用類圖。1.為系統(tǒng)的詞匯建模。2.模型化簡單的協(xié)作。3.模型化邏輯數(shù)據(jù)庫模式。在設(shè)計數(shù)據(jù)庫時,通常將數(shù)據(jù)庫模式看作為數(shù)據(jù)庫概念設(shè)計的藍(lán)圖,在很多領(lǐng)域中,都需要在關(guān)系數(shù)據(jù)庫或面向數(shù)據(jù)庫中存儲永久信息。系統(tǒng)分析者可以使用類圖來對這些數(shù)據(jù)庫進(jìn)行模式建模。類圖的組成類類是面向?qū)ο笙到y(tǒng)組織結(jié)構(gòu)的核心。類是對一組具有相同屬性、操作、關(guān)系和語義的事物的抽象。在UML的圖形表示中,類的表示法是一個矩形,這個矩形由三個部分構(gòu)成,分別是:類的名稱(Name)、類的屬性(Attribute)和類的操作(Operation)。類圖的組成類的名稱是每個類的圖形中所必須擁有的元素,用于同其它類進(jìn)行區(qū)分。類的名稱通常來自于系統(tǒng)的問題域,并且盡可能地明確表達(dá)要描述的事物,不會造成類的語義沖突。類圖的組成屬性是類的一個特性,也是類的一個組成部分,描述了在軟件系統(tǒng)中所代表的對象具備的靜態(tài)部分的公共特征抽象,這些特性是這些的對象所共有的。在UML中,類的屬性的表示語法為([]內(nèi)的內(nèi)容是可選的):[可見性]屬性名稱[:屬性類型][=初始值][{屬性字符串}]

類圖的組成類的操作指的是類的所能執(zhí)行的操作,也是類的一個重要組成部分,描述了在軟件系統(tǒng)中所代表對象具備的動態(tài)部分的公共特征抽象。操作由一個返回類型、一個名稱以及參數(shù)表來描述。其中,返回類型、名稱和參數(shù)一起被稱為操作簽名(SignatureoftheOperation)。操作簽名描述了使用該操作所必需的所有信息。在UML中,類的操作的表示語法為([]內(nèi)的內(nèi)容是可選的):[可見性]操作名稱[(參數(shù)表)][:返回類型][{屬性字符串}]類圖的組成在標(biāo)準(zhǔn)的UML定義中,有時還應(yīng)當(dāng)指明類的另一種信息,那就是類的職責(zé)。類的職責(zé)指的是對該類的所有對象所具備的那些相同的屬性和操作共同組成的功能或服務(wù)的抽象。在聲明類的職責(zé)的時候,可以非正式的在類圖的下方增加一欄,將該類的職責(zé)逐條描述出來。類的職責(zé)的描述并不是必須的,因此也可以將其作為文檔的形似存在,也就是說類的職責(zé)其實只是一段或多段文本描述。一個類可以有多種職責(zé),設(shè)計得好的類一般至少有一種職責(zé)。類圖的組成類的約束指定了該類所要滿足的一個或多個規(guī)則。在UML中,約束是用一個大括號括起來的文本信息。類圖的組成類的注釋類圖的組成2.接口類接口是在沒有給出對象的實現(xiàn)和狀態(tài)的情況下對對象行為的描述。通常,在接口中包含一系列操作但是不包含屬性,并且它沒有對外界可見的關(guān)聯(lián)。接口是一種特殊的類,所有接口都是有構(gòu)造型<<interface>>的類。一個類可以通過實現(xiàn)接口從而支持接口所指定的行為。在UML中,接口的表示方式是使用一個帶有名稱的小圓圈來進(jìn)行表示的,并且我們可以通過一條Realize(實現(xiàn)關(guān)系)線與實現(xiàn)它的類相連接

類圖的組成3.類之間的關(guān)系依賴關(guān)系:表示的是兩個或多個模型元素之間語義上的連接關(guān)系。它只將模型元素本身連接起來而不需要用一組實例來表達(dá)它的意思。它表示了這樣一種情形,提供者的某些變化會要求或指示依賴關(guān)系中客戶的變化。也就是說依賴關(guān)系將二個類聯(lián)系起來,其中一個類會影響另一個類的行為和實現(xiàn)。類圖的組成泛化關(guān)系是用來描述類的一般和具體之間的關(guān)系。具體描述建立在對類的一般描述的基礎(chǔ)之上,并對其進(jìn)行了擴(kuò)展。因此,在具體描述中不僅包含一般描述中所擁有的所有特性、成員和關(guān)系,而且還包含了具體描述補充的信息。類圖的組成關(guān)聯(lián)關(guān)系是一種結(jié)構(gòu)關(guān)系,指出了一個事物對象與另一個事物對象之間的語義上的連接。關(guān)聯(lián)描述了系統(tǒng)中對象或?qū)嵗g的離散連接,它將一個含有兩個或多個有序表的類,在允許復(fù)制的情況下連接起來。一個類關(guān)聯(lián)的任何一個連接點都叫做關(guān)聯(lián)端,與類有關(guān)的許多信息都附在它的端點上。關(guān)聯(lián)端有名稱、角色、可見性以及多重性等特性。類圖的組成實現(xiàn)關(guān)系將一種模型元素(如類)與另一種模型元素(如接口)連接起來,是說明和其實現(xiàn)之間的關(guān)系。在實現(xiàn)關(guān)系中,接口只是行為的說明而不是結(jié)構(gòu)或者實現(xiàn),而類中則要包含了其具體的實現(xiàn)內(nèi)容,可以通過一個或多個類實現(xiàn)一個接口,但是每個類必須分別實現(xiàn)接口中的操作。雖然實現(xiàn)關(guān)系意味著要有像接口這樣的說明元素,它也可以用一個具體的實現(xiàn)元素來暗示它的說明(而不是它的實現(xiàn))必須被支持。創(chuàng)建類圖1.創(chuàng)建類

1.在圖形編輯工具欄中,選擇按鈕,此時光標(biāo)變?yōu)椤埃碧枴?/p>

2.在類圖中單擊選擇任意一個位置,系統(tǒng)在該位置創(chuàng)建一個新類。系統(tǒng)產(chǎn)生的默認(rèn)名稱為“NewClass”。

3.在類的名稱欄中,顯示了當(dāng)前所有的類的名稱,我們可以選擇清單中的現(xiàn)有類,這樣便把在模型中存在的該類添加到類圖中。如果創(chuàng)建新類,將“NewClass”重新命名成新的名稱即可。創(chuàng)建類圖2.創(chuàng)建類之間的關(guān)系

(1)創(chuàng)建和刪除依賴關(guān)系。(2)創(chuàng)建和刪除泛化關(guān)系。(3)創(chuàng)建和刪除實現(xiàn)關(guān)系。(4)創(chuàng)建和刪除關(guān)聯(lián)關(guān)系。對象圖的概念對象圖的概念對象圖中包含對象(Object)和鏈(Link)。其中對象是類的特定實例,鏈?zhǔn)穷愔g關(guān)系的實例,表示對象之間的特定關(guān)系。對象圖的概念1.對象圖的組成對象圖(ObjectDiagram)是由對象(Object)和鏈(Link)組成的。對象圖的目的在于描述系統(tǒng)中參與交互的各個對象在某一時刻是如何運行的。對象圖的概念2.對象圖在項目開發(fā)中的作用對象圖作為系統(tǒng)在某一時刻的快照,是類圖中的各個類在某一個時間點上的實例及其關(guān)系的靜態(tài)寫照,可以通過以下幾個方面來說明它的作用:1.說明復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。對于復(fù)雜的數(shù)據(jù)結(jié)構(gòu),有時候很難對其進(jìn)行抽象成類表達(dá)之間的交互關(guān)系。使用對象描繪對象之間的關(guān)系可以幫助我們說明復(fù)雜的數(shù)據(jù)結(jié)構(gòu)某一時刻的快照,從而有助于對復(fù)雜數(shù)據(jù)結(jié)構(gòu)的抽象。2.表示快照中的行為。通過一系列的快照,可以有效表達(dá)事物的行為。創(chuàng)建對象圖2.創(chuàng)建對象圖在RationalRose2003中不直接支持對象圖的創(chuàng)建,但是我們可以利用協(xié)作圖來創(chuàng)建。在協(xié)作圖中添加對象的步驟如下:1.在協(xié)作圖的圖形編輯工具欄中,選擇按鈕,此時光標(biāo)變?yōu)椤埃碧枴?.在類圖中單擊選擇任意一個位置,系統(tǒng)在該位置創(chuàng)建一個新的對象。3.雙擊該對象的圖標(biāo),彈出對象的規(guī)范設(shè)置窗口。4.在對象的規(guī)范設(shè)置窗口中,可以設(shè)置對象的名稱、類的名稱、持久性和是否多對象等。5.點擊“OK”按鈕即可。在協(xié)作圖中添加對象與對象之間的鏈的步驟如下:1.選擇工具欄中的協(xié)作圖圖形編輯工具欄中的圖標(biāo),或者選擇菜單欄“Tools”(工具)中“Create”(新建)下的“ObjectLink”選項,此時的光標(biāo)變?yōu)椤啊狈枴?.單擊需要鏈接的對象。3.將鏈的線段拖動到要與鏈接的對象中。4.雙擊鏈的線段,彈出設(shè)置鏈規(guī)范的對話框。5.在彈出的對話框中,在“General”選項卡中設(shè)置鏈的名稱、關(guān)聯(lián)、角色以及可見性等。6.如需要在對象的兩端添加消息,可以在“Messages”選項卡中進(jìn)行設(shè)置。創(chuàng)建類圖案例分析1.確定類和關(guān)聯(lián)用例圖實質(zhì)上是一種系統(tǒng)描述的形式,自然可以根據(jù)用例描述來識別類。針對各個用例,通常可以根據(jù)如下的問題輔助識別:1.用例描述中出現(xiàn)了那些實體?2.用例的完成需要哪些實體合作?3.用例執(zhí)行過程中會產(chǎn)生并存儲哪些信息?4.用例要求與之關(guān)聯(lián)的每個角色的輸入是什么?5.用例反饋與之關(guān)聯(lián)的每個角色的輸出是什么?6.用例需要操作哪些硬設(shè)備?創(chuàng)建類圖案例分析聊天系統(tǒng)由客戶端和服務(wù)器端二個部分組成,提供了包括注冊、客戶登錄、添加好友、刪除好友、私聊、群聊、好友上下線提示和用戶管理的功能,這些功能是由三層組成,即界面類、控制類和相應(yīng)的實體類信息類。根據(jù)這些功能中的名詞可以基本的識別出客戶端按系統(tǒng)要求可以抽象出如下十個類:消息實體類(Message):用于描述在客戶端和服務(wù)器端間所傳遞的消息對象。用戶實體類(User):用于描述用戶的信息。登錄界面類(LoginForm):主要用戶描述操作登錄的操作界面。注冊界面類(RegisterForm):主要用于描述用戶注冊的操作界面??蛻舳酥鞔翱陬悾–lientMainForm):主要描述客戶端的主界面。新增好友界面類(AddFriendForm):主要描述新增好友的操作界面。修改用戶信息界面類(ModifyUserForm):主要描述修改用戶信息的操作界面。聊天界面類(ChatForm):主要描述用戶進(jìn)行聊天的操作界面??蛻舳斯ぷ黝悾–lient):主要處理客戶端與服務(wù)器的通信,它屬于控制類。窗口基類(Form):所有操作界面的基類。創(chuàng)建類圖案例分析確定了客戶端的類后,就要從中找到它們之間的關(guān)系,執(zhí)行分析這些類之后,可以發(fā)現(xiàn)它們之間存在著如下關(guān)系:關(guān)聯(lián)關(guān)系所有的操作界面類與Client類之間就是一種普通的關(guān)聯(lián)關(guān)系;Client類要使用Message類進(jìn)行網(wǎng)絡(luò)

溫馨提示

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

評論

0/150

提交評論