《軟件工程與開發(fā)技術》課件第12章_第1頁
《軟件工程與開發(fā)技術》課件第12章_第2頁
《軟件工程與開發(fā)技術》課件第12章_第3頁
《軟件工程與開發(fā)技術》課件第12章_第4頁
《軟件工程與開發(fā)技術》課件第12章_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第12章系統(tǒng)動態(tài)特性與對象交互模型

12.1動態(tài)模型概述12.2交互圖(InteractionDiagram)12.3狀態(tài)圖12.4活動圖12.5UML2.0的活動圖12.6小結 12.1動態(tài)模型概述

系統(tǒng)的靜態(tài)模型描述了系統(tǒng)的組成關系及其結構,包括元素及其關系。系統(tǒng)的動態(tài)模型則表示了系統(tǒng)對外表現(xiàn)的功能、性能、特性等實現(xiàn)過程。靜態(tài)模型偏重于描述系統(tǒng)的全貌,動態(tài)模型則傾向于刻畫系統(tǒng)的細節(jié)。例如從用戶角度觀察的用例執(zhí)行過程,從開發(fā)者角度觀察的用例實現(xiàn)過程,等等。從系統(tǒng)內(nèi)部結構看,類圖表示了系統(tǒng)組成類及其關系,每個類描述了需要的屬性和操作集合,但并沒有和系統(tǒng)的某個功能聯(lián)系起來。說到底,任何面向?qū)ο笙到y(tǒng)都是由若干個有關系的類組成的,每個功能都是由這些類的實例之間的交互完成的。無論是從用戶的角度描述某個功能的執(zhí)行過程,還是從開發(fā)者的角度來描述某個功能的實現(xiàn)過程,都需要使用更加過程化的方法來描述。UML提供了四種動態(tài)模型的建模方法:順序圖(SequenceDiagram)、通信圖(CommunicationDiagram)、狀態(tài)圖(StateChartDiagram)和活動圖(ActivityDiagram),其中順序圖和通信圖又稱為交互圖,下面分別予以介紹。 12.2交互圖

12.2.1概述

交互圖描述了系統(tǒng)功能執(zhí)行過程中,參與實現(xiàn)的對象之間的交互(消息和響應)情況,包括順序圖和通信圖。12.2.2順序圖

順序圖是UML的構造元素之一,表示了對象的交互序列,從而實現(xiàn)用例場景的行為。順序圖是由多個對象及表示其生命周期的虛線,以及對象和對象之間的交互消息組成的。根據(jù)建模的角度不同,可以分為系統(tǒng)外部順序圖和內(nèi)部順序圖,前者是從使用者角度觀察的結果,后者是從開發(fā)者角度觀察的結果,分別用于需求分析階段和系統(tǒng)設計階段。圖12.1和圖12.2分別表示了用戶操作的過程和用戶操作對應的系統(tǒng)對象操作。圖12.1用戶角度的功能操作順序圖圖12.2開發(fā)者角度的功能實現(xiàn)順序圖12.2.3順序圖中的對象

順序圖描述的是針對系統(tǒng)功能的一次執(zhí)行過程(情景)中,系統(tǒng)對象的交互情況。對象交互只能發(fā)生在對象實例之間,因此在順序圖中只能出現(xiàn)對象實例。圖中的對象命名有三種方式:

對象名

對象名:類名

:類名第一種情況只給出對象名(實際上是引用變量名),屬于分析的初步階段;第二種情況給出對象名及所屬的類名;第三種情況只給出類名,表示用此類創(chuàng)建的匿名對象,類似于new類()。一般在抽象分析中,對象名并不重要。每個對象下面跟一條虛線表示該對象的生命周期線,簡稱為生命線,對象接收和響應的所有消息都在其生命線上進行。生命線上的小矩形表示響應該消息的時間間隔。12.2.5建立順序圖的方法和步驟

順序圖是比較精確的模型,它從對象交互過程的角度來描述和建模系統(tǒng)過程。應該根據(jù)比較粗略的過程模型,如用例規(guī)格描述和用例實現(xiàn)規(guī)格描述進行分析。首先,要確定參與用例執(zhí)行或者用例實現(xiàn)的對象,在順序圖中建立這些對象;然后根據(jù)用例描述的活動流來順序描述對象的交互,標識消息,檢查一致性和完整性;最后將對象對應到系統(tǒng)的類,消息對應到類的操作上,再次檢查一致性和完整性。下面以一個簡單繪圖系統(tǒng)中的繪圖用例的實現(xiàn)例子來說明建立順序圖的過程。

(1)選擇圖形并繪制用例的規(guī)格描述。

描述:在界面中選擇某種圖形,使用鼠標繪制該圖形。

前提條件:無。

活動流:

1.用戶在界面的下拉列表中選擇圖形種類,如矩形。

2.系統(tǒng)設置畫板狀態(tài)為繪制矩形狀態(tài)。

3.用戶按下鼠標左鍵(不松手),確定矩形左上角位置。

4.系統(tǒng)記錄矩形左上角坐標。

5.用戶拖動鼠標確定矩形的尺寸。

6.系統(tǒng)繪制矩形的形狀。

7.用戶松開鼠標左鍵確定矩形。

8.系統(tǒng)保存該圖形并重新繪制,設置成選取狀態(tài)。后置條件:用戶繪制的圖形被臨時保存在內(nèi)存中。

擴展用例:對所繪制圖形進行填充、刪除、縮放。

(2)抽取用例描述中的對象。在上述用例規(guī)格描述中,出現(xiàn)的對象有用戶、界面、矩形等。界面分成兩部分,分別為控制面板和畫板。使用工具在設計環(huán)境中繪制這些對象。

(3)繪制交互過程。根據(jù)活動流中的交互過程,繪制對象之間的消息線,并標注消息名稱。繪制完成后檢查一致性和完整性。繪制的結果見圖12.1,這是從用戶操作的角度繪制的系統(tǒng)交互圖。

(4)對應映射。將上述對象分別對應到系統(tǒng)類,如控制面板對應到DrawControl、畫板對應到DrawPanel。將消息對應到類的操作上,如用戶通過下拉列表選擇圖形消息;事件對應到DrawControl的itemStateChanged方法上,如用戶按下鼠標左鍵事件對應到DrawPanel的mousePressed方法上。轉(zhuǎn)換完畢后,檢查結果。當把用戶的外部操作轉(zhuǎn)換到系統(tǒng)的類操作上后,系統(tǒng)的動態(tài)結構也就設計好了,順序圖的目標也就完成了。12.2.6通信圖(CommunicationDiagram)

通信圖用于描述對象如何通過交互或者通信來實現(xiàn)用例的功能。同順序圖一樣,通信圖被設計者用來定義和澄清對象在執(zhí)行用例事件流中的作用,是確定類職責和接口的首要信息來源。通信圖在UML1.1中被稱為協(xié)作圖(Collaboration),在UML2.0中被改為通信圖。兩者之間沒有本質(zhì)的區(qū)別,都表示對象交互(Interaction),通信的含義更強調(diào)對象之間的信息傳遞,協(xié)作或者交互則含義更籠統(tǒng),不太確切。12.2.7通信圖中的元素

在通信圖中,包含對象或者參與者的實例及它們之間的關系和消息。通信圖通過對象發(fā)送消息的方式描述了參與對象之間的交互,對用例的每種事件流情景都可以描述一個通信圖。圖12.3是一個分析階段的通信圖的例子,描述了用例中的各種對象之間的交互過程。通信圖和順序圖表達的信息基本相同,但沒有直觀地顯示消息的時間順序,通信圖中可以描述通信的內(nèi)容即數(shù)據(jù)令牌(Datatoken)。下面對通信圖中的元素分別作一說明。圖12.3通信圖舉例

(1)對象實例:與順序圖一樣,對象實例采用對象名:類名的形式來描述,可以給定對象名、類名或者兩者都給定,分別表示只指定對象實例引用名、某個類的匿名對象或者某個類創(chuàng)建的有引用名的對象。

(2)聯(lián)系(links):表示對象之間的關系,通過該聯(lián)系信息被發(fā)送。在通信圖中,聯(lián)系使用一個連接兩個對象的直線表示。這種聯(lián)系可以是關聯(lián)關系的實例,也可以是依賴關系的實例。

(3)消息:是對象之間的通信。在通信圖中,消息被表示成在聯(lián)系旁邊的、具有文字說明的箭頭,這表示聯(lián)系是傳輸信息的基礎。消息可以是沒有指派操作的臨時字符串,表示消息的含義,在后面的設計中可以將消息指派給目標對象的操作,此時可使用該操作名代替消息字符串。12.2.8順序圖和通信圖的比較

順序圖和通信圖表達了同樣的信息,但表達方式和強調(diào)內(nèi)容不同。順序圖強調(diào)交互的過程性和順序性,容易理解和驗證交互過程;通信圖強調(diào)對象之間的關系,容易理解指定對象的全部(所有)作用,有利于過程設計。另外,通信圖中,還可以表示對象之間的消息內(nèi)容,因此消息的語義更豐富。通信圖的格式特征使得它更適合于分析階段。順序圖則較適合于系統(tǒng)設計階段。要特別指出的是,通信圖適合于描述數(shù)量較少的對象之間的簡單交互。當對象數(shù)目和交互過程復雜時,通信圖就不容易理解了。另外,在通信圖中也很難表示有關時序、決策點或者其他非結構化信息,而這些在順序圖中是非常容易表示出來的。尤其是在UML2.0的順序圖中,增加了選擇和循環(huán)結構的表達方法,使得順序圖的功能更加強大。 12.3狀態(tài)圖

12.3.1概述

交互圖用于對協(xié)同工作的對象群體的行為進行建模。狀態(tài)機則可以對單個對象的整個生命周期的行為進行建模。一個狀態(tài)機是一個行為,說明對象在其生命周期中為響應事件所經(jīng)歷的狀態(tài)序列及對這些事件的響應。這里所說的“狀態(tài)”,是對象生命周期中的一個條件或者狀況,它必須滿足一些條件,執(zhí)行一些活動或者等待事件。事件則是發(fā)生在某個時空位置上的有意義的事情的規(guī)格說明。在狀態(tài)機環(huán)境中,事件是能夠觸發(fā)狀態(tài)轉(zhuǎn)換的激勵的產(chǎn)生。遷移/轉(zhuǎn)換是狀態(tài)間的關系,表示對象在前一狀態(tài)執(zhí)行某些行為,當特定的事件發(fā)生并且特定的條件滿足后進入后一狀態(tài)。活動(activity)是狀態(tài)機中所進行的非原子操作。動作(action)是導致模型狀態(tài)變化或者返回一個值的可執(zhí)行的計算,屬于原子操作。

狀態(tài)機用來建模模型元素的動態(tài)特性。狀態(tài)圖是對狀態(tài)機規(guī)格的正規(guī)描述方法,具體地說,就是用來描述系統(tǒng)性能的事件驅(qū)動方面。狀態(tài)機特別被用于定義模型元素的“狀態(tài)相關”特性,或者說描述模型元素根據(jù)所處狀態(tài)不同而發(fā)生變化的特性。這些模型元素一般是控制類。如對于訂單管理類,如果庫存不夠或者客戶信用度不夠,則不接受該訂單的創(chuàng)建。

如果模型元素的特性不隨元素狀態(tài)變化,則不需要用狀態(tài)機來描述,這些元素一般都是被動類,其主要負責存儲數(shù)據(jù),如學生類、訂單類等。需要強調(diào)的是,狀態(tài)機用來建模主動類的特性,后者利用調(diào)用和通知事件來實現(xiàn)其操作(作為類狀態(tài)機的遷移)。狀態(tài)機包括由遷移(transition)連接的多個狀態(tài)。一個狀態(tài)是指對象執(zhí)行某些任務或者等待事件的一個條件或者狀況。遷移是對象的兩個狀態(tài)之間的關系,由一些事件觸發(fā)。例如,Java中的線程對象在整個生命周期中的狀態(tài)如圖12.4所示。圖12.4狀態(tài)圖舉例——線程對象的生命周期模型12.3.2狀態(tài)圖中的基本概念

1.狀態(tài)(state)

狀態(tài)是指對象在其生命周期中某個時刻時屬性的取值情況,或者稱為狀況、條件。狀態(tài)是對象的條件,使之能夠執(zhí)行某個任務或者接收事件。對象的狀態(tài)一般會持續(xù)一定的時間,在此時間內(nèi),對象滿足一定的條件,履行一定的任務,響應某些事件。狀態(tài)有如下屬性:

(1)名字:用來區(qū)別不同的狀態(tài)。一個狀態(tài)也可以是匿名的。

(2)進入/退出動作:進入或者退出該狀態(tài)時要執(zhí)行的動作,例如對象的構造方法和析構方法。進入和退出動作允許在進入和退出該狀態(tài)時,每次分別分派同一個動作。進入和退出動作干凈利落,不需要顯式地在進入和離開的轉(zhuǎn)換中去做。進入和退出動作可以沒有參數(shù)和監(jiān)護條件。模型元素狀態(tài)機頂層的進入動作可以帶參數(shù),代表該元素創(chuàng)建時機器接收的參數(shù)。

(3)內(nèi)部轉(zhuǎn)換:不會造成狀態(tài)變化的轉(zhuǎn)換。內(nèi)部轉(zhuǎn)換允許在狀態(tài)內(nèi)被處理,即不需要離開狀態(tài),因此避免觸發(fā)進入或者退出動作。內(nèi)部轉(zhuǎn)換可以有帶參數(shù)和監(jiān)護條件的事件,本質(zhì)上代表中斷處理。

(4)子狀態(tài):狀態(tài)的嵌套結構,包含匯交(順序活動)或者并發(fā)(并發(fā)活動)子狀態(tài)。

(5)延遲事件:一系列沒有在該狀態(tài)處理的事件,被對象推遲到另一個狀態(tài)排隊等待處理。延遲事件被推遲到一個活動狀態(tài),其間事件不再延遲。當該狀態(tài)活動后,事件發(fā)生被觸發(fā),并且可能造成轉(zhuǎn)換,好像事件剛剛發(fā)生。延遲事件的實現(xiàn)需要有一個內(nèi)部事件隊列。如果一個事件發(fā)生了,但是被列為延期,該事件就進入內(nèi)部事件隊列。當對象進入了不再延遲這些事件的狀態(tài)后,延期事件離開該隊列。

2.遷移(transition)

遷移是兩個狀態(tài)之間的關系,表示對象在第一個狀態(tài)中執(zhí)行一定的動作,當某個事件發(fā)生并且某個條件滿足時進入第二個狀態(tài)。在這種狀態(tài)變化中,遷移稱為激活。在遷移激活之前,對象處于源狀態(tài);激活后,對象處于目標狀態(tài)。遷移也有一些性質(zhì)。

(1)源狀態(tài)(SourceState):被遷移影響的狀態(tài)。如果對象處于源狀態(tài),且接收遷移的觸發(fā)事件并滿足監(jiān)護條件,則遷移被激活。

(2)事件觸發(fā)(Eventtrigger):遷移合法激活的事件(如果監(jiān)護條件滿足的話)。該事件被處于源狀態(tài)的對象接收。在狀態(tài)機中,事件是能夠觸發(fā)狀態(tài)遷移的激勵的發(fā)生。事件包括信號、調(diào)用、時間流逝、狀態(tài)變化等。信號和調(diào)用事件可以帶有參數(shù),參數(shù)值可以被轉(zhuǎn)換中的監(jiān)護條件和動作所用。也可能有無觸發(fā)的遷移,這種遷移又可稱為完成遷移,當源狀態(tài)完成其任務后,隱式地被遷移(完成也可以看成是一個事件,如線程執(zhí)行完成后自然變成刪除狀態(tài))。

(3)監(jiān)護條件(GuardCondition):通常是當遷移被觸發(fā)或者事件被接收時進行計算的邏輯表達式。如果值為true,則遷移被合法地激活;如果為false,則遷移不被激活,而且如果不存在其他遷移被該事件觸發(fā),則該事件丟失。

當遷移的觸發(fā)事件發(fā)生時,監(jiān)護條件被計算。對于同一個觸發(fā)事件,從同一源狀態(tài)出發(fā),只要監(jiān)護條件不相互重疊,可能會有多個遷移。當事件發(fā)生時,遷移的監(jiān)護條件只計算一次。該邏輯表達式可以引用對象的狀態(tài)和事件本身,例如,booleanexp(Objectobj,Evente(para))。

(4)動作(action):可執(zhí)行的原子計算,直接作用于擁有狀態(tài)機的對象,間接作用于對該對象可見的其他對象。所謂原子計算,是指不能被事件中斷,必須執(zhí)行到完成。這與任務不同,任務可以被其他事件中斷。動作包括調(diào)用、創(chuàng)建或者破壞對象,向其他對象發(fā)信號等。

(5)目標狀態(tài):遷移完成后的對象狀態(tài)。一個遷移可能有多個源狀態(tài),代表來自多個并發(fā)狀態(tài)的匯合,也可以有多個目標狀態(tài),代表通向多個狀態(tài)的分叉。12.3.3狀態(tài)圖的工具支持

在RationalRose中,提供了狀態(tài)圖工具,在其中可以繪制初態(tài)/終態(tài)/狀態(tài)/遷移/內(nèi)部遷移。對于狀態(tài)來說,可以定義其動作,包括進入、退出、執(zhí)行、事件操作;對于遷移來說,可以定義其事件名稱、參數(shù)、監(jiān)護條件、動作、信號等。狀態(tài)中可以嵌套狀態(tài),表示大狀態(tài)下的子狀態(tài)。圖12.5是描述一個機器人運動的狀態(tài)圖,是一個嵌套的狀態(tài)圖。圖12.5嵌套狀態(tài)圖 12.4活動圖

12.4.1概述

活動圖是五種UML動態(tài)模型圖之一。本質(zhì)上是流程圖,表示活動到活動的控制流。但不像傳統(tǒng)的流程圖,活動圖不僅可以表示控制分支,也可以表示并發(fā)。

活動圖類似于流程圖,可以表示數(shù)據(jù)流(DF),也可以表示控制流(CF)。在UML中,活動圖一般用來描述用例的工作流,也可以用來描述業(yè)務工作流(屬于業(yè)務用例),還可以用來描述操作的流程。

用例的事件流描述了為提供給用戶有價值的結果,用戶和系統(tǒng)需要做的事情,包括一系列任務或者操作。事件流包含基本流和一個或多個可選流,用例事件流可以使用活動圖來描述。

12.4.2活動圖中的基本概念

活動/狀態(tài)/動作(Activity/State/Action):代表任務的執(zhí)行或者事件流的步驟,本身可以是不能分解的原子操作,例如方法調(diào)用、發(fā)出信號等,也可以是多個動作的組合。

控制流/轉(zhuǎn)換(ControlFlow/Transition):表示后續(xù)的活動狀態(tài)。這種類型的轉(zhuǎn)換有時稱為完成轉(zhuǎn)換,區(qū)別于不需要顯式地觸發(fā)事件的轉(zhuǎn)換,它被活動狀態(tài)表示的任務觸發(fā)。

決策(Decision):定義一組監(jiān)護條件。這些監(jiān)護條件控制在任務完成時的下一個轉(zhuǎn)換(或者一組可選的轉(zhuǎn)換)。決策和監(jiān)護條件允許表現(xiàn)用例事件流中可選的執(zhí)行線索。

泳道(Swimlane):是活動圖中的條形區(qū)域,可以將活動按照某種原則分組,如業(yè)務模型中的部門,分布式系統(tǒng)的多個節(jié)點等。泳道本質(zhì)上是一個對象實例,可以指定其所屬類,如圖12.6所示。圖12.6帶有泳道的活動圖對象流(ObjectFlow):在活動圖的控制流中可以涉及到關聯(lián)的對象。對象可以作為動作的輸出,也可以作為其他動作的輸入。對象也是連接兩個動作的聯(lián)系,類似于數(shù)據(jù)流。對象流本身也可以看作是數(shù)據(jù)流。按照這種觀點,活動圖在某種程度上類似于數(shù)據(jù)流圖,只不過在活動圖中,對象不僅可以標識其實例名稱,還可以標識所屬類及其所處狀態(tài),如圖12.7所示。圖12.7帶有輸出對象的活動圖同步條(SynchronziedBar):用來顯示并行子工作流和用例事件流中并發(fā)的線程。

如上所述,在面向?qū)ο蟮姆治鲈O計過程中,活動圖存在著從簡單到詳細的進化過程。從最初的簡單流程圖細化到細分職責的泳道圖;從單純的動作細化到輸出對象;從簡單的動作對象到具有類屬和狀態(tài)的對象;逐漸一步步地將過程清晰地展現(xiàn)在用戶和開發(fā)者面前。尤其是在描述類屬的對象流狀態(tài)時,距離系統(tǒng)最終狀態(tài)越來越近。因為對象一般都可以抽象成為數(shù)據(jù),進而形成數(shù)據(jù)模型。這是從流程到系統(tǒng)的一個進化過程,也是流程驅(qū)動(由流程派生/推導數(shù)據(jù)和處理)的一種開發(fā)過程。但從本質(zhì)上來說,流程圖是面向過程的,以處理/活動/動作為核心和主線的,對象/數(shù)據(jù)只是其輸出物,該圖并沒有反映出以對象為中心的交互過程。對象交互過程在順序圖和通信圖中得到了很好的反映。過程同樣是現(xiàn)實世界物質(zhì)的屬性之一,面向過程則是從動態(tài)處理的、發(fā)展變化的觀點來觀察世界的思想和方法,這和事物的發(fā)展過程、人的思維過程相一致。因此活動圖容易理解,受到人們關注,可以作為面向?qū)ο蠓椒ɑ蛘叱槿ο蟮囊粋€開始。對象交互則更精確地表示了面向?qū)ο笙到y(tǒng)的交互過程?;顒訄D中的活動/動作被對應到某些對象的操作上去,這些對象有可能并沒有完全出現(xiàn)在活動圖中,在活動圖中不能設計出所有的對象,只能從某個角度(業(yè)務或者功能)觀察對象和處理的一致性。活動圖可以用于建立傳統(tǒng)面向?qū)ο筌浖こ倘竽P椭械墓δ苣P?,相當于高層?shù)據(jù)流圖。活動圖是特殊的狀態(tài)圖,所有或者大部分狀態(tài)都是活動狀態(tài),所有或者大部分遷移都被完成動作觸發(fā)。12.4.3活動圖的用途

結構和過程都是客觀事物的屬性。類圖主要用于建模結構,活動圖主要用于建模過程,前者是靜態(tài)的,后者則是動態(tài)的?,F(xiàn)實世界中有很多過程需要研究和描述,尤其是作為信息系統(tǒng)的背景或原型的系統(tǒng),也就是業(yè)務系統(tǒng)。信息系統(tǒng)也有過程特性,但它是區(qū)別于現(xiàn)實世界過程的。過程包括復雜的宏觀社會過程,如政府過程、企業(yè)過程;簡單的微觀操作處理過程,如計算工資的過程;還有信息系統(tǒng)的操作過程以及實現(xiàn)過程等?;顒訄D適合于對這些宏觀及微觀的業(yè)務過程和系統(tǒng)過程進行建模。需要注意的是,過程和對象是不可分的,對象包括多個過程,過程也包括若干對象。交互圖是以對象為中心對過程進行描述的,通過對象的交互展現(xiàn)過程,稱為對象驅(qū)動?;顒訄D則是以過程活動為中心進行描述的,其中對象只是作為輔助元素,稱為過程驅(qū)動。歸納起來看,活動圖的主要用途為:

(1)用于業(yè)務過程的建模。業(yè)務過程就是現(xiàn)實世界中實際存在的過程。在此種過程的活動圖描述中,所有的泳道、活動、對象都是現(xiàn)實存在的,用此種方法建立的業(yè)務過程模型是業(yè)務模型中的一部分。例如企業(yè)的采購過程,其中的泳道用來表示采購過程中相關的部門,如請購部門、采購部門、庫房、財務部門等;活動包括日常的企業(yè)經(jīng)營行為,如詢價、報價等;活動產(chǎn)生的對象包括請購單、訂單等。

(2)用于系統(tǒng)過程的建模。系統(tǒng)過程就是系統(tǒng)的使用過程、開發(fā)過程和執(zhí)行過程。在使用過程中,有些活動是參與者的活動,有些則是系統(tǒng)的活動。例如最簡單的桌面系統(tǒng)就是用戶和系統(tǒng)進行交互。分布式系統(tǒng)則較復雜,可能會有多個機器節(jié)點并發(fā)地參與系統(tǒng)過程。此種方法利于對復雜的分布式系統(tǒng)過程進行建模,包括并發(fā)活動。例如,基于C/S模式的網(wǎng)絡協(xié)作系統(tǒng)過程的建模中,泳道用來表示參與協(xié)作的服務器和多個客戶機;活動包括協(xié)作活動,如發(fā)出協(xié)作申請、演示、討論、投票等;活動產(chǎn)生的對象包括協(xié)作的結果,如文檔、圖形、模型等。

(3)用于操作過程的建模。一般來說,面向?qū)ο蠹夹g中的操作都屬于某個對象,操作是對象的行為或者提供的服務,操作可以改變對象狀態(tài),屬于動態(tài)的特性。操作相對于活動來說,是微觀的,代表有限的機器指令集合?;顒訄D用于操作過程建模,作用類似于算法流程圖。12.4.4活動圖的工具支持

在RationalRose中,活動圖可以建立在一個包下面,表示包范疇(如組織結構)內(nèi)的一個工作流;可以建立在任何一個用例下面,表示用例的事件流或者過程流;可以建立在類下面,表示該類對象的活動流或者狀態(tài)機;也可以建立在操作下面,表示該操作的處理流程等。在活動圖中,可以繪制活動、狀態(tài)、轉(zhuǎn)換、決策、泳道、同步條、對象和對象流等。活動也可以表示動作,轉(zhuǎn)換也可以表示監(jiān)護條件、參數(shù)等。 12.5UML2.0的活動圖

在UML2.0中,活動圖中的結點不再稱做“活動(Activity)”,而是稱做“動作(Actions)”?!盎顒印笔歉咭患壍慕Y構,包括一系列的“動作”。從圖12.8中可以看到,動作“選擇課程”的圓角矩形框里面有個“靶型符號(RakeSymbol)”,它代表這個動作由一個子活動完

溫馨提示

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

評論

0/150

提交評論