自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

術語匯編 UML狀態(tài)圖用法解析

開發(fā) 架構
UML狀態(tài)圖的概念你是否了解,UML狀態(tài)圖是系統(tǒng)分析的一種常用工具,它通過建立類對象的生存周期模型來描述對象隨時間變化的動態(tài)行為。

本文和大家重點討論一下UML狀態(tài)圖,UML狀態(tài)圖由表示狀態(tài)的節(jié)點和表示狀態(tài)之間轉換的帶箭頭的直接組成。若干個狀態(tài)由一條或多條轉換箭頭連接,狀態(tài)的轉換由事件觸發(fā)。

UML狀態(tài)圖簡介

UML狀態(tài)圖是系統(tǒng)分析的一種常用工具,它通過建立類對象的生存周期模型來描述對象隨時間變化的動態(tài)行為。

狀態(tài)機

狀態(tài)機是展示狀態(tài)與狀態(tài)轉換的圖。通常一個狀態(tài)機依附于一個類,并且描述一個類的實例。狀態(tài)機包含了一個類的對象在其生命周期間所有狀態(tài)的序列以及對象對接收到的事件所產生的反應。

狀態(tài)機由狀態(tài)、轉換、事件、活動和動作5部分組成。

UML狀態(tài)圖

一個UML狀態(tài)圖表示一個狀態(tài)機。主要用于表現(xiàn)從一個狀態(tài)到另一個狀態(tài)的控制流。

UML狀態(tài)圖由表示狀態(tài)的節(jié)點和表示狀態(tài)之間轉換的帶箭頭的直接組成。若干個狀態(tài)由一條或多條轉換箭頭連接,狀態(tài)的轉換由事件觸發(fā)。模型元素的行為可以由UML狀態(tài)圖中的一條通路表示,沿著此通路狀態(tài)機隨之執(zhí)行了一系列動作。一個簡單的UML狀態(tài)圖如下:

 

1、狀態(tài)

狀態(tài)由一個帶圓角的矩形表示,UML狀態(tài)圖的圖標可以分為3部分:名稱、內部轉換和嵌套狀態(tài)。

(1)、名稱。名稱表示狀態(tài)的名字,通常用字符串表示。一個狀態(tài)的名稱在UML狀態(tài)圖所在的上下文中應該是***的

(2)、內部轉換。在內部轉換中可以包含進入或者走出此狀態(tài)應該執(zhí)行的活動或動作,它們將響應對象所接收到的事件,但是不改變對象的狀態(tài)。

(3)、嵌套UML狀態(tài)圖。UML狀態(tài)圖中的狀態(tài)有兩種:簡單狀態(tài)和組合狀態(tài)。簡單狀態(tài)不包含其他狀態(tài),組合狀態(tài)是包含子狀態(tài)的狀態(tài)。在組合狀態(tài)的嵌套UML狀態(tài)圖部分包含的就是此狀態(tài)的子狀態(tài)。

2、轉換

轉換用帶箭頭的直線表示,分別連接源狀態(tài)和目標狀態(tài)。當源狀態(tài)接收到一個事件,并且監(jiān)護條件得到滿足,則執(zhí)行相應的動作,同時從源狀態(tài)轉換到目標狀態(tài)。如果轉換上沒有標注觸發(fā)轉換的事件,則表示此轉換為自動進行。

3、初始狀態(tài)

初始狀態(tài)代表UML狀態(tài)圖的起始位置,起始狀態(tài)在一個UML狀態(tài)圖中只允許有一個,用一個實心圓表示。

4、終止狀態(tài)

終止狀態(tài)是一個UML狀態(tài)圖的終止點。它用一個含有實心圓的空心圓表示。

5、判定

判定用空心小菱形表示。工作流在此處按監(jiān)護條件的取值而發(fā)生分支。#p#


狀態(tài)

UML狀態(tài)圖中狀態(tài)包括狀態(tài)名、內部轉換、入口動作和出口動作、簡單狀態(tài)、組成狀態(tài)(順序子狀態(tài)、并發(fā)子狀態(tài))、歷史狀態(tài)。

事件

事件表示在某一特定的時間或空間出現(xiàn)的能夠引發(fā)狀態(tài)改變的運動變化。事件分為入口事件、出口事件、動作事件、信號事件、調用事件、修改事件、時間事件、延遲事件。

轉換

轉換表示當一個特定事件發(fā)生或某些條件得到滿足時,一個源狀態(tài)下的對象在完成一定的動作后將發(fā)生狀態(tài)轉變,轉向另一個稱之為目標狀態(tài)的狀態(tài)。

UML狀態(tài)圖中轉換通常分為外部轉換、內部轉換、完成轉換和復合轉換4種。一個轉換一般包括5部分的信息:源狀態(tài)、目標狀態(tài)、觸發(fā)事件、監(jiān)護條件和動作。

1、外部轉換

外部轉換是一種改變對象狀態(tài)的轉換,它是最常見的一種轉換。外部轉換用從源狀態(tài)到目標狀態(tài)的箭頭表示。下圖表示了一個火車上的衛(wèi)生間的簡單狀態(tài)轉換。圖中箭頭上標注的都是引發(fā)狀態(tài)轉換的外部事件。

2、內部轉換

內部轉換有一個源狀態(tài)但沒有目標狀態(tài),它轉換后的狀態(tài)仍是它本身。內部轉換用于對不改變狀態(tài)的插入動作建立模型,例如建立幫助信息。

內部轉換和自轉換(即后面提到的完成轉換)不同:自轉換是離開本狀態(tài)后重新進入該狀態(tài),它會激發(fā)狀態(tài)的入口動作和出口動作的執(zhí)行;而內部轉換自始至終都不離開本狀態(tài),所以沒有出口或入口事件。

3、完成轉換

完成轉換又成自轉換,之所以稱為完成轉換是因為沒有標明觸發(fā)器事件的轉換是由狀態(tài)中活動的完成引起的,是自然而然的完成的轉換。

4、復合轉換

復合轉換由簡單轉換組成,這些簡單轉換通過分支判定、分叉或接合組合在一起。多條件的分支判定又分為鏈式和非鏈式的分支,兩種分支分別如下圖所示:

5、觸發(fā)事件

UML狀態(tài)圖中觸發(fā)事件就是能引起狀態(tài)轉換的事件。觸發(fā)事件可以是信號、調用和時間段等。

6、監(jiān)護條件

監(jiān)護條件是觸發(fā)轉換必須滿足的條件,它是一個布爾表達式。當事件被觸發(fā)時,監(jiān)護條件被賦值。如果布爾表達式為真,那么轉換被觸發(fā);否則不會引起轉換。監(jiān)護條件只能在觸發(fā)事件發(fā)生時被賦值一次。從一個狀態(tài)引出的多個轉換可以有同樣的觸發(fā)器事件,但是每個轉換必須具有不同的監(jiān)護條件。

7、動作

動作是一組可執(zhí)行語句或計算處理過程。動作可以包括發(fā)送消息給另一個對象、操作調用、設置返回值、創(chuàng)建和銷毀對象等。動作是原子的,不可中斷的。

整個系統(tǒng)可以在同一時間執(zhí)行多個動作。動作在它的控制線程中是原子性的,一旦開始執(zhí)行就必須執(zhí)行到底并且不能與同時處于活動狀態(tài)的動作發(fā)生交互作用。

【編輯推薦】

  1. 全面認識UML狀態(tài)圖
  2. UML狀態(tài)圖創(chuàng)建過程中需要注意問題
  3. 技術分享 嵌入式建模中UML狀態(tài)圖的形式化方法
  4. 在回歸測試中UML狀態(tài)圖切片的應用 
  5. UML基礎與應用--UML狀態(tài)圖解析


 

責任編輯:佚名 來源: uml.org.cn
相關推薦

2010-06-09 15:19:20

UML狀態(tài)圖

2010-07-05 17:28:57

UML動態(tài)模型圖

2010-07-02 10:38:53

UML模型圖

2010-07-01 14:04:23

UML時序圖

2010-06-30 14:24:02

UML類圖建模

2010-06-11 09:33:47

UML順序圖

2010-06-11 18:27:39

UML對象圖

2010-07-08 09:50:11

UML構件圖

2010-06-29 15:06:14

UML建模

2010-07-08 09:57:14

UML活動圖

2010-06-09 09:16:15

UML活動圖

2010-06-11 10:44:14

UML部署圖

2010-07-01 15:53:09

UML組件圖

2010-06-12 11:37:40

UML建模技術

2010-06-08 17:18:50

UML建模技術

2010-07-06 13:56:40

UML用例圖設計

2010-07-09 13:16:46

UML動態(tài)建模機制

2010-06-18 18:07:19

UML用例圖

2010-06-09 19:07:35

UML用例圖

2010-06-30 17:46:36

UML用例建模
點贊
收藏

51CTO技術棧公眾號