第十章面向?qū)ο蠓治?案例講座)_第1頁
第十章面向?qū)ο蠓治?案例講座)_第2頁
第十章面向?qū)ο蠓治?案例講座)_第3頁
第十章面向?qū)ο蠓治?案例講座)_第4頁
第十章面向?qū)ο蠓治?案例講座)_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Yibinu UniversitySchool of Computer & Information Engineering1軟件工程第章第章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治鯵ibinu UniversitySchool of Computer & Information Engineering2面向?qū)ο蟮姆治雒嫦驅(qū)ο蠓治龅拿嫦驅(qū)ο蠓治龅哪康哪康氖菍κ菍陀^世界的系客觀世界的系統(tǒng)進行建模統(tǒng)進行建模。以前面介紹的模型概念為基礎(chǔ),。以前面介紹的模型概念為基礎(chǔ),結(jié)合結(jié)合“銀行網(wǎng)絡(luò)系統(tǒng)銀行網(wǎng)絡(luò)系統(tǒng)ATM”的具體實例來構(gòu)造的具體實例來構(gòu)造客觀世界問題的準(zhǔn)確、嚴(yán)密的分析模型??陀^世界問題的準(zhǔn)確、嚴(yán)

2、密的分析模型。 分析模型有三種用途:分析模型有三種用途:l用來明確問題需求;用來明確問題需求;l為用戶和開發(fā)人員提供明確需求;為用戶和開發(fā)人員提供明確需求;l為用戶和開發(fā)人員提供一個協(xié)商的基礎(chǔ),為用戶和開發(fā)人員提供一個協(xié)商的基礎(chǔ),作為后繼的設(shè)計和實現(xiàn)的框架。作為后繼的設(shè)計和實現(xiàn)的框架。Yibinu UniversitySchool of Computer & Information Engineering3Yibinu UniversitySchool of Computer & Information Engineering4系統(tǒng)分析的第一步是:陳述需求 分析者必須同用戶一塊

3、工作來提煉需求,分析者必須同用戶一塊工作來提煉需求,因為這樣才表示了用戶的真實意圖,其中涉因為這樣才表示了用戶的真實意圖,其中涉及對需求的分析及查找丟失的信息。及對需求的分析及查找丟失的信息。下面以下面以“銀行網(wǎng)絡(luò)系統(tǒng)銀行網(wǎng)絡(luò)系統(tǒng)”為例,用面向為例,用面向?qū)ο蠓椒ㄟM行開發(fā)。對象方法進行開發(fā)。Yibinu UniversitySchool of Computer & Information Engineering5銀行網(wǎng)絡(luò)系統(tǒng)問題陳述:設(shè)計支持銀行網(wǎng)絡(luò)的軟件,銀行網(wǎng)絡(luò)包括設(shè)計支持銀行網(wǎng)絡(luò)的軟件,銀行網(wǎng)絡(luò)包括人工人工出納站出納站和分行共享的和分行共享的自動出納機自動出納機。每個分理處用分理

4、處計算機來保存各自的帳戶,每個分理處用分理處計算機來保存各自的帳戶,處理各自的事務(wù);各自分理處的出納站與分理處計處理各自的事務(wù);各自分理處的出納站與分理處計算機通信,出納站錄入帳戶和事務(wù)數(shù)據(jù);算機通信,出納站錄入帳戶和事務(wù)數(shù)據(jù);自動出納機與分行計算機通信,分行計算機與自動出納機與分行計算機通信,分行計算機與撥款分理處結(jié)帳,自動出納機與用戶接口接受現(xiàn)金撥款分理處結(jié)帳,自動出納機與用戶接口接受現(xiàn)金卡,與分行計算機通信完成事務(wù),發(fā)放現(xiàn)金,打印卡,與分行計算機通信完成事務(wù),發(fā)放現(xiàn)金,打印收據(jù);收據(jù);系統(tǒng)需要系統(tǒng)需要記錄保管記錄保管和安全措施;系統(tǒng)必須正確和安全措施;系統(tǒng)必須正確處理同一帳戶的并發(fā)訪問;

5、每個分處理為自己的計處理同一帳戶的并發(fā)訪問;每個分處理為自己的計算機準(zhǔn)備軟件,銀行網(wǎng)絡(luò)費用根據(jù)顧客和現(xiàn)金卡的算機準(zhǔn)備軟件,銀行網(wǎng)絡(luò)費用根據(jù)顧客和現(xiàn)金卡的數(shù)目分攤給各分理處。數(shù)目分攤給各分理處。Yibinu UniversitySchool of Computer & Information Engineering6Yibinu UniversitySchool of Computer & Information Engineering7系統(tǒng)分析的第二步是:建立對象模型l首先首先標(biāo)識和關(guān)聯(lián)標(biāo)識和關(guān)聯(lián),因為它們影響了整體,因為它們影響了整體結(jié)構(gòu)和解決問題的方法,結(jié)構(gòu)和解決問題的方法

6、,l其次是增加其次是增加屬性屬性,進一步描述類和關(guān)聯(lián),進一步描述類和關(guān)聯(lián)的基本網(wǎng)絡(luò),使用繼承的基本網(wǎng)絡(luò),使用繼承合并和組織合并和組織類,類,l最后最后操作操作增加到類中去作為構(gòu)造動態(tài)模增加到類中去作為構(gòu)造動態(tài)模型和功能模型的副產(chǎn)品。型和功能模型的副產(chǎn)品。Yibinu UniversitySchool of Computer & Information Engineering81.確定類構(gòu)造對象模型的第一步是構(gòu)造對象模型的第一步是標(biāo)出來自問題標(biāo)出來自問題域的相關(guān)的對象類域的相關(guān)的對象類,對象包括物理實體和概,對象包括物理實體和概念。念。常用的識別類的方法有:名詞識別法、常用的識別類的方法

7、有:名詞識別法、系統(tǒng)實體識別法、使用重用、從用例中識別系統(tǒng)實體識別法、使用重用、從用例中識別類等。類等。所有類在應(yīng)用中都必須有意義,在問題所有類在應(yīng)用中都必須有意義,在問題陳述中,并非所有類都是明顯給出的。有些陳述中,并非所有類都是明顯給出的。有些是隱含在問題域或一般知識中的。是隱含在問題域或一般知識中的。Yibinu UniversitySchool of Computer & Information Engineering9按圖所示的過程確定類和對象按圖所示的過程確定類和對象Yibinu UniversitySchool of Computer & Information

8、Engineering10(1)找出候選的類與對象查找問題陳述中的所有名詞,產(chǎn)生如下查找問題陳述中的所有名詞,產(chǎn)生如下的的候選類與對象候選類與對象。 軟件軟件 銀行網(wǎng)絡(luò)銀行網(wǎng)絡(luò) 出納員出納員 自動出納機自動出納機 分行分行 分處理分處理 分處理計算機分處理計算機 帳戶帳戶 事務(wù)事務(wù) 出納站出納站 事務(wù)數(shù)據(jù)事務(wù)數(shù)據(jù) 分行計算機分行計算機 現(xiàn)金卡現(xiàn)金卡 用戶用戶 現(xiàn)金現(xiàn)金 收據(jù)收據(jù) 系統(tǒng)系統(tǒng) 顧客顧客 費用費用 帳戶帳戶數(shù)據(jù)數(shù)據(jù) 訪問訪問 安全措施安全措施 記錄保管記錄保管 Yibinu UniversitySchool of Computer & Information Engineer

9、ing11(2)篩選出正確的類與對象 根據(jù)下列標(biāo)準(zhǔn),根據(jù)下列標(biāo)準(zhǔn),篩選出正確的類與對象篩選出正確的類與對象,去掉,去掉不必要的類和不正確的類。不必要的類和不正確的類。(1) 冗余類:冗余類:若兩個類表述了同一個信息若兩個類表述了同一個信息 ,保留,保留最富有描述能力的類。如最富有描述能力的類。如“用戶用戶”和和“顧客顧客”就是就是重復(fù)的描述,因為重復(fù)的描述,因為“顧客顧客”最富有描述性,因此保最富有描述性,因此保留它。留它。 (2) 無關(guān)類無關(guān)類:除掉與問題沒有關(guān)系或根本無關(guān)的:除掉與問題沒有關(guān)系或根本無關(guān)的類。例如,攤派費用超出了銀行網(wǎng)絡(luò)的范圍。類。例如,攤派費用超出了銀行網(wǎng)絡(luò)的范圍。 (3

10、) 籠統(tǒng)(模糊)類籠統(tǒng)(模糊)類:類必須是確定的,有些暫:類必須是確定的,有些暫定類邊界定義模糊或范圍太廣,如定類邊界定義模糊或范圍太廣,如“記錄保管記錄保管”就就模糊類,它是模糊類,它是“事務(wù)事務(wù)”中的一部分。中的一部分。在銀行網(wǎng)絡(luò)系統(tǒng)中,模糊類還有在銀行網(wǎng)絡(luò)系統(tǒng)中,模糊類還有“系統(tǒng)系統(tǒng)”、“安全安全措施措施”、“銀行網(wǎng)絡(luò)銀行網(wǎng)絡(luò)”等。等。Yibinu UniversitySchool of Computer & Information Engineering12(4) 屬性屬性:某些名詞描述的是其他對象的:某些名詞描述的是其他對象的屬性,則從暫定類中刪除。如果某一性質(zhì)的屬性,則從暫

11、定類中刪除。如果某一性質(zhì)的獨立性很重要,就應(yīng)該把他歸屬到類,而不獨立性很重要,就應(yīng)該把他歸屬到類,而不把它作為屬性。把它作為屬性?!艾F(xiàn)金現(xiàn)金 ”“”“卡號卡號”“”“密碼密碼”等,應(yīng)該作為屬性對待。等,應(yīng)該作為屬性對待。 屬于屬于屬性屬性的有:的有:“帳戶數(shù)據(jù)帳戶數(shù)據(jù)”、“收收據(jù)據(jù)”、“現(xiàn)金現(xiàn)金”、“事務(wù)數(shù)據(jù)事務(wù)數(shù)據(jù)”。 Yibinu UniversitySchool of Computer & Information Engineering13(5) 操作操作:如果問題陳述中的名詞有:如果問題陳述中的名詞有動作含動作含義義,則描述的操作就不是類。但是具有自身性質(zhì)而,則描述的操作就不是

12、類。但是具有自身性質(zhì)而且需要獨立存在的操作應(yīng)該描述成類。如我們只構(gòu)且需要獨立存在的操作應(yīng)該描述成類。如我們只構(gòu)造電話模型,造電話模型,撥號撥號就是動態(tài)模型的一部分而不是就是動態(tài)模型的一部分而不是類,但在電話撥號系統(tǒng)中,類,但在電話撥號系統(tǒng)中,撥號撥號是一個重要的類,是一個重要的類,它日期、時間、受話地點等屬性。它日期、時間、受話地點等屬性。屬于屬于實現(xiàn)實現(xiàn)的如:的如:“訪問訪問”、“軟件軟件”等。這些等。這些均應(yīng)除去。在分析階段不應(yīng)該過早考慮系統(tǒng)的實現(xiàn),均應(yīng)除去。在分析階段不應(yīng)該過早考慮系統(tǒng)的實現(xiàn),因此,應(yīng)該去掉和實現(xiàn)有關(guān)的候選類。因此,應(yīng)該去掉和實現(xiàn)有關(guān)的候選類。Yibinu Univers

13、itySchool of Computer & Information Engineering14最終確定的類為:分行計算機分行計算機 分行分行 出納站出納站 出納員出納員 分理處分理處 中央計算機中央計算機 自動出納機自動出納機 賬戶賬戶 現(xiàn)金卡現(xiàn)金卡 事務(wù)事務(wù) 顧客顧客Yibinu UniversitySchool of Computer & Information Engineering152.準(zhǔn)備數(shù)據(jù)字典 為所有建模實體準(zhǔn)備一個數(shù)據(jù)字典。準(zhǔn)為所有建模實體準(zhǔn)備一個數(shù)據(jù)字典。準(zhǔn)確描述各個類的精確含義,描述當(dāng)前問題中確描述各個類的精確含義,描述當(dāng)前問題中的類的范圍,包括對類的

14、成員、用法方面的的類的范圍,包括對類的成員、用法方面的假設(shè)或限制。假設(shè)或限制。Yibinu UniversitySchool of Computer & Information Engineering163.確定關(guān)聯(lián)兩個或多個類之間的兩個或多個類之間的相互依賴、相互作用相互依賴、相互作用的關(guān)的關(guān)系就是關(guān)聯(lián)。系就是關(guān)聯(lián)??捎酶鞣N方式來實現(xiàn)關(guān)聯(lián),但在分析模型中應(yīng)可用各種方式來實現(xiàn)關(guān)聯(lián),但在分析模型中應(yīng)刪除實現(xiàn)的考慮,以便設(shè)計時更為靈活。刪除實現(xiàn)的考慮,以便設(shè)計時更為靈活。關(guān)聯(lián)常用關(guān)聯(lián)常用描述性動詞或動詞詞組描述性動詞或動詞詞組來表示,其中來表示,其中有物理位置的表示、傳導(dǎo)的動作、通信、所有

15、者關(guān)有物理位置的表示、傳導(dǎo)的動作、通信、所有者關(guān)系、條件的滿足等。系、條件的滿足等。從問題陳述中抽取所有可能的關(guān)聯(lián)表述,把它從問題陳述中抽取所有可能的關(guān)聯(lián)表述,把它們記下來,但不要過早去細化這些表述。們記下來,但不要過早去細化這些表述。Yibinu UniversitySchool of Computer & Information Engineering17下面是銀行網(wǎng)絡(luò)系統(tǒng)中所有可能的關(guān)聯(lián),下面是銀行網(wǎng)絡(luò)系統(tǒng)中所有可能的關(guān)聯(lián),大多數(shù)是直接抽取問題中的動詞詞組而得到大多數(shù)是直接抽取問題中的動詞詞組而得到的。的。在陳述中,有些動詞詞組表述的關(guān)聯(lián)是在陳述中,有些動詞詞組表述的關(guān)聯(lián)是不明顯

16、的。不明顯的。最后,還有一些關(guān)聯(lián)與客觀世界或人的最后,還有一些關(guān)聯(lián)與客觀世界或人的假設(shè)有關(guān)假設(shè)有關(guān),必須同用戶一起核實這種關(guān)聯(lián),必須同用戶一起核實這種關(guān)聯(lián),因為這種關(guān)聯(lián)在問題陳述中找不到。因為這種關(guān)聯(lián)在問題陳述中找不到。Yibinu UniversitySchool of Computer & Information Engineering18(1)初步確定關(guān)聯(lián)銀行網(wǎng)絡(luò)問題陳述中的關(guān)聯(lián):銀行網(wǎng)絡(luò)問題陳述中的關(guān)聯(lián): 銀行網(wǎng)絡(luò)銀行網(wǎng)絡(luò)包括包括出納站和自動出納機;出納站和自動出納機; 分行分行共享共享自動出納機;自動出納機; 分理處分理處提供提供分理處計算機;分理處計算機; 分理處計算機分理

17、處計算機保存保存帳戶;帳戶; 分理處計算機分理處計算機處理處理帳戶支付事務(wù);帳戶支付事務(wù); 分理處分理處擁有擁有出納站;出納站; 出納站與分理處計算機出納站與分理處計算機通信通信; 出納員為帳戶出納員為帳戶錄入錄入事務(wù);事務(wù);Yibinu UniversitySchool of Computer & Information Engineering19 自動出納機自動出納機接受接受現(xiàn)金卡;現(xiàn)金卡; 自動出納機與用戶接口;自動出納機與用戶接口; 自動出納機自動出納機發(fā)放發(fā)放現(xiàn)金;現(xiàn)金; 自動出納機自動出納機打印打印收據(jù);收據(jù); 系統(tǒng)處理系統(tǒng)處理并發(fā)訪問并發(fā)訪問; 分理處分理處提供提供軟件;

18、軟件; 費用費用分攤分攤給分理處。給分理處。Yibinu UniversitySchool of Computer & Information Engineering20隱含的動詞詞組:隱含的動詞詞組: 分行由分理處分行由分理處組成組成; 分理處分理處擁有擁有帳戶;帳戶; 分行分行擁有擁有分行計算機;分行計算機; 系統(tǒng)系統(tǒng)提供提供記錄保管;記錄保管; 系統(tǒng)系統(tǒng)提供提供安全;安全; 顧客顧客有有現(xiàn)金卡?,F(xiàn)金卡。Yibinu UniversitySchool of Computer & Information Engineering21基于問題域知識的關(guān)聯(lián):基于問題域知識的關(guān)聯(lián):

19、分理處分理處雇傭雇傭出納員;出納員; 現(xiàn)金卡現(xiàn)金卡訪問訪問帳戶。帳戶。Yibinu UniversitySchool of Computer & Information Engineering22(2)篩選使用下列標(biāo)準(zhǔn)去掉不必要和不正確的關(guān)使用下列標(biāo)準(zhǔn)去掉不必要和不正確的關(guān)聯(lián):聯(lián): (1) 若若某個類已被刪除某個類已被刪除,那么與它有關(guān)的,那么與它有關(guān)的關(guān)聯(lián)也必須刪除或者用其它類來重新表述。關(guān)聯(lián)也必須刪除或者用其它類來重新表述。在例中,我們刪除了在例中,我們刪除了“銀行網(wǎng)絡(luò)銀行網(wǎng)絡(luò)”,相關(guān)的,相關(guān)的關(guān)聯(lián)也要刪除。關(guān)聯(lián)也要刪除。 (2) 與問題不相干的關(guān)聯(lián)或?qū)崿F(xiàn)階段的關(guān)與問題不相干的關(guān)聯(lián)

20、或?qū)崿F(xiàn)階段的關(guān)聯(lián)聯(lián):刪除所有問題域之外的關(guān)聯(lián)或涉及實現(xiàn):刪除所有問題域之外的關(guān)聯(lián)或涉及實現(xiàn)結(jié)構(gòu)中的關(guān)聯(lián)。如結(jié)構(gòu)中的關(guān)聯(lián)。如系統(tǒng)處理并發(fā)訪問系統(tǒng)處理并發(fā)訪問就是就是一種實現(xiàn)的概念。一種實現(xiàn)的概念。Yibinu UniversitySchool of Computer & Information Engineering23(3)瞬時事件)瞬時事件(動作動作):關(guān)聯(lián)應(yīng)該描述應(yīng)用域:關(guān)聯(lián)應(yīng)該描述應(yīng)用域的結(jié)構(gòu)性質(zhì)而不是瞬時事件,因此應(yīng)刪除的結(jié)構(gòu)性質(zhì)而不是瞬時事件,因此應(yīng)刪除“自動出納機接受現(xiàn)金卡自動出納機接受現(xiàn)金卡”,“自動出納機自動出納機與用戶接口與用戶接口”等。等。 (4) 派生關(guān)聯(lián):省略那

21、些可以用其他關(guān)聯(lián)派生關(guān)聯(lián):省略那些可以用其他關(guān)聯(lián)來定義的關(guān)聯(lián)。因為這種關(guān)聯(lián)是冗余的。來定義的關(guān)聯(lián)。因為這種關(guān)聯(lián)是冗余的。 銀行網(wǎng)絡(luò)系統(tǒng)的初步對象圖如圖所示。其銀行網(wǎng)絡(luò)系統(tǒng)的初步對象圖如圖所示。其中含有關(guān)聯(lián)。中含有關(guān)聯(lián)。Yibinu UniversitySchool of Computer & Information Engineering24Yibinu UniversitySchool of Computer & Information Engineering25系統(tǒng)分析的第三步是:確定類屬性屬性是對象的屬性是對象的性質(zhì)性質(zhì),屬性通常用屬性通常用修飾性的修飾性的名詞詞組名詞詞

22、組來表示來表示.只考慮與具體應(yīng)用直接相關(guān)的屬性,不只考慮與具體應(yīng)用直接相關(guān)的屬性,不要考慮那些超出問題范圍的屬性;要考慮那些超出問題范圍的屬性;找出重要屬性,避免那些只用于實現(xiàn)的找出重要屬性,避免那些只用于實現(xiàn)的屬性要為各個屬性取有意義的名字。屬性要為各個屬性取有意義的名字。Yibinu UniversitySchool of Computer & Information Engineering26按下列標(biāo)準(zhǔn)刪除不必要的和不正確的屬性:(1) 誤把對象當(dāng)作屬性誤把對象當(dāng)作屬性:若實體的獨立存在:若實體的獨立存在比它的值重要,那么這個實體不是屬性而是對象。比它的值重要,那么這個實體不是屬

23、性而是對象。如在郵政目錄中,如在郵政目錄中,“城市城市”是一個屬性,然而在人是一個屬性,然而在人口普查中,口普查中,“城市城市”則被看作是對象。在具體應(yīng)用則被看作是對象。在具體應(yīng)用中,具有自身性質(zhì)的實體一定是對象。中,具有自身性質(zhì)的實體一定是對象。 (2) 把限定誤碼當(dāng)成屬性把限定誤碼當(dāng)成屬性:若屬性值取決于:若屬性值取決于某種具體上下文,則可考慮把該屬性重新表述為一某種具體上下文,則可考慮把該屬性重新表述為一個限定詞。如個限定詞。如“賬號賬號”“”“分行代碼分行代碼”(3) 名稱名稱:名稱常常作為限定詞而不是對象:名稱常常作為限定詞而不是對象的屬性,當(dāng)名稱不依賴于上下文關(guān)系時,名稱即為的屬性

24、,當(dāng)名稱不依賴于上下文關(guān)系時,名稱即為一個對象屬性,尤其是它不惟一時。一個對象屬性,尤其是它不惟一時。 Yibinu UniversitySchool of Computer & Information Engineering27(4) 標(biāo)識符:在考慮對象模糊性時,引標(biāo)識符:在考慮對象模糊性時,引入對象標(biāo)識符表示,在對象模型中不列出這入對象標(biāo)識符表示,在對象模型中不列出這些對象標(biāo)識符,它是隱含在對象模型中,只些對象標(biāo)識符,它是隱含在對象模型中,只列出存在于應(yīng)用域的屬性。列出存在于應(yīng)用域的屬性。 (5) 誤把內(nèi)部狀態(tài)當(dāng)成屬性:若屬性描述誤把內(nèi)部狀態(tài)當(dāng)成屬性:若屬性描述了對外不透明的對象的

25、內(nèi)部狀態(tài),則應(yīng)從對了對外不透明的對象的內(nèi)部狀態(tài),則應(yīng)從對象模型中刪除該屬性。象模型中刪除該屬性。 (6) 過于細化:忽略那些不可能對大多數(shù)過于細化:忽略那些不可能對大多數(shù)操作有影響的屬性。操作有影響的屬性。Yibinu UniversitySchool of Computer & Information Engineering28Yibinu UniversitySchool of Computer & Information Engineering29系統(tǒng)分析的第四步是:使用繼承來細化類1 、自底而上自底而上將現(xiàn)有類的共性一般化為父類。找出具將現(xiàn)有類的共性一般化為父類。找出具

26、有相同屬性、關(guān)聯(lián)、操作的類,來發(fā)現(xiàn)繼承。有相同屬性、關(guān)聯(lián)、操作的類,來發(fā)現(xiàn)繼承。例如:例如:“出納事務(wù)出納事務(wù)”和和“遠程事務(wù)遠程事務(wù)”,可以,可以將它們的共性一般化,得到父類將它們的共性一般化,得到父類“事務(wù)事務(wù)”。 Yibinu UniversitySchool of Computer & Information Engineering30Yibinu UniversitySchool of Computer & Information Engineering312 、自頂而下自頂而下將現(xiàn)有類細化為更具體的子類。將現(xiàn)有類細化為更具體的子類。如:例如:菜單,可以有固定菜單,頂

27、如:例如:菜單,可以有固定菜單,頂部菜單,彈出菜單,下拉菜單等,這就可以部菜單,彈出菜單,下拉菜單等,這就可以把菜單類具體細化為各種具體菜單的子類。把菜單類具體細化為各種具體菜單的子類。當(dāng)同一關(guān)聯(lián)名出現(xiàn)多次且意義也相同時,應(yīng)當(dāng)同一關(guān)聯(lián)名出現(xiàn)多次且意義也相同時,應(yīng)盡量具體化為相關(guān)聯(lián)的類,盡量具體化為相關(guān)聯(lián)的類,例如例如事務(wù)事務(wù)從從出納站出納站和和自動出納機自動出納機進進入,則入,則錄入站錄入站就是就是出納站出納站和和自動出納站自動出納站的一般化。的一般化。 Yibinu UniversitySchool of Computer & Information Engineering32系統(tǒng)分

28、析的第五步是: 完善對象模型對象建模不可能一次就能保證模型是完對象建模不可能一次就能保證模型是完全正確的,軟件開發(fā)的整個過程就是一個不全正確的,軟件開發(fā)的整個過程就是一個不斷完善的過程。斷完善的過程。模型的不同組成部分多半是在不同的階模型的不同組成部分多半是在不同的階段完成的,如果發(fā)現(xiàn)模型的缺陷,就必須返段完成的,如果發(fā)現(xiàn)模型的缺陷,就必須返回到前期階段去修改,有些細化工作是在動回到前期階段去修改,有些細化工作是在動態(tài)模型和功能模型完成之后才開始進行的。態(tài)模型和功能模型完成之后才開始進行的。Yibinu UniversitySchool of Computer & Informatio

29、n Engineering33(1) 幾種可能丟失對象的情況及解決辦幾種可能丟失對象的情況及解決辦法:法: 同一類中存在毫無關(guān)系的屬性和操作,則同一類中存在毫無關(guān)系的屬性和操作,則分解這個類,使各部分相互關(guān)聯(lián);分解這個類,使各部分相互關(guān)聯(lián); 一般化體系不清楚,則可能分離扮演兩種一般化體系不清楚,則可能分離扮演兩種角色的類角色的類 存在無目標(biāo)類的操作,則找出并加上失去存在無目標(biāo)類的操作,則找出并加上失去目標(biāo)的類;目標(biāo)的類; 存在名稱及目的相同的冗余關(guān)聯(lián),則通過存在名稱及目的相同的冗余關(guān)聯(lián),則通過一般化創(chuàng)建丟失的父類,把關(guān)聯(lián)組織在一起。一般化創(chuàng)建丟失的父類,把關(guān)聯(lián)組織在一起。 Yibinu Uni

30、versitySchool of Computer & Information Engineering34(2) 查找多余的類。查找多余的類。 類中缺少屬性,操作和關(guān)聯(lián),則可刪除這個類中缺少屬性,操作和關(guān)聯(lián),則可刪除這個類。類。 (3)查找丟失的關(guān)聯(lián)。)查找丟失的關(guān)聯(lián)。丟失了操作的訪問路徑,則加入新的關(guān)聯(lián)以丟失了操作的訪問路徑,則加入新的關(guān)聯(lián)以回答查詢?;卮鸩樵儭ibinu UniversitySchool of Computer & Information Engineering35Yibinu UniversitySchool of Computer & Info

31、rmation Engineering36(4) 網(wǎng)絡(luò)系統(tǒng)的具體情況作如下的修改:網(wǎng)絡(luò)系統(tǒng)的具體情況作如下的修改: 現(xiàn)金卡有多個獨立的特性。把它分解為兩個現(xiàn)金卡有多個獨立的特性。把它分解為兩個對象:對象:卡片權(quán)限卡片權(quán)限和和現(xiàn)金卡現(xiàn)金卡。 a.卡片權(quán)限:它是銀行用來鑒別用戶訪問權(quán)限卡片權(quán)限:它是銀行用來鑒別用戶訪問權(quán)限的卡片,表示一個或多個用戶帳戶的訪問權(quán)限;各的卡片,表示一個或多個用戶帳戶的訪問權(quán)限;各個卡片權(quán)限對象中可能具有好幾個現(xiàn)金卡,每張都個卡片權(quán)限對象中可能具有好幾個現(xiàn)金卡,每張都帶有安全碼,卡片碼,它們附在現(xiàn)金卡上,表現(xiàn)銀帶有安全碼,卡片碼,它們附在現(xiàn)金卡上,表現(xiàn)銀行的卡片權(quán)限。行

32、的卡片權(quán)限。b.現(xiàn)金卡:它是自動出納機得到表示碼的數(shù)據(jù)現(xiàn)金卡:它是自動出納機得到表示碼的數(shù)據(jù)卡片,它也是銀行代碼和現(xiàn)金卡代碼的數(shù)據(jù)載體??ㄆ?,它也是銀行代碼和現(xiàn)金卡代碼的數(shù)據(jù)載體。Yibinu UniversitySchool of Computer & Information Engineering37Yibinu UniversitySchool of Computer & Information Engineering38事務(wù)事務(wù)不能體現(xiàn)對帳戶之間的傳輸描述不能體現(xiàn)對帳戶之間的傳輸描述的一般性,因它只涉及一個帳戶,一般來說,的一般性,因它只涉及一個帳戶,一般來說,在每個帳

33、戶中,一個在每個帳戶中,一個事務(wù)事務(wù)包括一個或多個包括一個或多個更新更新,一個,一個更新更新是對帳戶的一個動作,它是對帳戶的一個動作,它們是取款,存款,查詢之一。一個們是取款,存款,查詢之一。一個更新更新中中所有所有更新更新應(yīng)該是一個原子操作。應(yīng)該是一個原子操作。 分行分行和和分行處理機分行處理機之間的區(qū)別似乎并之間的區(qū)別似乎并不影響分析,計算機的通信處理實際上是實不影響分析,計算機的通信處理實際上是實現(xiàn)的概念,將現(xiàn)的概念,將“中央計算機中央計算機”并入并入“總行總行”。同理,將同理,將“分行計算機分行計算機”并入并入“分行分行”。Yibinu UniversitySchool of Comp

34、uter & Information Engineering39Yibinu UniversitySchool of Computer & Information Engineering40系統(tǒng)分析的第六步是:建立動態(tài)模型通常動態(tài)模型有:事件跟蹤表、狀態(tài)圖。通常動態(tài)模型有:事件跟蹤表、狀態(tài)圖。建立動態(tài)模型的步驟分為建立動態(tài)模型的步驟分為 4 步:步: 1 、準(zhǔn)備典型的對話腳本、準(zhǔn)備典型的對話腳本動態(tài)分析從尋找事件開始,然后確定各對動態(tài)分析從尋找事件開始,然后確定各對象的可能事件順序。在分析階段不考慮算法的象的可能事件順序。在分析階段不考慮算法的執(zhí)行,算法是實現(xiàn)模型的一部分。執(zhí)行

35、,算法是實現(xiàn)模型的一部分。Yibinu UniversitySchool of Computer & Information Engineering41自動出納機與用戶交互的正常情況腳本:自動出納機與用戶交互的正常情況腳本:( 1 )自動出納機請求用戶插入卡片;用戶插入)自動出納機請求用戶插入卡片;用戶插入現(xiàn)金卡?,F(xiàn)金卡。 ( 2 )自動出納機接受卡片并讀出它的卡號。)自動出納機接受卡片并讀出它的卡號。 (3) 自動出納機要求密碼,用戶鍵入密碼自動出納機要求密碼,用戶鍵入密碼“ 4011 ”。( 4 )自動出納機與總行確認卡號和密碼;分理)自動出納機與總行確認卡號和密碼;分理處檢查它并

36、通知承兌的自動出納機。處檢查它并通知承兌的自動出納機。 ( 5 )自動出納機要求選擇事務(wù)類型(取款、)自動出納機要求選擇事務(wù)類型(取款、存款、轉(zhuǎn)戶及查詢),用戶選擇取款。存款、轉(zhuǎn)戶及查詢),用戶選擇取款。 Yibinu UniversitySchool of Computer & Information Engineering42( 6 )自動出納機要求現(xiàn)金數(shù)量;用戶輸入¥)自動出納機要求現(xiàn)金數(shù)量;用戶輸入¥ 100 。 ( 7 )自動出納機要求分行處理事務(wù);分行把要)自動出納機要求分行處理事務(wù);分行把要求轉(zhuǎn)給分理處,確認事務(wù)成功。求轉(zhuǎn)給分理處,確認事務(wù)成功。 ( 8 )自動出納機分發(fā)

37、現(xiàn)金并且要求用戶取現(xiàn))自動出納機分發(fā)現(xiàn)金并且要求用戶取現(xiàn)金;用戶取現(xiàn)金。金;用戶取現(xiàn)金。( 9 )自動出納機提示用戶是否想繼續(xù);用戶指)自動出納機提示用戶是否想繼續(xù);用戶指出不繼續(xù)。出不繼續(xù)。 ( l0 )自動出納機打印收據(jù),退出卡,并請求)自動出納機打印收據(jù),退出卡,并請求用戶取出它們;用戶拿走收據(jù)和卡。用戶取出它們;用戶拿走收據(jù)和卡。 ( ll )自動出納機請求用戶插入。)自動出納機請求用戶插入。Yibinu UniversitySchool of Computer & Information Engineering43自動出納機與用戶交互的異常情況腳本:( 1 )自動出納機請求用

38、戶插入卡;用戶插入現(xiàn))自動出納機請求用戶插入卡;用戶插入現(xiàn)金卡。金卡。 ( 2 )自動出納機接受卡并讀它的卡號。)自動出納機接受卡并讀它的卡號。 ( 3 )自動出納機要求密碼;用戶鍵入:)自動出納機要求密碼;用戶鍵入: 9999 :。:。 ( 4 )自動出納機與分行確認卡號和密碼,在)自動出納機與分行確認卡號和密碼,在咨詢分理處后拒絕它。咨詢分理處后拒絕它。 ( 5 )自動出納機指示密碼錯并要求重新鍵入;)自動出納機指示密碼錯并要求重新鍵入;用戶鍵入:用戶鍵入: 4011 : ,分行確認成功。,分行確認成功。 Yibinu UniversitySchool of Computer &

39、Information Engineering44( 6 )自動出納機請求用戶選擇事務(wù)類型;)自動出納機請求用戶選擇事務(wù)類型;用戶選擇取款。用戶選擇取款。 ( 7 )自動出納機請求鍵入現(xiàn)金數(shù)量;用)自動出納機請求鍵入現(xiàn)金數(shù)量;用戶改變選擇并鍵入戶改變選擇并鍵入 “ CANCEL , , (取消)。(取消)。 ( 8 )自動出納機退出卡并且請求用戶拿)自動出納機退出卡并且請求用戶拿走卡;用戶取出卡。走卡;用戶取出卡。 ( 9 )自動出納機請求用戶插入卡。)自動出納機請求用戶插入卡。Yibinu UniversitySchool of Computer & Information Engi

40、neering452.確定事件確定事件 確定所有外部事件。事件包括所有來自或確定所有外部事件。事件包括所有來自或發(fā)往用戶的信息、外部設(shè)備的信號、輸入、發(fā)往用戶的信息、外部設(shè)備的信號、輸入、轉(zhuǎn)換和動作,可以發(fā)現(xiàn)正常事件,但不能轉(zhuǎn)換和動作,可以發(fā)現(xiàn)正常事件,但不能遺遺漏條件和異常事件漏條件和異常事件。Yibinu UniversitySchool of Computer & Information Engineering463 、畫出事件跟蹤圖、畫出事件跟蹤圖把腳本表示成一個事件跟蹤圖,即把腳本表示成一個事件跟蹤圖,即不同不同對象之間的事件排序表對象之間的事件排序表,對象為圖中的列,對象為

41、圖中的列,給每個對象分配一個獨立的列。圖給每個對象分配一個獨立的列。圖 6 給出了給出了銀行網(wǎng)絡(luò)系統(tǒng)的事件跟蹤圖。銀行網(wǎng)絡(luò)系統(tǒng)的事件跟蹤圖。Yibinu UniversitySchool of Computer & Information Engineering47圖圖 6Yibinu UniversitySchool of Computer & Information Engineering48圖圖 7 給出了給出了事件流圖事件流圖,它給出類之間的,它給出類之間的所有事件。事件流圖是對象圖的一個所有事件。事件流圖是對象圖的一個動態(tài)對動態(tài)對照照,對象圖中路徑反映了可能的信息流,

42、而,對象圖中路徑反映了可能的信息流,而事件流圖反映了可能的控制流。事件流圖反映了可能的控制流。Yibinu UniversitySchool of Computer & Information Engineering49Yibinu UniversitySchool of Computer & Information Engineering50 4.構(gòu)造狀態(tài)圖構(gòu)造狀態(tài)圖 對各對象類建立狀態(tài)圖,反映對象接收和對各對象類建立狀態(tài)圖,反映對象接收和發(fā)送的事件,每個事件跟蹤都對應(yīng)于狀態(tài)圖發(fā)送的事件,每個事件跟蹤都對應(yīng)于狀態(tài)圖中一條路徑。中一條路徑。Yibinu UniversitySc

43、hool of Computer & Information Engineering51在銀行網(wǎng)絡(luò)系統(tǒng)示例中,自動出納機、出納站、在銀行網(wǎng)絡(luò)系統(tǒng)示例中,自動出納機、出納站、分行和分理處對象都是分行和分理處對象都是動作對象動作對象。用來互換事件,。用來互換事件,而現(xiàn)金卡、事務(wù)和賬戶都是而現(xiàn)金卡、事務(wù)和賬戶都是被動對象被動對象,不交換事件。,不交換事件。顧客和出納員都是動作對象,它們同錄入站的顧客和出納員都是動作對象,它們同錄入站的交互作用已經(jīng)表示出來了。但顧客和出納員對象都交互作用已經(jīng)表示出來了。但顧客和出納員對象都是系統(tǒng)外部的因素,不在系統(tǒng)內(nèi)部實現(xiàn)。是系統(tǒng)外部的因素,不在系統(tǒng)內(nèi)部實現(xiàn)。

44、圖圖8給出了自動出納機的狀態(tài)圖,圖給出了自動出納機的狀態(tài)圖,圖 9 給出了給出了“分行分行”類的狀態(tài)圖,圖類的狀態(tài)圖,圖10給出了給出了“分理處分理處”類的類的狀態(tài)圖。狀態(tài)圖。Yibinu UniversitySchool of Computer & Information Engineering52Yibinu UniversitySchool of Computer & Information Engineering53Yibinu UniversitySchool of Computer & Information Engineering54Yibinu UniversitySchool of Computer & Information Engineering55系統(tǒng)分析的第七步是:建立功能模型功能模型用來說明功能模型用來說明數(shù)據(jù)是如何計算的數(shù)據(jù)是如何計算的,表明了系統(tǒng)中數(shù)據(jù)之間的依賴關(guān)系及有關(guān)的表明了系統(tǒng)中數(shù)據(jù)之間的依賴關(guān)系及有關(guān)的數(shù)據(jù)處理功能。數(shù)據(jù)處理功能。數(shù)據(jù)流圖有助于表示功能依賴關(guān)系,其數(shù)據(jù)流圖有助于表示功能依賴關(guān)系,其中的中的處理處理應(yīng)于狀態(tài)圖的應(yīng)于狀態(tài)圖的活動和動作活動和動作,其中的,其中的數(shù)據(jù)流數(shù)據(jù)流對應(yīng)于對象圖中的對應(yīng)于對象圖中的對象或?qū)傩詫ο蠡驅(qū)傩浴?Y

溫馨提示

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

評論

0/150

提交評論