Re: [UML]UML sequenceDiagram的問題
※ 引述《drkkimo (花貓~ 努力研究 )》之銘言:
: 各位好 這裡想請問一個有關 物件觀點的sequence diagram的問題
: 如果我的循序圖中 有一個a物件屬於class A 它會和多個屬於class B的b_n物件互動
: 並且對每個b_n 作得事情是一樣的
: 由於b_n的數量不一定是幾個 那麼我在循序圖中 該如何表達這種一對多的關係呢??
: 是否畫上一個a對上數個b_n 來代表是一對多 (而其中所作相同的流程就要畫多遍 )
: 而圖上b_n的數目就取二或三個來表達一對多的意思就好?
: 或是有其它適合的表示方法?? 謝謝:)
object diagram 先放好一張:
a : A ----- b : B[*]
這樣就可以描述 b 是 B 的集合體。
sequence diagram 的部分要拆開,
先做一張小的代表一個實體對一個實體的互動:
sd Name(int k)
a : A b[k] : B
------>| |
| msg |
|----------->|
| |
外面那張圖就比較容易畫了,
就一個 loop 框住 a : A 的某段區間,
然後 message 丟進一個有 gate 的 InteractionUse 裡,
同時傳一個會遞增的變數給 InteractionUse (上例就是 Name(變數))。
這樣雖然比較麻煩但是卻是最標準的做法,
因為目前 UML 規格裡沒看到 sequence diagram 處理群集物件的說明,
你在 sequence diagram 的 lifetime 名稱寫 : B[*] 不合法,
寫 b : B 也不代表群集處理 (省略 selector 只是變成任選一個),
也沒有 b[*] : B 這種寫法。
一些 tool 會有擴充格式可以用,
但是很難保證所有人都看得懂。
--
Ling-hua Tseng (uranus@tinlans.org)
Department of Computer Science, National Tsing-Hua University
Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design
Researching: Software pipelining for VLIW architectures
Homepage: https://www.tinlans.org
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.117.2
※ 編輯: tinlans 來自: 118.160.117.2 (06/04 04:51)
推
06/04 08:28, , 1F
06/04 08:28, 1F
→
06/04 08:28, , 2F
06/04 08:28, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
OOAD 近期熱門文章
PTT數位生活區 即時熱門文章