面向?qū)ο蠓椒▽W(xué)_第1頁(yè)
面向?qū)ο蠓椒▽W(xué)_第2頁(yè)
面向?qū)ο蠓椒▽W(xué)_第3頁(yè)
面向?qū)ο蠓椒▽W(xué)_第4頁(yè)
面向?qū)ο蠓椒▽W(xué)_第5頁(yè)
已閱讀5頁(yè),還剩47頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第9章章 面向?qū)ο蠓椒▽W(xué)引論面向?qū)ο蠓椒▽W(xué)引論n9.1 面向?qū)ο蠓椒▽W(xué)概述面向?qū)ο蠓椒▽W(xué)概述n9.2 面向?qū)ο蟮母拍蠲嫦驅(qū)ο蟮母拍頽9.3 面向?qū)ο蠼C嫦驅(qū)ο蠼9.4 對(duì)象模型對(duì)象模型n9.5 動(dòng)態(tài)模型動(dòng)態(tài)模型n9.6 功能模型功能模型n9.7 3種模型之間的關(guān)系種模型之間的關(guān)系9.1.1 傳統(tǒng)方法的缺點(diǎn)傳統(tǒng)方法的缺點(diǎn)n結(jié)構(gòu)化分析方法:面向功能結(jié)構(gòu)化分析方法:面向功能軟件結(jié)構(gòu)嚴(yán)重依賴于功能,而功能是軟件開發(fā)中最不穩(wěn)定的因素。n數(shù)據(jù)和操作相分離數(shù)據(jù)和操作相分離9.1.2 面向?qū)ο箝_發(fā)方法面向?qū)ο箝_發(fā)方法nOOSD (Object-Oriented Software Development

2、)是一種是一種 把面向?qū)ο蟮乃枷氚衙嫦驅(qū)ο蟮乃枷霊?yīng)用于軟件開發(fā)過程,指導(dǎo)開發(fā)活動(dòng)的系應(yīng)用于軟件開發(fā)過程,指導(dǎo)開發(fā)活動(dòng)的系統(tǒng)方法。統(tǒng)方法。 n面向?qū)ο竺嫦驅(qū)ο?對(duì)象對(duì)象 (objects) +類類 (classes) +繼承繼承(inheritance) +通信通信 (communication with messages)9.2 基本概念基本概念對(duì)象對(duì)象n對(duì)客觀存在事物的描述統(tǒng)稱為對(duì)象對(duì)客觀存在事物的描述統(tǒng)稱為對(duì)象n對(duì)象可以是事、物、或抽象概念對(duì)象可以是事、物、或抽象概念 n是將一組數(shù)據(jù)和使用該數(shù)據(jù)的一組基是將一組數(shù)據(jù)和使用該數(shù)據(jù)的一組基本操作或過程封裝在一起的實(shí)體。本操作或過程封裝在一起的實(shí)

3、體。類類n類又稱對(duì)象類(類又稱對(duì)象類(Object Class),是),是一組具有相同屬性和相同操作的對(duì)象一組具有相同屬性和相同操作的對(duì)象的集合。的集合。n在一個(gè)類中,每個(gè)對(duì)象都是類的實(shí)例在一個(gè)類中,每個(gè)對(duì)象都是類的實(shí)例(instance) ,它們都可以使用類中提,它們都可以使用類中提供的函數(shù)。供的函數(shù)。實(shí)例實(shí)例n實(shí)例就是由某個(gè)特定的類所描述的一個(gè)具實(shí)例就是由某個(gè)特定的類所描述的一個(gè)具體的對(duì)象。類是對(duì)具有相同屬性和行為的體的對(duì)象。類是對(duì)具有相同屬性和行為的一組相似的對(duì)象的抽象,類在現(xiàn)實(shí)世界中一組相似的對(duì)象的抽象,類在現(xiàn)實(shí)世界中并不能真正存在。并不能真正存在。消息消息n消息就是向?qū)ο蟀l(fā)出的服務(wù)請(qǐng)

4、求(互相聯(lián)系、消息就是向?qū)ο蟀l(fā)出的服務(wù)請(qǐng)求(互相聯(lián)系、協(xié)同工作等)。協(xié)同工作等)。n一個(gè)消息包含一個(gè)消息包含3個(gè)部分:個(gè)部分:接收消息的對(duì)象,消息名,消息變?cè)?。n例如,例如,MyCircle是是Circle類的一個(gè)實(shí)例,當(dāng)類的一個(gè)實(shí)例,當(dāng)要它在屏幕上以綠色顯示自己時(shí),應(yīng)向它發(fā)要它在屏幕上以綠色顯示自己時(shí),應(yīng)向它發(fā)送消息如下:送消息如下: MyCircle.show(GREEN););方法方法n方法就是對(duì)象所能執(zhí)行的操作,也就是類方法就是對(duì)象所能執(zhí)行的操作,也就是類中所定義的服務(wù)。中所定義的服務(wù)。n方法描述了對(duì)象執(zhí)行操作的算法,響應(yīng)消方法描述了對(duì)象執(zhí)行操作的算法,響應(yīng)消息的方法。在息的方法。在C

5、+語(yǔ)言中把方法稱為成員語(yǔ)言中把方法稱為成員函數(shù)。函數(shù)。n例如,例如,Circle類中讓它顯示自己的消息中,類中讓它顯示自己的消息中,show就是其成員函數(shù),在類中,必須給出就是其成員函數(shù),在類中,必須給出它的定義,即實(shí)現(xiàn)代碼它的定義,即實(shí)現(xiàn)代碼屬性屬性n屬性就是類中所定義的數(shù)據(jù),它是對(duì)客觀屬性就是類中所定義的數(shù)據(jù),它是對(duì)客觀世界實(shí)體所具有的性質(zhì)的抽象。世界實(shí)體所具有的性質(zhì)的抽象。n例如,例如,Circle類中定義的代表圓的半徑、顏類中定義的代表圓的半徑、顏色等數(shù)據(jù)成員就是圓的屬性色等數(shù)據(jù)成員就是圓的屬性封裝封裝n對(duì)象封裝了對(duì)象的數(shù)據(jù)以及對(duì)這些數(shù)據(jù)的對(duì)象封裝了對(duì)象的數(shù)據(jù)以及對(duì)這些數(shù)據(jù)的操作。操作

6、。課程( 設(shè)計(jì))課程名課程號(hào)創(chuàng)建日期上課學(xué)期學(xué)分添加課程()刪除課程()修改課程信息()教師(設(shè)計(jì) )職稱教工號(hào)姓名性別授課信息 : 對(duì)象集合入校()離校 ()接受課程 ()解除課程()增加()刪除()修改信息()繼承繼承n繼承是指能夠直接獲得已有的性質(zhì)和特征,繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義它們。在面向?qū)ο蟮能浖槐刂貜?fù)定義它們。在面向?qū)ο蟮能浖夹g(shù)中,繼承是子類自動(dòng)地共享基類中定技術(shù)中,繼承是子類自動(dòng)地共享基類中定義的數(shù)據(jù)和方法的機(jī)制。義的數(shù)據(jù)和方法的機(jī)制。n單重繼承:子類僅從一個(gè)父類繼承屬性和單重繼承:子類僅從一個(gè)父類繼承屬性和方法方法n多重繼承:子類可從多個(gè)父類繼

7、承屬性和多重繼承:子類可從多個(gè)父類繼承屬性和方法方法多態(tài)性多態(tài)性n在類等級(jí)的不同層次中可以共享在類等級(jí)的不同層次中可以共享(公用公用)一個(gè)一個(gè)行為行為(方法方法)的名字,然而不同層次中的每個(gè)的名字,然而不同層次中的每個(gè)類卻各自按自己的需要來實(shí)現(xiàn)這個(gè)行為。類卻各自按自己的需要來實(shí)現(xiàn)這個(gè)行為。n當(dāng)對(duì)象接收到發(fā)送給它的消息時(shí),根據(jù)該當(dāng)對(duì)象接收到發(fā)送給它的消息時(shí),根據(jù)該對(duì)象所屬于的類動(dòng)態(tài)選用在該類中定義的對(duì)象所屬于的類動(dòng)態(tài)選用在該類中定義的實(shí)現(xiàn)算法實(shí)現(xiàn)算法9.3 面向?qū)ο蠼C嫦驅(qū)ο蠼面向?qū)ο蠓椒ㄗ罨镜脑瓌t,是按照人們面向?qū)ο蠓椒ㄗ罨镜脑瓌t,是按照人們習(xí)慣的思維方式,用面向?qū)ο笥^點(diǎn)建立問習(xí)慣的

8、思維方式,用面向?qū)ο笥^點(diǎn)建立問題域的模型,開發(fā)出盡可能自然地表現(xiàn)求題域的模型,開發(fā)出盡可能自然地表現(xiàn)求解方法的軟件。解方法的軟件。( Object Model Technology)是一)是一種軟件工程方法學(xué),支持整個(gè)面向?qū)ο筌浄N軟件工程方法學(xué),支持整個(gè)面向?qū)ο筌浖芷?,它覆蓋了問題構(gòu)成、分析、件生命周期,它覆蓋了問題構(gòu)成、分析、設(shè)計(jì)和實(shí)現(xiàn)等階段。設(shè)計(jì)和實(shí)現(xiàn)等階段。n面向?qū)ο箝_發(fā)軟件,需要建立面向?qū)ο箝_發(fā)軟件,需要建立3種形式的模種形式的模型。型。對(duì)象模型。描述系統(tǒng)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)。動(dòng)態(tài)模型。描述系統(tǒng)控制結(jié)構(gòu)執(zhí)行操作。功能模型。描述系統(tǒng)功能數(shù)值變化。n這三種模型從不同側(cè)面描述了對(duì)系統(tǒng)的需這

9、三種模型從不同側(cè)面描述了對(duì)系統(tǒng)的需求。在面向?qū)ο蟮姆治銮?。在面向?qū)ο蟮姆治?OOA)階段,這三階段,這三種模型是必不可少的。種模型是必不可少的。9.4 對(duì)象模型對(duì)象模型n對(duì)象模型描述了系統(tǒng)的靜態(tài)結(jié)構(gòu)。對(duì)象模型描述了系統(tǒng)的靜態(tài)結(jié)構(gòu)。OO方法方法強(qiáng)調(diào)圍繞對(duì)象而不是功能來構(gòu)造系統(tǒng)。強(qiáng)調(diào)圍繞對(duì)象而不是功能來構(gòu)造系統(tǒng)。n使用統(tǒng)一建模語(yǔ)言使用統(tǒng)一建模語(yǔ)言UML Unified Modeling Language)提供的類圖來建立)提供的類圖來建立對(duì)象模型。對(duì)象模型。nUML用例圖是建立功能模型的有力工具。用例圖是建立功能模型的有力工具。9.4.1類圖的基本符號(hào)類圖的基本符號(hào)n1. 定義類定義類nUML中類

10、的圖形符號(hào)為長(zhǎng)方形,用兩條橫中類的圖形符號(hào)為長(zhǎng)方形,用兩條橫線把長(zhǎng)方形分成上、中、下線把長(zhǎng)方形分成上、中、下3個(gè)區(qū)域個(gè)區(qū)域,3個(gè)區(qū)個(gè)區(qū)域分別放類的名字、屬性和服務(wù)域分別放類的名字、屬性和服務(wù)n屬性用來描述類的特征,表示需要處理的數(shù)據(jù)。定義如下:2. 定義屬性定義屬性 可見性可見性 屬性名屬性名 :類型:類型 = 初值初值 性質(zhì)串性質(zhì)串n其中:可見性(visibility)表示該屬性對(duì)類外的元素是否可見。分為: public(+) 公有的,即模型中的任何類都可以訪問該屬性。 private(-) 私有的,表示不能被別的類訪問。 protected(#) 受保護(hù)的,表示該屬性只能被該類及其子類訪問

11、。 如果可見性未申明,表示其可見性不確定。n性質(zhì)串性質(zhì)串列出該屬性所有可能的取值,也可列出該屬性所有可能的取值,也可以說明屬性的其他性質(zhì),如以說明屬性的其他性質(zhì),如只讀只讀n例如,發(fā)貨單類的屬性例如,發(fā)貨單類的屬性“管理員管理員”可描述可描述為:為: - 管理員 :string = “未定”3. 定義服務(wù)(操作)定義服務(wù)(操作)n對(duì)數(shù)據(jù)的具體處理方法的描述則放在操作對(duì)數(shù)據(jù)的具體處理方法的描述則放在操作部分,操作說明了該類能做些什么工作。部分,操作說明了該類能做些什么工作。nUML描述操作的語(yǔ)法格式如下:描述操作的語(yǔ)法格式如下:n操作可見性的定義方法與屬性相同。操作可見性的定義方法與屬性相同。n

12、參數(shù)表是用逗號(hào)分隔的形式參數(shù)的序列。參數(shù)表是用逗號(hào)分隔的形式參數(shù)的序列。n描述一個(gè)參數(shù)的語(yǔ)法如下:描述一個(gè)參數(shù)的語(yǔ)法如下:參數(shù)名: 類型名=默認(rèn)值可見性可見性 操作名(參數(shù)表):返回值類型操作名(參數(shù)表):返回值類型性質(zhì)串性質(zhì)串9.4.2 表示關(guān)系的符號(hào)表示關(guān)系的符號(hào)類與類之間關(guān)系有:類與類之間關(guān)系有:n關(guān)聯(lián)關(guān)聯(lián)n聚集聚集n泛化(繼承)泛化(繼承)n依賴依賴n細(xì)化細(xì)化9.4.2.1 關(guān)聯(lián)關(guān)聯(lián)n關(guān)聯(lián)表示兩個(gè)類的對(duì)象之間存在某種語(yǔ)義關(guān)聯(lián)表示兩個(gè)類的對(duì)象之間存在某種語(yǔ)義上的聯(lián)系。上的聯(lián)系。(1) 普通關(guān)聯(lián)普通關(guān)聯(lián)普通關(guān)聯(lián)示例普通關(guān)聯(lián)示例n在表示關(guān)聯(lián)的直線兩端可以寫上重?cái)?shù)在表示關(guān)聯(lián)的直線兩端可以寫上重

13、數(shù)(multiplicity),它表示該類有多少個(gè)對(duì)),它表示該類有多少個(gè)對(duì)象與對(duì)方的一個(gè)對(duì)象連接。象與對(duì)方的一個(gè)對(duì)象連接。n重?cái)?shù)的表示方法通常有:重?cái)?shù)的表示方法通常有:0.1 表示0到1個(gè)對(duì)象0.* 或 *表示0到多個(gè)對(duì)象1+ 或 1.*表示1到多個(gè)對(duì)象1.15 表示1到15個(gè)對(duì)象3表示3個(gè)對(duì)象n如果圖中未明確標(biāo)出關(guān)聯(lián)的重?cái)?shù),則默認(rèn)如果圖中未明確標(biāo)出關(guān)聯(lián)的重?cái)?shù),則默認(rèn)重?cái)?shù)是重?cái)?shù)是1。(2) 關(guān)聯(lián)的角色關(guān)聯(lián)的角色n在任何關(guān)聯(lián)中都會(huì)涉及到參與此關(guān)聯(lián)的對(duì)在任何關(guān)聯(lián)中都會(huì)涉及到參與此關(guān)聯(lián)的對(duì)象所扮演的角色(即起的作用),在某些象所扮演的角色(即起的作用),在某些情況下顯式標(biāo)明角色名有助于別人理解類情

14、況下顯式標(biāo)明角色名有助于別人理解類圖。如果沒有顯式標(biāo)出角色名,則意味著圖。如果沒有顯式標(biāo)出角色名,則意味著用類名作為角色名。用類名作為角色名。遞歸關(guān)聯(lián)遞歸關(guān)聯(lián)(Recursive association)一個(gè)類與本身一個(gè)類與本身有關(guān)聯(lián)關(guān)系有關(guān)聯(lián)關(guān)系(3) 限定關(guān)聯(lián)限定關(guān)聯(lián)n限定關(guān)聯(lián)通常用在一對(duì)多或多對(duì)多的關(guān)聯(lián)限定關(guān)聯(lián)通常用在一對(duì)多或多對(duì)多的關(guān)聯(lián)關(guān)系中,可以把模型中的重?cái)?shù)從一對(duì)多變關(guān)系中,可以把模型中的重?cái)?shù)從一對(duì)多變成一對(duì)一,或從多對(duì)多簡(jiǎn)化成多對(duì)一。在成一對(duì)一,或從多對(duì)多簡(jiǎn)化成多對(duì)一。在類圖中把限定詞放在關(guān)聯(lián)關(guān)系末端的一個(gè)類圖中把限定詞放在關(guān)聯(lián)關(guān)系末端的一個(gè)小方框內(nèi)。小方框內(nèi)。表示利用限定詞“文

15、件名”,將一對(duì)多的關(guān)系,簡(jiǎn)化成了一對(duì)一的(4) 關(guān)聯(lián)類關(guān)聯(lián)類n為了說明關(guān)聯(lián)的性質(zhì)可能需要一些附加信息。為了說明關(guān)聯(lián)的性質(zhì)可能需要一些附加信息??梢砸胍粋€(gè)關(guān)聯(lián)類來記錄這些信息??梢砸胍粋€(gè)關(guān)聯(lián)類來記錄這些信息。n關(guān)聯(lián)中的每個(gè)連接與關(guān)聯(lián)類的一個(gè)對(duì)象相聯(lián)系。關(guān)聯(lián)中的每個(gè)連接與關(guān)聯(lián)類的一個(gè)對(duì)象相聯(lián)系。關(guān)聯(lián)類通過一條虛線與關(guān)聯(lián)連接。關(guān)聯(lián)類通過一條虛線與關(guān)聯(lián)連接。 表示:電梯控制器,通過讀取隊(duì)列信息,選擇合適的電梯為乘客服務(wù)9.4.2.2 聚集聚集n聚集是一種特殊的關(guān)聯(lián),它指出類間的聚集是一種特殊的關(guān)聯(lián),它指出類間的“整體整體-部分部分”關(guān)系。關(guān)系。(1) 共享聚集共享聚集n如果在聚集關(guān)系中處于部分方的

16、對(duì)象可同時(shí)參如果在聚集關(guān)系中處于部分方的對(duì)象可同時(shí)參與多個(gè)處于整體方對(duì)象的構(gòu)成,則該聚集稱為與多個(gè)處于整體方對(duì)象的構(gòu)成,則該聚集稱為共享聚集。共享聚集。部分整體(2) 組合聚集組合聚集n如果部分類完全隸屬于整體類,部分與整體共如果部分類完全隸屬于整體類,部分與整體共存,整體不存在了部分也會(huì)隨之消失,則該聚存,整體不存在了部分也會(huì)隨之消失,則該聚集稱為組合聚集。集稱為組合聚集。9.4.2.3 泛化泛化nUML中的泛化關(guān)系就是通常所說的繼承關(guān)系。中的泛化關(guān)系就是通常所說的繼承關(guān)系。(1) 普通泛化普通泛化附加標(biāo)記注釋普通泛化沒有具體對(duì)象的類為抽象類,要加abstract表示(2) 受限泛化受限泛化

17、n可以給泛化關(guān)系附加約束條件,以進(jìn)一步說明可以給泛化關(guān)系附加約束條件,以進(jìn)一步說明該泛化關(guān)系的使用方法或擴(kuò)充方法,這樣的泛該泛化關(guān)系的使用方法或擴(kuò)充方法,這樣的泛化關(guān)系稱為受限泛化。預(yù)定義的約束有化關(guān)系稱為受限泛化。預(yù)定義的約束有4種:種: 多重、不相交、完全和不完全。多重、不相交、完全和不完全。表示:水陸兩用類繼承了兩次交通工具類n完全繼承指的是父類的所有子類都已在類圖中完全繼承指的是父類的所有子類都已在類圖中窮舉出來了,圖示符號(hào)是指定窮舉出來了,圖示符號(hào)是指定完全完全約束。約束。n不完全繼承與完全繼承恰好相反,父類的子類不完全繼承與完全繼承恰好相反,父類的子類并沒有都窮舉出來,不完全繼承是

18、一般情況下并沒有都窮舉出來,不完全繼承是一般情況下默認(rèn)的繼承關(guān)系。默認(rèn)的繼承關(guān)系。complete人人女人女人男人男人性別性別組合聚集組合聚集抽象類組合聚集抽象操作泛化具體實(shí)現(xiàn) 復(fù)雜類圖示例復(fù)雜類圖示例9.4.2.4 依賴依賴n依賴關(guān)系表示:依賴關(guān)系表示: 其中一個(gè)模型元素是獨(dú)立的,其中一個(gè)模型元素是獨(dú)立的,另一個(gè)模型元素不是獨(dú)立的,它依賴于獨(dú)立的另一個(gè)模型元素不是獨(dú)立的,它依賴于獨(dú)立的模型元素,如果獨(dú)立的模型元素改變了,將影模型元素,如果獨(dú)立的模型元素改變了,將影響依賴于它的模型元素。響依賴于它的模型元素。system類可以使用form類中私有或保護(hù)的成員9.4.2.5 細(xì)化細(xì)化n當(dāng)對(duì)同一個(gè)

19、事物在不同抽象層次上描述時(shí),這當(dāng)對(duì)同一個(gè)事物在不同抽象層次上描述時(shí),這些描述之間具有細(xì)化關(guān)系。假設(shè)兩個(gè)模型元素些描述之間具有細(xì)化關(guān)系。假設(shè)兩個(gè)模型元素A和和B描述同一個(gè)事物,它們的區(qū)別是抽象層描述同一個(gè)事物,它們的區(qū)別是抽象層次不同,如果次不同,如果B是在是在A的基礎(chǔ)上的更詳細(xì)的描的基礎(chǔ)上的更詳細(xì)的描述,則稱述,則稱B細(xì)化了細(xì)化了A,或稱,或稱A細(xì)化成了細(xì)化成了B。注意是虛線,實(shí)線就成了泛化AB9.5 動(dòng)態(tài)模型動(dòng)態(tài)模型n動(dòng)態(tài)模型描述系統(tǒng)控制結(jié)構(gòu)。通常用狀態(tài)動(dòng)態(tài)模型描述系統(tǒng)控制結(jié)構(gòu)。通常用狀態(tài)圖表示。圖表示。下降狀態(tài)在第一層上升狀態(tài)向第一層下降空閑狀態(tài)上升到達(dá)到達(dá)上升超時(shí)下降到達(dá)第一層9.6 功

20、能模型功能模型n功能模型表示變化的系統(tǒng)的功能模型表示變化的系統(tǒng)的“功能功能”性質(zhì),性質(zhì),它指明了系統(tǒng)應(yīng)該它指明了系統(tǒng)應(yīng)該“做什么做什么”,通常,功,通常,功能模型由一組數(shù)據(jù)流圖組成。能模型由一組數(shù)據(jù)流圖組成。nUML提供的提供的用例圖用例圖也是進(jìn)行需求分析和建也是進(jìn)行需求分析和建立功能模型的強(qiáng)有力工具。立功能模型的強(qiáng)有力工具。用例圖的組成用例圖的組成用例圖由如下元素組成:用例圖由如下元素組成:n角色角色(Actor):也稱為參與者,它代表系統(tǒng)的用戶。:也稱為參與者,它代表系統(tǒng)的用戶。n系統(tǒng)邊界系統(tǒng)邊界(System Scope):它確定系統(tǒng)的范圍。:它確定系統(tǒng)的范圍。n用例用例(Use Cas

21、e):它代表系統(tǒng)提供的服務(wù)。:它代表系統(tǒng)提供的服務(wù)。n關(guān)聯(lián)關(guān)聯(lián)(Association):它表示角色與用例間的關(guān)系。:它表示角色與用例間的關(guān)系。n從圖中可以看出,所從圖中可以看出,所有的用例都放置在系有的用例都放置在系統(tǒng)邊界內(nèi),表明它屬統(tǒng)邊界內(nèi),表明它屬于一個(gè)系統(tǒng)。于一個(gè)系統(tǒng)。n角色則放在系統(tǒng)邊界角色則放在系統(tǒng)邊界的外面,表明角色并的外面,表明角色并不屬于系統(tǒng)。但是角不屬于系統(tǒng)。但是角色負(fù)責(zé)直接(或間接)色負(fù)責(zé)直接(或間接)驅(qū)動(dòng)與之關(guān)聯(lián)的用例驅(qū)動(dòng)與之關(guān)聯(lián)的用例的執(zhí)行。的執(zhí)行。系統(tǒng)系統(tǒng)n被看做一個(gè)提供用例的黑盒子被看做一個(gè)提供用例的黑盒子n用方框代表,邊線代表系統(tǒng)的邊界,用于用方框代表,邊線代表

22、系統(tǒng)的邊界,用于劃定系統(tǒng)的功能范圍。劃定系統(tǒng)的功能范圍。n描述該系統(tǒng)功能的用例位于方框內(nèi),外部描述該系統(tǒng)功能的用例位于方框內(nèi),外部實(shí)體的行為者位于方框外實(shí)體的行為者位于方框外角色角色n角色(角色(Actor)在)在UML中通常以一個(gè)稻草人中通常以一個(gè)稻草人圖符來表示。角色是用例圖的一個(gè)重要組圖符來表示。角色是用例圖的一個(gè)重要組成部分,它代表參與系統(tǒng)交互的用戶、設(shè)成部分,它代表參與系統(tǒng)交互的用戶、設(shè)備、或另一系統(tǒng)。備、或另一系統(tǒng)。n角色的作用:角色的作用:建立系統(tǒng)的外部用戶模型對(duì)系統(tǒng)邊界之外的對(duì)象進(jìn)行描述用例用例n用例(用例(Use Case)用來描述角色可以感受)用來描述角色可以感受到的系統(tǒng)服

23、務(wù)或功能。到的系統(tǒng)服務(wù)或功能。UML中通常以一個(gè)中通常以一個(gè)橢圓圖符來表示用例。橢圓圖符來表示用例。n用例具有如下特征:用例具有如下特征:用例通常由某個(gè)角色來驅(qū)動(dòng)執(zhí)行。用例把執(zhí)行的結(jié)果反饋給角色。用例在功能上具有完整性,即它從角色接受輸入,產(chǎn)生的結(jié)果輸出給角色。用例圖的關(guān)聯(lián)用例圖的關(guān)聯(lián)角色與用例的關(guān)聯(lián)角色與用例的關(guān)聯(lián)n角色與用例的關(guān)聯(lián)表示角色與用例相關(guān)性角色與用例的關(guān)聯(lián)表示角色與用例相關(guān)性n在在UML中是使用一條實(shí)線連接角色與用例,中是使用一條實(shí)線連接角色與用例,如下圖所示。如下圖所示。角色與角色的關(guān)聯(lián)角色與角色的關(guān)聯(lián)n角色與角色的關(guān)聯(lián)用來表示一般角色與特角色與角色的關(guān)聯(lián)用來表示一般角色與特殊

24、角色的泛化關(guān)系。殊角色的泛化關(guān)系。n在在UML圖中,使用帶空心三角箭頭的實(shí)線圖中,使用帶空心三角箭頭的實(shí)線表示。如下圖所示:表示。如下圖所示:用例與用例的關(guān)聯(lián)用例與用例的關(guān)聯(lián)n擴(kuò)展擴(kuò)展向一個(gè)用例中添加一些動(dòng)作后構(gòu)成了另一個(gè)用例,兩者之間就是擴(kuò)展關(guān)系n使用使用當(dāng)一個(gè)用例使用另一個(gè)用例時(shí),兩者構(gòu)成了使用關(guān)系。顧客供貨人收銀員售貨供貨取貨款售散裝飲料打開機(jī)器關(guān)閉機(jī)器打開機(jī)器關(guān)閉機(jī)器擴(kuò)展使用使用使用使用用例建模用例建模n創(chuàng)建用例圖模型有創(chuàng)建用例圖模型有4項(xiàng)任務(wù):項(xiàng)任務(wù):找出系統(tǒng)中的角色和用例。區(qū)分用例的優(yōu)先次序。細(xì)化每個(gè)用例。建立用例圖模型結(jié)構(gòu)。如何從系統(tǒng)中識(shí)別出角色如何從系統(tǒng)中識(shí)別出角色誰(shuí)使用系統(tǒng)的主要功能?誰(shuí)需要系統(tǒng)的支持以完成其日常工作任務(wù)?誰(shuí)負(fù)責(zé)維護(hù)、管理并保持系統(tǒng)正常運(yùn)行?系統(tǒng)需要應(yīng)付(或處理)哪些硬設(shè)備?系統(tǒng)需要和哪些外部系統(tǒng)交互?誰(shuí)(或什么)對(duì)系統(tǒng)運(yùn)行產(chǎn)生的結(jié)果感興趣?n這六個(gè)問題的答案往往包括了所有與系統(tǒng)具有關(guān)這六個(gè)問題的答案往往包括了所有與系統(tǒng)具有關(guān)聯(lián)的用戶。進(jìn)一步分析這些用戶在與系統(tǒng)關(guān)聯(lián)時(shí)聯(lián)的用戶。進(jìn)一步分析這些用戶在與系統(tǒng)關(guān)聯(lián)時(shí)擔(dān)當(dāng)?shù)淖饔帽憧?/p>

溫馨提示

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

評(píng)論

0/150

提交評(píng)論