ATM取款機(jī)UMLUML建模實(shí)例全過程_第1頁(yè)
ATM取款機(jī)UMLUML建模實(shí)例全過程_第2頁(yè)
ATM取款機(jī)UMLUML建模實(shí)例全過程_第3頁(yè)
ATM取款機(jī)UMLUML建模實(shí)例全過程_第4頁(yè)
ATM取款機(jī)UMLUML建模實(shí)例全過程_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、在我國(guó)十年前ATM(自動(dòng)取款機(jī))還是一個(gè)很新鮮的事物,現(xiàn)在在城市的大街小巷隨處可見。我們?cè)谌粘I钪幸步?jīng)常和ATM打交道。本章我們將以簡(jiǎn)化的 ATM系統(tǒng)為例將前面幾章中學(xué)到的用例圖、類圖、順序圖、狀態(tài)圖、活動(dòng)圖及協(xié)作圖知識(shí)運(yùn)用到此例中。5.1用例圖參與者"銀行儲(chǔ)戶"和ATM機(jī)。簡(jiǎn)化后的ATM機(jī)僅有取款、存款及其余功能。其余功能不做詳細(xì)說明*命圖5.1自動(dòng)取款機(jī)(ATM系統(tǒng)用例圖銀行儲(chǔ)戶在ATM機(jī)上完成取款、存款及其他業(yè)務(wù)。5.2類圖圖5.2所示的銀行系統(tǒng)類圖和圖3.5是類似的,只是將工作人員換成了ATM整個(gè)銀行系統(tǒng)包括了帳戶庫(kù)、銀行儲(chǔ)戶庫(kù)及ATM系統(tǒng)。許多單個(gè)的帳戶組成了帳

2、戶庫(kù)。帳戶具有帳戶類型、帳戶號(hào)、余額三個(gè)屬性,均為private ,其類型分別為char, int , double。六個(gè)操作分另U為 setType、getType、getAccountNumbe、setAccountNumbe、caculateBalance 、getBalance,除 caculateBalance 為 protected 其余均為 public。setType設(shè)置帳戶類型,返回類型為void,參數(shù)類型為char,輸入帳戶類型。getType獲取帳戶類型,返回類型為char,無參數(shù)。setAccountNumbe設(shè)置帳戶號(hào),返回類型為void,參數(shù)類型為int,輸入帳戶號(hào)

3、。getAccountNumbe獲取帳戶號(hào),返回類型為int,無參數(shù)。caculateBalance計(jì)算余額,返回類型為void,參數(shù)為double,第一個(gè)參數(shù)為輸入存取款數(shù)額,第二個(gè)參數(shù)為存款余額,既為輸入也為輸岀。getBalance 獲取帳戶余額,返回類型為double,無參數(shù)。許多銀行儲(chǔ)戶組成了儲(chǔ)戶庫(kù)。ATM系統(tǒng)包含了許多 ATM機(jī)。銀行儲(chǔ)戶及 ATM機(jī)兩個(gè)類包含哪些屬性,哪些操作,它們的可見性及操作的返回類型、參數(shù)個(gè)數(shù)、參數(shù)類型從類圖上都一目了然。更多的屬性及操作都可以一一加上,使這個(gè)類圖更詳細(xì)更完整,從 而使參與項(xiàng)目的每個(gè)成員都能無歧義的明了整個(gè)設(shè)計(jì)的類的結(jié)構(gòu)。同樣對(duì)于一個(gè)真正的銀

4、行系統(tǒng),這個(gè)類圖過于簡(jiǎn)單。比如帳戶類 型我們可以先定義一個(gè) abstract class,它包含一個(gè)帳戶最基本的屬性及操作。而有些操作先定義為abstract,如余額的計(jì)算。然后再繼承這個(gè) abstract class,我們可以有 saving account 和checking account 等等。不同的帳戶有不同的余額計(jì)算方法,我們可以加上具體的算法。對(duì)于不同的帳戶可能還有一些它特有的操作,我們也可以加上,比如saving account在存款達(dá)到多少時(shí)可以享受機(jī)票打折的優(yōu)惠。通過類圖不僅可以使設(shè)計(jì)者明確的表達(dá)自己的設(shè)計(jì)意圖,也能幫組自己整理思路,充實(shí)及優(yōu)化自己的 設(shè)計(jì)。諫41 : to

5、rt"irtlnch* tnc clii*ritT*ttJ : .luin+lrr<i*+Hm<Hii firrhrr r=±i-puuuninep jmt tKvtfliliMrr(in fr ?T : t-nh" r inoit &胡血“(): ThTyesy. cw圖5.2銀行系統(tǒng)類圖5.3順序圖圖5.3描述了顧客在ATM機(jī)上取款時(shí)信息的流動(dòng)情況。以時(shí)間為順序。因?yàn)閮H是示例,所以整個(gè)過程是沒有出現(xiàn)任何故障時(shí)的 流程,并且只畫到了取款結(jié)束。通過這個(gè)圖,我們可以看岀消息是如何在系統(tǒng)中不同對(duì)象之間進(jìn)行交互。通過流程圖我們可以很清楚地看到系統(tǒng)是如

6、何工作的,系統(tǒng)各部分之間的信息及控制是如何發(fā)送的,整個(gè)流程是否合理。流程圖對(duì)我們的設(shè)計(jì)起到了很好的幫助作用。注意在本圖沒有一個(gè)生命線終端有一個(gè)"X",這是因?yàn)檫@個(gè)流程中還未遇到有對(duì)象生命結(jié)束。當(dāng)有對(duì)象生命結(jié)束時(shí)需在對(duì)應(yīng)的生命線終端畫"X",表明這個(gè)對(duì)象在這時(shí)被銷毀。首先銀行儲(chǔ)戶將 ATM卡插入讀卡機(jī),讀卡機(jī)將信息傳給客戶管理,客戶管理提岀查詢密碼,顯示部分將輸入密碼請(qǐng)求顯示岀 來.因?yàn)檫@個(gè)順序圖較長(zhǎng),且很清晰,即便是初學(xué)者也很容易讀懂,在此就不對(duì)本圖做過多的解釋??感泄菓魘 JLr |牌戶百痔1頃示豔傀茁耳占別譴率偉5酋満棄T戰(zhàn)取由當(dāng)WiA歡新請(qǐng)市“2d

7、-.條化越畝狐3T羯*碑*檢衣出坯輸人確認(rèn)傳諭確認(rèn)伶言畋事會(huì)怨ft磚亠比乖琥認(rèn)毋力的R杜也出眷由于殿砂Ife誦甫茁.禪護(hù)曲詞取撫舫*Tyeky. cur圖5.3 ATM取款順序圖5.4狀態(tài)圖圖5.4描述了顧客在ATM機(jī)上進(jìn)行操作會(huì)經(jīng)歷的幾種狀態(tài),及各種狀態(tài)之間轉(zhuǎn)換的條件。因?yàn)槭呛?jiǎn)化了的例子,所以除了等待 顧客插入磁卡的起始狀態(tài)和結(jié)束服務(wù)的終止?fàn)顟B(tài),顧客會(huì)處于輸入密碼、選擇服務(wù)類型、存款及取款四種狀態(tài)。選曙存欲yeky. cwf圖5.4 ATM狀態(tài)圖插入磁卡后進(jìn)入輸密碼狀態(tài),當(dāng)密碼輸入正確時(shí)進(jìn)入選擇服務(wù)類型狀態(tài),當(dāng)輸入密碼不正確時(shí),停留在原狀態(tài),但如果三次不 正確,服務(wù)結(jié)束。進(jìn)入選擇服務(wù)類型后根

8、據(jù)選擇的不同,顧客可進(jìn)入存款和取款狀態(tài)。存、取款結(jié)束后,顧客既可以選擇結(jié)束服務(wù) 到最終狀態(tài),也可以選擇繼續(xù)服務(wù)回到選擇服務(wù)類型狀態(tài)。通過狀態(tài)圖我們可以無歧義的了解各個(gè)活動(dòng)角色是如何在不同狀況下轉(zhuǎn)換的,轉(zhuǎn)換的條件是什么,是否會(huì)岀現(xiàn)死鎖現(xiàn)象,是否 有條件沒考慮周全,是否有狀態(tài)無法達(dá)到。狀態(tài)圖可以幫助我們發(fā)現(xiàn)問題,并及時(shí)改正。5.5活動(dòng)圖圖5.5參考了 Randy Miller 的A Hands-On Introduction for Developers一文,5.3圖中的客戶管理和事物管理對(duì)應(yīng)于5.5圖中的Bank,圖5.3中的讀卡機(jī)、顯示、輸入設(shè)備及點(diǎn)鈔機(jī)對(duì)應(yīng)于5.5圖中的ATMMachina,

9、銀行儲(chǔ)戶就是 Customer。初看活動(dòng)圖和順序圖表達(dá)的意義很接近。但我們可以注意到順序圖著重時(shí)間的順序,而活動(dòng)圖側(cè)重于各部分之間的相互制約,對(duì)于一些并 行的活動(dòng)能夠有效的表示出來。例如5.5圖中fork和join處,我們可以很清楚的看到一些并行活動(dòng)的存在。這個(gè)活動(dòng)圖以顧客插入卡為開始,以顧客取卡結(jié)束。我們可以看到活動(dòng)圖的重點(diǎn)雖然不在時(shí)間順序,但我們同樣可以得到時(shí)間 的信息。5.6協(xié)作圖在第四章中我們知道協(xié)作圖和順序圖是可以無信息損失的相互轉(zhuǎn)換,只是它們的側(cè)重點(diǎn)是不一樣的。順序圖著重于對(duì)象間消息傳遞的時(shí)間順序,協(xié)作圖著重于表達(dá)對(duì)象之間的靜態(tài)連接關(guān)系。圖5.6將5.3圖轉(zhuǎn)換為協(xié)作圖。1. 插入ATM卡2. 接受ATM卡3. 查詢密碼4. 顯示輸入密碼請(qǐng)求5. 輸入密碼6. 密碼傳遞7 請(qǐng)求確認(rèn)密碼合法性8確認(rèn)密碼合法性9詢問服務(wù)類別10顯示輸入服務(wù)服務(wù)類別請(qǐng)求11 輸入取款請(qǐng)求12取款請(qǐng)求13.詢問取款數(shù)額14顯示輸入數(shù)額請(qǐng)求15輸入取款數(shù)額16傳遞取款數(shù)額17. 詢問取款數(shù)額確認(rèn)18. 顯示確認(rèn)數(shù)額請(qǐng)求19. 輸入確認(rèn)20. 傳遞確認(rèn)信息2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論