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

下載本文檔

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

文檔簡介

1、軟件工程軟件工程計算機與信息科學(xué)學(xué)院計算機與信息科學(xué)學(xué)院曹嚴(yán)元曹嚴(yán)元第第1章章 軟件工程學(xué)概述軟件工程學(xué)概述第第2章章 可行性研究可行性研究第第3章章 需求分析需求分析第第4章章 形式化說明技術(shù)形式化說明技術(shù)第第5章章 總體設(shè)計總體設(shè)計第第6章章 詳細設(shè)計詳細設(shè)計第第7章章 實現(xiàn)實現(xiàn)第第8章章 維護維護第第9章章 面向?qū)ο蠓椒▽W(xué)引論面向?qū)ο蠓椒▽W(xué)引論第第10章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治龅诘?1章章 面向?qū)ο笤O(shè)計面向?qū)ο笤O(shè)計第第12章章 面向?qū)ο髮崿F(xiàn)面向?qū)ο髮崿F(xiàn)第第13章章 軟件項目管理軟件項目管理第十章第十章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治鰒分析過程要完成的任務(wù):分析過程要完成的任務(wù):v分析工作主

2、要包括分析工作主要包括3 3項內(nèi)容:項內(nèi)容:v理解理解v表達表達v驗證驗證v獲取需求獲取需求教學(xué)內(nèi)容:教學(xué)內(nèi)容:面向?qū)ο蠓治龅幕具^程面向?qū)ο蠓治龅幕具^程 需求陳述需求陳述建立對象模型建立對象模型建立動態(tài)模型建立動態(tài)模型建立功能模型建立功能模型定義服務(wù)定義服務(wù)面向?qū)ο蠓治龅幕具^程面向?qū)ο蠓治龅幕具^程什么是面向?qū)ο蠓治觯渴裁词敲嫦驅(qū)ο蠓治??抽取和整理用戶需求并建立問題抽取和整理用戶需求并建立問題域精確模型的過程。域精確模型的過程。面向?qū)ο蠼5玫降拿嫦驅(qū)ο蠼5玫降? 3個子模型:個子模型:v對象模型對象模型v動態(tài)模型動態(tài)模型v功能模型功能模型解決問題不同,解決問題不同,3 3種模型的重要

3、程種模型的重要程度也不同度也不同對象模型的對象模型的5 5個層次:個層次:類或者對象之類或者對象之間的關(guān)系間的關(guān)系指導(dǎo)讀者理解指導(dǎo)讀者理解復(fù)雜系統(tǒng)的機復(fù)雜系統(tǒng)的機制制面向?qū)ο蠓治龅拇笾虏襟E:面向?qū)ο蠓治龅拇笾虏襟E:v找出類與對象找出類與對象v識別結(jié)構(gòu)識別結(jié)構(gòu)v識別主題識別主題v定義屬性定義屬性v定義服務(wù)定義服務(wù)v建立動態(tài)模型建立動態(tài)模型v建立功能模型建立功能模型需求陳述需求陳述需求陳述的內(nèi)容包括:需求陳述的內(nèi)容包括:v問題范圍問題范圍v功能需求功能需求v性能需求性能需求v應(yīng)用環(huán)境及假設(shè)條件等。應(yīng)用環(huán)境及假設(shè)條件等。實例:自動取款機實例:自動取款機(ATM)系統(tǒng)系統(tǒng)自動取款機自動取款機(ATM)

4、系統(tǒng)的需求陳述:系統(tǒng)的需求陳述: 某銀行擬開發(fā)一個自動取款機系統(tǒng),它是一個由自動某銀行擬開發(fā)一個自動取款機系統(tǒng),它是一個由自動取款機、中央計算機、分行計算機及柜員終端組成的網(wǎng)絡(luò)取款機、中央計算機、分行計算機及柜員終端組成的網(wǎng)絡(luò)系統(tǒng)。系統(tǒng)。ATM和中央計算機由總行投資購買??傂袚碛卸嗯_和中央計算機由總行投資購買。總行擁有多臺ATM,分別設(shè)在全市各主要街道上。分行負責(zé)提供分行計,分別設(shè)在全市各主要街道上。分行負責(zé)提供分行計算機和柜員終端。柜員終端設(shè)在分行營業(yè)廳及分行下屬的算機和柜員終端。柜員終端設(shè)在分行營業(yè)廳及分行下屬的各個儲蓄所內(nèi)。該系統(tǒng)的軟件開發(fā)成本由各個分行分攤。各個儲蓄所內(nèi)。該系統(tǒng)的軟件開

5、發(fā)成本由各個分行分攤。 銀行柜員使用柜員終端處理儲戶提交的儲蓄事務(wù)。儲銀行柜員使用柜員終端處理儲戶提交的儲蓄事務(wù)。儲戶可以用現(xiàn)金或支票向自己擁有的某個賬戶內(nèi)存款或開新戶可以用現(xiàn)金或支票向自己擁有的某個賬戶內(nèi)存款或開新賬戶。儲戶也可以從自己的賬戶中取款。通常,一個儲戶賬戶。儲戶也可以從自己的賬戶中取款。通常,一個儲戶可能擁有多個賬戶。柜員負責(zé)把儲戶提交的存款或取款事可能擁有多個賬戶。柜員負責(zé)把儲戶提交的存款或取款事務(wù)輸進柜員終端,接收儲戶交來的現(xiàn)金或支票,或付給儲務(wù)輸進柜員終端,接收儲戶交來的現(xiàn)金或支票,或付給儲戶現(xiàn)金。柜員終端與相應(yīng)的分行計算機通信,分行計算機戶現(xiàn)金。柜員終端與相應(yīng)的分行計算機

6、通信,分行計算機具體處理針對某個賬戶的事務(wù)并且維護賬戶。具體處理針對某個賬戶的事務(wù)并且維護賬戶。 擁有銀行賬戶的儲戶有權(quán)申請領(lǐng)取現(xiàn)金兌換卡。使用擁有銀行賬戶的儲戶有權(quán)申請領(lǐng)取現(xiàn)金兌換卡。使用現(xiàn)金兌換卡可以通過現(xiàn)金兌換卡可以通過ATM訪問自己的賬戶。目前僅限于用訪問自己的賬戶。目前僅限于用現(xiàn)金兌換卡在現(xiàn)金兌換卡在ATM上提取現(xiàn)金上提取現(xiàn)金(即取款即取款),或查詢有關(guān)自己,或查詢有關(guān)自己賬戶的信息賬戶的信息(例如,某個指定賬戶上的余額例如,某個指定賬戶上的余額)。將來可能還。將來可能還要求使用要求使用ATM辦理轉(zhuǎn)賬、存款等事務(wù)。辦理轉(zhuǎn)賬、存款等事務(wù)。 所謂現(xiàn)金兌換卡就是一張?zhí)刂频拇趴?,上面有分行?/p>

7、所謂現(xiàn)金兌換卡就是一張?zhí)刂频拇趴?,上面有分行代碼和卡號。分行代碼惟一標(biāo)識總行下屬的一個分行,卡號碼和卡號。分行代碼惟一標(biāo)識總行下屬的一個分行,卡號確定了這張卡可以訪問哪些賬戶。通常,一張卡可以訪問確定了這張卡可以訪問哪些賬戶。通常,一張卡可以訪問儲戶的若干個賬戶,但是不一定能訪問這個儲戶的全部賬儲戶的若干個賬戶,但是不一定能訪問這個儲戶的全部賬戶。每張現(xiàn)金兌換卡僅屬于一個儲戶所有,但是,同一張戶。每張現(xiàn)金兌換卡僅屬于一個儲戶所有,但是,同一張卡可能有多個副本,因此,必須考慮同時在若干臺卡可能有多個副本,因此,必須考慮同時在若干臺ATM上上使用同樣的現(xiàn)金兌換卡的可能性。也就是說,系統(tǒng)應(yīng)該能使用同

8、樣的現(xiàn)金兌換卡的可能性。也就是說,系統(tǒng)應(yīng)該能夠處理并發(fā)的訪問。夠處理并發(fā)的訪問。 當(dāng)用戶把現(xiàn)金兌換卡插入當(dāng)用戶把現(xiàn)金兌換卡插入ATM之后,之后,ATM就與用就與用戶交互,以獲取有關(guān)這次事務(wù)的信息,并與中央計算機戶交互,以獲取有關(guān)這次事務(wù)的信息,并與中央計算機交換關(guān)于事務(wù)的信息。首先,交換關(guān)于事務(wù)的信息。首先,ATM要求用戶輸入密碼,要求用戶輸入密碼,接下來接下來ATM把從這張卡上讀到的信息以及用戶輸入的把從這張卡上讀到的信息以及用戶輸入的密碼傳給中央計算機,請求中央計算機核對這些信息并密碼傳給中央計算機,請求中央計算機核對這些信息并處理這次事務(wù)。中央計算機根據(jù)卡上的分行代碼確定這處理這次事務(wù)。

9、中央計算機根據(jù)卡上的分行代碼確定這次事務(wù)與分行的對應(yīng)關(guān)系,并且委托相應(yīng)的分行計算機次事務(wù)與分行的對應(yīng)關(guān)系,并且委托相應(yīng)的分行計算機驗證用戶密碼。如果用戶輸入的密碼是正確的,驗證用戶密碼。如果用戶輸入的密碼是正確的,ATM就要求用戶選擇事務(wù)類型就要求用戶選擇事務(wù)類型(取款、查詢等取款、查詢等)。當(dāng)用戶選擇。當(dāng)用戶選擇取款時,取款時,ATM請求用戶輸入取款額。最后,請求用戶輸入取款額。最后,ATM從現(xiàn)從現(xiàn)金出口吐出現(xiàn)金,并且打印出賬單交給用戶。金出口吐出現(xiàn)金,并且打印出賬單交給用戶。建立對象模型建立對象模型1 1、確定類與對象、確定類與對象2 2、確定關(guān)聯(lián)、確定關(guān)聯(lián)3 3、劃分主題、劃分主題4 4

10、、確定屬性、確定屬性5 5、識別繼承關(guān)系、識別繼承關(guān)系6 6、反復(fù)修改、反復(fù)修改找出候選的類與對象找出候選的類與對象篩選出正確的類與對象篩選出正確的類與對象初步確定關(guān)聯(lián)初步確定關(guān)聯(lián)篩選篩選進一步完善進一步完善分析分析選擇選擇建立對象模型建立對象模型 確定類與對象確定類與對象1. 找出候選的類與對象找出候選的類與對象 法一:可以參照法一:可以參照5類常見事物,找出在當(dāng)前問類常見事物,找出在當(dāng)前問題域中的候選類與對象。題域中的候選類與對象。 法二:法二:非正式分析法非正式分析法2.篩選出正確的類與對象篩選出正確的類與對象什么是非正式分析?什么是非正式分析?進入實例學(xué)習(xí)進入實例學(xué)習(xí)以需求陳述為依據(jù),

11、把陳述中的名詞作為類與對象以需求陳述為依據(jù),把陳述中的名詞作為類與對象的候選者,用形容詞作為確定屬性的線索,把動詞的候選者,用形容詞作為確定屬性的線索,把動詞作為服務(wù)作為服務(wù)(操作操作)的候選者。的候選者。自動取款機(自動取款機(ATMATM)中央計算機中央計算機分行計算機分行計算機柜員終端柜員終端總行總行分行分行成本成本市市街道街道營業(yè)所營業(yè)所儲蓄所儲蓄所柜員柜員儲戶儲戶現(xiàn)金現(xiàn)金支票支票賬戶賬戶事務(wù)事務(wù)現(xiàn)金兌換卡現(xiàn)金兌換卡余額余額磁卡磁卡分行代碼分行代碼卡號卡號用戶用戶副本副本信息信息密碼密碼類型類型取款額取款額賬單賬單銀行銀行系統(tǒng)系統(tǒng)網(wǎng)絡(luò)網(wǎng)絡(luò)軟件軟件訪問訪問2. 篩選出正確的類與對象篩選出

12、正確的類與對象v主要依據(jù)下列標(biāo)準(zhǔn),刪除不正確或不必要的類與對象:主要依據(jù)下列標(biāo)準(zhǔn),刪除不正確或不必要的類與對象:冗余。如果兩個類表達了同樣的信息,則應(yīng)該保留在此問冗余。如果兩個類表達了同樣的信息,則應(yīng)該保留在此問題域中最富于描述力的名稱。題域中最富于描述力的名稱。 無關(guān)。僅需要把與本問題密切相關(guān)的類與對象放進目標(biāo)系無關(guān)。僅需要把與本問題密切相關(guān)的類與對象放進目標(biāo)系統(tǒng)中。統(tǒng)中。(3) 籠統(tǒng)。要么系統(tǒng)無須記憶有關(guān)它們的信息,要么在需求陳籠統(tǒng)。要么系統(tǒng)無須記憶有關(guān)它們的信息,要么在需求陳述中有更明確更具體的名詞對應(yīng)它們所暗示的事務(wù),通常述中有更明確更具體的名詞對應(yīng)它們所暗示的事務(wù),通常把這些籠統(tǒng)的或

13、模糊的類去掉。把這些籠統(tǒng)的或模糊的類去掉。(4) 屬性。在需求陳述中有些名詞實際上描述的是其他對象的屬性。在需求陳述中有些名詞實際上描述的是其他對象的屬性,應(yīng)該把這些名詞從候選類與對象中去掉。屬性,應(yīng)該把這些名詞從候選類與對象中去掉。(5) 操作。在需求陳述中有時可能使用一些既可作為名詞,又操作。在需求陳述中有時可能使用一些既可作為名詞,又可作為動詞的詞,應(yīng)該慎重考慮把它們作為類還是作為類可作為動詞的詞,應(yīng)該慎重考慮把它們作為類還是作為類中定義的操作。中定義的操作。(6) 實現(xiàn)。在分析階段不應(yīng)該過早地考慮怎樣實現(xiàn)目標(biāo)系統(tǒng)。實現(xiàn)。在分析階段不應(yīng)該過早地考慮怎樣實現(xiàn)目標(biāo)系統(tǒng)。因此,應(yīng)該去掉僅和實現(xiàn)

14、有關(guān)的候選的類與對象。因此,應(yīng)該去掉僅和實現(xiàn)有關(guān)的候選的類與對象。v在在ATM系統(tǒng)的例子中,經(jīng)過初步篩選,剩下的類與對象:系統(tǒng)的例子中,經(jīng)過初步篩選,剩下的類與對象:ATM、中央計算機、分行計算機、柜員終端、總行、分行、中央計算機、分行計算機、柜員終端、總行、分行、柜員、儲戶、賬戶、事務(wù)、現(xiàn)金兌換卡。柜員、儲戶、賬戶、事務(wù)、現(xiàn)金兌換卡。思考: 用非正式分析法分析確定下述雜貨雜貨店問題問題中的對對象。 一家雜貨店想使其庫存管理自動化,這家雜貨店擁有能夠記錄顧客購買的所有商品的名稱和數(shù)量的銷售終端。顧客服務(wù)臺也有類似的終端,以處理顧客的退貨。它在碼頭有另一個終端處理供應(yīng)商發(fā)貨。肉食部和農(nóng)產(chǎn)品部有終

15、端用于輸入由于損耗導(dǎo)致的損失和折扣。肉食品 農(nóng)產(chǎn)品10.3.2 確定關(guān)聯(lián)確定關(guān)聯(lián)v兩個或多個對象之間的相互依賴、相互作用的關(guān)系就是關(guān)兩個或多個對象之間的相互依賴、相互作用的關(guān)系就是關(guān)聯(lián)。聯(lián)。1. 初步確定關(guān)聯(lián)初步確定關(guān)聯(lián)v在需求陳述中使用的描述性動詞或動詞詞組,通常表示關(guān)在需求陳述中使用的描述性動詞或動詞詞組,通常表示關(guān)聯(lián)關(guān)系。聯(lián)關(guān)系。v 通過直接提取需求陳述中的動詞詞組,得出大多數(shù)關(guān)聯(lián)通過直接提取需求陳述中的動詞詞組,得出大多數(shù)關(guān)聯(lián)v 通過分析需求陳述,發(fā)現(xiàn)一些在陳述中隱含的關(guān)聯(lián)通過分析需求陳述,發(fā)現(xiàn)一些在陳述中隱含的關(guān)聯(lián)v 分析員與用戶及領(lǐng)域?qū)<矣懻?,根?jù)領(lǐng)域知識再進一步補分析員與用戶及領(lǐng)

16、域?qū)<矣懻?,根?jù)領(lǐng)域知識再進一步補充一些關(guān)聯(lián)充一些關(guān)聯(lián)以以ATM系統(tǒng)為例,經(jīng)過分析可初步確定出哪些關(guān)聯(lián)?系統(tǒng)為例,經(jīng)過分析可初步確定出哪些關(guān)聯(lián)?(1) 直接提取動詞短語得出的關(guān)聯(lián)?直接提取動詞短語得出的關(guān)聯(lián)?(2) 需求陳述中隱含的關(guān)聯(lián)?需求陳述中隱含的關(guān)聯(lián)?(3) 根據(jù)問題域知識得出的關(guān)聯(lián)?根據(jù)問題域知識得出的關(guān)聯(lián)?ATM、中央計算機、分行計算機及柜員終端組成網(wǎng)絡(luò)。、中央計算機、分行計算機及柜員終端組成網(wǎng)絡(luò)??傂袚碛卸嗯_總行擁有多臺ATM。ATM設(shè)在主要街道上。設(shè)在主要街道上。分行提供分行計算機和柜員終端。分行提供分行計算機和柜員終端。柜員終端設(shè)在分行營業(yè)廳及儲蓄所內(nèi)。柜員終端設(shè)在分行營業(yè)廳

17、及儲蓄所內(nèi)。分行分攤軟件開發(fā)成本。分行分攤軟件開發(fā)成本。儲戶擁有賬戶。儲戶擁有賬戶。分行計算機處理針對賬戶的事務(wù)。分行計算機處理針對賬戶的事務(wù)。分行計算機維護賬戶。分行計算機維護賬戶。柜員終端與分行計算機通信。柜員終端與分行計算機通信。柜員輸入針對賬戶的事務(wù)。柜員輸入針對賬戶的事務(wù)。ATM與中央計算機交換關(guān)于事務(wù)的信息。與中央計算機交換關(guān)于事務(wù)的信息。中央計算機確定事務(wù)與分行的對應(yīng)關(guān)系。中央計算機確定事務(wù)與分行的對應(yīng)關(guān)系。ATM讀現(xiàn)金兌換卡。讀現(xiàn)金兌換卡。ATM與用戶交互。與用戶交互。ATM吐出現(xiàn)金。吐出現(xiàn)金。ATM打印賬單。打印賬單。系統(tǒng)處理并發(fā)的訪問。系統(tǒng)處理并發(fā)的訪問??傂杏筛鱾€分行組成

18、。總行由各個分行組成。分行保管賬戶。分行保管賬戶。總行擁有中央計算機??傂袚碛兄醒胗嬎銠C。系統(tǒng)維護事務(wù)日志。系統(tǒng)維護事務(wù)日志。系統(tǒng)提供必要的安全性。系統(tǒng)提供必要的安全性。儲戶擁有現(xiàn)金兌換卡。儲戶擁有現(xiàn)金兌換卡。現(xiàn)金兌換卡訪問賬戶?,F(xiàn)金兌換卡訪問賬戶。分行雇用柜員。分行雇用柜員。2. 篩選篩選v篩選時主要根據(jù)下述標(biāo)準(zhǔn)刪除不正確或不必要的關(guān)聯(lián):篩選時主要根據(jù)下述標(biāo)準(zhǔn)刪除不正確或不必要的關(guān)聯(lián):已刪去的類之間的關(guān)聯(lián)。如果在分析確定類與對象的過程已刪去的類之間的關(guān)聯(lián)。如果在分析確定類與對象的過程中已經(jīng)刪掉了某個候選類,則與這個類有關(guān)的關(guān)聯(lián)也應(yīng)該中已經(jīng)刪掉了某個候選類,則與這個類有關(guān)的關(guān)聯(lián)也應(yīng)該刪去,或用

19、其他類重新表達這個關(guān)聯(lián)。刪去,或用其他類重新表達這個關(guān)聯(lián)。(2) 與問題無關(guān)的或應(yīng)在實現(xiàn)階段考慮的關(guān)聯(lián)。應(yī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)刪去。問題域之外的關(guān)聯(lián)或與實現(xiàn)密切相關(guān)的關(guān)聯(lián)刪去。(3) 瞬時事件。關(guān)聯(lián)應(yīng)該描述問題域的靜態(tài)結(jié)構(gòu),而不應(yīng)該是瞬時事件。關(guān)聯(lián)應(yīng)該描述問題域的靜態(tài)結(jié)構(gòu),而不應(yīng)該是一個瞬時事件。如果用動作表述的需求隱含了問題域的某一個瞬時事件。如果用動作表述的需求隱含了問題域的某種基本結(jié)構(gòu),則應(yīng)該用適當(dāng)?shù)膭釉~詞組重新表示這個關(guān)聯(lián)。種基本結(jié)構(gòu),則應(yīng)該用適當(dāng)?shù)膭釉~詞組重新表示這個關(guān)聯(lián)。(4) 三元關(guān)聯(lián)。三個或三個以上對

20、象之間的關(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)。(5) 派生關(guān)聯(lián)。應(yīng)該去掉那些可以用其他關(guān)聯(lián)定義的冗余關(guān)聯(lián)。派生關(guān)聯(lián)。應(yīng)該去掉那些可以用其他關(guān)聯(lián)定義的冗余關(guān)聯(lián)。3. 改進改進v通常從以下幾個方面改進經(jīng)過篩選后余下的關(guān)聯(lián):通常從以下幾個方面改進經(jīng)過篩選后余下的關(guān)聯(lián):(1) 正名。應(yīng)該仔細選擇含義更明確的名字作為關(guān)聯(lián)名。正名。應(yīng)該仔細選擇含義更明確的名字作為關(guān)聯(lián)名。(2) 分解。為了能夠適用于不同的關(guān)聯(lián),必要時應(yīng)該分解以前分解。為了能夠適用于不同的關(guān)聯(lián),必要時應(yīng)該分解以前確定的類與對象。確定的類與

21、對象。(3) 補充。發(fā)現(xiàn)了遺漏的關(guān)聯(lián)就應(yīng)該及時補上。補充。發(fā)現(xiàn)了遺漏的關(guān)聯(lián)就應(yīng)該及時補上。(4) 標(biāo)明重數(shù)。應(yīng)該初步判定各個關(guān)聯(lián)的類型,并粗略地確定標(biāo)明重數(shù)。應(yīng)該初步判定各個關(guān)聯(lián)的類型,并粗略地確定關(guān)聯(lián)的重數(shù)。關(guān)聯(lián)的重數(shù)。ATM系統(tǒng)原始的類圖:系統(tǒng)原始的類圖:10.3.3 劃分主題劃分主題v把系統(tǒng)劃分成幾個不同的主題,也就是在概念上把系統(tǒng)包把系統(tǒng)劃分成幾個不同的主題,也就是在概念上把系統(tǒng)包含的內(nèi)容分解成若干個范疇。含的內(nèi)容分解成若干個范疇。在開發(fā)很小的系統(tǒng)時,無須引入主題層;在開發(fā)很小的系統(tǒng)時,無須引入主題層;對于含有較多對象的系統(tǒng),則先識別出類與對象和關(guān)聯(lián),對于含有較多對象的系統(tǒng),則先識別出

22、類與對象和關(guān)聯(lián),然后劃分主題,并用它作為指導(dǎo)開發(fā)者和用戶觀察整個模然后劃分主題,并用它作為指導(dǎo)開發(fā)者和用戶觀察整個模型的一種機制;型的一種機制;對于規(guī)模極大的系統(tǒng),則首先由高級分析員粗略地識別對對于規(guī)模極大的系統(tǒng),則首先由高級分析員粗略地識別對象和關(guān)聯(lián),然后初步劃分主題,經(jīng)進一步分析,對系統(tǒng)結(jié)象和關(guān)聯(lián),然后初步劃分主題,經(jīng)進一步分析,對系統(tǒng)結(jié)構(gòu)有更深入的了解之后,再進一步修改和精煉主題。構(gòu)有更深入的了解之后,再進一步修改和精煉主題。v確定主題的兩個原則:確定主題的兩個原則:v應(yīng)該按問題領(lǐng)域而不是用功能分解方法來確定主題;應(yīng)該按問題領(lǐng)域而不是用功能分解方法來確定主題;v應(yīng)該按照使不同主題內(nèi)的對象

23、相互間依賴和交互最少的應(yīng)該按照使不同主題內(nèi)的對象相互間依賴和交互最少的原則來確定主題。原則來確定主題。v以以ATM系統(tǒng)為例,可以把它劃分成系統(tǒng)為例,可以把它劃分成3個主題:個主題:v總行(包含總行和中央計算機這兩個類)總行(包含總行和中央計算機這兩個類)v分行(包含分行、分行計算機、柜員終端、柜員事務(wù)、分行(包含分行、分行計算機、柜員終端、柜員事務(wù)、柜員和賬戶等類)柜員和賬戶等類)vATM(包含(包含ATM、遠程事務(wù)、現(xiàn)金兌換卡和儲戶等類)、遠程事務(wù)、現(xiàn)金兌換卡和儲戶等類)10.3.4 確定屬性確定屬性v確定屬性的過程包括分析和選擇兩個步驟。確定屬性的過程包括分析和選擇兩個步驟。1. 分析分析

24、v通常,在需求陳述中用名詞詞組表示屬性,用形容詞表示通常,在需求陳述中用名詞詞組表示屬性,用形容詞表示可枚舉的具體屬性。但是不可能在需求陳述中找到所有屬可枚舉的具體屬性。但是不可能在需求陳述中找到所有屬性,分析員還必須藉助于領(lǐng)域知識和常識才能分析得出需性,分析員還必須藉助于領(lǐng)域知識和常識才能分析得出需要的屬性。要的屬性。v應(yīng)該僅考慮與具體應(yīng)用直接相關(guān)的屬性,不要考慮那些超應(yīng)該僅考慮與具體應(yīng)用直接相關(guān)的屬性,不要考慮那些超出所要解決的問題范圍的屬性。出所要解決的問題范圍的屬性。2. 選擇選擇 v認真考察經(jīng)初步分析而確定下來的那些屬性,從中刪掉不認真考察經(jīng)初步分析而確定下來的那些屬性,從中刪掉不正

25、確的或不必要的屬性。通常有以下幾種常見情況:正確的或不必要的屬性。通常有以下幾種常見情況:誤把對象當(dāng)作屬性誤把對象當(dāng)作屬性誤把關(guān)聯(lián)類的屬性當(dāng)作一般對象的屬性誤把關(guān)聯(lián)類的屬性當(dāng)作一般對象的屬性誤把限定當(dāng)成屬性誤把限定當(dāng)成屬性誤把內(nèi)部狀態(tài)當(dāng)成了屬性誤把內(nèi)部狀態(tài)當(dāng)成了屬性過于細化。在分析階段應(yīng)該忽略那些對大多數(shù)操作都沒有過于細化。在分析階段應(yīng)該忽略那些對大多數(shù)操作都沒有影響的屬性影響的屬性存在不一致的屬性存在不一致的屬性添加了屬性之后的添加了屬性之后的ATMATM系統(tǒng)的對象模型系統(tǒng)的對象模型10.3.5 識別繼承關(guān)系識別繼承關(guān)系v確定了類中應(yīng)該定義的屬性之后,應(yīng)識別繼承關(guān)系并據(jù)此確定了類中應(yīng)該定義的

26、屬性之后,應(yīng)識別繼承關(guān)系并據(jù)此對系統(tǒng)中眾多的類加以組織。它應(yīng)該反映出一定深度的領(lǐng)對系統(tǒng)中眾多的類加以組織。它應(yīng)該反映出一定深度的領(lǐng)域知識,因此必須有領(lǐng)域?qū)<颐芮信浜喜拍芡瓿?。域知識,因此必須有領(lǐng)域?qū)<颐芮信浜喜拍芡瓿?。v一般說來,可以使用兩種方式建立繼承一般說來,可以使用兩種方式建立繼承( (即泛化即泛化) )關(guān)系:關(guān)系:(1) (1) 自底向上:自底向上: 抽象出現(xiàn)有類的共同性質(zhì)泛化出父類,這個抽象出現(xiàn)有類的共同性質(zhì)泛化出父類,這個過程實質(zhì)上模擬了人類歸納思維過程。過程實質(zhì)上模擬了人類歸納思維過程。(2) (2) 自頂向下:自頂向下: 把現(xiàn)有類細化成更具體的子類,這模擬了人把現(xiàn)有類細化成更具

27、體的子類,這模擬了人類的演繹思維過程。類的演繹思維過程。帶有繼承關(guān)系的帶有繼承關(guān)系的ATMATM系統(tǒng)對象模型系統(tǒng)對象模型10.3.6 反復(fù)修改反復(fù)修改v經(jīng)過一次建模過程很難得到完全正確的對象模型。事實上,經(jīng)過一次建模過程很難得到完全正確的對象模型。事實上,軟件開發(fā)過程就是一個多次反復(fù)修改、逐步完善的過程。軟件開發(fā)過程就是一個多次反復(fù)修改、逐步完善的過程。 v在建模的任何一個步驟中,如果發(fā)現(xiàn)了模型的缺陷,都必在建模的任何一個步驟中,如果發(fā)現(xiàn)了模型的缺陷,都必須返回到前期階段進行修改。須返回到前期階段進行修改。v在實際工作中,建模的步驟并不一定嚴(yán)格按照前面講述的在實際工作中,建模的步驟并不一定嚴(yán)格

28、按照前面講述的次序進行。次序進行。以以ATMATM系統(tǒng)為例,討論可能做的修改:系統(tǒng)為例,討論可能做的修改:1. 1. 分解分解“現(xiàn)金兌換卡現(xiàn)金兌換卡”類:類:把把“現(xiàn)金兌換卡現(xiàn)金兌換卡”類分解為類分解為“卡卡權(quán)限權(quán)限”和和“現(xiàn)金兌換卡現(xiàn)金兌換卡”兩個類,將使每個類的功能更單兩個類,將使每個類的功能更單一:一:v“卡權(quán)限卡權(quán)限”類:標(biāo)志儲戶訪問賬戶的權(quán)限類:標(biāo)志儲戶訪問賬戶的權(quán)限v“現(xiàn)金兌換卡現(xiàn)金兌換卡”類:是含有分行代碼和卡號的數(shù)據(jù)載體,類:是含有分行代碼和卡號的數(shù)據(jù)載體,多張現(xiàn)金兌換卡可能對應(yīng)著相同的訪問權(quán)限。多張現(xiàn)金兌換卡可能對應(yīng)著相同的訪問權(quán)限。2. “2. “事務(wù)事務(wù)”由由“更新更新”

29、組成:組成:一個事務(wù)包含對賬戶的若干次一個事務(wù)包含對賬戶的若干次更新,更新, “ “更新更新”雖然代表一個動作,但是它有自己的屬雖然代表一個動作,但是它有自己的屬性,應(yīng)該把它作為一個類。性,應(yīng)該把它作為一個類。3. 3. 把把“分行分行”與與“分行計算機分行計算機”合并合并修改后的修改后的ATMATM系統(tǒng)對象模型系統(tǒng)對象模型思考:建立下述牙科診所管理系統(tǒng)的對象模型對象模型:王大夫在小鎮(zhèn)開了一家牙科診所。他有一個牙科助手,一個牙科保健員,王大夫在小鎮(zhèn)開了一家牙科診所。他有一個牙科助手,一個牙科保健員,一個接待員。一個接待員。當(dāng)病人打電話預(yù)約時,接待員將查閱預(yù)約登記表,如果病人申請的就診當(dāng)病人打電

30、話預(yù)約時,接待員將查閱預(yù)約登記表,如果病人申請的就診時間與已定下的預(yù)約時間沖突,則接待員建議一個就診時間以安排病人時間與已定下的預(yù)約時間沖突,則接待員建議一個就診時間以安排病人盡早得到診治。如果病人同意建議的就診時間,接待員將輸入約定時間盡早得到診治。如果病人同意建議的就診時間,接待員將輸入約定時間和病人的名字。系統(tǒng)將核實病人的名字并提供記錄的病人數(shù)據(jù),數(shù)據(jù)包和病人的名字。系統(tǒng)將核實病人的名字并提供記錄的病人數(shù)據(jù),數(shù)據(jù)包括病人的病歷號等。在每次治療或清洗后,助手或保健員將標(biāo)記相應(yīng)的括病人的病歷號等。在每次治療或清洗后,助手或保健員將標(biāo)記相應(yīng)的預(yù)約診治已經(jīng)完成,如果必要的話會安排病人下一次再來。

31、預(yù)約診治已經(jīng)完成,如果必要的話會安排病人下一次再來。系統(tǒng)能夠按病人姓名和按日期進行查詢,能夠顯示記錄的病人數(shù)據(jù)和預(yù)系統(tǒng)能夠按病人姓名和按日期進行查詢,能夠顯示記錄的病人數(shù)據(jù)和預(yù)約信息。接待員可以取消預(yù)約,可以打印出前兩天預(yù)約尚未接診的病人約信息。接待員可以取消預(yù)約,可以打印出前兩天預(yù)約尚未接診的病人清單。系統(tǒng)可以從病人記錄中獲知病人的電話號碼。接待員還可以打印清單。系統(tǒng)可以從病人記錄中獲知病人的電話號碼。接待員還可以打印出關(guān)于所有病人的每天和每周的工作安排。出關(guān)于所有病人的每天和每周的工作安排。10.4 建立動態(tài)模型建立動態(tài)模型v在開發(fā)交互式系統(tǒng)時,動態(tài)模型起著很重要的作用。在開發(fā)交互式系統(tǒng)時

32、,動態(tài)模型起著很重要的作用。v建立動態(tài)模型的步驟:建立動態(tài)模型的步驟:v 編寫典型交互行為的腳本編寫典型交互行為的腳本v 從腳本中提取出事件,確定觸發(fā)每個事件的動作對象以及從腳本中提取出事件,確定觸發(fā)每個事件的動作對象以及接受事件的目標(biāo)對象接受事件的目標(biāo)對象v 排列事件發(fā)生的次序,確定每個對象可能有的狀態(tài)及狀態(tài)排列事件發(fā)生的次序,確定每個對象可能有的狀態(tài)及狀態(tài)間的轉(zhuǎn)換關(guān)系,并用狀態(tài)圖描繪它們間的轉(zhuǎn)換關(guān)系,并用狀態(tài)圖描繪它們v 比較各個對象的狀態(tài)圖,檢查它們之間的一致性,確保事比較各個對象的狀態(tài)圖,檢查它們之間的一致性,確保事件之間的匹配件之間的匹配10.4.1 編寫腳本編寫腳本v腳本:指系統(tǒng)在

33、某一執(zhí)行期間內(nèi)出現(xiàn)的一系列事件,用來腳本:指系統(tǒng)在某一執(zhí)行期間內(nèi)出現(xiàn)的一系列事件,用來描述用戶描述用戶( (或其他外部設(shè)備或其他外部設(shè)備) )與目標(biāo)系統(tǒng)之間的一個或多個與目標(biāo)系統(tǒng)之間的一個或多個典型的交互過程。編寫腳本的過程,實質(zhì)上就是分析用戶典型的交互過程。編寫腳本的過程,實質(zhì)上就是分析用戶對系統(tǒng)交互行為的要求的過程。對系統(tǒng)交互行為的要求的過程。v腳本描寫的范圍主要由編寫腳本的具體目的決定。腳本描寫的范圍主要由編寫腳本的具體目的決定。v編寫腳本時,首先編寫正常情況的腳本。然后考慮特殊情編寫腳本時,首先編寫正常情況的腳本。然后考慮特殊情況,最后考慮出錯情況。況,最后考慮出錯情況。v對于每個事件

34、,都應(yīng)該指明觸發(fā)該事件的動作對象、接受對于每個事件,都應(yīng)該指明觸發(fā)該事件的動作對象、接受事件的目標(biāo)對象以及該事件的參數(shù)。事件的目標(biāo)對象以及該事件的參數(shù)。v課本表課本表10.110.1、10.210.210.4.2 設(shè)想用戶界面設(shè)想用戶界面v大多數(shù)交互行為都可以分為應(yīng)用邏輯和用戶界面兩部分。大多數(shù)交互行為都可以分為應(yīng)用邏輯和用戶界面兩部分。應(yīng)用邏輯是內(nèi)在的、本質(zhì)的內(nèi)容,用戶界面是外在的表現(xiàn)應(yīng)用邏輯是內(nèi)在的、本質(zhì)的內(nèi)容,用戶界面是外在的表現(xiàn)形式,采用不同界面可以實現(xiàn)同樣的程序邏輯。形式,采用不同界面可以實現(xiàn)同樣的程序邏輯。v在分析階段也不能完全忽略用戶界面。在這個階段用戶界在分析階段也不能完全忽略

35、用戶界面。在這個階段用戶界面的細節(jié)并不太重要,重要的是在這種界面下的信息交換面的細節(jié)并不太重要,重要的是在這種界面下的信息交換方式。方式。v軟件開發(fā)人員往往快速地建立起用戶界面的原型,供用戶軟件開發(fā)人員往往快速地建立起用戶界面的原型,供用戶試用與評價。試用與評價。ATMATM系統(tǒng)界面格式:系統(tǒng)界面格式:10.4.3 畫事件跟蹤圖畫事件跟蹤圖v完整、正確的腳本是建立動態(tài)模型的基礎(chǔ)。但是,用自然完整、正確的腳本是建立動態(tài)模型的基礎(chǔ)。但是,用自然語言書寫的腳本往往不夠簡明,而且可能有二義性。為了語言書寫的腳本往往不夠簡明,而且可能有二義性。為了更好的建立動態(tài)模型,通常在畫狀態(tài)圖之前先畫出事件跟更好的

36、建立動態(tài)模型,通常在畫狀態(tài)圖之前先畫出事件跟蹤圖。蹤圖。1. 確定事件確定事件v仔細分析每個腳本,從中提取出所有外部事件。仔細分析每個腳本,從中提取出所有外部事件。v事件包括系統(tǒng)與用戶事件包括系統(tǒng)與用戶( (或外部設(shè)備或外部設(shè)備) )交互的所有信號、輸入、交互的所有信號、輸入、輸出、中斷、動作等;傳遞信息的對象的動作也是事件;輸出、中斷、動作等;傳遞信息的對象的動作也是事件;大多數(shù)對象到對象的交互行為都對應(yīng)著事件。大多數(shù)對象到對象的交互行為都對應(yīng)著事件。v應(yīng)該把對控制流產(chǎn)生相同效果的那些事件組合在一起作為應(yīng)該把對控制流產(chǎn)生相同效果的那些事件組合在一起作為一類事件,并給它們?nèi)∫粋€惟一的名字;應(yīng)該

37、把對控制流一類事件,并給它們?nèi)∫粋€惟一的名字;應(yīng)該把對控制流有不同影響的那些事件區(qū)分開來,不要誤把它們組合在一有不同影響的那些事件區(qū)分開來,不要誤把它們組合在一起。起。v經(jīng)過分析,應(yīng)該區(qū)分出每類事件的發(fā)送對象和接受對象。經(jīng)過分析,應(yīng)該區(qū)分出每類事件的發(fā)送對象和接受對象。2. 畫出事件跟蹤圖畫出事件跟蹤圖10.4.4 畫狀態(tài)圖畫狀態(tài)圖v狀態(tài)圖描繪事件與對象狀態(tài)的關(guān)系。由事件引起的狀態(tài)改狀態(tài)圖描繪事件與對象狀態(tài)的關(guān)系。由事件引起的狀態(tài)改變稱為變稱為“轉(zhuǎn)換轉(zhuǎn)換”。如果一個事件并不引起當(dāng)前狀態(tài)發(fā)生轉(zhuǎn)。如果一個事件并不引起當(dāng)前狀態(tài)發(fā)生轉(zhuǎn)換,則可忽略這個事件。換,則可忽略這個事件。v通常,用一張狀態(tài)圖描繪

38、一類對象的行為,但并不是任何通常,用一張狀態(tài)圖描繪一類對象的行為,但并不是任何一個類都需要一張狀態(tài)圖,系統(tǒng)分析員僅需集中精力考慮一個類都需要一張狀態(tài)圖,系統(tǒng)分析員僅需集中精力考慮具有重要交互行為的那些類。具有重要交互行為的那些類。v從事件跟蹤圖出發(fā)畫某類對象的狀態(tài)圖:從事件跟蹤圖出發(fā)畫某類對象的狀態(tài)圖:v把事件跟蹤圖中指向某條豎線(某類對象)的那些箭把事件跟蹤圖中指向某條豎線(某類對象)的那些箭頭線(事件)作為狀態(tài)圖中的有向邊頭線(事件)作為狀態(tài)圖中的有向邊( (即箭頭線即箭頭線) ),邊,邊上標(biāo)以事件名;上標(biāo)以事件名;v兩個事件之間的間隔就是一個狀態(tài);兩個事件之間的間隔就是一個狀態(tài);v把從事

39、件跟蹤圖中某條豎線(某類對象)射出的箭頭把從事件跟蹤圖中某條豎線(某類對象)射出的箭頭線作為此類對象達到某個狀態(tài)時所做的行為;線作為此類對象達到某個狀態(tài)時所做的行為;v根據(jù)一張事件跟蹤圖畫出狀態(tài)圖之后,再把其他腳本的事根據(jù)一張事件跟蹤圖畫出狀態(tài)圖之后,再把其他腳本的事件跟蹤圖合并到已畫出的狀態(tài)圖中:在事件跟蹤圖中找出件跟蹤圖合并到已畫出的狀態(tài)圖中:在事件跟蹤圖中找出以前考慮過的腳本的分支點(例如以前考慮過的腳本的分支點(例如“驗證賬戶驗證賬戶”),然后),然后把其他腳本中的事件序列并入已有的狀態(tài)圖中,作為一條把其他腳本中的事件序列并入已有的狀態(tài)圖中,作為一條可選的路徑??蛇x的路徑。v考慮完正常

40、事件之后再考慮邊界情況和特殊情況,其中包考慮完正常事件之后再考慮邊界情況和特殊情況,其中包括在不適當(dāng)時候發(fā)生的事件。括在不適當(dāng)時候發(fā)生的事件。v狀態(tài)圖構(gòu)造完成后,還需進一步設(shè)想各種可能出現(xiàn)的情況狀態(tài)圖構(gòu)造完成后,還需進一步設(shè)想各種可能出現(xiàn)的情況來測試狀態(tài)圖的完整性和出錯處理能力。來測試狀態(tài)圖的完整性和出錯處理能力。ATMATM類的狀態(tài)圖類的狀態(tài)圖總行類的狀態(tài)圖總行類的狀態(tài)圖分行類的狀態(tài)圖分行類的狀態(tài)圖10.4.5 審查動態(tài)模型審查動態(tài)模型v各個類的狀態(tài)圖通過共享事件合并起來,構(gòu)成了系統(tǒng)的動各個類的狀態(tài)圖通過共享事件合并起來,構(gòu)成了系統(tǒng)的動態(tài)模型。態(tài)模型。 v在完成了每個具有重要交互行為的類的狀

41、態(tài)圖之后,應(yīng)該在完成了每個具有重要交互行為的類的狀態(tài)圖之后,應(yīng)該檢查系統(tǒng)級的完整性和一致性:檢查系統(tǒng)級的完整性和一致性:v每個事件都應(yīng)該既有發(fā)送對象又有接受對象;每個事件都應(yīng)該既有發(fā)送對象又有接受對象;v除了交互序列的起點和終點,每個狀態(tài)都應(yīng)該有前驅(qū)除了交互序列的起點和終點,每個狀態(tài)都應(yīng)該有前驅(qū)和后繼。和后繼。v應(yīng)該審查每個事件,跟蹤它對系統(tǒng)中各個對象所產(chǎn)生的效應(yīng)該審查每個事件,跟蹤它對系統(tǒng)中各個對象所產(chǎn)生的效果,以保證它們與每個腳本都匹配。果,以保證它們與每個腳本都匹配。建立上述牙科診所管理系統(tǒng)的動態(tài)模型。建立上述牙科診所管理系統(tǒng)的動態(tài)模型。10.5 建立功能模型建立功能模型v功能模型表明了

42、系統(tǒng)中數(shù)據(jù)之間的依賴關(guān)系,以及有關(guān)的功能模型表明了系統(tǒng)中數(shù)據(jù)之間的依賴關(guān)系,以及有關(guān)的數(shù)據(jù)處理功能,它由一組數(shù)據(jù)流圖組成。其中的處理功能數(shù)據(jù)處理功能,它由一組數(shù)據(jù)流圖組成。其中的處理功能可以用可以用IPOIPO圖圖( (或表或表) )、偽碼等多種方式進一步描述。、偽碼等多種方式進一步描述。v通常在建立了對象模型和動態(tài)模型之后再建立功能模型。通常在建立了對象模型和動態(tài)模型之后再建立功能模型。10.5.1 畫出基本系統(tǒng)模型圖畫出基本系統(tǒng)模型圖v基本系統(tǒng)模型由若干個數(shù)據(jù)源點基本系統(tǒng)模型由若干個數(shù)據(jù)源點/ /終點,及一個處理框組終點,及一個處理框組成,這個處理框代表了系統(tǒng)加工、變換數(shù)據(jù)的整體功能。成,

43、這個處理框代表了系統(tǒng)加工、變換數(shù)據(jù)的整體功能。10.5.2 畫出功能級數(shù)據(jù)流圖畫出功能級數(shù)據(jù)流圖v把基本系統(tǒng)模型中單一的處理框分解成若干個處理框,以把基本系統(tǒng)模型中單一的處理框分解成若干個處理框,以描述系統(tǒng)加工、變換數(shù)據(jù)的基本功能,就得到功能級數(shù)據(jù)描述系統(tǒng)加工、變換數(shù)據(jù)的基本功能,就得到功能級數(shù)據(jù)流圖。流圖。ATMATM系統(tǒng)功能級數(shù)據(jù)流圖系統(tǒng)功能級數(shù)據(jù)流圖10.5.3 描述處理框功能描述處理框功能v把數(shù)據(jù)流圖分解細化到一定程度之后,就應(yīng)該描述圖中各把數(shù)據(jù)流圖分解細化到一定程度之后,就應(yīng)該描述圖中各個處理框的功能。應(yīng)該注意的是,要著重描述每個處理框個處理框的功能。應(yīng)該注意的是,要著重描述每個處理

44、框所代表的功能,而不是實現(xiàn)功能的具體算法。所代表的功能,而不是實現(xiàn)功能的具體算法。v描述既可以是說明性的,也可以是過程性的。描述既可以是說明性的,也可以是過程性的。v說明性描述規(guī)定了輸入值和輸出值之間的關(guān)系,以及說明性描述規(guī)定了輸入值和輸出值之間的關(guān)系,以及輸出值應(yīng)遵循的規(guī)律。輸出值應(yīng)遵循的規(guī)律。v過程性描述則通過算法說明過程性描述則通過算法說明“做什么做什么”。v一般說來,說明性描述優(yōu)于過程性描述。一般說來,說明性描述優(yōu)于過程性描述。v課本課本255255頁表頁表10.310.3:對更新賬戶功能的描述:對更新賬戶功能的描述建立用例模型 使用用例方法來描述系統(tǒng)的功能需求的過程就是用例建模,主要

45、包括下面兩部分: 用例圖:確定系統(tǒng)中所包含的參與者、用例和兩者之間的對應(yīng)關(guān)系,是關(guān)于系統(tǒng)功能的概述; 用例規(guī)約(use case specification):針對每一個用例都應(yīng)該有一個用例規(guī)約文檔與之相對應(yīng),該文檔描述用例的細節(jié)內(nèi)容。 用例建模過程中,建議先找出參與者,再根據(jù)參與者確定每個參與者相關(guān)的用例,最后再細化每一個用例的用例規(guī)約。尋找參與者 尋找參與者可以從以下問題入手: 系統(tǒng)開發(fā)完成之后,哪些人會使用這個系統(tǒng)? 系統(tǒng)需要從哪些人或其他系統(tǒng)中獲得數(shù)據(jù)? 系統(tǒng)會為哪些人或其他系統(tǒng)提供數(shù)據(jù)? 系統(tǒng)會與哪些其他系統(tǒng)相關(guān)聯(lián)? 系統(tǒng)是由誰來維護和管理的? 參與者是由系統(tǒng)邊界所決定的。用例建模時不要將一些系統(tǒng)的組成結(jié)構(gòu)作為參與者來進行抽象。 有時需要在系統(tǒng)內(nèi)部定時地執(zhí)行一些操作,從表面上看這些操作并不是由外部的人或系統(tǒng)觸發(fā)的,應(yīng)該怎樣用用例方法來表述這一類功能需求呢? 可以抽象出一個系統(tǒng)時鐘或定時器參與者,利用該參與者來觸發(fā)這一類定時操作。確定用例 尋找用例可以從以下問題入手(針對每一個參與者

溫馨提示

  • 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

提交評論