統一建模語言UML輕松入門之動態建模[1] UML模型
關鍵字:uml 靜可描形,動可描行。動和靜是辯證的兩面,在UML中,靜態建??梢悦枋鱿到y的組織和結構,而動態建模則可描述系統的行為和動作。
前一節中介紹的類圖和對象圖主要用于靜態建模,本節我們將描述UML中的動態建模機制。在動態建模機制中,以消息來完成對象之間的交互,用狀態圖、順序圖、協作圖和活動圖來描述系統的行為。
4.1消息
在面向對象領域,兩個對象的交互是通過消息的發送和接收來完成的。消息分為簡單消息、同步消息和異步消息:
?。?)簡單消息:只是表示控制如何從一個對象發給另一個對象,并不包含控制的細節;
?。?)同步消息:同步意味著阻塞和等待,如果對象A給對象B發送一個消息,對象A會等待對象B執行完這個消息,接著才進行自身的工作;
?。?)異步消息:異步意味著非阻塞,如果對象A給對象B發送一個消息,對象A不必等待對象B執行完這個消息,就可以接著進行自身的工作。
4.2順序圖
順序圖(也稱序列圖)是一種交互圖(Interaction Diagram,用于描述執行系統功能的各個角色之間相互傳遞消息的順序關系,顯示跨越多個對象的系統控制流程),強調的是時間和消息的次序,用來說明系統的動態情況,順序圖由參與者、對象、對象生命線和消息組成。一個順序圖顯示了一系列的對象(通常是類的實例,也可以代表其他事物的實例,例如協作、組件和節點)和在這些對象之間發送和接收的消息。
圖書管理系統中圖書入庫的順序圖如圖4.1所示,對于順序圖,往往在文字表述上會出現"當…時…"、"首先"、"然后"、"接著"、"…發出…消息","…響應…消息"等詞匯。例如圖4.1的順序圖可用文字表達為:
當管理人員把新書入庫時,首先要求登錄(輸入用戶名和口令),經系統的"注冊表單"驗證,若正確無誤,則可繼續下一步交互,否則拒絕該管理人員進入系統。若登錄正確,管理人員可發出查詢請求消息,系統的"圖書入庫表單"對象響應請求。若管理人員發出增加或刪除庫存圖書請求,"庫存圖書"對象將響應該消息,找出數據庫中的相關數據并執行相應的操作。此后,管理人員應按下提交鍵確認請求,"圖書入庫表單"接口對象應該響應該請求,并發出存儲消息,才由"庫存圖書"對象響應存儲消息,進行數據庫存儲操作。如果管理人員結束圖書入庫,發出退出系統的請求,則系統的"注冊表單"接口對象響應請求,關閉系統。
而圖4.2則給出了電子購物系統中購買商品的順序圖,通過觀察順序圖,我們可以很清晰地看出顧客購買商品的流程。
原文轉自:http://www.anti-gravitydesign.com