課件—UML系統(tǒng)建模與分析設(shè)計(jì)(5)_第1頁(yè)
課件—UML系統(tǒng)建模與分析設(shè)計(jì)(5)_第2頁(yè)
課件—UML系統(tǒng)建模與分析設(shè)計(jì)(5)_第3頁(yè)
課件—UML系統(tǒng)建模與分析設(shè)計(jì)(5)_第4頁(yè)
課件—UML系統(tǒng)建模與分析設(shè)計(jì)(5)_第5頁(yè)
已閱讀5頁(yè),還剩61頁(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、第五章第五章 系統(tǒng)設(shè)計(jì)與對(duì)象動(dòng)態(tài)交互模型系統(tǒng)設(shè)計(jì)與對(duì)象動(dòng)態(tài)交互模型動(dòng)態(tài)行動(dòng)態(tài)行為包括系統(tǒng)中對(duì)象生存期內(nèi)可能的狀態(tài)以及事件發(fā)生時(shí)狀態(tài)為包括系統(tǒng)中對(duì)象生存期內(nèi)可能的狀態(tài)以及事件發(fā)生時(shí)狀態(tài)的轉(zhuǎn)移,對(duì)象之間動(dòng)態(tài)合作關(guān)系,顯示對(duì)象之間的交互過(guò)程的轉(zhuǎn)移,對(duì)象之間動(dòng)態(tài)合作關(guān)系,顯示對(duì)象之間的交互過(guò)程以及交互順序,同時(shí)描述了為滿足用例要求所進(jìn)行的活動(dòng)以以及交互順序,同時(shí)描述了為滿足用例要求所進(jìn)行的活動(dòng)以及活動(dòng)間的約束關(guān)系。及活動(dòng)間的約束關(guān)系。對(duì)象通過(guò)相互間的通信對(duì)象通過(guò)相互間的通信(消息傳遞消息傳遞)進(jìn)行合作進(jìn)行合作,并在其并在其生命周期中根據(jù)通信的結(jié)果不斷改變自身的狀態(tài)。生命周期中根據(jù)通信的結(jié)果不斷改變自身

2、的狀態(tài)。對(duì)象類動(dòng)態(tài)模型對(duì)象類動(dòng)態(tài)模型v對(duì)象類動(dòng)態(tài)模型實(shí)際上是解決系統(tǒng)中的對(duì)象“何時(shí)做”的問(wèn)題,是系統(tǒng)分析、設(shè)計(jì)階段的重要內(nèi)容和產(chǎn)物。v該模型描述系統(tǒng)的動(dòng)態(tài)行為,包括:系統(tǒng)如何響應(yīng)外部事件或激勵(lì),系統(tǒng)中各對(duì)象的執(zhí)行順序和狀態(tài)的變化,側(cè)重描述系統(tǒng)控制邏輯。v該模型包括:對(duì)象交互行為模型、對(duì)象狀態(tài)模型。:狀態(tài)圖用來(lái)描述對(duì)象,子系統(tǒng),狀態(tài)圖用來(lái)描述對(duì)象,子系統(tǒng),系統(tǒng)的生命周期。系統(tǒng)的生命周期。:著重描述操作實(shí)現(xiàn)中完成的著重描述操作實(shí)現(xiàn)中完成的工作以及用例實(shí)例或?qū)ο笾械幕顒?dòng),活動(dòng)圖是狀態(tài)圖的一個(gè)工作以及用例實(shí)例或?qū)ο笾械幕顒?dòng),活動(dòng)圖是狀態(tài)圖的一個(gè)變種。變種。:是一種交互圖,主要描述:是一種交互圖,主要描

3、述對(duì)象之間的動(dòng)態(tài)合作關(guān)系以及合作過(guò)程中的行為次序,常用對(duì)象之間的動(dòng)態(tài)合作關(guān)系以及合作過(guò)程中的行為次序,常用來(lái)描述一個(gè)用例的行為。來(lái)描述一個(gè)用例的行為。:用于描述相互合作的用于描述相互合作的對(duì)象間的交互關(guān)系,它描述的交互關(guān)系是對(duì)象間的消息連接對(duì)象間的交互關(guān)系,它描述的交互關(guān)系是對(duì)象間的消息連接關(guān)系。關(guān)系。 動(dòng)態(tài)模型主要描述系統(tǒng)的動(dòng)態(tài)行為和控制結(jié)構(gòu)。包括動(dòng)態(tài)模型主要描述系統(tǒng)的動(dòng)態(tài)行為和控制結(jié)構(gòu)。包括4類圖:類圖:狀態(tài)圖和活動(dòng)圖狀態(tài)圖和活動(dòng)圖順序圖和合作圖順序圖和合作圖對(duì)象狀態(tài)模型對(duì)象狀態(tài)模型 該模型主要用于描述對(duì)該模型主要用于描述對(duì)象的個(gè)體行為,其功能包象的個(gè)體行為,其功能包括:為某個(gè)用例創(chuàng)建事件

4、括:為某個(gè)用例創(chuàng)建事件發(fā)生的軌跡,說(shuō)明對(duì)象狀發(fā)生的軌跡,說(shuō)明對(duì)象狀態(tài)遷移變化的順序,描述態(tài)遷移變化的順序,描述事件的活動(dòng)是并發(fā)的還是事件的活動(dòng)是并發(fā)的還是順序的。順序的。 其中,狀態(tài)是一個(gè)對(duì)象其中,狀態(tài)是一個(gè)對(duì)象在某一時(shí)刻屬性特征的概在某一時(shí)刻屬性特征的概括。括。對(duì)象交互行為模型對(duì)象交互行為模型 該模型主要描述完成該模型主要描述完成系統(tǒng)某個(gè)功能時(shí),幾個(gè)對(duì)系統(tǒng)某個(gè)功能時(shí),幾個(gè)對(duì)象之間消息傳遞的時(shí)間序象之間消息傳遞的時(shí)間序列,通常起始于一個(gè)系統(tǒng)列,通常起始于一個(gè)系統(tǒng)外部輸入事件,結(jié)束于某外部輸入事件,結(jié)束于某個(gè)條件的滿足或某個(gè)系統(tǒng)個(gè)條件的滿足或某個(gè)系統(tǒng)外部的輸出事件。外部的輸出事件。知識(shí)圖譜知識(shí)圖

5、譜v本章目的:本章目的:n了解了解UML軟件開發(fā)的系統(tǒng)設(shè)計(jì)方法與技術(shù)軟件開發(fā)的系統(tǒng)設(shè)計(jì)方法與技術(shù)n掌握系統(tǒng)設(shè)計(jì)規(guī)格說(shuō)明報(bào)告文檔書寫格式掌握系統(tǒng)設(shè)計(jì)規(guī)格說(shuō)明報(bào)告文檔書寫格式n掌握掌握UML中順序圖的描述方法中順序圖的描述方法n掌握同步消息和異步消息的定義和描述方法掌握同步消息和異步消息的定義和描述方法n掌握掌握UML中合作圖的描述方法中合作圖的描述方法n掌握利用順序圖與合作圖建立動(dòng)態(tài)交互模型的方法掌握利用順序圖與合作圖建立動(dòng)態(tài)交互模型的方法步驟步驟5.1 5.1 系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)5.1.1 5.1.1 反復(fù)迭代的系統(tǒng)設(shè)計(jì)方式反復(fù)迭代的系統(tǒng)設(shè)計(jì)方式 面向?qū)ο蟮南到y(tǒng)設(shè)計(jì)是在系統(tǒng)分析結(jié)果的基礎(chǔ)上進(jìn)行的

6、,進(jìn)行詳細(xì)分析之后就可以轉(zhuǎn)入系統(tǒng)設(shè)計(jì)階段,在系統(tǒng)建立對(duì)象靜態(tài)模型的基礎(chǔ)上,建立動(dòng)態(tài)模型。 與傳統(tǒng)的軟件開發(fā)方法不同,在UML的面向?qū)ο笙到y(tǒng)中,系統(tǒng)設(shè)計(jì)和系統(tǒng)分析沒有明顯的分界線,兩者都采用相同的符號(hào)表示。在系統(tǒng)分析階段采用反復(fù)迭代的方式逐步細(xì)化和完善軟件系統(tǒng)。系統(tǒng)設(shè)計(jì)一般包括:系統(tǒng)設(shè)計(jì)一般包括: 系統(tǒng)對(duì)象設(shè)計(jì) 系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì) 系統(tǒng)設(shè)計(jì)的優(yōu)化和審查5.1.2 5.1.2 系統(tǒng)對(duì)象設(shè)計(jì)系統(tǒng)對(duì)象設(shè)計(jì)(1)對(duì)象接口設(shè)計(jì)-加入接口對(duì)象(2)設(shè)計(jì)算法和數(shù)據(jù)結(jié)構(gòu)-為對(duì)象的屬性和操作設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)和實(shí)現(xiàn)算法(3)確認(rèn)子系統(tǒng)(4)子系統(tǒng)間的通信規(guī)約5.1.3 5.1.3 系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì) 1任務(wù)

7、管理設(shè)計(jì)(1)主從結(jié)構(gòu)設(shè)計(jì)。(2)分布式結(jié)構(gòu)設(shè)計(jì)。2數(shù)據(jù)管理設(shè)計(jì)(1)定義數(shù)據(jù)類型。(2)設(shè)計(jì)數(shù)據(jù)管理。數(shù)據(jù)管理設(shè)計(jì)提供了持久對(duì)象的基本結(jié)構(gòu)。 3用戶界面設(shè)計(jì)5.1.4 系統(tǒng)設(shè)計(jì)的優(yōu)化和審查系統(tǒng)設(shè)計(jì)的優(yōu)化系統(tǒng)設(shè)計(jì)的優(yōu)化: 把一個(gè)復(fù)雜系統(tǒng)劃分為幾個(gè)子系統(tǒng),每個(gè)子系把一個(gè)復(fù)雜系統(tǒng)劃分為幾個(gè)子系統(tǒng),每個(gè)子系統(tǒng)還可以劃分為更小的子系統(tǒng),而最小的子系統(tǒng)就統(tǒng)還可以劃分為更小的子系統(tǒng),而最小的子系統(tǒng)就是構(gòu)件(模塊)。是構(gòu)件(模塊)。 構(gòu)件化是系統(tǒng)優(yōu)化的前提,構(gòu)件具有可復(fù)用性。構(gòu)件化是系統(tǒng)優(yōu)化的前提,構(gòu)件具有可復(fù)用性。可以減少重復(fù)設(shè)計(jì),提高開發(fā)效率??梢詼p少重復(fù)設(shè)計(jì),提高開發(fā)效率。系統(tǒng)設(shè)計(jì)的審查:系統(tǒng)設(shè)計(jì)的審

8、查: 就是根據(jù)用例的描述,對(duì)所設(shè)計(jì)的系統(tǒng)和系統(tǒng)就是根據(jù)用例的描述,對(duì)所設(shè)計(jì)的系統(tǒng)和系統(tǒng)規(guī)格說(shuō)明報(bào)告逐一進(jìn)行嚴(yán)格檢查。規(guī)格說(shuō)明報(bào)告逐一進(jìn)行嚴(yán)格檢查。UML系統(tǒng)建模與分析設(shè)計(jì)5.1.5 5.1.5 系統(tǒng)設(shè)計(jì)規(guī)格說(shuō)明報(bào)告系統(tǒng)設(shè)計(jì)規(guī)格說(shuō)明報(bào)告5.2 5.2 交互模型建模交互模型建模v使用使用UML對(duì)軟件系統(tǒng)建模主要是從結(jié)構(gòu)和行為兩對(duì)軟件系統(tǒng)建模主要是從結(jié)構(gòu)和行為兩個(gè)方面來(lái)描述系統(tǒng)。個(gè)方面來(lái)描述系統(tǒng)。n系統(tǒng)的結(jié)構(gòu)主要使用類圖來(lái)描述,而系統(tǒng)的行為則是通過(guò)對(duì)象的動(dòng)作來(lái)描述。n系統(tǒng)中的對(duì)象是相互聯(lián)系的,并通過(guò)傳遞消息進(jìn)行交互。n交互圖就是用來(lái)描述系統(tǒng)中的對(duì)象是如何進(jìn)行相互作用的。n一次交互就是指在特定語(yǔ)境中,

9、為了實(shí)現(xiàn)某一個(gè)目標(biāo),而在一組對(duì)象之間進(jìn)行交換的一組消息所表示的行為 。v交互圖在交互圖在UML中有兩種圖:順序圖和合作圖。中有兩種圖:順序圖和合作圖。v順序圖和合作圖都是用來(lái)描述一組對(duì)象和它們之順序圖和合作圖都是用來(lái)描述一組對(duì)象和它們之間如何進(jìn)行消息傳遞的。間如何進(jìn)行消息傳遞的。n順序圖強(qiáng)調(diào)消息的時(shí)間順序,描述特定場(chǎng)景中,某個(gè)時(shí)刻,為完成某一功能,對(duì)象間按照時(shí)間順序的消息交互。n合作圖強(qiáng)調(diào)對(duì)象之間的交互關(guān)系5.2 5.2 順序圖建模順序圖建模 順序圖用來(lái)描述對(duì)象間的交互行為。它注重消息的時(shí)間順序,即對(duì)象間消息的發(fā)送和接收的順序。 順序圖揭示了一個(gè)特定場(chǎng)景的交互,即系統(tǒng)執(zhí)行期間發(fā)生在某個(gè)時(shí)間點(diǎn)的

10、對(duì)象之間的特定交互,它適合于描述實(shí)時(shí)系統(tǒng)中的時(shí)間特性和時(shí)間約束。 順序圖的主要用途之一,是把用例表達(dá)的需求,轉(zhuǎn)化為進(jìn)一步、更加正式層次的精細(xì)表達(dá)。用例常常被細(xì)化為一個(gè)或者更多的順序圖。 順序圖主要用于按照交互發(fā)生的一系列順序,順序圖主要用于按照交互發(fā)生的一系列順序,顯示對(duì)象之間的這些交互。開發(fā)者一般認(rèn)為順序圖顯示對(duì)象之間的這些交互。開發(fā)者一般認(rèn)為順序圖只對(duì)他們有意義。然而,一個(gè)組織的業(yè)務(wù)人員會(huì)發(fā)只對(duì)他們有意義。然而,一個(gè)組織的業(yè)務(wù)人員會(huì)發(fā)現(xiàn),順序圖顯示不同的業(yè)務(wù)對(duì)象如何交互,對(duì)于交現(xiàn),順序圖顯示不同的業(yè)務(wù)對(duì)象如何交互,對(duì)于交流當(dāng)前業(yè)務(wù)如何進(jìn)行很有用。除記錄組織的當(dāng)前事流當(dāng)前業(yè)務(wù)如何進(jìn)行很有用。

11、除記錄組織的當(dāng)前事件外,一個(gè)業(yè)務(wù)級(jí)的順序圖能被當(dāng)作一個(gè)需求文件件外,一個(gè)業(yè)務(wù)級(jí)的順序圖能被當(dāng)作一個(gè)需求文件使用,為實(shí)現(xiàn)一個(gè)未來(lái)系統(tǒng)傳遞需求。在項(xiàng)目的需使用,為實(shí)現(xiàn)一個(gè)未來(lái)系統(tǒng)傳遞需求。在項(xiàng)目的需求階段,分析師能通過(guò)提供一個(gè)更加正式層次的表求階段,分析師能通過(guò)提供一個(gè)更加正式層次的表達(dá),把用例帶入下一層次。那種情況下,用例常常達(dá),把用例帶入下一層次。那種情況下,用例常常被細(xì)化為一個(gè)或者更多的順序圖。被細(xì)化為一個(gè)或者更多的順序圖。 順序圖的主要目的是定義事件序列,產(chǎn)生一些希順序圖的主要目的是定義事件序列,產(chǎn)生一些希望的輸出。重點(diǎn)不是消息本身,而是消息產(chǎn)生的順望的輸出。重點(diǎn)不是消息本身,而是消息產(chǎn)生

12、的順序;不過(guò),大多數(shù)順序圖會(huì)表示一個(gè)系統(tǒng)的對(duì)象之序;不過(guò),大多數(shù)順序圖會(huì)表示一個(gè)系統(tǒng)的對(duì)象之間傳遞的什么消息,以及它們發(fā)生的順序。間傳遞的什么消息,以及它們發(fā)生的順序。 圖按照水平和垂直的維度傳遞信息:垂直維度從圖按照水平和垂直的維度傳遞信息:垂直維度從上而下表示消息上而下表示消息/調(diào)用發(fā)生的時(shí)間序列,而且水平調(diào)用發(fā)生的時(shí)間序列,而且水平維度從左到右表示消息發(fā)送到的對(duì)象實(shí)例。維度從左到右表示消息發(fā)送到的對(duì)象實(shí)例。5.2.1 一個(gè)簡(jiǎn)單的順序圖例子一個(gè)簡(jiǎn)單的順序圖例子時(shí)間時(shí)間對(duì)象對(duì)象順序圖有兩個(gè)坐標(biāo):順序圖有兩個(gè)坐標(biāo):垂直坐標(biāo)垂直坐標(biāo)-時(shí)間時(shí)間(從上到下),(從上到下),水平坐標(biāo)水平坐標(biāo)對(duì)象對(duì)象。

13、生存線生存線激活期激活期消息消息(1)對(duì)象:順序圖中所包含的每個(gè)對(duì)象用一個(gè)對(duì)象框(短式)表示,對(duì)象名需帶下劃線。(2)生存線:對(duì)象框下畫的一條垂直虛線,稱為該對(duì)象的生存線,表示對(duì)象的生存時(shí)間。(3)激活期:對(duì)象生存線上的一個(gè)細(xì)長(zhǎng)方形框,表示該對(duì)象的激活時(shí)間段,即活動(dòng)期間。一個(gè)激活的對(duì)象要么正在執(zhí)行自己的代碼,要么等待另一個(gè)對(duì)象的返回。(4)消息:對(duì)象之間消息的發(fā)送和接收用兩個(gè)對(duì)象生存線(激活期)之間的消息箭頭線。對(duì)象圖對(duì)象圖(4)消息消息的標(biāo)識(shí)格式:序號(hào)警戒條件*重復(fù)次數(shù)回送值表:= 操作名(參數(shù)表)其中,1序號(hào):表示消息在對(duì)象間交互的時(shí)間順序號(hào)。2警戒條件:選擇項(xiàng),為一布爾條件表達(dá)式。3*重

14、復(fù)次數(shù):選擇項(xiàng),表示消息重復(fù)發(fā)送的次數(shù)。4回送值表:以“,”區(qū)分的名字表列,分別表示完成指定操作后返回的系列值??扇笔 ?操作名:必須是接收該消息的對(duì)象類角色中的操作名。6“()”內(nèi)的參數(shù)表是以“,”號(hào)區(qū)分的實(shí)參表,傳送給接收消息的對(duì)象中的某個(gè)操作。消息的種類消息的種類v對(duì)象之間的通信可以同步進(jìn)行,也可以異步進(jìn)行。對(duì)象之間的通信可以同步進(jìn)行,也可以異步進(jìn)行。在在UML中消息分為四種:中消息分為四種:(1)簡(jiǎn)單消息:表示控制流,描述控制如何從一個(gè)對(duì)象傳遞到另一個(gè)對(duì)象,但不描述通信的細(xì)節(jié)。(2)同步消息:是一種嵌套的控制流,用操作調(diào)用實(shí)現(xiàn)。操作的執(zhí)行者要到消息相應(yīng)操作執(zhí)行完并回送一個(gè)簡(jiǎn)單消息后,再

15、繼續(xù)執(zhí)行。 (3)異步消息:是一種異步的控制流,消息的發(fā)送者在消息發(fā)送后就繼續(xù)執(zhí)行,不等待消息的處理。(4)返回消息:表示控制流從過(guò)程調(diào)用的返回順序圖中的消息表示v在順序圖中,對(duì)象之間消息的發(fā)送和接收用兩個(gè)對(duì)象的生存線之間的消息箭頭線表示,用來(lái)指出該對(duì)象執(zhí)行期間的時(shí)序。順序圖中的消息表示u簡(jiǎn)單消息:類型未知,或與類型無(wú)關(guān),也可是同簡(jiǎn)單消息:類型未知,或與類型無(wú)關(guān),也可是同步消息的返回。步消息的返回。u同步消息:必有一個(gè)與同步消息配對(duì)的返回消息同步消息:必有一個(gè)與同步消息配對(duì)的返回消息, 但是可以不畫出但是可以不畫出.u異步消息:異步消息:UML畫順序圖-生命線生命線當(dāng)畫一個(gè)順序圖的時(shí)候,放置生

16、命線符號(hào)元件,橫跨圖的頂部。生命線當(dāng)畫一個(gè)順序圖的時(shí)候,放置生命線符號(hào)元件,橫跨圖的頂部。生命線表示序列中建模的角色或?qū)ο髮?shí)例。表示序列中建模的角色或?qū)ο髮?shí)例。 生命線畫作一個(gè)方格,一條虛線從生命線畫作一個(gè)方格,一條虛線從上而下,通過(guò)底部邊界的中心(圖上而下,通過(guò)底部邊界的中心(圖 )。生命線名字放置在方格里。)。生命線名字放置在方格里。用于一個(gè)實(shí)體名為用于一個(gè)實(shí)體名為freshman的生命線的的生命線的Student類的一個(gè)例子類的一個(gè)例子UML 的生命線命名標(biāo)準(zhǔn)按照如下格式:順序圖-消息消息 消息:為了可讀性,順序圖的第一個(gè)消息總是從頂端開始,并且一般消息:為了可讀性,順序圖的第一個(gè)消息總

17、是從頂端開始,并且一般位于圖的左邊。然后繼發(fā)的消息加入圖中,稍微比前面的消息低些。位于圖的左邊。然后繼發(fā)的消息加入圖中,稍微比前面的消息低些。 為了顯示一個(gè)對(duì)象傳遞一個(gè)消息給另外一個(gè)對(duì)象,你畫一條線指向接為了顯示一個(gè)對(duì)象傳遞一個(gè)消息給另外一個(gè)對(duì)象,你畫一條線指向接收對(duì)象,包括一個(gè)實(shí)心箭頭(如果是一個(gè)同步調(diào)用操作)或一個(gè)棍形箭頭收對(duì)象,包括一個(gè)實(shí)心箭頭(如果是一個(gè)同步調(diào)用操作)或一個(gè)棍形箭頭(如果是一個(gè)異步訊號(hào))。消息(如果是一個(gè)異步訊號(hào))。消息/ /方法名字放置在帶箭頭的線上面。正在方法名字放置在帶箭頭的線上面。正在被傳遞給接收對(duì)象的消息,表示接收對(duì)象的類實(shí)現(xiàn)的一個(gè)操作被傳遞給接收對(duì)象的消息,

18、表示接收對(duì)象的類實(shí)現(xiàn)的一個(gè)操作/ /方法。方法。返回消息是可選擇的;一個(gè)返回消息畫作一個(gè)帶開放箭頭的虛線,向后返回消息是可選擇的;一個(gè)返回消息畫作一個(gè)帶開放箭頭的虛線,向后指向來(lái)源的生命線,在這條虛線上面,你放置操作的返回值。指向來(lái)源的生命線,在這條虛線上面,你放置操作的返回值。 當(dāng)順序圖建模時(shí),有時(shí)候,一個(gè)對(duì)象將會(huì)需要傳遞一個(gè)消息給它本身。一當(dāng)順序圖建模時(shí),有時(shí)候,一個(gè)對(duì)象將會(huì)需要傳遞一個(gè)消息給它本身。一個(gè)對(duì)象何時(shí)稱它本身?一個(gè)純化論者會(huì)爭(zhēng)辯一個(gè)對(duì)象應(yīng)該永不傳遞一個(gè)消個(gè)對(duì)象何時(shí)稱它本身?一個(gè)純化論者會(huì)爭(zhēng)辯一個(gè)對(duì)象應(yīng)該永不傳遞一個(gè)消息給它本身。然而,為傳遞一個(gè)消息給它本身的對(duì)象建模,在一些情境

19、中息給它本身。然而,為傳遞一個(gè)消息給它本身的對(duì)象建模,在一些情境中可能是有用的。舉例來(lái)說(shuō),下圖可能是有用的。舉例來(lái)說(shuō),下圖 是上圖是上圖 的一個(gè)改良版本。的一個(gè)改良版本。 該圖顯示調(diào)用它該圖顯示調(diào)用它的的 determineAvailableReports determineAvailableReports 方法的系統(tǒng)對(duì)象。通過(guò)表示系統(tǒng)傳遞消息方法的系統(tǒng)對(duì)象。通過(guò)表示系統(tǒng)傳遞消息“determineAvailableReports”determineAvailableReports”給它本身,模型把注意力集中到過(guò)程的事實(shí)上給它本身,模型把注意力集中到過(guò)程的事實(shí)上,而不是系統(tǒng)對(duì)象。,而不是系統(tǒng)對(duì)

20、象。為了要畫一個(gè)調(diào)用本身的對(duì)象,如你平時(shí)所作的,畫一條消息,但是不是為了要畫一個(gè)調(diào)用本身的對(duì)象,如你平時(shí)所作的,畫一條消息,但是不是連接它到另外的一個(gè)對(duì)象,而是你把消息連接回對(duì)象本身。連接它到另外的一個(gè)對(duì)象,而是你把消息連接回對(duì)象本身。5.3 5.3 對(duì)象之間的同步與異步操作對(duì)象之間的同步與異步操作1對(duì)象之間的同步操作 同步消息的發(fā)送者把進(jìn)程控制傳遞給消息同步消息的發(fā)送者把進(jìn)程控制傳遞給消息的接收者,然后暫停活動(dòng),等待消息的接收者的接收者,然后暫?;顒?dòng),等待消息的接收者放棄或返回控制;放棄或返回控制; 同步消息的接收者執(zhí)行所請(qǐng)求的操作,如同步消息的接收者執(zhí)行所請(qǐng)求的操作,如果需要的話,可以把控

21、制傳遞給另一個(gè)對(duì)象角果需要的話,可以把控制傳遞給另一個(gè)對(duì)象角色,請(qǐng)求做某個(gè)操作,并且當(dāng)該操作完成后把色,請(qǐng)求做某個(gè)操作,并且當(dāng)該操作完成后把控制返回給原來(lái)的同步消息的發(fā)送者;控制返回給原來(lái)的同步消息的發(fā)送者; 同步消息的接收者也可以直接返回或發(fā)送同步消息的接收者也可以直接返回或發(fā)送信息給原來(lái)的消息發(fā)送者。信息給原來(lái)的消息發(fā)送者。2對(duì)象之間的異步操作異步消息的發(fā)送者通過(guò)發(fā)消息把信號(hào)傳遞給消息的接收異步消息的發(fā)送者通過(guò)發(fā)消息把信號(hào)傳遞給消息的接收者,然后繼續(xù)自己的活動(dòng),不等待消息接收者返回信息者,然后繼續(xù)自己的活動(dòng),不等待消息接收者返回信息或控制;或控制;異步消息的接收者執(zhí)行所請(qǐng)求的操作,操作完成

22、后可以異步消息的接收者執(zhí)行所請(qǐng)求的操作,操作完成后可以向異步消息的發(fā)送者返回信息;向異步消息的發(fā)送者返回信息;異步消息的發(fā)送者和接收者采用并發(fā)工作方式。異步消息的發(fā)送者和接收者采用并發(fā)工作方式。一條異步消息每次只發(fā)一個(gè)信號(hào),即只做一件事,可以一條異步消息每次只發(fā)一個(gè)信號(hào),即只做一件事,可以做的事情有:做的事情有:創(chuàng)建一個(gè)新對(duì)象;創(chuàng)建一個(gè)新對(duì)象;創(chuàng)建一個(gè)新線程,此時(shí)異步消息連接到一個(gè)激活期的頂創(chuàng)建一個(gè)新線程,此時(shí)異步消息連接到一個(gè)激活期的頂部;部;與一個(gè)正在運(yùn)行的線程通信。與一個(gè)正在運(yùn)行的線程通信。在順序圖中,你也能為異步消息建模。一個(gè)異步消息和在順序圖中,你也能為異步消息建模。一個(gè)異步消息和一

23、個(gè)同步的畫法類似,但是消息畫的線帶一個(gè)棍形矛頭一個(gè)同步的畫法類似,但是消息畫的線帶一個(gè)棍形矛頭,如圖所示。,如圖所示。5.4 5.4 順序圖中的分支控制順序圖中的分支控制圖圖5-55-5帶條件和分支并發(fā)執(zhí)行的順序圖帶條件和分支并發(fā)執(zhí)行的順序圖v帶分支條件的順序圖帶分支條件的順序圖:Computer:Printer Server:Printer:QueuePrint(file)Printer freePrint(file)Printer busyStore(file)順序圖中的約束標(biāo)記順序圖中的約束標(biāo)記呼叫者呼叫者交換交換接受者接受者拿起話筒拿起話筒響撥號(hào)聲響撥號(hào)聲撥號(hào)碼撥號(hào)碼路由選擇路由選擇鳴

24、響音鳴響音停音停音響鈴聲響鈴聲接電話接電話停鈴聲停鈴聲ABCDEB-A1SC-B10S通過(guò)網(wǎng)絡(luò)選通過(guò)網(wǎng)絡(luò)選擇通話路徑擇通話路徑E-D5S雙方通話雙方通話打電話的順序圖圖圖5-65-6中中 帶有時(shí)間延遲標(biāo)記的順序圖帶有時(shí)間延遲標(biāo)記的順序圖順序圖中的循環(huán)處理操作順序圖中的循環(huán)處理操作:C1:c:D1:D:D2:DOp( )Op2( )Op3( )Op4( )有循環(huán)標(biāo)記的順序圖Send message op2 until5.5 5.5 合作圖建模合作圖建模合作圖合作圖(Collaboration Diagram),也稱也稱為協(xié)作圖,用于描述相互合作的對(duì)象間的交互關(guān)為協(xié)作圖,用于描述相互合作的對(duì)象間的

25、交互關(guān)系和鏈接系和鏈接(Link)關(guān)系。關(guān)系。 雖然順序圖和合作圖都用來(lái)描述對(duì)象間的交雖然順序圖和合作圖都用來(lái)描述對(duì)象間的交互關(guān)系互關(guān)系,但側(cè)重點(diǎn)不一樣。但側(cè)重點(diǎn)不一樣。順序圖著重體現(xiàn)交互的順序圖著重體現(xiàn)交互的時(shí)間順序時(shí)間順序,合作圖則著重體現(xiàn)交互對(duì)象間的靜態(tài)鏈合作圖則著重體現(xiàn)交互對(duì)象間的靜態(tài)鏈接關(guān)系。接關(guān)系。v合作圖(collaboration diagram), 描述系統(tǒng)各成分(即對(duì)象)如何協(xié)同工作,來(lái)實(shí)現(xiàn)系統(tǒng)的某個(gè)功能。v合作圖描述對(duì)象及其之間的鏈接(關(guān)聯(lián)的實(shí)例),以及鏈接的對(duì)象如何發(fā)送消息。v鏈接(或稱鏈):是關(guān)聯(lián)的實(shí)例,當(dāng)一個(gè)類與另一個(gè)類之間有關(guān)聯(lián)時(shí),這兩個(gè)類的實(shí)例之間就有鏈,一個(gè)對(duì)

26、象就能向另一個(gè)對(duì)象發(fā)送消息。5.5.1 合作圖的組成成分合作圖的組成成分UML和設(shè)計(jì)模式對(duì)象對(duì)象object鏈鏈 link消息消息 message 合作圖中對(duì)象的外觀與順序圖中的一樣。如果合作圖中對(duì)象的外觀與順序圖中的一樣。如果一個(gè)對(duì)象在消息的交互中被創(chuàng)建一個(gè)對(duì)象在消息的交互中被創(chuàng)建,則可在對(duì)象名稱之則可在對(duì)象名稱之后標(biāo)以后標(biāo)以new。類似地。類似地,如果一個(gè)對(duì)象在交互期間如果一個(gè)對(duì)象在交互期間被刪除被刪除,則可在對(duì)象名稱之后標(biāo)以則可在對(duì)象名稱之后標(biāo)以destroy。對(duì)象名對(duì)象名newnew對(duì)象名對(duì)象名 destroy 包括包括組成關(guān)系的組成關(guān)系的鏈接鏈接(Composition Link)、

27、聚集關(guān)系的鏈接聚集關(guān)系的鏈接(Aggregation Link)、限定關(guān)系的鏈接限定關(guān)系的鏈接(Qualified Link)以及以及導(dǎo)航鏈接導(dǎo)航鏈接(Navigation Link)。各種鏈接關(guān)系與類圖中的定義相同。各種鏈接關(guān)系與類圖中的定義相同,在鏈接在鏈接的端點(diǎn)位置可以顯示對(duì)象的角色名和模板信息的端點(diǎn)位置可以顯示對(duì)象的角色名和模板信息。對(duì)象對(duì)象對(duì)象對(duì)象對(duì)象對(duì)象對(duì)象對(duì)象對(duì)象對(duì)象對(duì)象對(duì)象對(duì)象對(duì)象對(duì)象對(duì)象限定詞限定詞v對(duì)于鏈接還可以加上對(duì)于鏈接還可以加上“角色角色”與與“約束約束”,在鏈,在鏈角色上附加的約束有角色上附加的約束有g(shù)lobal(全局全局),local(局局部部),paramete

28、r(參數(shù)參數(shù)),self(自身自身),broadcast(廣播廣播)。v不過(guò)在不過(guò)在UML 2中已經(jīng)開始弱化它們的使用,因此中已經(jīng)開始弱化它們的使用,因此除非必要,無(wú)需過(guò)多地考慮它們除非必要,無(wú)需過(guò)多地考慮它們3 消息消息v 在對(duì)象之間的靜態(tài)鏈接關(guān)系上可標(biāo)注消息,消息類型有簡(jiǎn)在對(duì)象之間的靜態(tài)鏈接關(guān)系上可標(biāo)注消息,消息類型有簡(jiǎn)單消息,同步消息和異步消息三種。用標(biāo)號(hào)表示消息執(zhí)行單消息,同步消息和異步消息三種。用標(biāo)號(hào)表示消息執(zhí)行的順序。的順序。消息定義消息定義的格式如下:的格式如下:v v 消息編號(hào)消息編號(hào):消息的編號(hào)有兩種,一種是無(wú)層次編號(hào),它:消息的編號(hào)有兩種,一種是無(wú)層次編號(hào),它簡(jiǎn)單直觀;另一

29、種是嵌套的編號(hào),它更易于表示消息的包簡(jiǎn)單直觀;另一種是嵌套的編號(hào),它更易于表示消息的包含關(guān)系。含關(guān)系。n順序執(zhí)行:按整數(shù)大小執(zhí)行。,n嵌套執(zhí)行:標(biāo)號(hào)中帶小數(shù)點(diǎn)。1.1,1.2,1.3,n并行執(zhí)行:標(biāo)號(hào)中帶小寫字母。1.1.1a,1.1.1b,v 迭代標(biāo)記迭代標(biāo)記:用:用*號(hào)表示,表示循環(huán),通常還有迭代表達(dá)式,號(hào)表示,表示循環(huán),通常還有迭代表達(dá)式,用來(lái)說(shuō)明循環(huán)規(guī)則用來(lái)說(shuō)明循環(huán)規(guī)則嵌套消息與順序消息的標(biāo)識(shí)嵌套消息與順序消息的標(biāo)識(shí)1嵌套消息序號(hào)的標(biāo)識(shí) 圖圖5-12 5-12 采用層次嵌套消息描述的銷售合同管理系統(tǒng)采用層次嵌套消息描述的銷售合同管理系統(tǒng)中的處理付款單合作圖中的處理付款單合作圖2順序消息

30、序號(hào)的標(biāo)識(shí)UMLUML系統(tǒng)建模與分析設(shè)計(jì)系統(tǒng)建模與分析設(shè)計(jì)圖圖5-13 5-13 采用順序消息序號(hào)描述的銷售合同采用順序消息序號(hào)描述的銷售合同管理系統(tǒng)中的處理付款單合作圖管理系統(tǒng)中的處理付款單合作圖異步操作中的回調(diào)消息異步操作中的回調(diào)消息1自調(diào)用-遞歸調(diào)用2異步操作中的回調(diào)-即消息的接收對(duì)象也可以向消息的發(fā)送對(duì)象發(fā)送消息。圖5-14 具有回調(diào)消息的合作圖圖5-15 具有回調(diào)消息的順序圖循環(huán)發(fā)送同一個(gè)重復(fù)消息循環(huán)發(fā)送同一個(gè)重復(fù)消息存款的例子存款的例子例子例子1:v用戶打印文件,計(jì)算機(jī)向打印服務(wù)器發(fā)送打印命令,打印機(jī)如果空閑,則直接打印,否則把打印文件存儲(chǔ)在打印隊(duì)列中。例子例子2 管理員通過(guò)課程管

31、理器打印所有課程信息5.5.2 5.5.2 動(dòng)態(tài)交互模型動(dòng)態(tài)交互模型控制流建??刂屏鹘#?)進(jìn)程:進(jìn)程是一個(gè)動(dòng)作流;能夠與其他進(jìn)程并發(fā)執(zhí)行。(2)線程:線程是進(jìn)程內(nèi)部的一個(gè)動(dòng)作流;能夠與其他線程并發(fā)執(zhí)行。(3)主動(dòng)對(duì)象:一個(gè)擁有進(jìn)程或線程的對(duì)象。(4)被動(dòng)對(duì)象:必須由其它對(duì)象發(fā)來(lái)的消息進(jìn)行觸發(fā),才執(zhí)行動(dòng)作的對(duì)象。(5)主動(dòng)對(duì)象類:主動(dòng)對(duì)象類是主動(dòng)對(duì)象的抽象。v 首先根據(jù)自己的喜好和實(shí)際的表現(xiàn)需要來(lái)選擇順序圖或合首先根據(jù)自己的喜好和實(shí)際的表現(xiàn)需要來(lái)選擇順序圖或合作圖。不過(guò)由于它們?cè)谡Z(yǔ)義上是等價(jià)的,因此可以繪制出作圖。不過(guò)由于它們?cè)谡Z(yǔ)義上是等價(jià)的,因此可以繪制出一種,再通過(guò)建模工具來(lái)自動(dòng)轉(zhuǎn)換成另

32、一種圖一種,再通過(guò)建模工具來(lái)自動(dòng)轉(zhuǎn)換成另一種圖 v 分析模型中的交互圖徹重于分析類的職責(zé)分配和交互流程,分析模型中的交互圖徹重于分析類的職責(zé)分配和交互流程,而設(shè)計(jì)模型中的交互圖則徹重于設(shè)計(jì)類的引入和實(shí)際方法而設(shè)計(jì)模型中的交互圖則徹重于設(shè)計(jì)類的引入和實(shí)際方法的調(diào)用與流程控制的調(diào)用與流程控制 v 先確定參與交互的對(duì)象、對(duì)象之間的關(guān)系(合作圖),然先確定參與交互的對(duì)象、對(duì)象之間的關(guān)系(合作圖),然后確定對(duì)象間的消息交互流程(用同步調(diào)用、異步消息、后確定對(duì)象間的消息交互流程(用同步調(diào)用、異步消息、返回消息表示),并利用交互片斷(順序圖)或迭代標(biāo)記返回消息表示),并利用交互片斷(順序圖)或迭代標(biāo)記及監(jiān)護(hù)條件來(lái)表示循環(huán)和分支結(jié)構(gòu)及監(jiān)護(hù)條件來(lái)表示循環(huán)和分支結(jié)構(gòu)5.6 5.6 動(dòng)態(tài)交互模型建模案例動(dòng)態(tài)交互模型建模案例“銷售合同管理銷售合同管理”子系統(tǒng)子系統(tǒng)5.6.1 子系統(tǒng)的用例模型和對(duì)象靜態(tài)模型UML系統(tǒng)建模與分析設(shè)計(jì)5.6.2 5.6.2 順序圖建模步驟順序圖建模步驟1.確定交互和涉及的對(duì)象(1 1)啟動(dòng)系統(tǒng))啟動(dòng)系統(tǒng)(2 2)循環(huán)處理付款

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論