




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1第第5章章 順序圖順序圖用例圖描述了系統(tǒng)必須做什么;類圖描述了組成系統(tǒng)結(jié)構(gòu)各部分的各種類型。這缺少一部分內(nèi)容,因為單憑用例和類還無法描述系統(tǒng)實際上將如何運作。為了滿足這方面的要求,這就需要使用交互圖,特別是順序圖。順序圖作為交互圖的重要成員,它描述了系統(tǒng)運行時各對象之間的如何進行交互。除順序圖外,UML2.0中的交互視圖還包括:通信圖和時序圖。使用這幾種圖可以幫助用戶準確地為組成系統(tǒng)各部分之間如何交互建模。2本章學(xué)習(xí)要點: 理解為什么要建模順序圖 理解協(xié)作圖的作用 了解順序圖中的組成 了解順序圖中的消息類型 能夠在順序圖建模創(chuàng)建對象和迭代 理解消息的控制,并能夠使用條件控制消息 理解消息中的
2、參數(shù) 理解順序圖中的順序片段 建造簡單的順序圖35.1 定義順序圖定義順序圖 順序圖描述了對象之間傳遞消息的時間順序,它用來表示用例中的行為順序。當執(zhí)行一個用例行為時,順序圖中的每條消息對應(yīng)了一個類操作或狀態(tài)機中引起轉(zhuǎn)換的觸發(fā)事件。它著重顯示了參與相互作用的對象和所交換消息的順序。 順序圖代表了一個相互作用、在以時間為次序的對象之間的通訊集合。不同于協(xié)作圖,順序圖包括時間順序但是不包括對象聯(lián)系。它可以以描述形式存在,也可以以實例形式存在。順序圖和協(xié)作圖表達了相似的信息,但是它們以不同的方式顯示。45.2 順序圖的組成順序圖的組成順序圖主要有4個標記符:對象、生命線、消息和激活。在UML中,順序
3、圖用一個二維圖描述系統(tǒng)中各個對象之間的交互關(guān)系。其中,縱軸是時間軸,時間沿豎線向下延伸。橫軸代表了參與相互作用的對象。當對象存在時,生命線有一條虛線表示,當對象的過程處于激活狀態(tài)時,生命線是一雙道線。消息用從一個對象到另一個對象生命線的箭頭表示。箭頭以時間順序在圖中從上到下排列,如圖5-1所示。從該圖容易看出,順充圖清楚地描述了隨時間順序推移的控制流軌跡。5.2.1 對象與生命線對象與生命線類定義了對象可以執(zhí)行的各種行為,從但是在面向?qū)ο蟮南到y(tǒng)中,行為的執(zhí)行者是對象,而不是類,因此協(xié)作圖通常描述的是對象層次而不是類層次。對象可以是系統(tǒng)的參與者或者任何有效的系統(tǒng)對象。順序圖中的每個對象顯示在單獨
4、的列里。一個對象標識符(帶有對象名稱的矩形框)放置在代表生成這個對象的消息的箭頭的末端,其垂直位置表示這個對象第一次生成的時間。如果一個對象在順序圖的第一個操作之前就存在,對象標記符就應(yīng)畫在任何消息之前順序圖的頂部。將對象置于順序圖的頂部意味著在開始的時候?qū)ο缶鸵呀?jīng)存在。與此相反,如果對象的位置不在頂部,那么表示對象是在對象的交互過程中,由其他對象創(chuàng)建。 5.2.2 消息消息在任何一個軟件系統(tǒng)中,對象都不是孤立存在的,它們之間通過消息進行通信。消息是用來說明順序圖中不同活動對象之間的通信,因此,消息可以激發(fā)某個操作、創(chuàng)建或解構(gòu)某對象。在順序圖中,消息是從一對象的生命線指向另一個對象的生命線的直
5、線箭頭來表示,箭頭上面還可以表明要發(fā)送的消息名。在各對象間,消息發(fā)送的次序由它們在垂直軸上的相對位置決定。如圖所示,發(fā)送消息2的時間是在發(fā)送消息1之后。65.3.3 激活激活 當一條消息被傳遞給對象的時候,它會觸發(fā)該對象的某個行為,這時就說該對象被激活了。在生命線上,激活用一個細長的矩形框表示。如圖所示,矩形本身被稱為對象的控制期,控制期說明對象正在執(zhí)行某個動作。75.4 創(chuàng)建對象和分支、從屬流創(chuàng)建對象和分支、從屬流 到目前為止,順序圖中的對象在創(chuàng)建順序圖都已經(jīng)創(chuàng)建好的。事實上,順序圖中的對象并不一定需要在順序圖的整個交互期間存活,對象可以根據(jù)傳遞進來的消息創(chuàng)建或銷毀。在本節(jié)將學(xué)習(xí)如何在創(chuàng)建順
6、序圖的過程中創(chuàng)建對象,以及使用分支和從屬流來控制順序圖的控制流。85.4.1 創(chuàng)建對象創(chuàng)建對象對象的創(chuàng)建有幾種情況,在前面講述對象生命線時,曾經(jīng)說過,對象的默認位置在圖的頂部,如果對象在這個位置上,那么說明在發(fā)送消息時,該對象就已經(jīng)存在;如果對象在執(zhí)行的過程中創(chuàng)建的,那么它應(yīng)該處在圖的中間部分。即時創(chuàng)建對象標記符如圖中的示例所示。創(chuàng)建一個對象的主要步驟是發(fā)送一個create消息到該對象。對象被創(chuàng)建后就會有生命線,這與順序圖中的任何其他對象一樣。創(chuàng)建一個對象后,就可以像順序圖中的其他對象那樣來發(fā)送和接收消息。在處理新創(chuàng)建的對象,或順序圖中的其他對象時,都可以發(fā)送destroys消息來刪除對象。要
7、想說明某個對象被銷毀,需要在被銷毀對象的生命線上放一個X字符。95.4.2 分支和從屬流分支和從屬流 有兩種方式來修改順序圖的控制流:使用分支和使用從屬流。控制流的改變是由于不同的條件導(dǎo)致控制流走向不同的道路。分支允許控制流走向不同的對象。如圖 105.5 建模時間建模時間消息箭頭通常是水平的,說明傳遞消息的時間很短,在此期間不會“發(fā)生”其他事件。對多數(shù)計算而言,這是正確的假設(shè)。但有時從一個對象到另一個對象之間的消息之間可能存在一定的時間延遲,即消息傳遞不是瞬間完成的。如果消息的傳送需要一定時間,在此期間可以出現(xiàn)其他事件(來自對方的消息到達),則消息箭頭可以畫為向下傾斜的。這種情況發(fā)生在兩個應(yīng)
8、用程序通過網(wǎng)絡(luò)相互通信時。如圖 115.6 建模迭代建模迭代通過建模迭代可以實現(xiàn)消息的重復(fù)執(zhí)行。在順序圖中,建模人員常用的建模迭代消息是通過一個矩形把重復(fù)執(zhí)行的消息包括在矩形框中,并且提供一個控制重復(fù)執(zhí)行的控制條件。如圖所示重復(fù)執(zhí)行的消息。125.7 消息中的參數(shù)和序號消息中的參數(shù)和序號順序圖中的消息除了具有消息名稱之外還可以包含許多附加的信息。例如,在消息中包含參數(shù),返回值和序列表達式。消息可以與類中的操作等效。即消息可以帶有可傳遞到被調(diào)用對象的參數(shù)列表,并且最多可以包含一個返回給調(diào)用對象的返回值。下面的示例演示了如何使用指定參數(shù)和返回值的消息來計算并且返回一個數(shù)平均值。如圖所示:135.8
9、 管理復(fù)雜交互的順序片段管理復(fù)雜交互的順序片段 對于使用過UML1.x順序圖的人而言,上述內(nèi)容已經(jīng)相當熟悉。這對于簡單交互而言已經(jīng)足夠。在UML2.0中,為了幫助建模者處理順序圖中需要捕捉的細節(jié),創(chuàng)建有組織且結(jié)構(gòu)化的順序圖,以顯示復(fù)雜的交互,例如循環(huán)和迭代。為此UML2.0提供了順序圖片段。145.9 建造順序圖模型建造順序圖模型 創(chuàng)建順序圖模型包含4個項任務(wù): 確定需要建模的用例。 確定用例的工作流 確定各工作流所涉及的對象,并按從左到右順序進行布置。 添加消息和條件以便創(chuàng)建每一個工作流155.9.1 確定用例與工作流確定用例與工作流 建模順序圖的第一步是確定要建模的用例。系統(tǒng)的完整順序圖模
10、型是為每一個用例創(chuàng)建順序圖。在本練習(xí)中,將只對系統(tǒng)的借閱圖書用例建模順序,因此,這里只考慮借閱圖書用例及其工作流。借閱圖書用例包至少括4個工作流: 借閱圖書操作一切正常。 在借閱圖書操作的過程中,被提醒該學(xué)生有超期借閱信息。 所借圖書數(shù)目已經(jīng)超過規(guī)定。 借閱者的借閱證失效165.9.2 布置對象與添加消息布置對象與添加消息 在確定用例的工作流后,下一步是從左到右布置工作流所涉及到的所有參與者和對象。因為這里只演示借閱圖書用例的順序圖,該用例只與圖書管理員一個參與者相關(guān),所以圖中只繪制了一個參與者圖書管理員。 接下來就要為每個工作流作為獨立的順序圖建模。從基本的工作流開始,它是沒有出現(xiàn)其他情況,并且需要的決策最少的工作流。 17練習(xí): 下面列出了打印文件時的工作流: 用戶通過計算機指定要打印的文件。 打印服務(wù)器根據(jù)打印機是否空閑,操作打印機打印文件。 如果打印機空閑,則打印機打印文件; 如果打印機忙,則將打印消息存放在隊列中等待。 經(jīng)分析人員分析確認,該系統(tǒng)共有四個對象Computer、PrintServer、Printer和Queue。請給出對應(yīng)用于該工作流的順序圖。1819下面是一個客戶在ATM機上取款工作流??蛻暨x擇取款功能選項。系統(tǒng)提示插入IC卡??蛻舨迦隝C卡后,系統(tǒng)提示用戶
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧省本溪市2024-2025學(xué)年初三中考全真模擬考試數(shù)學(xué)試題含解析
- 江陰山觀二中2024-2025學(xué)年初三下學(xué)期期末質(zhì)量調(diào)查化學(xué)試題含解析
- 山東省青島39中重點達標名校2025年初三5月基礎(chǔ)測試語文試題含解析
- 陜西省渭南市富平縣2025年第一次中考適應(yīng)性考試數(shù)學(xué)試題含解析
- 牡丹江市陽明區(qū)2024-2025學(xué)年數(shù)學(xué)三下期末考試模擬試題含解析
- 陜西省西安市西北大附屬中學(xué)2024-2025學(xué)年初三下學(xué)期第四次質(zhì)量檢查生物試題含解析
- 代收款委托合同協(xié)議書范例
- 山東省煙臺市蓬萊市2025年五下數(shù)學(xué)期末綜合測試試題含答案
- 食品油購銷合同范本
- 高鐵采購合同成為國內(nèi)外市場的橋梁
- 觀光小火車的市場分析報告
- 甲狀腺腫物課件護理查房
- oa系統(tǒng)操作手冊
- 《幼兒園健康》課件精1
- 烈士兒女入團申請書
- 人事檔案移交表
- 會計學(xué)畢業(yè)論文8000字-會計學(xué)論文范文8000字
- 裝飾裝修工程質(zhì)量管理體系與措施
- 小學(xué)教育畢業(yè)論文6000字范文
- 刮痧技術(shù)操作流程圖
- ISO9001 2015版質(zhì)量管理體系標準
評論
0/150
提交評論