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