精華區beta CSSE 關於我們 聯絡資訊
小弟昨天下午有問過, 後來以為會了, 就刪了文. 剛才看了一個朋友說的, 決定還是來問一下.... pseudo code 是: action1; while (i > 0) { action2; } ------------------------ -----------> end state | ╭────╮ | ╭────╮ | Action1| ----->◇---> | Action2| ╰────╯ ^ ╰────╯ | | |---------- | ------------------------------------------------- ------------------------->◇---->end state | ^ ╭────╮ | ╭────╮ | | Action1| -----> ◇--> | Action2| --->◇-- ╰────╯ ╰────╯ | ^ | |------------ -------------------------------------------------- 上圖是我覺得應該可以的, UML 1.x 也是如此畫; 現在看到教 UML 2.0 的書上說 branch 之後要 merge, 為了避免畫出數支branch同時指到下一個 action 的情形 (代表 該 action 要等到所有branch都執行到才會執行) 第二個畫法是有人建議的, 人家說, 最左邊的 decision 配最右邊的 merge, 接在action2 之後的方塊就作迴圈的判斷. 這個說法是否正確呢? 如果 decision 一定要配合 merge, 為何那迴圈用的 decision 後面不用 merge? 另外, Action 2 被兩個箭頭指到, 是否要等到兩邊都有info傳入才會繼續執行? 不知有沒有前輩先進能幫小弟解惑? 先謝謝了. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.166.49.24
hanshen:以及是否有規定, 方塊圖示一定只能一進多出(decision), 01/09 09:19
hanshen:或是 多進一出 (merge), 像第一圖 二進二出 已不被允許? 01/09 09:19
tinlans:兩個畫法都不行,action 的 input 都要到才會做。 01/22 22:49
tinlans:上面打錯,是第二個不行;另外二進二出的 decision 是可以 01/22 22:52
tinlans:的,UML 2.1.2 Superstructure Sepc 就有那種範例。 01/22 22:52
hanshen:謝謝. 01/28 00:31