類(lèi)圖、時(shí)序圖、狀態(tài)圖-ATM系統(tǒng)
《類(lèi)圖、時(shí)序圖、狀態(tài)圖-ATM系統(tǒng)》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《類(lèi)圖、時(shí)序圖、狀態(tài)圖-ATM系統(tǒng)(69頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、第10章 面向?qū)ο蠓治? 10.1 10.2需求陳述 10.3建立對(duì)象模型 10.4建立動(dòng)態(tài)模型 10.5建立功能模型 10.6定義服務(wù) 10.7小結(jié) 10.1面向?qū)ο蠓治龅幕具^(guò)程 ■面向?qū)ο蠓治? 抽取和整理用戶(hù)需求并建立問(wèn)題域精確模型的過(guò)程. 理解■…用戶(hù)、分析員和領(lǐng)域?qū)<? 表達(dá)■一■需求規(guī)格說(shuō)明書(shū)(對(duì)象模型、動(dòng)態(tài)模型、功能模型) F驗(yàn)證■…二義性,完善性 ;;;;; 對(duì)象模型最基本、最重要、最核心。 10.1面向?qū)ο蠓治龅幕具^(guò)程 ?3個(gè)子模型 對(duì)所解決問(wèn)題的描述角度進(jìn)行劃分: 靜態(tài)結(jié)構(gòu)(對(duì)象模型) 3個(gè)子模型
2、 交互次序(動(dòng)態(tài)模型) | I數(shù)據(jù)變換(功能模型);: 解決問(wèn)題不同,三個(gè)子模型的重要程度也不同。 10.1面向?qū)ο蠓治龅幕具^(guò)程 ■ 5個(gè)層次 主題指讀者理解大型. 復(fù)秦模型的一種機(jī)制 (記憶的7+2原則) 主題 ' I 類(lèi)與對(duì)象層 I I \ 結(jié)構(gòu)層 ; : E ' 屬性層 I I .、; 服務(wù)層 ;; 復(fù)雜問(wèn)題的對(duì)象模型的5個(gè)層次 五個(gè)層次像是對(duì)象模型的5張水平切片, 一層比一層顯示出對(duì)象模型的更多細(xì)節(jié)。 10J面向?qū)ο蠓治龅幕具^(guò)程 ■面向?qū)ο蠓治龅倪^(guò)程 * 尋找類(lèi)與對(duì)象 * 識(shí)別結(jié)構(gòu) ” 識(shí)別主題 * 定義屬性
3、* 建立動(dòng)態(tài)模型 » 建立功能模型 定義服務(wù) 10.2需求陳述 ■需求陳述是闡明“做什么”,而不是“怎樣做” ■?問(wèn)題范圍 ■?功能需求 ■?性能需求 ■?應(yīng)用環(huán)境 ■?假設(shè)條件 10.2需求陳述 ATM機(jī)系統(tǒng)問(wèn)題描述 >銀行網(wǎng)絡(luò)中包含柜員和ATM, ATM被共享中心所分享。 >每家銀行利用自己的計(jì)算機(jī)維護(hù)自己的賬戶(hù)并處理賬戶(hù) 所屬的交易,這些交易包括存款和取款。 A某些銀行擁有自己的柜員站,柜員站直接和該銀行的計(jì) 算機(jī)通信,柜員鍵入賬戶(hù)數(shù)據(jù)和交易數(shù)據(jù)。 > ATM和中心計(jì)算機(jī)通信,中心計(jì)算機(jī)再和銀行清賬。 a ATM接受金融卡,要求用戶(hù)做些操作
4、后和中心計(jì)算機(jī) 通信,執(zhí)行交易給予現(xiàn)金和打印收據(jù)。 >系統(tǒng)要求保留交易記錄和嚴(yán)守安全規(guī)定。 》能同時(shí)存取客戶(hù)的相同賬戶(hù)。 ■自動(dòng)取款機(jī)(ATM)系統(tǒng) ATM系統(tǒng) 10.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)。 10.3建立對(duì)象模型 10.3.1找出候選類(lèi)與對(duì)象 1 ?找出候選的類(lèi)與對(duì)象 嘩尋找以下五類(lèi)客觀事物 ■可感知的物理實(shí)體 ■人或組織的角色 ■應(yīng)該記憶的事件 ■兩個(gè)或多個(gè)對(duì)象的
5、相互作用,通常具有交易 或接觸的性質(zhì) ■需要說(shuō)明的概念 10.3建立對(duì)象模型 1031找岀候選類(lèi)與對(duì)象 1 ?找出候選的類(lèi)與對(duì)象(續(xù)) ■名詞解析法 從陳述中找出所有名詞,作為類(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)型,取款額,賬單,訪(fǎng)問(wèn)。 通信鏈路事務(wù)日志 10.3/1 1031找出候選類(lèi)與 2 ?篩選岀正確的類(lèi)與 銀行,H動(dòng)取款機(jī)(ATM),系統(tǒng)
6、,屮央計(jì)算機(jī) 分行計(jì)算機(jī),柜員終端,網(wǎng)絡(luò),總行,分行,軟件, 本,市,街道,營(yíng)業(yè)廳,儲(chǔ)蓄所,柜員,儲(chǔ)戶(hù),現(xiàn) 支票,賬戶(hù),事物,現(xiàn)金兌換卡,余額,磁卡,分 碼,卡號(hào),用戶(hù),副本,信息,密碼,類(lèi)型,取奈 賬單,訪(fǎng)問(wèn)。 通信鏈路事務(wù)日 7 -V哆 代 ■篩選時(shí)主要依據(jù)下列標(biāo)準(zhǔn),刪除不正確或不必要的類(lèi) III 與對(duì)象 (1) 冗余 (2) 無(wú)關(guān) (3) 籠統(tǒng) (4) 屬性 (5) 操作 (6) 實(shí)現(xiàn) (儲(chǔ)戶(hù)、用戶(hù);現(xiàn)金兌換卡、磁卡和副本) (成本、市、街道、營(yíng)業(yè)廳和儲(chǔ)蓄所) (銀行、訪(fǎng)問(wèn)、信息、網(wǎng)絡(luò)、系統(tǒng)、軟件等) (現(xiàn)金、支票、取款額、賬單、余額、分行
7、代碼、 卡號(hào)、密碼、類(lèi)型) (事務(wù)口志、通信鏈路) 10.3建立對(duì)象模型 1031找出候選類(lèi)與對(duì)象 2. 篩選出正確的類(lèi)與對(duì)象 ATM、中央計(jì)算機(jī)、分行計(jì)算機(jī)、柜員終端、 總行、分行、柜員、儲(chǔ)戶(hù)、賬戶(hù)、事務(wù)、現(xiàn)金兌 換卡 10.3建立對(duì)象模型 10.3.2確定關(guān)聯(lián);;;;; 「■初步確定關(guān)聯(lián) ;;\ 需求陳述中使用的描述性動(dòng)詞或動(dòng)詞詞組,通 常表示關(guān)聯(lián)關(guān)系。 >直接提取動(dòng)詞短語(yǔ)得出關(guān)聯(lián) A需求陳述中隱含的關(guān)聯(lián) >根據(jù)問(wèn)題域知識(shí)
8、得出的關(guān)聯(lián) 2.篩選(根據(jù)下述標(biāo)準(zhǔn)刪除候選關(guān)聯(lián)) A已刪去的類(lèi)之間的關(guān)聯(lián) A與問(wèn)題無(wú)關(guān)的或在實(shí)現(xiàn)階段考慮的關(guān)聯(lián) >瞬時(shí)事件 >三元關(guān)聯(lián) >派生關(guān)聯(lián) 隱含的關(guān)聯(lián) 總行由各個(gè)分行組成。 分行保管賬戶(hù)。 總行擁有中央計(jì)算機(jī)。 靜維護(hù)事軸?缶— 儲(chǔ)戶(hù)擁有現(xiàn)金兌換卡。 中央計(jì)算機(jī)與分行通信 根據(jù)問(wèn)題域知識(shí)得出的關(guān)聯(lián) 現(xiàn)金兌換卡訪(fǎng)問(wèn)賬戶(hù)。 分行雇用柜員。 ATM、中央誹算機(jī)、分律詐算機(jī)及柜員終端組成網(wǎng)絡(luò)。 總行擁有多臺(tái)ATMo 甘忖設(shè)在主要街道H 分行提供分行計(jì)算機(jī)和柜員終端。 儲(chǔ)戶(hù)擁有賬戶(hù)。 分行計(jì)算機(jī)處理針對(duì)賬戶(hù)的事務(wù)。 分行計(jì)算機(jī)維護(hù)賬戶(hù)。 柜員終端與
9、分行計(jì)算機(jī)通信。 柜員輸入針對(duì)賬戶(hù)的事務(wù)。 ATM與中央計(jì)算機(jī)交換關(guān)于事務(wù)的信息。 中央計(jì)算機(jī)確定事務(wù)與分行的對(duì)應(yīng)關(guān)系。 ATM讀現(xiàn)金兌換卡。 ATM弓用戶(hù)交互° 漁干忖吐出現(xiàn)金。 ATM打印賬單p 叱確1腫立對(duì)象模型 3 ?進(jìn)一步完善 A正名、分解—補(bǔ)充、 分行 標(biāo)明重?cái)?shù) Mn ? I, 賬戶(hù) 1+ ? W 總行 jl£l恰▼ ilfi 柜員 1+ 柜員 ?輸入 事務(wù) 擁有 ▼ 入 ▼ 14 1+ ATM 輸入? 1+ 遠(yuǎn)程 I IVI 事務(wù) II V授儀 v訪(fǎng)問(wèn)
10、ATM系統(tǒng)原始的類(lèi)圖 10.3建立對(duì)象模型 1033劃分主題 :",< A在概念上把系統(tǒng)包含的內(nèi)容分解成若干個(gè)范疇 A應(yīng)該按問(wèn)題領(lǐng)域而不是用功能分解的方法來(lái)確定主題 A不同主題內(nèi)的對(duì)象相互間依賴(lài)和交互最少的原則 總行(總行和中央計(jì)算機(jī)) ATM系統(tǒng) 分行(分行、分行計(jì)算機(jī)、柜員終端、柜員 事務(wù)、柜員和賬戶(hù)等) ATM (ATM、遠(yuǎn)程事務(wù)、現(xiàn)金兌換卡和儲(chǔ)戶(hù)) 10.3建立對(duì)象模型 10.3.4確定屬性 ;A屬性是對(duì)象的性質(zhì)或特征 >注意在分析階段不要用屬性來(lái)表示對(duì)象間的關(guān) 系,使用關(guān)聯(lián)能夠表示兩個(gè)對(duì)象間的任何關(guān)系, 而且把關(guān)系表示得更清晰
11、、更醒目。 》確定屬性的過(guò)程包括分析和選擇兩個(gè)步驟。 10.3建立對(duì)象模型 10.3.4確定屬性 »選擇 ;; :;; A在需求陳述中一般用名詞詞組表示屬性 A需藉助于領(lǐng)域知識(shí)和常識(shí)才能分析得出屬性 A屬性對(duì)問(wèn)題域的基本結(jié)構(gòu)影響很小 A屬性的確定與問(wèn)題域和目標(biāo)系統(tǒng)的任務(wù)有關(guān)。 A不要考慮那些超出所要解決的問(wèn)題范圍的屬性。 A先找最重要的屬性,再逐漸把其余屬性增添進(jìn)去。分 析階段不考慮那些純粹用于實(shí)現(xiàn)的屬性。 10.3.4確定屬性 >分析 (1) 誤把對(duì)象當(dāng)作屬性 同一個(gè)實(shí)體在不同應(yīng)用領(lǐng)域中,到底應(yīng)該作為對(duì)象還是屬性,需要具體 分析才能確定。 例如
12、,儲(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的 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ì)象的非公開(kāi)的內(nèi)部狀態(tài),則應(yīng)該從對(duì)象模型中刪掉這 個(gè)扁性。 10.3
13、.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.輪,帆; 10.3建立對(duì)象模型 經(jīng)過(guò)篩選之后,得到ATM系統(tǒng)中各個(gè)類(lèi)的屬性,如圖所示。 I卡號(hào)I lift/1 員 弓 申用 有 鮎弓 用 ▼ ▼ V卷L成 分行呂 行 Ptm 契型 葉 V +?11 何 L4 訪(fǎng) fnj
14、 蛙名 住址 中央計(jì)算機(jī) 拒員終喘 糧員宋弟 裘型 曰期 金栩: ?輜入 ATM 遠(yuǎn)程事務(wù) 1 + 1 + 現(xiàn)有金頷 1 + 密科 [十 付出金葩 輸入》 Id期 1« ?金觀 ?授枚 10.3.5識(shí)別繼承關(guān)系 建立類(lèi)間的繼承是為了共享其公共性質(zhì)/屬性。 繼承也對(duì)類(lèi)按層次加以組織。 | 繼承關(guān)系反映出一定深度的領(lǐng)域知識(shí),需領(lǐng) 域?qū)<颐芮信浜喜拍芡瓿伞? 繼承前人的成果是提高效率的重要方法,也 是復(fù)用的基礎(chǔ)。 兩種建立繼承(即泛化)關(guān)系的方式:
15、 (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) “輸入站” O (2) 自頂向下:把現(xiàn)有類(lèi)細(xì)化成更具體的子類(lèi) 或從已知類(lèi)派生岀一個(gè)新類(lèi),這模擬了人類(lèi)的 演繹思維過(guò)程:從一般到特殊。 帶有形容詞修飾的名詞詞組往往暗示了一些具 增加了繼承關(guān)系之后的ATM對(duì)象模型 10.3.6反復(fù)修改 一次建模過(guò)程很難得到完全正確的對(duì)象模型。 有些細(xì)化工作(例如,定義服務(wù))是在建立了動(dòng)態(tài) 模型和功能模型之后才進(jìn)行的。
16、 由于面向?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)為例,討論可能做的修改: 1 ?分解“現(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),將使每個(gè)類(lèi)的功 能更單一:前一個(gè)類(lèi)標(biāo)志儲(chǔ)戶(hù)訪(fǎng)問(wèn)賬戶(hù)的權(quán) 限,后一個(gè)類(lèi)是含有分行代碼和卡號(hào)的數(shù)據(jù) 載體。 多張現(xiàn)金兌換卡可能對(duì)
17、應(yīng)著相同的訪(fǎng)問(wèn)權(quán)限O 2 “事務(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)單、更清晰。 ATM 忖出金額 ▲擁有 站號(hào) 總行 總行名 Ml人? *11 輸入站 ¥ 入
18、 修正 總行/分行的通信, 佢員終端 儲(chǔ)戶(hù)輸入事務(wù)(ATM) ATM讀卡 擁有/通信 ▲擁有 分 行 代 碼 站號(hào)1 分疔 g 分行名 貝 號(hào) 卡 號(hào) 戕號(hào) ▲W用 修改后的ATM對(duì)象模 型 10.4建立動(dòng)態(tài)模型的方法 對(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)時(shí),動(dòng)態(tài)模型卻起著很
19、重 要的作用。 例如:收集輸入信息是目標(biāo)系統(tǒng)的主要工作 建立動(dòng)態(tài)模型的三步: 1) 編寫(xiě)典型交互行為的腳本,不遺漏常見(jiàn)的 交互行為。 2) 從腳本中提取出事件,確定觸發(fā)每個(gè)事件 的動(dòng)作對(duì)象以及接受事件的目標(biāo)對(duì)象。 3) 排列事件發(fā)生的次序,確定每個(gè)對(duì)象可能 有的狀態(tài)及狀態(tài)間的轉(zhuǎn)換關(guān)系,并用狀態(tài)圖 描繪它們。 最后,比較各個(gè)對(duì)象的狀態(tài)圖,檢查它們之 間的一致性,確保事件之間的匹配。 10.4.1編寫(xiě)腳本 腳本:是指系統(tǒng)在某一執(zhí)行期間內(nèi)出現(xiàn)的一系列事件。 腳本功能:描述用戶(hù)(或其他外部設(shè)備)與目標(biāo)系統(tǒng)之間的一個(gè) 或多個(gè)典型的交互過(guò)程。 編寫(xiě)腳本的目的:是保證不遺漏重要的交
20、互步驟,有助于確保 整個(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)失敗。 ATM請(qǐng)儲(chǔ)戶(hù)插卡,儲(chǔ)戶(hù)插入一張現(xiàn)金兌換卡 ATM接受該卡并讀它上面的分行代碼和卡號(hào) ATM要求儲(chǔ)戶(hù)輸入密碼;儲(chǔ)戶(hù)輸入自己的密碼1234等數(shù)字 ATM請(qǐng)求總行驗(yàn)證卡號(hào)和密碼;
21、總行要求39號(hào)分行核對(duì)儲(chǔ)戶(hù)密碼,然后通知ATM說(shuō)這張卡 有效 ATM要求儲(chǔ)戶(hù)選擇事務(wù)類(lèi)型(取款、轉(zhuǎn)賬、查詢(xún)等);儲(chǔ)戶(hù)選擇“取款” ATM要求儲(chǔ)戶(hù)輸入取款額;儲(chǔ)戶(hù)輸入880 ATM確認(rèn)取款額在預(yù)先規(guī)定的限額內(nèi),然后要求總行處理這個(gè)事務(wù);總行把請(qǐng)求轉(zhuǎn)給分行,該分 行成功地處理完這項(xiàng)事務(wù)并返回該賬戶(hù)的新余額 ATM吐出現(xiàn)金并請(qǐng)儲(chǔ)戶(hù)拿走這些現(xiàn)金;儲(chǔ)戶(hù)拿走現(xiàn)金 ATM問(wèn)儲(chǔ)戶(hù)是否繼續(xù)這項(xiàng)事務(wù);儲(chǔ)戶(hù)回答“不” ATM打印賬單,退出現(xiàn)金兌換卡,請(qǐng)儲(chǔ)戶(hù)拿走它們;儲(chǔ)戶(hù)取走賬單和卡 ATM請(qǐng)儲(chǔ)戶(hù)插卡 表10?2 ATM系統(tǒng)的異常情況腳本 ATM請(qǐng)儲(chǔ)戶(hù)插卡;儲(chǔ)戶(hù)插入一張現(xiàn)金兌換卡 ATM接受這張卡
22、并順序讀它上面的數(shù)字 ATM要求密碼;儲(chǔ)戶(hù)誤輸入8888 ATM請(qǐng)求總行驗(yàn)證輸入的數(shù)字和密碼;總行在向有關(guān)分行咨詢(xún)之后拒絕這張卡 ATM顯示“密碼錯(cuò)”,并請(qǐng)儲(chǔ)戶(hù)重新輸入密碼;儲(chǔ)戶(hù)輸入1234; ATM請(qǐng)總行驗(yàn)證后知道這次輸入 的密碼正確 ATM請(qǐng)儲(chǔ)戶(hù)選擇事務(wù)類(lèi)型;儲(chǔ)戶(hù)選擇“取款” ATM詢(xún)問(wèn)取款額;儲(chǔ)戶(hù)改變主意不想取款了,他按下“取消”鍵 ATM退出現(xiàn)金兌換卡,并請(qǐng)儲(chǔ)戶(hù)拿走它;儲(chǔ)戶(hù)拿走他的卡 A T M系統(tǒng)正常 和異常腳本 ATM請(qǐng)儲(chǔ)戶(hù)插卡 10.4.2設(shè)想用戶(hù)界面 ■交互行為可以分為應(yīng)用邏輯和用戶(hù)界面兩部 分。 ■不同界面(例如,命令行或圖形用戶(hù)界面), 可以實(shí)現(xiàn)同樣
23、的應(yīng)用邏輯。應(yīng)用邏輯是內(nèi)在的、 本質(zhì)的內(nèi)容,用戶(hù)界面是外在的表現(xiàn)形式。 I動(dòng)態(tài)模型著重表示應(yīng)用系統(tǒng)的控制邏輯。 ■分析階段不能忽略用戶(hù)界面。應(yīng)確定界面的 輪廓. ; ; ■可以考慮其他方式,女口語(yǔ)首.目的是確保能夠 完成全部必要的信息交換。 10.4.3畫(huà)事件跟蹤圖 ■事件跟蹤圖有助于畫(huà)狀態(tài)圖。;; ■它把事件序列以及事件與對(duì)象的關(guān)系,形象、 清晰地表不出來(lái)。事件跟蹤圖實(shí)質(zhì)上是擴(kuò)充的 腳本,是簡(jiǎn)化的UML順序圖。 ■在事件跟蹤圖中,一條豎線(xiàn)代表一個(gè)對(duì)象, 每個(gè)事件用一條水平的箭頭線(xiàn)表示,箭頭方向 從事件的發(fā)送對(duì)象指向接受對(duì)象。時(shí)間從上向 下遞增。 ■下圖是ATM系統(tǒng)正常情況下的
24、事件跟蹤圖。 如何確定事件 ?通過(guò)分析腳本,可從中提取岀所有外部事件。 ?事件包括系統(tǒng)與用戶(hù)交互的所有信號(hào)、輸入、輸出、 中斷、動(dòng)作等等。 例如,儲(chǔ)戶(hù)插入現(xiàn)金兌換卡。I I I I J ?不能遺漏了異常事件和出錯(cuò)。 ?某些事件可以按類(lèi)組合在一起。 例如,“吐出現(xiàn)金”是一個(gè)事件類(lèi),吐出的具體的現(xiàn)金數(shù) 額用參數(shù)/屬性值表達(dá)。 ?區(qū)分岀每類(lèi)事件的發(fā)送對(duì)象和接受對(duì)象。 fl肘 AIM: 總行 好行 h 翌求密瑪 ' 輸入岳瑪 「耍求如箔奘型 " 輔入婪型 「 答求境入?yún)J希? '4w.Al[«4^m , 【it山耳e金 7詣
25、叢¥走田11金 " 隸走fill金 F沽求継莖益此中疔 F 結(jié)束 ■ 印狀單 ] 遲世 : 諸求京走卡 ° 字擔(dān)卡 一 顯示牛屏幕 誠(chéng)求驗(yàn)證浪戶(hù)■ 苗求分行驗(yàn)述脈戶(hù) . HK戶(hù)育姣 i ti書(shū)求址觀駙務(wù) ■ 諸羽址理”扌亍爭(zhēng)務(wù) 好行爭(zhēng)務(wù)感功— 對(duì)象 事件/消息 時(shí)間 ATM系統(tǒng)正常情況下的事件跟蹤圖 順序圖 CS
26、equenee DiagramJ ■順序圖也稱(chēng)為序列圖,它按時(shí)間順序顯示】 對(duì)象之間的交互。 :Student registration form ~~ registration manager math 101 math 101 section 1 x 1: fill in info > 2: submit、 3: add course(joe; ■ ■一八 I math 101) 〉 4: are you open? 5: are you o 6: add (joe)、 7: add (joe) 10.4.4畫(huà)狀態(tài)圖 ■
27、一張狀態(tài)圖描繪一類(lèi)對(duì)象的行為,它確定了 由事件序列引出的狀態(tài)序列。 ■從一張事件跟蹤圖岀發(fā)畫(huà)狀態(tài)圖時(shí),僅考慮 影響對(duì)象的一類(lèi)事件。 ■兩個(gè)事件之間的間隔就是一個(gè)狀態(tài)(也可能不 變)。 ■從豎線(xiàn)射出的箭頭線(xiàn),常是對(duì)象達(dá)到某個(gè)狀 態(tài)時(shí)所做的行為(也常是引起另一類(lèi)對(duì)象狀態(tài)轉(zhuǎn) 換的事件)。 ■要把從不同腳本或事件跟蹤圖得到的同一類(lèi) 的狀態(tài)圖合并。 10.4.4畫(huà)狀態(tài)圖 ?考慮完正常事件之后再考慮邊界情況和特殊情 況. 」 如,用戶(hù)要求取消該當(dāng)前事務(wù),“超時(shí)”,停電/機(jī)。 不能省略對(duì)用戶(hù)出錯(cuò)情況的處理。 |】 ■一張覆蓋了腳本中某類(lèi)對(duì)象的全部事件的狀態(tài) 圖仍可能會(huì)一些遺漏的情況。 設(shè)想
28、各種可能岀現(xiàn)的情況,多問(wèn)幾個(gè)“如果…… 則…匕”的問(wèn)題是一種測(cè)試完整性的方法.; 盡量給每個(gè)狀態(tài)取個(gè)有意義的名字。 以ATM系統(tǒng)為例: A “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)它 們。 等待網(wǎng)貉叭瓦H 中斷 do/顯示1K消信息 do』顯示主屏百£? F插卡* [不可i娶的」 不可讀的卡* S3顯示不町廃K 信息 小心請(qǐng)求狀裟 愉入帝卑 匚 弋cl
29、"驗(yàn)證耿可) 有 II澈 Cd®棗求類(lèi)住工 退卡 退卡S 請(qǐng)學(xué)食走卡 盤(pán)吉朿 d o ■-打印賬單 匚口止 収消 缶兒示聯(lián)消信宜 取消 dw釀示無(wú)垃re 戶(hù)倍?電 現(xiàn)金 4^ I吐 shJ.U!金; Fi求丸走典倉(cāng) ATM的狀態(tài)圖 収 爭(zhēng)務(wù) 消 . r先敗 卡中 41 驗(yàn)證賬戶(hù) do/驗(yàn)證分行\(zhòng) [無(wú)效代萬(wàn)尹 代碼 丿 處理事務(wù) 怡0/請(qǐng)求處
30、理分沽 V 事務(wù) ) 41 41 分行q務(wù)成功^ 分行事務(wù)失敗> [有效代碼] 廠 、無(wú)效賬戶(hù). do/請(qǐng)求分行驗(yàn)卡密碼錯(cuò)" 賬戶(hù)有效 S10.10總行類(lèi)的狀態(tài)圖 10.4.5審查動(dòng)態(tài)模型 ?各個(gè)類(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)模型 ■應(yīng)該審查每個(gè)事件,跟蹤它對(duì)系統(tǒng)中各個(gè) 對(duì)象所產(chǎn)生的
31、效果,以保證它們與每個(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)是“退卡”。 10.5建立功能模型 功能模型 》含義 ■功能模型描述的是系統(tǒng)內(nèi)值的變化,以及通過(guò)值 的變化表現(xiàn)出來(lái)的系統(tǒng)功能、映射、約束、功能 依賴(lài)的條件。 A內(nèi)容 ■確定輸入值和輸出值 ■畫(huà)出數(shù)據(jù)流圖(DFD)以表示功能之間的依賴(lài)關(guān)系 ■描述各功能 ■確定約束
32、 ■詳細(xì)說(shuō)明優(yōu)化標(biāo)準(zhǔn) 10.5建立功能模型 功能模型(續(xù)) 一 A基本概念和圖形表示 ■處理 ■數(shù)據(jù)流 十 >數(shù)據(jù)流的克隆vs.數(shù)據(jù)流的分離 ■數(shù)據(jù)存儲(chǔ) >數(shù)據(jù)存儲(chǔ)是被動(dòng)對(duì)象 >數(shù)據(jù)存儲(chǔ)不產(chǎn)生操作 ■動(dòng)作者 A動(dòng)作者是主動(dòng)對(duì)象 >動(dòng)作者位于數(shù)據(jù)流的源點(diǎn)或終點(diǎn)(警太模型 >動(dòng)作者產(chǎn)生的操作不包括在DFD中而應(yīng)屬于動(dòng)態(tài)晦 功能模型(續(xù)) A功能模型、對(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è)操作的變量,因
33、而也表示了類(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)/是什么接收了操作。 10.6定義服務(wù) 在確定類(lèi)中應(yīng)有的服務(wù)時(shí),既要考慮該類(lèi)實(shí)體 的常規(guī)行為,又要考慮在本系統(tǒng)中特殊需要的 服務(wù)。 1.常規(guī)行為 在分析階段可以認(rèn)為,類(lèi)中定義的每個(gè)屬性都 是可以訪(fǎng)問(wèn)的,也就是說(shuō),假設(shè)在每個(gè)類(lèi)中都 定義了讀、寫(xiě)該類(lèi)每個(gè)屬性的操作。但是,通 常無(wú)需在類(lèi)圖中顯式表示這些常規(guī)操作。 2.從事件導(dǎo)出的操作 狀態(tài)圖中對(duì)象接收消息
34、,因此該對(duì)象必須有 由消息選擇符指定的操作,它啟動(dòng)相應(yīng)的服 務(wù)。 在ATM系統(tǒng)中,事件“處理分行事務(wù)”啟動(dòng) 分行對(duì)象的服務(wù)“更新賬戶(hù)”。所啟動(dòng)的服 務(wù)常是接受審祚的對(duì)象右相應(yīng)狀態(tài)白勺行為。 3.與數(shù)據(jù)流圖中處理框?qū)?yīng)的操作 數(shù)據(jù)流圖中的每個(gè)處理框都與一個(gè)對(duì)象(也可 能是若干個(gè)對(duì)象)上的操作相對(duì)應(yīng)。 對(duì)照狀態(tài)圖和數(shù)據(jù)流圖,以便確定對(duì)象應(yīng)該 提供的服務(wù)。 在ATM系統(tǒng)中,從狀態(tài)圖上看出分行對(duì)象應(yīng) 該提供“驗(yàn)證卡號(hào)”服務(wù),而在數(shù)據(jù)流圖上 與之對(duì)應(yīng)的處理框是“驗(yàn)卡”,根據(jù)實(shí)際應(yīng) 該完成的功能看,該對(duì)象提供的這個(gè)服務(wù)應(yīng) 該是“驗(yàn)卡”。 4. 利用繼承減少冗余操作 應(yīng)該盡量利用繼承機(jī)
35、制以減少所需定義的服 務(wù)數(shù)目。只要不違背領(lǐng)域知識(shí)和常識(shí),就盡 量抽取出相似類(lèi)的公共屬性和操作,以建立 這些類(lèi)的新父類(lèi),并在類(lèi)等級(jí)的不同層次中 正確地定義各個(gè)服務(wù)。 例如,ATM和柜員機(jī)提供的相同服務(wù)(取現(xiàn)金, 查帳)都可在父類(lèi)輸入站中定義. 10.7小結(jié) ■面向?qū)ο蠓治鼍褪翘崛∠到y(tǒng)需求并建立問(wèn)題 域精確模型的過(guò)程,它包括理解、表達(dá)和驗(yàn) 證等3項(xiàng)主要工作內(nèi)容。面向?qū)ο蠓治龅年P(guān)鍵 工作,是分析、確定問(wèn)題域中的對(duì)象及對(duì)象 間的關(guān)系,并建立起問(wèn)題域的對(duì)象模型。 ■大型、復(fù)雜系統(tǒng)的對(duì)象模型通常由下述5個(gè) 層次組成:主題層、類(lèi)與對(duì)象層、結(jié)構(gòu)層、 屬性層和服務(wù)層。它們對(duì)應(yīng)著在建立對(duì)象模 型的過(guò)程審所應(yīng)完成的5項(xiàng)工作。 10.7小結(jié) ■大多數(shù)分析模型都不是一次完成的,分析工作不可 能?chē)?yán)格地按照預(yù)定順序進(jìn)行。 ■分析員必須與用戶(hù)及領(lǐng)域?qū)<曳磸?fù)交流、多次磋商, 及時(shí)糾正錯(cuò)誤認(rèn)識(shí)并補(bǔ)充缺少的信息。 ■最終的模型必須得到用戶(hù)和領(lǐng)域?qū)<业拇_認(rèn)。 ■在交流和確認(rèn)的過(guò)程中,原型往往能起很大的促進(jìn) 作用。 ■分析的目標(biāo)是全面深入地理解問(wèn)題域,其中不應(yīng)該 涉及具體實(shí)現(xiàn)的考慮。 ■分析的目的是用分析模型取代需求陳述,作為設(shè)計(jì) 的基礎(chǔ). ?在分析與設(shè)計(jì)之間并不存在絕對(duì)的界線(xiàn)。
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025《增值稅法》高質(zhì)量發(fā)展的增值稅制度規(guī)范增值稅的征收和繳納
- 深入學(xué)習(xí)《中華人民共和國(guó)科學(xué)技術(shù)普及法》推進(jìn)實(shí)現(xiàn)高水平科技自立自強(qiáng)推動(dòng)經(jīng)濟(jì)發(fā)展和社會(huì)進(jìn)步
- 激揚(yáng)正氣淬煉本色踐行使命廉潔從政黨課
- 加強(qiáng)廉潔文化建設(shè)夯實(shí)廉政思想根基培育風(fēng)清氣正的政治生態(tài)
- 深入學(xué)習(xí)2024《突發(fā)事件應(yīng)對(duì)法》全文提高突發(fā)事件預(yù)防和應(yīng)對(duì)能力規(guī)范突發(fā)事件應(yīng)對(duì)活動(dòng)保護(hù)人民生命財(cái)產(chǎn)安全
- 2023年四年級(jí)數(shù)學(xué)上冊(cè)第一輪單元滾動(dòng)復(fù)習(xí)第10天平行四邊形和梯形作業(yè)課件新人教版
- 2023年四年級(jí)數(shù)學(xué)上冊(cè)第14單元階段性綜合復(fù)習(xí)作業(yè)課件新人教版
- 2023年四年級(jí)數(shù)學(xué)上冊(cè)易錯(cuò)清單十五課件新人教版
- 2023年四年級(jí)數(shù)學(xué)上冊(cè)易錯(cuò)清單七課件西師大版
- 2023年五年級(jí)數(shù)學(xué)下冊(cè)易錯(cuò)清單六作業(yè)課件北師大版
- 2023年五年級(jí)數(shù)學(xué)下冊(cè)易錯(cuò)清單二作業(yè)課件北師大版
- 2023年五年級(jí)數(shù)學(xué)下冊(cè)四分?jǐn)?shù)的意義和性質(zhì)第10課時(shí)異分母分?jǐn)?shù)的大小比較作業(yè)課件蘇教版
- 2023年五年級(jí)數(shù)學(xué)下冊(cè)周周練四作業(yè)課件北師大版
- 2023年五年級(jí)數(shù)學(xué)下冊(cè)六折線(xiàn)統(tǒng)計(jì)圖單元復(fù)習(xí)卡作業(yè)課件西師大版
- 2023年四年級(jí)數(shù)學(xué)上冊(cè)6除數(shù)是兩位數(shù)的除法單元易錯(cuò)集錦一作業(yè)課件新人教版