第七章 交互圖_第1頁
第七章 交互圖_第2頁
第七章 交互圖_第3頁
第七章 交互圖_第4頁
第七章 交互圖_第5頁
已閱讀5頁,還剩82頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第七章交互圖第1頁,課件共87頁,創作于2023年2月目錄7.1順序圖7.2通信圖7.3繪制交互圖7.4順序圖與通信圖的關系7.5定時圖第2頁,課件共87頁,創作于2023年2月7.1順序圖一.順序圖的概念也稱時序圖,SequenceDiagram描述了系統中對象之間傳送消息的時間順序。二.順序圖的作用用來描述用例的實現第3頁,課件共87頁,創作于2023年2月7.1順序圖圖:即時通信系統中對象server和對象Database的交互

UML2.0可以幀化順序圖,即用一個邊框包圍他并在左上角添加一個間隔區,間隔區中包含了識別該順序圖的信息。(例,sd:表示該圖是順序圖;login:順序圖名)第4頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的表示三.組成元素對象--Object生命線--Lifeline消息--Message控制焦點(激活)--Activation第5頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的表示1、對象參與者實例也是對象;順序圖中水平方向為對象維;一般參與者和對象按從左到右順序排列在順序圖的頂部;第6頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的表示1、對象對象的命名方式有三種:顯示對象名和類名只顯示類名(匿名對象)只顯示對象名(不關心類)第7頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的表示2、生命線表示對象存在的時間。如果對象生命期結束,則用注銷符號表示。第8頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的表示3、控制焦點(激活期)對象執行某個動作的時期。第9頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的表示4、消息對象間交互信息的方式UML中5種消息:調用(同步消息)發送(異步消息)返回創建銷毀第10頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的表示(1)調用消息發送者把消息發送后,等待,直到接收者返回控制。可表示同步。第11頁,課件共87頁,創作于2023年2月圖:同步消息第12頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的表示(2)發送消息消息發送后,發送者繼續操作,不等待。常用于表示并發。第13頁,課件共87頁,創作于2023年2月圖:異步消息第14頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的表示(3)返回消息表示消息的返回。一般同步的返回不需畫出,直接隱含,而異步返回則可用它。第15頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的表示自調用例:表示某對象調用自己的操作。UML標記ROSE標記第16頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的表示(4)創建通常利用構造方法來實現,對象一創建,生命線就開始了。圖:創建消息示例第17頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的表示(5)銷毀

生命終止符號用一個較大的叉形符號表示。圖:銷毀消息示例第18頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的表示5、消息的格式UML中規定的消息語法格式如下:舉例2:display(x,y)簡單消息1.3.1:p:=find(specs)嵌套消息[x<0]4:invert(x,color)條件消息3.1*:update()循環消息第19頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的表示(1)消息編號順序編號

——在每個消息的前面加上一個用冒號隔開的順序號來表示其順序。第20頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的表示圖7-4將訂單生成送貨單第21頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的表示(2)消息編號嵌套編號

——把屬于同一個對象發送和接收的消息放在同一層進行編號。第22頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的表示圖7-5嵌套編號第23頁,課件共87頁,創作于2023年2月Rose中的消息第24頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的深入順序圖中,對象的行為有循環和分支兩種方式,為了表示這兩種行為,引入了交互片段、區域和操作符的概念。第25頁,課件共87頁,創作于2023年2月第26頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的深入每個交互片段都有一個操作符,操作符決定了交互片段的執行方式。1、表示分支的操作符alt:支持多條件opt:支持單條件第27頁,課件共87頁,創作于2023年2月第28頁,課件共87頁,創作于2023年2月第29頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的深入圖7-5順序圖中的分支表示(1)第30頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的深入圖7-7順序圖中的分支表示(2)第31頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的深入2、表示循環的操作符:loop說明該片段將可以執行多次,而具體的次數由循環次數和監護條件表達式來說明。第32頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的深入圖7-7順序圖中的循環表示第33頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的深入3、break

用break定義一個含有監護條件的子片段。如果監護條件為“真”則執行子片段,而且不執行子片段后面的其他交互;如果監護條件為“假”,那么就按正常流程執行。第34頁,課件共87頁,創作于2023年2月第35頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的深入圖7-10break操作符第36頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的深入4、assert、consider、ignore

assert是用來表示執行過程中,那個時刻的行為是唯一有效的。consider包含一個子片段和一個消息類型列表。只有列表中的消息類型可以出現在子片段中,其他類型可以出現在實際的系統中,但是交互會忽略它們。ingore也包含一個子片段和一個消息類型列表。列表中的消息類型可以出現在子片段中,但交互會忽略它們。它的含義與consider剛好相反。第37頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的深入圖7-9consider和assert操作符第38頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的深入5、critical

crtical表示子片段是“臨界區域”,在臨界區域中,生命線上的事件序列不能和其他區域中的任何其他事件交錯。第39頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的深入圖7-11操作符crtical第40頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的深入6、par

par是用來表示“并行”的,也就是用來表示兩個或多個并發執行的子片段。第41頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的深入圖7-12par操作符par第42頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的深入7、ref

ref用來在一個交互圖中,引用其他的交互圖。在一個矩形框的左上角標識ref操作符,并在方框中寫明被引用的交互圖名稱。圖7-13ref操作符第43頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖的深入順序圖中使用其它的技術:1、使用注釋2、使用約束3、使用狀態第44頁,課件共87頁,創作于2023年2月第45頁,課件共87頁,創作于2023年2月7.1順序圖——順序圖建模為每一個用例編寫事件流,包括一個基本事件流和若干可選事件流或異常流;識別事件流中參與交互的對象;為每個事件流繪制順序圖,包括為每個對象設置生命線,即確定哪些對象存在于整個交互過程中,哪些對象在交互過程中被創建和撤銷;從引發這個交互過程的初始消息開始,在生命線之間自頂向下依次畫出隨后的各個消息;如果需要,可以畫上交互片段、交互引用和約束等。第46頁,課件共87頁,創作于2023年2月7.1順序圖——繪制順序圖

以飲料自動銷售系統為例,對“買飲料”的3種場景進行建模,對每一個場景,我們繪制其對應的順序圖。下面是買到飲料的一般事件流:(1)顧客從機器的前端錢幣口投入錢幣,然后選擇想要的飲料;(2)錢幣到達錢幣記錄儀,記錄儀更新自己的存儲;(3)記錄儀通知分配器分發飲料到機器前端;第47頁,課件共87頁,創作于2023年2月7.1順序圖——繪制順序圖1、買到飲料的場景對應的順序圖,如圖7-14所示。圖7-14買到飲料的場景第48頁,課件共87頁,創作于2023年2月7.1順序圖——繪制順序圖圖7-15飲料已售完的場景2.飲料“已售完”的場景第49頁,課件共87頁,創作于2023年2月7.1順序圖——繪制順序圖3.機器沒有合適的零錢圖7-16零錢“找不開”的場景第50頁,課件共87頁,創作于2023年2月練習一

例:為即時通信系統中的“用戶登錄”用例建立順序圖:第一步:確定事件流第二步:識別對象第三步:添加消息第51頁,課件共87頁,創作于2023年2月練習一第一步:確定事件流“用戶登錄”用例的基本事件流:(1)打開登錄對話框;(2)輸入用戶信息;(3)將用戶信息發給服務器;(4)服務器訪問數據庫,驗證賬號合法性;(5)數據庫返回賬號合法信息以及用戶的離線消息(如果有);(6)服務器更新在線用戶列表;(7)客戶端更新好友列表的狀態信息,顯示離線消息。第52頁,課件共87頁,創作于2023年2月練習一第一步:確定事件流“用戶登錄”用例的異常事件流:用戶輸入的信息與數據庫的信息不匹配,數據庫驗證不通過,彈出錯誤消息;第53頁,課件共87頁,創作于2023年2月練習一第二步:識別對象(1)客戶(client);(2)登錄對話框(entryDialogue);(3)服務器(server);(4)數據庫(database);(5)好友列表(friendList);第54頁,課件共87頁,創作于2023年2月練習一第三步:添加消息第55頁,課件共87頁,創作于2023年2月例:建模“成績系統”的“瀏覽成績(viewgrades)”用例,需要至少表示出3個要建模的工作流:教師成功的檢查學生的分數;教師試圖檢查某個學生的分數,但是該學生在系統中不存在;教師試圖檢查某個學生的分數,但是該學生的分數在系統中不存在。練習二第56頁,課件共87頁,創作于2023年2月第57頁,課件共87頁,創作于2023年2月第58頁,課件共87頁,創作于2023年2月第59頁,課件共87頁,創作于2023年2月練習三1、用戶打印文件,計算機向打印服務器發送打印命令,打印機如果空閑,則直接打印;否則把打印文件存儲在打印隊列中。2、管理員通過課程管理器打印課程UML的信息。第60頁,課件共87頁,創作于2023年2月第61頁,課件共87頁,創作于2023年2月[a]第62頁,課件共87頁,創作于2023年2月管理員通過課程管理器打印全部課程信息。第63頁,課件共87頁,創作于2023年2月7.2通信圖一、通信圖的概念通信圖也稱協作圖(collaborationdiagram);描述系統中對象(或活動者)如何共同協作實現用例;強調的是參與交互的對象的組織;一般,順序圖和協作圖之間可相互轉換;二、通信圖的作用描述用例或用例中特定部分的行為。第64頁,課件共87頁,創作于2023年2月7.2通信圖三、組成元素對象(參與者實例、多對象、主動對象)消息鏈第65頁,課件共87頁,創作于2023年2月7.2通信圖三、組成元素1、對象(1)多對象多個對象的集合,往往是同類的對象。如果消息同時發送給多個對象,則用多重對象表示。在順序圖中仍然顯示為同單對象一樣的圖標。第66頁,課件共87頁,創作于2023年2月7.2通信圖三、組成元素1、對象(2)主動對象(活動對象)一組屬性和一組方法的封裝體,其中至少有一個方法不需要接收消息就能主動執行(稱作主動方法)。UML中Rose中第67頁,課件共87頁,創作于2023年2月7.2通信圖三、組成元素2、鏈用來連接對象,消息顯示在鏈的旁邊,一個鏈上可以有多個消息。在順序圖中不使用鏈,只有協作圖中才使用鏈的概念。第68頁,課件共87頁,創作于2023年2月7.2通信圖三、組成元素3、消息通信圖中的消息類型與順序圖中的相同。為了說明交互過程中消息的時間順序,需要給消息添加順序號。順序號是在消息的前面加一個整數。每個消息都必須有唯一的順序號。編號方式:無層次編號和嵌套編號。第69頁,課件共87頁,創作于2023年2月7.2通信圖三、組成元素4、迭代標記在順序編號前加上一個迭代符“*”和一個可選的迭代表達式來表示,用來說明循環規則。表7-2常用迭代表達式迭代表達式語義[i:=1..n]迭代n次[I=1..10]I迭代10次[while(表達式)]表達式為true時才進行迭代[until(表達式)]迭代到表達識為true時,才停止迭代[foreach(對象集合)]在對象集合上迭代第70頁,課件共87頁,創作于2023年2月7.2通信圖三、組成元素5、監護條件監護條件通常是用來表示分支在UML中,監護條件是以“[條件表達式]”的格式表示的。第71頁,課件共87頁,創作于2023年2月如何讀懂通信圖第72頁,課件共87頁,創作于2023年2月例:圖7-18從訂單生成訂貨單的通信圖第73頁,課件共87頁,創作于2023年2月圖7-19通信圖例:第74頁,課件共87頁,創作于2023年2月圖7-20注冊課程例:第75頁,課件共87頁,創作于2023年2月練習1第76頁,課件共87頁,創作于2023年2月練習2第77頁,課件共87頁,創作于2023年2月建立通信圖的步驟確定交互過程的上下文。識別參與交互過程的對象。如果需要,為每個對象設置初始特性。確定對象之間的鏈,以及沿著鏈的消息。從引發這個交互過程的初始消息開始,將隨后的每個消息附到相應的鏈上。如果需要表示消息的嵌套,則用Dewey十進制數表示法。如果需要說明時間約束,則在消息旁邊加上約束說明。如果需要,可以為每個消息附上前置條件和后置條件。第78頁,課件共87頁,創作于2023年2月7.3順序圖與通信圖比較順序圖和協作圖都屬于交互圖,都用于描述系統中對象之間的動態關系。二者在語義上是等價的,可以互換,但側重點不同。(1)順序圖強調的是消息的時間順序,而協作圖強調的是參與交互的對象的組織。(2)順序圖中有對象生命線和控制焦點,協作圖中沒有;協作圖中有路徑,并且協作圖中的消息必須有消息編號。第79頁,課件共87頁,創作于2023年2月7.4繪制交互圖繪制交互圖的4個步驟:第一,找出交互對象及其關系(僅對于通信圖而言);第二,確定對象之間交互的具體消息格式和流程,并用同步調用、異步消息、返回消息來表示;第三,并利用交互片段(順序圖)或迭代標志及監護條件來表示循環和分支結構;第四,通過一些構造型來完善整個交互圖。第80頁,課件共87頁,創作于2023年2月7.4繪制交互圖例:為

溫馨提示

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

評論

0/150

提交評論