第13講 UML詳細設計-順序圖PPT_第1頁
第13講 UML詳細設計-順序圖PPT_第2頁
第13講 UML詳細設計-順序圖PPT_第3頁
第13講 UML詳細設計-順序圖PPT_第4頁
第13講 UML詳細設計-順序圖PPT_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第13講 詳細設計之UML建模,動態(tài)模型交互圖,1,交互圖表示類(對象)如何交互來實現(xiàn)系統(tǒng)行為。交互圖具有如下兩種形式。 1) 順序圖(時序圖) 它描述對象按時間順序的消息交換過程,它體現(xiàn)出系統(tǒng)用例的行為。 2) 協(xié)作圖 它描述對象間的組織協(xié)作關系,它也可體現(xiàn)出系統(tǒng)用例的行為。,引言 UML交互圖,2,一、 順序圖的概念 順序圖是兩種類型的交互圖之一。順序圖用來建模以時間順序安排的對象交互,并且把用例行為分配給類(對象)。它是用來顯示參與者如何采用若干順序步驟與系統(tǒng)對象交互的模型。 順序圖樣式,順序圖建模,3,二、為什么要建模順序圖 建模順序圖有許多理由,順序圖與活動圖具有類似的作用。其中重要

2、的理由就是實現(xiàn)用例。任何用例都可以使用順序圖進一步闡明和實現(xiàn)。 順序圖刻畫了用例具體實現(xiàn)的流程,比活動圖更能夠表示細節(jié),因此適用于詳細設計。,4,UML,- 5 -,順序圖與用例圖和類圖的關系,5,三、順序圖的標記符 順序圖有兩個主要的標記符:活動對象和這些活動對象之間的通信消息?;顒訉ο罂梢允侨魏卧谙到y(tǒng)中扮演角色的對象,不管它是對象實例還是參與者,如下圖所示。,6,1活動對象 活動對象可以是系統(tǒng)的參與者或者任何有效的系統(tǒng)對象。對象是類的實例,它使用包圍名稱的矩形框來標記。名稱帶下劃線,順序圖中對象的標記符如下圖所示。,7,(1)對象的命名,匿名對象,對象的左右排列位置 對象的左右順序并不重要

3、,但是為了圖面的清晰整潔起見,通常應遵循以下兩個原則: (1)把交互頻繁的對象盡可能地靠攏 (2)把初始化整個交互活動的對象(有時是一個參與者)放置在最左邊,8, 生命線 表示對象存在的時間,對象下面一條虛線表示。 生命線從對象創(chuàng)建開始到對象銷毀時終止。,對象生命線,表示對象的撤銷,對象在生命線上的兩種狀態(tài): 休眠狀態(tài) 激活狀態(tài),9, 控制焦點 / 激活期 小矩形,表示這個時間對象將執(zhí)行操作。 當一個對象沒有被激活期時,該對象處于休眠狀態(tài),什么事都不做,但它仍然存在,等待新的消息來激活它。 當一條消息被傳遞給對象的時候,它會觸發(fā)該對象的某個行為,這是就說該對象被激活了。 當一個對象處于激活期時

4、,表明該對象正在執(zhí)行某個動作。,矩形框的高度表示對象執(zhí)行一個操作所經(jīng)歷的時間段,矩形的頂部表示動作的開始,底部表示動作的結(jié)束。 對象接收消息后可以由自己的某個操作來完成,也可以通過其他對象的操作來完成。,10,把參與者表示為活動對象的建??梢哉f明參與者如何與系統(tǒng)交互,以及系統(tǒng)如何與用戶交互。參與者可以調(diào)用對象,對象也可以通知參與者,如下圖所示。,可以把消息發(fā)送給不是其直接相鄰的參與者或者對象。,11,2消息 消息用來說明順序圖中不同活動對象之間的通信。 消息從活動對象生命線到接收對象生命線的箭頭表示。箭頭上面標記要發(fā)送的消息,如下圖所示。,活動對象之間發(fā)送的消息是順序圖的關鍵。消息說明了對象之

5、間的控制流,對象是如何交互的。,12,帶箭頭的連線,表示對象之間傳輸?shù)男畔ⅰ?對象之間的交互是通過互發(fā)消息來實現(xiàn)的。一個對象可以請求(要求)另一個對象做某件事件。 消息從源對象指向目標對象。消息一旦發(fā)送便將控制從源對象轉(zhuǎn)移到目標對象。,消息,13,時序圖中,消息的閱讀順序是嚴格自上而下的,14,消息的類型: 在UML中,總共有4種類型的消息,如下圖所示。 到目前為止只看到了一種消息,即簡單消息(flat message)。,15,(1). 同步消 息 同步消息(synchronous message)代表一個操作調(diào)用的控制流。同步消息的發(fā)送者把控制傳遞給消息的接收者,然后暫?;顒?,等待消息接收

6、者的應答,收到應答后才繼續(xù)自己的操作。,16,(2)異步消息 異步消息(Asynchronous message)用于控制流在完成前不需要中斷的情況。異步消息的發(fā)送者把控制傳遞給消息的接收者,然后繼續(xù)自己的活動,不需等待接收者返回信息或控制。下面示例演示了如何在登錄文件的情況下使用異步消息。,17,(3) 簡單消 息 如果所有的消息都是同步或者異步消息,那么為什么還要簡單消息呢?因為有時候我們不關心消息是同步還是異步,此外在高層分析中,有時候沒有必要指定一個消息是同步的還是異步的。如下面的示例所示。,18,四、如何使用消息進行通信 消息是順序圖活動對象之間通信的惟一方式。UML中的消息使用了一

7、些簡潔的標記符。 消息可以包含條件以便限制它們只在滿足條件時才能發(fā)送。條件顯示在消息名稱上面的方括號中,如下圖所示。,19,下面示例演示了如何建模一個順序圖來顯示登錄嘗試。如果登錄失敗,會在放棄登錄之前重試一次,如下圖所示。,20,這個順序圖中有4個活動對象:Developer、Compiler、Linker和FileSystem。Developer是系統(tǒng)的參與者。Compiler是Developer交互的應用程序。Linker是一個用來鏈接對象文件的獨立進程。FileSystem是系統(tǒng)層功能的包裝器,用來執(zhí)行文件的輸人和輸出例程。,Compile Application用例的順序圖操作: D

8、eveloper請求Compiler執(zhí)行編譯 Compiler請求FileSystem 加載文件 Compiler通知自己執(zhí)行編譯 Compiler請求FileSystem 保存對象代碼 Compiler請求Linker鏈接對象代碼 Linker請求 FileSystem加載對象代碼 Liker通知自己執(zhí)行鏈接 Linker請求FileSystem保存編譯的結(jié)果,下面看一個意義更加豐富的示例。對于Compile Application用例,我們可以創(chuàng)建一個成功編譯工作流的順序圖。,21,一個成功編譯工作流的順序圖,22,五、 順序圖的其他技術 1創(chuàng)建對象 創(chuàng)建對象的標記符如下圖中的示例所示。有

9、一個主要步驟用來把“create” 消息發(fā)送給對象實例。對象創(chuàng)建之后就會具有生命線,就像順序圖中的任何其他對象一樣?,F(xiàn)在可以像順序圖中的其他對象那樣來使用該對象發(fā)送和接收消息。在處理新創(chuàng)建的對象,或者處理順序圖中的任何其他對象時,都可以發(fā)送“destroys”消息來刪除對象。 若要想說明某個對象被銷毀,需要在被銷毀對象的生命線上放一個X字符。,23,24,3分支和從屬流 有兩種方式來修改順序圖的控制流:使用分支和使用從屬流??刂屏鞯母淖兪怯捎诓煌臈l件導致控制流走向不同的道路。 分支是指從同一點發(fā)出的多個消息并指向不同的對象,根據(jù)條件是否互斥,可以有條件和并行兩種結(jié)構(gòu)。,25,注意消息的開始位

10、置是相同的,分支消息的結(jié)束“高度”也是相等的。這說明在下一步中,其中之一將會執(zhí)行,如下圖所示。,26,從屬流指的是從同一點發(fā)出多個消息指向同一個對象的不同生命線,27,在下面的示例中,Editor在用戶刪除文件或者保存文件時向Filesystem發(fā)送一條消息。顯然,F(xiàn)ilesystem將會執(zhí)行兩種完全不同的活動,并且每一個工作流都需要獨立的生命線,如下圖 所示。,28,六、學習如何建模順序圖 創(chuàng)建順序圖包含4項任務: 1)確定需要建模的工作流。 2)從左到右布置對象。 3)添加消息和條件以便創(chuàng)建每一個工作流。 4)繪制總圖以便連接各個分圖。,例子:建?!敖處煵樵儗W生分數(shù)” 1確定工作流 建模順

11、序圖的第一步是確定將要建模的工作流。為此,需要至少標識出3個要建模的工作流: 教師成功地檢查學生分數(shù) 教師試圖檢查某個學生分數(shù),但是該學生在系統(tǒng)中不存在。 教師試圖檢查某個學生分數(shù),但是該學生分數(shù)在系統(tǒng)中不存在。,29,2布置對象 建模順序圖的下一步是從左到右布置所有的參與者和對象,包含要添加消息的對象生命線,如下圖所示。,30,3添加消息和條件 接下來,對每一個工作流作為獨立的順序圖建模。從基本的工作流開始,它是沒有出錯條件,并且需要最少決策的工作流。在本例中,基本工作流是教師成功地檢查某個學生的分數(shù),如下圖所示。,31,注意選擇適當?shù)南㈩愋停ó惒?、同步、簡單和返回)。接下來以獨立的順序圖建模從屬工作流。此處只建模否定的條件,如下圖所示。,32,學生沒分數(shù),注意使用條件來指示在什么時候發(fā)送什么消息,如下圖所示。,33,4繪制總圖 建模順序圖的最后一步是把所有獨立的工作流連接為一個總圖,如下圖所示。 在此階段,如果覺得前面的消息和交互對于當前的順序圖過于詳細,可以讓它們更加泛化一些,但是在軟件建模的下一個階段,就會覺得初始的各個順序圖越詳細越好。,34,35,1使用控制矩形 控制矩形是一種用來幫助讀者理解消息序列中對象涉及時間的標記符。在大多數(shù)情況下,某一時刻有一個對象活動焦點,但是,在帶有同步功能的事件驅(qū)動的應用程序中,情況并非總是如此。例

溫馨提示

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

最新文檔

評論

0/150

提交評論