第5章面向?qū)ο骭第1頁
第5章面向?qū)ο骭第2頁
第5章面向?qū)ο骭第3頁
第5章面向?qū)ο骭第4頁
第5章面向?qū)ο骭第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、珠海市軟件行業(yè)協(xié)會專家委員會主任珠海市軟件行業(yè)協(xié)會專家委員會主任 吉林大學(xué)珠海學(xué)院計(jì)算機(jī)系教授吉林大學(xué)珠海學(xué)院計(jì)算機(jī)系教授 2 1.1. 面向?qū)ο蠓治龈攀雒嫦驅(qū)ο蠓治龈攀?2.2. 面向?qū)ο蠓治鲞^程面向?qū)ο蠓治鲞^程 2 3 1. 需求獲取需求獲取 2. 面向?qū)ο蠓治瞿P兔嫦驅(qū)ο蠓治瞿P?3. 面向?qū)ο蠓治龅牟襟E面向?qū)ο蠓治龅牟襟E (Object-Oriented Analysis, OOA) 運(yùn)用運(yùn)用面向?qū)ο蟮姆椒ㄟM(jìn)行需求分析,其主要任務(wù)是面向?qū)ο蟮姆椒ㄟM(jìn)行需求分析,其主要任務(wù)是 分析和理解問題域,找出相應(yīng)的描述問題域和系統(tǒng)責(zé)任分析和理解問題域,找出相應(yīng)的描述問題域和系統(tǒng)責(zé)任 所需的類及對象,

2、分析它們的內(nèi)部構(gòu)成好外部關(guān)系,正所需的類及對象,分析它們的內(nèi)部構(gòu)成好外部關(guān)系,正 確地抽象為規(guī)范的對象,定義其內(nèi)部結(jié)構(gòu)和外部消息傳確地抽象為規(guī)范的對象,定義其內(nèi)部結(jié)構(gòu)和外部消息傳 遞關(guān)系,建立問題域精確模型的過程。為建立分析模型,遞關(guān)系,建立問題域精確模型的過程。為建立分析模型, 要運(yùn)用如下的要運(yùn)用如下的5 5個基本原則個基本原則: 建立信息域模型;建立信息域模型; 描述功能;描述功能; 表達(dá)行為;表達(dá)行為; 劃分功能、數(shù)據(jù)、行為模型,揭示更多的細(xì)節(jié);劃分功能、數(shù)據(jù)、行為模型,揭示更多的細(xì)節(jié); 用早期的模型描述問題的實(shí)質(zhì),用后期的模型給出用早期的模型描述問題的實(shí)質(zhì),用后期的模型給出 實(shí)現(xiàn)的細(xì)節(jié)

3、。這些原則形成面向?qū)ο蠓治龅幕A(chǔ)。實(shí)現(xiàn)的細(xì)節(jié)。這些原則形成面向?qū)ο蠓治龅幕A(chǔ)。 5 在面向?qū)ο蠓治鲋?,主要包括以下在面向?qū)ο蠓治鲋校饕ㄒ韵?個獨(dú)立的模型。個獨(dú)立的模型。 對象模型(靜態(tài)模型):對用例模型進(jìn)行分析,把系對象模型(靜態(tài)模型):對用例模型進(jìn)行分析,把系 統(tǒng)分解成互相協(xié)作的分析類,通過類圖統(tǒng)分解成互相協(xié)作的分析類,通過類圖/對象圖描述對象圖描述 對象對象/對象的屬性對象的屬性/對象間的關(guān)系,是系統(tǒng)的靜態(tài)模型。對象間的關(guān)系,是系統(tǒng)的靜態(tài)模型。 對象模型是最基本、最重要、最核心的。對象模型是最基本、最重要、最核心的。 動態(tài)模型:描述系統(tǒng)的動態(tài)行為,通過順序圖動態(tài)模型:描述系統(tǒng)的動態(tài)行

4、為,通過順序圖/合作合作 圖描述對象的交互,以揭示對象間如何協(xié)作來完成每圖描述對象的交互,以揭示對象間如何協(xié)作來完成每 個具體的用例,單個對象的狀態(tài)變化個具體的用例,單個對象的狀態(tài)變化/動態(tài)行為可以動態(tài)行為可以 通過狀態(tài)圖來表達(dá)。通過狀態(tài)圖來表達(dá)。 功能模型:以用例模型為基礎(chǔ),描述系統(tǒng)應(yīng)具有的功功能模型:以用例模型為基礎(chǔ),描述系統(tǒng)應(yīng)具有的功 能用于實(shí)現(xiàn)用戶的日常需要。由用例和場景表示。能用于實(shí)現(xiàn)用戶的日常需要。由用例和場景表示。 基本模型是一個類圖(基本模型是一個類圖(Class DiagramClass Diagram),是以直觀的方式),是以直觀的方式 表達(dá)系統(tǒng)最重要的信息。構(gòu)成類圖的元素

5、所表達(dá)的模型信表達(dá)系統(tǒng)最重要的信息。構(gòu)成類圖的元素所表達(dá)的模型信 息,分為三個層次:對象層、特征層、關(guān)系層息,分為三個層次:對象層、特征層、關(guān)系層 補(bǔ)充模型補(bǔ)充模型: :主題圖、交互圖主題圖、交互圖 詳細(xì)說明:按照分析方法詳細(xì)說明:按照分析方法 所要求的格式,對分析模所要求的格式,對分析模 型進(jìn)行說明和解釋,主要型進(jìn)行說明和解釋,主要 以文字為主。以文字為主。 7 面向?qū)ο蠓治鲂枰獙⒄鎸?shí)世界進(jìn)行抽象,通過問題的敘面向?qū)ο蠓治鲂枰獙⒄鎸?shí)世界進(jìn)行抽象,通過問題的敘 述,將真實(shí)世界系統(tǒng)加以描述。分析的目的是為了構(gòu)造述,將真實(shí)世界系統(tǒng)加以描述。分析的目的是為了構(gòu)造 一個系統(tǒng)屬性和系統(tǒng)行為的模型,該模型

6、是根據(jù)對象和一個系統(tǒng)屬性和系統(tǒng)行為的模型,該模型是根據(jù)對象和 對象之間的關(guān)系、動態(tài)控制和功能轉(zhuǎn)移來確定的。對象之間的關(guān)系、動態(tài)控制和功能轉(zhuǎn)移來確定的。 OOAOOA應(yīng)該包含以下幾個步驟:應(yīng)該包含以下幾個步驟: 分析問題域,建立用例模型。分析問題域,建立用例模型。 發(fā)現(xiàn)和定義對象和類。發(fā)現(xiàn)和定義對象和類。 識別對象的內(nèi)部特征。識別對象的內(nèi)部特征。 識別對象的外部聯(lián)系。識別對象的外部聯(lián)系。 識別對象之間的交互。識別對象之間的交互。 8 1. 需求獲取和問題需求獲取和問題域域分析分析 2. 發(fā)現(xiàn)發(fā)現(xiàn)和定義對象與類和定義對象與類 3. 識別對象的內(nèi)部特征識別對象的內(nèi)部特征 4. 識別對象的外部聯(lián)系識別

7、對象的外部聯(lián)系 5. 建立建立用例模型用例模型 9 需求獲取是需求分析 的第一項(xiàng)工作,涉及軟件 設(shè)計(jì)人員如何與客戶建立 有效的溝通。也稱為“需 求發(fā)現(xiàn)”、“需求獲得”。 是采用用例來收集客戶需 求的技術(shù)。需求獲取的途 徑和手段主要有以下幾種: 訪談式 誘導(dǎo)式 確認(rèn)式 需求需求陳述是陳述是開發(fā)任何一個系統(tǒng)的首要任務(wù)。主要陳述用戶的需求,即該開發(fā)任何一個系統(tǒng)的首要任務(wù)。主要陳述用戶的需求,即該 系統(tǒng)應(yīng)該系統(tǒng)應(yīng)該“做什么做什么”, 而不是而不是“怎么做怎么做”(系統(tǒng)如何實(shí)現(xiàn))。應(yīng)該陳(系統(tǒng)如何實(shí)現(xiàn))。應(yīng)該陳 述系統(tǒng)任務(wù)是什么,而不是解決問題的方法述系統(tǒng)任務(wù)是什么,而不是解決問題的方法。 需求陳述過程

8、中需要解決的問題:需求陳述過程中需要解決的問題: 問題域(問題域(Problem DomainProblem Domain) 被開發(fā)系統(tǒng)的應(yīng)用領(lǐng)域。被開發(fā)系統(tǒng)的應(yīng)用領(lǐng)域。 系統(tǒng)責(zé)任(系統(tǒng)責(zé)任(System ResponsibilitiesSystem Responsibilities) 所開發(fā)的系統(tǒng)應(yīng)具備所開發(fā)的系統(tǒng)應(yīng)具備 的職能。的職能。 充分的交流充分的交流 獲得準(zhǔn)確分析結(jié)果的關(guān)鍵獲得準(zhǔn)確分析結(jié)果的關(guān)鍵 需求的不斷變化需求的不斷變化 應(yīng)變能力的強(qiáng)弱是衡量一種方法優(yōu)劣的重要標(biāo)應(yīng)變能力的強(qiáng)弱是衡量一種方法優(yōu)劣的重要標(biāo) 準(zhǔn)準(zhǔn) 考慮復(fù)用要求考慮復(fù)用要求 提高開發(fā)效率,改善軟件質(zhì)量的重要途徑提高開發(fā)

9、效率,改善軟件質(zhì)量的重要途徑。 首先,系統(tǒng)分析員要對需求陳述進(jìn)行首先,系統(tǒng)分析員要對需求陳述進(jìn)行分析;然后分析;然后,是需求,是需求建模;最后建模;最后, 是需求評審是需求評審。 11 面向?qū)ο蠓治龅幕A(chǔ)就是問題域以及用戶的需求,面向?qū)ο蠓治龅幕A(chǔ)就是問題域以及用戶的需求, 研究問題域和系統(tǒng)需求的主要目的是通過對問題域的研究問題域和系統(tǒng)需求的主要目的是通過對問題域的 深入研究,建立一個能夠滿足用戶需求的系統(tǒng)模型。深入研究,建立一個能夠滿足用戶需求的系統(tǒng)模型。 面向?qū)ο蠓治鰪?qiáng)調(diào)系統(tǒng)模型與用戶需求的緊密對應(yīng),面向?qū)ο蠓治鰪?qiáng)調(diào)系統(tǒng)模型與用戶需求的緊密對應(yīng), 對問題域的研究貫穿與整個面向?qū)ο蠓治龉ぷ髦?/p>

10、。面對問題域的研究貫穿與整個面向?qū)ο蠓治龉ぷ髦?。?向?qū)ο蠓治龅牡谝徊骄褪欠治鲇脩粜枨?,在此基礎(chǔ)上向?qū)ο蠓治龅牡谝徊骄褪欠治鲇脩粜枨?,在此基礎(chǔ)上 建立用例模型。建立用例模型。 12 學(xué)生信息管理系統(tǒng)學(xué)生信息管理系統(tǒng) 系統(tǒng)管理員學(xué)校領(lǐng)導(dǎo) 教師學(xué)生 學(xué)生信息管理系統(tǒng)主要參與者 學(xué)生信息管理模塊的用例學(xué)生信息管理模塊的用例 錄入學(xué)生基本信息錄入學(xué)生基本信息 查詢學(xué)生基本信息查詢學(xué)生基本信息 修改學(xué)生基本信息修改學(xué)生基本信息 刪除學(xué)生基本信息刪除學(xué)生基本信息 打印學(xué)生基本信息打印學(xué)生基本信息 班級基本信息管理模塊的用例班級基本信息管理模塊的用例 添加班級基本信息添加班級基本信息 修改班級基本信息修改班

11、級基本信息 查詢班級基本信息查詢班級基本信息 刪除班級基本信息刪除班級基本信息 打印班級基本信息打印班級基本信息 13 學(xué)生信息管理系統(tǒng)學(xué)生信息管理系統(tǒng) 課程課程基本信息管理模塊的用例基本信息管理模塊的用例 添加課程基本信息添加課程基本信息 查詢課程基本信息查詢課程基本信息 修改課程基本信息修改課程基本信息 刪除課程基本信息刪除課程基本信息 打印課程基本信息打印課程基本信息 成績管理模塊的用例成績管理模塊的用例 錄入成績錄入成績 修改成績修改成績 保存成績保存成績 查詢成績查詢成績 打印成績單打印成績單 14 學(xué)生信息管理系統(tǒng)學(xué)生信息管理系統(tǒng) 賬號賬號管理模塊的用例管理模塊的用例 創(chuàng)建新賬號創(chuàng)

12、建新賬號 設(shè)置賬號權(quán)限設(shè)置賬號權(quán)限 設(shè)置賬號登錄開關(guān)設(shè)置賬號登錄開關(guān) 修改賬號修改賬號 查看賬號查看賬號 刪除賬號刪除賬號 登錄模塊的用例登錄模塊的用例 登錄登錄 修改密碼修改密碼 網(wǎng)上選課模塊的用例網(wǎng)上選課模塊的用例 查看課程基本信息查看課程基本信息 添加選課信息添加選課信息 刪除已選課程刪除已選課程 描述如何發(fā)現(xiàn)類及對象。 16 在對象識別中最為關(guān)鍵的是正確運(yùn)用抽象原則。面向?qū)υ趯ο笞R別中最為關(guān)鍵的是正確運(yùn)用抽象原則。面向?qū)?象分析用對象來映射問題域中的事物,但并不是問題域象分析用對象來映射問題域中的事物,但并不是問題域 中的所有事物都需要用對象來映射。中的所有事物都需要用對象來映射。 首

13、先要舍棄與系統(tǒng)責(zé)任無關(guān)的事物,保留與系統(tǒng)責(zé)任有首先要舍棄與系統(tǒng)責(zé)任無關(guān)的事物,保留與系統(tǒng)責(zé)任有 關(guān)的事物。其次,還要舍棄與系統(tǒng)責(zé)任有關(guān)的事物中與關(guān)的事物。其次,還要舍棄與系統(tǒng)責(zé)任有關(guān)的事物中與 系統(tǒng)責(zé)任無關(guān)的特征。判斷事物極其系統(tǒng)責(zé)任無關(guān)的特征。判斷事物極其及其及其特征是否與系特征是否與系 統(tǒng)責(zé)任相關(guān)的準(zhǔn)則是:該事物是否向系統(tǒng)提供了一些服統(tǒng)責(zé)任相關(guān)的準(zhǔn)則是:該事物是否向系統(tǒng)提供了一些服 務(wù)或需要系統(tǒng)描述它的某些行為。同時還要考慮將問題務(wù)或需要系統(tǒng)描述它的某些行為。同時還要考慮將問題 域中的事物映射為什么對象以及如何對對象進(jìn)行分類域中的事物映射為什么對象以及如何對對象進(jìn)行分類 17 在尋找各種可

14、能有用的候選對象時,主要的策略是:從問在尋找各種可能有用的候選對象時,主要的策略是:從問 題域、系統(tǒng)邊界和系統(tǒng)責(zé)任這題域、系統(tǒng)邊界和系統(tǒng)責(zé)任這3 3方面出發(fā),考慮各種能啟發(fā)我方面出發(fā),考慮各種能啟發(fā)我 們發(fā)現(xiàn)對象的因素,找到可能有用的候選對象。們發(fā)現(xiàn)對象的因素,找到可能有用的候選對象。 在問題域方面,可以啟發(fā)分析員發(fā)現(xiàn)對象的因素包括在問題域方面,可以啟發(fā)分析員發(fā)現(xiàn)對象的因素包括 人員、組織、物品、設(shè)備、事件、表格、結(jié)構(gòu)等等。人員、組織、物品、設(shè)備、事件、表格、結(jié)構(gòu)等等。 在系統(tǒng)邊界方面,應(yīng)該考慮的因素包括人員、設(shè)備和在系統(tǒng)邊界方面,應(yīng)該考慮的因素包括人員、設(shè)備和 外部系統(tǒng),它們可以啟發(fā)分析員發(fā)

15、現(xiàn)一些系統(tǒng)與外部外部系統(tǒng),它們可以啟發(fā)分析員發(fā)現(xiàn)一些系統(tǒng)與外部 活動所進(jìn)行的交互,并處理系統(tǒng)對外接口的對象。活動所進(jìn)行的交互,并處理系統(tǒng)對外接口的對象。 對系統(tǒng)責(zé)任的分析是基于對象識別的遺漏的考慮,對對系統(tǒng)責(zé)任的分析是基于對象識別的遺漏的考慮,對 照系統(tǒng)責(zé)任所要求的每一項(xiàng)功能查看是否可以由已找照系統(tǒng)責(zé)任所要求的每一項(xiàng)功能查看是否可以由已找 出的對象來完成該功能,在不能滿足要求時增加相應(yīng)出的對象來完成該功能,在不能滿足要求時增加相應(yīng) 的對象,可以是系統(tǒng)分析員盡可能完全的找出所需要的對象,可以是系統(tǒng)分析員盡可能完全的找出所需要 的各種對象。的各種對象。 18 發(fā)現(xiàn)學(xué)生信息管理系統(tǒng)中的類對象:首先在

16、用戶需發(fā)現(xiàn)學(xué)生信息管理系統(tǒng)中的類對象:首先在用戶需 求中分檢出候選的類對象。通常,需要通讀需求報告,求中分檢出候選的類對象。通常,需要通讀需求報告, 在問題域中發(fā)現(xiàn)其中的名詞,將其分檢出來作為候選的在問題域中發(fā)現(xiàn)其中的名詞,將其分檢出來作為候選的 類對象。在學(xué)生信息管理系統(tǒng)中,可能作為候選類對象類對象。在學(xué)生信息管理系統(tǒng)中,可能作為候選類對象 的有:系統(tǒng)、用戶、新生、系統(tǒng)管理員、學(xué)生、基本信的有:系統(tǒng)、用戶、新生、系統(tǒng)管理員、學(xué)生、基本信 息、姓名、性別、年齡、身份證號、家庭住址、身高、息、姓名、性別、年齡、身份證號、家庭住址、身高、 編號、學(xué)生證號、學(xué)校領(lǐng)導(dǎo)、學(xué)生信息、相關(guān)部門、新編號、學(xué)生

17、證號、學(xué)校領(lǐng)導(dǎo)、學(xué)生信息、相關(guān)部門、新 專業(yè)、學(xué)校、社會、課程信息、課程編號、所屬專業(yè)、專業(yè)、學(xué)校、社會、課程信息、課程編號、所屬專業(yè)、 課程名稱、開課學(xué)期、學(xué)時、學(xué)分、任課教師、專業(yè)、課程名稱、開課學(xué)期、學(xué)時、學(xué)分、任課教師、專業(yè)、 班級、報表、網(wǎng)絡(luò)、選修課、時間、數(shù)量、人數(shù)、考試、班級、報表、網(wǎng)絡(luò)、選修課、時間、數(shù)量、人數(shù)、考試、 考試成績、賬號、密碼、賬號信息??荚嚦煽?、賬號、密碼、賬號信息。 19 對于我們研究的學(xué)生信息管理系統(tǒng),還需要篩選和精對于我們研究的學(xué)生信息管理系統(tǒng),還需要篩選和精 簡候選的類對象。簡候選的類對象。 本系統(tǒng)中篩選的候選類對象包括:學(xué)生、教師、賬號、本系統(tǒng)中篩選的

18、候選類對象包括:學(xué)生、教師、賬號、 課程、成績、班級、專業(yè)和選修課。為了將學(xué)生、教課程、成績、班級、專業(yè)和選修課。為了將學(xué)生、教 師類與參與者相互區(qū)別,這里描述為學(xué)生信息、教師師類與參與者相互區(qū)別,這里描述為學(xué)生信息、教師 信息信息。 20 學(xué)生信息 學(xué)號 姓名 年齡 家庭住址 性別 身份證號 身高 課程 課程編號 所屬專業(yè) 課程名稱 學(xué)時 學(xué)分 任課教師 賬號 密碼 教師信息 專業(yè)班級 學(xué)期 成績選修課 選課信息 系統(tǒng)系統(tǒng)初步類圖初步類圖 21 在面向?qū)ο蠓治鲋校瑥能浖δ苄枨髞砜?,分析類在面向?qū)ο蠓治鲋?,從軟件功能需求來看,分析?(在進(jìn)行面向?qū)ο蠓治鲞^程中所使用的類)根據(jù)其功能(在進(jìn)行面

19、向?qū)ο蠓治鲞^程中所使用的類)根據(jù)其功能 和作用可以劃分為以下和作用可以劃分為以下3 3種:種: 實(shí)體類:表示系統(tǒng)存儲和管理的永久信息;實(shí)體類:表示系統(tǒng)存儲和管理的永久信息; 邊界類:表示參與者與系統(tǒng)之間的交互;邊界類:表示參與者與系統(tǒng)之間的交互; 控制類:表示系統(tǒng)在運(yùn)行過程中的業(yè)務(wù)控制邏輯??刂祁悾罕硎鞠到y(tǒng)在運(yùn)行過程中的業(yè)務(wù)控制邏輯。 22 (1)識別邊界類)識別邊界類 邊界類使邊界類使是是從那些系統(tǒng)和外界進(jìn)行交互的對象中歸納、從那些系統(tǒng)和外界進(jìn)行交互的對象中歸納、 抽象出來的,它是系統(tǒng)內(nèi)的對象和系統(tǒng)外的參與者的聯(lián)抽象出來的,它是系統(tǒng)內(nèi)的對象和系統(tǒng)外的參與者的聯(lián) 系媒介,外界的消息只有通過邊界

20、類的對象實(shí)例才能發(fā)系媒介,外界的消息只有通過邊界類的對象實(shí)例才能發(fā) 送給系統(tǒng)。送給系統(tǒng)。 根據(jù)角色的不同類型,邊界類可以是用戶接口、系統(tǒng)接根據(jù)角色的不同類型,邊界類可以是用戶接口、系統(tǒng)接 口和設(shè)備接口。對于用戶接口來說,邊界類集中描述了口和設(shè)備接口。對于用戶接口來說,邊界類集中描述了 用戶與系統(tǒng)的交互信息,而不是描述用戶接口的顯示形用戶與系統(tǒng)的交互信息,而不是描述用戶接口的顯示形 式,如按鈕等;對于系統(tǒng)接口和設(shè)備接口來說,邊界類式,如按鈕等;對于系統(tǒng)接口和設(shè)備接口來說,邊界類 集中描述所定義的通信或交換協(xié)議,而不是說明協(xié)議如集中描述所定義的通信或交換協(xié)議,而不是說明協(xié)議如 何實(shí)現(xiàn)的。邊界類使系

21、統(tǒng)與系統(tǒng)的外部變化隔離開來。何實(shí)現(xiàn)的。邊界類使系統(tǒng)與系統(tǒng)的外部變化隔離開來。 參與者只許通過邊界類和系統(tǒng)通信。參與者只許通過邊界類和系統(tǒng)通信。 23 (2) 識別控制類識別控制類 控制類是實(shí)體類和邊界類之間的潤滑劑,用于協(xié)控制類是實(shí)體類和邊界類之間的潤滑劑,用于協(xié) 調(diào)邊界類和實(shí)體類之間的交互。調(diào)邊界類和實(shí)體類之間的交互。 控制類與用例存在著密切的關(guān)系,它在用例開始控制類與用例存在著密切的關(guān)系,它在用例開始 執(zhí)行時創(chuàng)建,在用例結(jié)束時取消。一般來說,一執(zhí)行時創(chuàng)建,在用例結(jié)束時取消。一般來說,一 個用例對應(yīng)一個控制類。個用例對應(yīng)一個控制類。 24 該階段分為兩個步驟: 第一,識別一般-特殊 結(jié)構(gòu),該

22、結(jié)構(gòu)捕 獲了 識別出的類的層次結(jié) 構(gòu); 第二,識別整體-部分 結(jié)構(gòu),該結(jié)構(gòu)用來表 示一個對象如何成為 另一個對象的一部分, 以及多個對象如何組 裝成更大 的對象。 26 對象的內(nèi)部特性包括對象的屬性和服務(wù)。識別對象的內(nèi)對象的內(nèi)部特性包括對象的屬性和服務(wù)。識別對象的內(nèi) 部特征包括定義對象的屬性和服務(wù)兩個部分的工作。問部特征包括定義對象的屬性和服務(wù)兩個部分的工作。問 題域中,事物的特征可以區(qū)分為靜態(tài)特征和動態(tài)特征,題域中,事物的特征可以區(qū)分為靜態(tài)特征和動態(tài)特征, 靜態(tài)特征通過一組數(shù)據(jù)來表示,而動態(tài)特征則可以通過靜態(tài)特征通過一組數(shù)據(jù)來表示,而動態(tài)特征則可以通過 一系列操作來表達(dá)。一系列操作來表達(dá)。

23、對象的屬性和服務(wù)描述了對象的內(nèi)部細(xì)節(jié),只有給出了對象的屬性和服務(wù)描述了對象的內(nèi)部細(xì)節(jié),只有給出了 對象的屬性和服務(wù),才能說對于該對象有了明確的認(rèn)識對象的屬性和服務(wù),才能說對于該對象有了明確的認(rèn)識 和定義。和定義。 對于對象的屬性和服務(wù),面向?qū)ο蠓椒ㄌ峁┝藢iT的表對于對象的屬性和服務(wù),面向?qū)ο蠓椒ㄌ峁┝藢iT的表 示方法:對象的屬性用在類符號中部填寫的各屬性的名示方法:對象的屬性用在類符號中部填寫的各屬性的名 字表示;而對象的服務(wù)則用在類符號的下部填寫的各服字表示;而對象的服務(wù)則用在類符號的下部填寫的各服 務(wù)的名稱表示。務(wù)的名稱表示。 27 可以可以從以下角度確定對象應(yīng)具有的屬性:從以下角度確定對

24、象應(yīng)具有的屬性: 按照一般常識,對象應(yīng)該具有哪些屬性;按照一般常識,對象應(yīng)該具有哪些屬性; 在當(dāng)前問題域中,對象應(yīng)具有哪些屬性;在當(dāng)前問題域中,對象應(yīng)具有哪些屬性; 根據(jù)系統(tǒng)責(zé)任的要求,對象應(yīng)具有哪些屬性;根據(jù)系統(tǒng)責(zé)任的要求,對象應(yīng)具有哪些屬性; 建立該對象是為了保存和管理哪些信息;建立該對象是為了保存和管理哪些信息; 對象為了在服務(wù)中實(shí)現(xiàn)其功能,需要增設(shè)哪些屬性;對象為了在服務(wù)中實(shí)現(xiàn)其功能,需要增設(shè)哪些屬性; 是否需要增設(shè)屬性來區(qū)別對象的不同狀態(tài);是否需要增設(shè)屬性來區(qū)別對象的不同狀態(tài); 用什么屬性來表示對象的整體用什么屬性來表示對象的整體-部分聯(lián)系和實(shí)例連接。部分聯(lián)系和實(shí)例連接。 28 對于

25、找到的對象屬性,還應(yīng)進(jìn)行嚴(yán)格的審查和篩選,才對于找到的對象屬性,還應(yīng)進(jìn)行嚴(yán)格的審查和篩選,才 能最終確定對象應(yīng)具有的屬性,在審查和篩選中,應(yīng)考能最終確定對象應(yīng)具有的屬性,在審查和篩選中,應(yīng)考 慮的問題有:慮的問題有: 該屬性是否體現(xiàn)了以系統(tǒng)責(zé)任為目標(biāo)的抽象;該屬性是否體現(xiàn)了以系統(tǒng)責(zé)任為目標(biāo)的抽象; 該屬性是否描述了該對象本身的特性;該屬性是否描述了該對象本身的特性; 該屬性是否破壞了對象特征的該屬性是否破壞了對象特征的“原子性原子性”; 該屬性是否已通過類的繼承得到;該屬性是否已通過類的繼承得到; 該屬性是否可以從其他屬性推導(dǎo)得到。該屬性是否可以從其他屬性推導(dǎo)得到。 29 在在系統(tǒng)需求中分檢出

26、相應(yīng)的動詞,作為類中可能使系統(tǒng)需求中分檢出相應(yīng)的動詞,作為類中可能使 用的服務(wù),通過這種方法,我們能夠發(fā)現(xiàn)類對象的用的服務(wù),通過這種方法,我們能夠發(fā)現(xiàn)類對象的 一些服務(wù)。一些服務(wù)。 對象-關(guān)系 模型描述了系統(tǒng) 的靜態(tài)結(jié)構(gòu),它 指出了類間的關(guān) 系。 31 一般一般- -特殊關(guān)系(即繼承關(guān)系):即對象之間的分特殊關(guān)系(即繼承關(guān)系):即對象之間的分 類關(guān)系,用一般類關(guān)系,用一般- -特殊結(jié)構(gòu)表示;特殊結(jié)構(gòu)表示; 整體整體- -部分關(guān)系:即對象之間的組成關(guān)系,用整體部分關(guān)系:即對象之間的組成關(guān)系,用整體 - -部分結(jié)構(gòu)表示;部分結(jié)構(gòu)表示; 靜態(tài)連接關(guān)系(即關(guān)聯(lián)關(guān)系):即通過對象屬性靜態(tài)連接關(guān)系(即關(guān)聯(lián)

27、關(guān)系):即通過對象屬性 所反映出來的聯(lián)系,用實(shí)例連接表示;所反映出來的聯(lián)系,用實(shí)例連接表示; 動態(tài)連接關(guān)系(即依賴關(guān)系):即對象行為之間動態(tài)連接關(guān)系(即依賴關(guān)系):即對象行為之間 的依賴關(guān)系,用消息連接表示。的依賴關(guān)系,用消息連接表示。 32 一般一般-特殊結(jié)構(gòu)又稱分類結(jié)構(gòu),是由一組具有一般特殊結(jié)構(gòu)又稱分類結(jié)構(gòu),是由一組具有一般- 特殊關(guān)系(即繼承關(guān)系)的類所組成的結(jié)構(gòu),表示特殊關(guān)系(即繼承關(guān)系)的類所組成的結(jié)構(gòu),表示“is- a-kind-of”關(guān)系。在關(guān)系。在UML中,用一個帶有空心三角形中,用一個帶有空心三角形 的連線來表示??招娜切沃赶蚧?。的連線來表示??招娜切沃赶蚧?。 33

28、為了發(fā)現(xiàn)一般為了發(fā)現(xiàn)一般- -特殊結(jié)構(gòu),同時還應(yīng)采用如下策略:特殊結(jié)構(gòu),同時還應(yīng)采用如下策略: 學(xué)習(xí)學(xué)習(xí)問題域的分類學(xué)知識,按照問題域已有的分類學(xué)問題域的分類學(xué)知識,按照問題域已有的分類學(xué) 只是找出與之相對應(yīng)的一些一般只是找出與之相對應(yīng)的一些一般- -特殊結(jié)構(gòu);特殊結(jié)構(gòu); 按照按照嘗試考慮事物的分類,從而發(fā)現(xiàn)其中的一般嘗試考慮事物的分類,從而發(fā)現(xiàn)其中的一般- -特殊特殊 關(guān)系;關(guān)系; 考察類的屬性與服務(wù),若一個類的屬性與服務(wù)只能適考察類的屬性與服務(wù),若一個類的屬性與服務(wù)只能適 合該類的一部分對象,則應(yīng)該從這個類中劃分出一些合該類的一部分對象,則應(yīng)該從這個類中劃分出一些 特殊類:若兩個或兩個以上

29、的類含有一些共同的屬性特殊類:若兩個或兩個以上的類含有一些共同的屬性 和服務(wù),則可以考慮將這些共同的屬性和服務(wù)提取出和服務(wù),則可以考慮將這些共同的屬性和服務(wù)提取出 來,構(gòu)成一個在概念上包含原先那些類的一般類;來,構(gòu)成一個在概念上包含原先那些類的一般類; 考慮領(lǐng)域范圍內(nèi)的復(fù)用,在更高水平上運(yùn)用一般考慮領(lǐng)域范圍內(nèi)的復(fù)用,在更高水平上運(yùn)用一般- -特殊特殊 結(jié)構(gòu),并能開發(fā)貢獻(xiàn)一些可復(fù)用性更強(qiáng)的類的構(gòu)件。結(jié)構(gòu),并能開發(fā)貢獻(xiàn)一些可復(fù)用性更強(qiáng)的類的構(gòu)件。 34 在找到一系列候選的一般在找到一系列候選的一般-特殊結(jié)構(gòu)后,還應(yīng)逐個特殊結(jié)構(gòu)后,還應(yīng)逐個 對它們進(jìn)行審查,從而舍棄哪些不合適的結(jié)構(gòu)或者對它對它們進(jìn)行

30、審查,從而舍棄哪些不合適的結(jié)構(gòu)或者對它 們進(jìn)行調(diào)整。進(jìn)行審查的原則如下:們進(jìn)行調(diào)整。進(jìn)行審查的原則如下: 問題域是否需要這樣的分類;問題域是否需要這樣的分類; 系統(tǒng)責(zé)任是否需要這樣的分類;系統(tǒng)責(zé)任是否需要這樣的分類; 這種分類是否符合分類學(xué)的常識;這種分類是否符合分類學(xué)的常識; 這種分類是否構(gòu)成了繼承關(guān)系。這種分類是否構(gòu)成了繼承關(guān)系。 35 關(guān)聯(lián)關(guān)聯(lián)關(guān)系用來表達(dá)對象之間的靜態(tài)聯(lián)系,即通過對象屬性來表示一關(guān)系用來表達(dá)對象之間的靜態(tài)聯(lián)系,即通過對象屬性來表示一 個對象對另一個對象的依賴關(guān)系。在個對象對另一個對象的依賴關(guān)系。在OOAOOA模型中,關(guān)聯(lián)關(guān)系是一種結(jié)模型中,關(guān)聯(lián)關(guān)系是一種結(jié) 構(gòu)關(guān)系,表達(dá)

31、模型元素之間的一種語義聯(lián)系,它是對具有共同的結(jié)構(gòu)關(guān)系,表達(dá)模型元素之間的一種語義聯(lián)系,它是對具有共同的結(jié) 構(gòu)特性、行為特性、關(guān)系和語義的描述。在構(gòu)特性、行為特性、關(guān)系和語義的描述。在UMLUML中,關(guān)聯(lián)用一條連接中,關(guān)聯(lián)用一條連接 兩個類之間的實(shí)線表示??梢栽谶B接線旁邊注明連接名,并在連接兩個類之間的實(shí)線表示??梢栽谶B接線旁邊注明連接名,并在連接 線的兩端用數(shù)字標(biāo)明連接的多重性。多重性指的是由類產(chǎn)生的對象線的兩端用數(shù)字標(biāo)明連接的多重性。多重性指的是由類產(chǎn)生的對象 之間存在的數(shù)量關(guān)系,主要有以下之間存在的數(shù)量關(guān)系,主要有以下4 4種:種: 0.10.1:表示:表示0 0到到1 1個對象;個對象;

32、 1.11.1或或1 1:表示:表示1 1個對象;個對象; 0.n0.n或或n n:表示:表示0 0到多個對象;到多個對象; 1.n1.n:表示:表示1 1到多個對象。到多個對象。 多對多的關(guān)聯(lián)相對比較復(fù)雜不好描述,通常情況,也會將這種關(guān)聯(lián)多對多的關(guān)聯(lián)相對比較復(fù)雜不好描述,通常情況,也會將這種關(guān)聯(lián) 關(guān)系描述為類,稱之為關(guān)聯(lián)類。通過這樣的方式,能夠讓兩個類更關(guān)系描述為類,稱之為關(guān)聯(lián)類。通過這樣的方式,能夠讓兩個類更 好的關(guān)聯(lián)和導(dǎo)航。好的關(guān)聯(lián)和導(dǎo)航。 36 37 整體整體- -部分結(jié)構(gòu)又稱為組裝結(jié)構(gòu),用于描述系統(tǒng)中各類對部分結(jié)構(gòu)又稱為組裝結(jié)構(gòu),用于描述系統(tǒng)中各類對 象之間的組成關(guān)系,通過它可以了解

33、哪些類的對象用了其象之間的組成關(guān)系,通過它可以了解哪些類的對象用了其 他類的對象作為其組成的一部分。整體他類的對象作為其組成的一部分。整體- -部分關(guān)系是一種部分關(guān)系是一種 特殊的關(guān)聯(lián)關(guān)系。特殊的關(guān)聯(lián)關(guān)系。 在關(guān)聯(lián)關(guān)系的基礎(chǔ)上,如果要表達(dá)在關(guān)聯(lián)關(guān)系的基礎(chǔ)上,如果要表達(dá)“整體整體- -部分部分”的關(guān)系,的關(guān)系, 應(yīng)將其建模成聚合關(guān)系。在應(yīng)將其建模成聚合關(guān)系。在UMLUML中,聚合關(guān)系用一條帶有中,聚合關(guān)系用一條帶有 菱形的直線來表示,菱形端在整體端。聚合關(guān)系是一種特菱形的直線來表示,菱形端在整體端。聚合關(guān)系是一種特 殊的關(guān)聯(lián)關(guān)系,聚合的兩端是殊的關(guān)聯(lián)關(guān)系,聚合的兩端是“has-a”has-a”的

34、關(guān)系。的關(guān)系。 組合關(guān)系也是一種關(guān)聯(lián)關(guān)系,也能表達(dá)組合關(guān)系也是一種關(guān)聯(lián)關(guān)系,也能表達(dá)“整體整體- -部分部分”的的 關(guān)系,與聚合不同的是,組合的整體和部分之間具有一種關(guān)系,與聚合不同的是,組合的整體和部分之間具有一種 相同的生命周期,即部分不存在則整體不存在。組合是一相同的生命周期,即部分不存在則整體不存在。組合是一 種更強(qiáng)的聚合關(guān)系。在種更強(qiáng)的聚合關(guān)系。在UMLUML中,組合使用帶有實(shí)心菱形的中,組合使用帶有實(shí)心菱形的 直線來表示,實(shí)心菱形在整體端。直線來表示,實(shí)心菱形在整體端。 38 在定義整體在定義整體- -部分結(jié)構(gòu)時,應(yīng)考慮以下方面:部分結(jié)構(gòu)時,應(yīng)考慮以下方面: 物理上的整體事物和它的

35、組織結(jié)構(gòu);物理上的整體事物和它的組織結(jié)構(gòu); 組織機(jī)構(gòu)和它的下級組織及部分;組織機(jī)構(gòu)和它的下級組織及部分; 團(tuán)體組織和成員;團(tuán)體組織和成員; 一種事物在空間上包含其他事物;一種事物在空間上包含其他事物; 抽象事物的整體和部分關(guān)系;抽象事物的整體和部分關(guān)系; 具體事物和它的某個抽象方面。具體事物和它的某個抽象方面。 39 在發(fā)現(xiàn)了一系列候選的整體在發(fā)現(xiàn)了一系列候選的整體- -部分結(jié)構(gòu)后,需要部分結(jié)構(gòu)后,需要 對其進(jìn)行嚴(yán)格的審查和篩選,以確定最終采用的整對其進(jìn)行嚴(yán)格的審查和篩選,以確定最終采用的整 體體- -部分結(jié)構(gòu)。在審查時,需要考慮以下幾個方面:部分結(jié)構(gòu)。在審查時,需要考慮以下幾個方面: 該結(jié)構(gòu)

36、是否屬于問題域;該結(jié)構(gòu)是否屬于問題域; 該結(jié)構(gòu)是否是系統(tǒng)責(zé)任所需要的;該結(jié)構(gòu)是否是系統(tǒng)責(zé)任所需要的; 部分對象是否有一個以上的屬性;部分對象是否有一個以上的屬性; 是否有明顯的整體是否有明顯的整體- -部分關(guān)系。部分關(guān)系。 40 順序圖可以用于識別和描述對象交互,是將用例行為順序圖可以用于識別和描述對象交互,是將用例行為 分配到類對象的一個有利手段。分配到類對象的一個有利手段。 使用順序圖識別對象交互的主要步驟是:使用順序圖識別對象交互的主要步驟是: 列出啟動該用例的參與者;列出啟動該用例的參與者; 列出啟動用例時參與者使用的邊界類實(shí)例;列出啟動用例時參與者使用的邊界類實(shí)例; 列出管理該用例的

37、控制對象;列出管理該用例的控制對象; 列出需要使用的實(shí)體對象;列出需要使用的實(shí)體對象; 根據(jù)用例描述的所有流程,按照時間順序列出對根據(jù)用例描述的所有流程,按照時間順序列出對 象之間進(jìn)行消息訪問的序列。象之間進(jìn)行消息訪問的序列。 41 用例之間存在用例之間存在著一定的關(guān)系。在發(fā)現(xiàn)用例以后著一定的關(guān)系。在發(fā)現(xiàn)用例以后 還需要分析用例之間的關(guān)系,用例之間的關(guān)系主要還需要分析用例之間的關(guān)系,用例之間的關(guān)系主要 有:有: a)a) 包含關(guān)系、包含關(guān)系、 b)b) 擴(kuò)展關(guān)系、擴(kuò)展關(guān)系、 c)c) 泛化關(guān)系。泛化關(guān)系。 42 如果如果若干用例的某些行為都是相同的,則可以將這些若干用例的某些行為都是相同的,則

38、可以將這些 相同的行為提取出來單獨(dú)組成一個用例。當(dāng)其他用例使用相同的行為提取出來單獨(dú)組成一個用例。當(dāng)其他用例使用 該用例時,便包含了該用例的所有行為。包含關(guān)系用帶關(guān)該用例時,便包含了該用例的所有行為。包含關(guān)系用帶關(guān) 鍵字鍵字的依賴關(guān)系來表示,箭頭指向被包含的用的依賴關(guān)系來表示,箭頭指向被包含的用 例。一個用例可以包含多個用例,一個用例也可以被多個例。一個用例可以包含多個用例,一個用例也可以被多個 用例包含。用例包含。 43 用來用來說明可選的、只在特定條件下運(yùn)行的行為,具說明可選的、只在特定條件下運(yùn)行的行為,具 有擴(kuò)展關(guān)系的用例基于參與者的選擇,可以運(yùn)行幾個不有擴(kuò)展關(guān)系的用例基于參與者的選擇,

39、可以運(yùn)行幾個不 同的流。擴(kuò)展關(guān)系用帶關(guān)鍵字同的流。擴(kuò)展關(guān)系用帶關(guān)鍵字extendextend的依賴關(guān)系表的依賴關(guān)系表 示,箭頭指向原有的基本用例。一個用例可能有多個擴(kuò)示,箭頭指向原有的基本用例。一個用例可能有多個擴(kuò) 展點(diǎn),每個擴(kuò)展點(diǎn)也可能出現(xiàn)多次。展點(diǎn),每個擴(kuò)展點(diǎn)也可能出現(xiàn)多次。 修改密碼 用戶 登錄 用例用例的擴(kuò)展關(guān)系示例的擴(kuò)展關(guān)系示例 44 用例用例的泛化關(guān)系是指一個父用例可以被特化形成多個子的泛化關(guān)系是指一個父用例可以被特化形成多個子 用例。在泛化關(guān)系中,子用例繼承了父用例的所有結(jié)構(gòu)、用例。在泛化關(guān)系中,子用例繼承了父用例的所有結(jié)構(gòu)、 行為和關(guān)系,子用例是父用例的一種特殊形式,父用例有行

40、為和關(guān)系,子用例是父用例的一種特殊形式,父用例有 子用例的若干種實(shí)現(xiàn)方式。子用例的若干種實(shí)現(xiàn)方式。 查看課程信息 按照課程編號查找 按照開課學(xué)期查找 按照專業(yè)查找 用例用例的泛化關(guān)系示例的泛化關(guān)系示例 對象-行為模型描述了系統(tǒng)的動 態(tài)行為,它們指明系統(tǒng)如何響 應(yīng)外部的事件或激勵。建模的 步驟如下: 評估所有的用例,完全理解系 統(tǒng)中交互的序列。 標(biāo)識驅(qū)動交互序列的事件,理 解這些事件如何和特定的對象 相關(guān)聯(lián)。 為每個用例創(chuàng)建事件軌跡 (event trace)。 為系統(tǒng)建造狀態(tài)機(jī)圖。 復(fù)審對象行為模型,以驗(yàn)證 準(zhǔn)確性和一致性。 46 學(xué)生學(xué)生基本信息管理模塊用例基本信息管理模塊用例 47 所謂靜

41、態(tài)建模是指對象之間通過屬性互相聯(lián)系,而這所謂靜態(tài)建模是指對象之間通過屬性互相聯(lián)系,而這 些關(guān)系不隨時間而轉(zhuǎn)移,即建立對象模型。些關(guān)系不隨時間而轉(zhuǎn)移,即建立對象模型。 對象模型表示了靜態(tài)的、結(jié)構(gòu)化的系統(tǒng)數(shù)據(jù)性質(zhì),描對象模型表示了靜態(tài)的、結(jié)構(gòu)化的系統(tǒng)數(shù)據(jù)性質(zhì),描 述了系統(tǒng)的靜態(tài)結(jié)構(gòu),它是從客觀世界實(shí)體的對象關(guān)述了系統(tǒng)的靜態(tài)結(jié)構(gòu),它是從客觀世界實(shí)體的對象關(guān) 系角度來描述,表現(xiàn)了對象的相互關(guān)系。該模型主要系角度來描述,表現(xiàn)了對象的相互關(guān)系。該模型主要 關(guān)心系統(tǒng)中對象的結(jié)構(gòu)、屬性和操作,它是分析階段關(guān)心系統(tǒng)中對象的結(jié)構(gòu)、屬性和操作,它是分析階段 三個模型的核心,是其他兩個模型的框架。三個模型的核心,是其

42、他兩個模型的框架。 構(gòu)造對象模型的第一步是標(biāo)出來自問題域的相關(guān)的對象構(gòu)造對象模型的第一步是標(biāo)出來自問題域的相關(guān)的對象 類,對象包括物理實(shí)體和概念。類,對象包括物理實(shí)體和概念。 類類責(zé)任責(zé)任協(xié)作者(協(xié)作者(Class-Responsibility- Collaborator,簡稱,簡稱CRC)技術(shù)來完成類的定義。)技術(shù)來完成類的定義。 類名: 責(zé)任:寫作者: 物理物理實(shí)體實(shí)體 與系統(tǒng)交互的人或組織的角色。與系統(tǒng)交互的人或組織的角色。 與系統(tǒng)發(fā)生交互的人及系統(tǒng)必須保留其信息的與系統(tǒng)發(fā)生交互的人及系統(tǒng)必須保留其信息的 人,可作為候選的類及對象。人,可作為候選的類及對象。 這些人所屬的組織單位,可作為

43、候選的類及對這些人所屬的組織單位,可作為候選的類及對 象。象。 事件事件 系統(tǒng)必須觀測、記憶的與時間有關(guān)的事件可作系統(tǒng)必須觀測、記憶的與時間有關(guān)的事件可作 為候選的類及對象為候選的類及對象。 系統(tǒng)系統(tǒng)的工作環(huán)境場所的工作環(huán)境場所 系統(tǒng)需了解掌握的物理位置、辦公地點(diǎn)等可作為候系統(tǒng)需了解掌握的物理位置、辦公地點(diǎn)等可作為候 選的類及對象。選的類及對象。 性能說明性能說明 與系統(tǒng)有關(guān)的外部實(shí)體與系統(tǒng)有關(guān)的外部實(shí)體 系統(tǒng)必須記憶、且不在問題域約束中的順序操作過系統(tǒng)必須記憶、且不在問題域約束中的順序操作過 程(為了指導(dǎo)人機(jī)交互),可作為候選的類及對象。程(為了指導(dǎo)人機(jī)交互),可作為候選的類及對象。 篩選篩

44、選時主要依據(jù)下列標(biāo)準(zhǔn),刪除不正確或不必時主要依據(jù)下列標(biāo)準(zhǔn),刪除不正確或不必 要的類和對象。要的類和對象。 關(guān)鍵性關(guān)鍵性 可操作性可操作性 信息含量信息含量 公共屬性公共屬性 公共操作公共操作 關(guān)鍵外部信息關(guān)鍵外部信息 確切性確切性 包含性包含性 順序性順序性 完整性完整性 持久性持久性 參加參加復(fù)審的人,每人拿復(fù)審的人,每人拿CRCCRC卡片的一個子集。注意,有協(xié)作關(guān)系的卡卡片的一個子集。注意,有協(xié)作關(guān)系的卡 片要分開,即,沒有一個人持有兩張有協(xié)作關(guān)系的卡片。片要分開,即,沒有一個人持有兩張有協(xié)作關(guān)系的卡片。 將所有用例將所有用例/ /場景分類。場景分類。 復(fù)審負(fù)責(zé)人仔細(xì)閱讀用例,當(dāng)讀到一個命

45、名的對象時,將令牌復(fù)審負(fù)責(zé)人仔細(xì)閱讀用例,當(dāng)讀到一個命名的對象時,將令牌 (tokentoken)傳送給持有對應(yīng)類的卡片的人員)傳送給持有對應(yīng)類的卡片的人員。 收到令牌的類卡片持有者要描述卡片上記錄的責(zé)任,復(fù)審小組將確收到令牌的類卡片持有者要描述卡片上記錄的責(zé)任,復(fù)審小組將確 定該類的一個或多個責(zé)任是否滿足用例的需求。當(dāng)某個責(zé)任需要協(xié)定該類的一個或多個責(zé)任是否滿足用例的需求。當(dāng)某個責(zé)任需要協(xié) 作時,將令牌傳給協(xié)作者,并重復(fù)此步驟。作時,將令牌傳給協(xié)作者,并重復(fù)此步驟。 如果卡片上的責(zé)任和協(xié)作不能適應(yīng)用例,則需對卡片進(jìn)行修改,這如果卡片上的責(zé)任和協(xié)作不能適應(yīng)用例,則需對卡片進(jìn)行修改,這 可能導(dǎo)致

46、定義新的類,或在現(xiàn)有的卡片上刻畫新的或修正的責(zé)任及可能導(dǎo)致定義新的類,或在現(xiàn)有的卡片上刻畫新的或修正的責(zé)任及 協(xié)作者。協(xié)作者。 審查和篩選候選項(xiàng),根據(jù)下列標(biāo)準(zhǔn),去掉不必要的審查和篩選候選項(xiàng),根據(jù)下列標(biāo)準(zhǔn),去掉不必要的 類和不正確的類。類和不正確的類。 冗余類冗余類 不相干的類不相干的類 模糊類模糊類 屬性準(zhǔn)則屬性準(zhǔn)則 操作準(zhǔn)則操作準(zhǔn)則 實(shí)現(xiàn)準(zhǔn)則實(shí)現(xiàn)準(zhǔn)則 兩個或多個對象之間的相互依賴、相互作用的關(guān)系就兩個或多個對象之間的相互依賴、相互作用的關(guān)系就 是關(guān)聯(lián)。是關(guān)聯(lián)。 一般情況下,在初步分析問題域中的類一般情況下,在初步分析問題域中的類-對象確定之后,對象確定之后, 接著就可以分析、確定類接著就可以

47、分析、確定類-對象之間存在的關(guān)聯(lián)關(guān)系對象之間存在的關(guān)聯(lián)關(guān)系。 初步確定初步確定關(guān)聯(lián):通常,在需求陳述中使用的描述性動關(guān)聯(lián):通常,在需求陳述中使用的描述性動 詞或動詞詞組,通常表示關(guān)聯(lián)關(guān)系。因此,在初步確詞或動詞詞組,通常表示關(guān)聯(lián)關(guān)系。因此,在初步確 定關(guān)聯(lián)時,大多數(shù)關(guān)聯(lián)可以通過直接提取需求陳述中定關(guān)聯(lián)時,大多數(shù)關(guān)聯(lián)可以通過直接提取需求陳述中 的動詞詞組而得出。的動詞詞組而得出。 經(jīng)經(jīng)初步分析得出的關(guān)聯(lián)只能作為候選的關(guān)聯(lián),還需初步分析得出的關(guān)聯(lián)只能作為候選的關(guān)聯(lián),還需 經(jīng)過進(jìn)一步篩選,以去掉不正確的或不必要的關(guān)聯(lián)。經(jīng)過進(jìn)一步篩選,以去掉不正確的或不必要的關(guān)聯(lián)。 刪除已去掉的類之間的關(guān)聯(lián)刪除已去掉

48、的類之間的關(guān)聯(lián) 刪除不相干的關(guān)聯(lián)或?qū)崿F(xiàn)階段的關(guān)聯(lián)刪除不相干的關(guān)聯(lián)或?qū)崿F(xiàn)階段的關(guān)聯(lián) 刪除瞬時動作刪除瞬時動作 分解多元關(guān)聯(lián)分解多元關(guān)聯(lián) 派生關(guān)聯(lián)派生關(guān)聯(lián) 經(jīng)過經(jīng)過篩選后余下的關(guān)聯(lián)不夠精確、完善時,應(yīng)篩選后余下的關(guān)聯(lián)不夠精確、完善時,應(yīng) 該進(jìn)一步分解和增補(bǔ),以調(diào)整關(guān)聯(lián)。該進(jìn)一步分解和增補(bǔ),以調(diào)整關(guān)聯(lián)。 重命名重命名 分解分解 補(bǔ)充補(bǔ)充 標(biāo)明階數(shù)標(biāo)明階數(shù) 屬性是用來描述類和對象的穩(wěn)定特性的,即為了完成客屬性是用來描述類和對象的穩(wěn)定特性的,即為了完成客 戶規(guī)定的目標(biāo)所必須保存的類的信息。一個屬性是一個戶規(guī)定的目標(biāo)所必須保存的類的信息。一個屬性是一個 數(shù)據(jù)項(xiàng)(狀態(tài)數(shù)據(jù)項(xiàng)(狀態(tài)信息信息),類中對象都有相應(yīng)

49、的值(狀態(tài)),類中對象都有相應(yīng)的值(狀態(tài))。 確定屬性的過程包括分析和選擇兩個步驟確定屬性的過程包括分析和選擇兩個步驟。分析、選擇。分析、選擇 需要注意的是確定需要注意的是確定屬性通常有以下幾種常見情況。屬性通常有以下幾種常見情況。 誤把對象當(dāng)作屬性誤把對象當(dāng)作屬性 把鏈屬性誤作為屬性把鏈屬性誤作為屬性 把限定誤當(dāng)成屬性把限定誤當(dāng)成屬性 誤把內(nèi)部狀態(tài)當(dāng)成了屬性誤把內(nèi)部狀態(tài)當(dāng)成了屬性 過于細(xì)化過于細(xì)化 存在不一致的屬性存在不一致的屬性 主題是一種指導(dǎo)開發(fā)者或用戶研究大型復(fù)雜模型的機(jī)主題是一種指導(dǎo)開發(fā)者或用戶研究大型復(fù)雜模型的機(jī) 制。制。 主題是把一組具有較強(qiáng)聯(lián)系的類組織在一起而得到的主題是把一組

50、具有較強(qiáng)聯(lián)系的類組織在一起而得到的 類的集合。類的集合。 主題是一種手段,有助于分解大型項(xiàng)目以便分組承擔(dān)主題是一種手段,有助于分解大型項(xiàng)目以便分組承擔(dān) 任務(wù)。任務(wù)。 主題還可以給出面向?qū)ο蠓治龊驮O(shè)計(jì)的模型總體概貌。主題還可以給出面向?qū)ο蠓治龊驮O(shè)計(jì)的模型總體概貌。 主題所依據(jù)的原理是整體主題所依據(jù)的原理是整體部分關(guān)系的擴(kuò)充。部分關(guān)系的擴(kuò)充。 一個系統(tǒng)模型可以包含多個主題。一個系統(tǒng)模型可以包含多個主題。 是是由一組類構(gòu)成的集合由一組類構(gòu)成的集合 一個主題內(nèi)部的對象類應(yīng)具有某種意義上的內(nèi)在聯(lián)系一個主題內(nèi)部的對象類應(yīng)具有某種意義上的內(nèi)在聯(lián)系 描述系統(tǒng)中相對獨(dú)立的組成部分(如一個子系統(tǒng))描述系統(tǒng)中相對獨(dú)

51、立的組成部分(如一個子系統(tǒng)) 描述系統(tǒng)中某一方面的事物(如人員、設(shè)備)描述系統(tǒng)中某一方面的事物(如人員、設(shè)備) 解決系統(tǒng)中某一方面的問題(如輸入輸出)解決系統(tǒng)中某一方面的問題(如輸入輸出) 主題的劃分有一定的靈活性和隨意性主題的劃分有一定的靈活性和隨意性 首先首先,由高級分析員粗略地識別對象和關(guān)聯(lián),初步選取,由高級分析員粗略地識別對象和關(guān)聯(lián),初步選取 結(jié)構(gòu)中最上層的類作為一個主題。結(jié)構(gòu)中最上層的類作為一個主題。 經(jīng)進(jìn)一步分析,在更深入了解系統(tǒng)結(jié)構(gòu)的基礎(chǔ)上,修改經(jīng)進(jìn)一步分析,在更深入了解系統(tǒng)結(jié)構(gòu)的基礎(chǔ)上,修改 和精煉主題,通過實(shí)例連接互相聯(lián)系的類可劃分到一個和精煉主題,通過實(shí)例連接互相聯(lián)系的類可

52、劃分到一個 主題。主題。 最后,按問題領(lǐng)域構(gòu)造出一個主題(主題編號和主題最后,按問題領(lǐng)域構(gòu)造出一個主題(主題編號和主題 名),應(yīng)該將相互間依賴和交互較多的對象確定為同一名),應(yīng)該將相互間依賴和交互較多的對象確定為同一 個主題。把不屬于任何結(jié)構(gòu),也沒有實(shí)例連接的類作為個主題。把不屬于任何結(jié)構(gòu),也沒有實(shí)例連接的類作為 一個主題。一個主題。 對對系統(tǒng)中眾多的類加以組織。一般說來,可以使用系統(tǒng)中眾多的類加以組織。一般說來,可以使用 兩種方式建立繼承(即歸納)關(guān)系。兩種方式建立繼承(即歸納)關(guān)系。 自底向上自底向上 自頂向下自頂向下 訪問對象屬性的操作訪問對象屬性的操作 來自事件驅(qū)動的操作來自事件驅(qū)動的

53、操作 處理對應(yīng)的操作處理對應(yīng)的操作 消除冗余操作消除冗余操作 幾種可能丟失對象的情況及解決辦法幾種可能丟失對象的情況及解決辦法: 同一類中存在毫無關(guān)系的屬性和操作,則分解這個同一類中存在毫無關(guān)系的屬性和操作,則分解這個 類,使各部分相互關(guān)聯(lián)。類,使各部分相互關(guān)聯(lián)。 一般化體系不清楚,則可能分離扮演兩種角色的類。一般化體系不清楚,則可能分離扮演兩種角色的類。 存在無目標(biāo)類的操作,則找出并加上失去目標(biāo)的類。存在無目標(biāo)類的操作,則找出并加上失去目標(biāo)的類。 存在名稱及目的相同的冗余關(guān)聯(lián),則通過一般化創(chuàng)存在名稱及目的相同的冗余關(guān)聯(lián),則通過一般化創(chuàng) 建丟失的父類,把關(guān)聯(lián)組織在一起建丟失的父類,把關(guān)聯(lián)組織在一起。 刪除冗余的類。刪除冗余的類。 補(bǔ)充關(guān)聯(lián)。補(bǔ)充關(guān)聯(lián)。 分解類分解類 合并合并類類 當(dāng)對象模型建立起來后,接著可以建立動態(tài)模型。當(dāng)對象模型建立起來后,接著可以建立動態(tài)模型。 對于一個系統(tǒng)來說,功能模型指明了系統(tǒng)應(yīng)

溫馨提示

  • 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

提交評論