秋霞电影网午夜鲁丝片无码,真人h视频免费观看视频,囯产av无码片毛片一级,免费夜色私人影院在线观看,亚洲美女综合香蕉片,亚洲aⅴ天堂av在线电影猫咪,日韩三级片网址入口

基于任務(wù)驅(qū)動模式的軟件工程與UML建模技術(shù)項目十一動態(tài)建模課件

上傳人:沈*** 文檔編號:253304739 上傳時間:2024-12-11 格式:PPT 頁數(shù):90 大?。?.39MB
收藏 版權(quán)申訴 舉報 下載
基于任務(wù)驅(qū)動模式的軟件工程與UML建模技術(shù)項目十一動態(tài)建模課件_第1頁
第1頁 / 共90頁
基于任務(wù)驅(qū)動模式的軟件工程與UML建模技術(shù)項目十一動態(tài)建模課件_第2頁
第2頁 / 共90頁
基于任務(wù)驅(qū)動模式的軟件工程與UML建模技術(shù)項目十一動態(tài)建模課件_第3頁
第3頁 / 共90頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《基于任務(wù)驅(qū)動模式的軟件工程與UML建模技術(shù)項目十一動態(tài)建模課件》由會員分享,可在線閱讀,更多相關(guān)《基于任務(wù)驅(qū)動模式的軟件工程與UML建模技術(shù)項目十一動態(tài)建模課件(90頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、單擊此處編輯母版標(biāo)題樣式,,,,項目十一 動態(tài)建模,項目十一 動態(tài)建模,,任務(wù)一 認(rèn)識動態(tài)建模,,,任務(wù)二 認(rèn)識狀態(tài)圖,,,任務(wù)三 認(rèn)識活動圖,,,任務(wù)四 認(rèn)識順序圖,,,任務(wù)五 認(rèn)識協(xié)作圖,,任務(wù)一 認(rèn)識動態(tài)建模,動態(tài)建模描述的是參與者如何通過交互實現(xiàn)系統(tǒng)中的用例。系統(tǒng)中對象的交互是通過順序圖、協(xié)作圖或者活動圖來描述的,同時,用例模型中用例實現(xiàn)中所使用的類會在狀態(tài)圖中得以描述。,,,?,操作一 動態(tài)建模概述,前面通過類圖和對象圖介紹了系統(tǒng)的靜態(tài)結(jié)構(gòu)建模,本項目將介紹系統(tǒng)的動態(tài)結(jié)構(gòu)模型。UML提供了狀態(tài)圖、活動圖、順序圖和協(xié)作圖來描述系統(tǒng)的結(jié)構(gòu)和行為,它們適合于描述系統(tǒng)中的對

2、象在執(zhí)行期間不同的時間點是如何動態(tài)交互的(一組對象為了實現(xiàn)一些功能而進行通信稱之為交互,可以通過狀態(tài)圖、活動圖、順序圖和協(xié)作圖來描述系統(tǒng)的動態(tài)行為)。通過對軟件系統(tǒng)的靜態(tài)結(jié)構(gòu)和動態(tài)行為的描述,開發(fā)團隊和用戶易于理解目標(biāo)系統(tǒng)的功能及執(zhí)行結(jié)果。,,任務(wù)二 認(rèn)?識?狀?態(tài)?圖,?,操作一 狀態(tài)圖的概述,狀態(tài)圖(Statechart Diagram)是軟件系統(tǒng)進行面向?qū)ο蠓治龅囊环N常用工具,它通過建立對象的生存周期模型(狀態(tài))來描述對象隨時間變化的動態(tài)行為。狀態(tài)圖主要用來描述對象、子系統(tǒng)、系統(tǒng)的生命周期。狀態(tài)圖適合描述跨越多個用例的對象在其生命周期中的各種狀態(tài)及其狀態(tài)之間的轉(zhuǎn)換,這些對象可以是類、

3、接口、構(gòu)件或者結(jié)點。狀態(tài)圖常用于對反應(yīng)型對象建模,反應(yīng)型對象在接收到一個事件之前通常處于空閑狀態(tài),當(dāng)這個對象對當(dāng)前事件作出反應(yīng)后又處于空閑狀態(tài)等待下一個事件。,,?,操作二 狀態(tài)圖的組成,狀態(tài)圖是由表示狀態(tài)的節(jié)點和表示狀態(tài)之間轉(zhuǎn)換的帶箭頭的直線組成。若干個狀態(tài)由一條或者多條轉(zhuǎn)換箭頭連接,狀態(tài)的轉(zhuǎn)換由事件觸發(fā)。如圖11-1所示。,,圖11-1 狀態(tài)圖,,1.起點和終點,起點代表狀態(tài)圖的一個初始狀態(tài),此狀態(tài)代表狀態(tài)圖的起始位置。起點只能作為轉(zhuǎn)換的源,而不能作為轉(zhuǎn)換的目標(biāo)。起點在一個狀態(tài)圖中只允許有一個。   終點代表狀態(tài)圖的最后狀態(tài),此狀態(tài)代表狀態(tài)圖的終止位置。終點只能作為轉(zhuǎn)換的目標(biāo),而不能作

4、為轉(zhuǎn)換的源。終點在一個狀態(tài)圖中可以有一個或多個,表示一個活動圖的最后和終結(jié)狀態(tài)。   如圖11-2所示。,,,圖11-2 狀態(tài)圖的起點與終點,,,圖11-3 登錄提示狀態(tài),,(1) 狀態(tài)的特征。   通常一個狀態(tài)包括名稱、進入/退出活動、內(nèi)部轉(zhuǎn)換、子狀態(tài)和延遲事件等五個部分組成。如圖11-4所示,常常使用下面三種標(biāo)準(zhǔn)事件:entry(進入),exit(退出),do(做)?!斑M入事件”用來指定進入一個狀態(tài)的動作;“退出事件”用來指定退出一個狀態(tài)的動作;“做”事件用來指定在該狀態(tài)下的動作(如:發(fā)送一條消息)。,,,“動作”是對象類中一個操作的執(zhí)行,動作具有原子性和不可中斷特性。   “事件”指

5、的是發(fā)生且引起某些動作執(zhí)行的事情,即事件表示在某一人、特定的時間或空間出現(xiàn)的能夠引發(fā)狀態(tài)改變的運動變化。事件有很多,大致可以分為入口事件、出口事件、動作事件、信號事件、調(diào)用事件、修改事件、時間事件和延遲事件等,如圖11-3、表11-1及表11-2所示。,,,,表11-2 常見的事件類型,(2) 狀態(tài)的類型。   狀態(tài)的類型有:初始狀態(tài)、原子狀態(tài)、結(jié)束狀態(tài)、組合狀態(tài)和子狀態(tài)、并發(fā)狀態(tài)、歷史狀態(tài)等。如圖11-4所示。   子狀態(tài)是指被嵌套在另外一個狀態(tài)中的狀態(tài)。組合狀態(tài)是指含有子狀態(tài)的狀態(tài)。組合狀態(tài)也可以有初態(tài)和終態(tài)。如圖11-5所示。,,,并發(fā)狀態(tài)指一個對象在同一時刻可以處在多種狀態(tài)。如圖11

6、-6所示。,,圖11-6 并發(fā)狀態(tài),,歷史狀態(tài)代表上次離開組成狀態(tài)時的最后一個活動子狀態(tài),它用一個包含字母“H”的小圓圈表示。每當(dāng)轉(zhuǎn)換到組成狀態(tài)的歷史狀態(tài)時,對象便恢復(fù)到上次離開該組成狀態(tài)時的最后一個活動子狀態(tài),并執(zhí)行入口動作。如圖11-7所示。,,,圖11-7 歷史狀態(tài),,3.轉(zhuǎn)換,轉(zhuǎn)換表示當(dāng)一個特定事件發(fā)生或者某些條件滿足時,一個源狀態(tài)下的對象完成一定的動作后將發(fā)生狀態(tài)轉(zhuǎn)變,轉(zhuǎn)向另一個稱之為目標(biāo)狀態(tài)的狀態(tài)。當(dāng)發(fā)生轉(zhuǎn)換時,轉(zhuǎn)換進入的狀態(tài)為活動狀態(tài),轉(zhuǎn)換離開的狀態(tài)變?yōu)榉腔顒訝顟B(tài)。轉(zhuǎn)換用箭頭表示,如果沒有標(biāo)注事件,則本轉(zhuǎn)移為自動轉(zhuǎn)移。   轉(zhuǎn)換通常分為外部轉(zhuǎn)換、內(nèi)部轉(zhuǎn)換、完成轉(zhuǎn)換和復(fù)合轉(zhuǎn)換四

7、種。一個轉(zhuǎn)換一般包括五個部分信息:源狀態(tài)、目標(biāo)狀態(tài)、觸發(fā)事件、監(jiān)護條件和動作。轉(zhuǎn)換具有的特征如表11-3所示。,,,表11-3 轉(zhuǎn)換的特征,?,操作三 使用Rational Rose繪制狀態(tài)圖,狀態(tài)圖顯示了對象的動作行為,顯示對象可能存在的各種狀態(tài)、對象創(chuàng)建時的狀態(tài)、對象刪除時的狀態(tài)、對象如何從一種狀態(tài)轉(zhuǎn)移到另一種狀態(tài)及對象在不同狀態(tài)中干什么。,1.創(chuàng)建狀態(tài)圖(見圖11-8),(1) 在瀏覽器中右擊類。   (2) 選擇“New”→“Statechart Diagram”,對該類創(chuàng)建一個狀態(tài)圖,并命名該圖。,,2.在圖中增加狀態(tài),初始和終止?fàn)顟B(tài)(見圖11-9),(1) 選擇工具欄的【sta

8、te】按鈕,單擊框圖增加一個狀態(tài),雙擊狀態(tài)命名。   (2) 選擇工具欄的“start state”和“end state”,單擊框圖增加初始狀態(tài)和終止?fàn)顟B(tài)。初始狀態(tài)是對象首次實例化時的狀態(tài),狀態(tài)圖中只有一個初始狀態(tài)。終止?fàn)顟B(tài)表示對象在內(nèi)存中被刪除之前的狀態(tài),狀態(tài)圖中有0個、1個或多個終止?fàn)顟B(tài)。,,圖11-9 增加狀態(tài),,,3.狀態(tài)之間增加交接(見圖11-10、圖11-11),(1) 選擇【state transition】工具欄按鈕。   (2) 從一種狀態(tài)拖到另一種狀態(tài)。   (3) 雙擊交接彈出對話框,可以在“General”中增加事件(Event),在“Detail”中增加保證條件(

9、Guard Condition)等交接的細(xì)節(jié)。事件用來在交接中從一個對象發(fā)送給另一個對象,保證條件放在中括號里,控制是否發(fā)生交接。,,圖11-11 增加保證條件,,,4.在狀態(tài)中增加活動(見圖11-12),(1) 右擊狀態(tài)并選擇“OPEN Specification”。   (2) 選擇【Action】標(biāo)簽,右擊空白處并選擇“Insert”。   (3) 雙擊新活動(清單中有“Entry/”)打開活動規(guī)范,在“Name”中輸入活動細(xì)節(jié)。,,任務(wù)三 認(rèn)?識?活?動?圖,?,操作一 活動圖的概述,活動圖(Activity Diagram)顯示活動動作及其結(jié)果,著重描述操作(方法)實現(xiàn)中所完成

10、的工作以及用例實例或?qū)ο笾械幕顒?。活動是某件事情正在進行的狀態(tài),既可以是現(xiàn)實生活中正在進行的某一項工作,也可以是軟件系統(tǒng)中某個類對象的一個操作。   活動圖與常用的程序流程圖相似,它們的主要區(qū)別在于程序流程圖一般用來表示串行過程,而活動圖則可以用來表示并行過程,如圖11-13所示。使用活動圖的主要目的是:,,·描述一個操作執(zhí)行過程中(操作實現(xiàn)的實例化)所完成的工作(動作);   ·描述對象內(nèi)部的工作;   ·顯示如何執(zhí)行一組相關(guān)的動作,以及這些動作如何影響它們周圍的對象;   ·顯示用例的實例是如何執(zhí)行動作以及如何改變對象狀態(tài)的;   ·說明一次商務(wù)活動中的參與者、工作流、組織和對象是如何工

11、作的。,,,圖11-13 活動圖,,?,操作二 活動圖的組成,UML中活動圖包含的圖形元素有:動作狀態(tài)、活動狀態(tài)、組合活動、分叉與結(jié)合、分支與合并、泳道、對象流、動作流。,1.動作狀態(tài),動作狀態(tài)是原子性的動作或操作的執(zhí)行狀態(tài),它不能被外部事件的轉(zhuǎn)換中斷。動作狀態(tài)的原子性決定了動作狀態(tài)要么不執(zhí)行,要么就完成執(zhí)行,不能中斷。如發(fā)送一個信號、設(shè)置某個屬性值等。動作狀態(tài)沒有子結(jié)構(gòu)、內(nèi)部轉(zhuǎn)換或內(nèi)部活動,它不能包括事件觸發(fā)的轉(zhuǎn)換。動作狀態(tài)有如下特點:,,·動作狀態(tài)是原子的,它是構(gòu)造活動圖的最小單位,無法分解為更小的部分;   ·動作狀態(tài)是不可中斷的,它一旦運行就不能中斷,一直運行到結(jié)束;   ·動作狀

12、態(tài)是瞬時的行為,它所占用的處理時間極短,有時甚至可以忽略;   ·動作狀態(tài)有入轉(zhuǎn)換,入轉(zhuǎn)換可以是動作流,也可以是對象流。動作狀態(tài)至少有一條出轉(zhuǎn)換,這條轉(zhuǎn)換以內(nèi)部動作的完成為起點,與外部事件無關(guān);   ·動作狀態(tài)與狀態(tài)圖中的狀態(tài)不同,它不能有入口動作和出口動作,也不能有內(nèi)部轉(zhuǎn)移;   ·動作狀態(tài)允許多處出現(xiàn)在同一活動圖中。,,,,2.活動狀態(tài),活動狀態(tài)是非原子性的,用來表示一個具有子結(jié)構(gòu)的純粹計算的執(zhí)行?;顒訝顟B(tài)可以分解成其他子活動或動作狀態(tài),可以使轉(zhuǎn)換離開狀態(tài)的事件從外部中斷。活動狀態(tài)可以有內(nèi)部轉(zhuǎn)換、入口動作和出口動作?;顒訝顟B(tài)至少具有一個輸出完成轉(zhuǎn)換,當(dāng)狀態(tài)中的活動完成時該轉(zhuǎn)換激發(fā)。活動狀態(tài)

13、用兩邊為弧的條形框表示,中間填活動名?;顒臃譃楹唵位顒雍徒M合活動。簡單活動,指不能再分解的活動;組合活動,指可以再分解的復(fù)雜活動。活動狀態(tài)有如下特點:   ·活動狀態(tài)可以分解成其他子活動或動作狀態(tài),由于它是一組不可中斷的動作或操作的組合,所以可以被中斷;,,·活動狀態(tài)的內(nèi)部活動可以用另一個活動圖來表示;   ·活動狀態(tài)可以有入口動作和出口動作,也可以有內(nèi)部轉(zhuǎn)移;   ·動作狀態(tài)是活動狀態(tài)的一個特例,如果某一個活動狀態(tài)只包括一個動作,那么它就是一個動作狀態(tài)。   動作狀態(tài)與活動狀態(tài)如圖11-14所示。,,圖11-14 動作狀態(tài)與活動狀態(tài),,,3.組合活動,組合活動也叫復(fù)合活動。在UML的活動

14、圖中,一個大的活動可以分為若干個動作或子活動,這些動作或子活動本身又可以組成一個活動圖。如圖11-15所示。,圖11-15 組合活動與簡單活動,,,4.分叉與結(jié)合,并發(fā)指的是在同一時間間隔內(nèi)有兩個或者兩個以上的活動執(zhí)行。對于一些復(fù)雜的大型系統(tǒng)而言,對象在運行時往往不只存在一個控制流,而是存在兩個或者多個并發(fā)運行的控制流。為了對并發(fā)的控制流建模,在UML中引入了分叉和結(jié)合的概念。分叉用于表示將一個控制流分成兩個或者多個并發(fā)運行的分支,結(jié)合用來表示并行分支在此得到同步。   分叉用粗黑線表示。分叉具有一個輸入轉(zhuǎn)換、兩個或者多個輸出轉(zhuǎn)換,每個轉(zhuǎn)換都可以是獨立的控制流。結(jié)合與分叉相反,結(jié)合具有兩個或

15、者多個輸入轉(zhuǎn)換、一個輸出轉(zhuǎn)換,先完成的控制流需要在此等待,只有當(dāng)所有的控制流都到達結(jié)合點時,控制才能繼續(xù)向下進行。如圖11-16所示。,,,圖11-16 分叉與結(jié)合,,,5.分支與合并,分支在活動圖中很常見,它是轉(zhuǎn)換的一部分,它將轉(zhuǎn)換路徑分成多個部分,每一個部分都有單獨的監(jiān)護條件和不同的結(jié)果。當(dāng)動作流遇到分支時,會根據(jù)監(jiān)護條件的真假來判定動作的流向。分支的每個路徑監(jiān)護條件應(yīng)該是互斥的,這樣可以保證只有一個路徑的轉(zhuǎn)換被激發(fā)。   合并指的是兩個或者多個控制路徑在此匯合,合并和分支常常成對使用,合并表示從對應(yīng)分支開始的條件的行為結(jié)束。   在活動圖中,分支與合并都用空心的菱形表示,分支有一個輸入

16、箭頭和兩個輸出箭頭,而合并有兩個輸入箭頭和一個輸出箭頭。如圖11-17所示。,,,圖11-17 分支與合并,,,6.泳道,為了對活動的職責(zé)進行組織而在活動圖中將活動狀態(tài)分為不同的組,稱為泳道。每個泳道代表特定含義的狀態(tài)職責(zé)部分。在活動圖中,每個活動只能明確地屬于一個泳道,泳道表示了哪些活動由哪些對象進行的。每個泳道都有一個與其他泳道不同的名稱。   在活動圖中,每個泳道通過垂直實線與它的鄰居泳道相分離。在泳道的上方是泳道的名稱,不同的泳道中的活動既可以順序地進行也可以并發(fā)進行。如圖11-18所示。,,,圖11-18 泳道,,,7.對象流,對象可以在活動圖中顯示,表示動作狀態(tài)或者活動狀態(tài)與對

17、象之間的依賴關(guān)系。對象可以作為動作的輸入或輸出,或簡單地表示指定動作對對象的影響。對象用矩形符號來表示,在矩形的內(nèi)部有對象名或類名。對象流用帶有箭頭的虛線表示,如圖11-19所示。,,,圖11-19 對象流,,對象流中的對象有如下特點:   ·一個對象可以由多個動作操縱;   ·一個動作輸出的對象可以作為另一個動作輸入的對象;   ·同一個對象可以多次出現(xiàn)在活動圖中,每一次出現(xiàn)表明該對象正處于對象生存期的不同時間點。,8.動作流,動作流是指所有動作狀態(tài)之間的轉(zhuǎn)換。在活動圖中,一個動作狀態(tài)執(zhí)行完成本狀態(tài)需要完成的動作后會自動轉(zhuǎn)換到另外一個狀態(tài),一般不需要特定事件的觸發(fā)。動作流用帶箭頭的直線表示

18、,箭頭的方向指向轉(zhuǎn)入的方向,如圖11-20所示。,,,圖11-20 動作流,,?,操作三 使用Rational Rose繪制活動圖,活動圖顯示了從活動到活動的流?;顒訄D可以在分析系統(tǒng)業(yè)務(wù)時用來演示業(yè)務(wù)流,也可以在收集系統(tǒng)需求的時候顯示一個用例中的事件流。活動圖顯示了系統(tǒng)中某個業(yè)務(wù)或者某個用例中,要經(jīng)歷哪些活動,這些活動按什么順序發(fā)生。,1.創(chuàng)建活動圖(見圖11-21),(1) 用于分析系統(tǒng)業(yè)務(wù):在瀏覽器中右擊Use Case視圖,選擇“New”→“Activity Diagram”。   (2) 用于顯示用例中的事件流:在瀏覽器中選中某個用例,然后右擊這個用例,選擇“New”→“Activ

19、ity Diagram”。,,圖11-21 創(chuàng)建活動圖,,,2.增加泳道(見圖11-22),泳道是框圖里的豎段,包含特定人員或組織要進行的所有活動??梢园芽驁D分為多個泳道,每個泳道對應(yīng)每個人員或組織。   在工具欄選擇【Swimlane】按鈕,然后單擊框圖增加泳道,最后用人員或組織給泳道命名。,,圖11-22 增加泳道,,,3.增加活動并設(shè)置活動的順序(見圖11-23),(1) 在工具欄中選擇【Activity】按鈕,單擊活動圖增加活動,命名活動。   (2) 在工具欄中選擇【Transition】按鈕,把箭頭從一個活動拖向另一個活動。,,圖11-23 增加活動,,,4.增加同步(見圖1

20、1-24),(1) 選擇【Synchronization】工具欄按鈕,單擊框圖來增加同步棒。   (2) 畫出從活動到同步棒的交接箭頭,表示在這個活動之后開始并行處理。   (3) 畫出從同步棒到可以并行發(fā)生的活動之間的交接箭頭。   (4) 創(chuàng)建另一同步棒,表示并行處理結(jié)束。   (5) 畫出從同步活動到最后同步棒之間的交接箭頭,表示完成所有這些活動之后,停止并行處理。,,圖11-24 增加同步,,,5.增加決策點(見圖11-25),決策點表示可以采取兩個或多個不同的路徑。從決策到活動的交接箭頭要給出保證條件,及控制在決策之后采取什么路徑,保證條件應(yīng)該是互斥的。   (1) 選擇【Deci

21、sion】工具欄按鈕,單擊框圖增加決策點。   (2) 拖動從決策到?jīng)Q策之后可能發(fā)生的活動之間的交接,雙擊交接,打開【Detail】選項卡,在“Guard Condition”字段中寫入保證條件。,,圖11-25 增加決策點,,任務(wù)四 認(rèn)?識?順?序?圖,,一個面向?qū)ο蟮能浖到y(tǒng)是一系列相互協(xié)同的對象的集合,每個對象都有自己的“生命”,如果每個對象只關(guān)心自己的事情,而不考慮與其他對象的交互將會產(chǎn)生混亂。為了能夠確定這些交互的方法,必須補全對靜態(tài)結(jié)構(gòu)的理解:那些并發(fā)對象是如何交互以及交互是如何影響對象的狀態(tài)的。創(chuàng)建動態(tài)模型來完善系統(tǒng)的靜態(tài)模型,不僅可以幫助確定類中需要的操作,也能改進系統(tǒng)的靜

22、態(tài)結(jié)構(gòu)。   系統(tǒng)動態(tài)模型的其中一種就是交互視圖,它描述了執(zhí)行系統(tǒng)功能的各個角色之間相互傳遞消息的順序關(guān)系。,,?,操作一 順序圖的概述,順序圖(Sequence Diagram)也稱為時序圖,描述了對象之間傳送消息的時間順序,它用來表示用例中的行為順序,當(dāng)執(zhí)行一個用例行為時,順序圖中的每條消息對應(yīng)了一個類操作中引起轉(zhuǎn)換的觸發(fā)事件。順序圖可供不同的用戶使用,以幫助他們進一步了解系統(tǒng):   ·用戶,幫助他們進一步了解業(yè)務(wù)細(xì)節(jié);   ·分析人員,幫助他們進一步明確事件處理流程;   ·開發(fā)人員,幫助他們進一步了解需要開發(fā)的對象和對這些對象的操作;   ·測試人員,通過過程的細(xì)節(jié)開發(fā)測試案例。,,

23、在UML中,順序圖表示為二維圖,如圖11-26所示。其中,橫軸上代表在協(xié)作中獨立對象的角色。每個對象的表示方法是:矩形框中寫有對象或類名,且名字下面有下劃線??v軸是時間軸,時間沿豎線向下延伸。角色使用生命線進行表示,當(dāng)對象存在時,生命線用一條虛線表示,此時對象不處于激活狀態(tài),當(dāng)對象的過程處于激活狀態(tài)時,生命線是一條雙道線。順序圖中的消息使用從一個對象的生命線到另一個對象的生命線的箭頭表示。箭頭以時間順序在圖中從上到下排列。,,,圖11-26 典型的順序圖,,?,操作二 順序圖的組成,順序圖是由對象(Object)、生命線(Lifeline)、激活(Activation)和消息(Messag

24、es)等構(gòu)成的。順序圖的目的就是按照交互發(fā)生的一系列順序顯示對象之間的交互。如圖11-27所示。,圖11-27 順序圖的組成,,,1.對象,順序圖中的對象和對象圖中對象的概念一樣,都是類的實例。順序圖中的對象可以是系統(tǒng)的參與者或者任何有效的系統(tǒng)對象。對象的表示形式也和對象圖中的對象表示方式一樣,使用包圍名稱的矩形框來標(biāo)記,所顯示的對象及其類的名稱帶有下劃線,二者用冒號隔開,即對象名。   如果對象的開始位置在順序圖的頂部,那就意味著順序圖在開始交互的時候該對象就已經(jīng)存在了;如果對象的位置不在頂部,那么表明對象在交互的過程中將被創(chuàng)建。,,類元角色(Actor)為系統(tǒng)中發(fā)起請求消息的對象(或者稱

25、為參與者對象),它可以是任何在系統(tǒng)中扮演角色的對象,不管它是對象實例還是參與者,它的生命線的使用方法相同,只是表示方法不同。類元角色的表示方法如圖11-28所示。,,圖11-28 類元角色,,,2.生命線,每個參與者及系統(tǒng)運行中的對象(即活動對象)都用一條垂直的生命線表示。UML用矩形和虛線表示生命線,虛線展示了參與交互的對象的生命長度,矩形框中添加對象名稱。對象與生命線結(jié)合在一起稱為對象的生命線。,3.激活,順序圖中的激活是對象操作的執(zhí)行,它表示一個對象直接或通過從屬操作完成操作的過程。它對執(zhí)行的持續(xù)時間和執(zhí)行與其調(diào)用者之間的控制關(guān)系進行建模。激活使用小矩形條表示,它的頂端與激活時間對齊,

26、而底端與完成時間對齊。,,,4.消息,消息是從一個對象(發(fā)送者)向另一個或幾個對象(接收者)發(fā)送的信號,或由一個對象調(diào)用另一個對象的操作。消息可以用于在對象間傳遞參數(shù)。消息可以是信號,即明確的、命名的、對象間的異步通信;也可以是調(diào)用,即具有返回控制機制的操作的異步調(diào)用。其中,順序圖中強調(diào)的是消息的時間順序,而協(xié)作圖中強調(diào)交換消息的對象間的關(guān)系。   在UML中,消息使用箭頭來表示,箭頭的類型表示了消息的類型,消息箭頭所指的一方是接收方。常用的消息類型如表11-4所示。,,,表11-4 常見的消息類型,?,操作三 使用Rational Rose繪制順序圖   1.創(chuàng)建序列圖(見圖11-29)

27、,在瀏覽器內(nèi)的Logic視圖上單擊鼠標(biāo)右鍵, 選擇“New”→ “Sequence Diagram”就新建了一張序列圖。也可以在瀏覽器中Use Case視圖中選擇某個用例,然后右擊這個用例,選擇“New”→“Sequence Diagram”。,,圖11-29 創(chuàng)建序列圖,,,2.在序列圖中放置參與者和對象(見圖11-30),在序列圖中的主要元素之一就是對象,相似的對象可以被抽象為一個類。序列圖中的每個對象代表了某個類的某一實例。   (1) 把用例圖中的該用例涉及的所有參與者拖到Sequence圖中。   (2) 選擇工具欄中的【Object】按鈕,單擊框圖增加對象??梢赃x擇創(chuàng)建已有類的對

28、象,也可以在瀏覽器中新建一個類,再創(chuàng)建新的類的對象。雙擊對象,在彈出的對話框中的“Class”里確定該對象所屬的類。   (3) 對象命名:對象可以命名也可沒名字。雙擊對象,在彈出的對話框中的“Name”里給對象取名。,,圖11-30 放置參與者和對象,,,3.說明對象之間的消息(見圖11-31),(1) 選擇【Message】工具欄按鈕。   (2) 單擊啟動消息的參與者或?qū)ο螅严⑼系侥繕?biāo)對象和參與者間。   (3) 命名消息。雙擊消息,在對話框中【General】里的  “Name”中輸入消息名稱。,,圖11-31 對象之間的消息,,任務(wù)五 認(rèn)?識?協(xié)?作?圖,協(xié)作圖(Colla

29、boration Diagram /Communication Diagram,也叫通訊圖)是一種交互圖,強調(diào)的是發(fā)送和接收消息的對象之間的組織結(jié)構(gòu)。與順序圖不同的是,在協(xié)作圖中明確表示了角色之間的關(guān)系,通過協(xié)作角色來限定協(xié)作中的對象或鏈。另外,協(xié)作圖不將時間作為單獨的維來表示,所以必須使用順序號來判斷消息的順序以及并行線程。順序圖和協(xié)作圖表達的是類似的信息,雖然它們使用不同的方法表示,但可以通過適當(dāng)?shù)姆绞綄⑺鼈冞M行轉(zhuǎn)換。,,?,操作一 協(xié)作圖的概述,要理解協(xié)作圖,首先要了解什么是協(xié)作。所謂協(xié)作,是指在一定的語境中一組對象以及實現(xiàn)某些行為的對象間的相互作用。在協(xié)作中,同時包含了運行時的類元角

30、色(Classifier Roles)和關(guān)聯(lián)角色(Association Roles),類元角色描述了一個對象,關(guān)聯(lián)角色描述了協(xié)作關(guān)系中的鏈,并通過幾何排列表現(xiàn)交互作用中的各個角色,如圖11-32所示。而使用協(xié)作圖的作用如下:   ·通過描繪對象之間消息的傳遞情況來反映具體的使用語境的邏輯表達。一個使用情境的邏輯可能是一個用例的一部分,或是一條控制流,這和序列圖的作用類似。,,·顯示對象及其交互關(guān)系的空間組織結(jié)構(gòu)。協(xié)作圖顯示了在交互過程中各個對象之間的組織交互關(guān)系以及對象彼此之間的鏈接。與序列圖不同,協(xié)作圖顯示的是對象之間的關(guān)系,并不側(cè)重交互的順序,它沒有將時間作為一個單獨的維度,而是使用序列

31、號來確定消息及并發(fā)線程的順序。   ·協(xié)作圖的另外一個作用是表現(xiàn)一個類操作的實現(xiàn)。協(xié)作圖可以說明類操作中使用到的參數(shù)、局部變量以及返回值等。當(dāng)使用協(xié)作圖表現(xiàn)一個系統(tǒng)行為時,消息編號對應(yīng)了程序中嵌套調(diào)用結(jié)構(gòu)和信號的傳遞過程。,,,,圖11-32 協(xié)作圖,,?,操作二 協(xié)作圖的組成,協(xié)作圖(Collaboration Diagram)是由對象(Object)、消息(Messages)和鏈(Link)等構(gòu)成的。,1.對象,協(xié)作圖中的對象和序列圖中的對象的概念相同,同樣都是類的實例。一個協(xié)作代表了為了完成某個目標(biāo)而共同工作的一組對象。對象的角色表示一個或一組對象在完成目標(biāo)的過程中所應(yīng)起的那部分作用

32、。在協(xié)作圖中,不需要關(guān)于某個類的所有對象都出現(xiàn),同一個類的對象在一個協(xié)作圖中也可能要充當(dāng)多個角色。   協(xié)作圖中對象的表示形式也和順序圖中的對象的表示形式一樣,這里不再詳細(xì)介紹。,,,2.消息(見圖11-33),在協(xié)作圖中,可以通過一系列的消息來描述系統(tǒng)的動態(tài)行為。在協(xié)作圖中,消息使用帶有標(biāo)簽的箭頭來表示,它附在連接發(fā)送者和接收者的鏈上。鏈連接了發(fā)送者和接收者,箭頭的指向便是接收者。   在協(xié)作圖中每個消息包括一個順序號以及消息的名稱。順序號是消息的一個數(shù)字前綴,是一個整數(shù),由1開始遞增,每個消息都必須有唯一的順序號。嵌套消息使用點表示法。,,圖11-33 消息,,3.鏈(見圖11-34),

33、在協(xié)作圖中的鏈和對象圖中的鏈的概念和表示形式都相同,都是兩個或多個對象之間的獨立連接,是對象引用元組(有序表),是關(guān)聯(lián)的實例。   鏈?zhǔn)顷P(guān)聯(lián)的實例,當(dāng)一個類與另一個類之間有關(guān)聯(lián)時,這兩個類的實例之間就有鏈,一個對象就能向另一個對象發(fā)送消息。所以鏈?zhǔn)菍ο箝g的發(fā)送消息的路徑。   在協(xié)作圖中,鏈的表示形式為一個或多個相連的線或弧。在自身相關(guān)聯(lián)的類中,鏈?zhǔn)莾啥酥赶蛲粚ο蟮幕芈?,是一條弧。為了說明對象是如何與另外一個對象進行連接的,我們還可以在鏈的兩端添加上提供者和客戶端的可見性修飾。如圖11-34所示,是鏈的普通和自身關(guān)聯(lián)的表示形式。,,,圖11-34 鏈,,?,操作三 使用Rational

34、Rose繪制協(xié)作圖   1.增加對象鏈接(見圖11-35),(1) 選擇【Object Link】工具欄按鈕。   (2) 單擊要鏈接的參與者或?qū)ο蟆?  (3) 將對象鏈接拖動到要鏈接的參與者或?qū)ο箝g。,,圖11-35 增加對象鏈接,,2.加進消息(見圖11-36),(1) 選擇【Link Message】或【Reverse Link Message】工具欄按鈕。   (2) 單擊要放消息的對象鏈接。   (3) 雙擊消息,可以在彈出的對話框里為消息命名。,,圖11-36 加進消息,,,3.自反鏈接(見圖11-37),(1) 選擇【Link to Self】工具欄按鈕。   (2) 單擊

35、要鏈接的對象,會增加一個消息的箭頭。   (3) 雙擊消息,命名自反鏈接。,,圖11-37 建立自反鏈接,,?,操作四 順序圖與協(xié)作圖比較   1.順序圖與協(xié)作圖的比較,順序圖與協(xié)作圖都是交互圖,其區(qū)別主要表現(xiàn)在:   順序圖強調(diào)按時間展開的消息的傳遞,清晰地顯示了時間次序;對簡單的迭代和分支的可視化要比協(xié)作圖好,常用于場景顯示;可以不要順序號。   協(xié)作圖強調(diào)交互中實例之間的結(jié)構(gòu)關(guān)系以及所傳送的消息,清晰地顯示了對象間的關(guān)系;對復(fù)雜的迭代和分支的可視化以及對多并發(fā)控制流的可視化要比順序圖好,常用于顯示過程設(shè)計細(xì)節(jié);有路徑和順序號。,,2.順序圖與協(xié)作圖的互換,UML中的順序圖和協(xié)作圖都是用來表示對象之間的交互作用的,其中順序圖側(cè)重于描述交互過程中的時間關(guān)系,對象之間的關(guān)系描述不十分清楚;協(xié)作圖側(cè)重于描述交互過程中的對象之間的關(guān)系,時間順序描述不是十分清楚。因此,從某種意義上來說,這兩種圖的作用是等價的,Rose中也提供了這兩種圖之間的轉(zhuǎn)換方式,如下步驟所示(見圖11-38)。   (1) 打開要轉(zhuǎn)換的順序圖或協(xié)作圖。   (2) 依次選擇主菜單欄中的【Browse】→【Go To Sequence Diagram】,即可將當(dāng)前的協(xié)作圖轉(zhuǎn)換成順序圖。,,圖11-38 選擇轉(zhuǎn)換到順序圖,,

展開閱讀全文
溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!