版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第1010章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?0.1 10.1 面向?qū)ο蠓治龅幕具^(guò)程面向?qū)ο蠓治龅幕具^(guò)程10.2 10.2 需求陳述需求陳述10.3 10.3 建立對(duì)象模型建立對(duì)象模型10.4 10.4 建立動(dòng)態(tài)模型建立動(dòng)態(tài)模型10.5 10.5 建立功能模型建立功能模型10.6 10.6 定義服務(wù)定義服務(wù) 分析工作主要包括分析工作主要包括3 3項(xiàng)內(nèi)容項(xiàng)內(nèi)容v理解理解: :系統(tǒng)分析員通過(guò)用戶及領(lǐng)域?qū)<业某浞窒到y(tǒng)分析員通過(guò)用戶及領(lǐng)域?qū)<业某浞纸涣?,力求完全理解用戶需求和該?yīng)用領(lǐng)域交流,力求完全理解用戶需求和該應(yīng)用領(lǐng)域中的關(guān)鍵性背景知識(shí)中的關(guān)鍵性背景知識(shí)v表達(dá)表達(dá): :用某種無(wú)二義性的方式把這種
2、理解表達(dá)用某種無(wú)二義性的方式把這種理解表達(dá)成文檔資料,分析過(guò)程得出的最重要的文檔成文檔資料,分析過(guò)程得出的最重要的文檔資料是軟件需求規(guī)格說(shuō)明資料是軟件需求規(guī)格說(shuō)明( (主要由對(duì)象模型、主要由對(duì)象模型、動(dòng)態(tài)模型和功能模型組成動(dòng)態(tài)模型和功能模型組成) )。v驗(yàn)證驗(yàn)證: :驗(yàn)證軟件需求規(guī)格說(shuō)明的正確性、完整驗(yàn)證軟件需求規(guī)格說(shuō)明的正確性、完整性和有效性,如果發(fā)現(xiàn)了問(wèn)題則進(jìn)行修正。性和有效性,如果發(fā)現(xiàn)了問(wèn)題則進(jìn)行修正。 10.110.1面向?qū)ο蠓治龅幕具^(guò)程面向?qū)ο蠓治龅幕具^(guò)程10.1.2 310.1.2 3個(gè)子模型、個(gè)子模型、5 5個(gè)層次、個(gè)層次、 5 5項(xiàng)主要活動(dòng)項(xiàng)主要活動(dòng)v3 3個(gè)模型個(gè)模型:
3、:靜態(tài)結(jié)構(gòu)(對(duì)象模型)靜態(tài)結(jié)構(gòu)(對(duì)象模型)交互次序(動(dòng)態(tài)模型)交互次序(動(dòng)態(tài)模型)數(shù)據(jù)變換(功能模型)數(shù)據(jù)變換(功能模型)v5 5個(gè)層次:個(gè)層次: 主題層主題層類(lèi)與對(duì)象層類(lèi)與對(duì)象層結(jié)構(gòu)層結(jié)構(gòu)層屬性層屬性層服務(wù)層服務(wù)層 5 5項(xiàng)主要活動(dòng):項(xiàng)主要活動(dòng):找出類(lèi)與對(duì)象找出類(lèi)與對(duì)象識(shí)別結(jié)構(gòu)識(shí)別結(jié)構(gòu)識(shí)別主題識(shí)別主題定義屬性定義屬性定義服務(wù)定義服務(wù)v面向?qū)ο蠓治龃篌w上按照下列順序進(jìn)行:面向?qū)ο蠓治龃篌w上按照下列順序進(jìn)行:尋找類(lèi)與對(duì)象尋找類(lèi)與對(duì)象識(shí)別結(jié)構(gòu)識(shí)別結(jié)構(gòu)識(shí)別主題識(shí)別主題定義屬性定義屬性建立動(dòng)態(tài)模型建立動(dòng)態(tài)模型建立功能模型建立功能模型定義服務(wù)定義服務(wù)10.2.1 10.2.1 書(shū)寫(xiě)要點(diǎn)書(shū)寫(xiě)要點(diǎn)v需求陳述
4、的內(nèi)容包括:?jiǎn)栴}范圍,功能需求,需求陳述的內(nèi)容包括:?jiǎn)栴}范圍,功能需求,性能需求,應(yīng)用環(huán)境及假設(shè)條件等。性能需求,應(yīng)用環(huán)境及假設(shè)條件等。v書(shū)寫(xiě)需求陳述時(shí),要盡力做到語(yǔ)法正確,而書(shū)寫(xiě)需求陳述時(shí),要盡力做到語(yǔ)法正確,而且應(yīng)該慎重選用名詞、動(dòng)詞、形容詞和同義且應(yīng)該慎重選用名詞、動(dòng)詞、形容詞和同義詞。詞。v需求陳述可簡(jiǎn)可繁。需求陳述可簡(jiǎn)可繁。 v絕大多數(shù)需求陳述都是有二義性的、不完整絕大多數(shù)需求陳述都是有二義性的、不完整的、甚至不一致的。的、甚至不一致的。 10.2 10.2 需求陳述需求陳述 10.2.2 10.2.2 例子:自動(dòng)取款機(jī)(例子:自動(dòng)取款機(jī)(ATMATM)系統(tǒng),是)系統(tǒng),是本書(shū)講述面向
5、對(duì)象分析和面向?qū)ο笤O(shè)計(jì)時(shí)使本書(shū)講述面向?qū)ο蠓治龊兔嫦驅(qū)ο笤O(shè)計(jì)時(shí)使用的一個(gè)實(shí)例。用的一個(gè)實(shí)例。 某銀行擬開(kāi)發(fā)一個(gè)自動(dòng)取款機(jī)系統(tǒng),它是一個(gè)由自某銀行擬開(kāi)發(fā)一個(gè)自動(dòng)取款機(jī)系統(tǒng),它是一個(gè)由自動(dòng)取款機(jī)、中央計(jì)算機(jī)、分行計(jì)算機(jī)及柜員終端組成的動(dòng)取款機(jī)、中央計(jì)算機(jī)、分行計(jì)算機(jī)及柜員終端組成的網(wǎng)絡(luò)系統(tǒng)。網(wǎng)絡(luò)系統(tǒng)。ATMATM和中央計(jì)算機(jī)由總行投資購(gòu)買(mǎi)??傂袚碛泻椭醒胗?jì)算機(jī)由總行投資購(gòu)買(mǎi)??傂袚碛卸嗯_(tái)多臺(tái)ATMATM,分別設(shè)在全市各主要街道上。分行負(fù)責(zé)提供分,分別設(shè)在全市各主要街道上。分行負(fù)責(zé)提供分行計(jì)算機(jī)和柜員終端。柜員終端設(shè)在分行營(yíng)業(yè)廳及分行行計(jì)算機(jī)和柜員終端。柜員終端設(shè)在分行營(yíng)業(yè)廳及分行下屬的各個(gè)儲(chǔ)蓄所內(nèi)
6、。該系統(tǒng)的軟件開(kāi)發(fā)成本由各個(gè)分下屬的各個(gè)儲(chǔ)蓄所內(nèi)。該系統(tǒng)的軟件開(kāi)發(fā)成本由各個(gè)分行分?jǐn)?。行分?jǐn)偂?某銀行柜員使用柜員終端處理儲(chǔ)戶提交的儲(chǔ)蓄事務(wù)某銀行柜員使用柜員終端處理儲(chǔ)戶提交的儲(chǔ)蓄事務(wù)。儲(chǔ)戶可以用現(xiàn)金或支票向自己擁有的某個(gè)帳戶內(nèi)存款。儲(chǔ)戶可以用現(xiàn)金或支票向自己擁有的某個(gè)帳戶內(nèi)存款或開(kāi)新帳戶。儲(chǔ)戶也可以從自己的帳戶中取款。通常,或開(kāi)新帳戶。儲(chǔ)戶也可以從自己的帳戶中取款。通常,一個(gè)儲(chǔ)戶可能擁有多個(gè)帳戶。柜員負(fù)責(zé)把儲(chǔ)戶提交的存一個(gè)儲(chǔ)戶可能擁有多個(gè)帳戶。柜員負(fù)責(zé)把儲(chǔ)戶提交的存款或取款事務(wù)輸進(jìn)柜員終端,接收儲(chǔ)戶交來(lái)的現(xiàn)金和支款或取款事務(wù)輸進(jìn)柜員終端,接收儲(chǔ)戶交來(lái)的現(xiàn)金和支票,或付給儲(chǔ)戶現(xiàn)金。柜員終端與相
7、應(yīng)的分行計(jì)算機(jī)通票,或付給儲(chǔ)戶現(xiàn)金。柜員終端與相應(yīng)的分行計(jì)算機(jī)通信,分行計(jì)算機(jī)具體處理針對(duì)某個(gè)帳戶的事務(wù),并且維信,分行計(jì)算機(jī)具體處理針對(duì)某個(gè)帳戶的事務(wù),并且維護(hù)帳戶。護(hù)帳戶。 擁有銀行帳戶的儲(chǔ)戶有權(quán)申請(qǐng)領(lǐng)取現(xiàn)金擁有銀行帳戶的儲(chǔ)戶有權(quán)申請(qǐng)領(lǐng)取現(xiàn)金兌換卡。使用現(xiàn)金兌換卡可以通過(guò)兌換卡。使用現(xiàn)金兌換卡可以通過(guò)ATMATM訪問(wèn)自己的帳戶訪問(wèn)自己的帳戶。目前僅限于用現(xiàn)金兌換卡在。目前僅限于用現(xiàn)金兌換卡在ATMATM上提取現(xiàn)金(即取款上提取現(xiàn)金(即取款),或查詢(xún)有關(guān)自己帳戶的信息(例如,某個(gè)指定帳戶),或查詢(xún)有關(guān)自己帳戶的信息(例如,某個(gè)指定帳戶的余額)。將來(lái)可能還要求使用的余額)。將來(lái)可能還要求使用A
8、TMATM辦理轉(zhuǎn)帳、存款等辦理轉(zhuǎn)帳、存款等事務(wù)。事務(wù)。 所謂現(xiàn)金兌換卡就是一張?zhí)刂频拇趴?,上面有分行所謂現(xiàn)金兌換卡就是一張?zhí)刂频拇趴?,上面有分行代碼和卡號(hào)。分行代碼唯一標(biāo)識(shí)總行下屬的一個(gè)分行,代碼和卡號(hào)。分行代碼唯一標(biāo)識(shí)總行下屬的一個(gè)分行,卡號(hào)確定了這張卡可以訪問(wèn)哪些帳戶。通常,一張卡可卡號(hào)確定了這張卡可以訪問(wèn)哪些帳戶。通常,一張卡可以訪問(wèn)儲(chǔ)戶的若干帳戶,但是并不一定能訪問(wèn)這個(gè)儲(chǔ)戶以訪問(wèn)儲(chǔ)戶的若干帳戶,但是并不一定能訪問(wèn)這個(gè)儲(chǔ)戶的全部帳戶。每張現(xiàn)金兌換卡僅屬于一個(gè)儲(chǔ)戶所有,但的全部帳戶。每張現(xiàn)金兌換卡僅屬于一個(gè)儲(chǔ)戶所有,但是,同一張卡可能有多個(gè)副本,因此,必須考慮同時(shí)在是,同一張卡可能有多個(gè)副
9、本,因此,必須考慮同時(shí)在若干臺(tái)若干臺(tái)ATMATM上使用同樣的現(xiàn)金兌換卡的可能性。也就是上使用同樣的現(xiàn)金兌換卡的可能性。也就是說(shuō),系統(tǒng)應(yīng)該能夠處理并發(fā)的訪問(wèn)。說(shuō),系統(tǒng)應(yīng)該能夠處理并發(fā)的訪問(wèn)。 當(dāng)用戶把現(xiàn)金兌換卡插入當(dāng)用戶把現(xiàn)金兌換卡插入ATMATM后,后,ATMATM就與用戶就與用戶交互,以獲取有關(guān)這次事務(wù)的信息,并與中央計(jì)算交互,以獲取有關(guān)這次事務(wù)的信息,并與中央計(jì)算機(jī)交換關(guān)于事務(wù)的信息。首先,機(jī)交換關(guān)于事務(wù)的信息。首先,ATMATM要求用戶輸入密要求用戶輸入密碼,接下來(lái),碼,接下來(lái),ATMATM把從這張卡上讀到的信息以及用戶把從這張卡上讀到的信息以及用戶輸入的密碼傳給中央計(jì)算機(jī),請(qǐng)求中央計(jì)算
10、機(jī)核對(duì)輸入的密碼傳給中央計(jì)算機(jī),請(qǐng)求中央計(jì)算機(jī)核對(duì)這些信息并處理這次事務(wù)。中央計(jì)算機(jī)根據(jù)卡上的這些信息并處理這次事務(wù)。中央計(jì)算機(jī)根據(jù)卡上的分行代碼確定這次事務(wù)與分行的對(duì)應(yīng)關(guān)系,并且委分行代碼確定這次事務(wù)與分行的對(duì)應(yīng)關(guān)系,并且委托相應(yīng)的分行計(jì)算機(jī)驗(yàn)證用戶密碼。如果用戶輸入托相應(yīng)的分行計(jì)算機(jī)驗(yàn)證用戶密碼。如果用戶輸入的密碼是正確的,的密碼是正確的,ATMATM就要求用戶選擇事務(wù)類(lèi)型(取就要求用戶選擇事務(wù)類(lèi)型(取款、查詢(xún)等)。當(dāng)用戶選擇取款時(shí),款、查詢(xún)等)。當(dāng)用戶選擇取款時(shí),ATMATM請(qǐng)求用戶輸請(qǐng)求用戶輸入取款額。最后,入取款額。最后,ATMATM從現(xiàn)金出口吐出現(xiàn)金,并且打從現(xiàn)金出口吐出現(xiàn)金,并且
11、打印出帳單交給用戶。印出帳單交給用戶。10.3 10.3 建立對(duì)象模型建立對(duì)象模型 10.3.1 10.3.1 確定類(lèi)與對(duì)象確定類(lèi)與對(duì)象1.1.找出候選的類(lèi)與對(duì)象找出候選的類(lèi)與對(duì)象 對(duì)象是對(duì)問(wèn)題域中有意義的事物的對(duì)象是對(duì)問(wèn)題域中有意義的事物的抽象,它們既可能是物理實(shí)體,也可能抽象,它們既可能是物理實(shí)體,也可能是抽象概念。具體地說(shuō),大多數(shù)客觀事是抽象概念。具體地說(shuō),大多數(shù)客觀事物可分為下述物可分為下述5 5類(lèi)。類(lèi)。v可感知的物理實(shí)體,例如,飛機(jī)、汽可感知的物理實(shí)體,例如,飛機(jī)、汽車(chē)、書(shū)、房屋等等。車(chē)、書(shū)、房屋等等。v人或組織的角色,例如,醫(yī)生、教師、人或組織的角色,例如,醫(yī)生、教師、雇主、雇員、
12、計(jì)算機(jī)系、財(cái)務(wù)處等等。雇主、雇員、計(jì)算機(jī)系、財(cái)務(wù)處等等。v應(yīng)該記憶的時(shí)間,例如,飛行、演出、應(yīng)該記憶的時(shí)間,例如,飛行、演出、訪問(wèn)、交通事故等等。訪問(wèn)、交通事故等等。v兩個(gè)或多個(gè)對(duì)象的相互作用,通常具兩個(gè)或多個(gè)對(duì)象的相互作用,通常具有交易或接觸的性質(zhì),例如,購(gòu)買(mǎi)、有交易或接觸的性質(zhì),例如,購(gòu)買(mǎi)、納稅、結(jié)婚等等。納稅、結(jié)婚等等。v需要說(shuō)明的概念,例如,政策、版權(quán)需要說(shuō)明的概念,例如,政策、版權(quán)法等等。法等等。 以自然語(yǔ)言書(shū)寫(xiě)的需求陳述為依據(jù),把以自然語(yǔ)言書(shū)寫(xiě)的需求陳述為依據(jù),把陳述中的名詞作為類(lèi)與對(duì)象的候選者陳述中的名詞作為類(lèi)與對(duì)象的候選者 形容詞作為確定屬性的線索形容詞作為確定屬性的線索 動(dòng)詞
13、作為服務(wù)(操作)的候選者動(dòng)詞作為服務(wù)(操作)的候選者 某某銀行擬開(kāi)發(fā)一個(gè)銀行擬開(kāi)發(fā)一個(gè)(2)(2)自動(dòng)取款機(jī)自動(dòng)取款機(jī)(3)(3)系統(tǒng),它系統(tǒng),它是一個(gè)由自動(dòng)取款機(jī)、是一個(gè)由自動(dòng)取款機(jī)、(4)(4)中央計(jì)算機(jī)、中央計(jì)算機(jī)、(5)(5)分行計(jì)算分行計(jì)算機(jī)及機(jī)及(6)(6)柜員終端組成的柜員終端組成的(7)(7)網(wǎng)絡(luò)系統(tǒng)。網(wǎng)絡(luò)系統(tǒng)。ATMATM和中央計(jì)和中央計(jì)算機(jī)由算機(jī)由(8)(8)總行投資購(gòu)買(mǎi)。總行擁有多臺(tái)總行投資購(gòu)買(mǎi)。總行擁有多臺(tái)ATMATM,分別,分別設(shè)在全設(shè)在全(9)(9)市各主要市各主要(10)(10)街道上。街道上。(11)(11)分行負(fù)責(zé)提供分分行負(fù)責(zé)提供分行計(jì)算機(jī)和柜員終端。柜員終
14、端設(shè)在分行行計(jì)算機(jī)和柜員終端。柜員終端設(shè)在分行(12)(12)營(yíng)業(yè)廳營(yíng)業(yè)廳及分行下屬的各個(gè)及分行下屬的各個(gè)(13)(13)儲(chǔ)蓄所內(nèi)。該系統(tǒng)的儲(chǔ)蓄所內(nèi)。該系統(tǒng)的(14)(14)軟件軟件開(kāi)發(fā)開(kāi)發(fā)(15)(15)成本由各個(gè)分行分?jǐn)偂3杀居筛鱾€(gè)分行分?jǐn)偂?某銀行某銀行(16)(16)柜員使用柜員終端處理柜員使用柜員終端處理(17)(17)儲(chǔ)戶提交儲(chǔ)戶提交的儲(chǔ)蓄的儲(chǔ)蓄(18)(18)事務(wù)。儲(chǔ)戶可以用事務(wù)。儲(chǔ)戶可以用(19)(19)現(xiàn)金或現(xiàn)金或(20)(20)支票向自支票向自己擁有的某個(gè)己擁有的某個(gè)(21)(21)帳戶內(nèi)存款或開(kāi)新帳戶。儲(chǔ)戶也可帳戶內(nèi)存款或開(kāi)新帳戶。儲(chǔ)戶也可以從自己的帳戶中取款。通常,一個(gè)
15、儲(chǔ)戶可能擁有以從自己的帳戶中取款。通常,一個(gè)儲(chǔ)戶可能擁有多個(gè)帳戶。柜員負(fù)責(zé)把儲(chǔ)戶提交的存款或取款事務(wù)多個(gè)帳戶。柜員負(fù)責(zé)把儲(chǔ)戶提交的存款或取款事務(wù)輸進(jìn)柜員終端,接收儲(chǔ)戶交來(lái)的現(xiàn)金和支票,或付輸進(jìn)柜員終端,接收儲(chǔ)戶交來(lái)的現(xiàn)金和支票,或付給儲(chǔ)戶現(xiàn)金。柜員終端與相應(yīng)的分行計(jì)算機(jī)通信,給儲(chǔ)戶現(xiàn)金。柜員終端與相應(yīng)的分行計(jì)算機(jī)通信,分行計(jì)算機(jī)具體處理針對(duì)某個(gè)帳戶的事務(wù),并且維分行計(jì)算機(jī)具體處理針對(duì)某個(gè)帳戶的事務(wù),并且維護(hù)帳戶。護(hù)帳戶。 擁有銀行帳戶的儲(chǔ)戶有權(quán)申請(qǐng)領(lǐng)取擁有銀行帳戶的儲(chǔ)戶有權(quán)申請(qǐng)領(lǐng)取(22)(22)現(xiàn)金兌換現(xiàn)金兌換卡。使用現(xiàn)金兌換卡可以通過(guò)卡。使用現(xiàn)金兌換卡可以通過(guò)ATMATM訪問(wèn)自己的帳戶。訪
16、問(wèn)自己的帳戶。目前僅限于用現(xiàn)金兌換卡在目前僅限于用現(xiàn)金兌換卡在ATMATM上提取現(xiàn)金(即取上提取現(xiàn)金(即取款),或查詢(xún)有關(guān)自己帳戶的信息(例如,某個(gè)指款),或查詢(xún)有關(guān)自己帳戶的信息(例如,某個(gè)指定帳戶的定帳戶的(23)(23)余額)。將來(lái)可能還要求使用余額)。將來(lái)可能還要求使用ATMATM辦理辦理轉(zhuǎn)帳、存款等事務(wù)。轉(zhuǎn)帳、存款等事務(wù)。 所謂現(xiàn)金兌換卡就是一張?zhí)刂频乃^現(xiàn)金兌換卡就是一張?zhí)刂频?24)(24)磁卡,上面磁卡,上面有有(25)(25)分行代碼和分行代碼和(26)(26)卡號(hào)。分行代碼唯一標(biāo)識(shí)總行卡號(hào)。分行代碼唯一標(biāo)識(shí)總行下屬的一個(gè)分行,卡號(hào)確定了這張卡可以訪問(wèn)哪些下屬的一個(gè)分行,卡號(hào)
17、確定了這張卡可以訪問(wèn)哪些帳戶。通常,一張卡可以訪問(wèn)儲(chǔ)戶的若干帳戶,但帳戶。通常,一張卡可以訪問(wèn)儲(chǔ)戶的若干帳戶,但是并不一定能訪問(wèn)這個(gè)儲(chǔ)戶的全部帳戶。每張現(xiàn)金是并不一定能訪問(wèn)這個(gè)儲(chǔ)戶的全部帳戶。每張現(xiàn)金兌換卡僅屬于一個(gè)儲(chǔ)戶所有,但是,同一張卡可能兌換卡僅屬于一個(gè)儲(chǔ)戶所有,但是,同一張卡可能有多個(gè)有多個(gè)(27)(27)副本,因此,必須考慮同時(shí)在若干臺(tái)副本,因此,必須考慮同時(shí)在若干臺(tái)ATMATM上使用同樣的現(xiàn)金兌換卡的可能性。也就是說(shuō),系上使用同樣的現(xiàn)金兌換卡的可能性。也就是說(shuō),系統(tǒng)應(yīng)該能夠處理并發(fā)的統(tǒng)應(yīng)該能夠處理并發(fā)的(28)(28)訪問(wèn)。訪問(wèn)。 當(dāng)當(dāng)(29)(29)用戶把現(xiàn)金兌換卡插入用戶把現(xiàn)金
18、兌換卡插入ATMATM后,后,ATMATM就與用就與用戶交互,以獲取有關(guān)這次事務(wù)的戶交互,以獲取有關(guān)這次事務(wù)的(30)(30)信息,并與中央信息,并與中央計(jì)算機(jī)交換關(guān)于事務(wù)的信息。首先,計(jì)算機(jī)交換關(guān)于事務(wù)的信息。首先,ATMATM要求用戶輸要求用戶輸入入(31)(31)密碼,接下來(lái),密碼,接下來(lái),ATMATM把從這張卡上讀到的信息以把從這張卡上讀到的信息以及用戶輸入的密碼傳給中央計(jì)算機(jī),請(qǐng)求中央計(jì)算機(jī)及用戶輸入的密碼傳給中央計(jì)算機(jī),請(qǐng)求中央計(jì)算機(jī)核對(duì)這些信息并處理這次事務(wù)。中央計(jì)算機(jī)根據(jù)卡上核對(duì)這些信息并處理這次事務(wù)。中央計(jì)算機(jī)根據(jù)卡上的分行代碼確定這次事務(wù)與分行的對(duì)應(yīng)關(guān)系,并且委的分行代碼確
19、定這次事務(wù)與分行的對(duì)應(yīng)關(guān)系,并且委托相應(yīng)的分行計(jì)算機(jī)驗(yàn)證用戶密碼。如果用戶輸入的托相應(yīng)的分行計(jì)算機(jī)驗(yàn)證用戶密碼。如果用戶輸入的密碼是正確的,密碼是正確的,ATMATM就要求用戶選擇事務(wù)就要求用戶選擇事務(wù)(32)(32)類(lèi)型(取類(lèi)型(取款、查詢(xún)等)。當(dāng)用戶選擇取款時(shí),款、查詢(xún)等)。當(dāng)用戶選擇取款時(shí),ATMATM請(qǐng)求用戶輸請(qǐng)求用戶輸入入(33)(33)取款額。最后,取款額。最后,ATMATM從現(xiàn)金出口吐出現(xiàn)金,并且從現(xiàn)金出口吐出現(xiàn)金,并且打印出打印出(34)(34)帳單交給用戶。帳單交給用戶。銀行銀行 自動(dòng)取款機(jī)(自動(dòng)取款機(jī)(ATMATM) 系統(tǒng)系統(tǒng) 中央計(jì)算機(jī)中央計(jì)算機(jī) 分行計(jì)算機(jī)分行計(jì)算機(jī) 柜
20、員終端柜員終端 網(wǎng)絡(luò)網(wǎng)絡(luò) 總行總行 市市 街道街道 分行分行 營(yíng)業(yè)廳營(yíng)業(yè)廳 儲(chǔ)蓄所儲(chǔ)蓄所 軟件軟件 成本成本柜員柜員 儲(chǔ)戶儲(chǔ)戶 事務(wù)事務(wù)現(xiàn)金現(xiàn)金 支票支票 帳戶帳戶現(xiàn)金兌換卡現(xiàn)金兌換卡 余額余額 磁卡磁卡分行代碼分行代碼 卡號(hào)卡號(hào) 副本副本訪問(wèn)訪問(wèn) 用戶用戶 信息信息密碼密碼 類(lèi)型類(lèi)型 取款額取款額帳單帳單 冗余冗余無(wú)關(guān)無(wú)關(guān)籠統(tǒng)籠統(tǒng)屬性屬性ATM ATM 中央計(jì)算機(jī)中央計(jì)算機(jī) 分行計(jì)算機(jī)分行計(jì)算機(jī)柜員終端柜員終端 總行總行 分行分行柜員柜員 儲(chǔ)戶儲(chǔ)戶 帳戶帳戶現(xiàn)金兌換卡現(xiàn)金兌換卡 事務(wù)事務(wù) ( (柜員、遠(yuǎn)程柜員、遠(yuǎn)程) )10.3.2 10.3.2 確定關(guān)聯(lián)確定關(guān)聯(lián)1.1.初步確定關(guān)聯(lián)初步確定
21、關(guān)聯(lián)v在初步確定關(guān)聯(lián)時(shí),可以通過(guò)直接提取在初步確定關(guān)聯(lián)時(shí),可以通過(guò)直接提取需求陳述中的動(dòng)詞詞組而得出。需求陳述中的動(dòng)詞詞組而得出。v通過(guò)分析需求陳述,還能發(fā)現(xiàn)一些在陳通過(guò)分析需求陳述,還能發(fā)現(xiàn)一些在陳述中隱含的關(guān)聯(lián)。述中隱含的關(guān)聯(lián)。v分析員還應(yīng)該與用戶及領(lǐng)域?qū)<矣懻搯?wèn)分析員還應(yīng)該與用戶及領(lǐng)域?qū)<矣懻搯?wèn)題域?qū)嶓w間的相互依賴(lài)、相互作用的關(guān)題域?qū)嶓w間的相互依賴(lài)、相互作用的關(guān)系,根據(jù)領(lǐng)域知識(shí)再進(jìn)一步補(bǔ)充一些關(guān)系,根據(jù)領(lǐng)域知識(shí)再進(jìn)一步補(bǔ)充一些關(guān)聯(lián)。聯(lián)。 某銀行擬開(kāi)發(fā)一個(gè)自動(dòng)取款機(jī)系統(tǒng),它是一個(gè)由某銀行擬開(kāi)發(fā)一個(gè)自動(dòng)取款機(jī)系統(tǒng),它是一個(gè)由(1)(1)自動(dòng)取款機(jī)、中央計(jì)算機(jī)、分行計(jì)算機(jī)及柜員終端自動(dòng)取款機(jī)、
22、中央計(jì)算機(jī)、分行計(jì)算機(jī)及柜員終端組成組成的網(wǎng)絡(luò)系統(tǒng)。的網(wǎng)絡(luò)系統(tǒng)。ATMATM和中央計(jì)算機(jī)由總行投資購(gòu)買(mǎi)。和中央計(jì)算機(jī)由總行投資購(gòu)買(mǎi)。 (2)(2)總行擁有多臺(tái)總行擁有多臺(tái)ATMATM,(3)(3)分別分別設(shè)設(shè)在全市各主要街道上。在全市各主要街道上。 (4)(4)分行負(fù)責(zé)提供分行計(jì)算機(jī)和柜員終端。分行負(fù)責(zé)提供分行計(jì)算機(jī)和柜員終端。(5)(5)柜員終端柜員終端設(shè)設(shè)在分行營(yíng)業(yè)廳及分行下屬的各個(gè)儲(chǔ)蓄所內(nèi)。該系統(tǒng)在分行營(yíng)業(yè)廳及分行下屬的各個(gè)儲(chǔ)蓄所內(nèi)。該系統(tǒng)的的(6)(6)軟件開(kāi)發(fā)成本由各個(gè)分行軟件開(kāi)發(fā)成本由各個(gè)分行分?jǐn)偡謹(jǐn)偂?(7)(7)某銀行柜員某銀行柜員使用使用柜員終端處理儲(chǔ)戶提交的儲(chǔ)蓄事務(wù)柜員終端
23、處理儲(chǔ)戶提交的儲(chǔ)蓄事務(wù)。儲(chǔ)戶可以用現(xiàn)金或支票向自己擁有的某個(gè)帳戶內(nèi)存。儲(chǔ)戶可以用現(xiàn)金或支票向自己擁有的某個(gè)帳戶內(nèi)存款或開(kāi)新帳戶。儲(chǔ)戶也可以從自己的帳戶中取款。通款或開(kāi)新帳戶。儲(chǔ)戶也可以從自己的帳戶中取款。通常,常,(8)(8)一個(gè)儲(chǔ)戶可能一個(gè)儲(chǔ)戶可能擁有擁有多個(gè)帳戶。柜員負(fù)責(zé)把儲(chǔ)戶多個(gè)帳戶。柜員負(fù)責(zé)把儲(chǔ)戶提交的存款或取款事務(wù)輸進(jìn)柜員終端,接收儲(chǔ)戶交來(lái)提交的存款或取款事務(wù)輸進(jìn)柜員終端,接收儲(chǔ)戶交來(lái)的現(xiàn)金和支票,或付給儲(chǔ)戶現(xiàn)金。的現(xiàn)金和支票,或付給儲(chǔ)戶現(xiàn)金。(9)(9)柜員終端與相應(yīng)柜員終端與相應(yīng)的分行計(jì)算機(jī)通信,的分行計(jì)算機(jī)通信,(10)(10)分行計(jì)算機(jī)具體處理針對(duì)某個(gè)分行計(jì)算機(jī)具體處理針對(duì)某
24、個(gè)帳戶的事務(wù),帳戶的事務(wù),(11)(11)并且維護(hù)帳戶。并且維護(hù)帳戶。 擁有銀行帳戶的儲(chǔ)戶有權(quán)申請(qǐng)領(lǐng)取現(xiàn)金兌換卡。擁有銀行帳戶的儲(chǔ)戶有權(quán)申請(qǐng)領(lǐng)取現(xiàn)金兌換卡。使用現(xiàn)金兌換卡可以通過(guò)使用現(xiàn)金兌換卡可以通過(guò)ATMATM訪問(wèn)自己的帳戶。目前僅訪問(wèn)自己的帳戶。目前僅限于用現(xiàn)金兌換卡在限于用現(xiàn)金兌換卡在ATMATM上提取現(xiàn)金(即取款),或查上提取現(xiàn)金(即取款),或查詢(xún)有關(guān)自己帳戶的信息(例如,某個(gè)指定帳戶的余額詢(xún)有關(guān)自己帳戶的信息(例如,某個(gè)指定帳戶的余額)。將來(lái)可能還要求使用)。將來(lái)可能還要求使用ATMATM辦理轉(zhuǎn)帳、存款等事務(wù)。辦理轉(zhuǎn)帳、存款等事務(wù)。 所謂現(xiàn)金兌換卡就是一張?zhí)刂频拇趴ǎ厦嬗蟹炙^現(xiàn)金
25、兌換卡就是一張?zhí)刂频拇趴ǎ厦嬗蟹中写a和卡號(hào)。分行代碼唯一標(biāo)識(shí)總行下屬的一個(gè)分行代碼和卡號(hào)。分行代碼唯一標(biāo)識(shí)總行下屬的一個(gè)分行,卡號(hào)確定了這張卡可以訪問(wèn)哪些帳戶。通常,一行,卡號(hào)確定了這張卡可以訪問(wèn)哪些帳戶。通常,一張卡可以訪問(wèn)儲(chǔ)戶的若干帳戶,但是并不一定能訪問(wèn)張卡可以訪問(wèn)儲(chǔ)戶的若干帳戶,但是并不一定能訪問(wèn)這個(gè)儲(chǔ)戶的全部帳戶。每張現(xiàn)金兌換卡僅屬于一個(gè)儲(chǔ)這個(gè)儲(chǔ)戶的全部帳戶。每張現(xiàn)金兌換卡僅屬于一個(gè)儲(chǔ)戶所有,但是,同一張卡可能有多個(gè)副本,因此,必戶所有,但是,同一張卡可能有多個(gè)副本,因此,必須考慮同時(shí)在若干臺(tái)須考慮同時(shí)在若干臺(tái)ATMATM上使用同樣的現(xiàn)金兌換卡的可上使用同樣的現(xiàn)金兌換卡的可能性。
26、也就是說(shuō),能性。也就是說(shuō),(12)(12)系統(tǒng)應(yīng)該能夠處理系統(tǒng)應(yīng)該能夠處理并發(fā)并發(fā)的訪問(wèn)。的訪問(wèn)。 當(dāng)用戶把現(xiàn)金兌換卡插入當(dāng)用戶把現(xiàn)金兌換卡插入ATMATM后,后,(13)(13)ATMATM就與用戶就與用戶交互,以獲取有關(guān)這次事務(wù)的信息,并與中央計(jì)算機(jī)交互,以獲取有關(guān)這次事務(wù)的信息,并與中央計(jì)算機(jī)交換關(guān)于事務(wù)的信息。首先,交換關(guān)于事務(wù)的信息。首先,ATMATM要求用戶輸入密碼,要求用戶輸入密碼,接下來(lái),接下來(lái),(14)(14)ATMATM把從這張卡上讀到的信息以及用戶輸入把從這張卡上讀到的信息以及用戶輸入的密碼傳給中央計(jì)算機(jī),請(qǐng)求中央計(jì)算機(jī)核對(duì)這些信的密碼傳給中央計(jì)算機(jī),請(qǐng)求中央計(jì)算機(jī)核對(duì)這
27、些信息并處理這次事務(wù)。息并處理這次事務(wù)。(15)(15)中央計(jì)算機(jī)根據(jù)卡上的分行代中央計(jì)算機(jī)根據(jù)卡上的分行代碼確定這次事務(wù)與分行的對(duì)應(yīng)關(guān)系,并且委托相應(yīng)的碼確定這次事務(wù)與分行的對(duì)應(yīng)關(guān)系,并且委托相應(yīng)的分行計(jì)算機(jī)驗(yàn)證用戶密碼。如果用戶輸入的密碼是正分行計(jì)算機(jī)驗(yàn)證用戶密碼。如果用戶輸入的密碼是正確的,確的,ATMATM就要求用戶選擇事務(wù)類(lèi)型(取款、查詢(xún)等)就要求用戶選擇事務(wù)類(lèi)型(取款、查詢(xún)等)。當(dāng)用戶選擇取款時(shí),。當(dāng)用戶選擇取款時(shí),(16)(16)ATMATM請(qǐng)求用戶輸入取款額。最請(qǐng)求用戶輸入取款額。最后,后,(17)(17)ATMATM從現(xiàn)金出口從現(xiàn)金出口吐出吐出現(xiàn)金,現(xiàn)金,(18)(18)并且
28、并且打印打印出帳單出帳單交給用戶。交給用戶。以以ATMATM系統(tǒng)為例,經(jīng)過(guò)分析初步確定出下列關(guān)系統(tǒng)為例,經(jīng)過(guò)分析初步確定出下列關(guān)聯(lián):聯(lián):(1 1)直接提取動(dòng)詞短語(yǔ)得出的關(guān)聯(lián))直接提取動(dòng)詞短語(yǔ)得出的關(guān)聯(lián)ATMATM、中央計(jì)算機(jī)、分行計(jì)算機(jī)及柜員終、中央計(jì)算機(jī)、分行計(jì)算機(jī)及柜員終端組成的網(wǎng)絡(luò)端組成的網(wǎng)絡(luò)總行擁有多臺(tái)總行擁有多臺(tái)ATMATMATMATM設(shè)在主要街道上設(shè)在主要街道上分行提供分行計(jì)算機(jī)和柜員終端分行提供分行計(jì)算機(jī)和柜員終端柜員終端設(shè)在分行營(yíng)業(yè)廳及儲(chǔ)蓄所內(nèi)柜員終端設(shè)在分行營(yíng)業(yè)廳及儲(chǔ)蓄所內(nèi)分行分?jǐn)傑浖_(kāi)發(fā)成本分行分?jǐn)傑浖_(kāi)發(fā)成本儲(chǔ)戶擁有帳戶儲(chǔ)戶擁有帳戶分行計(jì)算機(jī)處理針對(duì)帳戶的事務(wù)分行計(jì)算機(jī)處
29、理針對(duì)帳戶的事務(wù)分行計(jì)算機(jī)維護(hù)帳戶分行計(jì)算機(jī)維護(hù)帳戶柜員終端與分行計(jì)算機(jī)通信柜員終端與分行計(jì)算機(jī)通信柜員輸入針對(duì)帳戶的事務(wù)柜員輸入針對(duì)帳戶的事務(wù)ATMATM與中央計(jì)算機(jī)交換關(guān)于事務(wù)的信息與中央計(jì)算機(jī)交換關(guān)于事務(wù)的信息中央計(jì)算機(jī)確定事務(wù)與分行的對(duì)應(yīng)關(guān)系中央計(jì)算機(jī)確定事務(wù)與分行的對(duì)應(yīng)關(guān)系 ATMATM讀現(xiàn)金兌換卡讀現(xiàn)金兌換卡ATMATM與用戶交互與用戶交互ATMATM吐出現(xiàn)金吐出現(xiàn)金ATMATM打印賬單打印賬單系統(tǒng)處理并發(fā)的訪問(wèn)系統(tǒng)處理并發(fā)的訪問(wèn)(2)(2)需求陳述中隱含的關(guān)聯(lián)需求陳述中隱含的關(guān)聯(lián)總行由各個(gè)分行組成總行由各個(gè)分行組成分行保管賬戶分行保管賬戶總行擁有中央計(jì)算機(jī)總行擁有中央計(jì)算機(jī)系統(tǒng)維
30、護(hù)事務(wù)日志系統(tǒng)維護(hù)事務(wù)日志系統(tǒng)提供必要的安全性系統(tǒng)提供必要的安全性?xún)?chǔ)戶擁有現(xiàn)金兌換卡儲(chǔ)戶擁有現(xiàn)金兌換卡(3)(3)根據(jù)問(wèn)題域知識(shí)得出的關(guān)聯(lián)根據(jù)問(wèn)題域知識(shí)得出的關(guān)聯(lián)現(xiàn)金兌換卡訪問(wèn)賬戶現(xiàn)金兌換卡訪問(wèn)賬戶分行雇用柜員分行雇用柜員(4)(4)與問(wèn)題無(wú)關(guān)的或應(yīng)在實(shí)現(xiàn)階段考慮的關(guān)聯(lián)與問(wèn)題無(wú)關(guān)的或應(yīng)在實(shí)現(xiàn)階段考慮的關(guān)聯(lián) 應(yīng)刪去。例如,在應(yīng)刪去。例如,在ATMATM系統(tǒng)的例子中,系統(tǒng)的例子中, “系統(tǒng)處理并發(fā)的訪問(wèn)系統(tǒng)處理并發(fā)的訪問(wèn)” (5)(5)瞬間事件刪除瞬間事件刪除 “ATMATM讀現(xiàn)金兌換卡讀現(xiàn)金兌換卡” “ATMATM與用戶交互與用戶交互” 如果用動(dòng)作描述的需求隱含了問(wèn)題域的如果用動(dòng)作描述的需求隱含
31、了問(wèn)題域的某種基本結(jié)構(gòu),則應(yīng)該用適當(dāng)?shù)膭?dòng)詞詞組重某種基本結(jié)構(gòu),則應(yīng)該用適當(dāng)?shù)膭?dòng)詞詞組重新表示這個(gè)關(guān)聯(lián)。例如,在新表示這個(gè)關(guān)聯(lián)。例如,在ATMATM系統(tǒng)的需求陳系統(tǒng)的需求陳述中,述中,“中央計(jì)算機(jī)確定事務(wù)與分行的對(duì)應(yīng)中央計(jì)算機(jī)確定事務(wù)與分行的對(duì)應(yīng)關(guān)系關(guān)系”隱含了結(jié)構(gòu)上隱含了結(jié)構(gòu)上“中央計(jì)算機(jī)與分行通中央計(jì)算機(jī)與分行通信信”的關(guān)系。的關(guān)系。(6)(6)派生關(guān)聯(lián)派生關(guān)聯(lián) 應(yīng)該去掉那些可以用其他關(guān)聯(lián)定義的冗應(yīng)該去掉那些可以用其他關(guān)聯(lián)定義的冗余關(guān)聯(lián)。例如,在余關(guān)聯(lián)。例如,在ATMATM系統(tǒng)的例子中,系統(tǒng)的例子中,“總行擁有多臺(tái)總行擁有多臺(tái)ATM”=“ATM”=“總行擁有中央計(jì)算機(jī)總行擁有中央計(jì)算機(jī)”和和
32、 “ATMATM與中央計(jì)算機(jī)通信與中央計(jì)算機(jī)通信” “分行計(jì)算機(jī)維護(hù)帳戶分行計(jì)算機(jī)維護(hù)帳戶”=“=“分行保管帳戶分行保管帳戶”和和 “事務(wù)修改帳戶事務(wù)修改帳戶” 3.3.進(jìn)一步完善進(jìn)一步完善 通常從下述幾個(gè)方面進(jìn)行改進(jìn):通常從下述幾個(gè)方面進(jìn)行改進(jìn):(1)(1)正名正名 應(yīng)該仔細(xì)選擇含義更明確的名字作應(yīng)該仔細(xì)選擇含義更明確的名字作為關(guān)聯(lián)名。例如,為關(guān)聯(lián)名。例如,“分行提供分行計(jì)算分行提供分行計(jì)算機(jī)和柜員終端機(jī)和柜員終端”不如改為不如改為“分行擁有分分行擁有分行計(jì)算機(jī)行計(jì)算機(jī)”和和“分行擁有柜員終端分行擁有柜員終端”。(2)(2)分解分解 為了能夠適用于不同的關(guān)聯(lián),必要為了能夠適用于不同的關(guān)聯(lián),必
33、要時(shí)應(yīng)該分解以前確定的類(lèi)與對(duì)象。例如,時(shí)應(yīng)該分解以前確定的類(lèi)與對(duì)象。例如,在在ATMATM系統(tǒng)中,應(yīng)該把系統(tǒng)中,應(yīng)該把“事務(wù)事務(wù)”分解成分解成“遠(yuǎn)程事務(wù)遠(yuǎn)程事務(wù)”和和“柜員事務(wù)柜員事務(wù)”。 (3)(3)補(bǔ)充補(bǔ)充 發(fā)現(xiàn)了遺漏的關(guān)聯(lián)就應(yīng)該及時(shí)補(bǔ)上。例發(fā)現(xiàn)了遺漏的關(guān)聯(lián)就應(yīng)該及時(shí)補(bǔ)上。例如,在如,在ATMATM系統(tǒng)中把系統(tǒng)中把“事務(wù)事務(wù)”分解成上述兩類(lèi)分解成上述兩類(lèi)以后,需要補(bǔ)充以后,需要補(bǔ)充 “柜員輸入柜員事務(wù)柜員輸入柜員事務(wù)” “柜員事務(wù)輸進(jìn)柜員終端柜員事務(wù)輸進(jìn)柜員終端” “在在ATMATM上輸入遠(yuǎn)程事務(wù)上輸入遠(yuǎn)程事務(wù)” “遠(yuǎn)程事務(wù)由現(xiàn)金兌換卡授權(quán)遠(yuǎn)程事務(wù)由現(xiàn)金兌換卡授權(quán)” (4)(4)標(biāo)明重?cái)?shù)標(biāo)
34、明重?cái)?shù) 應(yīng)該初步判定各個(gè)關(guān)聯(lián)的類(lèi)型,并粗略應(yīng)該初步判定各個(gè)關(guān)聯(lián)的類(lèi)型,并粗略地確定關(guān)聯(lián)的重?cái)?shù)。地確定關(guān)聯(lián)的重?cái)?shù)。 10.3.3 10.3.3 劃分主題劃分主題 應(yīng)該按問(wèn)題領(lǐng)域而不是用功能分解方法來(lái)確定應(yīng)該按問(wèn)題領(lǐng)域而不是用功能分解方法來(lái)確定主題。此外,應(yīng)該按照使不同主題內(nèi)的對(duì)象相互間主題。此外,應(yīng)該按照使不同主題內(nèi)的對(duì)象相互間依賴(lài)和交互最少的原則來(lái)確定主題。以依賴(lài)和交互最少的原則來(lái)確定主題。以ATMATM系統(tǒng)為系統(tǒng)為例,可以把它劃分成例,可以把它劃分成總行總行總行總行中央計(jì)算機(jī)中央計(jì)算機(jī)分行分行分行分行分行計(jì)算機(jī)分行計(jì)算機(jī)柜員終端柜員終端柜員事務(wù)柜員事務(wù)柜員柜員帳戶帳戶ATMATMATMATM
35、遠(yuǎn)程事務(wù)遠(yuǎn)程事務(wù)現(xiàn)金兌換卡現(xiàn)金兌換卡儲(chǔ)戶儲(chǔ)戶10.3.4 10.3.4 確定屬性確定屬性v“卡號(hào)卡號(hào)”實(shí)際上是一個(gè)限定詞實(shí)際上是一個(gè)限定詞v“分行代碼分行代碼”是關(guān)聯(lián)是關(guān)聯(lián)“分行組成總行分行組成總行”上的上的限定詞限定詞v“帳號(hào)帳號(hào)”是關(guān)聯(lián)是關(guān)聯(lián)“分行保管帳戶分行保管帳戶”上的限定上的限定詞詞 v“雇員號(hào)雇員號(hào)”是是“分行雇用柜員分行雇用柜員”上的限定詞上的限定詞v“站號(hào)站號(hào)”是是“分行擁有柜員終端分行擁有柜員終端”、“柜員柜員終端與分行計(jì)算機(jī)通信終端與分行計(jì)算機(jī)通信”及及“中央計(jì)算機(jī)與中央計(jì)算機(jī)與ATMATM通信通信”等三個(gè)關(guān)聯(lián)上的限定詞等三個(gè)關(guān)聯(lián)上的限定詞 。 10.3.5 10.3.5
36、識(shí)別繼承關(guān)系識(shí)別繼承關(guān)系(1 1)自底向上:抽象出現(xiàn)有類(lèi)的共同性質(zhì)泛)自底向上:抽象出現(xiàn)有類(lèi)的共同性質(zhì)泛化出父類(lèi),這個(gè)過(guò)程實(shí)質(zhì)上模擬了人類(lèi)思化出父類(lèi),這個(gè)過(guò)程實(shí)質(zhì)上模擬了人類(lèi)思維過(guò)程。例如,在維過(guò)程。例如,在ATMATM系統(tǒng)中,系統(tǒng)中,“遠(yuǎn)程事務(wù)遠(yuǎn)程事務(wù)”和和“柜員事務(wù)柜員事務(wù)”是類(lèi)似的,可以泛化出父是類(lèi)似的,可以泛化出父類(lèi)類(lèi)“事務(wù)事務(wù)”;類(lèi)似地,可以從;類(lèi)似地,可以從“ATM”ATM”和和“柜員終端柜員終端”泛化出父類(lèi)泛化出父類(lèi)“輸入站輸入站”。 (2 2)自頂向下:把現(xiàn)有類(lèi)細(xì)化成更具體的子)自頂向下:把現(xiàn)有類(lèi)細(xì)化成更具體的子類(lèi),這模擬了人類(lèi)的演繹思維過(guò)程。從應(yīng)類(lèi),這模擬了人類(lèi)的演繹思維過(guò)程
37、。從應(yīng)用領(lǐng)域中常常能明顯看出應(yīng)該做的自頂向用領(lǐng)域中常常能明顯看出應(yīng)該做的自頂向下的具體化工作。例如,帶有形容詞修飾下的具體化工作。例如,帶有形容詞修飾的名詞詞組往往暗示了一些具體的類(lèi)。但的名詞詞組往往暗示了一些具體的類(lèi)。但是,在分析階段應(yīng)該避免過(guò)渡細(xì)化。是,在分析階段應(yīng)該避免過(guò)渡細(xì)化。 利用多重繼承可以提高共享程度,通常利用多重繼承可以提高共享程度,通常指定一個(gè)主要的父類(lèi),從它繼承大部分屬指定一個(gè)主要的父類(lèi),從它繼承大部分屬性和行為;次要父類(lèi)只補(bǔ)充一些屬性和行性和行為;次要父類(lèi)只補(bǔ)充一些屬性和行為。圖為。圖10.510.5是增加了繼承關(guān)系以后的是增加了繼承關(guān)系以后的ATMATM對(duì)對(duì)象模型。象模
38、型。 10.3.6 10.3.6 反復(fù)修改反復(fù)修改 僅僅經(jīng)過(guò)一次建模過(guò)程很難得到完全正僅僅經(jīng)過(guò)一次建模過(guò)程很難得到完全正確的對(duì)象模型。事實(shí)上,軟件開(kāi)發(fā)過(guò)程就是確的對(duì)象模型。事實(shí)上,軟件開(kāi)發(fā)過(guò)程就是一個(gè)多次重復(fù)修改、逐步完善的過(guò)程。在建一個(gè)多次重復(fù)修改、逐步完善的過(guò)程。在建模的任何一個(gè)步驟中,如果發(fā)現(xiàn)了模型的缺模的任何一個(gè)步驟中,如果發(fā)現(xiàn)了模型的缺陷,都必須返回到前期階段進(jìn)行修改。由于陷,都必須返回到前期階段進(jìn)行修改。由于面向?qū)ο蟮母拍詈头?hào)在整個(gè)開(kāi)發(fā)過(guò)程中都面向?qū)ο蟮母拍詈头?hào)在整個(gè)開(kāi)發(fā)過(guò)程中都是一致的,因此遠(yuǎn)比使用結(jié)構(gòu)分析、設(shè)計(jì)技是一致的,因此遠(yuǎn)比使用結(jié)構(gòu)分析、設(shè)計(jì)技術(shù)更容易實(shí)現(xiàn)反復(fù)修改、逐
39、步完善的過(guò)程。術(shù)更容易實(shí)現(xiàn)反復(fù)修改、逐步完善的過(guò)程。 以下以以下以ATMATM系統(tǒng)為例,討論可能做的修改:系統(tǒng)為例,討論可能做的修改:1.1.分解分解“現(xiàn)金兌換卡現(xiàn)金兌換卡”類(lèi)類(lèi)“卡權(quán)限卡權(quán)限”, ,標(biāo)志儲(chǔ)戶訪問(wèn)帳戶的權(quán)限標(biāo)志儲(chǔ)戶訪問(wèn)帳戶的權(quán)限“現(xiàn)金兌換卡現(xiàn)金兌換卡” 含有分行代碼和卡號(hào)的數(shù)含有分行代碼和卡號(hào)的數(shù)據(jù)載體。據(jù)載體。2.“2.“事務(wù)事務(wù)”由由“更新更新”組成組成 通常,一個(gè)事務(wù)包含對(duì)帳戶的若干次更通常,一個(gè)事務(wù)包含對(duì)帳戶的若干次更新,這里所說(shuō)的更新,指的是對(duì)帳戶所做的新,這里所說(shuō)的更新,指的是對(duì)帳戶所做的一個(gè)動(dòng)作(取款、存款或查詢(xún))。一個(gè)動(dòng)作(取款、存款或查詢(xún))。“更新更新”雖然代
40、表一個(gè)動(dòng)作,但是它有自己的屬性雖然代表一個(gè)動(dòng)作,但是它有自己的屬性(類(lèi)型、金額等),應(yīng)該獨(dú)立存在,因此應(yīng)(類(lèi)型、金額等),應(yīng)該獨(dú)立存在,因此應(yīng)該把它作為類(lèi)。該把它作為類(lèi)。3. 3. 合并合并 區(qū)分區(qū)分“分行分行”與與“分行計(jì)算機(jī)分行計(jì)算機(jī)”,對(duì)于,對(duì)于分析這個(gè)系統(tǒng)來(lái)說(shuō),并沒(méi)有多大意義,為簡(jiǎn)分析這個(gè)系統(tǒng)來(lái)說(shuō),并沒(méi)有多大意義,為簡(jiǎn)單起見(jiàn),應(yīng)該把它們合并。類(lèi)似地,應(yīng)該并單起見(jiàn),應(yīng)該把它們合并。類(lèi)似地,應(yīng)該并“總行總行”和和“中央計(jì)算機(jī)中央計(jì)算機(jī)”。 圖圖10.610.6給出了修改以后的給出了修改以后的ATMATM對(duì)象模型,對(duì)象模型,與修改前比較起來(lái),它更簡(jiǎn)單、更清晰。與修改前比較起來(lái),它更簡(jiǎn)單、更清
41、晰。10.4 10.4 建立動(dòng)態(tài)模型建立動(dòng)態(tài)模型 在開(kāi)發(fā)交互式系統(tǒng)時(shí),動(dòng)態(tài)模型卻起著在開(kāi)發(fā)交互式系統(tǒng)時(shí),動(dòng)態(tài)模型卻起著很重要的作用。建立動(dòng)態(tài)模型的步驟:很重要的作用。建立動(dòng)態(tài)模型的步驟:v編寫(xiě)典型交互行為的腳本編寫(xiě)典型交互行為的腳本v畫(huà)事件跟蹤圖畫(huà)事件跟蹤圖v畫(huà)狀態(tài)圖畫(huà)狀態(tài)圖 10.4.1 10.4.1 編寫(xiě)腳本編寫(xiě)腳本v編寫(xiě)正常情況的腳本。編寫(xiě)正常情況的腳本。v考慮特殊情況,例如輸入或輸出的數(shù)據(jù)考慮特殊情況,例如輸入或輸出的數(shù)據(jù)為最大值(或最小值)。為最大值(或最小值)。v考慮出錯(cuò)情況,例如,輸入的值為非法考慮出錯(cuò)情況,例如,輸入的值為非法值或響應(yīng)失敗。對(duì)大多數(shù)交互式系統(tǒng)來(lái)值或響應(yīng)失敗。對(duì)大
42、多數(shù)交互式系統(tǒng)來(lái)說(shuō),出錯(cuò)處理都是最難實(shí)現(xiàn)的部分。如說(shuō),出錯(cuò)處理都是最難實(shí)現(xiàn)的部分。如果可能,應(yīng)該允許用戶果可能,應(yīng)該允許用戶“異常中止異常中止”一一個(gè)操作或個(gè)操作或“取消取消”一個(gè)操作。一個(gè)操作。ATMATM系統(tǒng)的正常情況腳本系統(tǒng)的正常情況腳本(1)ATM(1)ATM請(qǐng)儲(chǔ)戶插卡;儲(chǔ)戶插入一張現(xiàn)金兌換卡。請(qǐng)儲(chǔ)戶插卡;儲(chǔ)戶插入一張現(xiàn)金兌換卡。(2)ATM(2)ATM接受該卡并讀它上面的分行代碼和卡號(hào)。接受該卡并讀它上面的分行代碼和卡號(hào)。(3)ATM(3)ATM要求儲(chǔ)戶輸入密碼;儲(chǔ)戶輸入自己的密碼要求儲(chǔ)戶輸入密碼;儲(chǔ)戶輸入自己的密碼“1234”1234”等數(shù)字。等數(shù)字。(4)ATM(4)ATM請(qǐng)求總
43、行驗(yàn)證卡號(hào)和密碼;總行要求請(qǐng)求總行驗(yàn)證卡號(hào)和密碼;總行要求“39”39”號(hào)號(hào)分行核對(duì)儲(chǔ)戶密碼,然后通知分行核對(duì)儲(chǔ)戶密碼,然后通知ATMATM說(shuō)這張卡有效。說(shuō)這張卡有效。(5)ATM(5)ATM要求儲(chǔ)戶選擇事務(wù)類(lèi)型(取款、轉(zhuǎn)帳、查詢(xún)要求儲(chǔ)戶選擇事務(wù)類(lèi)型(取款、轉(zhuǎn)帳、查詢(xún)等);儲(chǔ)戶選擇等);儲(chǔ)戶選擇“取款取款”。(6)ATM(6)ATM要求儲(chǔ)戶輸入取款額;儲(chǔ)戶輸入要求儲(chǔ)戶輸入取款額;儲(chǔ)戶輸入“880”880”。(7)ATM(7)ATM確認(rèn)取款額在預(yù)先規(guī)定的限額內(nèi),然確認(rèn)取款額在預(yù)先規(guī)定的限額內(nèi),然后要求總行處理這個(gè)事務(wù);總行把請(qǐng)求轉(zhuǎn)后要求總行處理這個(gè)事務(wù);總行把請(qǐng)求轉(zhuǎn)給分行,該分行成功地處理完這項(xiàng)
44、事務(wù)并給分行,該分行成功地處理完這項(xiàng)事務(wù)并返回該帳戶的新余額。返回該帳戶的新余額。(8)ATM(8)ATM吐出現(xiàn)金并請(qǐng)儲(chǔ)戶拿走這些現(xiàn)金;儲(chǔ)吐出現(xiàn)金并請(qǐng)儲(chǔ)戶拿走這些現(xiàn)金;儲(chǔ)戶拿走現(xiàn)金。戶拿走現(xiàn)金。(9)ATM(9)ATM問(wèn)儲(chǔ)戶是否繼續(xù)這項(xiàng)任務(wù);儲(chǔ)戶回答問(wèn)儲(chǔ)戶是否繼續(xù)這項(xiàng)任務(wù);儲(chǔ)戶回答“不不”。(10)ATM(10)ATM打印帳單,退出現(xiàn)金兌換卡,請(qǐng)儲(chǔ)打印帳單,退出現(xiàn)金兌換卡,請(qǐng)儲(chǔ)戶拿走它們;儲(chǔ)戶取走帳單和卡。戶拿走它們;儲(chǔ)戶取走帳單和卡。(11)ATM(11)ATM請(qǐng)儲(chǔ)戶插卡。請(qǐng)儲(chǔ)戶插卡。ATMATM系統(tǒng)的異常情況腳本系統(tǒng)的異常情況腳本(1)ATM(1)ATM請(qǐng)儲(chǔ)戶插卡;儲(chǔ)戶插入一張現(xiàn)金兌換卡。
45、請(qǐng)儲(chǔ)戶插卡;儲(chǔ)戶插入一張現(xiàn)金兌換卡。(2)ATM(2)ATM接受這張卡并順序讀它上面的數(shù)字。接受這張卡并順序讀它上面的數(shù)字。(3)ATM(3)ATM要求密碼;儲(chǔ)戶誤輸入要求密碼;儲(chǔ)戶誤輸入“8888”8888”。(4)ATM(4)ATM請(qǐng)求總行驗(yàn)證輸入數(shù)字和密碼;總行在請(qǐng)求總行驗(yàn)證輸入數(shù)字和密碼;總行在向有關(guān)分行咨詢(xún)后拒絕這張卡。向有關(guān)分行咨詢(xún)后拒絕這張卡。(5)ATM(5)ATM顯示顯示“密碼錯(cuò)密碼錯(cuò)”,并請(qǐng)儲(chǔ)戶重新輸入密,并請(qǐng)儲(chǔ)戶重新輸入密碼;儲(chǔ)戶輸入碼;儲(chǔ)戶輸入“1234”1234”;ATMATM請(qǐng)總行驗(yàn)證后知請(qǐng)總行驗(yàn)證后知道這次輸入的密碼正確。道這次輸入的密碼正確。(6)ATM(6)A
46、TM請(qǐng)儲(chǔ)戶選擇事務(wù)類(lèi)型;儲(chǔ)戶選擇請(qǐng)儲(chǔ)戶選擇事務(wù)類(lèi)型;儲(chǔ)戶選擇“取款取款”。(7)ATM(7)ATM詢(xún)問(wèn)取款額;儲(chǔ)戶改變主意不想取款了詢(xún)問(wèn)取款額;儲(chǔ)戶改變主意不想取款了,他敲,他敲“取消取消”鍵。鍵。(8)ATM(8)ATM退出現(xiàn)金兌換卡,并請(qǐng)儲(chǔ)戶拿走它;儲(chǔ)退出現(xiàn)金兌換卡,并請(qǐng)儲(chǔ)戶拿走它;儲(chǔ)戶拿走他的卡。戶拿走他的卡。(9)ATM(9)ATM請(qǐng)儲(chǔ)戶插卡。請(qǐng)儲(chǔ)戶插卡。10.4.3 10.4.3 畫(huà)事件跟蹤圖畫(huà)事件跟蹤圖1.1.確定事件確定事件v事件包括系統(tǒng)與用戶(或外部設(shè)備)交互的事件包括系統(tǒng)與用戶(或外部設(shè)備)交互的所有信號(hào)、輸入、輸出、中斷、動(dòng)作等等。所有信號(hào)、輸入、輸出、中斷、動(dòng)作等等。2.
47、2.畫(huà)出事件跟蹤圖畫(huà)出事件跟蹤圖v在事件跟蹤圖中,一條豎線代表一個(gè)對(duì)象;在事件跟蹤圖中,一條豎線代表一個(gè)對(duì)象;v每個(gè)事件用一條水平的箭頭線表示,箭頭方每個(gè)事件用一條水平的箭頭線表示,箭頭方向從事件的發(fā)送對(duì)象指向接受對(duì)象。向從事件的發(fā)送對(duì)象指向接受對(duì)象。v時(shí)間從上向下遞增,箭頭線之間的間距并沒(méi)時(shí)間從上向下遞增,箭頭線之間的間距并沒(méi)有具體含義,圖中僅用箭頭線在垂直方向上有具體含義,圖中僅用箭頭線在垂直方向上的相對(duì)位置表示事件發(fā)生的先后,并不表示的相對(duì)位置表示事件發(fā)生的先后,并不表示兩個(gè)時(shí)間之間的精確時(shí)間表。兩個(gè)時(shí)間之間的精確時(shí)間表。儲(chǔ)戶儲(chǔ)戶分行事務(wù)成功分行事務(wù)成功請(qǐng)求處理分行事務(wù)請(qǐng)求處理分行事務(wù)帳
48、戶有效帳戶有效請(qǐng)求分行驗(yàn)證帳戶請(qǐng)求分行驗(yàn)證帳戶事務(wù)成功事務(wù)成功請(qǐng)求處理事務(wù)請(qǐng)求處理事務(wù)帳戶有效帳戶有效請(qǐng)求驗(yàn)證帳戶請(qǐng)求驗(yàn)證帳戶插卡插卡要求密碼要求密碼輸入密碼輸入密碼要求事務(wù)類(lèi)型要求事務(wù)類(lèi)型輸入類(lèi)型輸入類(lèi)型要求輸入取款額要求輸入取款額輸入取款額輸入取款額吐出現(xiàn)金吐出現(xiàn)金請(qǐng)求拿走現(xiàn)金請(qǐng)求拿走現(xiàn)金拿走現(xiàn)金拿走現(xiàn)金請(qǐng)求繼續(xù)此事務(wù)請(qǐng)求繼續(xù)此事務(wù)結(jié)束結(jié)束印帳單印帳單退卡退卡請(qǐng)求拿走卡請(qǐng)求拿走卡拿走卡拿走卡顯示主屏幕顯示主屏幕ATM總行總行分行分行圖 10.8 ATM 系統(tǒng)正常情況腳本的事件跟蹤圖10.4.4 10.4.4 畫(huà)狀態(tài)圖畫(huà)狀態(tài)圖v狀態(tài)圖描繪時(shí)間與對(duì)象的狀態(tài)關(guān)系。當(dāng)對(duì)象狀態(tài)圖描繪時(shí)間與對(duì)象的狀態(tài)
49、關(guān)系。當(dāng)對(duì)象接受了一個(gè)事件以后,它的下個(gè)狀態(tài)取決與接受了一個(gè)事件以后,它的下個(gè)狀態(tài)取決與當(dāng)前狀態(tài)及所接受的事件。由事件引起的狀當(dāng)前狀態(tài)及所接受的事件。由事件引起的狀態(tài)改變稱(chēng)為態(tài)改變稱(chēng)為“轉(zhuǎn)換轉(zhuǎn)換”。v如果一個(gè)事件并不引起當(dāng)前狀態(tài)發(fā)生轉(zhuǎn)換,如果一個(gè)事件并不引起當(dāng)前狀態(tài)發(fā)生轉(zhuǎn)換,則可忽略這個(gè)事件。則可忽略這個(gè)事件。v一張狀態(tài)圖描繪一類(lèi)對(duì)象的行為,它確定了一張狀態(tài)圖描繪一類(lèi)對(duì)象的行為,它確定了由時(shí)間序列引出的狀態(tài)序列。由時(shí)間序列引出的狀態(tài)序列。ATMATM類(lèi)的狀態(tài)類(lèi)的狀態(tài)圖圖總行類(lèi)的狀態(tài)總行類(lèi)的狀態(tài)圖圖分行類(lèi)的狀態(tài)分行類(lèi)的狀態(tài)圖圖10.4.5 10.4.5 審查動(dòng)態(tài)模型審查動(dòng)態(tài)模型v各個(gè)類(lèi)的狀態(tài)圖通過(guò)共享事件合并起來(lái),構(gòu)各個(gè)類(lèi)的狀態(tài)圖通過(guò)共享事件合并起來(lái),構(gòu)成了系統(tǒng)的動(dòng)態(tài)模型。成了系統(tǒng)的動(dòng)態(tài)模型。v在完成了每個(gè)具有交互行為的類(lèi)的狀態(tài)圖之在完成了每個(gè)具有交互行為的類(lèi)的狀態(tài)圖之后,應(yīng)該檢查系統(tǒng)級(jí)的完整性和一致性。后,應(yīng)該檢查系統(tǒng)級(jí)的完整性和一致性。v每個(gè)事件應(yīng)該既有發(fā)送對(duì)象又有接受對(duì)象,每個(gè)事件應(yīng)該既有發(fā)送對(duì)象又有接受
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位管理制度呈現(xiàn)大合集人員管理十篇
- 2024年城管督查個(gè)人總結(jié)
- 寒假自習(xí)課 25春初中道德與法治八年級(jí)下冊(cè)教學(xué)課件 第三單元 第五課 第1課時(shí) 根本政治制度
- 建筑工程行業(yè)安全管理工作總結(jié)
- 2011年高考語(yǔ)文試卷(大綱版全國(guó)Ⅱ卷)(空白卷)
- 化妝品行業(yè)銷(xiāo)售工作總結(jié)
- 小學(xué)數(shù)學(xué)教學(xué)計(jì)劃18篇
- 2023年項(xiàng)目部治理人員安全培訓(xùn)考試題含下載答案可打印
- 2023年-2024年項(xiàng)目部安全培訓(xùn)考試題答案往年題考
- 競(jìng)業(yè)限制協(xié)議書(shū)三篇
- 培智生活數(shù)學(xué)暑假作業(yè)
- 項(xiàng)目部領(lǐng)導(dǎo)施工現(xiàn)場(chǎng)值班帶班交接班記錄表
- 2023年江蘇小高考?xì)v史試卷
- 《運(yùn)動(dòng)解剖學(xué)》課程實(shí)驗(yàn)課教案
- 2023年貴州貴安新區(qū)產(chǎn)業(yè)發(fā)展控股集團(tuán)有限公司招聘筆試題庫(kù)含答案解析
- 現(xiàn)金盤(pán)點(diǎn)表完整版
- 精神病醫(yī)院管理制度
- 事業(yè)單位公開(kāi)招聘工作人員政審表
- GB/T 25840-2010規(guī)定電氣設(shè)備部件(特別是接線端子)允許溫升的導(dǎo)則
- 2020-2021學(xué)年貴州省黔東南州人教版六年級(jí)上冊(cè)期末文化水平測(cè)試數(shù)學(xué)試卷(原卷版)
- 魯科版化學(xué)必修二 1.1 原子結(jié)構(gòu) 課件
評(píng)論
0/150
提交評(píng)論