您好,登錄后才能下訂單哦!
這篇文章主要介紹了UML實(shí)例之ATM狀態(tài)圖、活動(dòng)圖和協(xié)作圖的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
1.4狀態(tài)圖
圖1.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)。
圖5.4ATM狀態(tài)圖
插入磁卡后進(jìn)入輸密碼狀態(tài),當(dāng)密碼輸入正確時(shí)進(jìn)入選擇服務(wù)類型狀態(tài),當(dāng)輸入密碼不正確時(shí),停留在原狀態(tài),但如果三次不正確,服務(wù)結(jié)束。進(jìn)入選擇服務(wù)類型后根據(jù)選擇的不同,顧客可進(jìn)入存款和取款狀態(tài)。存、取款結(jié)束后,顧客既可以選擇結(jié)束服務(wù)到最終狀態(tài),也可以選擇繼續(xù)服務(wù)回到選擇服務(wù)類型狀態(tài)。
通過(guò)狀態(tài)圖我們可以無(wú)歧義的了解各個(gè)活動(dòng)角色是如何在不同狀況下轉(zhuǎn)換的,轉(zhuǎn)換的條件是什么,是否會(huì)出現(xiàn)死鎖現(xiàn)象,是否有條件沒(méi)考慮周全,是否有狀態(tài)無(wú)法達(dá)到。狀態(tài)圖可以幫助我們發(fā)現(xiàn)問(wèn)題,并及時(shí)改正。下面我們看一下UML實(shí)例ATM中的活動(dòng)圖。
1.5活動(dòng)圖
圖1.5參考了RandyMiller的《AHands-OnIntroductionforDevelopers》一文,1.3圖中的客戶管理和事物管理對(duì)應(yīng)于1.5圖中的Bank,圖1.3中的讀卡機(jī)、顯示、輸入設(shè)備及點(diǎn)鈔機(jī)對(duì)應(yīng)于5.5圖中的ATMMachina,銀行儲(chǔ)戶就是Customer。初看活動(dòng)圖和順序圖表達(dá)的意義很接近。但我們可以注意到順序圖著重時(shí)間的順序,而活動(dòng)圖側(cè)重于各部分之間的相互制約,對(duì)于一些并行的活動(dòng)能夠有效的表示出來(lái)。例如1.5圖中fork和join處,我們可以很清楚的看到一些并行活動(dòng)的存在。
此UML實(shí)例中這個(gè)活動(dòng)圖以顧客插入卡為開(kāi)始,以顧客取卡結(jié)束。我們可以看到活動(dòng)圖的重點(diǎn)雖然不在時(shí)間順序,但我們同樣可以得到時(shí)間的信息。
圖1.***TM銀行系統(tǒng)活動(dòng)圖
1.6協(xié)作圖
UML實(shí)例ATM中的協(xié)作圖,在第四章中我們知道協(xié)作圖和順序圖是可以無(wú)信息損失的相互轉(zhuǎn)換,只是它們的側(cè)重點(diǎn)是不一樣的。順序圖著重于對(duì)象間消息傳遞的時(shí)間順序,協(xié)作圖著重于表達(dá)對(duì)象之間的靜態(tài)連接關(guān)系。圖1.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èn)服務(wù)類別
10.顯示輸入服務(wù)服務(wù)類別請(qǐng)求
11.輸入取款請(qǐng)求
12.取款請(qǐng)求
13.詢問(wèn)取款數(shù)額
14.顯示輸入數(shù)額請(qǐng)求
15.輸入取款數(shù)額
16.傳遞取款數(shù)額
17.詢問(wèn)取款數(shù)額確認(rèn)
18.顯示確認(rèn)數(shù)額請(qǐng)求
19.輸入確認(rèn)
20.傳遞確認(rèn)信息
21.?dāng)?shù)額合法性確認(rèn)請(qǐng)求
22.確認(rèn)數(shù)額和法性
23.出鈔請(qǐng)求
24.計(jì)算帳戶余額
25.出鈔
26.取鈔
27.傳遞余額并詢問(wèn)是否還需要其他服務(wù)
28.顯示帳戶余額并提示選擇下面的服務(wù)
圖1.6ATM系統(tǒng)協(xié)作圖
從圖上我們可以看出協(xié)作圖的角色和順序圖的對(duì)象是一一對(duì)應(yīng)的,而協(xié)作圖上的各對(duì)象上的協(xié)作關(guān)系和順序圖上的消息傳遞是一一對(duì)應(yīng)的。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“UML實(shí)例之ATM狀態(tài)圖、活動(dòng)圖和協(xié)作圖的示例分析”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。