華師大面向?qū)ο蟪绦蛟O(shè)計(jì)-Lec08_第5章順序圖_第1頁(yè)
華師大面向?qū)ο蟪绦蛟O(shè)計(jì)-Lec08_第5章順序圖_第2頁(yè)
華師大面向?qū)ο蟪绦蛟O(shè)計(jì)-Lec08_第5章順序圖_第3頁(yè)
華師大面向?qū)ο蟪绦蛟O(shè)計(jì)-Lec08_第5章順序圖_第4頁(yè)
華師大面向?qū)ο蟪绦蛟O(shè)計(jì)-Lec08_第5章順序圖_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1第第5章章 順序圖順序圖用例圖描述了系統(tǒng)必須做什么;類圖描述了組成系統(tǒng)結(jié)構(gòu)各部分的各種類型。這缺少一部分內(nèi)容,因?yàn)閱螒{用例和類還無(wú)法描述系統(tǒng)實(shí)際上將如何運(yùn)作。為了滿足這方面的要求,這就需要使用交互圖,特別是順序圖。順序圖作為交互圖的重要成員,它描述了系統(tǒng)運(yùn)行時(shí)各對(duì)象之間的如何進(jìn)行交互。除順序圖外,UML2.0中的交互視圖還包括:通信圖和時(shí)序圖。使用這幾種圖可以幫助用戶準(zhǔn)確地為組成系統(tǒng)各部分之間如何交互建模。2本章學(xué)習(xí)要點(diǎn): 理解為什么要建模順序圖 理解協(xié)作圖的作用 了解順序圖中的組成 了解順序圖中的消息類型 能夠在順序圖建模創(chuàng)建對(duì)象和迭代 理解消息的控制,并能夠使用條件控制消息 理解消息中的

2、參數(shù) 理解順序圖中的順序片段 建造簡(jiǎn)單的順序圖35.1 定義順序圖定義順序圖 順序圖描述了對(duì)象之間傳遞消息的時(shí)間順序,它用來(lái)表示用例中的行為順序。當(dāng)執(zhí)行一個(gè)用例行為時(shí),順序圖中的每條消息對(duì)應(yīng)了一個(gè)類操作或狀態(tài)機(jī)中引起轉(zhuǎn)換的觸發(fā)事件。它著重顯示了參與相互作用的對(duì)象和所交換消息的順序。 順序圖代表了一個(gè)相互作用、在以時(shí)間為次序的對(duì)象之間的通訊集合。不同于協(xié)作圖,順序圖包括時(shí)間順序但是不包括對(duì)象聯(lián)系。它可以以描述形式存在,也可以以實(shí)例形式存在。順序圖和協(xié)作圖表達(dá)了相似的信息,但是它們以不同的方式顯示。45.2 順序圖的組成順序圖的組成順序圖主要有4個(gè)標(biāo)記符:對(duì)象、生命線、消息和激活。在UML中,順序

3、圖用一個(gè)二維圖描述系統(tǒng)中各個(gè)對(duì)象之間的交互關(guān)系。其中,縱軸是時(shí)間軸,時(shí)間沿豎線向下延伸。橫軸代表了參與相互作用的對(duì)象。當(dāng)對(duì)象存在時(shí),生命線有一條虛線表示,當(dāng)對(duì)象的過(guò)程處于激活狀態(tài)時(shí),生命線是一雙道線。消息用從一個(gè)對(duì)象到另一個(gè)對(duì)象生命線的箭頭表示。箭頭以時(shí)間順序在圖中從上到下排列,如圖5-1所示。從該圖容易看出,順充圖清楚地描述了隨時(shí)間順序推移的控制流軌跡。5.2.1 對(duì)象與生命線對(duì)象與生命線類定義了對(duì)象可以執(zhí)行的各種行為,從但是在面向?qū)ο蟮南到y(tǒng)中,行為的執(zhí)行者是對(duì)象,而不是類,因此協(xié)作圖通常描述的是對(duì)象層次而不是類層次。對(duì)象可以是系統(tǒng)的參與者或者任何有效的系統(tǒng)對(duì)象。順序圖中的每個(gè)對(duì)象顯示在單獨(dú)

4、的列里。一個(gè)對(duì)象標(biāo)識(shí)符(帶有對(duì)象名稱的矩形框)放置在代表生成這個(gè)對(duì)象的消息的箭頭的末端,其垂直位置表示這個(gè)對(duì)象第一次生成的時(shí)間。如果一個(gè)對(duì)象在順序圖的第一個(gè)操作之前就存在,對(duì)象標(biāo)記符就應(yīng)畫在任何消息之前順序圖的頂部。將對(duì)象置于順序圖的頂部意味著在開始的時(shí)候?qū)ο缶鸵呀?jīng)存在。與此相反,如果對(duì)象的位置不在頂部,那么表示對(duì)象是在對(duì)象的交互過(guò)程中,由其他對(duì)象創(chuàng)建。 5.2.2 消息消息在任何一個(gè)軟件系統(tǒng)中,對(duì)象都不是孤立存在的,它們之間通過(guò)消息進(jìn)行通信。消息是用來(lái)說(shuō)明順序圖中不同活動(dòng)對(duì)象之間的通信,因此,消息可以激發(fā)某個(gè)操作、創(chuàng)建或解構(gòu)某對(duì)象。在順序圖中,消息是從一對(duì)象的生命線指向另一個(gè)對(duì)象的生命線的直

5、線箭頭來(lái)表示,箭頭上面還可以表明要發(fā)送的消息名。在各對(duì)象間,消息發(fā)送的次序由它們?cè)诖怪陛S上的相對(duì)位置決定。如圖所示,發(fā)送消息2的時(shí)間是在發(fā)送消息1之后。65.3.3 激活激活 當(dāng)一條消息被傳遞給對(duì)象的時(shí)候,它會(huì)觸發(fā)該對(duì)象的某個(gè)行為,這時(shí)就說(shuō)該對(duì)象被激活了。在生命線上,激活用一個(gè)細(xì)長(zhǎng)的矩形框表示。如圖所示,矩形本身被稱為對(duì)象的控制期,控制期說(shuō)明對(duì)象正在執(zhí)行某個(gè)動(dòng)作。75.4 創(chuàng)建對(duì)象和分支、從屬流創(chuàng)建對(duì)象和分支、從屬流 到目前為止,順序圖中的對(duì)象在創(chuàng)建順序圖都已經(jīng)創(chuàng)建好的。事實(shí)上,順序圖中的對(duì)象并不一定需要在順序圖的整個(gè)交互期間存活,對(duì)象可以根據(jù)傳遞進(jìn)來(lái)的消息創(chuàng)建或銷毀。在本節(jié)將學(xué)習(xí)如何在創(chuàng)建順

6、序圖的過(guò)程中創(chuàng)建對(duì)象,以及使用分支和從屬流來(lái)控制順序圖的控制流。85.4.1 創(chuàng)建對(duì)象創(chuàng)建對(duì)象對(duì)象的創(chuàng)建有幾種情況,在前面講述對(duì)象生命線時(shí),曾經(jīng)說(shuō)過(guò),對(duì)象的默認(rèn)位置在圖的頂部,如果對(duì)象在這個(gè)位置上,那么說(shuō)明在發(fā)送消息時(shí),該對(duì)象就已經(jīng)存在;如果對(duì)象在執(zhí)行的過(guò)程中創(chuàng)建的,那么它應(yīng)該處在圖的中間部分。即時(shí)創(chuàng)建對(duì)象標(biāo)記符如圖中的示例所示。創(chuàng)建一個(gè)對(duì)象的主要步驟是發(fā)送一個(gè)create消息到該對(duì)象。對(duì)象被創(chuàng)建后就會(huì)有生命線,這與順序圖中的任何其他對(duì)象一樣。創(chuàng)建一個(gè)對(duì)象后,就可以像順序圖中的其他對(duì)象那樣來(lái)發(fā)送和接收消息。在處理新創(chuàng)建的對(duì)象,或順序圖中的其他對(duì)象時(shí),都可以發(fā)送destroys消息來(lái)刪除對(duì)象。要

7、想說(shuō)明某個(gè)對(duì)象被銷毀,需要在被銷毀對(duì)象的生命線上放一個(gè)X字符。95.4.2 分支和從屬流分支和從屬流 有兩種方式來(lái)修改順序圖的控制流:使用分支和使用從屬流??刂屏鞯母淖兪怯捎诓煌臈l件導(dǎo)致控制流走向不同的道路。分支允許控制流走向不同的對(duì)象。如圖 105.5 建模時(shí)間建模時(shí)間消息箭頭通常是水平的,說(shuō)明傳遞消息的時(shí)間很短,在此期間不會(huì)“發(fā)生”其他事件。對(duì)多數(shù)計(jì)算而言,這是正確的假設(shè)。但有時(shí)從一個(gè)對(duì)象到另一個(gè)對(duì)象之間的消息之間可能存在一定的時(shí)間延遲,即消息傳遞不是瞬間完成的。如果消息的傳送需要一定時(shí)間,在此期間可以出現(xiàn)其他事件(來(lái)自對(duì)方的消息到達(dá)),則消息箭頭可以畫為向下傾斜的。這種情況發(fā)生在兩個(gè)應(yīng)

8、用程序通過(guò)網(wǎng)絡(luò)相互通信時(shí)。如圖 115.6 建模迭代建模迭代通過(guò)建模迭代可以實(shí)現(xiàn)消息的重復(fù)執(zhí)行。在順序圖中,建模人員常用的建模迭代消息是通過(guò)一個(gè)矩形把重復(fù)執(zhí)行的消息包括在矩形框中,并且提供一個(gè)控制重復(fù)執(zhí)行的控制條件。如圖所示重復(fù)執(zhí)行的消息。125.7 消息中的參數(shù)和序號(hào)消息中的參數(shù)和序號(hào)順序圖中的消息除了具有消息名稱之外還可以包含許多附加的信息。例如,在消息中包含參數(shù),返回值和序列表達(dá)式。消息可以與類中的操作等效。即消息可以帶有可傳遞到被調(diào)用對(duì)象的參數(shù)列表,并且最多可以包含一個(gè)返回給調(diào)用對(duì)象的返回值。下面的示例演示了如何使用指定參數(shù)和返回值的消息來(lái)計(jì)算并且返回一個(gè)數(shù)平均值。如圖所示:135.8

9、 管理復(fù)雜交互的順序片段管理復(fù)雜交互的順序片段 對(duì)于使用過(guò)UML1.x順序圖的人而言,上述內(nèi)容已經(jīng)相當(dāng)熟悉。這對(duì)于簡(jiǎn)單交互而言已經(jīng)足夠。在UML2.0中,為了幫助建模者處理順序圖中需要捕捉的細(xì)節(jié),創(chuàng)建有組織且結(jié)構(gòu)化的順序圖,以顯示復(fù)雜的交互,例如循環(huán)和迭代。為此UML2.0提供了順序圖片段。145.9 建造順序圖模型建造順序圖模型 創(chuàng)建順序圖模型包含4個(gè)項(xiàng)任務(wù): 確定需要建模的用例。 確定用例的工作流 確定各工作流所涉及的對(duì)象,并按從左到右順序進(jìn)行布置。 添加消息和條件以便創(chuàng)建每一個(gè)工作流155.9.1 確定用例與工作流確定用例與工作流 建模順序圖的第一步是確定要建模的用例。系統(tǒng)的完整順序圖模

10、型是為每一個(gè)用例創(chuàng)建順序圖。在本練習(xí)中,將只對(duì)系統(tǒng)的借閱圖書用例建模順序,因此,這里只考慮借閱圖書用例及其工作流。借閱圖書用例包至少括4個(gè)工作流: 借閱圖書操作一切正常。 在借閱圖書操作的過(guò)程中,被提醒該學(xué)生有超期借閱信息。 所借圖書數(shù)目已經(jīng)超過(guò)規(guī)定。 借閱者的借閱證失效165.9.2 布置對(duì)象與添加消息布置對(duì)象與添加消息 在確定用例的工作流后,下一步是從左到右布置工作流所涉及到的所有參與者和對(duì)象。因?yàn)檫@里只演示借閱圖書用例的順序圖,該用例只與圖書管理員一個(gè)參與者相關(guān),所以圖中只繪制了一個(gè)參與者圖書管理員。 接下來(lái)就要為每個(gè)工作流作為獨(dú)立的順序圖建模。從基本的工作流開始,它是沒(méi)有出現(xiàn)其他情況,并且需要的決策最少的工作流。 17練習(xí): 下面列出了打印文件時(shí)的工作流: 用戶通過(guò)計(jì)算機(jī)指定要打印的文件。 打印服務(wù)器根據(jù)打印機(jī)是否空閑,操作打印機(jī)打印文件。 如果打印機(jī)空閑,則打印機(jī)打印文件; 如果打印機(jī)忙,則將打印消息存放在隊(duì)列中等待。 經(jīng)分析人員分析確認(rèn),該系統(tǒng)共有四個(gè)對(duì)象Computer、PrintServer、Printer和Queue。請(qǐng)給出對(duì)應(yīng)用于該工作流的順序圖。1819下面是一個(gè)客戶在ATM機(jī)上取款工作流??蛻暨x擇取款功能選項(xiàng)。系統(tǒng)提示插入IC卡??蛻舨迦隝C卡后,系統(tǒng)提示用戶

溫馨提示

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