2016-12-26 44 views
0

這是我第一次繪製UML序列圖,我不確定幾件事情。繪製序列圖

enter image description here

我有一個信標是一個覆盆子PI與藍牙適配器。服務器要求信標開始更改ID periodically(startIDRotation)。信標廣播並在每個間隔後更改它們。當智能手機想要提出請求時,它會將檢測到的ID(信標在請求中廣播)與請求的文件一起發送,並將請求發送給服務器。服務器使用另一個活動圖中表示的邏輯來決定用戶是否有權訪問該文件並向智能手機發迴響應。

第一個問題是,在信標和智能手機之間畫線是否正確?由於信標不是專門將信標發送到信標,它只是通過藍牙廣播它們。

由於決策圖是活動圖,是否可以引用另一個圖類型?

服務器向信標發送一個發佈請求以開始一次旋轉,但它保持信標的狀態並知道它正在旋轉其ID。這應該表示爲與我同步或異步嗎?

如果您有任何其他評論,請隨時糾正我。

回答

1

在信標和智能手機之間畫線是否正確?

是的。該行代表一條消息。生命線代表一個個體實例。當電話收到廣播時,這是發送的消息。由於您確實畫了一個開放的箭頭,它表示一個異步調用。所以這很完美。

是否可以引用另一個圖類型?因爲決策圖是一個活動圖。

是的。你會按照你所做的方式來添加圖表參考。這表示覆蓋區域的細節。您還可以添加如下所示的任意圖表引用。

這應該表示爲與我同步或異步嗎?

這取決於。最有可能的是,您將在此處進行同步通信(封閉三角形),因爲服務器想要知道消息是否已到達,並且信標確認該活動的開始。

enter image description here

0
  1. 是,信標發送(廣播)的異步信號,智能電話所以應該有一個消息行描繪它。

  2. 通過Ref您引用另一個序列圖。如果要表示某些行爲(使用某個活動圖描述的活動),請使用同步請求將同一生命線(從服務器到服務器)回叫,同時調用負責執行特權檢查的活動。你也可以把執行動作的名字放在執行規範裏面(使得這個細長的矩形更寬一點,以便將它擠入 - 參見UML規範中的17.2.4.4)。

  3. 所有行代表異步消息。要顯示同步消息,請使用帶實心三角形的實線作爲箭頭。用空心箭頭表示應答使用虛線。如果你的特定消息應該是同步的或異步的取決於你的需求。廣播是異步的,其他的可以是同步的也可以是異步的。

+0

謝謝,但我沒有得到這個「使用一個同步請求,回到同一生命線(從服務器到服務器)與調用活動負責執行權限檢查」。你有什麼樣的例子嗎? – cleo

+0

@ThomasKilian關於ref有兩種不同的意見,它應該也是一個sequecne圖,或者可能是另一個圖類型,如活動圖,所以這不是同一個答案:) – cleo

+0

它可以是任何圖。但在大多數情況下,這將是一個可持續發展。 –