




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
授課:張金榮Email:zhjr2000@163.comzhjr@QQ:zhjr@(即1211460305)電話:13983103704107030803、04班《統一建模語言與建模工具》教學要求掌握:活動圖的作用,活動圖建模元素掌握:活動圖建模的方法第
5
章活動圖2一個完整的模型必然描述系統的靜態和動態兩個方面1.x靜態模型的組成結構結構模型2.x1.x動態模型描述系統的行為行為模型2.xUML提供如下動態模型:交互圖(順序圖和協作圖)、狀態圖、活動圖
狀態圖用來描述某一特定對象所有可能的狀態及狀態間的轉移,是對類圖的補充順序圖用來描述對象間的動態交互關系,著重體現對象間消息傳遞的時間順序協作圖用來描述相互協作的對象的交互關系和關聯關系,著重體現對象間的靜態關聯關系活動圖主要用于描述用例內部的工作流程3UML1.x和2.x四種動態圖的比較活動圖1.x2.xactivitydiagram名字一樣但改動較大順序圖1.x2.x又叫時序圖/序列圖
sequencediagram協作圖1.x--2.x通信圖
collaboration-----communicationdiagram狀態圖1.x2.x
statediagram--2.x交互概觀圖(順序圖和協作圖)
interactionoverviewdiagram
4活動圖和交互圖是UML中對系統動態方面建模的兩種主要形式交互圖強調的是對象到對象的控制流,而活動圖則強調的是從活動到活動的控制流活動圖是一種表述過程基理、業務過程以及工作流的技術。它可以用來對業務過程、工作流建模,也可以對用例實現甚至是程序實現來建模
UML2.0而言,去除了“活動圖是狀態圖
的一種特例”這一規定5先看一個實例:ATM機“登錄”用例6ATM機“登錄”用例的活動圖7用例圖?事件流?活動圖?三個有什么聯系嗎??85.1活動圖的概述5.1.1從實例開始:910(1)(2)(3)(4)(5)(6)(7)動作結點活動結點轉換transition
控制流注:虛線表示該處是復雜活動圖中的元素(UML并無此分類,這里僅僅是為了行課方便而作此劃分);雙紅線表示是UML1.x里面的稱謂,UML2.x已經用其右面的稱謂11活動圖并不是直接來源于三位UML設計者以前的工作,其技術思想主要來源于JimOdell的事件圖、SDL狀態建模技術和Petri網技術。這些技術可以有效地描述(a)工作流和(b)并行過程的行為。5.1.2活動圖思想12(a)活動圖是用例事件流的另一種建模方式。由于活動圖顯示的信息與文本事件流相同,所以可在業務模型中用活動圖描述業務過程的工作流。在用例模型中,活動圖用來捕捉用例的活動,并使用框圖的方式顯示動作及其結果。活動圖著重描述操作(Operation)及用例實例或對象中的活動。13(b)活動圖是企事業過程建模的重要工具,具有較強的并行表達能力,對企事業過程中業務活動的建模非常重要,可以方便地表示業務活動中常見的并行過程。采用并行過程來描述一個業務過程具有重要的意義,它鼓勵人們在建立業務過程模型時自然地保留那些業務過程中際存在的并發行為,不必過早地去考慮如何用一個只能處理順序事務的計算機來實現這些并發行為的種種細節。實際上,在模型中保留這種并行行為的描述,對于在實現階段充分發現那些可以并行的工作非常有利,這樣可以大大提高業務過程中的辦事效率和反應的靈敏程度。14活動圖采用類似于狀態機的方法來表示工作的流程,描述了需要做的活動以及執行這些活動的順序。活動圖用來描述:何種動作、做什么(對象狀態改變)、何時發生(動作序列)在何處發生(泳道)。活動圖用來描述動作和動作導致對象狀態改變的結果,而不考慮引發狀態改變的事件。5.1.3活動圖定義155.1.4活動圖目的活動圖可以用作下述目的:1)描述一個操作執行過程中所完成的工作(動作),這是活動圖最常見的用途。2)描述對象內部的工作。3)顯示如何執行一組相關的動作以及這些動作如何影響它們周圍的對象。4)顯示用例的實例如何執行動作以及如何改變對象狀態。5)說明一次商務活動中的人(角色)工作流組織和對象是如何工作的。165.1.5活動圖與流程圖的區別雖然活動圖描述系統使用的活動、判定點和分支,看起來和流程圖沒什么兩樣,并且傳統的流程圖所能表示的內容,大多數情況卞也可以使用活動圖表示,但是兩者是有區別的,不能將兩個概念混淆。(1)流程圖著重描述處理過程,它的主要控制結構是順序、分支和循環,各個處理過程之間有嚴格的順序和時間關系;而活動圖描述的是對象活動的順序夭糸所遵循的規則,它著重表現的是系統的行為,而非系統的處理過程。(2)活動圖能夠表示并發活動的情形,而流程圖不能(3)活動圖是面向對象的,而流程圖是面向過程的。171.動作結點(actionnode)一個動作結點表示一步計算,是最小的行為單位,屬于一種可執行結點。2.控制結點(controlnode)起始結點(initialnode)終止結點(finalnode)分叉匯合(fork&joinnode)判斷合并(decision&merge—node)3.對象結點(objectnode)流入和流出被調用的行為,表示對象或數據,或者表現令牌的集聚4.對象流(objectflow)由一個結點產生的數據,由其他結點使用。5.控制流(controlflow)表示結點間執行的序列。6.分區(partition)和泳道(swimlane)依照各種協作方式來組織較低層次的活動,如同現實世界中的各個機構或角色各司其責。7.可中斷區間(region)和異常表示控制流偏離正常執行的軌道。活動結點活動邊5.2活動圖的基本要素18活動的建模在UML2.x中已經經歷了完整的修訂。也許可以這么說,(至少對偶然使用)效果和外觀可能非常相似,這取決于UML1.5(以及更早版本)中建模的形式,根據UML1.x規則構造的模型的嚴格解釋和執行結果可能與UML2.x中不同。因此,我們提醒建模人員注意,即使UML1.x活動模型不作更改似乎對UML2.x也可以接受,但它可能無法同樣執行-特別是在更復雜的模型涉及并行的情況下。單個可執行步驟的活動或活動狀態動作或動作結點;活動(將顯示在活動圖中)是行為作為下級單元的協調排序所作的指定,下級單元的單個元素就是動作。我們可能已經把UML1.x活動圖中的單個可執行步驟稱為活動或活動狀態,或者正確地稱為操作狀態:現在,UML2.x活動中的這些步驟被稱為動作-這些動作在活動中不再進一步分解。狀態的含義在UML2.x中已經消失結點狀態的含義在UML2.x中已經消失,因為活動不再是一種狀態機(在UML1.x中為狀態機)。在UML2.x中,活動由節點組成(動作就是一種節點);其它的是控制節點和對象節點。19【1】動作(Action)是原子性的動作或操作的執行,它不能被外部事件的轉換中斷。動作的原子性決定了動作要么不執行,要么就完全執行,不能中斷,如發送一個信號、設置某個屬性值等。動作不可以分解成更小的部分,它是構造活動圖的最小單位。從理論上講,動作所占用的處理時間極短,甚至可以忽略不計。而實際上,它需要時間來執行,但是時間要比可能發生事件需要的時間短的多。5.2.1動作和活動20動作通常用于對工作流執行過程中的步驟進行建模。在一張活動圖中,動作允許在多處出現。常見動作如下:(1)基本功能,如算術運算。(2)行為調用,如調用另一個活動或者操作。(3)通信動作,如發送一個信號,或者等待接收某個信號,或者等待某個時間點。(4)對象處理,如對屬性值或關聯值的讀寫。21動作結點actionnode(原先稱為activitystate)動作結點可以有轉入,轉入可以是對象流或者動作流。動作結點通常有一個輸出的完成轉換,如果有監護條件也可以有多個輸出的完成轉換。在UML中,動作結點使用平滑的圓角矩形表示,寫在矩形內部22【2】活動和活動結點活動用于表達狀態機中的非原子的運行。活動的特點如下。(1)活動可以分解成其他子活動或動作,由于它是一組不可中斷的動作或操作的組合,所以可以被中斷。(2)活動的內部活動可以用另一個活動圖來表示。(3)和動作不同,活動可以有入口動作和出口動作,也可以有內部轉移。雖然和動作有諸多不同,活動結點的表示圖標卻和動作結點相同,都是圓角矩形。稍有不同的是活動結點可以在圖標中給出入口動作和出口動作等信息。23注意:UML定義的動作和活動結點都是用上面的圓角矩形表示.但在rose2003里面,圓角矩形表示狀態,圓端矩形表示活動(沒有動作的概念)Uml2里面動作還引入了引腳的概念,這里略過可以說,動作是活動的一種特殊情況,因此,除非特殊說明,后面課件中的活動稱謂,含動作.245.2.2控制結點(controlnode)起始結點(initialnode)終止結點(finalnode)分叉匯合(fork&joinnode)分支(判斷)合并(decision&mergenode)25initialnode&finalnode1.x稱為起始狀態(startstate)和終止狀態(endstate)起始結點:用一個實心圓表示初始結點一個活動圖只能有一個起始結點終止結點:用一個圓圈內加一個實心圓來表示活動終點可以有多個終結結點(1)起始結點和終止結點26fork&joinnode并發(Concurrency)指的是在同一時間間隔內有兩個或者兩個以上的活動執行。對于些復雜的大型系統而言,對象在運行時往往不只存在一個控制流,而是存在兩個或者多并發運行的控制流。為了對并發的控制流建模,在UML中引入了分叉和結合的概念。用于表示將一個控制流分成兩個或者多個并發運行的分支,結合用來表示并行分支在此得到同步。(2)分叉與匯合2728結合匯合了兩條或兩條以上的并行控制路徑。在執行過程中,所有路徑都要走過先到的控制流要等其他路徑的控制流到達后才能繼續運行。29branch&merge分支是用菱形表示的它有一個進入轉換(箭頭從外指向分支符號)一個或多個離開轉換(箭頭從分支符號指向外)。而每個離開轉換上都會有一個監護條件(guardcondition),用來表示滿足什么條件的時候執行該轉換(3)分支(判定)與合并30分支在活動圖中很常見,它是轉換的一部分,它將轉換路徑分成多個部分,每一部分都有單獨的監護條件和不同的結果。當動作流遇到分支時,會根據監護條件(布爾值)的真假來判定動作的流向。分支的每個路徑的監護條件應該是且斥的,這樣可以保證只有一條路徑的轉換被激發。分支應該盡可能地包含所有的可能,否則可能會有一些轉換無法被激發。這樣最終會因為輸出轉換不再重新激發而使活動圖凍結。31合并指的是兩個或者多個控制路徑在此匯合的情況。合并和分支常常成對使用,合并表示從對應分支開始的條件的行為結束。合并匯合了兩個以上的控制路徑,在任何執行中每次只走一條,不同路徑之間是互斥的關系。325.2.3(動作流)控制流與狀態圖不同,活動圖的轉換一般都不需要特定事件的觸發。一個活動執行完本狀態需要完成的動作后會自發轉換到另外一個活動。一個活動圖有很多動作或者活動,活動圖通常開始于初始結點,然后自動轉換到活動圖的第一個活動結點,該結點的動作完成后,控制就會不加延遲地轉換到下一個結點。重復進行,碰到一個分支或者終止結點為止。所有動作狀態之間的轉換流稱之為動作流活動圖的轉換也用帶箭頭的直線表示,箭頭的方向指向轉入的結點表示的活動335.2.3對象結點和對象流活動有時需要輸入值和輸出值,這些輸入輸出需要對象的實例來定義.這些對象的實例構成活動圖中的對象結點.對象結點表示活動中輸入或輸出的對象。對象結點的本質是一個實例或一組同類型的實例,在活動中主要表示在流中的實例狀態如何變化從活動指向對象結點的流或從對象結點指向活動的流稱為對象流。對輸出值而言,虛線箭頭從活動指向對象結點。對輸入值而言,虛線箭頭從對象結點指向活動。34對象結點和對象流的表示:355.3泳道(swimlane)活動圖告訴人們發生了什么,但是不能告訴該項活動由誰來完成。這就是說,在程序設計中,活動圖無法描述出每個活動是由哪個類來完成的。而在領域建模中,它無法描述出每個活動由哪個人或部門來負責。泳道技術是解決這個問題的一種方法。所謂泳道技術,是將活動用虛線分成一些縱向的域,將這些縱向的區域稱之為泳道。每個區域代表一一個特定類、或者人、或者部門的責任區。將模型中的活動按照職責組織起來通常很有用。例如,可以將一個商業組織處理的所有活動組織起來。這種分配可以通過將活動組織成用線分開的不同區域來表示。由于它們的外觀的緣故,這些區域被稱作泳道。36帶泳道的活動圖375.4用例的活動圖如果事件流的邏輯復雜且有許多其他事件流,則利用文本方式描述用例的事件流就讓人覺得較難閱讀和理解。如果使用流程圖來描述事件流,則直觀易懂。UML中的活動圖是事件流的另一種建模方式。因為活動圖顯示的信息與文本事件流相同,所以可在業務模型中用活動圖描述業務過程的工作流。385.5活動的分解可以對活動進一步分解以獲得更詳細的描述。這種描述可以是正文、程序代碼或另一張活動圖。當分解一個高層活動時,在其細化的活動圖中必須提供一個起始點;同時,當高層活動輸出很多觸發事件時,應該畫同樣個數的結束點。這樣就可以根據該孑圖的返回值來決定是哪個觸發件產生的輸出。39組合活動40組合活動和簡單活動的區別:組合活動是可任意按大小分解的,而簡單活動雖然是系列的動作組成,但這些動作全執行完才算一個完整的活動;只含有一個動作的活動是元活動,即動作.如上例的Login是組合活動,returncard是動作415.6活動圖實例分析42復雜活動圖(不要求,自己查閱資料)發送信號與接收信號:43引腳:表示活動節點的相應參數擴展區:445.7活動圖建模實例(1)定義活動圖范圍,確定開始、結束狀態。(2)添加活動,建模主路徑。(3)尋找分支和并行的情況,建模擴展路徑。(4)根據需要劃分游泳道。45“餐館訂餐”系統的用例圖46“記錄預約”用例的事件路徑如下:1.接待員輸入要預約的日期2.系統顯示該日的預約3.有一張合適的餐桌可以使用,接待員輸入顧客的姓名和電話號碼、預約的時間、用餐人數和餐
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 提高幼兒園小班的手工藝術表現力計劃
- 風險管理與應對措施的年度策略計劃
- 建立幼兒園教師發展支持系統計劃
- 建立良好的倉庫管理習慣計劃
- 高品質產品的生產流程計劃
- 大學鋪導員個人工作計劃
- 環境檢測與污染治理實施計劃
- 2025年高通量試驗反應堆及配套產品合作協議書
- 2025年納他霉素食品防腐劑項目合作計劃書
- 2025年光伏組件背板合作協議書
- SL-T+712-2021河湖生態環境需水計算規范
- 深基坑專項方案論證流程
- 《創業基礎》課件-第五章 創業計劃
- 湖北省武漢市江漢區2022-2023學年八年級下學期期中考試數學試卷(含答案)
- 列寧人物課件
- 數據庫技術與應用-課程標準
- 大型文藝匯演活動物料明細表(模板)
- 海洋科學導論試題庫
- 幼兒園大班科學教案《彩光變變變》
- 跟著名著《小王子》學高考英語讀后續寫絕佳的續寫清單-高中英語作文復習專項
- JTT319-2010 汽車客運站計算機售票票樣及管理使用規定
評論
0/150
提交評論