UML活動圖教案_第1頁
UML活動圖教案_第2頁
UML活動圖教案_第3頁
UML活動圖教案_第4頁
UML活動圖教案_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1 活動圖概述l活動圖(activity diagram)和交互圖是UML中對系統(tǒng)動態(tài)建模的兩種主要形式。l交互圖(順序圖和協(xié)作圖)強調(diào)的是對象到對象的控制流,而活動圖則強調(diào)的是從活動到活動的控制流 。l活動圖用來描述事物或?qū)ο蟮幕顒幼兓鞒?,是一種表述業(yè)務(wù)過程、工作流的技術(shù)。它可以用來對業(yè)務(wù)過程、工作流建模、工程組織過程、算法流程,也可以對用例實現(xiàn)建模。 1. 描述工作流 訂貨處理活動圖訂貨處理活動圖 2. 描述工程組織過程 建筑工程過程活動圖建筑工程過程活動圖 3. 描述算法流程 2 活動圖的圖形表示活動圖的圖形表示l在在UML中,活動表示成中,活動表示成圓角矩形圓角矩形。l如果一個活動引

2、發(fā)下一個活動,兩個活動的圖如果一個活動引發(fā)下一個活動,兩個活動的圖標之間用標之間用帶箭頭的直線帶箭頭的直線連接。連接。l活動圖也有活動圖也有起點和終點起點和終點。l活動圖中還包括活動圖中還包括分支與合并分支與合并、分叉與匯合分叉與匯合等模等模型元素。分支與合并的圖標和狀態(tài)圖中的判定型元素。分支與合并的圖標和狀態(tài)圖中的判定的圖標相同,而分叉與匯合則用一條加粗的線的圖標相同,而分叉與匯合則用一條加粗的線段表示。段表示。Activity1Activity2Activity3Activity4Activity5Activity6Activity7活動起點活動起點活動活動分叉分叉匯合匯合活動終點活動終點

3、分支分支合并合并活動圖的圖形表示活動圖的圖形表示 3 活動圖的組成元素活動圖的組成元素l組成組成UML的圖形元素:的圖形元素:動作狀態(tài)(動作狀態(tài)(Action State)活動狀態(tài)(活動狀態(tài)(Activity State)動作流(動作流(Action Flow)分支(分支(Branch)與合并()與合并(Merge)分叉(分叉(Fork)與匯合()與匯合(Join)泳道(泳道(Swimlane)對象流(對象流(Object Flow)動作狀態(tài)動作狀態(tài)l動作狀態(tài)是指執(zhí)行動作狀態(tài)是指執(zhí)行原子的原子的、不可中斷不可中斷的動作,的動作,并在此動作完成后通過完成轉(zhuǎn)換轉(zhuǎn)向另一個狀并在此動作完成后通過完成轉(zhuǎn)

4、換轉(zhuǎn)向另一個狀態(tài)的狀態(tài)。態(tài)的狀態(tài)。 l動作狀態(tài)使用平滑的圓角矩形表示,動作狀態(tài)動作狀態(tài)使用平滑的圓角矩形表示,動作狀態(tài)所表示的動作寫在圓角矩形內(nèi)部。所表示的動作寫在圓角矩形內(nèi)部。 Click Mouse活動狀態(tài)活動狀態(tài)l活動狀態(tài)用于表達狀態(tài)機中的一個活動狀態(tài)用于表達狀態(tài)機中的一個非原子非原子的運行的運行,活動狀態(tài)可以分解成其他子活動或動作狀態(tài).l活動狀態(tài)的表示圖標也是平滑的圓角矩形,并活動狀態(tài)的表示圖標也是平滑的圓角矩形,并可以在可以在圖標中給出入口動作和出口動作等信息圖標中給出入口動作和出口動作等信息?;顒訝顟B(tài)的內(nèi)部活動可以用另一個活動圖來表示。和動作狀態(tài)不同,活動狀態(tài)可以有入口動作和出口動

5、作,也可以有內(nèi)部轉(zhuǎn)移。動作狀態(tài)是活動狀態(tài)的一個特例,如果某個活動狀態(tài)只包括一個動作,那么它就是一個動作狀態(tài)。動作流動作流l所有所有動作狀態(tài)之間的轉(zhuǎn)換動作狀態(tài)之間的轉(zhuǎn)換流稱之為動作流。流稱之為動作流。 l活動圖的轉(zhuǎn)換也用帶箭頭的直線表示,箭頭的活動圖的轉(zhuǎn)換也用帶箭頭的直線表示,箭頭的方向指向轉(zhuǎn)入的方向。方向指向轉(zhuǎn)入的方向。 活動流活動流分支與合并分支與合并l分支一般用于表示對象類所具有的條件行為。分支一般用于表示對象類所具有的條件行為。l條件行為用分支和合并表達條件行為用分支和合并表達。 l在活動圖中分支與合并用空心小菱形表示。在活動圖中分支與合并用空心小菱形表示。l一個分支有一個入轉(zhuǎn)換和兩個帶

6、條件的出轉(zhuǎn)換,一個分支有一個入轉(zhuǎn)換和兩個帶條件的出轉(zhuǎn)換,出轉(zhuǎn)換的條件應(yīng)當是互斥的,這樣可以保證只有出轉(zhuǎn)換的條件應(yīng)當是互斥的,這樣可以保證只有一條出轉(zhuǎn)換能夠被觸發(fā)。一條出轉(zhuǎn)換能夠被觸發(fā)。l一個合并有一個合并有兩個帶條件的入轉(zhuǎn)換兩個帶條件的入轉(zhuǎn)換和和一個出轉(zhuǎn)換一個出轉(zhuǎn)換,合并表示從對應(yīng)的分支開始的條件行為的結(jié)束。合并表示從對應(yīng)的分支開始的條件行為的結(jié)束。 分支與合并分支與合并分叉與匯合分叉與匯合l分叉分叉用于將動作流分為兩個或者多個用于將動作流分為兩個或者多個并發(fā)運行的分支并發(fā)運行的分支,而,而匯合匯合則用于則用于同步這些并發(fā)分支同步這些并發(fā)分支,以達到共同完成一項事務(wù),以達到共同完成一項事務(wù)的目

7、的。的目的。l分叉可以用來描述并發(fā)線程,每個分叉可以有一個輸入轉(zhuǎn)分叉可以用來描述并發(fā)線程,每個分叉可以有一個輸入轉(zhuǎn)換和兩個或多個輸出轉(zhuǎn)換,每個轉(zhuǎn)換都可以是換和兩個或多個輸出轉(zhuǎn)換,每個轉(zhuǎn)換都可以是獨立獨立的控制的控制流。流。l匯合代表兩個或多個并發(fā)控制流同步發(fā)生,匯合代表兩個或多個并發(fā)控制流同步發(fā)生,當所有的控制當所有的控制流都達到匯合點后,控制才能繼續(xù)往下進行流都達到匯合點后,控制才能繼續(xù)往下進行。每個匯合可。每個匯合可以有兩個或多個輸入轉(zhuǎn)換和一個輸出轉(zhuǎn)換。以有兩個或多個輸入轉(zhuǎn)換和一個輸出轉(zhuǎn)換。l分叉和匯合都使用加粗的水平線段表示。分叉和匯合都使用加粗的水平線段表示。 分叉與匯合: 用來對并發(fā)

8、的控制流建模。 分叉用于將活動流分為兩個或多個并發(fā)運行的分支。分叉分叉匯合匯合分叉分叉泳道泳道l泳道將活動圖中的活動化分為若干組泳道將活動圖中的活動化分為若干組,并把每一組指定,并把每一組指定給負責(zé)這組活動的業(yè)務(wù)組織即對象。給負責(zé)這組活動的業(yè)務(wù)組織即對象。l泳道區(qū)分了負責(zé)活動的對象泳道區(qū)分了負責(zé)活動的對象,明確地表示了哪些活動是,明確地表示了哪些活動是由哪些對象進行的。由哪些對象進行的。l每個活動只能明確地屬于一個泳道每個活動只能明確地屬于一個泳道。l泳道用垂直實線繪出,垂直線分隔的區(qū)域就是泳道。在泳道用垂直實線繪出,垂直線分隔的區(qū)域就是泳道。在泳道上方可以給出泳道的名字或?qū)ο螅▽ο箢悾┑拿?/p>

9、,泳道上方可以給出泳道的名字或?qū)ο螅▽ο箢悾┑拿?,該對象(對象類)負?zé)泳道內(nèi)的全部活動。該對象(對象類)負責(zé)泳道內(nèi)的全部活動。l泳道沒有順序泳道沒有順序,不同泳道中的活動既可以順序進行也可,不同泳道中的活動既可以順序進行也可以并發(fā)進行,動作流和對象流允許穿越分隔線。以并發(fā)進行,動作流和對象流允許穿越分隔線。 user Lift Press button enter Lift move to the current floor Press desired floor button leave Open the door Close the door Go to the floor The do

10、or open The door close Lift is on the current floor else 對象流對象流l對象流是動作狀態(tài)或者活動狀態(tài)與對象之間的依賴關(guān)對象流是動作狀態(tài)或者活動狀態(tài)與對象之間的依賴關(guān)系,表示動作使用對象或者動作對對象的影響系,表示動作使用對象或者動作對對象的影響。 l對象流中的對象特點:對象流中的對象特點:一個對象可以由多個動作操縱。一個對象可以由多個動作操縱。一個動作輸出的對象可以作為另一個動作輸入的對象。一個動作輸出的對象可以作為另一個動作輸入的對象。在在活動圖中,同一個對象可以多次出現(xiàn)活動圖中,同一個對象可以多次出現(xiàn),它的每一次,它的每一次出現(xiàn)表明該

11、對象正處于對象生存期的不同時間點。出現(xiàn)表明該對象正處于對象生存期的不同時間點。 l對象流用帶有箭頭的虛線表示對象流用帶有箭頭的虛線表示。如果箭頭從動如果箭頭從動作狀態(tài)出發(fā)指向?qū)ο?,則表示動作對對象施加作狀態(tài)出發(fā)指向?qū)ο?,則表示動作對對象施加了一定的影響了一定的影響。如果箭頭從對象指向動作狀態(tài),如果箭頭從對象指向動作狀態(tài),則表示該動作使用對象流所指向的對象則表示該動作使用對象流所指向的對象。 對象流: 反映活動與對象之間的依賴關(guān)系,表示對象對活動的作用或活動對對象的影響,用依賴關(guān)系表示。對象流對象流1)如果箭頭從活動指向?qū)ο?,表示活動對對象的?chuàng)建、修改或撤銷等的影響;)如果箭頭從活動指向?qū)ο螅?/p>

12、示活動對對象的創(chuàng)建、修改或撤銷等的影響;2)如果箭頭從對象指向活動,表示該活動將使用所指向的對象。)如果箭頭從對象指向活動,表示該活動將使用所指向的對象。對象下的方括號對象下的方括號表示對象的狀態(tài)表示對象的狀態(tài)4 活動圖建模技術(shù)活動圖建模技術(shù)識別要對其工作流描述的識別要對其工作流描述的類或?qū)ο箢惢驅(qū)ο?。確定工作流的初始狀態(tài)和終止狀態(tài),明確工確定工作流的初始狀態(tài)和終止狀態(tài),明確工作流的邊界。作流的邊界。對對動作狀態(tài)或活動狀態(tài)動作狀態(tài)或活動狀態(tài)建模。建模。對對動作流動作流建模。建模。對對對象流對象流建模。建模。對建立的模型進行對建立的模型進行精化和細化精化和細化。 用例圖 CustomerActo

13、r Maintain Account Login Clerk Transfer fund within a bank Deposit fund Withdraw fund Transfer fund Clerk BankActor Transfer fund between banks 用例的事件流描述1 “Deposit fund”(存款)1.1 簡單描述本用例允許客戶借助Clerk存款到賬戶中。1.2 前置條件(Pre-Conditions)在本用例開始前,Clerk必須登錄到系統(tǒng)中。1.3 后置條件(Post-Conditions)如果用例成功,則客戶CustomerActor賬戶中存款

14、的金額發(fā)生變化。否則,系統(tǒng)狀態(tài)不變。1.4 擴充點(Extension Points)無。1.5 事件流1.5.1 基流(Basic Flow)當CustomerActor想存錢到自己的賬戶時,要向Clerk提交存款單和現(xiàn)金,用例啟動。(1)系統(tǒng)提示Clerk輸入用戶姓名、用戶的id號、賬號和所存款項的金額。(2)Clerk輸入相關(guān)信息后提交,系統(tǒng)確認賬戶是否存在并有效(當用戶名、用戶id與賬戶的戶主信息一致,且賬戶處于非凍結(jié)狀態(tài)時,賬戶有效)(E-1)。(3)系統(tǒng)建立存款事件記錄,并更新賬戶的相關(guān)信息。1.5.2 替代流(Alternative Flow)E-1:賬戶不存在或無效,顯示提示信

15、息,用戶可以重新輸入或終止該用例。 input information submit pop up information dialog the account exists and valid? create transaction record yes display error message no save record into DB update account system clerk 用例的事件流描述2 “Withdraw fund”(取款)2.1 簡單描述本用例允許Clerk按照客戶的要求從客戶的賬戶中取款。2.2 前置條件(Pre-Conditions)在本用例開始前,用戶

16、必須登錄到系統(tǒng)中。2.3 后置條件(Post-Conditions)如果用例成功,則客戶CustomerActor賬戶中存款的金額發(fā)生變化。否則,系統(tǒng)狀態(tài)不變。2.4 擴充點(Extension Points)無。2.5 事件流2.5.1 基流(Basic Flow)當Customer想從自己的賬戶中取錢時,要向Clerk提交取款單,用例啟動。(1)系統(tǒng)提示Clerk輸入用戶姓名、用戶的id號、賬號和取款金額。(2)Clerk輸入相關(guān)信息后提交,系統(tǒng)確認賬戶是否存在并有效(當用戶名、用戶id與賬戶的戶主信息一致,且賬戶處于非凍結(jié)狀態(tài)時,賬戶有效)(E-1),賬戶中的存款金額是否足夠支付所取款項

17、(E-2)。(3)系統(tǒng)建立取款事件記錄,并更新賬戶的相關(guān)信息。2.5.2 替代流(Alternative Flow)E-1:若賬戶不存在或無效,顯示提示信息,用戶可以重新輸入或終止該用例。E-2:賬戶中的存款金額不足,顯示提示信息,用戶可以重新輸入金額或終止該用例。 input information submit account exists & valid? pop up information dialog display error message no money enough? yes create transaction record update account sav

18、e record into DB no yes system clerk 用例的事件流描述3 “Transfer fund”(轉(zhuǎn)賬)3.1 簡單描述本用例允許Clerk按照客戶的要求將資金從一個賬戶轉(zhuǎn)到另一個賬戶。3.2 前置條件(Pre-Conditions)在本用例開始前,用戶必須登錄到系統(tǒng)中。3.3 后置條件(Post-Conditions)如果用例成功,則客戶CustomerActor賬戶中存款的金額發(fā)生變化。否則,系統(tǒng)狀態(tài)不變。3.4 擴充點(Extension Points)無。3.5 事件流3.5.1 基流(Basic Flow)當Customer要求轉(zhuǎn)賬時,用例啟動(1)系統(tǒng)提

19、示Clerk輸入用戶姓名、用戶的id號、賬戶號碼和轉(zhuǎn)賬金額。(2)Clerk輸入相關(guān)信息后提交。(資金轉(zhuǎn)入賬戶所在的銀行只能在所提供的銀行列表中選擇)。(3)系統(tǒng)確認資金轉(zhuǎn)出賬戶是否存在并有效(當用戶名、用戶id與賬戶的戶主信息一致,且賬戶處于非凍結(jié)狀態(tài)時,賬戶有效)(E-1),資金轉(zhuǎn)出賬戶中的金額是否足夠支付所轉(zhuǎn)款項(E-2)。(4)更新資金轉(zhuǎn)出賬戶的相關(guān)信息。(5)為資金轉(zhuǎn)出賬戶建立轉(zhuǎn)賬記錄。(6)存儲轉(zhuǎn)賬記錄。(7)判斷資金轉(zhuǎn)入賬戶是否屬于同一銀行,如果資金轉(zhuǎn)入賬戶與資金轉(zhuǎn)出賬戶屬于同一銀行,則執(zhí)行分支流S-1:在同一銀行的賬戶間轉(zhuǎn)賬。如果資金轉(zhuǎn)入賬戶與資金轉(zhuǎn)出賬戶屬于不同銀行,則執(zhí)行分

20、支流S-2:在不同銀行的賬戶間轉(zhuǎn)賬。用例的事件流描述3.5.2 分支流(Subflows)S-1:在同一銀行的賬戶間轉(zhuǎn)賬(1)系統(tǒng)確認資金轉(zhuǎn)入賬戶是否存在并有效(當賬戶處于非凍結(jié)狀態(tài)時,賬戶有效)(E-1)。(2)更新資金轉(zhuǎn)入賬戶的相關(guān)信息。(3)為資金轉(zhuǎn)入賬戶建立轉(zhuǎn)賬記錄。(4)存儲轉(zhuǎn)賬記錄。S-2:在不同銀行的賬戶間轉(zhuǎn)賬(1)發(fā)送轉(zhuǎn)賬通知給另一個銀行。3.4.3 替代流(Alternative Flow)E-1:賬戶不存在或無效,顯示提示信息,用戶可以重新輸入或終止該用例。E-2:賬戶中的存款金額不足,顯示提示信息,用戶可以修改所轉(zhuǎn)款項的金額或終止該用例。 input informatio

21、n submit s_account exists & valid? money enough in s_account? yes pop up information dialog display error message no create s_transfer record update s_account save s_transfer record in DB transfer within a bank? notify another bank d_accout exists & valid? update d_account create d_transfer record save d_transfer record in DB no yes yes no no yes system clerk 要創(chuàng)建活動圖,首先展開“Logic View”菜單項,然后在“Logic View”圖標上單擊鼠標右鍵,在彈出的菜單中選擇“New”下的“Activity Diagram”選項建立新的活動圖。 在狀態(tài)圖建立以后,雙擊狀態(tài)圖圖標,會出現(xiàn)狀態(tài)圖繪制區(qū)域 活動圖工具條活動圖工具條選擇工具文本注釋狀態(tài)初始狀態(tài)終止狀態(tài)狀態(tài)轉(zhuǎn)換反身轉(zhuǎn)換活動水平同步條垂直同步條判斷泳道活動圖中增加模型元素活動圖中增加模型元素 活動圖

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論