共用方式為


以 UML 順序圖表說明具有片段的控制流程

在 Visual Studio Ultimate 的 UML 順序圖表中,「合併片段」(Combined Fragment) 可讓您顯示迴圈、分支和其他替代項目。

合併片段是由一個或多個「互動運算元」(Interaction Operand) 所構成,且每一個都會包圍一個或多個訊息、互動使用或合併片段。

注意事項注意事項

本主題說明順序圖表中的片段。如需如何讀取 UML 順序圖表的詳細資訊,請參閱 UML 順序圖表:參考。如需如何繪製 UML 順序圖表的詳細資訊,請參閱 UML 順序圖表:方針

包含兩個互動運算元的合併片段

圖中顯示的項目如下。

  1. 合併片段。 合併片段有數種。 此範例為其他合併片段,可用來顯示可能發生的替代訊息序列。

  2. 互動運算元。 每一個合併片段至少包含一個互動運算元,而互動運算元可包含訊息、互動使用和較小的合併片段。 在此範例中,其他合併片段有兩個互動運算元,會顯示兩個替代的訊息序列。

  3. 您可以按一下互動運算元的內部,分別選取各個互動運算元。 在此範例中,頂端的互動運算元已選取,因此可以看見它的界限。 通常只能看見互動運算元之間的分隔行。

    注意事項注意事項

    若要選取頂端的互動運算元,您不可在太接近合併片段頂端的位置按下滑鼠。

  4. 成立條件。 您可以為每一個互動運算元設定成立條件。 這樣即可說明互動運算元內的訊息將在何種情況下執行。

建立合併片段

如需您可建立之片段類型的清單,請參閱合併片段的類型。

若要建立合併片段

  1. 選取全部在相同的生命線或執行位置開始的一則訊息或訊息序列。

    注意事項注意事項

    如果您選取多個訊息,則這些訊息必須形成不中斷的序列。

  2. 以滑鼠右鍵按一下其中一則訊息,指向 [範圍陳述式],然後按一下需要的合併片段類型,例如 [其他合併片段]。

    新的合併片段隨即出現。 標題會指出您選取的合併片段類型,例如 [其他]。

    合併片段內會有一個包含您所選取訊息的片段。

您可以將更多互動運算元加入至幾種不同的合併片段中。

若要將新的互動運算元加入至合併片段

  1. 以滑鼠右鍵按一下互動運算元 (2) 內、任何包含的片段外,以及合併片段標題下方的空白區域。

  2. 指向 [加入]。

  3. 按一下 [Before 互動運算元] 或 [After 互動運算元]。

  4. 您可以使用訊息工具將訊息加入至新互動運算元內,或是複製和貼上現有的訊息。

您可以設定互動運算元的 [成立條件] 屬性,說明執行內含訊息的各種情況。 例如,在 [迴圈] 合併片段中,您可以使用成立條件指定迴圈繼續執行的條件。 在 [其他] 合併片段中,您可以為每一個互動運算元指定不同的條件。

若要設定互動運算元的成立條件

  1. 按一下互動運算元 (2) 內、任何包含的片段外的空白區域。

    選取框線會出現在互動運算元的周圍,以及成立條件的周圍。

    在 [屬性] 視窗中的標題會顯示 [互動運算元]。

  2. 輸入成立條件。

    這個條件將出現在片段 (4) 頂端附近。

您可以設定某些合併片段類型的屬性。

若要設定或檢視合併片段的屬性

  • 以滑鼠右鍵按一下合併片段的標題,然後按一下 [屬性]。

    注意事項注意事項

    不同類型的合併片段會擁有不同的屬性。

合併片段的類型

Dd465153.collapse_all(zh-tw,VS.110).gif說明控制流程的片段

簡單的順序圖表可顯示單獨一種典型序列。 您可以使用下列類型的合併片段說明不同情況下發生的變化。

片段類型

描述

Opt

選擇項。 包圍不一定會發生的序列。 您可以在成立條件中指定發生的條件。

ALT

包含片段清單,其中包含替代的訊息序列。 任何情況下都只會發生一個序列。

您可以在每一個片段中放入成立條件,表示在何種情況下可以執行該片段。 else 成立條件表示片段應在沒有其他成立條件為 true 時執行。 如果所有成立條件都是 false 且沒有 else,則不會執行任何片段。

Loop

片段會重複執行幾次。 您可以在成立條件中指出重複執行的條件。

迴圈合併片段擁有 [Min] 和 [Max] 屬性,表示片段可重複的最少和最多次數。 預設為無限制。

Break

如果執行此片段,就會放棄序列的其餘部分。 您可以使用成立條件指出中斷將發生的條件。

Par

平行。 片段中的事件可以交錯。

Critical

用於 Par 或 Seq 片段內。 指出此片段中的訊息不得與其他訊息交錯。

Seq

有兩個以上的運算元片段。 涉及相同生命線的訊息必須依照片段的順序發生。 只要未涉及相同的生命線,不同片段的訊息就可以平行交錯。

Strict

有兩個以上的運算元片段。 片段必須依照指定的順序發生。

Dd465153.collapse_all(zh-tw,VS.110).gif關於如何解譯序列的片段

根據預設,順序圖表會說明可能發生的一系列訊息。 在正在執行的系統中,可能會發生您未選擇在圖表上顯示的其他訊息。

下列片段類型可以用來變更此解譯。

片段類型

描述

Consider

指定此片段說明的訊息清單。 其他訊息可能在正在執行的系統中發生,但是對於此說明的目的而言並不重要。

在 [訊息] 屬性中輸入清單。

Ignore

此片段未說明的訊息清單。 這些訊息可能在正在執行的系統中發生,但是對於此說明的目的而言並不重要。

在 [訊息] 屬性中輸入清單。

Assert

運算元片段只會指定有效的序列。 通常用於 Consider 或 Ignore 片段內。

Neg

此片段中的序列不得發生。 通常用於 Consider 或 Ignore 片段內。

請參閱

參考

UML 順序圖表:參考

概念

UML 順序圖表:方針

HOW TO:編輯 UML 模型和圖表