作者tinlans ( )
看板OOAD
标题Re: [UML]UML sequenceDiagram的问题
时间Thu Jun 4 04:46:07 2009
※ 引述《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 (
[email protected])
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)
1F:推 drkkimo :感谢 :) 说明的蛮清楚的 应该可以符合我目前要表达 06/04 08:28
2F:→ drkkimo :的状况的需求 06/04 08:28