登錄

狀態(tài)圖

百科 > 生產(chǎn)管理工具 > 狀態(tài)圖

1.什么是狀態(tài)圖

  狀態(tài)圖是指描述一個(gè)實(shí)體基于事件反應(yīng)的動(dòng)態(tài)行為,顯示了該實(shí)體如何根據(jù)當(dāng)前所處的狀態(tài)對(duì)不同的事件做出反應(yīng)的。通常我們創(chuàng)建一個(gè)UML狀態(tài)圖是為了以下的研究目的:研究類、角色、子系統(tǒng)、或組件的復(fù)雜行為。

2.狀態(tài)圖的建模

  建立狀態(tài)圖的步驟如下:

  (1)確定上下文環(huán)境。狀態(tài)圖是立足于狀態(tài)遷移而進(jìn)行行為描述的。因此建立狀態(tài)圖時(shí)首先要搞清楚狀態(tài)的主體,確定狀態(tài)的上下文環(huán)境。常見的狀態(tài)主體有:類、用例、多個(gè)用例和整個(gè)系統(tǒng)。

  (2)識(shí)別狀態(tài)。狀態(tài)主體會(huì)表現(xiàn)出一些穩(wěn)定的狀態(tài),它們需要被識(shí)別出來,并且標(biāo)記出其中的初始狀態(tài)和結(jié)束狀態(tài)集。在有些情況下,可能會(huì)不存在確定的初始狀態(tài)和結(jié)束狀態(tài)。

  (3)建立狀態(tài)轉(zhuǎn)換。根據(jù)需求所描述的系統(tǒng)行為,建立各個(gè)穩(wěn)定狀態(tài)之間可能存在的轉(zhuǎn)換。

  (4)補(bǔ)充詳細(xì)信息,完善狀態(tài)圖。添加轉(zhuǎn)換的觸發(fā)事件、轉(zhuǎn)換行為和監(jiān)護(hù)條件等詳細(xì)信息。

  在有些情況下也可能會(huì)需要建立狀態(tài)圖的層次結(jié)構(gòu)或者進(jìn)行其他更加復(fù)雜的工作。

  例如,針對(duì)ATM系統(tǒng)示例,可以按照下面的步驟建立取錢類的狀態(tài)圖

  (1)明確狀態(tài)圖的主體:取錢類。

  (2)識(shí)別取錢類可能存在的穩(wěn)定狀態(tài):

  ①接收取錢請(qǐng)求狀態(tài)。

 ?、谏矸蒡?yàn)證狀態(tài)。

 ?、巯蜚y行信息系統(tǒng)提交取錢信息狀態(tài)。

 ?、芴幚砣″X交易狀態(tài)。

 ?、萏幚砩矸蒡?yàn)證錯(cuò)誤狀態(tài)。

 ?、尢幚砣″X成功狀態(tài)。

 ?、咴儐柺欠襁M(jìn)行其他交易。

  其中,接收取錢請(qǐng)求為系統(tǒng)的初始狀態(tài)。

  (3)建立狀態(tài)轉(zhuǎn)換??赡艿臓顟B(tài)轉(zhuǎn)換如表所示,其中如果第i行第J列的元素被標(biāo)記為y,則表示第i行的狀態(tài)可以轉(zhuǎn)換為第J列的狀態(tài)。

接收取錢請(qǐng)求 身份驗(yàn)證 提交信息 處理取錢交易 處理身份驗(yàn)證錯(cuò)誤 取錢交易失敗處理 詢問是否進(jìn)行其他交易
接收取錢請(qǐng)求 Y Y
身份驗(yàn)證 Y Y
提交信息 Y Y
處理取錢交易 Y
處理身份驗(yàn)證錯(cuò)誤 Y
取錢交易失敗處理 Y
詢問是否進(jìn)行其他交易 Y

  (4)在已識(shí)別狀態(tài)和轉(zhuǎn)換的基礎(chǔ)上,添加詳細(xì)的信息說明,建立狀態(tài)圖。

評(píng)論  |   0條評(píng)論