順序圖的一個用途是顯示用例的行為序列。當行為被實現時,每個順序圖中的消息同對象的操作或狀態機中遷移上的事件觸發相一致。
圖4 表示處理請求用例的順序圖。圖中五個方框分別表示五個對象:ProcessMonitor、EngineManager、Engine、EntactmentDB、Logfiles。這個用例是由ProcessMonitor 接收用戶操作,再將這些操作轉換成固定的請求,發送給引擎執行而產生的。
當ProcessMonitor 接收到用戶在界面上所作的操作后,將這些操作轉換為固定的命令請求,發送給EngineManager。EngineManager 再根據接收到命令的類別,將命令分發給不同的Engine。Engine 則具體執行相應的命令。Engine 執行完命令后,通知EntactmentDB 修改相應的數據。接下來,Engine 再通知Logfiles 將所作的操作記錄下來,以供以后查詢。最后,Engine 直接將結果返回給ProcessMonitor,由ProcessMonitor將結果包裝,顯示給用戶。
b.協作圖
協作圖對交互中存在意義的對象和鏈建模。對象和鏈僅在提供的上下文中存在意義。分類角色描述了對象,關聯角色描述了協作中的鏈。協作圖通過圖形的幾何排布顯示交互中的角色。消息顯示為附屬在連接分類角色的關系直線上的箭頭。消息的順序由消息描述前的順序號來表示。
協作圖的一個用途是表現操作的實現。協作顯示了操作的參數和局部變量,以及更永久性的關聯。當行為被實現時,消息的順序與程序的嵌套調用結構和信號傳遞一致。
圖5表示對應于處理請求用例的協作圖。這個用例是由ProcessMonitor 接收用戶操作,再將這些操作轉換成固定的請求,發送給引擎執行而產生的。這個協作圖表現了處理請求用例所涉及的五個相關對象之間相互協作的關系。
5.3 創建狀態機視圖
狀態機視圖通過對一種對象的可能生命歷史進行建模,描述了對象在時間序列上的動態行為。每個對象被認為是通過檢測事件并對之響應來與外界進行通訊的孤立實體。事件表達了對象可以檢測的變動-對象間的調用或顯示信號、某個值的改變或時間的推移。任何影響對象的事物可以被描述成事件。真實世界發生的事情被建模成外部世界至系統的信號。
狀態指就某個特定類而言,對于發生的事件具有相同性質響應的一系列對象值。換言之,同一狀態的所有對象以相同的方式響應某個事件,即對于給定的所有對象在接收到同一事件時執行相同的動作。而不同狀態的對象可能對相同事件具有不同的響應,執行不同的動作。
文章來源于領測軟件測試網 http://www.kjueaiud.com/