• <menu id="w2i4a"></menu>
  • logo Visual Paradigm 教程[UML]2019

    文檔首頁>>Visual Paradigm 教程[UML]2019>>Visual Paradigm 教程[UML]:如何在UML中繪制狀態(tài)機(jī)圖?

    Visual Paradigm 教程[UML]:如何在UML中繪制狀態(tài)機(jī)圖?


    下載Visual Paradigm最新版本

    狀態(tài)機(jī)圖(或起始圖,也稱為狀態(tài)轉(zhuǎn)換圖的狀態(tài)圖)是一種行為,它指定實體(或?qū)ο螅┰谄渖芷趦?nèi)響應(yīng)事件時訪問的狀態(tài)序列,以及它對這些事件的響應(yīng)。

    清晰的狀態(tài)圖

    Visual Paradigm

    關(guān)鍵概念

    State/狀態(tài)

    狀態(tài)是對象生命期間的條件,在此期間它滿足某些條件,執(zhí)行某些活動或等待某些外部事件

    Event/事件

    事件是重要事件的規(guī)范。 對于狀態(tài)機(jī)制,事件是可以觸發(fā)狀態(tài)轉(zhuǎn)換的刺激的發(fā)生。

    Transition/過渡

    轉(zhuǎn)換是兩個狀態(tài)之間的關(guān)系,指示當(dāng)滿足指定的一組事件和條件時,處于第一狀態(tài)的對象將執(zhí)行某些動作并進(jìn)入第二狀態(tài)。

    Action

    Action是可執(zhí)行的,原子的(參考狀態(tài)機(jī))計算。Action可以包括操作,創(chuàng)建或銷毀其他對象,或者將信號發(fā)送到其他對象(事件)。

    創(chuàng)建狀態(tài)機(jī)圖

    1. 從工具欄中選擇Diagram > New。

      Visual Paradigm

    2. 在New Diagram窗口中,選擇State Machine Diagram,然后單擊Next。 您可以使用上面的搜索欄來過濾結(jié)果。

      Visual Paradigm

    3. 為該圖命名,然后單擊“OK”。 在本教程中,我們將命名圖State Machine Diagram Tutorial。

      Visual Paradigm

    4. 您現(xiàn)在將看到一個具有初始偽狀態(tài)的空圖。

    5. 要創(chuàng)建新狀態(tài),請單擊初始狀態(tài),然后將資源按鈕拖動到所需位置并釋放。 釋放按鈕時,從彈出窗口中選擇Transition - > State。 創(chuàng)建狀態(tài)后,您可以更改狀態(tài)名稱。

      Visual Paradigm

      Visual Paradigm

    6. 對更多狀態(tài)重復(fù)步驟5。

    7. 您可能會看到轉(zhuǎn)換未命名。 您可以通過雙擊轉(zhuǎn)換來命名轉(zhuǎn)換。 此示例將命名Available和Locked to Lock之間的轉(zhuǎn)換。

      Visual Paradigm

    8. 創(chuàng)建所有狀態(tài)后,您可能需要設(shè)置更多轉(zhuǎn)換。 您可以通過選擇Transition,單擊并按住開始狀態(tài),然后拖動到目標(biāo)狀態(tài)(在此示例中為Available)并釋放來執(zhí)行此操作。 不要忘記命名過渡。

      Visual Paradigm

    9. 完成圖表后,您需要看到這樣的圖表:

      Visual Paradigm

    購買Visual Paradigm正版授權(quán),請點擊“咨詢在線客服”喲!
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();