10-1面向?qū)ο蠓治?1).ppt_第1頁
10-1面向?qū)ο蠓治?1).ppt_第2頁
10-1面向?qū)ο蠓治?1).ppt_第3頁
10-1面向?qū)ο蠓治?1).ppt_第4頁
10-1面向?qū)ο蠓治?1).ppt_第5頁
已閱讀5頁,還剩57頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、學(xué)習(xí)目標(biāo),掌握面向?qū)ο蠓治龅幕具^程,能夠根據(jù)需求陳述進(jìn)行建模, 掌握建立對象模型的方法。,第10章 面向?qū)ο蠓治?分析的過程都是提取系統(tǒng)需求的過程。分析工作主要包括三項內(nèi)容,這就是理解、表達(dá)和驗證。 需求分析過程是系統(tǒng)分析員與用戶及領(lǐng)域?qū)<曳磸?fù)交流和多次修正的過程。也就是說,理解和驗證的過程通常交替進(jìn)行,反復(fù)迭代,而且往往要利用原型系統(tǒng)作為輔助工具。 面向?qū)ο蠓治龅年P(guān)鍵,是識別出問題域內(nèi)的對象,并分析它們相互間的關(guān)系,最終建立起問題域的簡潔、精確、可理解的正確模型。,第10章 面向?qū)ο蠓治?10.1 面向?qū)ο蠓治龅幕具^程 10.1.1 概述,面向?qū)ο蠓治?,就是抽取和整理用戶需求并建立問題域

2、精確模型的過程。 從分析陳述用戶需求的文件開始。 系統(tǒng)分析員應(yīng)該深入理解用戶需求,抽象出目標(biāo)系統(tǒng)的本質(zhì)屬性,并用模型準(zhǔn)確地表示出來。 系統(tǒng)分析員必須認(rèn)真向領(lǐng)域?qū)<覍W(xué)習(xí)。 應(yīng)該仔細(xì)研究以前針對相同的或類似的問題域進(jìn)行面向?qū)ο蠓治鏊玫降慕Y(jié)果。,1012 三個子模型與五個層次,面向?qū)ο蠼5玫降哪P桶瑢ο蟮娜齻€要素,即靜態(tài)結(jié)構(gòu)(對象模型),交互次序(動態(tài)模型)和數(shù)據(jù)變換(功能模型)。 復(fù)雜問題(大型系統(tǒng))的對象模型由下述五個層次組成:類與對象層、結(jié)構(gòu)層、屬性層和服務(wù)層、主題層。 面向?qū)ο蠓治龃篌w上按照下列順序進(jìn)行: 尋找類與對象,識別結(jié)構(gòu),識別主題,定義屬性,建立動態(tài)模型,建立功能模型,定義服務(wù)

3、。,10.2 需求陳述 10.2.1 書寫要點,需求陳述的內(nèi)容包括: 問題范圍, 功能需求,性能需求, 應(yīng)用環(huán)境及假設(shè)條件等。 總之,需求陳述應(yīng)該闡明“做什么”而不是“怎樣做”。 下面陳述對ATM系統(tǒng)的需求:,某銀行擬開發(fā)一個自動取款機系統(tǒng),它是一個由自動取款機、中央計算機、分行計算機及柜員終端組成的網(wǎng)絡(luò)系統(tǒng)。ATM和中央計算機由總行投資購買??傂袚碛卸嗯_ATM,分別設(shè)在全市各主要街道上。分行負(fù)責(zé)提供分行計算機和柜員終端。柜員終端設(shè)在分行營業(yè)廳及分行下屬的各個儲蓄所內(nèi)。該系統(tǒng)的軟件開發(fā)成本由各個分行分?jǐn)偂?銀行柜員使用柜員終端處理儲戶提交的儲蓄事務(wù)。儲戶可以用現(xiàn)金或支票向自己擁有的某個賬戶內(nèi)存

4、款或開新賬戶。儲戶也可以從自己的賬戶中取款。通常,一個儲戶可能擁有多個賬戶。柜員負(fù)責(zé)把儲戶提交的存款或取款事務(wù)輸進(jìn)柜員終端,接收儲戶交來的現(xiàn)金或支票,或付給儲戶現(xiàn)金。柜員終端與相應(yīng)的分行計算機通信,分行計算機具體處理針對某個賬戶的事務(wù)并且維護賬戶。,對ATM系統(tǒng)的需求陳述:,擁有銀行賬戶的儲戶有權(quán)申請領(lǐng)取現(xiàn)金兌換卡。使用現(xiàn)金兌換卡可以通過ATM訪問自己的賬戶。目前僅限于用現(xiàn)金兌換卡在ATM上提取現(xiàn)金(即取款),或查詢有關(guān)自己賬戶的信息(例如,某個指定賬戶上的余額)。將來可能還要求使用ATM辦理轉(zhuǎn)賬、存款等事務(wù)。 所謂現(xiàn)金兌換卡就是一張?zhí)刂频拇趴ǎ厦嬗蟹中写a和卡號。分行代碼唯一標(biāo)識總行下屬的

5、分行,卡號確定了這張卡可以訪問哪些賬戶。通常,一張卡可以訪問儲戶的若干個賬戶,但是不一定能訪問這個儲戶的全部賬戶。每張現(xiàn)金兌換卡僅屬于一個儲戶所有,但是,同一張卡可能有多個副本,因此,必須考慮同時在若干臺ATM上使用同樣的現(xiàn)金兌換卡的可能性。也就是說,系統(tǒng)應(yīng)該能夠處理并發(fā)的訪問。,對ATM系統(tǒng)的需求陳述:,當(dāng)用戶把現(xiàn)金兌換卡插入ATM之后,ATM就與用戶交互,以獲取有關(guān)這次事務(wù)的信息,并與中央計算機交換關(guān)于事務(wù)的信息。首先,ATM要求用戶輸入密碼,接下來ATM把從這張卡上讀到的信息以及用戶輸入的密碼傳給中央計算機,請求中央計算機核對這些信息并處理這次事務(wù)。中央計算機根據(jù)卡上的分行代碼確定這次事

6、務(wù)與分行的對應(yīng)關(guān)系,并且委托相應(yīng)的分行計算機驗證用戶密碼。如果用戶輸入的密碼是正確的,ATM就要求用戶選擇事務(wù)類型(取款、查詢等)。當(dāng)用戶選擇取款時,ATM請求用戶輸入取款額。最后,ATM從現(xiàn)金出口吐出現(xiàn)金,并且打印出賬單交給用戶。,對ATM系統(tǒng)的需求陳述:,103 建立對象模型,對象模型通常有五個層次。典型的工作步驟是: 首先確定對象類和關(guān)聯(lián)(因為它們影響系統(tǒng)整體結(jié)構(gòu)和解決問題的方法),對于大型復(fù)雜問題還要進(jìn)一步劃分出若干個主題; 然后給類和關(guān)聯(lián)增添屬性,以進(jìn)一步描述它們接下來利用適當(dāng)?shù)睦^承關(guān)系進(jìn)一步合并和組織類。 而對類中操作的最后確定,則需等到建立了動態(tài)模型和功能模型之后,因為這兩個子模

7、型更準(zhǔn)確地描述了對類中提供的服務(wù)的需求。,10.3.1 確定類與對象 具體地說,大多數(shù)客觀事物可分為下述五類: (1)可感知的物理實體,例如,飛機、汽車、書、房屋等等。 (2)人或組織的角色,例如,醫(yī)生、教師、雇主、雇員、計算機系、財務(wù)處等等。 (3)應(yīng)該記憶的事件,例如,飛行、演出、訪問、交通事故等等。 (4)兩個或多個對象的相互作用,通常具有交易或接觸的性質(zhì),例如,購買、納稅、結(jié)婚等等。 (5)需要說明的概念,例如,政策、保險政策、版權(quán)法等等。,ATM系統(tǒng)的需求陳述,某銀行擬開發(fā)一個自動取款機系統(tǒng),它是一個由自動取款機、中央計算機、分行計算機及柜員終端組成的網(wǎng)絡(luò)系統(tǒng)。 ATM和中央計算機由

8、總行投資購買??傂袚碛卸嗯_ATM,分別設(shè)在全市各主要街道上。,ATM系統(tǒng)的需求陳述,分行負(fù)責(zé)提供分行計算機和柜員終端。 柜員終端設(shè)在分行營業(yè)廳及分行下屬的各個儲蓄所內(nèi)。 該系統(tǒng)的軟件開發(fā)成本由各個分行分?jǐn)偂?ATM系統(tǒng)的需求陳述,銀行柜員使用柜員終端處理儲戶提交的儲蓄事務(wù)。 儲戶可以用現(xiàn)金或支票向自己擁有的某個賬戶內(nèi)存款或開新賬戶。儲戶也可以從自己的賬戶中取款。 通常,一個儲戶可能擁有多個賬戶。,ATM系統(tǒng)的需求陳述,柜員負(fù)責(zé)把儲戶提交的存款或取款事務(wù)輸進(jìn)柜員終端,接收儲戶交來的現(xiàn)金或支票,或付給儲戶現(xiàn)金。 柜員終端與相應(yīng)的分行計算機通信,分行計算機具體處理針對某個賬戶的事務(wù)并且維護賬戶。,A

9、TM系統(tǒng)的需求陳述,擁有銀行賬戶的儲戶有權(quán)申請領(lǐng)取現(xiàn)金兌換卡。 使用現(xiàn)金兌換卡可以通過ATM訪問自己的賬戶。 目前僅限于用現(xiàn)金兌換卡在ATM上提取現(xiàn)金(即取款),或查詢有關(guān)自己賬戶的信息(例如,某個指定賬戶上的余額)。,ATM系統(tǒng)的需求陳述,將來可能還要求使用ATM辦理轉(zhuǎn)賬、存款等事務(wù)。 所謂現(xiàn)金兌換卡就是一張?zhí)刂频拇趴ǎ厦嬗蟹中写a和卡號。 分行代碼唯一標(biāo)識總行下屬的一個分行,卡號確定了這張卡可以訪問哪些賬戶。,ATM系統(tǒng)的需求陳述,通常,一張卡可以訪問儲戶的若干個賬戶,但是不一定能訪問這個儲戶的全部賬戶。 每張現(xiàn)金兌換卡僅屬于一個儲戶所有,但是,同一張卡可能有多個副本,因此,必須考慮同時

10、在若干臺ATM上使用同樣的現(xiàn)金兌換卡的可能性。,ATM系統(tǒng)的需求陳述,也就是說,系統(tǒng)應(yīng)該能夠處理并發(fā)的訪問。 當(dāng)用戶把現(xiàn)金兌換卡插入ATM之后,ATM就與用戶交互,以獲取有關(guān)這次事務(wù)的信息,并與中央計算機交換關(guān)于事務(wù)的信息。,ATM系統(tǒng)的需求陳述,首先,ATM要求用戶輸入密碼,接下來ATM把從這張卡上讀到的信息以及用戶輸入的密碼傳給中央計算機,請求中央計算機核對這些信息并處理這次事務(wù)。 中央計算機根據(jù)卡上的分行代碼確定這次事務(wù)與分行的對應(yīng)關(guān)系,并且委托相應(yīng)的分行計算機驗證用戶密碼。,ATM系統(tǒng)的需求陳述,如果用戶輸入的密碼是正確的,ATM就要求用戶選擇事務(wù)類型(取款、查詢等)。 當(dāng)用戶選擇取款

11、時,ATM請求用戶輸入取款額。 最后,ATM從現(xiàn)金出口吐出現(xiàn)金,并且打印出賬單交給用戶。,類與對象的初步候選者,銀行 自動取款機(ATM) 系統(tǒng) 中央計算機 分行計算機 柜員終端 網(wǎng)絡(luò) 總行 市 街道 分行 營業(yè)廳 儲蓄所 軟件 成本 柜員 儲戶 現(xiàn)金 支票 賬戶 事務(wù) 現(xiàn)金兌換卡 余額 磁卡 分行代碼 卡號 副本 訪問 用戶 信息 密碼 類型 取款額 賬單。,通常,在需求陳述中不會一個不漏地寫出問題域中所有有關(guān)的類與對象; 分析員應(yīng)該根據(jù)領(lǐng)域知識或常識進(jìn)一步把隱含的類與對象提取出來。 例如,在ATM系統(tǒng)的需求陳述中沒寫的“通信鏈路”和“事務(wù)日志”,。,篩選出正確的類與對象,篩選時主要依據(jù)下列

12、標(biāo)準(zhǔn),刪除不正確或不必要的類與對象: 冗余 無關(guān) 籠統(tǒng) 屬性 操作 實現(xiàn),冗余,如果兩個類表達(dá)了同樣的信息,則應(yīng)該保留在此問題域中最富于描述力的名稱。 ATM系統(tǒng)有34個候選的類,其中儲戶與用戶,現(xiàn)金兌換卡與磁卡及副本分別描述了相同的二類信息; 因此,應(yīng)該去掉“用戶”、“磁卡”、“副本”等冗余的類,僅保留“儲戶”和“現(xiàn)金兌換卡”這兩個類。,冗余,銀行 自動取款機(ATM) 系統(tǒng) 中央計算機 分行計算機 柜員終端 網(wǎng)絡(luò) 總行 市 街道 分行 營業(yè)廳 儲蓄所 軟件 成本 柜員 儲戶 現(xiàn)金 支票 賬戶 事務(wù) 現(xiàn)金兌換卡 余額 分行代碼 卡號 訪問 信息 密碼 類型 取款額 賬單 用戶 磁卡 副本,無

13、關(guān),僅需要把與本問題密切相關(guān)的類與對象放進(jìn)目標(biāo)系統(tǒng)中。 ATM系統(tǒng)并不處理分?jǐn)傑浖_發(fā)成本的問題,而且ATM和柜員終端放置的地點與本軟件的關(guān)系也不大。 因此,應(yīng)該去掉候選類“成本”、“市”、“街道”、“營業(yè)廳”和“儲蓄所”。,無關(guān),銀行 自動取款機(ATM) 系統(tǒng) 中央計算機 分行計算機 柜員終端 網(wǎng)絡(luò) 總行 分行 軟件 柜員 儲戶 現(xiàn)金 支票 賬戶 事務(wù) 現(xiàn)金兌換卡 余額 分行代碼 卡號 訪問 信息 密碼 類型 取款額 賬單。 成本 市 街道 營業(yè)廳 儲蓄所,籠統(tǒng),把籠統(tǒng)的或模糊的類去掉。 以ATM系統(tǒng)為例,“銀行”實際指總行或分行,“訪問”在這里實際指事務(wù),“信息”的具體內(nèi)容在需求陳述中隨

14、后就指明了。此外還有一些籠統(tǒng)含糊的名詞。 總之,在本例中應(yīng)該去掉“銀行”、“網(wǎng)絡(luò)”、“系統(tǒng)”、“軟件”、“信息”、“訪問”等候選類。,籠統(tǒng),自動取款機(ATM) 中央計算機 分行計算機 柜員終端 總行 分行 柜員 儲戶 現(xiàn)金 支票 賬戶 事務(wù) 現(xiàn)金兌換卡 余額 分行代碼 卡號 密碼 類型 取款額 賬單。 銀行 網(wǎng)絡(luò) 系統(tǒng) 軟件 信息 訪問,屬性,有些名詞實際上描述的是其他對象的屬性,應(yīng)該把這些名詞從候選類與對象中去掉。 當(dāng)然,如果某個性質(zhì)具有很強的獨立性,則應(yīng)把它作為類而不是作為屬性。 在ATM系統(tǒng)的例子中,“現(xiàn)金”、“支票”、“取款額”、“賬單”、“余額”、“分行代碼”、“卡號”、“密碼”、

15、“類型”等,實際上都應(yīng)該作為屬性對待。,屬性,自動取款機(ATM) 中央計算機 分行計算機 柜員終端 總行 分行 柜員 儲戶 賬戶 事務(wù) 現(xiàn)金兌換卡 現(xiàn)金 支票 取款額 賬單 余額 分行代碼 卡號 密碼 類型,操作,一些既可作為名詞,又可作為動詞的詞,應(yīng)該慎重考慮它們在本問題中的含義,以便正確地決定把它們作為類還是作為類中定義的操作。 但是,本身具有屬性需獨立存在的操作,應(yīng)該作為類與對象。,操作,例如,談到電話時通常把“撥號”當(dāng)作動詞,當(dāng)構(gòu)造電話模型時確實應(yīng)該把它作為一個操作,而不是一個類。 但是,在開發(fā)電話的自動記賬系統(tǒng)時,“撥號”需要有自己的屬性(如日期、時間、受話地點等),因此應(yīng)該把它作

16、為一個類。,實現(xiàn),應(yīng)該去掉僅和實現(xiàn)有關(guān)的候選類與對象。 在設(shè)計和實現(xiàn)階段,這些類與對象可能是重要的,但在分析階段過早地考慮它們反而會分散我們的注意力。 在ATM系統(tǒng)的例子中,“事務(wù)日志”無非是對一系列事務(wù)的記錄,它的確切表示方式是面向?qū)ο笤O(shè)計的議題;“通信鏈路”在邏輯上是一種聯(lián)系,在系統(tǒng)實現(xiàn)時它是關(guān)聯(lián)鏈的物理實現(xiàn)。 總之,應(yīng)該暫時去掉“事務(wù)日志”和“通信鏈路”這兩個類,在設(shè)計或?qū)崿F(xiàn)時再考慮它們。,篩選出正確的類與對象,在ATM系統(tǒng)的例子中,經(jīng)過初步篩選,剩下下列類與對象: 自動取款機(ATM) 中央計算機 分行計算機 柜員終端 總行 分行 柜員 儲戶 賬戶 事務(wù) 現(xiàn)金兌換卡,兩個或多個對象之間

17、的相互依賴、相互作用的關(guān)系就是關(guān)聯(lián)。 分析確定關(guān)聯(lián),能促使分析員考慮問題域的邊緣情況,有助于發(fā)現(xiàn)那些尚未被發(fā)現(xiàn)的類與對象。 初步確定關(guān)聯(lián) 大多數(shù)關(guān)聯(lián)可以通過直接提取需求陳述中的動詞詞組而得出。 分析需求陳述,能發(fā)現(xiàn)一些在陳述中隱含的關(guān)聯(lián)。 分析員應(yīng)該與用戶及領(lǐng)域?qū)<矣懻搯栴}域?qū)嶓w間的相互依賴、相互作用關(guān)系,根據(jù)領(lǐng)域知識再進(jìn)一步補充一些關(guān)聯(lián)。,10.3.2 確定關(guān)聯(lián),直接提取動詞短語得出的關(guān)聯(lián),總行由各個分行組成。 分行保管賬戶。 總行擁有中央計算機。 系統(tǒng)維護事務(wù)日志。 系統(tǒng)提供必要的安全性。 儲戶擁有現(xiàn)金兌換卡。 根據(jù)問題域知識得出的關(guān)聯(lián) 現(xiàn)金兌換卡訪問賬戶。 分行雇用柜員。,需求陳述中隱含

18、的關(guān)聯(lián),篩選,經(jīng)初步分析得出的關(guān)聯(lián)只能作為候選的關(guān)聯(lián),還需經(jīng)過進(jìn)一步篩選,以去掉不正確的或不必要的關(guān)聯(lián)。 篩選時主要根據(jù)下述標(biāo)準(zhǔn)刪除候選的關(guān)聯(lián): 已刪去的類之間的關(guān)聯(lián) 與問題無關(guān)或應(yīng)在實現(xiàn)階段考慮的關(guān)聯(lián) 瞬時事件 三元關(guān)聯(lián) 派生關(guān)聯(lián),已刪去的類之間的關(guān)聯(lián),如果在分析確定類與對象的過程中已經(jīng)刪掉了某個候選類,則與這個類有關(guān)的關(guān)聯(lián)也應(yīng)該刪去,或用其他類重新表達(dá)這個關(guān)聯(lián)。 以ATM系統(tǒng)為例,由于已經(jīng)刪去了系統(tǒng)、網(wǎng)絡(luò)、市、街道、成本、軟件、事務(wù)日志、現(xiàn)金、營業(yè)廳、儲蓄所、賬單等候選類,因此,與這些類有關(guān)的下列八個關(guān)聯(lián)也應(yīng)該刪去: ATM、中央計算機、分行計算機及柜員終端組成網(wǎng)絡(luò)。 ATM設(shè)在主要街道上

19、。 柜員終端設(shè)在分行營業(yè)廳及儲蓄所內(nèi)。 分行分?jǐn)傑浖_發(fā)成本。 ATM吐出現(xiàn)金。 ATM打印賬單。 系統(tǒng)維護事務(wù)日志。 系統(tǒng)提供必要的安全性。,與問題無關(guān)的或應(yīng)在實現(xiàn)階段考慮的關(guān)聯(lián),應(yīng)該把處在本問題域之外的關(guān)聯(lián)或與實現(xiàn)密切相關(guān)的關(guān)聯(lián)刪去。 例如,在ATM系統(tǒng)的例子中,“系統(tǒng)處理并發(fā)的訪問”并沒有標(biāo)明對象之間的新關(guān)聯(lián),它只不過提醒我們在實現(xiàn)階段需要使用實現(xiàn)并發(fā)訪問的算法,以處理并發(fā)事務(wù)。,瞬時事件,關(guān)聯(lián)應(yīng)該描述問題域的靜態(tài)結(jié)構(gòu),而不應(yīng)該是一個瞬時事件。 以ATM系統(tǒng)為例,“ATM讀現(xiàn)金兌換卡”描述了ATM與用戶交互周期中的一個動作,它并不是ATM與現(xiàn)金兌換卡之間的固有關(guān)系,因此應(yīng)該刪去。 類似地

20、,還應(yīng)該刪去“ATM與用戶交互”這個候選的關(guān)聯(lián)。,三元關(guān)聯(lián),三個或三個以上對象之間的關(guān)聯(lián),大多可以分解為二元關(guān)聯(lián)或用詞組描述成限定的關(guān)聯(lián)。 “柜員輸入針對賬戶的事務(wù)”可以分解成:“柜員輸入事務(wù)” 和 “事務(wù)修改賬戶” “分行計算機處理針對賬戶的事務(wù)” 可以分解成:“分行保管賬戶” 和 “事務(wù)修改賬戶” “ATM與中央計算機交換關(guān)于事務(wù)的信息” 可以分解成: “ATM與中央計算機通信”和“ATM上輸入事務(wù)”,派生關(guān)聯(lián),應(yīng)該去掉那些可以用其他關(guān)聯(lián)定義的冗余關(guān)聯(lián)。 例如,在ATM系統(tǒng)的例子中,“總行擁有多臺ATM”實質(zhì)上是“總行擁有中央計算機”和“ATM與中央計算機通信”這兩個關(guān)聯(lián)組合的結(jié)果。 而“

21、分行計算機維護賬戶”的實際含義是,“分行保管賬戶”和“事務(wù)修改賬戶”。,進(jìn)一步完善篩選后的關(guān)聯(lián), 正名:分行提供分行計算機和柜員終端 = 分行擁有分行計算機 + 分行擁有柜員終端, 分解:適當(dāng)分解前面確定的class-&-objects ,使其適用于不同的關(guān)聯(lián) 事務(wù) = 遠(yuǎn)程事務(wù) + 柜員事務(wù),補充 柜員輸入柜員事務(wù) 在ATM上輸入遠(yuǎn)程事務(wù) 柜員事務(wù)輸進(jìn)柜員終端 遠(yuǎn)程事務(wù)由現(xiàn)金兌換卡授權(quán),標(biāo)明階數(shù)(可能經(jīng)常變動,不要花太多時間),處理后的關(guān)聯(lián),總行由各個分行組成。 總行擁有中央計算機。 中央計算機與分行通信。 ATM與中央計算機通信。 分行擁有分行計算機 分行擁有柜員終端。 柜員終端與分行計算

22、機通信。 分行雇用柜員。 柜員輸入柜員事務(wù)。 柜員事務(wù)輸入柜員終端。 柜員事務(wù)修改賬戶。 分行保管賬戶。 儲戶擁有賬戶。 儲戶擁有現(xiàn)金兌換卡。 遠(yuǎn)程事務(wù)由現(xiàn)金兌換卡授權(quán)。 在ATM上輸入遠(yuǎn)程事務(wù)。 遠(yuǎn)程事務(wù)修改賬戶。 現(xiàn)金兌換卡訪問賬戶。,10.3.3 劃分主題,按問題域而不是用功能分解方法來確定主題。 按照使不同主題內(nèi)的對象相互間依賴和交互最少的原則來確定主題。,10.3.4 確定屬性,屬性是對象的性質(zhì),藉助于屬性我們能對類與對象和結(jié)構(gòu)有更深入更具體的認(rèn)識。 注意,在分析階段不要用屬性來表示對象間的關(guān)系,使用關(guān)聯(lián)能夠表示兩個對象間的任何關(guān)系,而且把關(guān)系表示得更清晰、更醒目。,1分析,通常,在

23、需求陳述中用名詞詞組表示屬性,例如,“汽車的顏色”或“光標(biāo)的位置”。 不可能在需求陳述中找到所有屬性,分析員還必須藉助于領(lǐng)域知識和常識才能分析得出需要的屬性。 屬性的確定既與問題域有關(guān),也和目標(biāo)系統(tǒng)的任務(wù)有關(guān)。 應(yīng)該僅考慮與具體應(yīng)用直接相關(guān)的屬性,不要考慮那些超出所要解決的問題范圍的屬性。 應(yīng)該首先找出最重要的屬性,以后再逐漸把其余屬性增添進(jìn)去。 在分析階段不要考慮那些純粹用于實現(xiàn)的屬性。,2選擇,認(rèn)真考察經(jīng)初步分析而確定下來的那些屬性,從中刪掉不正確的或不必要的屬性。 通常有以下幾種常見情況: 誤把對象當(dāng)作屬性 誤把關(guān)聯(lián)類的屬性作為一般對象屬性 把限定誤當(dāng)成屬性 誤把內(nèi)部狀態(tài)當(dāng)成了屬性 過于細(xì)化 存在不一致的屬性,10.3.5 識別繼承關(guān)系,一般說來,可以使用兩種方式建立繼承(即歸納)關(guān)系: 自底向上:抽象出現(xiàn)有類的共同性質(zhì)泛化出父類,這個過程實質(zhì)上模擬了人類歸納思維

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論