登錄

狀態(tài)圖

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

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

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

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

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

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

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

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

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

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

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

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

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

 ?、俳邮杖″X請求狀態(tài)。

  ②身份驗證狀態(tài)。

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

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

 ?、萏幚砩矸蒡炞C錯誤狀態(tài)。

  ⑥處理取錢成功狀態(tài)。

  ⑦詢問是否進行其他交易。

  其中,接收取錢請求為系統(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)。

接收取錢請求 身份驗證 提交信息 處理取錢交易 處理身份驗證錯誤 取錢交易失敗處理 詢問是否進行其他交易
接收取錢請求 Y Y
身份驗證 Y Y
提交信息 Y Y
處理取錢交易 Y
處理身份驗證錯誤 Y
取錢交易失敗處理 Y
詢問是否進行其他交易 Y

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

評論  |   0條評論