翻譯|使用教程|編輯:吳園園|2019-12-17 11:26:07.867|閱讀 1010 次
概述:描述狀態機圖對于理解即時條件或執行模型時的“運行狀態”如何至關重要。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Enterprise Architect是一個對于軟件系統開發有著極好支持的CASE軟件(Computer Aided Software Engineering)。EA不同于普通的UML畫圖工具(如VISIO),它將支撐系統開發的全過程。在需求分析階段,系統分析與設計階段,系統開發 及部署等方面有著強大的支持,同時加上對10種編程語言的正反向工程,項目管理,文檔生成,數據建模等方面。可以讓系統開發中各個角色都獲得最好的開發效率。
狀態機圖
狀態機圖對單個對象的行為進行建模,指定對象在其生命周期中響應事件而經歷的事件順序。
例如,以下狀態機圖顯示了門在其生命周期內所經歷的狀態。
門可以處于以下三種狀態之一:“打開”,“關閉”或“鎖定”。它可以響應打開,關閉,鎖定和解鎖事件。請注意,并非所有事件在所有狀態下都有效。例如,如果一扇門打開了,則只有在關上門后才能將其鎖定。還要注意,狀態轉換可以附加一個保護條件:如果門已打開,則僅當滿足條件doorWay-> isEmpty時,它才能響應Close事件。以下各節將全面討論狀態機圖中使用的語法和約定。
狀態用圓角矩形表示狀態,狀態名稱寫在其中。
初始狀態和最終狀態
初始狀態由實心黑色圓圈表示,并可以用名稱標記。最終狀態由內部帶有圓點的圓圈表示,也可以標記名稱。
轉場
從一個狀態到下一個狀態的過渡用帶箭頭的線表示。過渡可能具有觸發,防護和效果,如下所示。
“觸發”是轉換的原因,可能是信號,事件,某些條件的變化或時間的流逝。“保護”是一個必須為true的條件,觸發器才能引起轉換。“效果”是一種動作,由于轉換,該動作將直接在擁有狀態機的對象上調用。
State Actions
在上面的過渡示例中,效果與過渡相關聯。如果目標狀態有許多過渡到達,并且每個過渡都具有與之關聯的相同效果,則最好將效果與目標狀態關聯而不是過渡。這可以通過為狀態定義一個輸入動作來完成。下圖顯示了帶有進入動作和退出動作的狀態。
也可以定義在事件上發生的動作或始終發生的動作。可以定義每種類型的任意數量的動作。
自我轉變
狀態可以具有返回自身的過渡,如下圖所示。當效果與過渡相關聯時,這是最有用的。
復合狀態
狀態機圖可以包括子機圖,如以下示例所示。
顯示相同信息的另一種方法如下。
上述版本中的符號表示在另一張圖中顯示了Check PIN子機的詳細信息。
入口點
有時,您不想在正常的初始狀態下進入子計算機。例如,在下面的子計算機中,通常以“ Initializing”狀態開始,但是如果由于某種原因不需要執行初始化,則可以通過“ Ready”狀態開始過渡到指定的入口點。
下圖顯示了上一級狀態機。
出口點
以類似于入口點的方式,可以命名替代出口點。下圖給出了一個示例,在該示例中,在主處理狀態之后執行的狀態取決于使用哪條路徑轉換出該狀態。
選擇偽狀態
選擇偽狀態顯示為菱形,其中一個過渡到達,而兩個或多個過渡離開。下圖顯示,在選擇偽狀態之后到達的任何狀態都取決于在執行前一狀態期間選擇的消息格式。
偽狀態連接點
結偽狀態用于將多個轉換鏈接在一起。單個結可以具有一個或多個傳入的轉換和一個或多個傳出的轉換;可以對每個過渡應用防護。結點無語義。將輸入的過渡轉換為多個輸出的過渡的結實現了靜態條件分支,而選擇偽狀態則實現了動態條件分支。
終止偽狀態
輸入終止偽狀態表示狀態機的生命線已結束。終止偽狀態標記為叉號。
歷史狀態
歷史狀態用于記住狀態機被中斷時的先前狀態。下圖說明了歷史狀態的使用。該示例是屬于洗衣機的狀態機。
在這種狀態機下,當洗衣機運行時,它將從“洗滌”到“漂洗”進入“旋轉”狀態。如果斷電,則洗衣機將停止運行并進入“關閉電源”狀態。然后,在恢復電源后,將在“歷史狀態”符號處進入“運行”狀態,這意味著它應從上次中斷的位置恢復。
并發區域
可以將狀態劃分為包含子狀態的區域,這些子狀態同時存在并執行。下面的示例顯示,在“正在應用制動”狀態下,前后制動器將同時且獨立運行。注意使用fork和join偽狀態,而不是選擇和合并偽狀態。這些符號用于同步并發線程。
=====================================================
想要了解或購買Enterprise Architect正版版權,請
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: