溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

UML實(shí)例之ATM狀態(tài)圖、活動(dòng)圖和協(xié)作圖的示例分析

發(fā)布時(shí)間:2021-12-14 11:35:35 來(lái)源:億速云 閱讀:1790 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹了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)。

UML實(shí)例之ATM狀態(tài)圖、活動(dòng)圖和協(xié)作圖的示例分析

圖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í)間的信息。

UML實(shí)例之ATM狀態(tài)圖、活動(dòng)圖和協(xié)作圖的示例分析

圖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é)作圖

UML實(shí)例之ATM狀態(tài)圖、活動(dò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í)!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

uml
AI