版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
UML面向?qū)ο笤O(shè)計與分析教程(第二版)(微課版)第9章動態(tài)分析與活動圖本章的學(xué)習(xí)目標(biāo):理解活動圖的建模目的掌握活動圖的基本概念和組成要素掌握活動圖的UML表示方法理解動作狀態(tài)和活動狀態(tài)的區(qū)別與聯(lián)系掌握活動圖的建模方法活動圖融合了事件流圖、Petri網(wǎng)和SDL(SchemaDefinitionLanguage)狀態(tài)建模等技術(shù),用來在面向?qū)ο笙到y(tǒng)的不同組件之間建模工作流和并發(fā)的處理行為。例如,可以使用活動圖描述某個用例的基本操作流程?;顒訄D的主要作用是描述工作流,其中每個活動都代表工作流中一組動作的執(zhí)行?;顒訄D可用來為不同類型的工作流建模,工作流是能產(chǎn)生可觀測值或在執(zhí)行時生成實體的動作序列。活動圖活動是某件事情正在進(jìn)行的狀態(tài),它既可以是現(xiàn)實生活中正在進(jìn)行的某一項工作,也可以是軟件系統(tǒng)某個類對象的一個操作。制訂計劃(MakePlan)點擊鼠標(biāo)(ClickMouse)活動圖描述活動的順序,展現(xiàn)從一個活動到另一個活動的控制流?;顒訄DUML中,活動圖中的活動既可以是手動執(zhí)行的任務(wù),也可以是自動執(zhí)行的任務(wù),用圓角矩形表示?;顒訄D活動的起點用來描述活動圖的開始狀態(tài),用黑的實心圓表示?;顒拥慕K止點描述活動圖的終止?fàn)顟B(tài),用一個含有實心圓的空心圓表示?;顒訄D活動圖活動圖與流程圖的區(qū)別活動圖描述系統(tǒng)使用的活動、判定點和分支,看起來和流程圖沒什么兩樣,并且傳統(tǒng)的流程圖所能表示的內(nèi)容,大多數(shù)情況下也可以使用活動圖表示,但是兩者是有區(qū)別的,不能將兩個概念混淆。活動圖活動圖與流程圖的區(qū)別流程圖著重描述處理過程,它的主要控制結(jié)構(gòu)是順序、分支和循環(huán),各個處理過程之間有嚴(yán)格的順序和時間關(guān)系?;顒訄D描述的是活動的順序關(guān)系,它著重表現(xiàn)的是系統(tǒng)的行為,而非系統(tǒng)的處理過程?;顒訄D活動圖與流程圖的區(qū)別活動圖能夠表示并發(fā)活動的情形,而流程圖不能?;顒訄D是面向?qū)ο蟮模鞒虉D是面向過程的。簡單地講,活動圖是“OO流程圖”?;顒訄D活動圖的作用:描述一個操作執(zhí)行過程中所完成的工作。說明角色、工作流、組織和對象是如何工作的。活動圖對用例描述尤其有用,它可建模用例的工作流,顯示用例內(nèi)部和用例之間的路徑。它可以說明用例的實例是如何執(zhí)行動作以及如何改變對象狀態(tài)。活動圖活動圖的作用:顯示如何執(zhí)行一組相關(guān)的動作,以及這些動作如何影響它們周圍的對象?;顒訄D對理解業(yè)務(wù)處理過程十分有用?;顒訄D可以畫出工作流用以描述業(yè)務(wù),有利于與領(lǐng)域?qū)<疫M(jìn)行交流。通過活動圖可以明確業(yè)務(wù)處理操作是如何進(jìn)行的,以及可能產(chǎn)生的變化。描述復(fù)雜過程的算法,在這種情況下使用的活動圖和傳統(tǒng)的程序流程圖的功能是差不多?;顒訄D組成元素活動起點活動分叉匯合活動終點分支合并動作流活動圖組成元素組成活動圖的圖形元素:動作狀態(tài)(ActionState)活動狀態(tài)(ActivityState)動作流(ActionFlow)分支(Branch)與合并(Merge)分叉(Fork)與匯合(Join)泳道(Swimlane)對象流(ObjectFlow)活動圖組成元素動作狀態(tài)動作狀態(tài)是指執(zhí)行原子的、不可中斷的動作,并在此動作完成后通過完成轉(zhuǎn)換轉(zhuǎn)向另一個狀態(tài)。在UML中動作狀態(tài)使用平滑的圓角矩形表示,動作狀態(tài)所表示的動作寫在平滑的圓角矩形內(nèi)部。在確定名稱時應(yīng)該恰當(dāng)?shù)孛?,選擇準(zhǔn)確描述所發(fā)生動作的幾個詞。例如,SaveFile或者CreateNewDocument就是比較恰當(dāng)?shù)幕顒用Q,而Run或者Update對讀者而言是不完整的名稱?;顒訄D組成元素動作狀態(tài)的特點:動作狀態(tài)是原子的,它是構(gòu)造活動圖的最小單位,已經(jīng)無法分解為更小的部分。動作狀態(tài)是不可中斷的,它一旦開始運(yùn)行就不能中斷,一直運(yùn)行到結(jié)束。動作狀態(tài)是瞬時的行為,它所占用的處理時間極短,有時其至可以忽略。動作狀態(tài)不能有入口動作和出口動作,更不能有內(nèi)部轉(zhuǎn)移。
活動圖組成元素活動狀態(tài)活動狀態(tài)用于表達(dá)狀態(tài)機(jī)中的非原子的運(yùn)行?;顒訝顟B(tài)的表示圖標(biāo)也是平滑的圓角矩形,并可以在圖標(biāo)中給出入口動作和出口動作等信息?;顒訄D組成元素活動狀態(tài)的特點:活動狀態(tài)可以分解成其他子活動或動作狀態(tài),由于它是一組不可中斷的動作或操作的組合,所以可以被中斷。活動狀態(tài)的內(nèi)部活動可以用另一個活動圖來表示。和動作狀態(tài)不同,活動狀態(tài)可以有入口動作和出口動作,也可以有內(nèi)部轉(zhuǎn)移。動作狀態(tài)是活動狀態(tài)的一個特例,如果某個活動狀態(tài)只包括一個動作,那么它就是一個動作狀態(tài)。活動圖組成元素動作流所有動作狀態(tài)之間的轉(zhuǎn)換流稱之為動作流。與狀態(tài)圖的轉(zhuǎn)換相同,活動圖的轉(zhuǎn)換也用帶箭頭的直線表示,箭頭的方向指向轉(zhuǎn)入的方向?;顒訄D組成元素分支與合并動作流一般會自動進(jìn)行控制轉(zhuǎn)換,直到遇到分支。分支在軟件系統(tǒng)流程中很常見,一般用于表示對象類所具有的條件行為?;顒訄D組成元素分支與合并一個無條件的動作流,可以在一個動作狀態(tài)的動作完成后自動觸發(fā)動作狀態(tài)的轉(zhuǎn)換以激發(fā)下一個動作狀態(tài)。有條件的動作流則需要根據(jù)條件,即一個布爾表達(dá)式的真假來判定動作的流向。條件行為用分支和合并表達(dá)。活動圖組成元素分支與合并分支是用菱形表示的,它有一個進(jìn)入轉(zhuǎn)換(箭頭從外指向分支符號),一個或多個出轉(zhuǎn)換(箭頭從分支符號指向外)。而每個出轉(zhuǎn)換上都會有一個監(jiān)護(hù)條件,用來表示滿足什么條件的時候執(zhí)行該轉(zhuǎn)換。出轉(zhuǎn)換的條件應(yīng)當(dāng)是互斥的,這樣可以保證只有一條出轉(zhuǎn)換能夠被觸發(fā)?;顒訄D組成元素分支與合并合并指的是兩個或者多個控制路徑在此匯合的情況。合并表示從對應(yīng)的分支開始的條件行為的結(jié)束。分支與合并活動圖組成元素活動圖組成元素分叉與匯合對象在運(yùn)行時可能會存在兩個或者多個并發(fā)運(yùn)行的控制流,為了對并發(fā)的控制流建模,在UML中引入了分叉與匯合的概念。活動圖組成元素分叉與匯合分叉和匯合都使用加粗的水平(或者豎直)線段表示?;顒訄D組成元素分叉與匯合分叉用于將動作流分為兩個或者多個并發(fā)運(yùn)行的分支,而匯合則用于同步這些并發(fā)分支,以達(dá)到共同完成一項事務(wù)的目的。活動圖組成元素分叉與匯合分叉可以用來描述并發(fā)線程,每個分叉可以有一個輸入轉(zhuǎn)換和兩個或多個輸出轉(zhuǎn)換,每個轉(zhuǎn)換都可以是獨立的控制流。活動圖組成元素分叉與匯合匯合代表兩個或多個并發(fā)控制流同步發(fā)生,當(dāng)所有的控制流都達(dá)到匯合點后,控制才能繼續(xù)往下進(jìn)行。如果一個處理在其他處理之前到達(dá)了聯(lián)結(jié),它將會等待,直到所有的處理都準(zhǔn)備好之后才會向聯(lián)結(jié)傳遞控制權(quán)?;顒訄D組成元素分叉與匯合每個匯合可以有兩個或多個輸入轉(zhuǎn)換和一個輸出轉(zhuǎn)換?;顒訄D組成元素區(qū)分合并與匯合合并結(jié)合了兩個以上的控制路徑,在任何執(zhí)行中每次只走一條,不同路徑之間是互斥關(guān)系。匯合結(jié)合了兩條或者兩條以上的并行控制路徑,在執(zhí)行過程中,所有路徑都要走過,先到的控制流要等其他路徑的控制流到達(dá)后才能繼續(xù)運(yùn)行。活動圖組成元素對象流活動可以輸入和輸出對象,并可以修改對象狀態(tài)。我們能夠在活動圖上用對象流表示這些。對象流是動作狀態(tài)或者活動狀態(tài)與對象之間的依賴關(guān)系對象流表示動作使用對象或者動作對對象的影響?;顒訄D組成元素對象流在活動圖中,對象流用帶有箭頭的虛線表示。如果箭頭從動作狀態(tài)出發(fā)指向?qū)ο螅瑒t表示動作對對象施加了一定的影響。活動圖組成元素對象流施加的影響包括創(chuàng)建、修改和撤銷等。如果箭頭從對象指向動作狀態(tài),則表示該動作使用對象流所指向的對象。反過來,動作依賴對象的話,箭頭從對象指向動作?;顒訄D組成元素對象流中對象的特點:一個對象可以由多個動作操縱;一個動作輸出的對象可以作為另一個動作輸入的對象;在活動圖中,同一個對象可以多次出現(xiàn),它的每一次出現(xiàn)表明該對象正處于對象生存期的不同時間點。活動圖組成元素泳道泳道將活動圖中的活動按職責(zé)化分為若干組,并把每一組指定給負(fù)責(zé)這組活動的業(yè)務(wù)組織在活動圖中,泳道用垂直實線繪出,垂直線分隔的區(qū)域就是泳道。在泳道上方可以給出泳道的名字,負(fù)責(zé)泳道內(nèi)的全部活動。在包含泳道的活動圖中,每個活動只能明確地屬于一個泳道?;顒訄D組成元素泳道活動分解一個活動可以分為若干個動作或子活動,這些動作和子活動本身又可以組成一個活動圖。不含內(nèi)嵌活動或動作的活動稱之為簡單活動嵌套了若干活動或動作的活動稱之為組合活動,組合活動有自己的名字和相應(yīng)的子活動圖活動分解使用ROSE創(chuàng)建活動圖要創(chuàng)建活動圖,首先展開“LogicView”菜單項,然后在“LogicView”圖標(biāo)上單擊鼠標(biāo)右鍵,在彈出的菜單中選擇“New”下的“ActivityDiagram”選項建立新的活動圖。1、創(chuàng)建活動圖使用ROSE創(chuàng)建活動圖選擇之后,Rose在“LogicView”目錄下創(chuàng)建“State/ActivityModel”子目錄,目錄下是新建的活動圖“NewDiagram”,右鍵單擊活動圖圖標(biāo),在彈出菜單中選擇“Rename”來修改新創(chuàng)建的活動圖名字。1、創(chuàng)建活動圖使用ROSE創(chuàng)建活動圖在活動圖建立以后,雙擊活動圖圖標(biāo),會出現(xiàn)活動圖繪制區(qū)域1、創(chuàng)建活動圖使用ROSE創(chuàng)建活動圖活動圖有初始和終止?fàn)顟B(tài)。初始狀態(tài)在活動圖中用實心圓表示,終止?fàn)顟B(tài)在活動圖中用含有實心圓的空心圓表示。鼠標(biāo)左鍵點擊活動圖工具欄中初始狀態(tài)圖標(biāo),然后在繪制區(qū)域要繪制的地方單擊鼠標(biāo)左鍵就可以創(chuàng)建初始狀態(tài)。終止?fàn)顟B(tài)的創(chuàng)建方法和初始狀態(tài)相同。2、創(chuàng)建初始和終止?fàn)顟B(tài)使用ROSE創(chuàng)建活動圖要創(chuàng)建動作狀態(tài),首先點擊活動圖工具欄中的“Activity”圖標(biāo),然后在繪制區(qū)域要繪制動作狀態(tài)的地方單擊鼠標(biāo)左鍵。3、創(chuàng)建動作狀態(tài)修改動作狀態(tài)的屬性信息。首先雙擊動作狀態(tài)圖標(biāo),在彈出的對話框“General”選項卡里進(jìn)行如名稱“Name”和文檔說明“Documentation”等屬性的設(shè)置。使用ROSE創(chuàng)建活動圖用鼠標(biāo)左鍵雙擊活動圖圖標(biāo),在彈出的對話框中選擇“Action”選項卡。然后在空白處單擊鼠標(biāo)右鍵,在彈出的右鍵菜單中選擇“Insert”菜單項。4、創(chuàng)建活動狀態(tài)使用ROSE創(chuàng)建活動圖接下來雙擊列表中出現(xiàn)的默認(rèn)動作“Entry/”,在彈出的對話框的“When”選項下拉列表中有“ONentry”、“OnExit”、“Do”和“OnEvent”等動作選項。用戶可以根據(jù)自己的需求來選擇需要的動作,“Name”字段要求用戶輸入動作的名稱。4、創(chuàng)建活動狀態(tài)使用ROSE創(chuàng)建活動圖要創(chuàng)建轉(zhuǎn)換,首先點擊工具欄中的“StateTransition”圖標(biāo),然后在兩個要轉(zhuǎn)換的動作狀態(tài)之間拖動鼠標(biāo)。5、創(chuàng)建轉(zhuǎn)換使用ROSE創(chuàng)建活動圖創(chuàng)建分叉與結(jié)合,首先點擊工具欄中的“HorizontalSynchronization”圖標(biāo)按鈕,在繪制區(qū)域要創(chuàng)建分叉與結(jié)合的地方單擊鼠標(biāo)左鍵。6、創(chuàng)建分叉與匯合使用ROSE創(chuàng)建活動圖首先點擊工具欄中的“Decision”圖標(biāo)按鈕,然后在繪制區(qū)域要創(chuàng)建分支與合并的地方單擊鼠標(biāo)左鍵。7、創(chuàng)建分支與合并使用ROSE創(chuàng)建活動圖要創(chuàng)建泳道,首先點擊工具欄中的“Swimlane”圖標(biāo)按鈕,然后在繪制區(qū)域點擊鼠標(biāo)左鍵,就可以創(chuàng)建新的泳道。接下來可以修改泳道的名字等屬性。選中需要修改的泳道,單擊鼠標(biāo)右鍵,在彈出的菜單中選擇“OpenSpecification”。彈出的對話框中的“Name”字段可以修改泳道的名字。8、創(chuàng)建泳道使用ROSE創(chuàng)建活動圖對象流的狀態(tài)表示活動中輸入或輸出的對象。對象流是將對象流狀態(tài)作為輸入或輸出的控制流。要創(chuàng)建對象流,首先要創(chuàng)建對象流狀態(tài)。對象流狀態(tài)的創(chuàng)建方法與普通對象的創(chuàng)建方法相同:首先單擊工具欄中的Object圖標(biāo)按鈕,在繪制區(qū)域單擊鼠標(biāo)左鍵。創(chuàng)建好對象流的狀態(tài)后,就可以開始創(chuàng)建對象流:首先單擊工具欄中的圖標(biāo),然后在活動和對象之間拖動鼠標(biāo)創(chuàng)建對象流。9、創(chuàng)建對象流狀態(tài)與對象流創(chuàng)建活動圖的步驟:確定工作流的初始狀態(tài)和終止?fàn)顟B(tài),明確工作流的邊界。對動作狀態(tài)或活動狀態(tài)建模,找出隨時間發(fā)生的動作和活動,將它們表示為動作狀態(tài)或活動狀態(tài)。對動作流建模,對動作流建模時可以首先處理順序動作,接著處理分支與合并等條件行為,然后處理分叉與匯合等并發(fā)行為。對對象流建模,找出與工作流相關(guān)的重要對象,并將其連接到相應(yīng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《脊柱的運(yùn)動解剖》課件
- 第6單元 科技文化與社會生活(A卷·知識通關(guān)練)(解析版)
- 中華傳統(tǒng)文化宣傳教育2
- 雙十二時尚之道
- 駛向輝煌共創(chuàng)精彩
- 音樂制作師勞動合同三篇
- 深部護(hù)理科護(hù)士的工作總結(jié)
- 競選班干部的演講稿模板集錦八篇
- 2023年-2024年安全管理人員安全教育培訓(xùn)試題附答案(A卷)
- 2024年企業(yè)主要負(fù)責(zé)人安全培訓(xùn)考試題附參考答案【突破訓(xùn)練】
- 第二章 粉體制備
- 預(yù)應(yīng)力空心板計算
- 2024版珠寶鑒定技師勞動合同范本3篇
- GA/T 1740.2-2024旅游景區(qū)安全防范要求第2部分:湖泊型
- 2023年開封糧食產(chǎn)業(yè)集團(tuán)有限公司招聘筆試真題
- 2024年全國“紀(jì)檢監(jiān)察”業(yè)務(wù)相關(guān)知識考試題庫(附含答案)
- 2025年社區(qū)工作者考試試題庫及答案
- 期末檢測卷(三)2024-2025學(xué)年人教PEP版英語四年級上冊(含答案無聽力原文無聽力音頻)
- 2024-2030年中國兒童內(nèi)衣行業(yè)運(yùn)營狀況及投資前景預(yù)測報告
- 吉首大學(xué)《高等數(shù)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 打印和復(fù)印服務(wù)協(xié)議
評論
0/150
提交評論