類(lèi)圖、時(shí)序圖、狀態(tài)圖-ATM系統(tǒng)PPT課件_第1頁(yè)
類(lèi)圖、時(shí)序圖、狀態(tài)圖-ATM系統(tǒng)PPT課件_第2頁(yè)
類(lèi)圖、時(shí)序圖、狀態(tài)圖-ATM系統(tǒng)PPT課件_第3頁(yè)
類(lèi)圖、時(shí)序圖、狀態(tài)圖-ATM系統(tǒng)PPT課件_第4頁(yè)
類(lèi)圖、時(shí)序圖、狀態(tài)圖-ATM系統(tǒng)PPT課件_第5頁(yè)
已閱讀5頁(yè),還剩51頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2021/3/91第10章 面向?qū)ο蠓治?0.1 面向?qū)ο蠓治龅幕具^(guò)程10.2 需求陳述10.3 建立對(duì)象模型10.4 建立動(dòng)態(tài)模型10.5 建立功能模型10.6 定義服務(wù)10.7 小結(jié) 2021/3/9210.1 面向?qū)ο蠓治龅幕具^(guò)程 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?抽取和整理用戶(hù)需求并建立問(wèn)題域精確模型的過(guò)程. 理解-用戶(hù)、分析員和領(lǐng)域?qū)<?表達(dá)-需求規(guī)格說(shuō)明書(shū)(對(duì)象模型、動(dòng)態(tài)模型、功能模型) 驗(yàn)證-二義性,完善性 對(duì)象模型最基本、最重要、最核心。2021/3/9310.1 面向?qū)ο蠓治龅幕具^(guò)程 3個(gè)子模型個(gè)子模型 對(duì)所解決問(wèn)題的描述角度進(jìn)行劃分: 靜態(tài)結(jié)構(gòu)(對(duì)象模型) 3個(gè)子模型 交互次

2、序(動(dòng)態(tài)模型) 數(shù)據(jù)變換(功能模型) 解決問(wèn)題不同,三個(gè)子模型的重要程度也不同。2021/3/9410.1 面向?qū)ο蠓治龅幕具^(guò)程 5個(gè)層次個(gè)層次 復(fù)雜問(wèn)題的對(duì)象模型的5個(gè)層次五個(gè)層次像是對(duì)象模型的五個(gè)層次像是對(duì)象模型的5張水平切片,張水平切片, 一層比一層顯示出對(duì)象模型的更多細(xì)節(jié)。一層比一層顯示出對(duì)象模型的更多細(xì)節(jié)。主題指讀者理解大型、主題指讀者理解大型、復(fù)雜模型的一種機(jī)制復(fù)雜模型的一種機(jī)制(記憶的(記憶的7+27+2原則)原則)2021/3/95 面向?qū)ο蠓治龅倪^(guò)程 尋找類(lèi)與對(duì)象 識(shí)別結(jié)構(gòu) 識(shí)別主題 定義屬性 建立動(dòng)態(tài)模型 建立功能模型 定義服務(wù) 10.1 面向?qū)ο蠓治龅幕具^(guò)程2021/

3、3/9610.2 需求陳述 需求陳述是闡明“做什么”,而不是“怎樣做”問(wèn)題范圍功能需求性能需求應(yīng)用環(huán)境假設(shè)條件2021/3/97ATM機(jī)系統(tǒng)問(wèn)題描述機(jī)系統(tǒng)問(wèn)題描述銀行網(wǎng)絡(luò)中包含柜員和 ATM,ATM 被共享中心所分享。每家銀行利用自己的計(jì)算機(jī)維護(hù)自己的賬戶(hù)并處理賬戶(hù)所屬的交易,這些交易包括存款和取款。某些銀行擁有自己的柜員站,柜員站直接和該銀行的計(jì)算機(jī)通信,柜員鍵入賬戶(hù)數(shù)據(jù)和交易數(shù)據(jù)。ATM 和中心計(jì)算機(jī)通信,中心計(jì)算機(jī)再和銀行清賬。ATM 接受金融卡,要求用戶(hù)做些操作后和中心計(jì)算機(jī)通信,執(zhí)行交易給予現(xiàn)金和打印收據(jù)。系統(tǒng)要求保留交易記錄和嚴(yán)守安全規(guī)定。能同時(shí)存取客戶(hù)的相同賬戶(hù)。10.2 需求陳

4、述2021/3/98 自動(dòng)取款機(jī)(ATM)系統(tǒng) ATM系統(tǒng)10.2 需求陳述2021/3/9910.3 建立對(duì)象模型建立對(duì)象模型典型的步驟: 確定對(duì)象類(lèi)和關(guān)聯(lián),對(duì)于大型復(fù)雜問(wèn)題還要進(jìn)一步劃分出若干個(gè)主題; 給類(lèi)和關(guān)聯(lián)增添屬性,以進(jìn)一步描述它們; 利用適當(dāng)?shù)睦^承關(guān)系進(jìn)一步合并和組織類(lèi)。2021/3/91010.3 建立對(duì)象模型10.3.1 找出候選類(lèi)與對(duì)象1.找出候選的類(lèi)與對(duì)象尋找以下五類(lèi)客觀事物尋找以下五類(lèi)客觀事物可感知的物理實(shí)體人或組織的角色應(yīng)該記憶的事件兩個(gè)或多個(gè)對(duì)象的相互作用,通常具有交易或接觸的性質(zhì)需要說(shuō)明的概念2021/3/91110.3 建立對(duì)象模型10.3.1找出候選類(lèi)與對(duì)象1.

5、找出候選的類(lèi)與對(duì)象(續(xù))名詞解析法 從陳述中找出所有名詞,作為類(lèi)和對(duì)象的初步候選者從陳述中找出所有名詞,作為類(lèi)和對(duì)象的初步候選者 銀行,自動(dòng)取款機(jī)(ATM),系統(tǒng),中央計(jì)算機(jī), 分行計(jì)算機(jī),柜員終端,網(wǎng)絡(luò),總行,分行,軟件, 成本,市,街道,營(yíng)業(yè)廳,儲(chǔ)蓄所,柜員,儲(chǔ)戶(hù), 現(xiàn)金,支票,賬戶(hù),事物,現(xiàn)金兌換卡,余額, 磁卡,分行代碼,卡號(hào),用戶(hù),副本,信息,密碼, 類(lèi)型,取款額,賬單,訪問(wèn)。 通信鏈路通信鏈路 事務(wù)日志事務(wù)日志2021/3/91210.3 建立對(duì)象模型10.3.1找出候選類(lèi)與對(duì)象2.篩選出正確的類(lèi)與對(duì)象篩選時(shí)主要依據(jù)下列標(biāo)準(zhǔn),刪除不正確或不必要的類(lèi)篩選時(shí)主要依據(jù)下列標(biāo)準(zhǔn),刪除不正確

6、或不必要的類(lèi)與對(duì)象與對(duì)象(1)冗余(2)無(wú)關(guān)(3)籠統(tǒng)(4)屬性(5)操作(6)實(shí)現(xiàn)銀行,自動(dòng)取款機(jī)(ATM),系統(tǒng),中央計(jì)算機(jī)分行計(jì)算機(jī),柜員終端,網(wǎng)絡(luò),總行,分行,軟件,成本,市,街道,營(yíng)業(yè)廳,儲(chǔ)蓄所,柜員,儲(chǔ)戶(hù), 現(xiàn)金,支票,賬戶(hù),事物,現(xiàn)金兌換卡,余額,磁卡,分行代碼,卡號(hào),用戶(hù),副本,信息,密碼,類(lèi)型,取款額,賬單,訪問(wèn)。通信鏈路通信鏈路 事務(wù)日志事務(wù)日志(儲(chǔ)戶(hù)、用戶(hù);現(xiàn)金兌換卡、磁卡和副本)(成本、市、街道、營(yíng)業(yè)廳和儲(chǔ)蓄所)(銀行、訪問(wèn)、信息、網(wǎng)絡(luò)、系統(tǒng)、軟件等)(現(xiàn)金、支票、取款額、賬單、余額、分行代碼、 卡號(hào)、密碼、類(lèi)型)(事務(wù)日志、通信鏈路) 2021/3/91310.3 建

7、立對(duì)象模型10.3.1找出候選類(lèi)與對(duì)象2.篩選出正確的類(lèi)與對(duì)象 ATM、中央計(jì)算機(jī)、分行計(jì)算機(jī)、柜員終端、總行、分行、柜員、儲(chǔ)戶(hù)、賬戶(hù)、事務(wù)、現(xiàn)金兌換卡2021/3/91410.3 建立對(duì)象模型10.3.2 確定關(guān)聯(lián)1.初步確定關(guān)聯(lián) 需求陳述中使用的描述性動(dòng)詞或動(dòng)詞詞組,通 常表示關(guān)聯(lián)關(guān)系。直接提取動(dòng)詞短語(yǔ)得出關(guān)聯(lián)需求陳述中隱含的關(guān)聯(lián)根據(jù)問(wèn)題域知識(shí)得出的關(guān)聯(lián)2.篩選(根據(jù)下述標(biāo)準(zhǔn)刪除候選關(guān)聯(lián))已刪去的類(lèi)之間的關(guān)聯(lián)與問(wèn)題無(wú)關(guān)的或在實(shí)現(xiàn)階段考慮的關(guān)聯(lián)瞬時(shí)事件三元關(guān)聯(lián)派生關(guān)聯(lián) 2021/3/915直接提取動(dòng)詞短語(yǔ)得出的關(guān)聯(lián)直接提取動(dòng)詞短語(yǔ)得出的關(guān)聯(lián)ATM、中央計(jì)算機(jī)、分行計(jì)算機(jī)及柜員終端組成網(wǎng)絡(luò)???/p>

8、行擁有多臺(tái)ATM。ATM設(shè)在主要街道上。分行提供分行計(jì)算機(jī)和柜員終端。柜員終端設(shè)在分行營(yíng)業(yè)廳及儲(chǔ)蓄所內(nèi)。分行分?jǐn)傑浖_(kāi)發(fā)成本。儲(chǔ)戶(hù)擁有賬戶(hù)。分行計(jì)算機(jī)處理針對(duì)賬戶(hù)的事務(wù)。分行計(jì)算機(jī)維護(hù)賬戶(hù)。柜員終端與分行計(jì)算機(jī)通信。柜員輸入針對(duì)賬戶(hù)的事務(wù)。ATM與中央計(jì)算機(jī)交換關(guān)于事務(wù)的信息。中央計(jì)算機(jī)確定事務(wù)與分行的對(duì)應(yīng)關(guān)系。ATM讀現(xiàn)金兌換卡。ATM與用戶(hù)交互。ATM吐出現(xiàn)金。ATM打印賬單。系統(tǒng)處理并發(fā)的訪問(wèn)。隱含的關(guān)聯(lián)隱含的關(guān)聯(lián)總行由各個(gè)分行組成。分行保管賬戶(hù)??傂袚碛兄醒胗?jì)算機(jī)。系統(tǒng)維護(hù)事務(wù)日志。系統(tǒng)提供必要的安全性。儲(chǔ)戶(hù)擁有現(xiàn)金兌換卡。中央計(jì)算機(jī)與分行通信根據(jù)問(wèn)題域知識(shí)得出的關(guān)聯(lián)根據(jù)問(wèn)題域知識(shí)得出

9、的關(guān)聯(lián)現(xiàn)金兌換卡訪問(wèn)賬戶(hù)。分行雇用柜員。2021/3/91610.3 建立對(duì)象模型10.3.2 確定關(guān)聯(lián)3.進(jìn)一步完善正名、分解、補(bǔ)充、標(biāo)明重?cái)?shù) ATMATM系統(tǒng)原始的類(lèi)圖系統(tǒng)原始的類(lèi)圖2021/3/91710.3 建立對(duì)象模型10.3.3 劃分主題在概念上把系統(tǒng)包含的內(nèi)容分解成若干個(gè)范疇?wèi)?yīng)該按問(wèn)題領(lǐng)域而不是用功能分解的方法來(lái)確定主題不同主題內(nèi)的對(duì)象相互間依賴(lài)和交互最少的原則 總行(總行和中央計(jì)算機(jī)) ATM系統(tǒng) 分行(分行、分行計(jì)算機(jī)、柜員終端、柜員 事務(wù)、柜員和賬戶(hù)等) ATM(ATM、遠(yuǎn)程事務(wù)、現(xiàn)金兌換卡和儲(chǔ)戶(hù))2021/3/91810.3 建立對(duì)象模型10.3.4 確定屬性屬性是對(duì)象的

10、性質(zhì)或特征注意在分析階段不要用屬性來(lái)表示對(duì)象間的關(guān)系,使用關(guān)聯(lián)能夠表示兩個(gè)對(duì)象間的任何關(guān)系,而且把關(guān)系表示得更清晰、更醒目。確定屬性的過(guò)程包括分析和選擇兩個(gè)步驟。2021/3/91910.3 建立對(duì)象模型10.3.4 確定屬性選擇在需求陳述中一般用名詞詞組表示屬性需藉助于領(lǐng)域知識(shí)和常識(shí)才能分析得出屬性屬性對(duì)問(wèn)題域的基本結(jié)構(gòu)影響很小屬性的確定與問(wèn)題域和目標(biāo)系統(tǒng)的任務(wù)有關(guān)。不要考慮那些超出所要解決的問(wèn)題范圍的屬性。先找最重要的屬性,再逐漸把其余屬性增添進(jìn)去。分析階段不考慮那些純粹用于實(shí)現(xiàn)的屬性。2021/3/92010.3 建立對(duì)象模型10.3.4 確定屬性分析(1) 誤把對(duì)象當(dāng)作屬性同一個(gè)實(shí)體在

11、不同應(yīng)用領(lǐng)域中,到底應(yīng)該作為對(duì)象還是屬性,需要具體分析才能確定。例如,儲(chǔ)戶(hù)/賬戶(hù).(2) 誤把關(guān)聯(lián)類(lèi)的屬性當(dāng)作對(duì)象的屬性如果某個(gè)性質(zhì)依賴(lài)于某個(gè)關(guān)聯(lián)鏈的存在,則該性質(zhì)是關(guān)聯(lián)類(lèi)的屬性,不應(yīng)該把它作為一般對(duì)象的屬性。例如,帶寬是體現(xiàn)關(guān)聯(lián)的屬性而不是ATM的2021/3/92110.3 建立對(duì)象模型10.3.4 確定屬性分析(3) 把限定誤當(dāng)成屬性正確使用限定詞往往可以減少關(guān)聯(lián)的重?cái)?shù)。如果把某個(gè)屬性值固定下來(lái)以后能減少關(guān)聯(lián)的重?cái)?shù),則應(yīng)該考慮把這個(gè)屬性重新表述成一個(gè)限定詞。在ATM系統(tǒng)的例子中,“分行代碼”、“賬號(hào)”、“雇員號(hào)”、“站號(hào)”等都是限定詞。(4) 誤把內(nèi)部狀態(tài)當(dāng)成了屬性如果某個(gè)性質(zhì)是對(duì)象的非

12、公開(kāi)的內(nèi)部狀態(tài),則應(yīng)該從對(duì)象模型中刪掉這個(gè)屬性。2021/3/92210.3 建立對(duì)象模型10.3.4 確定屬性分析(5) 過(guò)于細(xì)化在分析階段應(yīng)該忽略那些對(duì)大多數(shù)操作都沒(méi)有影響的屬性。(6) 存在不一致的屬性類(lèi)應(yīng)該是簡(jiǎn)單而且一致的。如果得出一些看起來(lái)與其他屬性毫不相關(guān)的屬性,則應(yīng)該考慮把該類(lèi)分解成兩個(gè)不同的類(lèi)。e.g. 輪,帆;2021/3/923經(jīng)過(guò)篩選之后,得到ATM系統(tǒng)中各個(gè)類(lèi)的屬性,如圖所示。10.3 建立對(duì)象模型2021/3/924建立類(lèi)間的繼承是為了共享其公共性質(zhì)/屬性。 繼承也對(duì)類(lèi)按層次加以組織。繼承關(guān)系反映出一定深度的領(lǐng)域知識(shí),需領(lǐng)域?qū)<颐芮信浜喜拍芡瓿?。繼承前人的成果是提高效

13、率的重要方法,也是復(fù)用的基礎(chǔ)。10.3.5 識(shí)別繼承關(guān)系識(shí)別繼承關(guān)系2021/3/925兩種建立繼承(即泛化)關(guān)系的方式:(1) 自底向上: 抽象出現(xiàn)有類(lèi)的共同性質(zhì)泛化出父類(lèi),這個(gè)過(guò)程實(shí)質(zhì)上模擬了人類(lèi)歸納思維過(guò)程。例如,在ATM系統(tǒng)中,“遠(yuǎn)程事務(wù)”和“柜員事務(wù)”是類(lèi)似的,可以泛化出父類(lèi)“事務(wù)”;類(lèi)似地,從“ATM”和“柜員終端”泛化出父類(lèi)“輸入站”。(2) 自頂向下: 把現(xiàn)有類(lèi)細(xì)化成更具體的子類(lèi)或從已知類(lèi)派生出一個(gè)新類(lèi),這模擬了人類(lèi)的演繹思維過(guò)程:從一般到特殊。帶有形容詞修飾的名詞詞組往往暗示了一些具體類(lèi)。分析階段應(yīng)該避免過(guò)度細(xì)化。2021/3/926增加了繼承關(guān)系之后的ATM對(duì)象模型2021

14、/3/927一次建模過(guò)程很難得到完全正確的對(duì)象模型。有些細(xì)化工作(例如,定義服務(wù))是在建立了動(dòng)態(tài)模型和功能模型之后才進(jìn)行的。由于面向?qū)ο蟮母拍詈头?hào)在整個(gè)開(kāi)發(fā)過(guò)程中都是一致的,因此遠(yuǎn)比使用結(jié)構(gòu)分析、設(shè)計(jì)技術(shù)更容易實(shí)現(xiàn)反復(fù)修改、逐步完善的過(guò)程。建模的步驟并不一定按照前面講述的次序進(jìn)行。它給初學(xué)者提供了一個(gè)指南。下面以ATM系統(tǒng)為例,討論可能做的修改:10.3.6 反復(fù)修改2021/3/9281. 分解“現(xiàn)金兌換卡”類(lèi)“現(xiàn)金兌換卡”有兩個(gè)相對(duì)獨(dú)立的功能,它既是鑒別儲(chǔ)戶(hù)及使用ATM的權(quán)限的卡,又是ATM獲得分行代碼和卡號(hào)等數(shù)據(jù)的數(shù)據(jù)載體。因此,把“現(xiàn)金兌換卡”類(lèi)分解為“卡權(quán)限”和“現(xiàn)金兌換卡”兩個(gè)類(lèi)

15、,將使每個(gè)類(lèi)的功能更單一:前一個(gè)類(lèi)標(biāo)志儲(chǔ)戶(hù)訪問(wèn)賬戶(hù)的權(quán)限,后一個(gè)類(lèi)是含有分行代碼和卡號(hào)的數(shù)據(jù)載體。多張現(xiàn)金兌換卡可能對(duì)應(yīng)著相同的訪問(wèn)權(quán)限。2021/3/9292. “事務(wù)”由“更新”組成一個(gè)事務(wù)可包含對(duì)賬戶(hù)的若干次更新。更新指的是對(duì)賬戶(hù)所做的一個(gè)動(dòng)作(取款、存款或查詢(xún))。“更新” 有自己的屬性(類(lèi)型、金額等),應(yīng)該獨(dú)立存在,因此應(yīng)該把它作為類(lèi)。3. 把“分行”與“分行計(jì)算機(jī)”合并區(qū)分“分行”與“分行計(jì)算機(jī)”,對(duì)于分析這個(gè)系統(tǒng)來(lái)說(shuō),并沒(méi)有多大意義,為簡(jiǎn)單起見(jiàn),把它們合并。類(lèi)似地,應(yīng)該合并“總行”和“中央計(jì)算機(jī)”。下圖給出了修改后的ATM對(duì)象模型,與修改前比較起來(lái),它更簡(jiǎn)單、更清晰。2021/3/

16、930修正:總行/分行的通信,儲(chǔ)戶(hù)輸入事務(wù)(ATM) ATM讀卡擁有/通信修改后的ATM對(duì)象模型2021/3/931對(duì)于僅存儲(chǔ)靜態(tài)數(shù)據(jù)的系統(tǒng)(例如數(shù)據(jù)庫(kù))來(lái)說(shuō),動(dòng)態(tài)模型并沒(méi)有什么意義。但是若開(kāi)發(fā)交互式系統(tǒng)交互式系統(tǒng)時(shí),動(dòng)態(tài)模型卻起著很重要的作用。 例如: 收集輸入信息是目標(biāo)系統(tǒng)的主要工作10.4 建立動(dòng)態(tài)模型的方法2021/3/932建立動(dòng)態(tài)模型的三步:l 編寫(xiě)典型交互行為的腳本, 不遺漏常見(jiàn)的交互行為。l從腳本中提取出事件,確定觸發(fā)每個(gè)事件的動(dòng)作對(duì)象以及接受事件的目標(biāo)對(duì)象。l排列事件發(fā)生的次序,確定每個(gè)對(duì)象可能有的狀態(tài)及狀態(tài)間的轉(zhuǎn)換關(guān)系,并用狀態(tài)圖描繪它們。最后,比較各個(gè)對(duì)象的狀態(tài)圖,檢查它

17、們之間的一致性,確保事件之間的匹配。2021/3/933腳本: 是指系統(tǒng)在某一執(zhí)行期間內(nèi)出現(xiàn)的一系列事件。腳本功能: 描述用戶(hù)(或其他外部設(shè)備)與目標(biāo)系統(tǒng)之間的一個(gè)或多個(gè)典型的交互過(guò)程。編寫(xiě)腳本的目的: 是保證不遺漏重要的交互步驟,有助于確保整個(gè)交互過(guò)程的正確性的和清晰性。編寫(xiě)腳本內(nèi)容: 描寫(xiě)既可以包括系統(tǒng)中發(fā)生的全部事件,也可以只包括由某些特定對(duì)象觸發(fā)的事件。對(duì)于每個(gè)事件,都應(yīng)該指明觸發(fā)該事件的動(dòng)作對(duì)象(系統(tǒng)、用戶(hù)或其他事物)、接受事件的目標(biāo)對(duì)象以及該事件的參數(shù)。編寫(xiě)步驟: 編寫(xiě)正常情況的腳本??紤]特殊情況,例如輸入或輸出的數(shù)據(jù)為最大值(或最小值)。考慮出錯(cuò)情況,例如,輸入的值為非法值或響應(yīng)

18、失敗。10.4.1 編寫(xiě)腳本編寫(xiě)腳本2021/3/934ATM系統(tǒng)正常和和異常腳本2021/3/935 交互行為可以分為應(yīng)用邏輯和用戶(hù)界面兩部分。 不同界面(例如,命令行或圖形用戶(hù)界面),可以實(shí)現(xiàn)同樣的應(yīng)用邏輯。應(yīng)用邏輯是內(nèi)在的、本質(zhì)的內(nèi)容,用戶(hù)界面是外在的表現(xiàn)形式。 動(dòng)態(tài)模型著重表示應(yīng)用系統(tǒng)的控制邏輯。 分析階段不能忽略用戶(hù)界面。應(yīng)確定界面的輪廓. 可以考慮其他方式, 如語(yǔ)音. 目的是確保能夠完成全部必要的信息交換。10.4.2 設(shè)想用戶(hù)界面2021/3/936事件跟蹤圖有助于畫(huà)狀態(tài)圖。它把事件序列以及事件與對(duì)象的關(guān)系,形象、清晰地表示出來(lái)。事件跟蹤圖實(shí)質(zhì)上是擴(kuò)充的腳本,是簡(jiǎn)化的UML順序圖

19、。在事件跟蹤圖中,一條豎線代表一個(gè)對(duì)象,每個(gè)事件用一條水平的箭頭線表示,箭頭方向從事件的發(fā)送對(duì)象指向接受對(duì)象。時(shí)間從上向下遞增。下圖是ATM系統(tǒng)正常情況下的事件跟蹤圖。10.4.3 畫(huà)事件跟蹤圖2021/3/937如何確定事件 通過(guò)分析腳本,可從中提取出所有外部事件。 事件包括系統(tǒng)與用戶(hù)交互的所有信號(hào)、輸入、輸出、中斷、動(dòng)作等等。 例如,儲(chǔ)戶(hù)插入現(xiàn)金兌換卡。 不能遺漏了異常事件和出錯(cuò)。 某些事件可以按類(lèi)組合在一起。 例如,“吐出現(xiàn)金”是一個(gè)事件類(lèi),吐出的具體的現(xiàn)金數(shù) 額用參數(shù)/屬性值表達(dá)。 區(qū)分出每類(lèi)事件的發(fā)送對(duì)象和接受對(duì)象。2021/3/938ATM系統(tǒng)正常情況下的事件跟蹤圖時(shí)間對(duì)象事件/消

20、息2021/3/939順序圖(Sequence Diagram) 順序圖也稱(chēng)為序列圖,它按時(shí)間順序顯示對(duì)象之間的交互。 2021/3/940 一張狀態(tài)圖描繪一類(lèi)對(duì)象的行為,它確定了由事件序列引出的狀態(tài)序列。 從一張事件跟蹤圖出發(fā)畫(huà)狀態(tài)圖時(shí),僅考慮影響對(duì)象的一類(lèi)事件。 兩個(gè)事件之間的間隔就是一個(gè)狀態(tài)(也可能不變)。 從豎線射出的箭頭線,常是對(duì)象達(dá)到某個(gè)狀態(tài)時(shí)所做的行為(也常是引起另一類(lèi)對(duì)象狀態(tài)轉(zhuǎn)換的事件)。 要把從不同腳本或事件跟蹤圖得到的同一類(lèi)的狀態(tài)圖合并。10.4.4 畫(huà)狀態(tài)圖2021/3/941 考慮完正常事件之后再考慮邊界情況和特殊情況.如,用戶(hù)要求取消該當(dāng)前事務(wù), “超時(shí)”, 停電/機(jī)

21、。不能省略對(duì)用戶(hù)出錯(cuò)情況的處理。一張覆蓋了腳本中某類(lèi)對(duì)象的全部事件的狀態(tài)圖仍可能會(huì)一些遺漏的情況。設(shè)想各種可能出現(xiàn)的情況,多問(wèn)幾個(gè)“如果,則”的問(wèn)題是一種測(cè)試完整性的方法.盡量給每個(gè)狀態(tài)取個(gè)有意義的名字。10.4.4 畫(huà)狀態(tài)圖2021/3/942以ATM系統(tǒng)為例: “ATM”、“柜員終端”、“總行”和“分行”都是主動(dòng)對(duì)象,它們相互發(fā)送事件; “現(xiàn)金兌換卡”、“事務(wù)”和“賬戶(hù)”是被動(dòng)對(duì)象,并不發(fā)送事件。“儲(chǔ)戶(hù)”和“柜員”雖然也是動(dòng)作對(duì)象,但是,它們都是系統(tǒng)外部的因素,無(wú)須在系統(tǒng)內(nèi)實(shí)現(xiàn)它們。2021/3/943ATM的狀態(tài)圖2021/3/944圖10.10 總行類(lèi)的狀態(tài)圖2021/3/945 各個(gè)

22、類(lèi)的狀態(tài)圖通過(guò)共享事件聯(lián)系(合并)起來(lái),構(gòu)成了系統(tǒng)的動(dòng)態(tài)模型。 應(yīng)該檢查系統(tǒng)級(jí)的完整性和一致性。 對(duì)于沒(méi)有前驅(qū)或沒(méi)有后繼的狀態(tài)應(yīng)該著重審查,如果這個(gè)狀態(tài)既不是交互序列的起點(diǎn)也不是終點(diǎn),則發(fā)現(xiàn)了一個(gè)錯(cuò)誤。10.4.5 審查動(dòng)態(tài)模型2021/3/946 應(yīng)該審查每個(gè)事件,跟蹤它對(duì)系統(tǒng)中各個(gè)對(duì)象所產(chǎn)生的效果,以保證它們與每個(gè)腳本都匹配。例: ATM系統(tǒng)在總行類(lèi)的狀態(tài)圖中,事件“無(wú)效代碼”, 是由總行發(fā)出的,但是在ATM類(lèi)的狀態(tài)圖中并沒(méi)有一個(gè)狀態(tài)接受這個(gè)事件。因此,在ATM類(lèi)的狀態(tài)圖中應(yīng)該再補(bǔ)充一個(gè)狀態(tài)“do/顯示分行代碼錯(cuò)信息”,它接受由前驅(qū)狀態(tài)“do/驗(yàn)證賬戶(hù)”發(fā)出的事件“無(wú)效代碼”,它的后續(xù)狀態(tài)

23、是“退卡”。10.4.5 審查動(dòng)態(tài)模型2021/3/94710.5 建立功能模型功能模型功能模型含義功能模型描述的是系統(tǒng)內(nèi)值的變化,以及通過(guò)值的變化表現(xiàn)出來(lái)的系統(tǒng)功能、映射、約束、功能依賴(lài)的條件。內(nèi)容確定輸入值和輸出值畫(huà)出數(shù)據(jù)流圖 (DFD) 以表示功能之間的依賴(lài)關(guān)系描述各功能確定約束詳細(xì)說(shuō)明優(yōu)化標(biāo)準(zhǔn)2021/3/948功能模型功能模型 (續(xù)續(xù))基本概念和圖形表示處理 數(shù)據(jù)流 數(shù)據(jù)流的克隆 vs. 數(shù)據(jù)流的分離 數(shù)據(jù)存儲(chǔ) 數(shù)據(jù)存儲(chǔ)是被動(dòng)對(duì)象數(shù)據(jù)存儲(chǔ)不產(chǎn)生操作動(dòng)作者 動(dòng)作者是主動(dòng)對(duì)象動(dòng)作者位于數(shù)據(jù)流的源點(diǎn)或終點(diǎn) (即終止符)動(dòng)作者產(chǎn)生的操作不包括在 DFD 中而應(yīng)屬于動(dòng)態(tài)模型10.5 建立功能模

24、型2021/3/949功能模型功能模型 (續(xù)續(xù))功能模型、對(duì)象模型、動(dòng)態(tài)模型等之間的關(guān)系功能模型、對(duì)象模型、動(dòng)態(tài)模型等之間的關(guān)系就功能模型而言,對(duì)象模型表示了功能模型中的動(dòng)作者、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)的結(jié)構(gòu);動(dòng)態(tài)模型則表示了功能模型中處理的執(zhí)行次序。就對(duì)象模型而言,功能模型表示了類(lèi)上的操作和每個(gè)操作的變量,因而也表示了類(lèi)之間的客戶(hù)/服務(wù)器關(guān)系;動(dòng)態(tài)模型則表示了每個(gè)對(duì)象的狀態(tài)和當(dāng)對(duì)象接收事件時(shí)/當(dāng)對(duì)象改變狀態(tài)時(shí)所 執(zhí)行的操作。就動(dòng)態(tài)模型而言,功能模型表示了動(dòng)態(tài)模型中未定義的動(dòng)作和活動(dòng)的定義;對(duì)象模型則表示了是什么改變了狀態(tài)/是什么接收了操作。2021/3/950在確定類(lèi)中應(yīng)有的服務(wù)時(shí),既要考慮該類(lèi)實(shí)體的常規(guī)行為,又要考慮在本系統(tǒng)中特殊需要的服務(wù)。1. 常規(guī)行為在分析階段可以認(rèn)為,類(lèi)中定義的每個(gè)屬性都是可以訪問(wèn)的,也就是說(shuō),假設(shè)在每個(gè)類(lèi)中都定義了讀、寫(xiě)該類(lèi)每個(gè)屬性的操作。但是,通常無(wú)需在類(lèi)圖中顯式表示這些常規(guī)操作。10.6 定義服務(wù)2021/3/9512. 從事件導(dǎo)出的操作狀態(tài)圖中對(duì)象接收消息,因此該對(duì)象必須有由消息選擇符指定的操作,它啟動(dòng)相應(yīng)的服務(wù)。

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論