如你在圖1所見的,初始狀態被建模成一個實心圈,把初始狀態放在左上角反映西方人的閱讀文化的習慣。
把最終狀態放置在右下角。
如你在圖1所見,最終狀態被建模為一個帶邊界的實心圓。把最終狀態放右下角反映了西方的文化的從左到右,從上到下的閱讀習慣。
狀態指南
狀態是一個實體的行為模式的某個階段。 狀態的表示是通過實體的屬性值。 例如,在圖1中,當seminar被標記為open,并且存在空位的時候,seminar就處于Open For Enrollment的狀態。
狀態名稱要簡單但應具有描述性。
象Open For Enrollment和Proposed這種的狀態名稱很容易理解,從而提高了圖⒈的溝通價值。理論上狀態名稱應該是現在時,但是用過去式寫成的諸如Proposed的名稱要比用現在時寫成的諸如Is Proposed的名稱好的多。
避免"黑洞"狀態。
黑洞狀態是那種只有變換進來但沒有任何變換發出的狀態,這種情況要么由于該狀態是一個最終狀態,要么就是你已經錯過了一個或多個變換變換。
避免"奇跡"狀態。
奇跡狀態是那種只有變換發出但沒有任何變換進來的狀態,這種情況要么由于該狀態是一個起點,要么就是你已經錯過了一個或多個變換變換。
子狀態建模指南
為復雜的目標建模子狀態。
圖1中展示的UML狀態圖是不完整的,因為它沒有建模Seminar的post - enrollment(注冊后)狀態。 圖2建模了一個Seminar的完整的生命周期,把圖1描述為一個新的包括子狀態集合的Enrollment的復合狀態,也稱作超狀態。 注意按理說你會像圖1的模型那樣處理標記,但為了簡化起見在原先變換上的標記都沒有包括在內。當一個現有狀態表現出復雜的行為時,建模子狀態就是有意義的,從而促使你來研究它的子狀態。 當幾個現有狀態共用一個通用的入口條件或出口條件( Douglass 1999)時,引入超狀態是有意義的,在圖1中你可以看到所有的狀態共用一個通用的closed變換,以到達最終狀態。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/