《UML活動(dòng)圖教案》由會(huì)員分享,可在線閱讀,更多相關(guān)《UML活動(dòng)圖教案(48頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二
2、級(jí),第三級(jí),第四級(jí),第五級(jí),*,UML活動(dòng)圖教案,1.描述工作流,訂貨處理活動(dòng)圖,2.描述工程組織過(guò)程,建筑工程過(guò)程活動(dòng)圖,3.描述算法流程,2 活動(dòng)圖的圖形表示,在UML中,活動(dòng)表示成圓角矩形。,如果一個(gè)活動(dòng)引發(fā)下一個(gè)活動(dòng),兩個(gè)活動(dòng)的圖標(biāo)之間用帶箭頭的直線連接。,活動(dòng)圖也有起點(diǎn)和終點(diǎn)。,活動(dòng)圖中還包括分支與合并、分叉與匯合等模型元素。分支與合并的圖標(biāo)和狀態(tài)圖中的判定的圖標(biāo)相同,而分叉與匯合則用一條加粗的線段表示。,活動(dòng)起點(diǎn),活動(dòng),分叉,匯合,活動(dòng)終點(diǎn),分支,合并,活動(dòng)圖的圖形表示,3 活動(dòng)圖的組成元素,組成UML的圖形元素:,動(dòng)作狀態(tài)(,Action State,),活動(dòng)狀態(tài)(,Activi
3、ty State,),動(dòng)作流(,Action Flow,),分支(,Branch,),與合并(,Merge,),分叉(,Fork,),與匯合(,Join,),泳道(,Swimlane,),對(duì)象流(,Object Flow,),動(dòng)作狀態(tài),動(dòng)作狀態(tài)是指執(zhí)行原子的、不可中斷的動(dòng)作,并在此動(dòng)作完成后通過(guò)完成轉(zhuǎn)換轉(zhuǎn)向另一個(gè)狀態(tài)的狀態(tài)。,動(dòng)作狀態(tài)使用平滑的圓角矩形表示,動(dòng)作狀態(tài)所表示的動(dòng)作寫(xiě)在圓角矩形內(nèi)部。,活動(dòng)狀態(tài),活動(dòng)狀態(tài)用于表達(dá)狀態(tài)機(jī)中的一個(gè)非原子的運(yùn)行,活動(dòng)狀態(tài)可以分解成其他子活動(dòng)或動(dòng)作狀態(tài).,活動(dòng)狀態(tài)的表示圖標(biāo)也是平滑的圓角矩形,并可以在圖標(biāo)中給出入口動(dòng)作和出口動(dòng)作等信息。,活動(dòng)狀態(tài)的內(nèi)部活動(dòng)可
4、以用另一個(gè)活動(dòng)圖來(lái)表示。,和動(dòng)作狀態(tài)不同,活動(dòng)狀態(tài)可以有入口動(dòng)作和出口動(dòng)作,也可以有內(nèi)部轉(zhuǎn)移。,動(dòng)作狀態(tài)是活動(dòng)狀態(tài)的一個(gè)特例,如果某個(gè)活動(dòng)狀態(tài)只包括一個(gè)動(dòng)作,那么它就是一個(gè)動(dòng)作狀態(tài)。,動(dòng)作流,所有動(dòng)作狀態(tài)之間的轉(zhuǎn)換流稱之為動(dòng)作流。,活動(dòng)圖的轉(zhuǎn)換也用帶箭頭的直線表示,箭頭的方向指向轉(zhuǎn)入的方向。,活動(dòng)流,分支與合并,分支一般用于表示對(duì)象類所具有的條件行為。,條件行為用分支和合并表達(dá)。,在活動(dòng)圖中分支與合并用空心小菱形表示。,一個(gè)分支有一個(gè)入轉(zhuǎn)換和兩個(gè)帶條件的出轉(zhuǎn)換,出轉(zhuǎn)換的條件應(yīng)當(dāng)是互斥的,這樣可以保證只有一條出轉(zhuǎn)換能夠被觸發(fā)。,一個(gè)合并有兩個(gè)帶條件的入轉(zhuǎn)換和一個(gè)出轉(zhuǎn)換,合并表示從對(duì)應(yīng)的分支開(kāi)始的
5、條件行為的結(jié)束。,分支與合并,分叉與匯合,分叉用于將動(dòng)作流分為兩個(gè)或者多個(gè)并發(fā)運(yùn)行的分支,而匯合則用于同步這些并發(fā)分支,以達(dá)到共同完成一項(xiàng)事務(wù)的目的。,分叉可以用來(lái)描述并發(fā)線程,每個(gè)分叉可以有一個(gè)輸入轉(zhuǎn)換和兩個(gè)或多個(gè)輸出轉(zhuǎn)換,每個(gè)轉(zhuǎn)換都可以是獨(dú)立的控制流。,匯合代表兩個(gè)或多個(gè)并發(fā)控制流同步發(fā)生,當(dāng)所有的控制流都達(dá)到匯合點(diǎn)后,控制才能繼續(xù)往下進(jìn)行。每個(gè)匯合可以有兩個(gè)或多個(gè)輸入轉(zhuǎn)換和一個(gè)輸出轉(zhuǎn)換。,分叉和匯合都使用加粗的水平線段表示。,分叉與匯合:用來(lái)對(duì)并發(fā)的控制流建模。,分叉用于將活動(dòng)流分為兩個(gè)或多個(gè)并發(fā)運(yùn)行的分支。,分叉,匯合,分叉,泳道,泳道將活動(dòng)圖中的活動(dòng)化分為若干組,并把每一組指定給負(fù)責(zé)
6、這組活動(dòng)的業(yè)務(wù)組織即對(duì)象。,泳道區(qū)分了負(fù)責(zé)活動(dòng)的對(duì)象,明確地表示了哪些活動(dòng)是由哪些對(duì)象進(jìn)行的。,每個(gè)活動(dòng)只能明確地屬于一個(gè)泳道。,泳道用垂直實(shí)線繪出,垂直線分隔的區(qū)域就是泳道。在泳道上方可以給出泳道的名字或?qū)ο螅▽?duì)象類)的名字,該對(duì)象(對(duì)象類)負(fù)責(zé)泳道內(nèi)的全部活動(dòng)。,泳道沒(méi)有順序,不同泳道中的活動(dòng)既可以順序進(jìn)行也可以并發(fā)進(jìn)行,動(dòng)作流和對(duì)象流允許穿越分隔線。,對(duì)象流,對(duì)象流是動(dòng)作狀態(tài)或者活動(dòng)狀態(tài)與對(duì)象之間的依賴關(guān)系,表示動(dòng)作使用對(duì)象或者動(dòng)作對(duì)對(duì)象的影響。,對(duì)象流中的對(duì)象特點(diǎn):,一個(gè)對(duì)象可以由多個(gè)動(dòng)作操縱。,一個(gè)動(dòng)作輸出的對(duì)象可以作為另一個(gè)動(dòng)作輸入的對(duì)象。,在活動(dòng)圖中,同一個(gè)對(duì)象可以多次出現(xiàn),它的
7、每一次出現(xiàn)表明該對(duì)象正處于對(duì)象生存期的不同時(shí)間點(diǎn)。,對(duì)象流用帶有箭頭的虛線表示。如果箭頭從動(dòng)作狀態(tài)出發(fā)指向?qū)ο螅瑒t表示動(dòng)作對(duì)對(duì)象施加了一定的影響。如果箭頭從對(duì)象指向動(dòng)作狀態(tài),則表示該動(dòng)作使用對(duì)象流所指向的對(duì)象。,對(duì)象流:反映活動(dòng)與對(duì)象之間的依賴關(guān)系,表示對(duì)象對(duì)活動(dòng)的作用或活動(dòng)對(duì)對(duì)象的影響,用依賴關(guān)系表示。,對(duì)象流,1)如果箭頭從活動(dòng)指向?qū)ο?,表示活?dòng)對(duì)對(duì)象的創(chuàng)建、修改或撤銷等的影響;,2)如果箭頭從對(duì)象指向活動(dòng),表示該活動(dòng)將使用所指向的對(duì)象。,對(duì)象下的方括號(hào)表示對(duì)象的狀態(tài),4 活動(dòng)圖建模技術(shù),識(shí)別要對(duì)其工作流描述的,類或?qū)ο?。,確定工作流的初始狀態(tài)和終止?fàn)顟B(tài),明確工作流的邊界。,對(duì),動(dòng)作狀態(tài)
8、或活動(dòng)狀態(tài),建模。,對(duì),動(dòng)作流,建模。,對(duì),對(duì)象流,建模。,對(duì)建立的模型進(jìn)行,精化和細(xì)化,。,用例圖,用例的事件流描述,1 “Deposit fund”(存款),1.1 簡(jiǎn)單描述,本用例允許客戶借助Clerk存款到賬戶中。,1.2 前置條件(Pre-Conditions),在本用例開(kāi)始前,Clerk必須登錄到系統(tǒng)中。,1.3 后置條件(Post-Conditions),如果用例成功,則客戶CustomerActor賬戶中存款的金額發(fā)生變化。否則,系統(tǒng)狀態(tài)不變。,1.4 擴(kuò)充點(diǎn)(Extension Points),無(wú)。,1.5 事件流,1.5.1 基流(Basic Flow),當(dāng)Customer
9、Actor想存錢到自己的賬戶時(shí),要向Clerk提交存款單和現(xiàn)金,用例啟動(dòng)。,(1)系統(tǒng)提示Clerk輸入用戶姓名、用戶的id號(hào)、賬號(hào)和所存款項(xiàng)的金額。,(2)Clerk輸入相關(guān)信息后提交,系統(tǒng)確認(rèn)賬戶是否存在并有效(當(dāng)用戶名、用戶id與賬戶的戶主信息一致,且賬戶處于非凍結(jié)狀態(tài)時(shí),賬戶有效)(E-1)。,(3)系統(tǒng)建立存款事件記錄,并更新賬戶的相關(guān)信息。,1.5.2 替代流(Alternative Flow),E-1:賬戶不存在或無(wú)效,顯示提示信息,用戶可以重新輸入或終止該用例。,用例的事件流描述,2 “Withdraw fund”(取款),2.1 簡(jiǎn)單描述,本用例允許Clerk按照客戶的要求從
10、客戶的賬戶中取款。,2.2 前置條件(Pre-Conditions),在本用例開(kāi)始前,用戶必須登錄到系統(tǒng)中。,2.3 后置條件(Post-Conditions),如果用例成功,則客戶CustomerActor賬戶中存款的金額發(fā)生變化。否則,系統(tǒng)狀態(tài)不變。,2.4 擴(kuò)充點(diǎn)(Extension Points),無(wú)。,2.5 事件流,2.5.1 基流(Basic Flow),當(dāng)Customer想從自己的賬戶中取錢時(shí),要向Clerk提交取款單,用例啟動(dòng)。,(1)系統(tǒng)提示Clerk輸入用戶姓名、用戶的id號(hào)、賬號(hào)和取款金額。,(2)Clerk輸入相關(guān)信息后提交,系統(tǒng)確認(rèn)賬戶是否存在并有效(當(dāng)用戶名、用戶
11、id與賬戶的戶主信息一致,且賬戶處于非凍結(jié)狀態(tài)時(shí),賬戶有效)(E-1),賬戶中的存款金額是否足夠支付所取款項(xiàng)(E-2)。,(3)系統(tǒng)建立取款事件記錄,并更新賬戶的相關(guān)信息。,2.5.2 替代流(Alternative Flow),E-1:若賬戶不存在或無(wú)效,顯示提示信息,用戶可以重新輸入或終止該用例。,E-2:賬戶中的存款金額不足,顯示提示信息,用戶可以重新輸入金額或終止該用例。,用例的事件流描述,3 “Transfer fund”(轉(zhuǎn)賬),3.1 簡(jiǎn)單描述,本用例允許Clerk按照客戶的要求將資金從一個(gè)賬戶轉(zhuǎn)到另一個(gè)賬戶。,3.2 前置條件(Pre-Conditions),在本用例開(kāi)始前,用
12、戶必須登錄到系統(tǒng)中。,3.3 后置條件(Post-Conditions),如果用例成功,則客戶CustomerActor賬戶中存款的金額發(fā)生變化。否則,系統(tǒng)狀態(tài)不變。,3.4 擴(kuò)充點(diǎn)(Extension Points),無(wú)。,3.5 事件流,3.5.1 基流(Basic Flow),當(dāng)Customer要求轉(zhuǎn)賬時(shí),用例啟動(dòng),(1)系統(tǒng)提示Clerk輸入用戶姓名、用戶的id號(hào)、賬戶號(hào)碼和轉(zhuǎn)賬金額。,(2)Clerk輸入相關(guān)信息后提交。(資金轉(zhuǎn)入賬戶所在的銀行只能在所提供的銀行列表中選擇)。,(3)系統(tǒng)確認(rèn)資金轉(zhuǎn)出賬戶是否存在并有效(當(dāng)用戶名、用戶id與賬戶的戶主信息一致,且賬戶處于非凍結(jié)狀態(tài)時(shí),賬
13、戶有效)(E-1),資金轉(zhuǎn)出賬戶中的金額是否足夠支付所轉(zhuǎn)款項(xiàng)(E-2)。,(4)更新資金轉(zhuǎn)出賬戶的相關(guān)信息。,(5)為資金轉(zhuǎn)出賬戶建立轉(zhuǎn)賬記錄。,(6)存儲(chǔ)轉(zhuǎn)賬記錄。,(7)判斷資金轉(zhuǎn)入賬戶是否屬于同一銀行,,如果資金轉(zhuǎn)入賬戶與資金轉(zhuǎn)出賬戶屬于同一銀行,則執(zhí)行分支流S-1:在同一銀行的賬戶間轉(zhuǎn)賬。,如果資金轉(zhuǎn)入賬戶與資金轉(zhuǎn)出賬戶屬于不同銀行,則執(zhí)行分支流S-2:在不同銀行的賬戶間轉(zhuǎn)賬。,用例的事件流描述,3.5.2 分支流(Subflows),S-1:在同一銀行的賬戶間轉(zhuǎn)賬,(1)系統(tǒng)確認(rèn)資金轉(zhuǎn)入賬戶是否存在并有效(當(dāng)賬戶處于非凍結(jié)狀態(tài)時(shí),賬戶有效)(E-1)。,(2)更新資金轉(zhuǎn)入賬戶的相關(guān)信
14、息。,(3)為資金轉(zhuǎn)入賬戶建立轉(zhuǎn)賬記錄。,(4)存儲(chǔ)轉(zhuǎn)賬記錄。,S-2:在不同銀行的賬戶間轉(zhuǎn)賬,(1)發(fā)送轉(zhuǎn)賬通知給另一個(gè)銀行。,3.4.3 替代流(Alternative Flow),E-1:賬戶不存在或無(wú)效,顯示提示信息,用戶可以重新輸入或終止該用例。,E-2:賬戶中的存款金額不足,顯示提示信息,用戶可以修改所轉(zhuǎn)款項(xiàng)的金額或終止該用例。,使用ROSE創(chuàng)建活動(dòng)圖,要?jiǎng)?chuàng)建活動(dòng)圖,首先展開(kāi)“Logic View”菜單項(xiàng),然后在“Logic View”圖標(biāo)上單擊鼠標(biāo)右鍵,在彈出的菜單中選擇“New”下的“Activity Diagram”選項(xiàng)建立新的活動(dòng)圖。,在狀態(tài)圖建立以后,雙擊狀態(tài)圖圖標(biāo),會(huì)出
15、現(xiàn)狀態(tài)圖繪制區(qū)域,活動(dòng)圖工具條,選擇工具,文本,注釋,狀態(tài),初始狀態(tài),終止?fàn)顟B(tài),狀態(tài)轉(zhuǎn)換,反身轉(zhuǎn)換,活動(dòng),水平同步條,垂直同步條,判斷,泳道,活動(dòng)圖中增加模型元素,活動(dòng)圖也有初始和終止?fàn)顟B(tài)。初始狀態(tài)在活動(dòng)圖中用實(shí)心圓表示,終止?fàn)顟B(tài)在活動(dòng)圖中用含有實(shí)心圓的空心圓表示。鼠標(biāo)左鍵點(diǎn)擊活動(dòng)圖工具欄中初始狀態(tài)圖標(biāo),然后在繪制區(qū)域要繪制的地方單擊鼠標(biāo)左鍵就可以創(chuàng)建初始狀態(tài)。終止?fàn)顟B(tài)的創(chuàng)建方法和初始狀態(tài)相同。,創(chuàng)建初始和終止?fàn)顟B(tài),要?jiǎng)?chuàng)建動(dòng)作狀態(tài),首先點(diǎn)擊活動(dòng)圖工具欄中的“Activity”圖標(biāo),然后在繪制區(qū)域要繪制動(dòng)作狀態(tài)的地方單擊鼠標(biāo)左鍵。,創(chuàng)建動(dòng)作狀態(tài),修改動(dòng)作狀態(tài)的屬性信息。首先雙擊動(dòng)作狀態(tài)圖標(biāo),在彈
16、出的對(duì)話框“General”選項(xiàng)卡里進(jìn)行如名稱“Name”和文檔說(shuō)明“Documentation”等屬性的設(shè)置。,活動(dòng)規(guī)范,顯示動(dòng)作類型和動(dòng)作表達(dá)式,要增加操作,右擊選擇Insert,自動(dòng)添加類型為Entry的操作,雙擊此處,打開(kāi)動(dòng)作規(guī)范窗口,動(dòng)作規(guī)范窗口,選擇動(dòng)作執(zhí)行的時(shí)機(jī),添加對(duì)象與對(duì)象流,(1)將對(duì)象與對(duì)象流按紐顯示在繪圖工作欄中,右擊繪圖工具欄空白處,選擇“Customize”,彈出,如下窗口,將這兩項(xiàng)添加到繪圖工具欄。,(2)添加與設(shè)置對(duì)象,a.使用此按紐添加對(duì)象,結(jié)果為:,雙擊添加的對(duì)象,彈出右側(cè)窗口,在name輸入對(duì)象名,在state處選擇,彈出如下窗口,在name處輸入狀態(tài)名后返回,注意:,在同一步活動(dòng)圖中,同名的對(duì)象只能通過(guò)復(fù)制來(lái)創(chuàng)建,活動(dòng)圖的應(yīng)用,為工作流建模,為操作建模,The End,謝謝您的聆聽(tīng)!,期待您的指正!,