軟件工程第十章_第1頁(yè)
軟件工程第十章_第2頁(yè)
軟件工程第十章_第3頁(yè)
軟件工程第十章_第4頁(yè)
軟件工程第十章_第5頁(yè)
已閱讀5頁(yè),還剩57頁(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、第十章第十章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治雒嫦驅(qū)ο蟮姆治雒嫦驅(qū)ο蠓治龅拿嫦驅(qū)ο蠓治龅哪康哪康氖菍?duì)是對(duì)客觀世界的系客觀世界的系統(tǒng)進(jìn)行建模統(tǒng)進(jìn)行建模。以前面介紹的模型概念為基礎(chǔ),。以前面介紹的模型概念為基礎(chǔ),結(jié)合結(jié)合“銀行網(wǎng)絡(luò)系統(tǒng)銀行網(wǎng)絡(luò)系統(tǒng)ATM”的具體實(shí)例來構(gòu)造的具體實(shí)例來構(gòu)造客觀世界問題的準(zhǔn)確、嚴(yán)密的分析模型??陀^世界問題的準(zhǔn)確、嚴(yán)密的分析模型。分析模型有三種用途:分析模型有三種用途:l用來明確問題需求;用來明確問題需求;l為用戶和開發(fā)人員提供明確需求;為用戶和開發(fā)人員提供明確需求;l為用戶和開發(fā)人員提供一個(gè)協(xié)商的基礎(chǔ),為用戶和開發(fā)人員提供一個(gè)協(xié)商的基礎(chǔ),作為后繼的設(shè)計(jì)和實(shí)現(xiàn)的框架。作為后繼的設(shè)

2、計(jì)和實(shí)現(xiàn)的框架。系統(tǒng)分析的第一步是:陳述需求 分析者必須同用戶一塊工作來提煉需求,分析者必須同用戶一塊工作來提煉需求,因?yàn)檫@樣才表示了用戶的真實(shí)意圖,其中涉因?yàn)檫@樣才表示了用戶的真實(shí)意圖,其中涉及對(duì)需求的分析及查找丟失的信息。及對(duì)需求的分析及查找丟失的信息。下面以下面以“銀行網(wǎng)絡(luò)系統(tǒng)銀行網(wǎng)絡(luò)系統(tǒng)”為例,用面向?yàn)槔?,用面向?qū)ο蠓椒ㄟM(jìn)行開發(fā)。對(duì)象方法進(jìn)行開發(fā)。銀行網(wǎng)絡(luò)系統(tǒng)問題陳述:設(shè)計(jì)支持銀行網(wǎng)絡(luò)的軟件,銀行網(wǎng)絡(luò)包括設(shè)計(jì)支持銀行網(wǎng)絡(luò)的軟件,銀行網(wǎng)絡(luò)包括人工人工出納站出納站和分行共享的和分行共享的自動(dòng)出納機(jī)自動(dòng)出納機(jī)。每個(gè)分理處用分理處計(jì)算機(jī)來保存各自的帳戶,每個(gè)分理處用分理處計(jì)算機(jī)來保存各自的帳戶

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

4、機(jī)準(zhǔn)備軟件,銀行網(wǎng)絡(luò)費(fèi)用根據(jù)顧客和現(xiàn)金卡的算機(jī)準(zhǔn)備軟件,銀行網(wǎng)絡(luò)費(fèi)用根據(jù)顧客和現(xiàn)金卡的數(shù)目分?jǐn)偨o各分理處。數(shù)目分?jǐn)偨o各分理處。系統(tǒng)分析的第二步是:建立對(duì)象模型l首先首先標(biāo)識(shí)和關(guān)聯(lián)標(biāo)識(shí)和關(guān)聯(lián),因?yàn)樗鼈冇绊懥苏w,因?yàn)樗鼈冇绊懥苏w結(jié)構(gòu)和解決問題的方法,結(jié)構(gòu)和解決問題的方法,l其次是增加其次是增加屬性屬性,進(jìn)一步描述類和關(guān)聯(lián),進(jìn)一步描述類和關(guān)聯(lián)的基本網(wǎng)絡(luò),使用繼承的基本網(wǎng)絡(luò),使用繼承合并和組織合并和組織類,類,l最后最后操作操作增加到類中去作為構(gòu)造動(dòng)態(tài)模增加到類中去作為構(gòu)造動(dòng)態(tài)模型和功能模型的副產(chǎn)品。型和功能模型的副產(chǎn)品。1.確定類構(gòu)造對(duì)象模型的第一步是構(gòu)造對(duì)象模型的第一步是標(biāo)出來自問題標(biāo)出來自問

5、題域的相關(guān)的對(duì)象類域的相關(guān)的對(duì)象類,對(duì)象包括物理實(shí)體和概,對(duì)象包括物理實(shí)體和概念。念。常用的識(shí)別類的方法有:名詞識(shí)別法、常用的識(shí)別類的方法有:名詞識(shí)別法、系統(tǒng)實(shí)體識(shí)別法、使用重用、從用例中識(shí)別系統(tǒng)實(shí)體識(shí)別法、使用重用、從用例中識(shí)別類等。類等。所有類在應(yīng)用中都必須有意義,在問題所有類在應(yīng)用中都必須有意義,在問題陳述中,并非所有類都是明顯給出的。有些陳述中,并非所有類都是明顯給出的。有些是隱含在問題域或一般知識(shí)中的。是隱含在問題域或一般知識(shí)中的。按圖所示的過程確定類和對(duì)象按圖所示的過程確定類和對(duì)象(1)找出候選的類與對(duì)象查找問題陳述中的所有名詞,產(chǎn)生如下查找問題陳述中的所有名詞,產(chǎn)生如下的的候選類

6、與對(duì)象候選類與對(duì)象。軟件軟件銀行網(wǎng)絡(luò)銀行網(wǎng)絡(luò)出納員出納員自動(dòng)出納機(jī)自動(dòng)出納機(jī)分行分行分處理分處理分處理計(jì)算機(jī)分處理計(jì)算機(jī)帳戶帳戶事務(wù)事務(wù)出納站出納站事務(wù)數(shù)據(jù)事務(wù)數(shù)據(jù)分行計(jì)算機(jī)分行計(jì)算機(jī)現(xiàn)金卡現(xiàn)金卡用戶用戶現(xiàn)金現(xiàn)金收據(jù)收據(jù)系統(tǒng)系統(tǒng)顧客顧客費(fèi)用費(fèi)用帳戶帳戶數(shù)據(jù)數(shù)據(jù)訪問訪問安全措施安全措施記錄保管記錄保管(2)篩選出正確的類與對(duì)象根據(jù)下列標(biāo)準(zhǔn),根據(jù)下列標(biāo)準(zhǔn),篩選出正確的類與對(duì)象篩選出正確的類與對(duì)象,去掉,去掉不必要的類和不正確的類。不必要的類和不正確的類。(1)冗余類:冗余類:若兩個(gè)類表述了同一個(gè)信息若兩個(gè)類表述了同一個(gè)信息,保留,保留最富有描述能力的類。如最富有描述能力的類。如“用戶用戶”和和“顧

7、客顧客”就是就是重復(fù)的描述,因?yàn)橹貜?fù)的描述,因?yàn)椤邦櫩皖櫩汀弊罡挥忻枋鲂裕虼吮W罡挥忻枋鲂?,因此保留它。留它。?)無關(guān)類無關(guān)類:除掉與問題沒有關(guān)系或根本無關(guān)的:除掉與問題沒有關(guān)系或根本無關(guān)的類。例如,攤派費(fèi)用超出了銀行網(wǎng)絡(luò)的范圍。類。例如,攤派費(fèi)用超出了銀行網(wǎng)絡(luò)的范圍。(3)籠統(tǒng)(模糊)類籠統(tǒng)(模糊)類:類必須是確定的,有些暫:類必須是確定的,有些暫定類邊界定義模糊或范圍太廣,如定類邊界定義模糊或范圍太廣,如“記錄保管記錄保管”就就模糊類,它是模糊類,它是“事務(wù)事務(wù)”中的一部分。中的一部分。在銀行網(wǎng)絡(luò)系統(tǒng)中,模糊類還有在銀行網(wǎng)絡(luò)系統(tǒng)中,模糊類還有“系統(tǒng)系統(tǒng)”、“安全安全措施措施”、“銀行網(wǎng)

8、絡(luò)銀行網(wǎng)絡(luò)”等。等。(4)屬性屬性:某些名詞描述的是其他對(duì)象的:某些名詞描述的是其他對(duì)象的屬性,則從暫定類中刪除。如果某一性質(zhì)的屬性,則從暫定類中刪除。如果某一性質(zhì)的獨(dú)立性很重要,就應(yīng)該把他歸屬到類,而不獨(dú)立性很重要,就應(yīng)該把他歸屬到類,而不把它作為屬性。把它作為屬性?!艾F(xiàn)金現(xiàn)金”“”“卡號(hào)卡號(hào)”“”“密碼密碼”等,應(yīng)該作為屬性對(duì)待。等,應(yīng)該作為屬性對(duì)待。屬于屬于屬性屬性的有:的有:“帳戶數(shù)據(jù)帳戶數(shù)據(jù)”、“收收據(jù)據(jù)”、“現(xiàn)金現(xiàn)金”、“事務(wù)數(shù)據(jù)事務(wù)數(shù)據(jù)”。(5)操作操作:如果問題陳述中的名詞有:如果問題陳述中的名詞有動(dòng)作含動(dòng)作含義義,則描述的操作就不是類。但是具有自身性質(zhì)而,則描述的操作就不是類

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

10、計(jì)算機(jī)分行分行出納站出納站出納員出納員分理處分理處中央計(jì)算機(jī)中央計(jì)算機(jī)自動(dòng)出納機(jī)自動(dòng)出納機(jī)賬戶賬戶現(xiàn)金卡現(xiàn)金卡事務(wù)事務(wù)顧客顧客2.準(zhǔn)備數(shù)據(jù)字典為所有建模實(shí)體準(zhǔn)備一個(gè)數(shù)據(jù)字典。準(zhǔn)為所有建模實(shí)體準(zhǔn)備一個(gè)數(shù)據(jù)字典。準(zhǔn)確描述各個(gè)類的精確含義,描述當(dāng)前問題中確描述各個(gè)類的精確含義,描述當(dāng)前問題中的類的范圍,包括對(duì)類的成員、用法方面的的類的范圍,包括對(duì)類的成員、用法方面的假設(shè)或限制。假設(shè)或限制。3.確定關(guān)聯(lián)兩個(gè)或多個(gè)類之間的兩個(gè)或多個(gè)類之間的相互依賴、相互作用相互依賴、相互作用的關(guān)的關(guān)系就是關(guān)聯(lián)。系就是關(guān)聯(lián)??捎酶鞣N方式來實(shí)現(xiàn)關(guān)聯(lián),但在分析模型中應(yīng)可用各種方式來實(shí)現(xiàn)關(guān)聯(lián),但在分析模型中應(yīng)刪除實(shí)現(xiàn)的考慮,以

11、便設(shè)計(jì)時(shí)更為靈活。刪除實(shí)現(xiàn)的考慮,以便設(shè)計(jì)時(shí)更為靈活。關(guān)聯(lián)常用關(guān)聯(lián)常用描述性動(dòng)詞或動(dòng)詞詞組描述性動(dòng)詞或動(dòng)詞詞組來表示,其中來表示,其中有物理位置的表示、傳導(dǎo)的動(dòng)作、通信、所有者關(guān)有物理位置的表示、傳導(dǎo)的動(dòng)作、通信、所有者關(guān)系、條件的滿足等。系、條件的滿足等。從問題陳述中抽取所有可能的關(guān)聯(lián)表述,把它從問題陳述中抽取所有可能的關(guān)聯(lián)表述,把它們記下來,但不要過早去細(xì)化這些表述。們記下來,但不要過早去細(xì)化這些表述。下面是銀行網(wǎng)絡(luò)系統(tǒng)中所有可能的關(guān)聯(lián),下面是銀行網(wǎng)絡(luò)系統(tǒng)中所有可能的關(guān)聯(lián),大多數(shù)是直接抽取問題中的動(dòng)詞詞組而得到大多數(shù)是直接抽取問題中的動(dòng)詞詞組而得到的。的。在陳述中,有些動(dòng)詞詞組表述的關(guān)聯(lián)是

12、在陳述中,有些動(dòng)詞詞組表述的關(guān)聯(lián)是不明顯的。不明顯的。最后,還有一些關(guān)聯(lián)與客觀世界或人的最后,還有一些關(guān)聯(lián)與客觀世界或人的假設(shè)有關(guān)假設(shè)有關(guān),必須同用戶一起核實(shí)這種關(guān)聯(lián),必須同用戶一起核實(shí)這種關(guān)聯(lián),因?yàn)檫@種關(guān)聯(lián)在問題陳述中找不到。因?yàn)檫@種關(guān)聯(lián)在問題陳述中找不到。(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ò)包括包括出納站和自動(dòng)出納機(jī);出納站和自動(dòng)出納機(jī);分行分行共享共享自動(dòng)出納機(jī);自動(dòng)出納機(jī);分理處分理處提供提供分理處計(jì)算機(jī);分理處計(jì)算機(jī);分理處計(jì)算機(jī)分理處計(jì)算機(jī)保存保存帳戶;帳戶;分理處計(jì)算機(jī)分理處計(jì)算機(jī)處理處理帳戶支付事務(wù);帳戶支付事務(wù);分理處分理處擁

13、有擁有出納站;出納站;出納站與分理處計(jì)算機(jī)出納站與分理處計(jì)算機(jī)通信通信;出納員為帳戶出納員為帳戶錄入錄入事務(wù);事務(wù);自動(dòng)出納機(jī)自動(dòng)出納機(jī)接受接受現(xiàn)金卡;現(xiàn)金卡;自動(dòng)出納機(jī)與用戶接口;自動(dòng)出納機(jī)與用戶接口;自動(dòng)出納機(jī)自動(dòng)出納機(jī)發(fā)放發(fā)放現(xiàn)金;現(xiàn)金;自動(dòng)出納機(jī)自動(dòng)出納機(jī)打印打印收據(jù);收據(jù);系統(tǒng)處理系統(tǒng)處理并發(fā)訪問并發(fā)訪問;分理處分理處提供提供軟件;軟件;費(fèi)用費(fèi)用分?jǐn)偡謹(jǐn)偨o分理處。給分理處。隱含的動(dòng)詞詞組:隱含的動(dòng)詞詞組:分行由分理處分行由分理處組成組成;分理處分理處擁有擁有帳戶;帳戶;分行分行擁有擁有分行計(jì)算機(jī);分行計(jì)算機(jī);系統(tǒng)系統(tǒng)提供提供記錄保管;記錄保管;系統(tǒng)系統(tǒng)提供提供安全;安全;顧客顧客有有

14、現(xiàn)金卡。現(xiàn)金卡?;趩栴}域知識(shí)的關(guān)聯(lián):基于問題域知識(shí)的關(guān)聯(lián):分理處分理處雇傭雇傭出納員;出納員;現(xiàn)金卡現(xiàn)金卡訪問訪問帳戶。帳戶。(2)篩選使用下列標(biāo)準(zhǔn)去掉不必要和不正確的關(guān)使用下列標(biāo)準(zhǔn)去掉不必要和不正確的關(guān)聯(lián):聯(lián):(1)若若某個(gè)類已被刪除某個(gè)類已被刪除,那么與它有關(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)也要?jiǎng)h除。關(guān)聯(lián)也要?jiǎng)h除。(2)與問題不相干的關(guān)聯(lián)或?qū)崿F(xiàn)階段的關(guān)與問題不相干的關(guān)聯(lián)或?qū)崿F(xiàn)階段的關(guān)聯(lián)聯(lián):刪除所有問題域之外的關(guān)聯(lián)或涉及實(shí)現(xiàn):刪除所有問題域之外的關(guān)聯(lián)或涉

15、及實(shí)現(xiàn)結(jié)構(gòu)中的關(guān)聯(lián)。如結(jié)構(gòu)中的關(guān)聯(lián)。如系統(tǒng)處理并發(fā)訪問系統(tǒng)處理并發(fā)訪問就是就是一種實(shí)現(xiàn)的概念。一種實(shí)現(xiàn)的概念。(3)瞬時(shí)事件)瞬時(shí)事件(動(dòng)作動(dòng)作):關(guān)聯(lián)應(yīng)該描述應(yīng)用域:關(guān)聯(lián)應(yīng)該描述應(yīng)用域的結(jié)構(gòu)性質(zhì)而不是瞬時(shí)事件,因此應(yīng)刪除的結(jié)構(gòu)性質(zhì)而不是瞬時(shí)事件,因此應(yīng)刪除“自動(dòng)出納機(jī)接受現(xiàn)金卡自動(dòng)出納機(jī)接受現(xiàn)金卡”,“自動(dòng)出納機(jī)自動(dòng)出納機(jī)與用戶接口與用戶接口”等。等。(4)派生關(guān)聯(lián):省略那些可以用其他關(guān)聯(lián)派生關(guān)聯(lián):省略那些可以用其他關(guān)聯(lián)來定義的關(guān)聯(lián)。因?yàn)檫@種關(guān)聯(lián)是冗余的。來定義的關(guān)聯(lián)。因?yàn)檫@種關(guān)聯(lián)是冗余的。銀行網(wǎng)絡(luò)系統(tǒng)的初步對(duì)象圖如圖所示。其銀行網(wǎng)絡(luò)系統(tǒng)的初步對(duì)象圖如圖所示。其中含有關(guān)聯(lián)。中含有關(guān)聯(lián)。系統(tǒng)分

16、析的第三步是:確定類屬性屬性是對(duì)象的屬性是對(duì)象的性質(zhì)性質(zhì),屬性通常用屬性通常用修飾性的修飾性的名詞詞組名詞詞組來表示來表示.只考慮與具體應(yīng)用直接相關(guān)的屬性,不只考慮與具體應(yīng)用直接相關(guān)的屬性,不要考慮那些超出問題范圍的屬性;要考慮那些超出問題范圍的屬性;找出重要屬性,避免那些只用于實(shí)現(xiàn)的找出重要屬性,避免那些只用于實(shí)現(xiàn)的屬性要為各個(gè)屬性取有意義的名字。屬性要為各個(gè)屬性取有意義的名字。按下列標(biāo)準(zhǔn)刪除不必要的和不正確的屬性:(1)誤把對(duì)象當(dāng)作屬性誤把對(duì)象當(dāng)作屬性:若實(shí)體的獨(dú)立存在:若實(shí)體的獨(dú)立存在比它的值重要,那么這個(gè)實(shí)體不是屬性而是對(duì)象。比它的值重要,那么這個(gè)實(shí)體不是屬性而是對(duì)象。如在郵政目錄中,

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

18、即為一個(gè)對(duì)象屬性,尤其是它不惟一時(shí)。一個(gè)對(duì)象屬性,尤其是它不惟一時(shí)。(4)標(biāo)識(shí)符:在考慮對(duì)象模糊性時(shí),引標(biāo)識(shí)符:在考慮對(duì)象模糊性時(shí),引入對(duì)象標(biāo)識(shí)符表示,在對(duì)象模型中不列出這入對(duì)象標(biāo)識(shí)符表示,在對(duì)象模型中不列出這些對(duì)象標(biāo)識(shí)符,它是隱含在對(duì)象模型中,只些對(duì)象標(biāo)識(shí)符,它是隱含在對(duì)象模型中,只列出存在于應(yīng)用域的屬性。列出存在于應(yīng)用域的屬性。(5)誤把內(nèi)部狀態(tài)當(dāng)成屬性:若屬性描述誤把內(nèi)部狀態(tài)當(dāng)成屬性:若屬性描述了對(duì)外不透明的對(duì)象的內(nèi)部狀態(tài),則應(yīng)從對(duì)了對(duì)外不透明的對(duì)象的內(nèi)部狀態(tài),則應(yīng)從對(duì)象模型中刪除該屬性。象模型中刪除該屬性。(6)過于細(xì)化:忽略那些不可能對(duì)大多數(shù)過于細(xì)化:忽略那些不可能對(duì)大多數(shù)操作有影響

19、的屬性。操作有影響的屬性。系統(tǒng)分析的第四步是:使用繼承來細(xì)化類1、自底而上自底而上將現(xiàn)有類的共性一般化為父類。找出具將現(xiàn)有類的共性一般化為父類。找出具有相同屬性、關(guān)聯(lián)、操作的類,來發(fā)現(xiàn)繼承。有相同屬性、關(guān)聯(lián)、操作的類,來發(fā)現(xiàn)繼承。例如:例如:“出納事務(wù)出納事務(wù)”和和“遠(yuǎn)程事務(wù)遠(yuǎn)程事務(wù)”,可以,可以將它們的共性一般化,得到父類將它們的共性一般化,得到父類“事務(wù)事務(wù)”。2、自頂而下自頂而下將現(xiàn)有類細(xì)化為更具體的子類。將現(xiàn)有類細(xì)化為更具體的子類。如:例如:菜單,可以有固定菜單,頂如:例如:菜單,可以有固定菜單,頂部菜單,彈出菜單,下拉菜單等,這就可以部菜單,彈出菜單,下拉菜單等,這就可以把菜單類具體

20、細(xì)化為各種具體菜單的子類。把菜單類具體細(xì)化為各種具體菜單的子類。當(dāng)同一關(guān)聯(lián)名出現(xiàn)多次且意義也相同時(shí),應(yīng)當(dāng)同一關(guān)聯(lián)名出現(xiàn)多次且意義也相同時(shí),應(yīng)盡量具體化為相關(guān)聯(lián)的類,盡量具體化為相關(guān)聯(lián)的類,例如例如事務(wù)事務(wù)從從出納站出納站和和自動(dòng)出納機(jī)自動(dòng)出納機(jī)進(jìn)進(jìn)入,則入,則錄入站錄入站就是就是出納站出納站和和自動(dòng)出納站自動(dòng)出納站的一般化。的一般化。系統(tǒng)分析的第五步是: 完善對(duì)象模型對(duì)象建模不可能一次就能保證模型是完對(duì)象建模不可能一次就能保證模型是完全正確的,軟件開發(fā)的整個(gè)過程就是一個(gè)不全正確的,軟件開發(fā)的整個(gè)過程就是一個(gè)不斷完善的過程。斷完善的過程。模型的不同組成部分多半是在不同的階模型的不同組成部分多半是

21、在不同的階段完成的,如果發(fā)現(xiàn)模型的缺陷,就必須返段完成的,如果發(fā)現(xiàn)模型的缺陷,就必須返回到前期階段去修改,有些細(xì)化工作是在動(dòng)回到前期階段去修改,有些細(xì)化工作是在動(dòng)態(tài)模型和功能模型完成之后才開始進(jìn)行的。態(tài)模型和功能模型完成之后才開始進(jìn)行的。(1)幾種可能丟失對(duì)象的情況及解決辦幾種可能丟失對(duì)象的情況及解決辦法:法:同一類中存在毫無關(guān)系的屬性和操作,則同一類中存在毫無關(guān)系的屬性和操作,則分解這個(gè)類,使各部分相互關(guān)聯(lián);分解這個(gè)類,使各部分相互關(guān)聯(lián);一般化體系不清楚,則可能分離扮演兩種一般化體系不清楚,則可能分離扮演兩種角色的類角色的類存在無目標(biāo)類的操作,則找出并加上失去存在無目標(biāo)類的操作,則找出并加上

22、失去目標(biāo)的類;目標(biāo)的類;存在名稱及目的相同的冗余關(guān)聯(lián),則通過存在名稱及目的相同的冗余關(guān)聯(lián),則通過一般化創(chuàng)建丟失的父類,把關(guān)聯(lián)組織在一起。一般化創(chuàng)建丟失的父類,把關(guān)聯(lián)組織在一起。(2)查找多余的類。查找多余的類。類中缺少屬性,操作和關(guān)聯(lián),則可刪除這個(gè)類中缺少屬性,操作和關(guān)聯(lián),則可刪除這個(gè)類。類。(3)查找丟失的關(guān)聯(lián)。)查找丟失的關(guān)聯(lián)。丟失了操作的訪問路徑,則加入新的關(guān)聯(lián)以丟失了操作的訪問路徑,則加入新的關(guān)聯(lián)以回答查詢?;卮鸩樵?。(4)網(wǎng)絡(luò)系統(tǒng)的具體情況作如下的修改:網(wǎng)絡(luò)系統(tǒng)的具體情況作如下的修改:現(xiàn)金卡有多個(gè)獨(dú)立的特性。把它分解為兩個(gè)現(xiàn)金卡有多個(gè)獨(dú)立的特性。把它分解為兩個(gè)對(duì)象:對(duì)象:卡片權(quán)限卡片

23、權(quán)限和和現(xiàn)金卡現(xiàn)金卡。a.卡片權(quán)限:它是銀行用來鑒別用戶訪問權(quán)限卡片權(quán)限:它是銀行用來鑒別用戶訪問權(quán)限的卡片,表示一個(gè)或多個(gè)用戶帳戶的訪問權(quán)限;各的卡片,表示一個(gè)或多個(gè)用戶帳戶的訪問權(quán)限;各個(gè)卡片權(quán)限對(duì)象中可能具有好幾個(gè)現(xiàn)金卡,每張都個(gè)卡片權(quán)限對(duì)象中可能具有好幾個(gè)現(xiàn)金卡,每張都帶有安全碼,卡片碼,它們附在現(xiàn)金卡上,表現(xiàn)銀帶有安全碼,卡片碼,它們附在現(xiàn)金卡上,表現(xiàn)銀行的卡片權(quán)限。行的卡片權(quán)限。b.現(xiàn)金卡:它是自動(dòng)出納機(jī)得到表示碼的數(shù)據(jù)現(xiàn)金卡:它是自動(dòng)出納機(jī)得到表示碼的數(shù)據(jù)卡片,它也是銀行代碼和現(xiàn)金卡代碼的數(shù)據(jù)載體??ㄆ?,它也是銀行代碼和現(xiàn)金卡代碼的數(shù)據(jù)載體。事務(wù)事務(wù)不能體現(xiàn)對(duì)帳戶之間的傳輸描述不

24、能體現(xiàn)對(duì)帳戶之間的傳輸描述的一般性,因它只涉及一個(gè)帳戶,一般來說,的一般性,因它只涉及一個(gè)帳戶,一般來說,在每個(gè)帳戶中,一個(gè)在每個(gè)帳戶中,一個(gè)事務(wù)事務(wù)包括一個(gè)或多個(gè)包括一個(gè)或多個(gè)更新更新,一個(gè),一個(gè)更新更新是對(duì)帳戶的一個(gè)動(dòng)作,它是對(duì)帳戶的一個(gè)動(dòng)作,它們是取款,存款,查詢之一。一個(gè)們是取款,存款,查詢之一。一個(gè)更新更新中中所有所有更新更新應(yīng)該是一個(gè)原子操作。應(yīng)該是一個(gè)原子操作。分行分行和和分行處理機(jī)分行處理機(jī)之間的區(qū)別似乎并之間的區(qū)別似乎并不影響分析,計(jì)算機(jī)的通信處理實(shí)際上是實(shí)不影響分析,計(jì)算機(jī)的通信處理實(shí)際上是實(shí)現(xiàn)的概念,將現(xiàn)的概念,將“中央計(jì)算機(jī)中央計(jì)算機(jī)”并入并入“總行總行”。同理,將同理

25、,將“分行計(jì)算機(jī)分行計(jì)算機(jī)”并入并入“分行分行”。系統(tǒng)分析的第六步是:建立動(dòng)態(tài)模型通常動(dòng)態(tài)模型有:事件跟蹤表、狀態(tài)圖。通常動(dòng)態(tài)模型有:事件跟蹤表、狀態(tài)圖。建立動(dòng)態(tài)模型的步驟分為建立動(dòng)態(tài)模型的步驟分為4步:步:1、準(zhǔn)備典型的對(duì)話腳本、準(zhǔn)備典型的對(duì)話腳本動(dòng)態(tài)分析從尋找事件開始,然后確定各對(duì)動(dòng)態(tài)分析從尋找事件開始,然后確定各對(duì)象的可能事件順序。在分析階段不考慮算法的象的可能事件順序。在分析階段不考慮算法的執(zhí)行,算法是實(shí)現(xiàn)模型的一部分。執(zhí)行,算法是實(shí)現(xiàn)模型的一部分。自動(dòng)出納機(jī)與用戶交互的正常情況腳本:自動(dòng)出納機(jī)與用戶交互的正常情況腳本:(1)自動(dòng)出納機(jī)請(qǐng)求用戶插入卡片;用戶插入)自動(dòng)出納機(jī)請(qǐng)求用戶插入

26、卡片;用戶插入現(xiàn)金卡。現(xiàn)金卡。(2)自動(dòng)出納機(jī)接受卡片并讀出它的卡號(hào)。)自動(dòng)出納機(jī)接受卡片并讀出它的卡號(hào)。(3)自動(dòng)出納機(jī)要求密碼,用戶鍵入密碼自動(dòng)出納機(jī)要求密碼,用戶鍵入密碼“4011”。(4)自動(dòng)出納機(jī)與總行確認(rèn)卡號(hào)和密碼;分理)自動(dòng)出納機(jī)與總行確認(rèn)卡號(hào)和密碼;分理處檢查它并通知承兌的自動(dòng)出納機(jī)。處檢查它并通知承兌的自動(dòng)出納機(jī)。(5)自動(dòng)出納機(jī)要求選擇事務(wù)類型(取款、)自動(dòng)出納機(jī)要求選擇事務(wù)類型(取款、存款、轉(zhuǎn)戶及查詢),用戶選擇取款。存款、轉(zhuǎn)戶及查詢),用戶選擇取款。(6)自動(dòng)出納機(jī)要求現(xiàn)金數(shù)量;用戶輸入¥)自動(dòng)出納機(jī)要求現(xiàn)金數(shù)量;用戶輸入¥100。(7)自動(dòng)出納機(jī)要求分行處理事務(wù);分行

27、把要)自動(dòng)出納機(jī)要求分行處理事務(wù);分行把要求轉(zhuǎn)給分理處,確認(rèn)事務(wù)成功。求轉(zhuǎn)給分理處,確認(rèn)事務(wù)成功。(8)自動(dòng)出納機(jī)分發(fā)現(xiàn)金并且要求用戶取現(xiàn))自動(dòng)出納機(jī)分發(fā)現(xiàn)金并且要求用戶取現(xiàn)金;用戶取現(xiàn)金。金;用戶取現(xiàn)金。(9)自動(dòng)出納機(jī)提示用戶是否想繼續(xù);用戶指)自動(dòng)出納機(jī)提示用戶是否想繼續(xù);用戶指出不繼續(xù)。出不繼續(xù)。(l0)自動(dòng)出納機(jī)打印收據(jù),退出卡,并請(qǐng)求)自動(dòng)出納機(jī)打印收據(jù),退出卡,并請(qǐng)求用戶取出它們;用戶拿走收據(jù)和卡。用戶取出它們;用戶拿走收據(jù)和卡。(ll)自動(dòng)出納機(jī)請(qǐng)求用戶插入。)自動(dòng)出納機(jī)請(qǐng)求用戶插入。自動(dòng)出納機(jī)與用戶交互的異常情況腳本:(1)自動(dòng)出納機(jī)請(qǐng)求用戶插入卡;用戶插入現(xiàn))自動(dòng)出納機(jī)請(qǐng)求

28、用戶插入卡;用戶插入現(xiàn)金卡。金卡。(2)自動(dòng)出納機(jī)接受卡并讀它的卡號(hào)。)自動(dòng)出納機(jī)接受卡并讀它的卡號(hào)。(3)自動(dòng)出納機(jī)要求密碼;用戶鍵入:)自動(dòng)出納機(jī)要求密碼;用戶鍵入:9999:。:。(4)自動(dòng)出納機(jī)與分行確認(rèn)卡號(hào)和密碼,在)自動(dòng)出納機(jī)與分行確認(rèn)卡號(hào)和密碼,在咨詢分理處后拒絕它。咨詢分理處后拒絕它。(5)自動(dòng)出納機(jī)指示密碼錯(cuò)并要求重新鍵入;)自動(dòng)出納機(jī)指示密碼錯(cuò)并要求重新鍵入;用戶鍵入:用戶鍵入:4011:,分行確認(rèn)成功。,分行確認(rèn)成功。(6)自動(dòng)出納機(jī)請(qǐng)求用戶選擇事務(wù)類型;)自動(dòng)出納機(jī)請(qǐng)求用戶選擇事務(wù)類型;用戶選擇取款。用戶選擇取款。(7)自動(dòng)出納機(jī)請(qǐng)求鍵入現(xiàn)金數(shù)量;用)自動(dòng)出納機(jī)請(qǐng)求鍵入

29、現(xiàn)金數(shù)量;用戶改變選擇并鍵入戶改變選擇并鍵入“CANCEL,(取消)。(取消)。(8)自動(dòng)出納機(jī)退出卡并且請(qǐng)求用戶拿)自動(dòng)出納機(jī)退出卡并且請(qǐng)求用戶拿走卡;用戶取出卡。走卡;用戶取出卡。(9)自動(dòng)出納機(jī)請(qǐng)求用戶插入卡。)自動(dòng)出納機(jī)請(qǐng)求用戶插入卡。2.確定事件確定事件確定所有外部事件。事件包括所有來自或確定所有外部事件。事件包括所有來自或發(fā)往用戶的信息、外部設(shè)備的信號(hào)、輸入、發(fā)往用戶的信息、外部設(shè)備的信號(hào)、輸入、轉(zhuǎn)換和動(dòng)作,可以發(fā)現(xiàn)正常事件,但不能轉(zhuǎn)換和動(dòng)作,可以發(fā)現(xiàn)正常事件,但不能遺遺漏條件和異常事件漏條件和異常事件。3、畫出事件跟蹤圖、畫出事件跟蹤圖把腳本表示成一個(gè)事件跟蹤圖,即把腳本表示成一

30、個(gè)事件跟蹤圖,即不同不同對(duì)象之間的事件排序表對(duì)象之間的事件排序表,對(duì)象為圖中的列,對(duì)象為圖中的列,給每個(gè)對(duì)象分配一個(gè)獨(dú)立的列。圖給每個(gè)對(duì)象分配一個(gè)獨(dú)立的列。圖6給出了給出了銀行網(wǎng)絡(luò)系統(tǒng)的事件跟蹤圖。銀行網(wǎng)絡(luò)系統(tǒng)的事件跟蹤圖。圖圖6圖圖7給出了給出了事件流圖事件流圖,它給出類之間的,它給出類之間的所有事件。事件流圖是對(duì)象圖的一個(gè)所有事件。事件流圖是對(duì)象圖的一個(gè)動(dòng)態(tài)對(duì)動(dòng)態(tài)對(duì)照照,對(duì)象圖中路徑反映了可能的信息流,而,對(duì)象圖中路徑反映了可能的信息流,而事件流圖反映了可能的控制流。事件流圖反映了可能的控制流。4.構(gòu)造狀態(tài)圖構(gòu)造狀態(tài)圖對(duì)各對(duì)象類建立狀態(tài)圖,反映對(duì)象接收和對(duì)各對(duì)象類建立狀態(tài)圖,反映對(duì)象接收和

31、發(fā)送的事件,每個(gè)事件跟蹤都對(duì)應(yīng)于狀態(tài)圖發(fā)送的事件,每個(gè)事件跟蹤都對(duì)應(yīng)于狀態(tài)圖中一條路徑。中一條路徑。在銀行網(wǎng)絡(luò)系統(tǒng)示例中,自動(dòng)出納機(jī)、出納站、在銀行網(wǎng)絡(luò)系統(tǒng)示例中,自動(dòng)出納機(jī)、出納站、分行和分理處對(duì)象都是分行和分理處對(duì)象都是動(dòng)作對(duì)象動(dòng)作對(duì)象。用來互換事件,。用來互換事件,而現(xiàn)金卡、事務(wù)和賬戶都是而現(xiàn)金卡、事務(wù)和賬戶都是被動(dòng)對(duì)象被動(dòng)對(duì)象,不交換事件。,不交換事件。顧客和出納員都是動(dòng)作對(duì)象,它們同錄入站的顧客和出納員都是動(dòng)作對(duì)象,它們同錄入站的交互作用已經(jīng)表示出來了。但顧客和出納員對(duì)象都交互作用已經(jīng)表示出來了。但顧客和出納員對(duì)象都是系統(tǒng)外部的因素,不在系統(tǒng)內(nèi)部實(shí)現(xiàn)。是系統(tǒng)外部的因素,不在系統(tǒng)內(nèi)部實(shí)現(xiàn)。圖圖8給出了自動(dòng)出納機(jī)的狀態(tài)圖,圖給出了自動(dòng)出納機(jī)的狀態(tài)圖,圖9給出了給出了“分行分行”類的狀態(tài)圖,圖類的狀態(tài)圖,圖10給出了給出了“分理處分理處”類的類的狀態(tài)圖。狀態(tài)圖。系統(tǒng)分析的第七步是:建立功能模型功能模型用來說明功能模型用來說明數(shù)據(jù)是如何計(jì)算的數(shù)據(jù)是如何計(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)圖的

溫馨提示

  • 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)論