UML面向對象設計與分析教程(第二版)(微課版)第9章-動態分析與活動圖_第1頁
UML面向對象設計與分析教程(第二版)(微課版)第9章-動態分析與活動圖_第2頁
UML面向對象設計與分析教程(第二版)(微課版)第9章-動態分析與活動圖_第3頁
UML面向對象設計與分析教程(第二版)(微課版)第9章-動態分析與活動圖_第4頁
UML面向對象設計與分析教程(第二版)(微課版)第9章-動態分析與活動圖_第5頁
已閱讀5頁,還剩50頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

UML面向對象設計與分析教程(第二版)(微課版)第9章動態分析與活動圖本章的學習目標:理解活動圖的建模目的掌握活動圖的基本概念和組成要素掌握活動圖的UML表示方法理解動作狀態和活動狀態的區別與聯系掌握活動圖的建模方法活動圖融合了事件流圖、Petri網和SDL(SchemaDefinitionLanguage)狀態建模等技術,用來在面向對象系統的不同組件之間建模工作流和并發的處理行為。例如,可以使用活動圖描述某個用例的基本操作流程。活動圖的主要作用是描述工作流,其中每個活動都代表工作流中一組動作的執行。活動圖可用來為不同類型的工作流建模,工作流是能產生可觀測值或在執行時生成實體的動作序列。活動圖活動是某件事情正在進行的狀態,它既可以是現實生活中正在進行的某一項工作,也可以是軟件系統某個類對象的一個操作。制訂計劃(MakePlan)點擊鼠標(ClickMouse)活動圖描述活動的順序,展現從一個活動到另一個活動的控制流。活動圖UML中,活動圖中的活動既可以是手動執行的任務,也可以是自動執行的任務,用圓角矩形表示。活動圖活動的起點用來描述活動圖的開始狀態,用黑的實心圓表示。活動的終止點描述活動圖的終止狀態,用一個含有實心圓的空心圓表示。活動圖活動圖活動圖與流程圖的區別活動圖描述系統使用的活動、判定點和分支,看起來和流程圖沒什么兩樣,并且傳統的流程圖所能表示的內容,大多數情況下也可以使用活動圖表示,但是兩者是有區別的,不能將兩個概念混淆。活動圖活動圖與流程圖的區別流程圖著重描述處理過程,它的主要控制結構是順序、分支和循環,各個處理過程之間有嚴格的順序和時間關系。活動圖描述的是活動的順序關系,它著重表現的是系統的行為,而非系統的處理過程。活動圖活動圖與流程圖的區別活動圖能夠表示并發活動的情形,而流程圖不能。活動圖是面向對象的,而流程圖是面向過程的。簡單地講,活動圖是“OO流程圖”。活動圖活動圖的作用:描述一個操作執行過程中所完成的工作。說明角色、工作流、組織和對象是如何工作的。活動圖對用例描述尤其有用,它可建模用例的工作流,顯示用例內部和用例之間的路徑。它可以說明用例的實例是如何執行動作以及如何改變對象狀態。活動圖活動圖的作用:顯示如何執行一組相關的動作,以及這些動作如何影響它們周圍的對象。活動圖對理解業務處理過程十分有用。活動圖可以畫出工作流用以描述業務,有利于與領域專家進行交流。通過活動圖可以明確業務處理操作是如何進行的,以及可能產生的變化。描述復雜過程的算法,在這種情況下使用的活動圖和傳統的程序流程圖的功能是差不多。活動圖組成元素活動起點活動分叉匯合活動終點分支合并動作流活動圖組成元素組成活動圖的圖形元素:動作狀態(ActionState)活動狀態(ActivityState)動作流(ActionFlow)分支(Branch)與合并(Merge)分叉(Fork)與匯合(Join)泳道(Swimlane)對象流(ObjectFlow)活動圖組成元素動作狀態動作狀態是指執行原子的、不可中斷的動作,并在此動作完成后通過完成轉換轉向另一個狀態。在UML中動作狀態使用平滑的圓角矩形表示,動作狀態所表示的動作寫在平滑的圓角矩形內部。在確定名稱時應該恰當地命名,選擇準確描述所發生動作的幾個詞。例如,SaveFile或者CreateNewDocument就是比較恰當的活動名稱,而Run或者Update對讀者而言是不完整的名稱。活動圖組成元素動作狀態的特點:動作狀態是原子的,它是構造活動圖的最小單位,已經無法分解為更小的部分。動作狀態是不可中斷的,它一旦開始運行就不能中斷,一直運行到結束。動作狀態是瞬時的行為,它所占用的處理時間極短,有時其至可以忽略。動作狀態不能有入口動作和出口動作,更不能有內部轉移。

活動圖組成元素活動狀態活動狀態用于表達狀態機中的非原子的運行。活動狀態的表示圖標也是平滑的圓角矩形,并可以在圖標中給出入口動作和出口動作等信息。活動圖組成元素活動狀態的特點:活動狀態可以分解成其他子活動或動作狀態,由于它是一組不可中斷的動作或操作的組合,所以可以被中斷。活動狀態的內部活動可以用另一個活動圖來表示。和動作狀態不同,活動狀態可以有入口動作和出口動作,也可以有內部轉移。動作狀態是活動狀態的一個特例,如果某個活動狀態只包括一個動作,那么它就是一個動作狀態。活動圖組成元素動作流所有動作狀態之間的轉換流稱之為動作流。與狀態圖的轉換相同,活動圖的轉換也用帶箭頭的直線表示,箭頭的方向指向轉入的方向。活動圖組成元素分支與合并動作流一般會自動進行控制轉換,直到遇到分支。分支在軟件系統流程中很常見,一般用于表示對象類所具有的條件行為。活動圖組成元素分支與合并一個無條件的動作流,可以在一個動作狀態的動作完成后自動觸發動作狀態的轉換以激發下一個動作狀態。有條件的動作流則需要根據條件,即一個布爾表達式的真假來判定動作的流向。條件行為用分支和合并表達。活動圖組成元素分支與合并分支是用菱形表示的,它有一個進入轉換(箭頭從外指向分支符號),一個或多個出轉換(箭頭從分支符號指向外)。而每個出轉換上都會有一個監護條件,用來表示滿足什么條件的時候執行該轉換。出轉換的條件應當是互斥的,這樣可以保證只有一條出轉換能夠被觸發。活動圖組成元素分支與合并合并指的是兩個或者多個控制路徑在此匯合的情況。合并表示從對應的分支開始的條件行為的結束。分支與合并活動圖組成元素活動圖組成元素分叉與匯合對象在運行時可能會存在兩個或者多個并發運行的控制流,為了對并發的控制流建模,在UML中引入了分叉與匯合的概念。活動圖組成元素分叉與匯合分叉和匯合都使用加粗的水平(或者豎直)線段表示。活動圖組成元素分叉與匯合分叉用于將動作流分為兩個或者多個并發運行的分支,而匯合則用于同步這些并發分支,以達到共同完成一項事務的目的。活動圖組成元素分叉與匯合分叉可以用來描述并發線程,每個分叉可以有一個輸入轉換和兩個或多個輸出轉換,每個轉換都可以是獨立的控制流。活動圖組成元素分叉與匯合匯合代表兩個或多個并發控制流同步發生,當所有的控制流都達到匯合點后,控制才能繼續往下進行。如果一個處理在其他處理之前到達了聯結,它將會等待,直到所有的處理都準備好之后才會向聯結傳遞控制權。活動圖組成元素分叉與匯合每個匯合可以有兩個或多個輸入轉換和一個輸出轉換。活動圖組成元素區分合并與匯合合并結合了兩個以上的控制路徑,在任何執行中每次只走一條,不同路徑之間是互斥關系。匯合結合了兩條或者兩條以上的并行控制路徑,在執行過程中,所有路徑都要走過,先到的控制流要等其他路徑的控制流到達后才能繼續運行。活動圖組成元素對象流活動可以輸入和輸出對象,并可以修改對象狀態。我們能夠在活動圖上用對象流表示這些。對象流是動作狀態或者活動狀態與對象之間的依賴關系對象流表示動作使用對象或者動作對對象的影響。活動圖組成元素對象流在活動圖中,對象流用帶有箭頭的虛線表示。如果箭頭從動作狀態出發指向對象,則表示動作對對象施加了一定的影響。活動圖組成元素對象流施加的影響包括創建、修改和撤銷等。如果箭頭從對象指向動作狀態,則表示該動作使用對象流所指向的對象。反過來,動作依賴對象的話,箭頭從對象指向動作。活動圖組成元素對象流中對象的特點:一個對象可以由多個動作操縱;一個動作輸出的對象可以作為另一個動作輸入的對象;在活動圖中,同一個對象可以多次出現,它的每一次出現表明該對象正處于對象生存期的不同時間點。活動圖組成元素泳道泳道將活動圖中的活動按職責化分為若干組,并把每一組指定給負責這組活動的業務組織在活動圖中,泳道用垂直實線繪出,垂直線分隔的區域就是泳道。在泳道上方可以給出泳道的名字,負責泳道內的全部活動。在包含泳道的活動圖中,每個活動只能明確地屬于一個泳道。活動圖組成元素泳道活動分解一個活動可以分為若干個動作或子活動,這些動作和子活動本身又可以組成一個活動圖。不含內嵌活動或動作的活動稱之為簡單活動嵌套了若干活動或動作的活動稱之為組合活動,組合活動有自己的名字和相應的子活動圖活動分解使用ROSE創建活動圖要創建活動圖,首先展開“LogicView”菜單項,然后在“LogicView”圖標上單擊鼠標右鍵,在彈出的菜單中選擇“New”下的“ActivityDiagram”選項建立新的活動圖。1、創建活動圖使用ROSE創建活動圖選擇之后,Rose在“LogicView”目錄下創建“State/ActivityModel”子目錄,目錄下是新建的活動圖“NewDiagram”,右鍵單擊活動圖圖標,在彈出菜單中選擇“Rename”來修改新創建的活動圖名字。1、創建活動圖使用ROSE創建活動圖在活動圖建立以后,雙擊活動圖圖標,會出現活動圖繪制區域1、創建活動圖使用ROSE創建活動圖活動圖有初始和終止狀態。初始狀態在活動圖中用實心圓表示,終止狀態在活動圖中用含有實心圓的空心圓表示。鼠標左鍵點擊活動圖工具欄中初始狀態圖標,然后在繪制區域要繪制的地方單擊鼠標左鍵就可以創建初始狀態。終止狀態的創建方法和初始狀態相同。2、創建初始和終止狀態使用ROSE創建活動圖要創建動作狀態,首先點擊活動圖工具欄中的“Activity”圖標,然后在繪制區域要繪制動作狀態的地方單擊鼠標左鍵。3、創建動作狀態修改動作狀態的屬性信息。首先雙擊動作狀態圖標,在彈出的對話框“General”選項卡里進行如名稱“Name”和文檔說明“Documentation”等屬性的設置。使用ROSE創建活動圖用鼠標左鍵雙擊活動圖圖標,在彈出的對話框中選擇“Action”選項卡。然后在空白處單擊鼠標右鍵,在彈出的右鍵菜單中選擇“Insert”菜單項。4、創建活動狀態使用ROSE創建活動圖接下來雙擊列表中出現的默認動作“Entry/”,在彈出的對話框的“When”選項下拉列表中有“ONentry”、“OnExit”、“Do”和“OnEvent”等動作選項。用戶可以根據自己的需求來選擇需要的動作,“Name”字段要求用戶輸入動作的名稱。4、創建活動狀態使用ROSE創建活動圖要創建轉換,首先點擊工具欄中的“StateTransition”圖標,然后在兩個要轉換的動作狀態之間拖動鼠標。5、創建轉換使用ROSE創建活動圖創建分叉與結合,首先點擊工具欄中的“HorizontalSynchronization”圖標按鈕,在繪制區域要創建分叉與結合的地方單擊鼠標左鍵。6、創建分叉與匯合使用ROSE創建活動圖首先點擊工具欄中的“Decision”圖標按鈕,然后在繪制區域要創建分支與合并的地方單擊鼠標左鍵。7、創建分支與合并使用ROSE創建活動圖要創建泳道,首先點擊工具欄中的“Swimlane”圖標按鈕,然后在繪制區域點擊鼠標左鍵,就可以創建新的泳道。接下來可以修改泳道的名字等屬性。選中需要修改的泳道,單擊鼠標右鍵,在彈出的菜單中選擇“OpenSpecification”。彈出的對話框中的“Name”字段可以修改泳道的名字。8、創建泳道使用ROSE創建活動圖對象流的狀態表示活動中輸入或輸出的對象。對象流是將對象流狀態作為輸入或輸出的控制流。要創建對象流,首先要創建對象流狀態。對象流狀態的創建方法與普通對象的創建方法相同:首先單擊工具欄中的Object圖標按鈕,在繪制區域單擊鼠標左鍵。創建好對象流的狀態后,就可以開始創建對象流:首先單擊工具欄中的圖標,然后在活動和對象之間拖動鼠標創建對象流。9、創建對象流狀態與對象流創建活動圖的步驟:確定工作流的初始狀態和終止狀態,明確工作流的邊界。對動作狀態或活動狀態建模,找出隨時間發生的動作和活動,將它們表示為動作狀態或活動狀態。對動作流建模,對動作流建模時可以首先處理順序動作,接著處理分支與合并等條件行為,然后處理分叉與匯合等并發行為。對對象流建模,找出與工作流相關的重要對象,并將其連接到相應

溫馨提示

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

評論

0/150

提交評論