第五講 順序圖教學(xué)復(fù)習(xí)ppt_第1頁
第五講 順序圖教學(xué)復(fù)習(xí)ppt_第2頁
第五講 順序圖教學(xué)復(fù)習(xí)ppt_第3頁
第五講 順序圖教學(xué)復(fù)習(xí)ppt_第4頁
第五講 順序圖教學(xué)復(fù)習(xí)ppt_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 第五講第五講 順順序圖序圖唐姍唐姍計(jì)算機(jī)與信息學(xué)院計(jì)算機(jī)與信息學(xué)院2022-5-252交互(交互(interactioninteraction)是指在具體語境中由為實(shí)現(xiàn)某個(gè)目標(biāo)的一)是指在具體語境中由為實(shí)現(xiàn)某個(gè)目標(biāo)的一組對(duì)象之間進(jìn)行通信的一組消息所構(gòu)成的組對(duì)象之間進(jìn)行通信的一組消息所構(gòu)成的行為行為當(dāng)執(zhí)行一個(gè)用例行為時(shí),順序圖中的每條消息對(duì)應(yīng)了一個(gè)類操當(dāng)執(zhí)行一個(gè)用例行為時(shí),順序圖中的每條消息對(duì)應(yīng)了一個(gè)類操作或狀態(tài)機(jī)中引起轉(zhuǎn)換的觸發(fā)作或狀態(tài)機(jī)中引起轉(zhuǎn)換的觸發(fā)事件事件順序圖的目的在于描述系統(tǒng)中各個(gè)對(duì)象按照時(shí)間順序的交互過順序圖的目的在于描述系統(tǒng)中各個(gè)對(duì)象按照時(shí)間順序的交互過程程順序圖從一定程度上更

2、加詳細(xì)地描述了用例順序圖從一定程度上更加詳細(xì)地描述了用例表達(dá)的需求,轉(zhuǎn)化表達(dá)的需求,轉(zhuǎn)化為更加為更加正式層次的精細(xì)表達(dá)、用例常常被細(xì)化為一個(gè)或者更多正式層次的精細(xì)表達(dá)、用例常常被細(xì)化為一個(gè)或者更多的順序的順序圖圖2022-5-2532022-5-2542022-5-2552022-5-2562022-5-257在 UML 中,它們只在滿足條件時(shí)才能被發(fā)送,條件顯示在消息名稱上面的方括號(hào)中附加條件的消息消息消息可以是信號(hào),即明確的、命名的、對(duì)象間的可以是信號(hào),即明確的、命名的、對(duì)象間的異步通異步通信信也也可以是調(diào)用,即具有返回控制機(jī)制的可以是調(diào)用,即具有返回控制機(jī)制的操作操作的同步的同步調(diào)用調(diào)用

3、2022-5-2582022-5-259符號(hào)含義繪制兩個(gè)對(duì)象之間的異步消息在兩個(gè)對(duì)象之間繪制消息繪制反身消息顯示過程調(diào)用返回的消息繪制兩個(gè)對(duì)象之間的過程調(diào)用消息箭頭所指的一方是接收方消息箭頭所指的一方是接收方注意:消息在生命線上所處的位置并不是消息發(fā)生的準(zhǔn)確時(shí)間,注意:消息在生命線上所處的位置并不是消息發(fā)生的準(zhǔn)確時(shí)間,只是一個(gè)相對(duì)的位置。如果一個(gè)消息位于另一消息的上方,只說只是一個(gè)相對(duì)的位置。如果一個(gè)消息位于另一消息的上方,只說明它先于另一個(gè)消息被發(fā)送明它先于另一個(gè)消息被發(fā)送(對(duì)象自身的消息)(普通消息)2022-5-2510反身消息2022-5-2511如果一條消息只能作為反身消息,那么說明

4、該操作只能由如果一條消息只能作為反身消息,那么說明該操作只能由對(duì)象自身的行為對(duì)象自身的行為觸發(fā)觸發(fā)這這表明該操作可以被設(shè)置為表明該操作可以被設(shè)置為 Private Private 屬性,只有屬于同一個(gè)屬性,只有屬于同一個(gè)類的對(duì)象才能調(diào)用類的對(duì)象才能調(diào)用它它在在這種情況下,應(yīng)該對(duì)順序圖進(jìn)行徹底的檢查,以確定該這種情況下,應(yīng)該對(duì)順序圖進(jìn)行徹底的檢查,以確定該操作不需要被其他對(duì)象直接操作不需要被其他對(duì)象直接調(diào)用調(diào)用2022-5-2512發(fā)送方發(fā)請(qǐng)求給接受方,然后等待,直到收到響應(yīng)才繼續(xù)原發(fā)送方發(fā)請(qǐng)求給接受方,然后等待,直到收到響應(yīng)才繼續(xù)原先的操作先的操作缺點(diǎn):如果傳輸設(shè)施不可靠或接受方處理的時(shí)間過長(zhǎng)

5、,則消缺點(diǎn):如果傳輸設(shè)施不可靠或接受方處理的時(shí)間過長(zhǎng),則消息會(huì)丟失,發(fā)送方一直或長(zhǎng)時(shí)間息會(huì)丟失,發(fā)送方一直或長(zhǎng)時(shí)間等待等待發(fā)送方發(fā)請(qǐng)求給接受方,然后等待,直到收到請(qǐng)求接收的應(yīng)發(fā)送方發(fā)請(qǐng)求給接受方,然后等待,直到收到請(qǐng)求接收的應(yīng)答才繼續(xù)原先的操作答才繼續(xù)原先的操作缺點(diǎn)缺點(diǎn):接受方需要向發(fā)送方回送應(yīng)答信息,發(fā)送方可能:接受方需要向發(fā)送方回送應(yīng)答信息,發(fā)送方可能阻塞阻塞發(fā)送方發(fā)請(qǐng)求給接受方,繼續(xù)操作,每隔一定的時(shí)間,發(fā)送發(fā)送方發(fā)請(qǐng)求給接受方,繼續(xù)操作,每隔一定的時(shí)間,發(fā)送方檢驗(yàn)是否收到應(yīng)答;收到應(yīng)答后不再輪詢方檢驗(yàn)是否收到應(yīng)答;收到應(yīng)答后不再輪詢?nèi)秉c(diǎn):需要輪詢,設(shè)計(jì)難度可能缺點(diǎn):需要輪詢,設(shè)計(jì)難度可

6、能大大2022-5-25132022-5-2514發(fā)送方發(fā)請(qǐng)求給接受方,不再關(guān)心請(qǐng)求,繼續(xù)發(fā)送方發(fā)請(qǐng)求給接受方,不再關(guān)心請(qǐng)求,繼續(xù)處理處理缺點(diǎn);若傳輸設(shè)施不可靠,會(huì)丟失缺點(diǎn);若傳輸設(shè)施不可靠,會(huì)丟失請(qǐng)求請(qǐng)求發(fā)送方發(fā)請(qǐng)求給登記處,由登記處決定接受方;接受方需發(fā)送方發(fā)請(qǐng)求給登記處,由登記處決定接受方;接受方需要在登記處進(jìn)行要在登記處進(jìn)行登記登記缺點(diǎn):設(shè)計(jì)復(fù)雜些缺點(diǎn):設(shè)計(jì)復(fù)雜些發(fā)送方把請(qǐng)求發(fā)送給所有的接受方,由接受方通過檢查消發(fā)送方把請(qǐng)求發(fā)送給所有的接受方,由接受方通過檢查消息內(nèi)容來決定是否接收息內(nèi)容來決定是否接收處理處理缺點(diǎn);可能造成傳輸缺點(diǎn);可能造成傳輸瓶頸瓶頸2022-5-2515是否使用返回

7、是否使用返回消息、依賴于建模的具體抽象程度。如果需要較好消息、依賴于建模的具體抽象程度。如果需要較好的具體化,返回消息是有用的;否則,主動(dòng)消息就足的具體化,返回消息是有用的;否則,主動(dòng)消息就足夠了夠了在對(duì)系統(tǒng)建模時(shí),可以用簡(jiǎn)單消息表示所有的消息,在對(duì)系統(tǒng)建模時(shí),可以用簡(jiǎn)單消息表示所有的消息,然后再根據(jù)情況確定消息的類型然后再根據(jù)情況確定消息的類型2022-5-2516激活表示該對(duì)象被占用以完成某個(gè)任務(wù)激活表示該對(duì)象被占用以完成某個(gè)任務(wù)去激活指的是對(duì)象處于空閑狀態(tài),在等待消息去激活指的是對(duì)象處于空閑狀態(tài),在等待消息在在UMLUML中,為了表示對(duì)象是激活的,可以將對(duì)象的生命線中,為了表示對(duì)象是激活

8、的,可以將對(duì)象的生命線拓寬成為拓寬成為矩形矩形,其中的矩形稱為激活條或控制期。對(duì)象就,其中的矩形稱為激活條或控制期。對(duì)象就是在激活條的頂部被激活的是在激活條的頂部被激活的對(duì)象在完成自己的工作后被去激活,這通常發(fā)生在一個(gè)消對(duì)象在完成自己的工作后被去激活,這通常發(fā)生在一個(gè)消息箭頭離開對(duì)象生命線的時(shí)候息箭頭離開對(duì)象生命線的時(shí)候2022-5-25172022-5-2518Object1Object21: message2022-5-2519時(shí)序圖中對(duì)象的默認(rèn)位置是在圖的頂部,如果對(duì)象在這個(gè)時(shí)序圖中對(duì)象的默認(rèn)位置是在圖的頂部,如果對(duì)象在這個(gè)位置上,說明對(duì)象在交互開始之前已經(jīng)存在了位置上,說明對(duì)象在交互開

9、始之前已經(jīng)存在了如果對(duì)象是在交互的過程中創(chuàng)建的,那么應(yīng)當(dāng)位于圖的中如果對(duì)象是在交互的過程中創(chuàng)建的,那么應(yīng)當(dāng)位于圖的中間部間部分分創(chuàng)建一個(gè)對(duì)象的主要步驟是發(fā)送一個(gè)消息到該對(duì)象,對(duì)象被創(chuàng)建后就會(huì)有生命線在處理新創(chuàng)建的對(duì)象,或順序圖中的其他對(duì)象時(shí),都可以發(fā)送 消息來刪除對(duì)象2022-5-25202022-5-25212022-5-2522當(dāng)用戶登錄失敗后,將創(chuàng)建一個(gè)當(dāng)用戶登錄失敗后,將創(chuàng)建一個(gè) MessageBoxMessageBox 對(duì)象以提示用戶對(duì)象以提示用戶登錄錯(cuò)誤登錄錯(cuò)誤2022-5-2523分支分支允許控制流走向不同的對(duì)象允許控制流走向不同的對(duì)象分支消息的開始位置是相同的分支消息的結(jié)束“高

10、度”也是相同的。這說明在下一步的執(zhí)行中有一個(gè)對(duì)象將被調(diào)用根據(jù)條件是否互斥,可以有條件和并行兩種結(jié)構(gòu)從屬?gòu)膶倭髁髦钢傅氖菑耐稽c(diǎn)發(fā)出多個(gè)消息指向同一個(gè)對(duì)象的是從同一點(diǎn)發(fā)出多個(gè)消息指向同一個(gè)對(duì)象的不同的不同生命線生命線允許某一個(gè)對(duì)象根據(jù)不同的條件改變執(zhí)行不同的操作2022-5-25242022-5-25252022-5-25262022-5-2527注釋說明:延時(shí)的約束條件注釋說明:延時(shí)的約束條件SendtimeSendtime和和receive timereceive time為為UMLUML自定義的自定義的兩個(gè)函數(shù)兩個(gè)函數(shù)1. 1.設(shè)置設(shè)置交互的語境,這些語境可以是系統(tǒng)、子系統(tǒng)、操作、交互的語

11、境,這些語境可以是系統(tǒng)、子系統(tǒng)、操作、類、用例或協(xié)作的類、用例或協(xié)作的腳本腳本2. 2.通過通過識(shí)別對(duì)象在交互中扮演的角色,設(shè)置交互的場(chǎng)景。識(shí)別對(duì)象在交互中扮演的角色,設(shè)置交互的場(chǎng)景。以從左到右的順序?qū)?duì)象放到時(shí)序圖的上方,其中較重以從左到右的順序?qū)?duì)象放到時(shí)序圖的上方,其中較重要的放在左邊,與它們相鄰的對(duì)象放在要的放在左邊,與它們相鄰的對(duì)象放在右邊右邊2022-5-25283. 3.為每個(gè)對(duì)象設(shè)置生命線。通常情況下,對(duì)象存在于整個(gè)為每個(gè)對(duì)象設(shè)置生命線。通常情況下,對(duì)象存在于整個(gè)交互過程中。對(duì)于那些在交互期間創(chuàng)建和撤銷的對(duì)象,交互過程中。對(duì)于那些在交互期間創(chuàng)建和撤銷的對(duì)象,在適當(dāng)?shù)臅r(shí)刻設(shè)置它們

12、的生命線,并用適當(dāng)?shù)臉?gòu)造型消在適當(dāng)?shù)臅r(shí)刻設(shè)置它們的生命線,并用適當(dāng)?shù)臉?gòu)造型消息顯式地說明它們的創(chuàng)建和撤銷息顯式地說明它們的創(chuàng)建和撤銷4. 4.從引發(fā)某個(gè)消息的信息開始,在生命線之間畫出從頂?shù)綇囊l(fā)某個(gè)消息的信息開始,在生命線之間畫出從頂?shù)降滓来握归_的消息,顯示每個(gè)消息的特性底依次展開的消息,顯示每個(gè)消息的特性( (如參數(shù)如參數(shù)) )。若。若有需要,解釋交互的語義有需要,解釋交互的語義5. 5.如果需要可視化消息的嵌套或?qū)嶋H計(jì)算發(fā)生時(shí)的時(shí)間點(diǎn),如果需要可視化消息的嵌套或?qū)嶋H計(jì)算發(fā)生時(shí)的時(shí)間點(diǎn),可以用激活修飾每個(gè)對(duì)象的生命期可以用激活修飾每個(gè)對(duì)象的生命期6. 6.如果需要說明時(shí)間或空間的約束,可以

13、用時(shí)間標(biāo)記修飾如果需要說明時(shí)間或空間的約束,可以用時(shí)間標(biāo)記修飾每個(gè)消息,并附上合適的時(shí)間和空間約束每個(gè)消息,并附上合適的時(shí)間和空間約束7. 7.如果需要形式化地說明某控制流,可以為每個(gè)消息附上如果需要形式化地說明某控制流,可以為每個(gè)消息附上前置和后置條件前置和后置條件2022-5-25292022-5-2530一個(gè)單獨(dú)的順序圖只能顯示一個(gè)控制流,通常說來,一個(gè)完整的控制流肯定是復(fù)雜的,所以將一個(gè)大的流分為幾個(gè)部分放在不同的圖中是比較合適的使用使用Rational RoseRational Rose繪制順序圖的步驟繪制順序圖的步驟圖書館管理系統(tǒng)的順序圖圖書館管理系統(tǒng)的順序圖2022-5-2531

14、1創(chuàng)建時(shí)序圖要?jiǎng)?chuàng)建時(shí)序圖,可以在要?jiǎng)?chuàng)建時(shí)序圖,可以在“Use Case View”Use Case View”的圖標(biāo)上單的圖標(biāo)上單擊鼠標(biāo)右鍵,在彈出的菜單中選擇擊鼠標(biāo)右鍵,在彈出的菜單中選擇New-Sequence New-Sequence DiagramDiagram2022-5-2532 在“use Case View”目錄下將創(chuàng)建順序圖“New Diagram”,右鍵單擊時(shí)序圖的圖標(biāo),在彈出菜單中選擇Rename,可以更改創(chuàng)建的時(shí)序圖的名字 建立時(shí)序圖以后,雙擊時(shí)序圖的圖標(biāo),將出現(xiàn)順序圖的繪制區(qū)域2時(shí)序圖工具欄按鈕簡(jiǎn)介下表所示列出了時(shí)序圖工具欄中各個(gè)按鈕的圖標(biāo)、按鈕名字及其作用。按鈕名稱

15、作用Select Tool選擇一項(xiàng)Text Box添加文本框Note添加注釋Anchor Note Item將圖中的元素與注釋相連Object添加對(duì)象Object Message在兩個(gè)對(duì)象間增加消息Message to Self添加反身消息Return Message返回消息Destruction Marker生命線的中止符3添加對(duì)象 順序圖與對(duì)象密不可分,要繪制時(shí)序圖,首先要添加對(duì)象。(1)向順序圖增加對(duì)象。要將對(duì)象添加到順序圖,首先點(diǎn)擊工具欄中的圖標(biāo)按鈕,然后在繪制區(qū)域要放置對(duì)象的位置單擊鼠標(biāo)左鍵。下圖所示顯示了一個(gè)已繪制的對(duì)象。(2)設(shè)置對(duì)象屬性。新創(chuàng)建的對(duì)象需要一個(gè)有意義的對(duì)象名字,可

16、以修改對(duì)象的屬性信息,如名字“Name”和文檔說明“Documentation”等。要修改對(duì)象屬性,可以雙擊相應(yīng)的動(dòng)作圖標(biāo),在彈出的對(duì)話框的“General”選項(xiàng)卡里修改,如下圖所示。 提示:也可以選中要改變屬性的對(duì)象,右鍵單擊,在彈出的菜單中選擇【Open Specification】菜單項(xiàng)打開屬性設(shè)置對(duì)話框。(3)設(shè)置對(duì)象持續(xù)性??梢栽O(shè)置每個(gè)對(duì)象的持續(xù)性,Rose中提供了3個(gè)選項(xiàng)?!俺掷m(xù)(Persistent)”對(duì)象保存到數(shù)據(jù)庫或其他形式的永久存儲(chǔ)體中,即使程序終止,對(duì)象依然存在?!办o態(tài)(Static)”對(duì)象保存在內(nèi)存中直到程序終止?!芭R時(shí)(Transient)”對(duì)象只是在短時(shí)間內(nèi)保存在內(nèi)

17、存中。 要設(shè)置對(duì)象持續(xù)性,右鍵單擊要設(shè)置持續(xù)性的對(duì)象,從彈出菜單中選擇“Open Specification”。在出現(xiàn)的對(duì)話框的“General”選項(xiàng)卡中的“Persistence”字段中選擇相應(yīng)的單選鈕“Persistent”、“Static”和“Transient”,如上圖所示。4添加消息 消息是對(duì)象間的通信,一個(gè)對(duì)象可以請(qǐng)求另一個(gè)對(duì)象做某件事。在時(shí)序圖中,消息用兩個(gè)對(duì)象生命線之間的箭頭表示。(1)增加對(duì)象間的消息。要增加對(duì)象之間的消息,首先點(diǎn)擊工具欄中的圖標(biāo)按鈕,然后將鼠標(biāo)從發(fā)送消息的對(duì)象或角色的生命線拖動(dòng)到接收消息的對(duì)象或角色的生命線,如下圖左所示。 消息繪制出來以后,還要輸入消息文本

18、。雙擊表示消息的箭頭,在彈出的對(duì)話框的“Name”字段里輸入要添加的文本,如下圖右所示。(2)顯示或取消消息編號(hào)。消息編號(hào)在時(shí)序圖中是可選的,可以打開或關(guān)閉消息編號(hào)。要打開消息編號(hào),選擇菜單欄的【Tools-Options】菜單項(xiàng),在出現(xiàn)的對(duì)話框中選擇“Diagram”選項(xiàng)卡,如下圖左所示。 將“Sequence numbering”復(fù)選框勾選,就可以顯示消息編號(hào);如果不勾選,消息編號(hào)不會(huì)顯示在時(shí)序圖中。(3)顯示或取消激活顯示。在時(shí)序圖中,可以顯示激活,也可以不顯示。要顯示激活,選擇菜單欄的【Tools-Options】菜單項(xiàng);在出現(xiàn)的對(duì)話框中選擇“Diagram”選項(xiàng)卡,如下圖右所示。 將

19、“Focus of control”復(fù)選框勾選,就可以顯示激活。如果不勾選,激活不會(huì)顯示在時(shí)序圖中。圖書館管理系統(tǒng)中的順序圖圖書館管理系統(tǒng)中的順序圖 在圖書館管理系統(tǒng)中,每個(gè)用例都可以建立一個(gè)時(shí)序圖,將用例執(zhí)行中各個(gè)參與的對(duì)象之間的消息傳遞過程表現(xiàn)出來。由于圖書館管理系統(tǒng)中用例很多,此處只介紹幾個(gè)重要的時(shí)序圖。1系統(tǒng)管理員添加書籍的時(shí)序圖【時(shí)序圖說明】(1)add Item():添加書籍函數(shù)。(2)find(String):根據(jù)書籍查找相應(yīng)書目的函數(shù)。(3)create(integer,Title):修改書籍?dāng)?shù)目的函數(shù)。1 1. .系統(tǒng)系統(tǒng)管理員添加書籍的時(shí)序圖管理員添加書籍的時(shí)序圖 : Item : Administrator : Maintenance Window : Title1: add item( )4: create(Integer, Title)Check if

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論