1. 程式人生 > >UML之序列圖

UML之序列圖

ack str nbsp 分享 用戶 角色 mic -s margin

一 序列圖概述:

序列圖主要用於展示對象之間交互的順序。

序列圖將交互關系表示為一個二維圖。縱向是時間軸,時間沿豎線向下延伸。

橫向軸代表了在協作中各獨立對象的類元角色。類元角色用生命線表示。當對象存在時,角色用一條虛線表示,當對象的過程處於激活狀態時。生命線是一個雙道線。

消息用從一個對象的生命線到還有一個對象生命線的箭頭表示。箭頭以時間順序在圖中從上到下排列。


二 序列圖中涉及的元素:

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之序列圖