5.4狀態圖
圖5.4描述了顧客在ATM機上進行操作會經歷的幾種狀態,及各種狀態之間轉換的條件。因為是簡化了的例子,所以除了等待顧客插入磁卡的起始狀態和結束服務的終止狀態,顧客會處于輸入密碼、選擇服務類型、存款及取款四種狀態。javascript:window.open(this.src); src="http://www.kjueaiud.com/attachments/2009/11/110593_200911050941324LpvB.jpg" width=500 onload="javascript:if(this.width>500){this.resized=true;this.style.width=500;}">
插入磁卡后進入輸密碼狀態,當密碼輸入正確時進入選擇服務類型狀態,當輸入密碼不正確時,停留在原狀態,但如果三次不正確,服務結束。進入選擇服務類型后根據選擇的不同,顧客可進入存款和取款狀態。存、取款結束后,顧客既可以選擇結束服務到最終狀態,也可以選擇繼續服務回到選擇服務類型狀態。
通過狀態圖我們可以無歧義的了解各個活動角色是如何在不同狀況下轉換的,轉換的條件是什么,是否會出現死鎖現象,是否有條件沒考慮周全,是否有狀態無法達到。狀態圖可以幫助我們發現問題,并及時改正。
5.5活動圖
圖5.5參考了Randy Miller的《A Hands-On Introduction for Developers》一文,5.3圖中的客戶管理和事物管理對應于5.5圖中的Bank,圖5.3中的讀卡機、顯示、輸入設備及點鈔機對應于5.5圖中的ATM Machina,銀行儲戶就是Customer。初看活動圖和順序圖表達的意義很接近。但我們可以注意到順序圖著重時間的順序,而活動圖側重于各部分之間的相互制約,對于一些并行的活動能夠有效的表示出來。例如5.5圖中fork和join處,我們可以很清楚的看到一些并行活動的存在。
這個活動圖以顧客插入卡為開始,以顧客取卡結束。我們可以看到活動圖的重點雖然不在時間順序,但我們同樣可以得到時間的信息。

圖5.5 ATM銀行系統活動圖
5.6協作圖
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/