UML教程09_-_活動(dòng)圖_第1頁
UML教程09_-_活動(dòng)圖_第2頁
UML教程09_-_活動(dòng)圖_第3頁
UML教程09_-_活動(dòng)圖_第4頁
UML教程09_-_活動(dòng)圖_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第9章 活動(dòng)圖 9.1 概述9.2 活動(dòng)圖的組成元素9.3 活動(dòng)的分解9.4 活動(dòng)圖建模技術(shù)9.5 實(shí)例圖書館管理系統(tǒng)的活動(dòng)圖9.1 概述 活動(dòng)是某件事情正在進(jìn)行的狀態(tài)。 活動(dòng)在狀態(tài)機(jī)中表現(xiàn)為一個(gè)由一系列動(dòng)作組成的非原子的執(zhí)行過程。 活動(dòng)圖是一種描述系統(tǒng)行為的圖,它用于展現(xiàn)參與行為的類所進(jìn)行的各種活動(dòng)的順序關(guān)系。 活動(dòng)圖與狀態(tài)圖都是狀態(tài)機(jī)的表現(xiàn)形式。9.1 概述活動(dòng)圖與狀態(tài)圖的區(qū)別: 活動(dòng)圖著重表現(xiàn)從一個(gè)活動(dòng)到另一個(gè)活動(dòng)的控制流,是內(nèi)部處理驅(qū)動(dòng)的流程。 狀態(tài)圖著重描述從一個(gè)狀態(tài)到另一個(gè)狀態(tài)的流程,主要有外部事件的參與。 9.1 概述 9.1.1 活動(dòng)圖的圖形表示 9.1.2 活動(dòng)圖與流程圖的區(qū)

2、別9.1.1 活動(dòng)圖的圖形表示 在UML中,活動(dòng)表示成圓角矩形。 如果一個(gè)活動(dòng)引發(fā)下一個(gè)活動(dòng),兩個(gè)活動(dòng)的圖標(biāo)之間用帶箭頭的直線連接。 活動(dòng)圖也有起點(diǎn)和終點(diǎn),表示法和狀態(tài)圖中相同。 活動(dòng)圖中還包括分支與合并、分叉與匯合等模型元素。分支與合并的圖標(biāo)和狀態(tài)圖中的判定的圖標(biāo)相同,而分叉與匯合則用一條加粗的線段表示。9.1.1 活動(dòng)圖的圖形表示 9.1.2 活動(dòng)圖與流程圖的區(qū)別流程圖著重描述處理過程,它的主要控制結(jié)構(gòu)是順序、分支和循環(huán),各個(gè)處理之間有嚴(yán)格的順序和時(shí)間關(guān)系;而活動(dòng)圖描述的則是對(duì)象活動(dòng)的順序關(guān)系所遵循的規(guī)則,它著重表現(xiàn)的是系統(tǒng)的行為,而非系統(tǒng)的處理過程。活動(dòng)圖能夠表示并發(fā)活動(dòng)的情形,而流程圖

3、做不到。活動(dòng)圖是面向?qū)ο蟮?,而流程圖是面向過程的。 9.2 活動(dòng)圖的組成元素組成UML的圖形元素: 動(dòng)作狀態(tài)(Action State) 活動(dòng)狀態(tài)(Activity State) 動(dòng)作流(Action Flow) 分支(Branch)與合并(Merge) 分叉(Fork)與匯合(Join) 泳道(Swimlane) 對(duì)象流(Object Flow)9.2 活動(dòng)圖的基本組成元素 9.2.1 動(dòng)作狀態(tài) 9.2.2 活動(dòng)狀態(tài) 9.2.3 動(dòng)作流 9.2.4 分支與合并 9.2.5 分叉與匯合 9.2.6 泳道 9.2.7 對(duì)象流9.2.1 動(dòng)作狀態(tài) 動(dòng)作狀態(tài)是指執(zhí)行原子的、不可中斷的動(dòng)作,并在此動(dòng)作

4、完成后通過完成轉(zhuǎn)換轉(zhuǎn)向另一個(gè)狀態(tài)的狀態(tài)。 動(dòng)作狀態(tài)使用平滑的圓角矩形表示,動(dòng)作狀態(tài)所表示的動(dòng)作寫在圓角矩形內(nèi)部。 Click Mouse9.2.1 動(dòng)作狀態(tài)動(dòng)作狀態(tài)的特點(diǎn): 動(dòng)作狀態(tài)是原子的,它是構(gòu)造活動(dòng)圖的最小單位,已經(jīng)無法分解為更小的部分。 動(dòng)作狀態(tài)是不可中斷的狀態(tài),它一旦開始運(yùn)行就不能中斷,一直運(yùn)行到結(jié)束。 動(dòng)作狀態(tài)是瞬時(shí)的行為,它所占用的處理事件極短,有時(shí)甚至可以忽略。 動(dòng)作狀態(tài)可以有入轉(zhuǎn)換,入轉(zhuǎn)換既可以是動(dòng)作流,也可以是對(duì)象流。動(dòng)作狀態(tài)至少有一條出轉(zhuǎn)換,這條轉(zhuǎn)換以內(nèi)部動(dòng)作的完成為起點(diǎn),與外部事件無關(guān)。 動(dòng)作狀態(tài)和狀態(tài)圖中的狀態(tài)不同,它不能有入口動(dòng)作和出口動(dòng)作,更不能有內(nèi)部轉(zhuǎn)移。 在一

5、張活動(dòng)圖中,動(dòng)作狀態(tài)允許多處出現(xiàn)。 9.2.2 活動(dòng)狀態(tài) 活動(dòng)狀態(tài)用于表達(dá)狀態(tài)機(jī)中的一個(gè)非原子的運(yùn)行。 活動(dòng)狀態(tài)的表示圖標(biāo)也是平滑的圓角矩形,并可以在圖標(biāo)中給出入口動(dòng)作和出口動(dòng)作等信息。Make Planentry/ SetGoal9.2.2 活動(dòng)狀態(tài)活動(dòng)狀態(tài)的特點(diǎn):活動(dòng)狀態(tài)可以分解成其他子活動(dòng)或動(dòng)作狀態(tài),由于它是一組不可中斷的動(dòng)作或操作的組合,所以可以被中斷?;顒?dòng)狀態(tài)的內(nèi)部活動(dòng)可以用另一個(gè)活動(dòng)圖來表示。和動(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)。 9.2.3 動(dòng)作流 所有動(dòng)作狀態(tài)之

6、間的轉(zhuǎn)換流稱之為動(dòng)作流。 與狀態(tài)圖的轉(zhuǎn)換相同,活動(dòng)圖的轉(zhuǎn)換也用帶箭頭的直線表示,箭頭的方向指向轉(zhuǎn)入的方向。 9.2.4 分支與合并 分支一般用于表示對(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)的分支開始的條件行為的結(jié)束。 9.2.4 分支與合并9.2.5 分叉與匯合 分叉用于將動(dòng)作流分為兩個(gè)或者多個(gè)并發(fā)運(yùn)行的分支,而匯合則用于同步這些并發(fā)分支,以達(dá)到共同完成一項(xiàng)事務(wù)的目的。 分叉可以

7、用來描述并發(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)換。 分叉和匯合都使用加粗的水平線段表示。 9.2.5 分叉與匯合9.2.6 泳道 泳道將活動(dòng)圖中的活動(dòng)化分為若干組,并把每一組指定給負(fù)責(zé)這組活動(dòng)的業(yè)務(wù)組織即對(duì)象。 泳道區(qū)分了負(fù)責(zé)活動(dòng)的對(duì)象,明確地表示了哪些活動(dòng)是由哪些對(duì)象進(jìn)行的。 每個(gè)活動(dòng)只能明確地屬于一個(gè)泳道。 泳道用垂直實(shí)線繪出,垂直線分隔的區(qū)域就是泳道。在泳道上方可以給出泳道的名字或?qū)ο螅▽?duì)象類)的名字,該

8、對(duì)象(對(duì)象類)負(fù)責(zé)泳道內(nèi)的全部活動(dòng)。 泳道沒有順序,不同泳道中的活動(dòng)既可以順序進(jìn)行也可以并發(fā)進(jìn)行,動(dòng)作流和對(duì)象流允許穿越分隔線。 9.2.6 泳道Look for fieldEnter into gymnasiumQuery pricePay MoneyPlay BadmintonQuoted priceManagerGuest9.2.7 對(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),它的每一次出現(xiàn)表明該對(duì)象正處

9、于對(duì)象生存期的不同時(shí)間點(diǎn)。 9.2.7 對(duì)象流 對(duì)象流用帶有箭頭的虛線表示。如果箭頭從動(dòng)作狀態(tài)出發(fā)指向?qū)ο?,則表示動(dòng)作對(duì)對(duì)象施加了一定的影響。如果箭頭從對(duì)象指向動(dòng)作狀態(tài),則表示該動(dòng)作使用對(duì)象流所指向的對(duì)象。9.2.7 對(duì)象流Look for fieldEnter into gymnasiumQuery pricePay MoneyPlay BadmintonfeeBillpaidQuoted pricefeeBillunpaidManagerGuest9.3 活動(dòng)的分解 一個(gè)活動(dòng)可以分為若干個(gè)動(dòng)作或子活動(dòng),這些動(dòng)作和子活動(dòng)本身可以組成一個(gè)活動(dòng)圖。 一個(gè)包含子活動(dòng)的活動(dòng)和嵌套了子狀態(tài)的組合狀態(tài)類

10、似,概念上也相對(duì)統(tǒng)一。 一個(gè)不含內(nèi)嵌活動(dòng)或動(dòng)作的活動(dòng)稱之為簡(jiǎn)單活動(dòng);一個(gè)嵌套了若干活動(dòng)或動(dòng)作的活動(dòng)稱之為組合活動(dòng),組合活動(dòng)有自己的名字和相應(yīng)的子活動(dòng)圖。 9.3 活動(dòng)的分解9.4 活動(dòng)圖建模技術(shù)識(shí)別要對(duì)其工作流描述的類或?qū)ο?。確定工作流的初始狀態(tài)和終止?fàn)顟B(tài),明確工作流的邊界。對(duì)動(dòng)作狀態(tài)或活動(dòng)狀態(tài)建模。對(duì)動(dòng)作流建模。對(duì)對(duì)象流建模。對(duì)建立的模型進(jìn)行精化和細(xì)化。 9.5 實(shí)例圖書館管理系統(tǒng)的活動(dòng)圖 9.5.1 使用Rational Rose繪制活動(dòng)圖的步驟 9.5.2 圖書館管理系統(tǒng)的活動(dòng)圖9.5.1 使用Rational Rose繪制活動(dòng)圖的步驟 1. 創(chuàng)建活動(dòng)圖 2. 活動(dòng)圖工具欄按鈕簡(jiǎn)介 3. 加入初態(tài)和終態(tài) 4. 增加動(dòng)作狀態(tài) 5. 增加活動(dòng)狀態(tài) 6. 增加動(dòng)作流 7. 增加分支與合并 8. 增加分叉與匯合 9. 增加泳道 10. 增加對(duì)象與對(duì)象流9.5.2 圖書館管理系統(tǒng)的活動(dòng)圖 1. 借閱者的活動(dòng)圖 2.

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論