[請益] UML 2.0的activity diagram 畫迴圈

看板CSSE (電腦科學及軟體工程)作者 (呵呵呵呵呵呵)時間16年前 (2009/01/09 01:12), 編輯推噓2(204)
留言6則, 2人參與, 最新討論串1/1
小弟昨天下午有問過, 後來以為會了, 就刪了文. 剛才看了一個朋友說的, 決定還是來問一下.... 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

01/09 09:19, , 1F
以及是否有規定, 方塊圖示一定只能一進多出(decision),
01/09 09:19, 1F

01/09 09:19, , 2F
或是 多進一出 (merge), 像第一圖 二進二出 已不被允許?
01/09 09:19, 2F

01/22 22:49, , 3F
兩個畫法都不行,action 的 input 都要到才會做。
01/22 22:49, 3F

01/22 22:52, , 4F
上面打錯,是第二個不行;另外二進二出的 decision 是可以
01/22 22:52, 4F

01/22 22:52, , 5F
的,UML 2.1.2 Superstructure Sepc 就有那種範例。
01/22 22:52, 5F

01/28 00:31, , 6F
謝謝.
01/28 00:31, 6F
文章代碼(AID): #19PZFeDt (CSSE)
文章代碼(AID): #19PZFeDt (CSSE)