實例講解UML活動圖繪制方法
本節向大家介紹一下繪制UML活動圖的方法,主要包括繪制具體步驟介紹和實例講解兩部分內容,相信通過本節的學習,你一定會對如何繪制UML活動圖有深刻的認識。
UML活動圖
UML活動圖記錄了單個操作或方法的邏輯,單個用戶案例,或者單個業務流程的邏輯。在很多方面,活動圖是結構化開發中流程圖和數據流程圖(DFD)的面向對象等同體,要創建一個UML活動圖,您需要反復執行下列步驟。
第一步,定義uml活動圖的范圍首先應該定義您要對什么建模。單個用戶案例力?一個用戶案例的一部分?一個包含多個用戶案例的商務流程?一個類的單個方法?一旦您定義了您所作圖的范圍,您應該在其頂部,用一個標注添加標簽,指明該圖的標題和唯一的標示符。您有可能也想要包括該圖的時間甚至作者名。
第二步,添加起始和結束點每個活動圖有一個起始點和結束點,因此您也要馬上添加它們。在《UML精粹》(UMLDistilled)(參見參考資料),Fowler和Scott認為結束點是可選的。有時候一個活動只是一個簡單的結束,如果是這種情況,指明其唯一的轉變是到一個結束點也是無害的。這樣,當其他人閱讀您的圖時,他或她知道您已經考慮了如何退出這些活動。
第三步,添加活動如果您正對一個用戶案例建模,對每個角色(actor)所發出的主要步驟引入一個活動(該活動可能包括起始步驟,加上對起始步驟系統響應的任何步驟)。如果您正對一個高層的商務流程建模,對每個主要流程引入一個活動,通常為一個用戶案例或用戶案例包。最后,如果您正對一個方法建模,那么對此引入一個活動是很常見的。
第四步,添加活動間的轉變我的風格總是應該退出一個活動,即使它是轉變到一個結束點。一旦一個活動有多個轉變時,您必需對每個轉變加以相應標示。
第五步,添加決策點有時候,您所建模的邏輯需要做出一個決策。有可能是需要檢查某些事務或比較某些事務。要注意的是,使用決策點是可選的。
第六步,找出可并行活動之處當兩個活動間沒有直接的聯系,而且它們都必需在第三個活動開始前結束,那它們是可以并行運行的。
下面的UML活動圖描述了大學新生第一次將如何辦理入學的商業邏輯。
實心圓表示活動圖的起點,實際上是一個占位符,帶邊框的實心圓表示終點。
圓角矩形表示執行的過程或活動。在該圖中,雖然您會注意到“登記研習班”用例將多次調用“登記研習班”活動,但這些活動卻相當緊密地映射到用例。活動可以細致得多,特別在選擇記錄方法邏輯,而不是高級商業過程時。
菱形表示判定點,雖然在此示例中判定點只有兩種可能結果;但即使有更多可能結果,它也同樣容易。
箭頭表示活動之間的轉換,各種活動之間的流動次序。
箭頭上的文字表示繼續轉換所必須滿足的條件,總是使用格式“[條件]”來描述。我猜想,在UML的將來版本中,我們將會看到使用UML約束表示法(如“{condition}”)記錄的條件。
粗線條表示可能會并行進行的過程的開始和結束;在大學里成功入學后,必須參加指定的概況介紹,還要至少登記一個研習班并交付一部分的學費。
退出活動可能有幾種方法,如您看到的“填寫入學表”活動的那樣。如果正確填寫了表格,那么可以繼續進行大學的入學手續。但是,如果表格不正確,那么必須獲得幫助(可能從注冊員獲得幫助)以正確填寫它們。
圖1.第一次入學的UML活動圖
這個活動圖非常有趣,因為它省掉了圖2中標識的幾個用例的邏輯。用例模型沒有很好地表達處理的順序是件好事。例如,雖然圖2中顯示的用例圖為您清楚地描述了該系統所執行的功能類型,但是它沒有明確地表達這些用例可能發生的順序。但是,圖1的活動圖做到了這一點。總之,不同模型的優缺點各有不同。
中標識的幾個用例的邏輯。用例模型沒有很好地表達處理的順序是件好事。例如,雖然中顯示的用例圖為您清楚地描述了該系統所執行的功能類型,但是它沒有明確地表達這些用例可能發生的順序。但是,的活動圖做到了這一點。總之,不同模型的優缺點各有不同。
【編輯推薦】