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

創(chuàng)新互聯(lián)長期為上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為沁水企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、成都網(wǎng)站制作,沁水網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
UML狀態(tài)圖簡介
UML狀態(tài)圖是系統(tǒng)分析的一種常用工具,它通過建立類對(duì)象的生存周期模型來描述對(duì)象隨時(shí)間變化的動(dòng)態(tài)行為。
狀態(tài)機(jī)
狀態(tài)機(jī)是展示狀態(tài)與狀態(tài)轉(zhuǎn)換的圖。通常一個(gè)狀態(tài)機(jī)依附于一個(gè)類,并且描述一個(gè)類的實(shí)例。狀態(tài)機(jī)包含了一個(gè)類的對(duì)象在其生命周期間所有狀態(tài)的序列以及對(duì)象對(duì)接收到的事件所產(chǎn)生的反應(yīng)。
狀態(tài)機(jī)由狀態(tài)、轉(zhuǎn)換、事件、活動(dòng)和動(dòng)作5部分組成。
UML狀態(tài)圖
一個(gè)UML狀態(tài)圖表示一個(gè)狀態(tài)機(jī)。主要用于表現(xiàn)從一個(gè)狀態(tài)到另一個(gè)狀態(tài)的控制流。
UML狀態(tài)圖由表示狀態(tài)的節(jié)點(diǎn)和表示狀態(tài)之間轉(zhuǎn)換的帶箭頭的直接組成。若干個(gè)狀態(tài)由一條或多條轉(zhuǎn)換箭頭連接,狀態(tài)的轉(zhuǎn)換由事件觸發(fā)。模型元素的行為可以由UML狀態(tài)圖中的一條通路表示,沿著此通路狀態(tài)機(jī)隨之執(zhí)行了一系列動(dòng)作。一個(gè)簡單的UML狀態(tài)圖如下:
1、狀態(tài)
狀態(tài)由一個(gè)帶圓角的矩形表示,UML狀態(tài)圖的圖標(biāo)可以分為3部分:名稱、內(nèi)部轉(zhuǎn)換和嵌套狀態(tài)。
(1)、名稱。名稱表示狀態(tài)的名字,通常用字符串表示。一個(gè)狀態(tài)的名稱在UML狀態(tài)圖所在的上下文中應(yīng)該是***的
(2)、內(nèi)部轉(zhuǎn)換。在內(nèi)部轉(zhuǎn)換中可以包含進(jìn)入或者走出此狀態(tài)應(yīng)該執(zhí)行的活動(dòng)或動(dòng)作,它們將響應(yīng)對(duì)象所接收到的事件,但是不改變對(duì)象的狀態(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、轉(zhuǎn)換
轉(zhuǎn)換用帶箭頭的直線表示,分別連接源狀態(tài)和目標(biāo)狀態(tài)。當(dāng)源狀態(tài)接收到一個(gè)事件,并且監(jiān)護(hù)條件得到滿足,則執(zhí)行相應(yīng)的動(dòng)作,同時(shí)從源狀態(tài)轉(zhuǎn)換到目標(biāo)狀態(tài)。如果轉(zhuǎn)換上沒有標(biāo)注觸發(fā)轉(zhuǎn)換的事件,則表示此轉(zhuǎn)換為自動(dòng)進(jìn)行。
3、初始狀態(tài)
初始狀態(tài)代表UML狀態(tài)圖的起始位置,起始狀態(tài)在一個(gè)UML狀態(tài)圖中只允許有一個(gè),用一個(gè)實(shí)心圓表示。
4、終止?fàn)顟B(tài)
終止?fàn)顟B(tài)是一個(gè)UML狀態(tài)圖的終止點(diǎn)。它用一個(gè)含有實(shí)心圓的空心圓表示。
5、判定
判定用空心小菱形表示。工作流在此處按監(jiān)護(hù)條件的取值而發(fā)生分支。#p#
狀態(tài)
UML狀態(tài)圖中狀態(tài)包括狀態(tài)名、內(nèi)部轉(zhuǎn)換、入口動(dòng)作和出口動(dòng)作、簡單狀態(tài)、組成狀態(tài)(順序子狀態(tài)、并發(fā)子狀態(tài))、歷史狀態(tài)。
事件
事件表示在某一特定的時(shí)間或空間出現(xiàn)的能夠引發(fā)狀態(tài)改變的運(yùn)動(dòng)變化。事件分為入口事件、出口事件、動(dòng)作事件、信號(hào)事件、調(diào)用事件、修改事件、時(shí)間事件、延遲事件。
轉(zhuǎn)換
轉(zhuǎn)換表示當(dāng)一個(gè)特定事件發(fā)生或某些條件得到滿足時(shí),一個(gè)源狀態(tài)下的對(duì)象在完成一定的動(dòng)作后將發(fā)生狀態(tài)轉(zhuǎn)變,轉(zhuǎn)向另一個(gè)稱之為目標(biāo)狀態(tài)的狀態(tài)。
UML狀態(tài)圖中轉(zhuǎn)換通常分為外部轉(zhuǎn)換、內(nèi)部轉(zhuǎn)換、完成轉(zhuǎn)換和復(fù)合轉(zhuǎn)換4種。一個(gè)轉(zhuǎn)換一般包括5部分的信息:源狀態(tài)、目標(biāo)狀態(tài)、觸發(fā)事件、監(jiān)護(hù)條件和動(dòng)作。
1、外部轉(zhuǎn)換
外部轉(zhuǎn)換是一種改變對(duì)象狀態(tài)的轉(zhuǎn)換,它是最常見的一種轉(zhuǎn)換。外部轉(zhuǎn)換用從源狀態(tài)到目標(biāo)狀態(tài)的箭頭表示。下圖表示了一個(gè)火車上的衛(wèi)生間的簡單狀態(tài)轉(zhuǎn)換。圖中箭頭上標(biāo)注的都是引發(fā)狀態(tài)轉(zhuǎn)換的外部事件。
2、內(nèi)部轉(zhuǎn)換
內(nèi)部轉(zhuǎn)換有一個(gè)源狀態(tài)但沒有目標(biāo)狀態(tài),它轉(zhuǎn)換后的狀態(tài)仍是它本身。內(nèi)部轉(zhuǎn)換用于對(duì)不改變狀態(tài)的插入動(dòng)作建立模型,例如建立幫助信息。
內(nèi)部轉(zhuǎn)換和自轉(zhuǎn)換(即后面提到的完成轉(zhuǎn)換)不同:自轉(zhuǎn)換是離開本狀態(tài)后重新進(jìn)入該狀態(tài),它會(huì)激發(fā)狀態(tài)的入口動(dòng)作和出口動(dòng)作的執(zhí)行;而內(nèi)部轉(zhuǎn)換自始至終都不離開本狀態(tài),所以沒有出口或入口事件。
3、完成轉(zhuǎn)換
完成轉(zhuǎn)換又成自轉(zhuǎn)換,之所以稱為完成轉(zhuǎn)換是因?yàn)闆]有標(biāo)明觸發(fā)器事件的轉(zhuǎn)換是由狀態(tài)中活動(dòng)的完成引起的,是自然而然的完成的轉(zhuǎn)換。
4、復(fù)合轉(zhuǎn)換
復(fù)合轉(zhuǎn)換由簡單轉(zhuǎn)換組成,這些簡單轉(zhuǎn)換通過分支判定、分叉或接合組合在一起。多條件的分支判定又分為鏈?zhǔn)胶头擎準(zhǔn)降姆种?,兩種分支分別如下圖所示:
5、觸發(fā)事件
UML狀態(tài)圖中觸發(fā)事件就是能引起狀態(tài)轉(zhuǎn)換的事件。觸發(fā)事件可以是信號(hào)、調(diào)用和時(shí)間段等。
6、監(jiān)護(hù)條件
監(jiān)護(hù)條件是觸發(fā)轉(zhuǎn)換必須滿足的條件,它是一個(gè)布爾表達(dá)式。當(dāng)事件被觸發(fā)時(shí),監(jiān)護(hù)條件被賦值。如果布爾表達(dá)式為真,那么轉(zhuǎn)換被觸發(fā);否則不會(huì)引起轉(zhuǎn)換。監(jiān)護(hù)條件只能在觸發(fā)事件發(fā)生時(shí)被賦值一次。從一個(gè)狀態(tài)引出的多個(gè)轉(zhuǎn)換可以有同樣的觸發(fā)器事件,但是每個(gè)轉(zhuǎn)換必須具有不同的監(jiān)護(hù)條件。
7、動(dòng)作
動(dòng)作是一組可執(zhí)行語句或計(jì)算處理過程。動(dòng)作可以包括發(fā)送消息給另一個(gè)對(duì)象、操作調(diào)用、設(shè)置返回值、創(chuàng)建和銷毀對(duì)象等。動(dòng)作是原子的,不可中斷的。
整個(gè)系統(tǒng)可以在同一時(shí)間執(zhí)行多個(gè)動(dòng)作。動(dòng)作在它的控制線程中是原子性的,一旦開始執(zhí)行就必須執(zhí)行到底并且不能與同時(shí)處于活動(dòng)狀態(tài)的動(dòng)作發(fā)生交互作用。
網(wǎng)站題目:術(shù)語匯編UML狀態(tài)圖用法解析
文章來源:http://www.5511xx.com/article/dpggoio.html


咨詢
建站咨詢
