學校課件10活動圖_第1頁
學校課件10活動圖_第2頁
學校課件10活動圖_第3頁
學校課件10活動圖_第4頁
學校課件10活動圖_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、活動圖高天迎活動圖 n1 概述n2 活動圖的組成元素n3 活動的分解n4 活動圖建模技術n5 實例圖書館管理系統(tǒng)的活動圖1 概述n活動是某件事情正在進行的狀態(tài)n活動圖描述系統(tǒng)中各種活動的執(zhí)行順序,通常用于描述一個操作中所要進行的各項活動的執(zhí)行流程。同時,它也常被用來描述一個用例的處理流程,或者某種交互流程n活動圖由一些活動組成,圖中同時包括了對這些活動的說明。當一個活動執(zhí)行完畢之后,控制將沿著控制轉移箭頭轉向下一個活動?;顒訄D中還可以方便地描述控制轉移的條件以及并行執(zhí)行等要求n活動圖顯示了組成復雜過程的步驟序列1 概述n活動圖是對系統(tǒng)的動態(tài)行為建模的五個圖之一。n活動圖是由狀態(tài)圖變化而來的,活

2、動圖中一個活動結束后將立即進入下一個活動(在狀態(tài)圖中狀態(tài)的轉移可能需要事件的觸發(fā))。n活動圖是狀態(tài)圖的特例。1 概述n活動圖與狀態(tài)圖的區(qū)別:n活動圖著重表現從一個活動到另一個活動的控制流,是內部處理驅動的流程。n狀態(tài)圖著重描述從一個狀態(tài)到另一個狀態(tài)的流程,主要有外部事件的參與。 1 概述n1.1 活動圖的圖形表示n1.2 活動圖與流程圖的區(qū)別1.1 活動圖的圖形表示n在UML中,活動表示成圓角矩形。n如果一個活動引發(fā)下一個活動,兩個活動的圖標之間用帶箭頭的直線連接。n活動圖也有起點和終點,表示法和狀態(tài)圖中相同。n活動圖中還包括分支與合并、分叉與匯合等模型元素。分支與合并的圖標和狀態(tài)圖中的判定的

3、圖標相同,而分叉與匯合則用一條加粗的線段表示。1.1 活動圖的圖形表示n用例的事件流或者操作均可表示為一系列的活動,每個活動在活動圖中被表示為一個結點,結點之間的有向邊表示順序執(zhí)行的活動n在結點間的連接邊上可以附加條件表達式,表示如果條件成立,則開始執(zhí)行有向連接邊的目標結點所表示的活動;如果不成立,則不執(zhí)行n菱形在活動圖中表示條件判斷,條件表達式一般出現在以菱形為源結點的有向邊上 n活動圖可以表示過程的并發(fā)。1.2 活動圖與流程圖的區(qū)別n流程圖著重描述處理過程,它的主要控制結構是順序、分支和循環(huán),各個處理之間有嚴格的順序和時間關系n活動圖描述的是對象活動的順序關系所遵循的規(guī)則,它著重表現的是系

4、統(tǒng)的行為,而非系統(tǒng)的處理過程n活動圖能夠表示并發(fā)活動的情形,而流程圖做不到n活動圖是面向對象的,而流程圖是面向過程的2 活動圖的基本組成元素n2.1 動作狀態(tài)n2.2 活動狀態(tài)n2.3 動作流n2.4 分支與合并n2.5 分叉與匯合n2.6 泳道n2.7 對象流2.1 動作狀態(tài)n動作狀態(tài)是指執(zhí)行原子的、不可中斷的動作,并在此動作完成后通過完成轉換轉向另一個狀態(tài)的狀態(tài)。 n動作狀態(tài)使用平滑的圓角矩形表示,動作狀態(tài)所表示的動作寫在圓角矩形內部。 Click Mousen動作狀態(tài)是原子的,它是構造活動圖的最小單位,已經無法分解為更小的部分。n動作狀態(tài)是不可中斷的狀態(tài),它一旦開始運行就不能中斷,一直運

5、行到結束。n動作狀態(tài)是瞬時的行為,它所占用的處理事件極短,有時甚至可以忽略。n動作狀態(tài)可以有入轉換,入轉換既可以是動作流,也可以是對象流。動作狀態(tài)至少有一條出轉換,這條轉換以內部動作的完成為起點,與外部事件無關。n動作狀態(tài)和狀態(tài)圖中的狀態(tài)不同,它不能有入口動作和出口動作,更不能有內部轉移。n在一張活動圖中,動作狀態(tài)允許多處出現。 2.2 活動狀態(tài)n活動狀態(tài)用于表達狀態(tài)機中的一個非原子的運行。 n活動狀態(tài)的表示圖標也是平滑的圓角矩形,并可以在圖標中給出入口動作和出口動作等信息。Make Planentry/ SetGoal2.2 活動狀態(tài)n活動狀態(tài)的特點:n活動狀態(tài)可以分解成其他子活動或動作狀態(tài)

6、,由于它是一組不可中斷的動作或操作的組合,所以可以被中斷。n活動狀態(tài)的內部活動可以用另一個活動圖來表示。n和動作狀態(tài)不同,活動狀態(tài)可以有入口動作和出口動作,也可以有內部轉移。n動作狀態(tài)是活動狀態(tài)的一個特例,如果某個活動狀態(tài)只包括一個動作,那么它就是一個動作狀態(tài)。 2.3 動作流n所有動作狀態(tài)之間的轉換流稱之為動作流。 n與狀態(tài)圖的轉換相同,活動圖的轉換也用帶箭頭的直線表示,箭頭的方向指向轉入的方向。 2.4 分支與合并n分支(branch)一般用于表示對象類所具有的條件行為。n條件行為用分支和合并表達。 n在活動圖中分支與合并用空心小菱形表示。n一個分支有一個入轉換和兩個帶條件的出轉換,出轉換

7、的條件應當是互斥的,這樣可以保證只有一條出轉換能夠被觸發(fā)。n一個合并有兩個帶條件的入轉換和一個出轉換,合并表示從對應的分支開始的條件行為的結束。 2.4 分支與合并n表示分支的兩種方法:方法1方法22.4 分支與合并2.5 分叉與匯合n分叉用于將動作流分為兩個或者多個并發(fā)運行的分支,而匯合則用于同步這些并發(fā)分支,以達到共同完成一項事務的目的。n分叉可以用來描述并發(fā)線程,每個分叉可以有一個輸入轉換和兩個或多個輸出轉換,每個轉換都可以是獨立的控制流。n匯合代表兩個或多個并發(fā)控制流同步發(fā)生,當所有的控制流都達到匯合點后,控制才能繼續(xù)往下進行。每個匯合可以有兩個或多個輸入轉換和一個輸出轉換。n分叉和匯

8、合都使用加粗的水平線段表示。 2.5 分叉與匯合n用活動 圖描述 Java中使用多線程的過程。2.6 泳道n帶“泳道”的活動圖n為了描述活動的責任對象,活動圖引進了“泳道”的概念。泳道是由垂直長線分割出來的矩形區(qū)域,在泳道上方的對象負責該矩形區(qū)域內的所有活動2.6 泳道n泳道將活動圖中的活動化分為若干組,并把每一組指定給負責這組活動的業(yè)務組織即對象。n泳道區(qū)分了負責活動的對象,明確地表示了哪些活動是由哪些對象進行的。n每個活動只能明確地屬于一個泳道。n泳道用垂直實線繪出,垂直線分隔的區(qū)域就是泳道。在泳道上方可以給出泳道的名字或對象(對象類)的名字,該對象(對象類)負責泳道內的全部活動。n泳道沒

9、有順序,不同泳道中的活動既可以順序進行也可以并發(fā)進行,動作流和對象流允許穿越分隔線。 2.6 泳道n使用泳道 的例子。2.7 對象流n對象流是動作狀態(tài)或者活動狀態(tài)與對象之間的依賴關系,表示動作使用對象或者動作對對象的影響。 n對象流中的對象特點:n一個對象可以由多個動作操縱。n一個動作輸出的對象可以作為另一個動作輸入的對象。n在活動圖中,同一個對象可以多次出現,它的每一次出現表明該對象正處于對象生存期的不同時間點。 2.7 對象流n對象流用帶有箭頭的虛線表示。如果箭頭從動作狀態(tài)出發(fā)指向對象,則表示動作對對象施加了一定的影響。如果箭頭從對象指向動作狀態(tài),則表示該動作使用對象流所指向的對象。2.7

10、 對象流n對象流 的例子3 活動的分解n一個活動可以分為若干個動作或子活動,這些動作和子活動本身可以組成一個活動圖。n一個包含子活動的活動和嵌套了子狀態(tài)的組合狀態(tài)類似,概念上也相對統(tǒng)一。n一個不含內嵌活動或動作的活動稱之為簡單活動;一個嵌套了若干活動或動作的活動稱之為組合活動,組合活動有自己的名字和相應的子活動圖。 3 活動的分解4 活動圖建模技術n識別要對其工作流描述的類或對象。n確定工作流的初始狀態(tài)和終止狀態(tài),明確工作流的邊界。n對動作狀態(tài)或活動狀態(tài)建模。n對動作流建模。n對對象流建模。n對建立的模型進行精化和細化。 5 實例圖書館管理系統(tǒng)的活動圖n5.1 使用Rational Rose繪

11、制活動圖的步驟n5.2 圖書館管理系統(tǒng)的活動圖5.1 使用Rational Rose繪制活動圖的步驟n1. 創(chuàng)建活動圖n2. 活動圖工具欄按鈕簡介n3. 加入初態(tài)和終態(tài)n4. 增加動作狀態(tài)n5. 增加活動狀態(tài)n6. 增加動作流n7. 增加分支與合并n8. 增加分叉與匯合n9. 增加泳道n10. 增加對象與對象流5.2 圖書館管理系統(tǒng)的活動圖n1. 借閱者的活動圖n2. 圖書管理員的活動圖n3. 系統(tǒng)管理員的活動圖1.借閱者的活動圖2. 圖書管理員的活動圖 3. 系統(tǒng)管理員的活動圖n系統(tǒng)管理員維護借閱者帳戶的活動圖n系統(tǒng)管理員進行書目信息維護的活動圖n系統(tǒng)管理員維護書籍信息的活動圖(1)系統(tǒng)管理

12、員維護借閱者帳戶(2)系統(tǒng)管理員進行書目信息維護(3)系統(tǒng)管理員維護書籍信息活動圖的用途活動圖的用途n為什么要在UML中引入活動圖?n在OMT, Booch, OOSE方法中沒有活動圖的概念。n活動圖對表示并發(fā)行為很有用。活動圖的應用非常廣泛,包括:n1. 對系統(tǒng)的工作流(workflow)建模,即對系統(tǒng)的業(yè)務過程建模。(Use Case分析)n2. 對具體的操作建模,描述計算過程的細節(jié)。例1:用活動圖對工作流程建模的例子。(1) 產品制造和發(fā)貨的use case圖。(2) 用活動圖來說明具體的工作流程。例2:用活動圖對操作建模的例子:用活動圖描述類Line的操作intersection的算法。活動圖與狀態(tài)圖比較1. 活動圖和狀態(tài)圖描述的重點不同

溫馨提示

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

評論

0/150

提交評論