面向?qū)ο蟮姆治鲈O(shè)計(jì) 活動(dòng)圖 交互圖_第1頁(yè)
面向?qū)ο蟮姆治鲈O(shè)計(jì) 活動(dòng)圖 交互圖_第2頁(yè)
面向?qū)ο蟮姆治鲈O(shè)計(jì) 活動(dòng)圖 交互圖_第3頁(yè)
面向?qū)ο蟮姆治鲈O(shè)計(jì) 活動(dòng)圖 交互圖_第4頁(yè)
面向?qū)ο蟮姆治鲈O(shè)計(jì) 活動(dòng)圖 交互圖_第5頁(yè)
已閱讀5頁(yè),還剩61頁(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)動(dòng)態(tài)建?;顒?dòng)是某件事情正在進(jìn)行的狀態(tài)?;顒?dòng)在狀態(tài)機(jī)中表現(xiàn)為一個(gè)由一系列動(dòng)作組成的非原子的執(zhí)行過(guò)程?;顒?dòng)圖是一種描述系統(tǒng)行為的圖,它用于展現(xiàn)參與行為的類所進(jìn)行的各種活動(dòng)的順序關(guān)系。活動(dòng)圖用來(lái)表示完成一個(gè)操作所需要的活動(dòng),或者是一個(gè)用例實(shí)例的活動(dòng)?;顒?dòng)圖特別合適描述動(dòng)作流和并發(fā)處理行為。需求分析階段,用活動(dòng)圖來(lái)對(duì)用例具體實(shí)現(xiàn)的過(guò)程(流程)進(jìn)行描述。活動(dòng)圖與狀態(tài)圖都是狀態(tài)機(jī)的表現(xiàn)形式??蛻粜枨蠓治鲋械幕顒?dòng)圖活動(dòng)圖作為UML為軟件對(duì)象的動(dòng)態(tài)行為建模的一種手段,其側(cè)重點(diǎn)在于描述控制在活動(dòng)之間的流動(dòng),因此,它也可以看成是一種流程圖。作為流程圖,它主要有兩種用途,第一是為業(yè)務(wù)流程建模;第二是為對(duì)象的特定操作建模。活動(dòng)圖的作用當(dāng)活動(dòng)圖用來(lái)為業(yè)務(wù)流程建模時(shí),它所起的作用主要是:為軟件系統(tǒng)的需求分析提供一種視化、交流和建檔的手段。這時(shí),可以利用泳道代表不同的業(yè)務(wù)部門(mén),用活動(dòng)代表不同的業(yè)務(wù)步驟。在轉(zhuǎn)入系統(tǒng)建造階段時(shí),根據(jù)泳道的劃分,確立相應(yīng)的協(xié)同,并可以用相應(yīng)的交互和交互圖來(lái)對(duì)軟件的動(dòng)態(tài)行為進(jìn)行細(xì)化,并為軟件的邏輯設(shè)計(jì)打下基礎(chǔ)。作為流程圖,活動(dòng)圖還可以為對(duì)象的特定操作執(zhí)行流程進(jìn)行建模。這時(shí),活動(dòng)圖是軟件動(dòng)態(tài)行為的較深層的抽象,可以根據(jù)活動(dòng)圖的定義,對(duì)對(duì)象的操作的進(jìn)行程序編碼。從這個(gè)意義上說(shuō),活動(dòng)圖也可以看作對(duì)交互圖中描述的交互的細(xì)化。交互圖定義對(duì)象之間的配合,活動(dòng)圖定義這些配合的實(shí)現(xiàn)。

2.描述工程組織過(guò)程

1.描述工作流

軟件對(duì)象的動(dòng)態(tài)行為是由一個(gè)個(gè)的動(dòng)作構(gòu)成的。動(dòng)作是狀態(tài)機(jī)內(nèi)原子的計(jì)算的執(zhí)行。所謂原子,指的是構(gòu)成動(dòng)態(tài)行為的最小單位,動(dòng)作的執(zhí)行是不可打斷的,動(dòng)作的執(zhí)行時(shí)間是可以忽略的。在活動(dòng)圖中,對(duì)動(dòng)態(tài)行為的建模是通過(guò)附加在狀態(tài)中的動(dòng)作實(shí)現(xiàn)的。(1)、動(dòng)作狀態(tài)UML使用專門(mén)的圖形符號(hào)代表動(dòng)作狀態(tài)和活動(dòng)狀態(tài),此圖形符號(hào)是一個(gè)上下為平行直邊,兩側(cè)用圓弧連接的圖形框。對(duì)于動(dòng)作狀態(tài),其動(dòng)作就寫(xiě)在圖形框內(nèi)。

UML對(duì)動(dòng)作沒(méi)有規(guī)定嚴(yán)格的語(yǔ)法,因此可以用一文本串描述動(dòng)作,也可以用任何一種程序設(shè)計(jì)語(yǔ)言的語(yǔ)句的語(yǔ)法書(shū)寫(xiě)動(dòng)作文本串。(2)、活動(dòng)狀態(tài)在UML里,活動(dòng)是軟件對(duì)象非原子的計(jì)算的執(zhí)行?;顒?dòng)可以被進(jìn)一步地分解為一系列的動(dòng)作。在活動(dòng)狀態(tài)機(jī)里,如果全部用動(dòng)作狀態(tài)來(lái)描述對(duì)象的動(dòng)態(tài)行為,那么產(chǎn)生的活動(dòng)圖將由許多十分細(xì)小的動(dòng)作狀態(tài)組成,使得活動(dòng)圖過(guò)于繁雜。 在大多數(shù)的情況下,軟件對(duì)象的動(dòng)態(tài)行為可以用一系列的子過(guò)程來(lái)表達(dá),而不需要細(xì)化至每個(gè)原子的計(jì)算。(3)、無(wú)觸發(fā)變遷無(wú)觸發(fā)變遷又稱為完成變遷。它在活動(dòng)狀態(tài)機(jī)里用于為動(dòng)作的自動(dòng)執(zhí)行建模。在UML里,完成變遷是不包含觸發(fā)事件的變遷。如果無(wú)觸發(fā)變遷的起始狀態(tài)是一個(gè)簡(jiǎn)單狀態(tài)(即不包含子狀態(tài)的狀態(tài))那么此變遷在起始狀態(tài)的入口動(dòng)作和狀態(tài)活動(dòng)執(zhí)行完畢之后被激發(fā);如果起始狀態(tài)是一個(gè)復(fù)合狀態(tài),那么此變遷在復(fù)合狀態(tài)的內(nèi)嵌狀態(tài)機(jī)都到達(dá)結(jié)束狀態(tài)后被激發(fā)。 之后,源狀態(tài)的出口動(dòng)作被執(zhí)行;狀態(tài)機(jī)轉(zhuǎn)入變遷的目標(biāo)狀態(tài)。4、分支條件判斷是最基本的程序結(jié)構(gòu),它代表軟件對(duì)象在不同的判斷結(jié)果的條件下,所執(zhí)行的不同動(dòng)作。作為為非反應(yīng)型對(duì)象的動(dòng)態(tài)行為進(jìn)行建模的建模手段,活動(dòng)圖提供了描述這種程序結(jié)構(gòu)的建模元素,這就是分支(branch)。分支是狀態(tài)機(jī)的一個(gè)建模元素,它代表由一個(gè)觸發(fā)事件在不同的觸發(fā)條件下激發(fā)的多個(gè)變遷。分支在活動(dòng)圖上用一個(gè)菱形表示,它包括至少一個(gè)輸入變遷和多個(gè)輸出變遷,其中的輸出變遷都是帶觸發(fā)條件的完成變遷,觸發(fā)條件的書(shū)寫(xiě)格式可以是一個(gè)布爾表達(dá)式。分支的輸出變遷可以多于兩個(gè),當(dāng)分支的輸入變遷被激發(fā)后,分支的各輸出變遷的觸發(fā)條件必須有一個(gè)求值為真,否則狀態(tài)機(jī)的執(zhí)行將被凍結(jié)。為了避免狀態(tài)機(jī)被凍結(jié)的情形出現(xiàn)……5、循環(huán)在活動(dòng)圖里引入了分支以后,可以以它為基礎(chǔ)描述其它的程序結(jié)構(gòu)。例如,下面的c語(yǔ)言的循環(huán)語(yǔ)句,就可以用下圖的活動(dòng)圖表示。for(i=1;i<10;i++){ Action(i);}6、分解和匯合在狀態(tài)機(jī)圖中,并發(fā)的控制流的建模使用:并發(fā)子狀態(tài)。在活動(dòng)圖中,使用的表示方法是:分解(fork)和匯合(join)在UML里,分解表示一個(gè)控制流被分解為兩個(gè)或多個(gè)并發(fā)執(zhí)行的控制流。匯合代表兩個(gè)或多個(gè)控制流的同步。只有當(dāng)所有的控制流都到達(dá)匯合點(diǎn)之后,控制才繼續(xù)向下流動(dòng)。在分解和匯合的表示使用的是:同步條(synchronizationbar)。同步條是一個(gè)粗的水平線。當(dāng)同步條表示分解時(shí),可以有:一個(gè)轉(zhuǎn)入變遷,兩個(gè)或多個(gè)轉(zhuǎn)出變遷當(dāng)同步條用來(lái)表示匯合時(shí),它可以有兩個(gè)或多個(gè)轉(zhuǎn)入變遷,一個(gè)轉(zhuǎn)出變遷。其中的轉(zhuǎn)入變遷代表同步之前的多個(gè)并發(fā)控制流圖分解和匯合PrepareSpeechGestureDecompressSyncMouthPlaySound分解(Fork)匯合(Join)7、泳道活動(dòng)圖可以用來(lái)表達(dá)軟件對(duì)象的比較復(fù)雜的動(dòng)態(tài)行為。這些動(dòng)態(tài)行為可能是模擬現(xiàn)實(shí)世界的某個(gè)機(jī)構(gòu)的各業(yè)務(wù)部門(mén)的運(yùn)作情況;也可能是一個(gè)復(fù)雜的算法,這算法可能需要由軟件系統(tǒng)中的多個(gè)協(xié)同共同實(shí)現(xiàn)。(協(xié)同指的是多個(gè)類的對(duì)象共同工作,以提供單個(gè)類的的對(duì)象單獨(dú)工作不能提供的動(dòng)態(tài)行為)在UML里,對(duì)在語(yǔ)義上互相關(guān)聯(lián)的活動(dòng)狀態(tài)的子集的劃分,是使用泳道(swimlane)實(shí)現(xiàn)的。泳道是活動(dòng)圖里對(duì)其中的活動(dòng)按照其職責(zé)上的關(guān)聯(lián)進(jìn)行的劃分。泳道在活動(dòng)圖內(nèi)是一系列的垂直的隔斷,這也是泳道這個(gè)名字的由來(lái)。在活動(dòng)圖里,泳道區(qū)分了其中的活動(dòng)的不同職責(zé)。在有泳道的活動(dòng)圖中,每一活動(dòng)都屬于且只屬于一個(gè)泳道。帶有泳道的活動(dòng)圖也可以在軟件開(kāi)發(fā)的需求分析階段用來(lái)為業(yè)務(wù)部門(mén)的業(yè)務(wù)流程(businessmodel)的建模上,這時(shí),泳道可以代表業(yè)務(wù)流程中的一個(gè)業(yè)務(wù)部門(mén)。圖5交互模型建模利用順序圖和合作圖可以有效地幫助人們觀察和分析系統(tǒng)的交互行為。順序圖和合作圖是系統(tǒng)行為視圖的組成部分。順序圖主要用來(lái)描述對(duì)象之間信息交換時(shí)的時(shí)間順序合作圖主要描述系統(tǒng)對(duì)象之間如何協(xié)作共同完成系統(tǒng)功能要求。順序圖和合作圖可以相互轉(zhuǎn)化。交互模型建模中的消息消息分為四種控制流:(1)簡(jiǎn)單消息:表示控制流。(2)同步消息:它是一種嵌套的控制流。操作調(diào)用。(3)異步消息:它是異步控制流。消息的發(fā)送者在發(fā)送消息后就繼續(xù)執(zhí)行,不等待消息的處理。(4)返回消息:表示控制流從過(guò)程調(diào)用的返回。順序圖建模

順序圖用來(lái)描述對(duì)象間的交互行為。它注重消息的時(shí)間順序,即對(duì)象間消息的發(fā)送和接收的順序。順序圖還揭示了一個(gè)特定場(chǎng)景的交互,即系統(tǒng)執(zhí)行期間發(fā)生在某個(gè)時(shí)間點(diǎn)的對(duì)象之間的特定交互,它適合于描述實(shí)時(shí)系統(tǒng)中的時(shí)間特性和時(shí)間約束。

UML系統(tǒng)建模與分析設(shè)計(jì)順序圖的組成成分(1)對(duì)象:順序圖中所包含的每個(gè)對(duì)象用一個(gè) 對(duì)象框(短式)表示,對(duì)象名需帶下劃線。對(duì)象框一般位于順序圖的頂部,而新創(chuàng)建的對(duì)象出現(xiàn)在創(chuàng)建消息發(fā)送的時(shí)間點(diǎn)的位置交互頻繁的對(duì)象盡量靠攏對(duì)整個(gè)交互活動(dòng)進(jìn)行初始化的對(duì)象放在圖的最左邊;執(zhí)行者用人形符號(hào)表達(dá)過(guò)程中對(duì)象改變了屬性值、狀態(tài)或是角色,則應(yīng)在改變點(diǎn)處出現(xiàn)該對(duì)象的圖符副本,并注明變化順序圖的組成成分(con.1)(2)生存線:對(duì)象框下畫(huà)的一條垂直虛線,稱 為該對(duì)象的生存線,表示對(duì)象的生存時(shí)間。生存線從對(duì)象的創(chuàng)建開(kāi)始到釋放,其生存期多長(zhǎng),虛線就多長(zhǎng)。生存線表示該對(duì)象處于休眠期,等待消息的激活。順序圖的組成成分(con.2)(3)激活期:對(duì)象生存線上的一個(gè)細(xì)長(zhǎng)方形框,表示該對(duì)象的激活時(shí)間段,即活動(dòng)期間。當(dāng)一個(gè)休眠對(duì)象接收到消息,該對(duì)象開(kāi)始活動(dòng),稱為激活激活展示了某時(shí)間點(diǎn)哪個(gè)對(duì)象能夠響應(yīng)或發(fā)送消息,執(zhí)行動(dòng)作或活動(dòng)一個(gè)激活的對(duì)象要么執(zhí)行自己的代碼,要么等待另一個(gè)對(duì)象的返回激活期的上端與開(kāi)始時(shí)間齊平,下端與完成時(shí)間齊平順序圖的組成成分(con.3)(4)消息:對(duì)象之間消息的發(fā)送和接收用兩個(gè)對(duì)象生存線(激活期)之間的消息箭頭線。簡(jiǎn)單消息表示消息類型未知或與類型無(wú)關(guān),或是一個(gè)同步消息的返回同步消息表示發(fā)送對(duì)象必須等待接收對(duì)象完成消息的處理后才能繼續(xù)執(zhí)行異步消息表示發(fā)送對(duì)象在消息發(fā)送后繼續(xù)執(zhí)行,而不等待接收對(duì)象的返回消息傳送延遲可用傾斜的箭頭表示,表示消息發(fā)送后需經(jīng)歷一段延遲時(shí)間才被接收順序圖的組成成分(con.4)對(duì)象的創(chuàng)建和撤銷(con.1)對(duì)象的創(chuàng)建對(duì)象的創(chuàng)建和撤銷(con.2)如果要撤銷一個(gè)對(duì)象,只要在其生命線終止點(diǎn)放置一個(gè)“X”符號(hào)即可,該點(diǎn)通常是對(duì)刪除或取消消息的回應(yīng)。順序圖建模技術(shù)設(shè)置交互的語(yǔ)境。通過(guò)識(shí)別對(duì)象在交互中扮演的角色,設(shè)置交互的場(chǎng)景。為每個(gè)對(duì)象設(shè)置生命線。從引發(fā)某個(gè)消息的對(duì)象開(kāi)始,在生命線之間畫(huà)出從頂?shù)降滓来握归_(kāi)的消息,顯示每個(gè)消息的特性(如參數(shù))。如果需要可視化消息的嵌套或?qū)嶋H計(jì)算發(fā)生時(shí)的時(shí)間點(diǎn),可以用激活修飾每個(gè)對(duì)象的生命期。如果需要說(shuō)明時(shí)間或空間的約束,可以用時(shí)間標(biāo)記修飾每個(gè)消息,并附上合適的時(shí)間和空間約束。如果需要更形式化的說(shuō)明某控制流,可以為每個(gè)消息附上前置和后置條件?!?/p>

用例:借書(shū)●參與者:管理員,借閱者●基本事件流:

1.借閱者帶著借書(shū)證和書(shū)來(lái)到柜臺(tái)。2.管員輸入借閱者的借書(shū)證編碼。3.系統(tǒng)檢查借閱者的合法性。4.系統(tǒng)顯示借閱者的信息。5.系統(tǒng)檢查借閱者的借閱信息。6.管員輸入所借圖書(shū)的條碼。7.系統(tǒng)顯示所借圖書(shū)的信息,并登記圖書(shū)。管員重復(fù)6~7步,直到結(jié)束。8.系統(tǒng)登記借閱者的本次借閱信息,并顯示?!駭U(kuò)展事件流:3a.借閱者身份非法,則提示,本次拒借。5a.該借閱者所借圖書(shū)中有超期的,則提示,本次拒借。

5b.該借閱者所借圖書(shū)數(shù)量超過(guò)了上限,則提示,本次拒借。

實(shí)例:圖書(shū)館借書(shū)處理的順序圖實(shí)例:圖書(shū)館借書(shū)處理的順序圖教學(xué)進(jìn)程

①識(shí)別交互過(guò)程。

讀者在借書(shū)時(shí),先由管理員把借書(shū)證上的讀者編號(hào)掃描給系統(tǒng),系統(tǒng)檢查這個(gè)讀者的借書(shū)證合法信息,如果不合法,則系統(tǒng)給出提示,如果正確系統(tǒng)返回讀者的身份信息,以及讀者的借閱信息。如果讀者借書(shū)數(shù)量沒(méi)有超過(guò)借書(shū)的上限,則把要借書(shū)的圖書(shū)編號(hào)輸入系統(tǒng),系統(tǒng)登記借書(shū)信息,并返回借書(shū)成功信息,借書(shū)過(guò)程完成。實(shí)例:圖書(shū)館借書(shū)處理的順序圖教學(xué)進(jìn)程

②識(shí)別參與交互過(guò)程的對(duì)象;教學(xué)進(jìn)程

③繪制借書(shū)處理類圖實(shí)例:圖書(shū)館借書(shū)處理的順序圖教學(xué)進(jìn)程

③為每一個(gè)對(duì)象設(shè)置生命線,并確定對(duì)象的存在期限;④從引發(fā)交互的初始消息開(kāi)始,在對(duì)象生命線上依次畫(huà)出交互的消息⑤繪制順序圖協(xié)作圖1概述2對(duì)象、鏈和消息3時(shí)序圖(順序圖)與協(xié)作圖的互換4協(xié)作圖建模技術(shù)5實(shí)例1概述協(xié)作圖描述的是和對(duì)象結(jié)構(gòu)相關(guān)的信息。協(xié)作圖的用途是表示一個(gè)類操作的實(shí)現(xiàn)。協(xié)作圖對(duì)交互中有意義的對(duì)象和對(duì)象之間的鏈建模。在UML中,協(xié)作圖用幾何排列來(lái)表示交互作用中的對(duì)象和鏈,附在鏈的箭頭代表消息,消息的發(fā)生順序用消息箭頭處的編號(hào)來(lái)說(shuō)明。1概述協(xié)作圖示例:2對(duì)象、鏈和消息協(xié)作圖包含了3個(gè)元素:對(duì)象(Object)鏈(Link)消息(Message)2.1對(duì)象協(xié)作圖與時(shí)序(順序)圖中的對(duì)象的概念是一樣,只不過(guò)在協(xié)作圖中,無(wú)法表示對(duì)象的創(chuàng)建和撤銷,所以對(duì)于對(duì)象在

溫馨提示

  • 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)論