狀態圖::基本要素畫法
狀態圖的內容說明完了以後,本文說明EA中各種的畫法。
創建狀態圖
打開【Project Brower】中根節點的上下文菜單,選擇【Add】-【Add View...】項目。
輸入名稱,選擇【Dynamic】項目以後,按下【OK】按鈕。
打開生成的View節點的上下文菜單,選擇【New Diagram】項目。
輸入名稱,選擇【UML Behavioral】分類中的【State Machine】項目以後,按下【OK】按鈕。
添加初始偽狀態
從工具欄中拖動如下圖的初始偽狀態圖標到狀態圖作業區。
添加完了狀態
從工具欄中拖動如下圖的完了狀態圖標到狀態圖作業區。
添加狀態
添加狀態要素
從工具欄中拖動如下圖的狀態圖標到狀態圖作業區,並通過屬性對話框設定狀態名稱。
添加行為
選擇狀態圖中的狀態圖形,打開上下文菜單,選擇【Features&Properties】-【Operations】項目
Action類中可以選擇的項目有,entry/exit/do分別對應狀態的進入行為/退出行為和doActivity行為。
添加遷移
添加遷移線
從工具欄中選擇如下圖的遷移圖標,讓後從一個狀態拖動滑鼠到另外一個轉檯。
設定遷移屬性
雙擊遷移線,打開遷移屬性設定畫面。
Guard:設定遷移的監護條件
Effect:設定遷移的效應行為
Triggers-Name:設定觸發條件名稱,可以為遷移設定多個觸發條件。
Triggers-Type:選擇觸發條件的種類,可以選擇Call/Signal/Change/Timne。
Triggers-Specification:根據出發條件的類型,填寫補充信息。
Triggers關聯信息輸入完成後按下【Save】按鈕,對應的出發條件會表示在下面的列表中。
添加選擇偽狀態
從工具欄中拖動如下圖的選擇偽狀態圖標到狀態圖作業區。
在狀態和選擇偽狀態之間添加遷移線並為離開選擇偽狀態的遷移先設定監護條件。
需要補充說明的是,下面兩種表示方式都是有效的。
添加內部遷移
首先添加一條向狀態本身遷移的遷移線並添加觸發條件和效應行為。
打開遷移屬性對話款,進入【Gereral】分類,切換到【Advanced】屬性頁,選個【kind】項目的內容為【internal】。
完成上述操作以後,遷移的表示方式會發生變化。
如果重新設定內部遷移的屬性,雙擊圖形中內部遷移的部分即可。
以上就是今天的文章,歡迎點贊,關注並推薦給您的朋友!
閱讀更多更新文章,請關注【面向對象思考】微信公眾號!
推薦閱讀:
※(翻譯)14.4 ProtocolStateMachines
※OOD 高頻面試題 | 如何設計一個ATM
※EA&UML日拱一卒--序列圖(Sequence Diagram)::並行和臨界區
※活動圖::SendSignalAction
※設計模式剖析