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