實(shí)例介紹UML順序圖使用
UML順序圖和協(xié)作圖均顯示了交互,但它們強(qiáng)調(diào)了不同的方面。順序圖顯示了時(shí)間順序,但角色間的關(guān)系是隱式的。協(xié)作圖表現(xiàn)了角色之間的關(guān)系,并將消息關(guān)聯(lián)至關(guān)系,但時(shí)間順序由于用順序號(hào)表達(dá),并不十分明顯。每一種圖應(yīng)根據(jù)主要的關(guān)注焦點(diǎn)而使用。
UML順序圖
順序圖表示了隨時(shí)間安排的一系列消息。每個(gè)分類(lèi)角色顯示為一條生命線,代表整個(gè)交互期間上的角色。消息則顯示為生命線之間的箭頭。順序圖可以表達(dá)場(chǎng)景,即一項(xiàng)事務(wù)的特定歷史。
UML順序圖以二維圖表來(lái)顯示交互??v向是時(shí)間軸,時(shí)間自上而下。橫向顯示了代表協(xié)作中單個(gè)對(duì)象的分類(lèi)角色。每個(gè)對(duì)象用方框表示,對(duì)象的名字在方框內(nèi)部,并在名字的下方加下劃線。每個(gè)分類(lèi)角色表現(xiàn)為垂直列-生命線。在角色存在的時(shí)間內(nèi),生命線顯示為虛線;在角色的過(guò)程激活時(shí)間內(nèi),生命線顯示為雙線。
消息顯示為從一個(gè)角色生命線出發(fā)至另一個(gè)角色生命線的箭頭,箭頭用從上而下來(lái)的時(shí)間順序來(lái)安排。UML順序圖的一個(gè)用途是顯示用例的行為序列。當(dāng)行為被實(shí)現(xiàn)時(shí),每個(gè)順序圖中的消息同對(duì)象的操作或狀態(tài)機(jī)中遷移上的事件觸發(fā)相一致。
圖4表示處理請(qǐng)求用例的UML順序圖。圖中五個(gè)方框分別表示五個(gè)對(duì)象:ProcessMonitor、EngineManager、Engine、EntactmentDB、Logfiles。這個(gè)用例是由ProcessMonitor接收用戶操作,再將這些操作轉(zhuǎn)換成固定的請(qǐng)求,發(fā)送給引擎執(zhí)行而產(chǎn)生的。
當(dāng)ProcessMonitor接收到用戶在界面上所作的操作后,將這些操作轉(zhuǎn)換為固定的命令請(qǐng)求,發(fā)送給EngineManager。EngineManager再根據(jù)接收到命令的類(lèi)別,將命令分發(fā)給不同的Engine。Engine則具體執(zhí)行相應(yīng)的命令。Engine執(zhí)行完命令后,通知EntactmentDB修改相應(yīng)的數(shù)據(jù)。接下來(lái),Engine再通知Logfiles將所作的操作記錄下來(lái),以供以后查詢。最后,Engine直接將結(jié)果返回給ProcessMonitor,由ProcessMonitor將結(jié)果包裝,顯示給用戶。
【編輯推薦】