1.3 編寫用例
通常一個用例對應一個功能或者叫需求,它是程序的一個執行路徑或者執行流程。編寫用例的思路是:假設你已經有了這樣一個聊天程序, 那麼你應該如何使用它?我們的使用步驟,就是一個用例。用例的特點就每次只針對程序的一個功能編寫,最後根據用例編寫代碼,最終完成 程序的開發。我們這裡的需求只有簡單的幾個:登錄,發送消息,接收消息,注銷或關閉,上面的分析是對這幾點功能的一個明確。接下來我 們首先編寫第一個用例:登錄。
在開始之前,我們先明確一個概念:客戶端,服務端。因為這個程序只是在兩個人(機器)之間聊天,那麼我們大致可以繪出這樣一個圖來 :
我們期望用戶A和用戶B進行對話,那麼我們就需要在它們之間建立起連接。盡管“用戶A”和“用戶B”的地位是對等 的,但按照約定俗稱的說法:我們將發起連接請求的一方稱為客戶端(或叫本地),另一端稱為服務端(或叫遠程)。所以我們的登錄過程, 就是“用戶A”連接到“用戶B”的過程,或者說客戶端(本地)連接到服務端(遠程)的過程。在分析這個程序的過程 中,我們總是將其分為兩部分,一部分為發起連接、發送消息的一方(本地),一方為接受連接、接收消息的一方(遠程)。
登錄和連接(本地) 主路徑 可選路徑 1.打開應用程序,顯示登錄窗口 2.輸入用戶名 3.點擊“登錄”按鈕,登錄成功 3.“登錄”失敗如果用戶名為空,重新進入第2步。
4.顯示主窗口,顯示登錄的用戶名稱 5.點擊“連接”,連接至遠程 6.連接成功6.1提示用戶,連接已經成功。
6.連接失敗6.1 提示用戶,連接不成功
5.在用戶界面變更控件狀態5.2連接為灰色,表示已經連接
5.3注銷為亮色,表示可以注銷
5.4發送為亮色,表示可以發消息
這裡我們的用例名稱為登錄和連接,但是後面我們又打了一個括號,寫著“本地”,它的意思是說,登錄和連接是客戶端,也就 是發起連接的一方采取的動作。同樣,我們需要寫下當客戶端連接至服務端時,服務端采取的動作。
登錄和連接(遠程) 主路徑 可選路徑 1-4 同客戶端 5.等待連接 6.如果有連接,自動在用戶界面顯示“遠程主機連接成功”接下來我們來看發送消息。在發送消息時,已經是登錄了的,也就是“用戶A”、“用戶B”已經做好了連接,所以我 們現在就可以只關注發送這一過程:
發送消息(本地) 主路徑 可選路徑 1.輸入消息 2.點擊發送按鈕 2.沒有輸入消息,重新回到第1步 3.在用戶界面上顯示發出的消息 3.服務端已經斷開連接或者關閉3.1在客戶端用戶界面上顯示錯誤消息