UML之序列圖
一 序列圖概述:
序列圖主要用於展示對象之間交互的順序。
序列圖將交互關系表示為一個二維圖。縱向是時間軸,時間沿豎線向下延伸。
橫向軸代表了在協作中各獨立對象的類元角色。類元角色用生命線表示。當對象存在時,角色用一條虛線表示,當對象的過程處於激活狀態時。生命線是一個雙道線。
消息用從一個對象的生命線到還有一個對象生命線的箭頭表示。箭頭以時間順序在圖中從上到下排列。
二 序列圖中涉及的元素:
1. 角色(Actor)
系統角色, 能夠是人、其它系統或者子系統
2. 對象(Object)
有三種命名方式:
(1)包含對象名和類名
(2)僅僅顯示類名。不顯示對象名。即表示他是一個匿名對象
(3)僅僅顯示對象名不顯示類名
3. 生命線
生命線在序列圖中表示為從對象圖標向下延伸的一條虛線, 表示對象存在的時間。
4. 控制焦點(Focus of Control)
控制焦點是序列圖中表示時間段的符號, 在這個時間段內對象將運行對應的操作,用小矩形表示。
5. 消息
消息一般分為同步消息(Synchronous
Message)。異步消息(Asynchronous
Message)和返回消息(Return
Message)
(1)同步消息:消息的發送者把控制傳遞給消息的接收者。然後停止活動,等待消息的接收者放棄或者返回控制。用來表示同步的意義。
(2)異步消息:消息發送者通過消息把信號傳遞給消息的接收者。然後繼續自己的活動,不等待接受者返回消息或者控制。異步消息的接收者和發送者是並發工作的。
(3)返回消息:返回消息表示從過程調用返回
6. 自關聯消息(Self-Message)
表示方法的自身調用以及一個對象內的一個方法調用另外一個方法。
三 儲戶取款的樣例:
用序列圖表示用戶從ATM機上取款的樣例:
四 心得總結:
1. 先用序列圖畫出主要流程, 用註解或文字說明特殊流程。
2. 假設特殊流程也非常重要。 那麽能夠再用一個序列圖來表達。
3. 假設分支非常多而且都比較重要時, 首選活動圖而不是順序圖。
原文: http://www.cnblogs.com/ywqu/archive/2009/12/22/1629426.html
UML之序列圖