狀態(tài)圖與活動(dòng)圖_第1頁(yè)
狀態(tài)圖與活動(dòng)圖_第2頁(yè)
狀態(tài)圖與活動(dòng)圖_第3頁(yè)
狀態(tài)圖與活動(dòng)圖_第4頁(yè)
狀態(tài)圖與活動(dòng)圖_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第八章?tīng)顟B(tài)圖與活動(dòng)圖主講教師:阿都建華單位:軟件工程系什么是狀態(tài)圖UML中的狀態(tài)圖(statechartdiagram)主要用于描述一個(gè)對(duì)象在其生存期間的動(dòng)態(tài)行為,表現(xiàn)一個(gè)對(duì)象所經(jīng)歷的狀態(tài)序列,引起狀態(tài)轉(zhuǎn)移的事件,以及因狀態(tài)轉(zhuǎn)移而伴隨的動(dòng)作狀態(tài)就是對(duì)象生命期中的某個(gè)條件或狀況,在此期間對(duì)象將滿足某些條件、執(zhí)行某些活動(dòng)或等待某些事件一個(gè)狀態(tài)圖表現(xiàn)了一個(gè)對(duì)象的生存史,著重描述從一個(gè)狀態(tài)到另一個(gè)狀態(tài)的控制流狀態(tài)圖:一部電梯的運(yùn)行方式狀態(tài)圖的圖形元素狀態(tài):用一個(gè)帶圓角的矩形框表示,可以進(jìn)一步劃分為3個(gè)分隔框:名稱框、內(nèi)部轉(zhuǎn)移框和嵌套狀態(tài)圖框名稱框:標(biāo)出狀態(tài)的名稱內(nèi)部轉(zhuǎn)移框:規(guī)定動(dòng)作或活動(dòng),但不改變對(duì)象的當(dāng)前狀態(tài)嵌套狀態(tài)圖:放置被嵌套的子狀態(tài)圖轉(zhuǎn)移:用實(shí)箭線表示,箭尾連接出發(fā)狀態(tài),即源狀態(tài),箭頭連接到達(dá)狀態(tài),即目標(biāo)狀態(tài)在箭線上可以標(biāo)示與該轉(zhuǎn)移有關(guān)的選項(xiàng):事件、保安條件和動(dòng)作初始狀態(tài):是模型元素的初始狀態(tài),代表一個(gè)狀態(tài)圖的起始點(diǎn),是一個(gè)偽狀態(tài)。初始狀態(tài)用一個(gè)實(shí)心的圓表終結(jié)狀態(tài):是模型元素的最后的狀態(tài),代表一個(gè)狀態(tài)圖的終止點(diǎn),是一個(gè)偽狀態(tài)。終結(jié)狀態(tài)用一個(gè)圓中套一個(gè)實(shí)心圓表示初始狀態(tài)終結(jié)狀態(tài)判定:判定是在狀態(tài)圖中的一個(gè)特定的位置,工作流在此按保安條件的取值而發(fā)生分支判定用空心小菱形表示同步:同步可視化地定義了并發(fā)工作流的分劈(fork)與接合(join)分劈是一個(gè)源狀態(tài)分為兩個(gè)或兩個(gè)以上的目標(biāo)狀態(tài)接合是兩個(gè)以上的源狀態(tài)連接為一個(gè)目標(biāo)狀態(tài)同步在狀態(tài)圖中用一條粗短線表示,成為同步桿狀態(tài)狀態(tài)(state)是指在對(duì)象的生命期中的某個(gè)條件或狀況,在此期間對(duì)象將滿足某些條件、執(zhí)行某些活動(dòng)或等待某些事件狀態(tài)屬性:對(duì)確定對(duì)象的狀態(tài)有重要意義的屬性一個(gè)狀態(tài)有以下幾個(gè)部分:狀態(tài)名(name)、進(jìn)入/退出(entry/exitaction)、內(nèi)部轉(zhuǎn)移(internaltransition)、子狀態(tài)(substate)、延遲事件(deferredevent)組合狀態(tài)簡(jiǎn)單狀態(tài):一個(gè)不含有嵌套狀態(tài)的狀態(tài)組合狀態(tài):如果一個(gè)狀態(tài)內(nèi)嵌套了若干個(gè)狀態(tài),則稱該狀態(tài)為組合狀態(tài)或超狀態(tài)子狀態(tài):嵌套在另一個(gè)狀態(tài)中的狀態(tài)使用組合狀態(tài)的優(yōu)點(diǎn):避免了轉(zhuǎn)移線交叉,使圖面清晰,簡(jiǎn)化了狀態(tài)圖,更重要的是要清楚地表達(dá)了狀態(tài)的結(jié)構(gòu)關(guān)系,便于分清主次,分別對(duì)待順序狀態(tài)與并發(fā)狀態(tài)順序狀態(tài):組合狀態(tài)的子狀態(tài)是一個(gè)一個(gè)執(zhí)行的,不是并發(fā)存在的順序狀態(tài)與并發(fā)狀態(tài)并發(fā)狀態(tài):子狀態(tài)是并發(fā)存在的兩個(gè)并發(fā)的子狀態(tài)圖用一條虛線分隔并發(fā)狀態(tài)圖:用于描述一個(gè)對(duì)象在某個(gè)時(shí)刻有多個(gè)并發(fā)的子狀態(tài)機(jī)的情況,并發(fā)狀態(tài)圖是這些子狀態(tài)圖的組合歷史狀態(tài)歷史狀態(tài)是一個(gè)偽狀態(tài),代表上次離開(kāi)組合狀態(tài)時(shí)的最后一個(gè)活動(dòng)子狀態(tài),當(dāng)再次進(jìn)入這個(gè)組合狀態(tài)時(shí),可直接進(jìn)入這個(gè)子狀態(tài)歷史狀態(tài)用一個(gè)含字母“H”的小圓圈表示事件是一個(gè)有意義的事情的說(shuō)明,它位于特定的時(shí)間和空間點(diǎn)在狀態(tài)圖中,事件是一個(gè)激勵(lì)的出現(xiàn),它定義一個(gè)觸發(fā)子觸發(fā)對(duì)象改變其狀態(tài)在UML中,事件分為4類(lèi):調(diào)用事件、變化事件、時(shí)間事件、信號(hào)事件事件調(diào)用事件:表示對(duì)操作的調(diào)度格式:Event-name’(‘comma-separated-parameter-list’)’變化事件:如果一個(gè)布爾表達(dá)式中的變量發(fā)生變化,使得該布爾表達(dá)式的值相應(yīng)地變化,從而滿足某些條件,則這種事件稱為變化事件變化事件用關(guān)鍵字when表示時(shí)間事件:指滿足某一時(shí)間表達(dá)式的情況的事件時(shí)間事件用關(guān)鍵字after或when表示信號(hào)事件:表示對(duì)象接收了信號(hào)這種情況,往往會(huì)觸發(fā)狀態(tài)的轉(zhuǎn)移在UML中,信號(hào)用構(gòu)造型《signal》表示信號(hào)事件和調(diào)用事件的表示格式是一樣的動(dòng)作動(dòng)作是一個(gè)可執(zhí)行的原子計(jì)算,即動(dòng)作是不可被中斷的,其執(zhí)行時(shí)間是可忽略不計(jì)的進(jìn)入動(dòng)作和退出動(dòng)作的例子:

Entry/setMode(onTrack)Exit/setMode(offTrack)小結(jié)狀態(tài)圖的基本概念、用途狀態(tài)圖的圖形元素狀態(tài)的定義及分類(lèi)組合狀態(tài)的分類(lèi)事件、事件的分類(lèi)、動(dòng)作什么是活動(dòng)圖活動(dòng)圖是系統(tǒng)的一種行為視圖,它描述參與行為的對(duì)象類(lèi)的活動(dòng)的順序,包括依賴于條件的行為和并發(fā)行為[沒(méi)有可口可樂(lè)]判斷條件判定活動(dòng)[找到可口可樂(lè)]活動(dòng)[找到咖啡][沒(méi)有咖啡]同步條件找飲料將咖啡放到過(guò)濾器中取一聽(tīng)可口可樂(lè)加水到容器中取出咖啡杯人熄滅咖啡爐

點(diǎn)燃咖啡爐把過(guò)濾器放到咖啡爐上沖調(diào)咖啡終點(diǎn)喝飲料倒咖啡活動(dòng);泳道;分支;分叉和匯合;對(duì)象流;注釋體和注釋連接?;顒?dòng)圖的基本要素

活動(dòng)活動(dòng):活動(dòng)是某件事情正在進(jìn)行的狀態(tài),表現(xiàn)為由一系列動(dòng)作組成的非原子的執(zhí)行過(guò)程。UML中的表示:泳道

泳道是活動(dòng)圖中的區(qū)域劃分,每個(gè)泳道代表一個(gè)責(zé)任區(qū),一個(gè)泳道可由一個(gè)或多個(gè)類(lèi)實(shí)現(xiàn)。分支對(duì)于同一觸發(fā)事件,可以根據(jù)不同的警戒條件轉(zhuǎn)向不同的活動(dòng),每個(gè)可能的轉(zhuǎn)移是一個(gè)分支。分叉和匯合

表示系統(tǒng)或?qū)ο笾械牟l(fā)行為。分叉表示一個(gè)控制流被兩個(gè)或多個(gè)控制流代替,經(jīng)過(guò)分叉后,這些控制流是并發(fā)進(jìn)行的;匯合正好相反。對(duì)象流

在活動(dòng)圖中可以出現(xiàn)對(duì)象,對(duì)象可以作為活動(dòng)的輸入或輸出。對(duì)象流表示活動(dòng)與對(duì)象之間的關(guān)系。注釋體和注釋連接注釋體:用于對(duì)UML實(shí)體進(jìn)行文字描述。注釋連接:用于將注釋體與要描述的實(shí)體相連,說(shuō)明該注釋體是針對(duì)該實(shí)體所進(jìn)行的描述?;顒?dòng)圖例子活動(dòng)圖例子課堂作業(yè)某公司的設(shè)備采購(gòu)流程設(shè)置為:

A、由業(yè)務(wù)部門(mén)提出需求設(shè)備清單;B、將需求設(shè)備清單交采購(gòu)部門(mén)建立采購(gòu)采買(mǎi)單據(jù);C、采購(gòu)部門(mén)建立采購(gòu)單據(jù)后,交財(cái)務(wù)部門(mén),向財(cái)務(wù)部門(mén)申請(qǐng)款項(xiàng),預(yù)支零用金;D、財(cái)務(wù)部門(mén)建立應(yīng)付帳款單據(jù)后:核支款項(xiàng);E、采購(gòu)部門(mén)在收到款項(xiàng)后,進(jìn)行采買(mǎi);F、采買(mǎi)完成后,執(zhí)行:(1)發(fā)票和剩余款項(xiàng)交財(cái)務(wù)部:(2)設(shè)備交業(yè)務(wù)部門(mén);G、(a)采購(gòu)部門(mén):采購(gòu)單據(jù)結(jié)案;(b)財(cái)務(wù)部門(mén):帳款沖銷(xiāo)結(jié)案;

活動(dòng)圖的優(yōu)點(diǎn)和缺點(diǎn)優(yōu)點(diǎn):最適合支持并行行為,而且也是支持多線程編程的有力工具,可用于描述業(yè)務(wù)流程。缺點(diǎn):很難清楚地描述動(dòng)作與對(duì)象之間的關(guān)系。雖然在活動(dòng)旁標(biāo)出對(duì)象名或者采用泳道技術(shù)可以定義這種關(guān)系,但仍然沒(méi)有交互圖簡(jiǎn)單直接。因此,像大多數(shù)建模技術(shù)一樣,最好把活動(dòng)圖與其他技術(shù)結(jié)合使用?;顒?dòng)圖與狀態(tài)圖的區(qū)別活動(dòng)圖描述的是響應(yīng)內(nèi)部處理的對(duì)象類(lèi)的行為,狀態(tài)圖描述的是對(duì)象類(lèi)響應(yīng)事件的外部行為。活動(dòng)圖著重表現(xiàn)的是一個(gè)活動(dòng)到另一個(gè)活動(dòng)的控制流,是內(nèi)部處理驅(qū)動(dòng)的流程;而狀態(tài)圖著重表現(xiàn)的是從一個(gè)狀態(tài)到另一個(gè)狀態(tài)的流程,常用于有異步事件發(fā)生的情況活動(dòng)圖與交互圖的區(qū)別活動(dòng)圖著重表現(xiàn)的是活動(dòng)的控制流,描述在對(duì)象之間傳遞的操作;而交互圖著重表現(xiàn)的是對(duì)象到對(duì)象的控制流,描述對(duì)象之間傳遞的消息活動(dòng)圖的應(yīng)用-用途分析UseCase在分析UseCase時(shí)需要理解系統(tǒng)將會(huì)發(fā)生哪些動(dòng)作,行為之間的依賴關(guān)系是什么,此時(shí)可以用活動(dòng)圖來(lái)驗(yàn)證UseCase理解工作流程對(duì)理解業(yè)務(wù)處理過(guò)程十分有用,可以畫(huà)出描述業(yè)務(wù)工作流的活動(dòng)圖與領(lǐng)域?qū)<疫M(jìn)行交流,明確業(yè)務(wù)處理操作是如何進(jìn)行的,將會(huì)有怎樣的變化描述復(fù)雜過(guò)程的算法此時(shí)相當(dāng)于UML版的程序流程圖,常規(guī)的順序、分支過(guò)程在活動(dòng)圖中都能得到充分體現(xiàn)處理多線程應(yīng)用利用活動(dòng)圖支持并發(fā)的特點(diǎn),描述多線程應(yīng)用的行為活動(dòng)圖是一種用于系統(tǒng)的行為建模的工具,它能支持對(duì)并發(fā)行為的描述的特點(diǎn),使其成為對(duì)工作流(業(yè)務(wù)流)建立模型的強(qiáng)大工具,尤其適合于多線程的程序的建模主要缺點(diǎn):動(dòng)作與對(duì)象之間的連接關(guān)系不夠清晰活動(dòng)圖的應(yīng)用-工作流建模何時(shí)可使用活動(dòng)圖分析用例。能直觀清晰地分析用例,了解應(yīng)當(dāng)采取哪些動(dòng)作以及這些動(dòng)作之間的依賴關(guān)系。一張完整的活動(dòng)圖是所有用例的集成圖。理解牽涉多個(gè)用例的工作流。在難于區(qū)分不同用例而對(duì)整個(gè)系統(tǒng)的工作過(guò)程又十

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論