UML 之 序列圖和協作圖


序列圖(Sequence Diagram)
    亦稱為時序圖或循序圖,是一種UML行為圖。它通過描寫敘述對象之間發送消息的時間順序顯示多個對象之間的動態協作。它能夠表示用例的行為順序,當運行一個用例行為時,時序圖中的每條消息相應了一個類操作或狀態機中引起轉換的觸發事件。


    序列圖展示對象之間的交互,這些交互是指在場景或用例的時間流中發生的。序列圖屬於動態建模。
    序列圖的重點在消息序列上。也就是說,描寫敘述消息是怎樣在對象間發送和接收的。

表示了對象之間傳送消息的時間順序。


序列圖中的事物

    參與者:與系統、子系統或類發生交互作用的外部用戶。

                             

    對象:序列圖的橫軸上時與序列有關的對象。對象的表示方法是:矩形框中寫有對象或類名,且名字以下有下划線。

                           

    生命線:坐標軸縱向的虛線表示對象在序列中的運行情況(即發送和接收的消息,對象的活動)這條虛線稱為對象的“生命線”。

                              

    消息符號:消息用從一個對象的生命線到還有一個對象生命線的箭頭表示。

箭頭以時間順序在圖中從上到下排列。

                      

以下是一個簡單的序列圖樣例

              





協作圖(Collaboration Diagram )
    是一種交互圖(interaction diagram),強調的是發送和接收消息的對象之間的組織結構,使用協作圖來說明系統的動態情況。

一個協作圖顯示了一系列的對象和在這些對象之間的聯系以及對象間發送和接收的消息。




協作圖中的事物

    參與者:發出主動操作的對象。負責發送出事消息,啟動一個操作。

                             

    對象:對象是類的實例,負責發送和接收消息。與序列圖中的符號同樣,冒號前為對象名,冒號后為類名。

                           

    消息流:箭頭指示消息的流向,從消息的發出者指向接受者。

標簽對消息作說明,當中。順序號指出消息的發生順序,而且指明了消息的嵌套關系,冒號后面是消息的名字。

                         






協作圖與序列圖的差別和聯系
    協作圖和序列圖都表示出了對象間的交互作用,可是它們側重點不同。
    序列圖清楚地表示了對象間的關系(強調空間),但時間順序必須從順序號獲得。
    協作圖和序列圖能夠相互轉化


乘坐電梯的協作圖
                          

    參與者須要乘坐電梯。他從系統外部按下button。讓電梯到達他想去的樓層。此時,電梯系統的操作被啟動,電梯控制對象以循環的方式檢查全部的電梯,從中選擇一個工作隊列長度最短的。

然后,它創建一個作業命令,並將該命令放入相應電梯的工作隊列,接着激活隊列。電梯對象並發運行,從它的隊列中選擇一個作業並運行。電梯是一個活動對象,它與它的控制線程並發運行。


以下是我自己畫的機房收費系統中上下機的序列圖,僅供參考。有不足之處,希望大家給我指出來

                







免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM