UML 模型

您可以將 cpp_namespace 造型套用在模型上。 您可以利用造型的 NamespaceName 屬性來指定模型中所有元素的名稱空間。

UML 套件

UML 套件會成為目標專案中的資料夾(以及檔案系統中的對應資料夾)。  轉換會將套件元素放在套件資料夾中。

轉換會忽略被標示為分析套件的套件。使用者將套件標示為分析套件的方法是: 對它套用 <<視景>> 造型,或是套用 "analysis" 或 "Analysis" 關鍵字。

類似於模型,您也可以將 cpp_namespace 造型套用在套件上,來指定套件中所有元素的名稱空間。 轉換目前不支援巢狀名稱空間。 內部套件所指定的名稱空間會取代外部套件所指定的名稱空間。

如果兩個 UML 套件在相同模型層次上有相同的名稱,轉換只會在檔案系統中建立一個資料夾,且會將兩個 UML 套件的內容都放在這個資料夾中。

UML 類別

對於 UML 類別,轉換會產生一對檔案:標頭檔和主體檔。 必要的話,轉換會轉換類別名稱來符合 C++ 規則以及確保名稱是唯一的。 主體檔一律包含對應標頭檔的 include 指引。 依預設,產生的標頭檔的檔案名稱是 <ClassName>.h, 產生的主體檔的檔案名稱是 <ClassName>.cpp

一般化和關聯關係會影響程式碼的產生。 如果需要詳細資訊,請參閱 UML 關聯關係UML 一般化關係

您可以將下列造型套用在 UML 類別上:

·         cpp_struct,這個造型會產生 C++ 結構,而不是類別。

·        cpp_union:這個造型會產生 C++ 聯集,而不是 C++ 類別。 C++ 設定檔允許使用匿名的巢狀聯集。 依預設,不會產生聯集的標準作業。

·        cpp_typedef:這個造型會產生 C++  類型定義,而不是 C++ 類別。 您應該利用造型的 "ImplementationType" 屬性來指定要定義之類型的簽章。

UML 列舉

轉換會將 UML 列舉轉換成 C++ "enum"。 C++ 列舉的名稱取自 UML 列舉。 必要的話,轉換會轉換列舉名稱來符合 C++ 規則以及確保名稱是唯一的。 轉換會將 UML 屬性產生為 C++ 屬性,且會套用模型的預設值。

和 UML 類別不同,轉換只會產生列舉的標頭檔。

巢狀 UML 類別和列舉

類別可以有巢狀類別和列舉。 轉換會產生類似於非巢狀對應項目的巢狀物件。 不過,轉換不會建立巢狀物件的個別標頭和主體檔;它會新增到它們所在之類別的標頭和主體檔中。

巢狀類別和列舉也有下列差異:

·         巢狀元素的可見性會在它們的母項中追蹤

·         新增巢狀元素的 include 指引來併入它們所在之類別的指引

·         巢狀元素的作業主體字首為它們所在之類別的名稱

·         巢狀元素的靜態屬性定義也包括它們所在之類別的名稱

頂端

使用條款 | 意見
(C) Copyright IBM Corporation 2004. All Rights Reserved.