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 整合模型。
將某個模型的變更傳送到另一個模型。
例如,您可以同步處理項目的名稱與連結圖表的名稱。如此一來,如果使用者變更了某個項目,其他項目也會變更。 進行這項作業的機制有兩個:VMSDK 規則可用來傳送相同模型內部的變更。
如需範例,請參閱將 UML 項目連結至圖表或其他檔案 (英文)。
VMSDK 事件可用來傳送模型外部的變更,例如變更連結文件的檔案名稱,或是變更其他模型中的項目。
如需這兩個機制的詳細資訊,請參閱HOW TO:回應 UML 模型中的變更。
拖曳項目,以便在兩個模型之間複製項目
您可以讓使用者將項目拖曳至 UML 圖表上,藉以建立項目。 建立的項目不需要是原始項目的複本。 例如,您可以讓使用者將活動圖表從 [方案總管] 拖曳至其他活動圖表上,以便建立新的動作。如需詳細資訊,請參閱HOW TO:在模型圖表上定義 Drop 和 Double-Click 處理常式和HOW TO:加入拖放處理常式。
範例
請參閱程式碼範例:將 UML 項目連結至圖表或其他檔案 (英文)。 此範例可讓使用者將檔案拖曳至任何 UML 項目上,然後按兩下此項目,即可開啟檔案。 例如,您可以將活動圖表連結至使用案例項目。 圖示會顯示具有連結的項目。
這個程式碼範例會示範下列技巧:
-
此範例程式碼會將檔案路徑和項目 GUID 儲存在與項目相關聯的參考字串中。
如何將 Decorator 加入至 UML 項目。 如需 Decorator 的一般資訊,請參閱Customizing Text and Image Fields。
此範例會將影像 Decorator 加入至 UML 圖案。
-
此範例會示範如何定義規則,以便回應出現在圖表上的新圖案。
HOW TO:在模型圖表上定義 Drop 和 Double-Click 處理常式
此範例會示範如何處理從 [Windows 檔案總管]、[方案總管] 和其他 UML 項目中拖曳的項目。
如需 DSL 讀取 UML 模型的範例,請參閱HOW TO:加入拖放處理常式。