共用方式為


HOW TO:整合 UML 模型與其他模型和工具

UML 模型可以與其他模型和網域特定語言整合。

您可以透過撰寫擴充程式碼來執行各種功能,以下列方式整合模型:

  • 將任何項目的參考附加至其他項目 (例如檔案) 或其他模型中的項目。
    在 UML 項目中,您可以儲存其他 UML 項目、檔案或其他物件的連結,方法是將其識別編碼成字串。

    例如,您可以撰寫可將任何 UML 動作 (亦即,活動圖表中的項目) 連結至其他活動圖表的擴充功能。 當使用者按兩下此動作時,其他圖表就會開啟。 這樣做可讓使用者針對此動作提供更詳細的檢視。

    有兩種方式可讓您在任何項目中儲存字串和其他資料:

    • 造型屬性:您可以定義 UML 設定檔,以便定義將屬性加入至指定之 UML 項目種類的造型。 例如,您可以定義設定檔,以便將名為 MoreDetail 的屬性加入至 UML 動作。 您可以將造型套用至動作,然後在屬性中儲存資料,藉以撰寫在動作中儲存連結資料的擴充程式碼。

      使用者可以在 [屬性] 視窗中檢視造型及其屬性。

      為了部署此擴充功能,您會在單一 Visual Studio 擴充功能中封裝設定檔定義和擴充程式碼。

      如需詳細資訊,請參閱HOW TO:定義要擴充 UML 的設定檔

      如需設定檔與功能表命令和軌跡處理常式一起部署的範例專案,請參閱範例:UML 設定檔 (英文)。

    • 參考:您可以將一組字串附加至任何 UML 項目。 您可以撰寫儲存檔案名稱或其他項目之 GUID 等資訊的程式碼。 您可以在不提供其他定義的情況下完成此作業。 使用者無法直接檢視參考。

      如需詳細資訊,請參閱HOW TO:將參考字串附加至模型項目。 如需範例,請參閱將 UML 項目連結至圖表或其他檔案 (英文)。

    有兩種方式可編碼模型項目的參考:

    • 目標模型項目和包含它之模型或顯示它之特定圖表的 GUID 和檔案名稱

      如需範例,請參閱將 UML 項目連結至圖表或其他檔案 (英文)。

    • ModelBus 參考:ModelBus 是在模型之間建立和解析參考的架構。 它包含了 ModelBus 選擇器,可讓使用者在模型中選取項目。 它也會協助使用者解析由於目標模型變更而遺失的參考。

      如需詳細資訊,請參閱使用 Visual Studio Modelbus 整合模型

  • 將某個模型的變更傳送到另一個模型。
    例如,您可以同步處理項目的名稱與連結圖表的名稱。如此一來,如果使用者變更了某個項目,其他項目也會變更。 進行這項作業的機制有兩個:

    1. VMSDK 規則可用來傳送相同模型內部的變更。

      如需範例,請參閱將 UML 項目連結至圖表或其他檔案 (英文)。

    2. VMSDK 事件可用來傳送模型外部的變更,例如變更連結文件的檔案名稱,或是變更其他模型中的項目。

    如需這兩個機制的詳細資訊,請參閱HOW TO:回應 UML 模型中的變更

  • 拖曳項目,以便在兩個模型之間複製項目
    您可以讓使用者將項目拖曳至 UML 圖表上,藉以建立項目。 建立的項目不需要是原始項目的複本。 例如,您可以讓使用者將活動圖表從 [方案總管] 拖曳至其他活動圖表上,以便建立新的動作。

    如需詳細資訊,請參閱HOW TO:在模型圖表上定義 Drop 和 Double-Click 處理常式HOW TO:加入拖放處理常式

範例

請參閱程式碼範例:將 UML 項目連結至圖表或其他檔案 (英文)。 此範例可讓使用者將檔案拖曳至任何 UML 項目上,然後按兩下此項目,即可開啟檔案。 例如,您可以將活動圖表連結至使用案例項目。 圖示會顯示具有連結的項目。

這個程式碼範例會示範下列技巧:

如需 DSL 讀取 UML 模型的範例,請參閱HOW TO:加入拖放處理常式

請參閱

其他資源

HOW TO:在模型圖表上定義功能表命令

HOW TO:在模型圖表上定義 Drop 和 Double-Click 處理常式

HOW TO:加入拖放處理常式

HOW TO:回應 UML 模型中的變更

範例:UML 設定檔

將 UML 項目連結至圖表或其他檔案