版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第第10章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?0.1 面向?qū)ο蠓治龅幕具^程面向?qū)ο蠓治龅幕具^程10.2 需求陳述需求陳述10.3 建立對象模型建立對象模型10.4 建立動態(tài)模型建立動態(tài)模型10.5 建立功能模型建立功能模型10.6 定義服務(wù)定義服務(wù) 10.1 面向?qū)ο蠓治龅幕具^程面向?qū)ο蠓治龅幕具^程10.1.1 概述概述面向?qū)ο蠓治鲞^程:面向?qū)ο蠓治鲞^程:n分析陳述用戶需求的文件。分析陳述用戶需求的文件。n發(fā)現(xiàn)和改正原始陳述中的二義性和不一致性,發(fā)現(xiàn)和改正原始陳述中的二義性和不一致性,補(bǔ)充遺漏的內(nèi)容。補(bǔ)充遺漏的內(nèi)容。n深入理解用戶需求,抽象出目標(biāo)系統(tǒng)的本質(zhì)深入理解用戶需求,抽象出目標(biāo)系統(tǒng)的本
2、質(zhì)屬性,并用模型準(zhǔn)確地表示出來。屬性,并用模型準(zhǔn)確地表示出來。10.1.2 3個(gè)子模型與個(gè)子模型與5個(gè)層次個(gè)層次3個(gè)子模型:個(gè)子模型:n對象模型對象模型抽象出客觀世界實(shí)體及實(shí)體間抽象出客觀世界實(shí)體及實(shí)體間相互關(guān)系;相互關(guān)系;n動態(tài)模型動態(tài)模型涉及交互作用和時(shí)序問題;涉及交互作用和時(shí)序問題;n功能模型功能模型解決運(yùn)算量很大的問題。解決運(yùn)算量很大的問題。5個(gè)層次:個(gè)層次:5個(gè)層次對應(yīng)的個(gè)層次對應(yīng)的5項(xiàng)主要活動:項(xiàng)主要活動:n找出類與對象找出類與對象n識別結(jié)構(gòu)識別結(jié)構(gòu)n識別主題識別主題n定義屬性定義屬性n定義服務(wù)定義服務(wù)CategoryClass-&-ObjectStructure1+1+A
3、ttributeMethod面向?qū)ο蠓治龃篌w順序:面向?qū)ο蠓治龃篌w順序:n尋找類與對象尋找類與對象n識別結(jié)構(gòu)識別結(jié)構(gòu)n識別主題識別主題n定義屬性定義屬性n建立動態(tài)模型建立動態(tài)模型n建立功能模型建立功能模型n定義服務(wù)定義服務(wù)10.2 需求陳述需求陳述10.2.1 書寫要點(diǎn)書寫要點(diǎn)n需求陳述的內(nèi)容包括:問題范圍,功能需求,需求陳述的內(nèi)容包括:問題范圍,功能需求,性能需求,應(yīng)用環(huán)境及假設(shè)條件等。性能需求,應(yīng)用環(huán)境及假設(shè)條件等。n書寫需求陳述時(shí),要盡力做到語法正確,而書寫需求陳述時(shí),要盡力做到語法正確,而且應(yīng)該慎重選用名詞、動詞、形容詞和同義且應(yīng)該慎重選用名詞、動詞、形容詞和同義詞。詞。n需求陳述僅僅
4、是理解用戶需求的出發(fā)點(diǎn),它需求陳述僅僅是理解用戶需求的出發(fā)點(diǎn),它并不是一成不變的文檔。并不是一成不變的文檔。n系統(tǒng)分析員必須與用戶及領(lǐng)域?qū)<颐芮信浜舷到y(tǒng)分析員必須與用戶及領(lǐng)域?qū)<颐芮信浜蠀f(xié)同工作,共同提煉和整理用戶需求。協(xié)同工作,共同提煉和整理用戶需求。 10.2.2 例子例子需求陳述,見需求陳述,見P23410.3 建立對象模型建立對象模型典型的工作步驟:典型的工作步驟:n首先確定對象類和關(guān)聯(lián),對于大型復(fù)雜問題首先確定對象類和關(guān)聯(lián),對于大型復(fù)雜問題還要進(jìn)一步劃分出若干個(gè)主題;還要進(jìn)一步劃分出若干個(gè)主題;n然后給類和關(guān)聯(lián)增添屬性,以進(jìn)一步描述;然后給類和關(guān)聯(lián)增添屬性,以進(jìn)一步描述;n利用適當(dāng)?shù)?/p>
5、繼承關(guān)系進(jìn)一步合并和組織類;利用適當(dāng)?shù)睦^承關(guān)系進(jìn)一步合并和組織類;n對類中操作的最后確定,則需等到建立了動對類中操作的最后確定,則需等到建立了動態(tài)模型和功能模型之后。態(tài)模型和功能模型之后。1. 找出候選的類與對象找出候選的類與對象n對象是對問題域中有意義的事物的抽象,它對象是對問題域中有意義的事物的抽象,它們既可能是物理實(shí)體,也可能是抽象概念。們既可能是物理實(shí)體,也可能是抽象概念。n大多數(shù)客觀事物可分為下述大多數(shù)客觀事物可分為下述5類:類:q可感知的物理實(shí)體可感知的物理實(shí)體q人或組織的角色人或組織的角色q應(yīng)該記憶的事件應(yīng)該記憶的事件q兩個(gè)或多個(gè)對象的相互作用兩個(gè)或多個(gè)對象的相互作用q需要說明的
6、概念需要說明的概念10.3.1 確定類與對象確定類與對象非正式分析:非正式分析:n用自然語言書寫的需求陳述為依據(jù),用自然語言書寫的需求陳述為依據(jù),q把名詞作為類與對象的候選者;把名詞作為類與對象的候選者;q把形容詞作為確定屬性的線索;把形容詞作為確定屬性的線索;q把動詞作為服務(wù)把動詞作為服務(wù)(操作操作)的候選者。的候選者。n用這種簡單方法確定的候選者是非常不準(zhǔn)確用這種簡單方法確定的候選者是非常不準(zhǔn)確的,其中往往包含大量不正確的或不必要的的,其中往往包含大量不正確的或不必要的事物,還必須經(jīng)過更進(jìn)一步的嚴(yán)格篩選。事物,還必須經(jīng)過更進(jìn)一步的嚴(yán)格篩選。 ATM系統(tǒng)類與對象的初步的候選者:系統(tǒng)類與對象的
7、初步的候選者:銀行銀行自動取款機(jī)自動取款機(jī)系統(tǒng)系統(tǒng)中央計(jì)算機(jī)中央計(jì)算機(jī)分行計(jì)算機(jī)分行計(jì)算機(jī)柜員終端柜員終端網(wǎng)絡(luò)網(wǎng)絡(luò)總行總行分行分行軟件軟件成本成本市市街道街道營業(yè)廳營業(yè)廳儲蓄所儲蓄所柜員柜員儲戶儲戶現(xiàn)金現(xiàn)金支票支票賬戶賬戶事務(wù)事務(wù)現(xiàn)金兌換卡現(xiàn)金兌換卡余額余額磁卡磁卡分行代碼分行代碼卡號卡號用戶用戶副本副本信息信息密碼密碼類型類型取款額取款額賬單賬單訪問訪問通信鏈路通信鏈路(隱含隱含)事務(wù)日志事務(wù)日志(隱含隱含)2. 篩選出正確的類與對象篩選出正確的類與對象篩選標(biāo)準(zhǔn):篩選標(biāo)準(zhǔn):n冗余冗余 兩個(gè)類表達(dá)了同樣的信息兩個(gè)類表達(dá)了同樣的信息 n無關(guān)無關(guān) 刪掉與當(dāng)前要解決的問題無關(guān)的刪掉與當(dāng)前要解決的問題
8、無關(guān)的n籠統(tǒng)籠統(tǒng) 籠統(tǒng)的、泛指的名詞籠統(tǒng)的、泛指的名詞 n屬性屬性 實(shí)際上描述的是其他對象的屬性實(shí)際上描述的是其他對象的屬性 n操作操作 既可作為名詞,又可作為動詞的詞既可作為名詞,又可作為動詞的詞 n實(shí)現(xiàn)實(shí)現(xiàn) 去掉僅和實(shí)現(xiàn)有關(guān)的候選的類與對象去掉僅和實(shí)現(xiàn)有關(guān)的候選的類與對象 第第2步:去粗取精步:去粗取精例:從例:從ATM需求分析中提出的名詞集合需求分析中提出的名詞集合銀行、銀行、ATM、系統(tǒng)、中央計(jì)算機(jī)、分行計(jì)算機(jī)、系統(tǒng)、中央計(jì)算機(jī)、分行計(jì)算機(jī)、柜員終端、網(wǎng)絡(luò)、總行、分行、軟件、成本、市、柜員終端、網(wǎng)絡(luò)、總行、分行、軟件、成本、市、街道、營業(yè)廳、儲蓄所、柜員、儲戶、現(xiàn)金、支票、街道、營業(yè)廳
9、、儲蓄所、柜員、儲戶、現(xiàn)金、支票、賬戶、事務(wù)、現(xiàn)金兌換卡、余額、磁卡、分行代碼、賬戶、事務(wù)、現(xiàn)金兌換卡、余額、磁卡、分行代碼、卡號、用戶、副本、信息、密碼、類型、取款額、卡號、用戶、副本、信息、密碼、類型、取款額、賬單、訪問賬單、訪問篩選時(shí)依下列標(biāo)準(zhǔn)刪除:篩選時(shí)依下列標(biāo)準(zhǔn)刪除:、通信鏈路、事務(wù)日志、通信鏈路、事務(wù)日志 冗余冗余 無關(guān)無關(guān) 籠統(tǒng)籠統(tǒng) 屬性屬性 操作操作 實(shí)現(xiàn)實(shí)現(xiàn)1. 初步確定關(guān)聯(lián)初步確定關(guān)聯(lián)n在需求陳述中使用的描述性在需求陳述中使用的描述性動詞或動詞詞組動詞或動詞詞組,通常表示關(guān)聯(lián)關(guān)系。通常表示關(guān)聯(lián)關(guān)系。n通過分析需求陳述,還能發(fā)現(xiàn)一些在陳述中通過分析需求陳述,還能發(fā)現(xiàn)一些在陳述
10、中隱含的關(guān)聯(lián)隱含的關(guān)聯(lián)。n最后,分析員還應(yīng)該與用戶及領(lǐng)域?qū)<矣懻撟詈?,分析員還應(yīng)該與用戶及領(lǐng)域?qū)<矣懻搯栴}域?qū)嶓w間的相互依賴、相互作用關(guān)系,問題域?qū)嶓w間的相互依賴、相互作用關(guān)系,根據(jù)領(lǐng)域知識再進(jìn)一步補(bǔ)充一些關(guān)聯(lián)。根據(jù)領(lǐng)域知識再進(jìn)一步補(bǔ)充一些關(guān)聯(lián)。10.3.2 確定關(guān)聯(lián)確定關(guān)聯(lián)2、確定關(guān)聯(lián)、確定關(guān)聯(lián) 結(jié)構(gòu)層結(jié)構(gòu)層第第1 1步:收集步:收集 需求陳述中涉及需求陳述中涉及objetsobjets的動詞短語:的動詞短語: 分行計(jì)算機(jī)維護(hù)賬戶分行計(jì)算機(jī)維護(hù)賬戶 柜員終端與分行計(jì)算機(jī)通信柜員終端與分行計(jì)算機(jī)通信 柜員輸入針對賬戶的事務(wù)柜員輸入針對賬戶的事務(wù) ATMATM與中央計(jì)算機(jī)交換關(guān)于事務(wù)的信與中央計(jì)
11、算機(jī)交換關(guān)于事務(wù)的信息息 中央計(jì)算機(jī)確定事務(wù)與分行的對應(yīng)關(guān)中央計(jì)算機(jī)確定事務(wù)與分行的對應(yīng)關(guān)系系 ATMATM讀現(xiàn)金兌換卡讀現(xiàn)金兌換卡 ATMATM與用戶交互與用戶交互 ATMATM吐出現(xiàn)金吐出現(xiàn)金 ATMATM打印賬單打印賬單 系統(tǒng)處理并發(fā)的訪問系統(tǒng)處理并發(fā)的訪問 ATMATM、中央計(jì)算機(jī)、分行中央計(jì)算機(jī)、分行計(jì)算機(jī)及柜員終端組成網(wǎng)計(jì)算機(jī)及柜員終端組成網(wǎng)絡(luò)絡(luò) 總行擁有多臺總行擁有多臺ATMATM ATM ATM設(shè)在主要街道上設(shè)在主要街道上 分行提供分行計(jì)算機(jī)和柜分行提供分行計(jì)算機(jī)和柜員終端員終端 柜員終端設(shè)在分行營業(yè)廳柜員終端設(shè)在分行營業(yè)廳及儲蓄所內(nèi)及儲蓄所內(nèi) 分行分?jǐn)傑浖_發(fā)成本分行分?jǐn)傑浖?/p>
12、開發(fā)成本 儲戶擁有賬戶儲戶擁有賬戶 分行計(jì)算機(jī)處理針對賬戶分行計(jì)算機(jī)處理針對賬戶的事務(wù)的事務(wù) 需求陳述中隱含的關(guān)聯(lián)需求陳述中隱含的關(guān)聯(lián) 總行由各個(gè)分行組成總行由各個(gè)分行組成 系統(tǒng)維護(hù)事務(wù)日志系統(tǒng)維護(hù)事務(wù)日志 分行保管賬戶分行保管賬戶 系統(tǒng)提供必要的安全性系統(tǒng)提供必要的安全性 總行擁有中央計(jì)算機(jī)總行擁有中央計(jì)算機(jī) 儲戶擁有現(xiàn)金兌換卡儲戶擁有現(xiàn)金兌換卡 根據(jù)問題域知識得出的關(guān)聯(lián)根據(jù)問題域知識得出的關(guān)聯(lián) 現(xiàn)金兌換卡訪問賬戶現(xiàn)金兌換卡訪問賬戶 分行雇用柜員分行雇用柜員2. 篩選篩選n已刪去的類之間的關(guān)聯(lián)。已刪去的類之間的關(guān)聯(lián)。n與問題無關(guān)的或應(yīng)在實(shí)現(xiàn)階段考慮的關(guān)聯(lián)。與問題無關(guān)的或應(yīng)在實(shí)現(xiàn)階段考慮的關(guān)聯(lián)
13、。n瞬時(shí)事件瞬時(shí)事件 關(guān)聯(lián)應(yīng)該描述問題域的靜態(tài)結(jié)構(gòu),關(guān)聯(lián)應(yīng)該描述問題域的靜態(tài)結(jié)構(gòu),而不應(yīng)該是一個(gè)瞬時(shí)事件。而不應(yīng)該是一個(gè)瞬時(shí)事件。 n三元關(guān)聯(lián)三元關(guān)聯(lián) 三個(gè)或三個(gè)以上對象之間的關(guān)聯(lián),三個(gè)或三個(gè)以上對象之間的關(guān)聯(lián),大多可以分解為二元關(guān)聯(lián)或用詞組描述成限大多可以分解為二元關(guān)聯(lián)或用詞組描述成限定的關(guān)聯(lián)。定的關(guān)聯(lián)。n派生關(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)。 第第2步:篩選刪除步:篩選刪除 與已刪去的與已刪去的object object 有關(guān)的關(guān)聯(lián)有關(guān)的關(guān)聯(lián) 與問題無關(guān)的或應(yīng)在實(shí)現(xiàn)階段考慮的關(guān)聯(lián)與問題無關(guān)的或應(yīng)在實(shí)現(xiàn)階段考慮的關(guān)聯(lián) ATM、中
14、央計(jì)算機(jī)、分行計(jì)中央計(jì)算機(jī)、分行計(jì)算機(jī)及柜員終端組成網(wǎng)絡(luò)算機(jī)及柜員終端組成網(wǎng)絡(luò) 總行擁有多臺總行擁有多臺ATM ATM設(shè)在主要街道上設(shè)在主要街道上 分行提供分行計(jì)算機(jī)和柜員分行提供分行計(jì)算機(jī)和柜員終端終端 柜員終端設(shè)在分行營業(yè)廳及柜員終端設(shè)在分行營業(yè)廳及儲蓄所內(nèi)儲蓄所內(nèi) 分行分?jǐn)傑浖_發(fā)成本分行分?jǐn)傑浖_發(fā)成本 儲戶擁有賬戶儲戶擁有賬戶 總行由各個(gè)分行組成總行由各個(gè)分行組成 分行計(jì)算機(jī)處理針對賬戶的事務(wù)分行計(jì)算機(jī)處理針對賬戶的事務(wù) 分行計(jì)算機(jī)維護(hù)賬戶分行計(jì)算機(jī)維護(hù)賬戶 柜員終端與分行計(jì)算機(jī)通信柜員終端與分行計(jì)算機(jī)通信 柜員輸入針對賬戶的事務(wù)柜員輸入針對賬戶的事務(wù) ATM與中央計(jì)算機(jī)交換關(guān)于事務(wù)
15、的信息與中央計(jì)算機(jī)交換關(guān)于事務(wù)的信息 中央計(jì)算機(jī)確定事務(wù)與分行的對應(yīng)關(guān)系中央計(jì)算機(jī)確定事務(wù)與分行的對應(yīng)關(guān)系 ATM讀現(xiàn)金兌換卡讀現(xiàn)金兌換卡 ATM與用戶交互與用戶交互 ATM吐出現(xiàn)金吐出現(xiàn)金 ATM打印賬單打印賬單 系統(tǒng)處理并發(fā)的訪問系統(tǒng)處理并發(fā)的訪問 現(xiàn)金兌換卡訪問賬戶現(xiàn)金兌換卡訪問賬戶 系統(tǒng)維護(hù)事務(wù)日志系統(tǒng)維護(hù)事務(wù)日志 分行保管賬戶分行保管賬戶 系統(tǒng)提供必要的安全性系統(tǒng)提供必要的安全性 總行擁有中央計(jì)算機(jī)總行擁有中央計(jì)算機(jī) 儲戶擁有現(xiàn)金兌換卡儲戶擁有現(xiàn)金兌換卡 分行雇用柜員分行雇用柜員瞬時(shí)事件:注意關(guān)聯(lián)描述靜態(tài)結(jié)構(gòu)瞬時(shí)事件:注意關(guān)聯(lián)描述靜態(tài)結(jié)構(gòu) ATMATM、中央計(jì)算機(jī)、分行計(jì)中央計(jì)算機(jī)、
16、分行計(jì)算機(jī)及柜員終端組成網(wǎng)絡(luò)算機(jī)及柜員終端組成網(wǎng)絡(luò) 總行擁有多臺總行擁有多臺ATMATM ATM ATM設(shè)在主要街道上設(shè)在主要街道上 分行提供分行計(jì)算機(jī)和柜員分行提供分行計(jì)算機(jī)和柜員終端終端 柜員終端設(shè)在分行營業(yè)廳及柜員終端設(shè)在分行營業(yè)廳及儲蓄所內(nèi)儲蓄所內(nèi) 分行分?jǐn)傑浖_發(fā)成本分行分?jǐn)傑浖_發(fā)成本 儲戶擁有賬戶儲戶擁有賬戶 總行由各個(gè)分行組成總行由各個(gè)分行組成 分行計(jì)算機(jī)處理針對賬戶的事務(wù)分行計(jì)算機(jī)處理針對賬戶的事務(wù) 分行計(jì)算機(jī)維護(hù)賬戶分行計(jì)算機(jī)維護(hù)賬戶 柜員終端與分行計(jì)算機(jī)通信柜員終端與分行計(jì)算機(jī)通信 柜員輸入針對賬戶的事務(wù)柜員輸入針對賬戶的事務(wù) ATMATM與中央計(jì)算機(jī)交換關(guān)于事務(wù)的信息與
17、中央計(jì)算機(jī)交換關(guān)于事務(wù)的信息 中央計(jì)算機(jī)確定事務(wù)與分行的對應(yīng)關(guān)系中央計(jì)算機(jī)確定事務(wù)與分行的對應(yīng)關(guān)系 ATMATM讀現(xiàn)金兌換卡讀現(xiàn)金兌換卡 ATMATM與用戶交互與用戶交互 ATMATM吐出現(xiàn)金吐出現(xiàn)金 ATMATM打印賬單打印賬單 系統(tǒng)處理并發(fā)的訪問系統(tǒng)處理并發(fā)的訪問 現(xiàn)金兌換卡訪問賬戶現(xiàn)金兌換卡訪問賬戶 系統(tǒng)維護(hù)事務(wù)日志系統(tǒng)維護(hù)事務(wù)日志 分行保管賬戶分行保管賬戶 系統(tǒng)提供必要的安全性系統(tǒng)提供必要的安全性 總行擁有中央計(jì)算機(jī)總行擁有中央計(jì)算機(jī) 儲戶擁有現(xiàn)金兌換卡儲戶擁有現(xià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) 柜員輸入針對賬戶的事
18、務(wù)柜員輸入針對賬戶的事務(wù) = 柜員輸入事務(wù)柜員輸入事務(wù) + 事務(wù)修改賬戶事務(wù)修改賬戶 分行計(jì)算機(jī)處理針對賬戶的事務(wù)分行計(jì)算機(jī)處理針對賬戶的事務(wù) = 分行計(jì)算機(jī)處理事務(wù)分行計(jì)算機(jī)處理事務(wù) + 事務(wù)修改賬戶事務(wù)修改賬戶 ATM與中央計(jì)算機(jī)交換關(guān)于事務(wù)的信息與中央計(jì)算機(jī)交換關(guān)于事務(wù)的信息 = ATM與中央計(jì)算機(jī)通信與中央計(jì)算機(jī)通信 + 在在ATM上輸入事務(wù)上輸入事務(wù)注:注:識別鏈屬性識別鏈屬性 某實(shí)體僅用于描述另兩個(gè)實(shí)某實(shí)體僅用于描述另兩個(gè)實(shí)體的關(guān)系,且該實(shí)體本身不包含屬性。例如體的關(guān)系,且該實(shí)體本身不包含屬性。例如“公司公司付給員工工資付給員工工資”可分解為可分解為“公司雇用員工公司雇用員工”,附
19、鏈,附鏈屬性屬性“工資工資”。派生關(guān)聯(lián):即可用其它關(guān)聯(lián)定義的冗余關(guān)聯(lián)派生關(guān)聯(lián):即可用其它關(guān)聯(lián)定義的冗余關(guān)聯(lián) 總行擁有多臺總行擁有多臺ATM 分行提供分行計(jì)算機(jī)和分行提供分行計(jì)算機(jī)和柜員終端柜員終端 儲戶擁有賬戶儲戶擁有賬戶 總行由各個(gè)分行組成總行由各個(gè)分行組成 分行保管賬戶分行保管賬戶 總行擁有中央計(jì)算機(jī)總行擁有中央計(jì)算機(jī) 現(xiàn)金兌換卡訪問賬戶現(xiàn)金兌換卡訪問賬戶 儲戶擁有現(xiàn)金兌換卡儲戶擁有現(xiàn)金兌換卡 分行雇用柜員分行雇用柜員 分行計(jì)算機(jī)處理事務(wù)分行計(jì)算機(jī)處理事務(wù) 分行計(jì)算機(jī)維護(hù)賬戶分行計(jì)算機(jī)維護(hù)賬戶 柜員終端與分行計(jì)算機(jī)柜員終端與分行計(jì)算機(jī)通信通信 柜員輸入事務(wù)柜員輸入事務(wù) 事務(wù)修改賬戶事務(wù)修改
20、賬戶 ATM與中央計(jì)算機(jī)通信與中央計(jì)算機(jī)通信 在在ATM上輸入事務(wù)上輸入事務(wù) 中央計(jì)算機(jī)確定事務(wù)與中央計(jì)算機(jī)確定事務(wù)與分行的對應(yīng)關(guān)系分行的對應(yīng)關(guān)系3. 進(jìn)一步完善進(jìn)一步完善n正名正名 好的名字是幫助讀者理解的關(guān)鍵因素之好的名字是幫助讀者理解的關(guān)鍵因素之一。因此,應(yīng)該仔細(xì)選擇含義更明確的名字一。因此,應(yīng)該仔細(xì)選擇含義更明確的名字作為關(guān)聯(lián)名。作為關(guān)聯(lián)名。n分解分解 為了能夠適用于不同的關(guān)聯(lián),必要時(shí)應(yīng)為了能夠適用于不同的關(guān)聯(lián),必要時(shí)應(yīng)該分解以前確定的類與對象。該分解以前確定的類與對象。n補(bǔ)充補(bǔ)充 發(fā)現(xiàn)了遺漏的關(guān)聯(lián)就應(yīng)該及時(shí)補(bǔ)上。發(fā)現(xiàn)了遺漏的關(guān)聯(lián)就應(yīng)該及時(shí)補(bǔ)上。n標(biāo)明重?cái)?shù)標(biāo)明重?cái)?shù) 應(yīng)該初步判定各個(gè)關(guān)聯(lián)
21、的類型,并應(yīng)該初步判定各個(gè)關(guān)聯(lián)的類型,并粗略地確定關(guān)聯(lián)的重?cái)?shù)。粗略地確定關(guān)聯(lián)的重?cái)?shù)。 n分行提供分行計(jì)算機(jī)和柜員終端。分行提供分行計(jì)算機(jī)和柜員終端。n儲戶擁有賬戶。儲戶擁有賬戶。n分行計(jì)算機(jī)處理分行計(jì)算機(jī)處理事務(wù)事務(wù)。事務(wù)修改賬戶。事務(wù)修改賬戶。n柜員終端與分行計(jì)算機(jī)通信。柜員終端與分行計(jì)算機(jī)通信。n柜員輸入事務(wù)柜員輸入事務(wù)。事務(wù)修改賬戶。事務(wù)修改賬戶。nATM與中央計(jì)算機(jī)通信。在與中央計(jì)算機(jī)通信。在ATM上輸入事務(wù)上輸入事務(wù)。n中央計(jì)算機(jī)與分行通信。中央計(jì)算機(jī)與分行通信。n總行由各個(gè)分行組成??傂杏筛鱾€(gè)分行組成。n分行保管賬戶。分行保管賬戶。n總行擁有中央計(jì)算機(jī)??傂袚碛兄醒胗?jì)算機(jī)。n儲戶擁
22、有現(xiàn)金兌換卡。儲戶擁有現(xiàn)金兌換卡。n現(xiàn)金兌換卡訪問賬戶?,F(xiàn)金兌換卡訪問賬戶。n分行雇用柜員。分行雇用柜員。n開發(fā)大型、復(fù)雜系統(tǒng)的過程中,為了降低復(fù)雜程度,開發(fā)大型、復(fù)雜系統(tǒng)的過程中,為了降低復(fù)雜程度,人們習(xí)慣于把系統(tǒng)進(jìn)一步劃分成幾個(gè)不同的主題。人們習(xí)慣于把系統(tǒng)進(jìn)一步劃分成幾個(gè)不同的主題。q在開發(fā)很小的系統(tǒng)時(shí),可能根本無須引入主題層;在開發(fā)很小的系統(tǒng)時(shí),可能根本無須引入主題層;q對于含有較多對象的系統(tǒng),則往往先識別出類與對象和關(guān)聯(lián),對于含有較多對象的系統(tǒng),則往往先識別出類與對象和關(guān)聯(lián),然后劃分主題;然后劃分主題;q對于規(guī)模極大的系統(tǒng),則首先由高級分析員粗略地識別對象對于規(guī)模極大的系統(tǒng),則首先由高
23、級分析員粗略地識別對象和關(guān)聯(lián),然后初步劃分主題,對系統(tǒng)結(jié)構(gòu)有更深入的了解之和關(guān)聯(lián),然后初步劃分主題,對系統(tǒng)結(jié)構(gòu)有更深入的了解之后,再進(jìn)一步修改和精煉主題。后,再進(jìn)一步修改和精煉主題。n應(yīng)該按問題領(lǐng)域而不是用功能分解方法來確定主題。應(yīng)該按問題領(lǐng)域而不是用功能分解方法來確定主題。此外,應(yīng)該按照使不同主題內(nèi)的對象相互間依賴和交此外,應(yīng)該按照使不同主題內(nèi)的對象相互間依賴和交互最少的原則來確定主題?;プ钌俚脑瓌t來確定主題。 10.3.3 劃分主題劃分主題總行總行分行分行ATM1. 分析分析n通常,在需求陳述中用通常,在需求陳述中用名詞詞組名詞詞組表示屬性,表示屬性,用用形容詞形容詞表示可枚舉的具體屬性。
24、表示可枚舉的具體屬性。n分析員還必須藉助于領(lǐng)域知識和常識才能分分析員還必須藉助于領(lǐng)域知識和常識才能分析得出需要的屬性。析得出需要的屬性。n應(yīng)該僅考慮與具體應(yīng)用直接相關(guān)的屬性,不應(yīng)該僅考慮與具體應(yīng)用直接相關(guān)的屬性,不要考慮那些超出所要解決的問題范圍的屬性。要考慮那些超出所要解決的問題范圍的屬性。 10.3.4 確定屬性確定屬性2. 選擇選擇n誤把對象當(dāng)作屬性誤把對象當(dāng)作屬性n誤把關(guān)聯(lián)類的屬性當(dāng)作一般對象的屬性誤把關(guān)聯(lián)類的屬性當(dāng)作一般對象的屬性n把限定誤當(dāng)成屬性把限定誤當(dāng)成屬性n誤把內(nèi)部狀態(tài)當(dāng)成了屬性誤把內(nèi)部狀態(tài)當(dāng)成了屬性n過于細(xì)化過于細(xì)化n存在不一致的屬性存在不一致的屬性n確定了類中應(yīng)該定義的屬
25、性之后,就可以利用確定了類中應(yīng)該定義的屬性之后,就可以利用繼承機(jī)制共享公共性質(zhì),并對系統(tǒng)中眾多的類繼承機(jī)制共享公共性質(zhì),并對系統(tǒng)中眾多的類加以組織。加以組織。n兩種方式建立繼承關(guān)系:兩種方式建立繼承關(guān)系:q自底向上:抽象出現(xiàn)有類的共同性質(zhì)泛化出父類,自底向上:抽象出現(xiàn)有類的共同性質(zhì)泛化出父類,這個(gè)過程實(shí)質(zhì)上模擬了人類歸納思維過程。這個(gè)過程實(shí)質(zhì)上模擬了人類歸納思維過程。q自頂向下:把現(xiàn)有類細(xì)化成更具體的子類,這模擬自頂向下:把現(xiàn)有類細(xì)化成更具體的子類,這模擬了人類的演繹思維過程。了人類的演繹思維過程。 10.3.5 識別繼承關(guān)系識別繼承關(guān)系n僅僅經(jīng)過一次建模過程很難得到完全正確的僅僅經(jīng)過一次建模
26、過程很難得到完全正確的對象模型。對象模型。n軟件開發(fā)過程就是一個(gè)多次反復(fù)修改、逐步軟件開發(fā)過程就是一個(gè)多次反復(fù)修改、逐步完善的過程。完善的過程。n面向?qū)ο蟮母拍詈头栐谡麄€(gè)開發(fā)過程中都面向?qū)ο蟮母拍詈头栐谡麄€(gè)開發(fā)過程中都是一致的,更易實(shí)現(xiàn)反復(fù)修改、逐步完善。是一致的,更易實(shí)現(xiàn)反復(fù)修改、逐步完善。nATM系統(tǒng)可能做的修改:系統(tǒng)可能做的修改:q分解分解“現(xiàn)金兌換卡現(xiàn)金兌換卡”類類q“事務(wù)事務(wù)”由由“更新更新”組成組成q把把“分行分行”與與“分行計(jì)算機(jī)分行計(jì)算機(jī)”合并合并10.3.6 反復(fù)修改反復(fù)修改n第一步,是編寫典型交互行為的腳本。第一步,是編寫典型交互行為的腳本。n第二步,從腳本中提取出事件
27、,確定觸發(fā)每第二步,從腳本中提取出事件,確定觸發(fā)每個(gè)事件的動作對象以及接受事件的目標(biāo)對象。個(gè)事件的動作對象以及接受事件的目標(biāo)對象。n第三步,排列事件發(fā)生的次序,確定每個(gè)對第三步,排列事件發(fā)生的次序,確定每個(gè)對象可能有的狀態(tài)及狀態(tài)間的轉(zhuǎn)換關(guān)系,并用象可能有的狀態(tài)及狀態(tài)間的轉(zhuǎn)換關(guān)系,并用狀態(tài)圖描繪它們。狀態(tài)圖描繪它們。n最后,比較各個(gè)對象的狀態(tài)圖,檢查它們之最后,比較各個(gè)對象的狀態(tài)圖,檢查它們之間的一致性,確保事件之間的匹配。間的一致性,確保事件之間的匹配。 10.4 建立動態(tài)模型建立動態(tài)模型n腳本是指系統(tǒng)在某一執(zhí)行期間內(nèi)出現(xiàn)的一系列腳本是指系統(tǒng)在某一執(zhí)行期間內(nèi)出現(xiàn)的一系列事件。腳本描述用戶與目標(biāo)
28、系統(tǒng)之間的一個(gè)或事件。腳本描述用戶與目標(biāo)系統(tǒng)之間的一個(gè)或多個(gè)典型的交互過程。多個(gè)典型的交互過程。n編寫腳本的目的,是保證不遺漏重要的交互步編寫腳本的目的,是保證不遺漏重要的交互步驟,它有助于確保整個(gè)交互過程的正確性的和驟,它有助于確保整個(gè)交互過程的正確性的和清晰性。清晰性。n編寫腳本的過程,實(shí)質(zhì)上就是分析用戶對系統(tǒng)編寫腳本的過程,實(shí)質(zhì)上就是分析用戶對系統(tǒng)交互行為的要求的過程。交互行為的要求的過程。n編寫腳本時(shí),首先編寫正常情況的腳本,然后編寫腳本時(shí),首先編寫正常情況的腳本,然后考慮特殊情況,最后考慮出錯(cuò)情況。考慮特殊情況,最后考慮出錯(cuò)情況。10.4.1 編寫腳本編寫腳本例:例:ATM系統(tǒng)的正常
29、、異常情況腳本系統(tǒng)的正常、異常情況腳本ATM系統(tǒng)的正常情況腳本系統(tǒng)的正常情況腳本 ATM請儲戶插卡;儲戶插入一張現(xiàn)金兌換卡。請儲戶插卡;儲戶插入一張現(xiàn)金兌換卡。 ATM接受該卡并讀它上面的分行代碼和卡號。接受該卡并讀它上面的分行代碼和卡號。 ATM要求儲戶輸入密碼;儲戶輸入自己的密碼要求儲戶輸入密碼;儲戶輸入自己的密碼“1234”等數(shù)字。等數(shù)字。 ATM請求總行驗(yàn)證卡號和密碼;總行要求請求總行驗(yàn)證卡號和密碼;總行要求“39”號分行核對儲戶密碼,號分行核對儲戶密碼, 然后通知然后通知ATM說這張卡有效。說這張卡有效。 ATM要求儲戶選擇事務(wù)類型要求儲戶選擇事務(wù)類型(取款、轉(zhuǎn)帳、查詢等取款、轉(zhuǎn)帳、
30、查詢等);儲戶選擇;儲戶選擇“取款取款”。 ATM要求儲戶輸入取款額;儲戶輸入要求儲戶輸入取款額;儲戶輸入“880”。 ATM確認(rèn)取款額在預(yù)先規(guī)定的限額內(nèi),然后要求總行處理這個(gè)事務(wù);總行確認(rèn)取款額在預(yù)先規(guī)定的限額內(nèi),然后要求總行處理這個(gè)事務(wù);總行 把請求轉(zhuǎn)給分行,該分行成功地處理完這項(xiàng)事務(wù)并返回該帳戶的新余額。把請求轉(zhuǎn)給分行,該分行成功地處理完這項(xiàng)事務(wù)并返回該帳戶的新余額。 ATM吐出現(xiàn)金并請儲戶拿走這些現(xiàn)金;儲戶拿走現(xiàn)金。吐出現(xiàn)金并請儲戶拿走這些現(xiàn)金;儲戶拿走現(xiàn)金。 ATM問儲戶是否繼續(xù)這項(xiàng)事務(wù);儲戶回答問儲戶是否繼續(xù)這項(xiàng)事務(wù);儲戶回答“不不”。 ATM打印帳單,退出現(xiàn)金兌換卡,請儲戶拿走它
31、們;儲戶取走帳單和卡。打印帳單,退出現(xiàn)金兌換卡,請儲戶拿走它們;儲戶取走帳單和卡。 ATM請儲戶插卡請儲戶插卡ATM系統(tǒng)的異常情況腳本系統(tǒng)的異常情況腳本 ATM請儲戶插卡;儲戶插入一張現(xiàn)金兌換卡。請儲戶插卡;儲戶插入一張現(xiàn)金兌換卡。 ATM接受該卡并讀它上面的分行代碼和卡號。接受該卡并讀它上面的分行代碼和卡號。 ATM要求儲戶輸入密碼;儲戶誤輸入要求儲戶輸入密碼;儲戶誤輸入 “8888”。 ATM請求總行驗(yàn)證卡號和密碼;總行要求請求總行驗(yàn)證卡號和密碼;總行要求“39”號分行核對儲戶密碼,號分行核對儲戶密碼, 然后通知然后通知ATM拒絕這張卡。拒絕這張卡。 ATM顯示顯示“密碼錯(cuò)密碼錯(cuò)”,并請儲
32、戶重新輸入密碼;儲戶輸入,并請儲戶重新輸入密碼;儲戶輸入“1234”; ATM請總行驗(yàn)證后知此次輸入的密碼正確。請總行驗(yàn)證后知此次輸入的密碼正確。 ATM要求儲戶選擇事務(wù)類型要求儲戶選擇事務(wù)類型(取款、轉(zhuǎn)帳、查詢等取款、轉(zhuǎn)帳、查詢等);儲戶選擇;儲戶選擇“取款取款”。 ATM要求儲戶輸入取款額;儲戶改變主意不想取款了,敲要求儲戶輸入取款額;儲戶改變主意不想取款了,敲“取消取消”鍵。鍵。 ATM退出現(xiàn)金兌換卡,請儲戶拿走它;儲戶取走他的卡。退出現(xiàn)金兌換卡,請儲戶拿走它;儲戶取走他的卡。 ATM請儲戶插卡請儲戶插卡n大多數(shù)交互行為都可以分為應(yīng)用邏輯和用戶大多數(shù)交互行為都可以分為應(yīng)用邏輯和用戶界面兩
33、部分。應(yīng)用邏輯是內(nèi)在的、本質(zhì)的內(nèi)界面兩部分。應(yīng)用邏輯是內(nèi)在的、本質(zhì)的內(nèi)容,用戶界面是外在的表現(xiàn)形式。容,用戶界面是外在的表現(xiàn)形式。n用戶界面的美觀程度、方便程度、易學(xué)程度用戶界面的美觀程度、方便程度、易學(xué)程度以及效率等等,是用戶使用系統(tǒng)時(shí)最先感受以及效率等等,是用戶使用系統(tǒng)時(shí)最先感受到的,用戶界面的好壞往往對用戶是否喜歡、到的,用戶界面的好壞往往對用戶是否喜歡、是否接受一個(gè)系統(tǒng)起很重要的作用。是否接受一個(gè)系統(tǒng)起很重要的作用。n軟件開發(fā)人員往往快速地建立起用戶界面的軟件開發(fā)人員往往快速地建立起用戶界面的原型,供用戶試用與評價(jià)。原型,供用戶試用與評價(jià)。 10.4.2 設(shè)想用戶界面設(shè)想用戶界面10.
34、4.3 畫事件跟蹤圖畫事件跟蹤圖n用自然語言書寫的腳本往往不夠簡明,而且用自然語言書寫的腳本往往不夠簡明,而且有時(shí)在閱讀時(shí)會有二義性。有時(shí)在閱讀時(shí)會有二義性。n為了有助于建立動態(tài)模型,通常在畫狀態(tài)圖為了有助于建立動態(tài)模型,通常在畫狀態(tài)圖之前先畫出事件跟蹤圖。之前先畫出事件跟蹤圖。n為此首先需要進(jìn)一步明確事件及事件與對象為此首先需要進(jìn)一步明確事件及事件與對象的關(guān)系。的關(guān)系。 1. 確定事件確定事件n應(yīng)該仔細(xì)分析每個(gè)腳本,以便從中提取出所應(yīng)該仔細(xì)分析每個(gè)腳本,以便從中提取出所有外部事件。事件包括系統(tǒng)與用戶交互的所有外部事件。事件包括系統(tǒng)與用戶交互的所有信號、輸入、輸出、中斷、動作等等。有信號、輸入
35、、輸出、中斷、動作等等。n傳遞信息的對象的動作也是事件。大多數(shù)對傳遞信息的對象的動作也是事件。大多數(shù)對象到對象的交互行為都對應(yīng)著事件。象到對象的交互行為都對應(yīng)著事件。n把對控制流產(chǎn)生相同效果的那些事件組合在把對控制流產(chǎn)生相同效果的那些事件組合在一起作為一類事件,并給它們?nèi)∫粋€(gè)惟一的一起作為一類事件,并給它們?nèi)∫粋€(gè)惟一的名字。名字。n把對控制流有不同影響的那些事件區(qū)分開來,把對控制流有不同影響的那些事件區(qū)分開來,不要誤把它們組合在一起。不要誤把它們組合在一起。n區(qū)分出每類事件的發(fā)送對象和接受對象。區(qū)分出每類事件的發(fā)送對象和接受對象。2. 畫出事件跟蹤圖畫出事件跟蹤圖n用事件跟蹤圖把事件序列以及事
36、件與對象的用事件跟蹤圖把事件序列以及事件與對象的關(guān)系,形象、清晰地表示出來。關(guān)系,形象、清晰地表示出來。n一條豎線代表一個(gè)對象,每個(gè)事件用一條水一條豎線代表一個(gè)對象,每個(gè)事件用一條水平的箭頭線表示,箭頭方向從事件的發(fā)送對平的箭頭線表示,箭頭方向從事件的發(fā)送對象指向接受對象。象指向接受對象。n時(shí)間從上向下遞增。時(shí)間從上向下遞增。n箭頭線之間的間距并沒有具體含義。箭頭線之間的間距并沒有具體含義。 10.4.4 畫狀態(tài)圖畫狀態(tài)圖n狀態(tài)圖描繪事件與對象狀態(tài)的關(guān)系。狀態(tài)圖描繪事件與對象狀態(tài)的關(guān)系。n通常,用一張狀態(tài)圖描繪一類對象的行為。通常,用一張狀態(tài)圖描繪一類對象的行為。n考慮完正常事件之后再考慮邊界
37、情況和特殊考慮完正常事件之后再考慮邊界情況和特殊情況。情況。n出錯(cuò)處理是不能省略的。出錯(cuò)處理是不能省略的。總行類的狀態(tài)圖總行類的狀態(tài)圖分行類的狀態(tài)圖分行類的狀態(tài)圖10.4.5 審查動態(tài)模型審查動態(tài)模型n在完成了每個(gè)具有重要交互行為的類的狀態(tài)在完成了每個(gè)具有重要交互行為的類的狀態(tài)圖之后,應(yīng)該檢查系統(tǒng)級的完整性和一致性。圖之后,應(yīng)該檢查系統(tǒng)級的完整性和一致性。n一般說來,每個(gè)事件都應(yīng)該既有發(fā)送對象又一般說來,每個(gè)事件都應(yīng)該既有發(fā)送對象又有接受對象,當(dāng)然,有時(shí)發(fā)送者和接受者是有接受對象,當(dāng)然,有時(shí)發(fā)送者和接受者是同一個(gè)對象。同一個(gè)對象。n應(yīng)該審查每個(gè)事件,跟蹤它對系統(tǒng)中各個(gè)對應(yīng)該審查每個(gè)事件,跟蹤它
38、對系統(tǒng)中各個(gè)對象所產(chǎn)生的效果,以保證它們與每個(gè)腳本都象所產(chǎn)生的效果,以保證它們與每個(gè)腳本都匹配。匹配。 10.5 建立功能模型建立功能模型n功能模型表明了系統(tǒng)中數(shù)據(jù)之間的依賴關(guān)系,功能模型表明了系統(tǒng)中數(shù)據(jù)之間的依賴關(guān)系,以及有關(guān)的數(shù)據(jù)處理功能,它由一組數(shù)據(jù)流以及有關(guān)的數(shù)據(jù)處理功能,它由一組數(shù)據(jù)流圖組成。其中的處理功能可以用圖組成。其中的處理功能可以用IPO圖圖(或或表表)、偽碼等多種方式進(jìn)一步描述。、偽碼等多種方式進(jìn)一步描述。n通常在建立了對象模型和動態(tài)模型之后再建通常在建立了對象模型和動態(tài)模型之后再建立功能模型。立功能模型。 10.5.1 畫出基本系統(tǒng)模型圖畫出基本系統(tǒng)模型圖n基本系統(tǒng)模型由若干個(gè)數(shù)據(jù)源點(diǎn)基本系統(tǒng)模型由若干個(gè)數(shù)據(jù)源點(diǎn)/終點(diǎn),及一終點(diǎn),及一個(gè)處理框組成,這個(gè)處理框代表了系統(tǒng)加工、個(gè)處理框組成,這個(gè)處理框代
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度市政基礎(chǔ)設(shè)施建設(shè)承包合同范本4篇
- 2025年度智能工廠財(cái)務(wù)共享服務(wù)中心定制解決方案合同3篇
- 2025年度美食節(jié)攤位租賃及美食文化交流合同4篇
- 二零二五年度地下空間開發(fā)泥水工程勞務(wù)分包合同4篇
- 二零二五版醫(yī)療信息化建設(shè)與維護(hù)服務(wù)合同4篇
- 2025年度專業(yè)實(shí)驗(yàn)室日常清潔與消毒服務(wù)合同2篇
- 2025年度車輛維修企業(yè)知識產(chǎn)權(quán)保護(hù)合同4篇
- 二零二五版泥工施工信息化管理合同4篇
- 2025年度出借資金募集與投放服務(wù)合同4篇
- 2025年度打印機(jī)遠(yuǎn)程診斷與快速響應(yīng)服務(wù)合同范本4篇
- 無人化農(nóng)場項(xiàng)目可行性研究報(bào)告
- 《如何存款最合算》課件
- 社區(qū)團(tuán)支部工作計(jì)劃
- 拖欠工程款上訪信范文
- 2024屆上海市金山區(qū)高三下學(xué)期二模英語試題(原卷版)
- 學(xué)生春節(jié)安全教育
- 《wifi協(xié)議文庫》課件
- 《好東西》:女作者電影的話語建構(gòu)與烏托邦想象
- 教培行業(yè)研究系列(七):出國考培的再研究供需變化的新趨勢
- GB/T 44895-2024市場和社會調(diào)查調(diào)查問卷編制指南
- 道醫(yī)館可行性報(bào)告
評論
0/150
提交評論