資料 ID:GI11-8359-00
© Copyright International Business Machines Corporation 2007. All rights reserved.US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
如需本文件的最新版本,請參閱
http://download.boulder.ibm.com/ibmdl/pub/software/rationalsdp/v7/rme/70/docs/readme/readme.html。IBM® Rational® Modeling Extension for Microsoft® .NET 是 Rational UML 建模產品的 C# 和 CTS 建模延伸模組。這一系列的設計和開發工具以開放原始碼 Eclipse 架構為基礎。Modeling Extenstion for Microsoft .NET 軟體包含外掛程式,可讓軟體架構設計師和模型導向開發人員利用「統一建模語言 (UML 2)」,視覺化 C# 應用程式和 CTS 類型;以及建立正確架構的 C# 程式碼。
Rational Modeling Extension for Microsoft .NET 的用途:
- 從 Microsoft Visual Studio 2005 匯入 .NET 解決方案,以在 Eclipse 專案內建立解決方案的鏡映影像。
- 視覺化 C# 應用程式。
- 使用「瀏覽圖」進行架構探索和相依關係分析。
- 使用「類別圖」進行說明應用程式結構。
- 使用「序列圖」進行說明按照實作的和假設性的類別互動。
- 在 UML 模型的圖型內描繪 .NET 類型作為「混合建模」工作原理的一部份。
- 將 UML 模型轉換成 C# 程式碼。
- 將 C# 程式碼的變更轉換成 UML 模型。
如需最新的安裝需求詳細資料,請參閱此 Readme 檔的更新版本: http://download.boulder.ibm.com/ibmdl/pub/software/rationalsdp/v7/rme/70/docs/readme/readme.html。
您也可以從安裝啟動程式和產品 CD 的文件目錄中,檢視產品的安裝手冊。
Rational Modeling Extension for Microsoft .NET 需要 IBM Installation Manager 1.0.0.2 版或更新的版本,以及 IBM Rational Software Architect、IBM Rational Software Modeler 或 IBM Rational Systems Developer 7.0.0.1 版。 如果尚未安裝必要的版本,不會繼續進行軟體安裝。
如需安裝 IBM Rational Modeling Extension for Microsoft .NET 7.0 版的相關資訊,請參閱 Web 上的安裝指示:http://download.boulder.ibm.com/ibmdl/pub/software/rationalsdp/v7/rme/70/docs/install_instruction/install.html。
您也可以從安裝啟動程式和第一片產品 CD 的文件目錄中檢視產品的安裝手冊。
這個建模延伸軟體可以安裝在 IBM Rational Software Architect 7.0.0.1 版、IBM Rational Software Modeler 7.0.0.1 版或 IBM Rational Systems Developer 7.0.0.1 版的 GA 建置版本中。 下列步驟提供安裝程序的概觀。如需詳細的指示,請參閱 IBM Rational Modeling Extension for Microsoft .NET 安裝手冊。
若要安裝:
- 請確定已安裝上述的 Rational UML 建模產品。
- 在 IBM Installation Manager 中,選取要安裝建模延伸模組的主機產品。
建模延伸模組 Shell 與主機產品共用相同的 Eclipse 實例。- 遵循 Installation Manager 精靈來完成建模延伸模組的安裝。
這些版本注意事項包括在產品說明文件完成之前,尚無法取得的資訊。 當利用 C# 設定檔建立 .NET 應用程式的模型時,請使用下列最佳作法和準則。
1. 每當開啟含延伸模組的 Rational UML 建模產品時,都必須開啟 Visual Studio 2005 Standard 或 Professional Edition。
附註:安裝手冊將 "Visual Studio 2005" 列為必備軟體。應該修正為「Visual Studio 2005 Standard Edition 或 Professional Edition」。不支援 Express 版本。
2. 使用先前從 Rational XDE 匯入 Rational Software Architect 6.x 版的模型
如果您有先前從 Rational XDE 匯入 Rational Software Architect 6.x 版的模型,且已移轉(或準備移轉)至 Rational Software Architect 7.0.0.1 版,同時也要使用延伸模組, 您也必須安裝 Rational Software Architect 的「Rational XDE 模型匯入」特性。
3. 在模型中命名套件時,請勿在套件名稱中使用 ‘.’(點)。比方說,如果需要 ‘com’ 內之 ‘ibm’ 內的巢狀套件 ‘xtools’,請不要命名單一套件 “com.ibm.xtools”, 請利用階層式套件結構來建立 “com” 套件,裡面再建立 “ibm” 套件,裡面再建立 “xtools”。 這種表示法可以保證唯一性,有助於在程式碼轉換成模型時減少錯誤的 fuse 變更。
4. 只在需要透過模板內容來設定一些 C# 特有的值時,才套用 C# 模板。 否則,如果未套用模板也會產生相同的程式碼,C# 至 UML 轉換會假設在先前進行 UML 至 C# 轉換期間,未使用任何模版,且會開啟「使一致」視窗,建議您應從 UML 模型中移除模版的差異。
5. C# 設定檔目前並不定義限制項,因此,不會偵測所套用之模版的無效組合。請避免無效使用設定檔模板。 例如,同時套用 <<CSharpClass>> 和 <<CSharpInterface>> 便無效,會造成無法預期的轉換行為。
6. 在局部類型建模時,使用者應該使用一個空類型作為局部類型,在這個類型上,每個部分都顯示為相依部分。 將已塑造的空白局部類型(來源)和定義的局部類型(含有對來源的相依關係)納入模型的單一套件中。 依此類推,將局部類型的所有部分全部定義在模型的一個套件中。 來源的名稱將作為類型名稱,其他部分的名稱不作為類型的名稱。透過對映模型,每一個局部的部分可以導向不同檔案。 從程式碼轉換成模型時,使用者在每一個部分上使用的名稱不詳,因此,轉換會產生 <typename>_<filename> 格式的名稱,這會在 fuse 對話框中顯示為差異。
7. 在 C# 中,必須指定類型參數的值,才能使用通用類型,亦即,應該連結類型參數來為通用類型建構新的類型。例如,可以用 List<String> 來使用具有參數 T 的 List 類別。在 UML 中,這樣建構的類型以範本連結來表示,當程式碼轉換成 UML 來產生暫時模型時,這些類型的名稱則否。所以,建構的類型會呈現匿名的類型名稱,在 fuse 對話框中會顯示為差異,使用者必須將這些類型對映至目標模型中的實際範本連結。
超載運算子塑造成操作。例如,假設您打算在 C1 類別內超載下列兩個運算子,且想要以 Modeling Extension for Microsoft .NET 來塑造這項作業。
等於 (==)
不等於 (!=)下列步驟以此範例來說明如何塑造運算子的超載。
必要條件:
必須建立或開啟 UML 模型。若要塑造超載運算子:
- 在 UML 模型中建立新的類別 C1。
- 在類別 C1 中新增操作,並命名為運算子 !=。此運算子將包含超載運算子 != 的實作。
- 定義運算子如下。
a. 將新建立的操作的可見性設為 Public。
b. 將新建立的操作的限定元設為 Static。
c. 將新建立的操作的傳回類型設為「初始類型」Bool。
d. 在新建立的操作中新增兩個 C1 類型的參數,分別命名為 c1 和 c2。- 在類別 C1 中新增另一個操作,並命名為運算子 ==。此運算子將包含超載運算子 == 的實作。
- 像步驟 3 一樣定義運算子。
在類別 C1 內塑造超載運算子 != 和 == 完成。
這些版本注意事項包括版本特定的資訊,如:在產品說明文件完成之後才可使用的問題和限制。
建模延伸軟體未向使用者表示匯入的程式碼未正確編譯。如果匯入的 C# 專案含有語法錯誤的程式碼,則在建模延伸軟體中,「專案瀏覽器」或視覺化工具圖型中不會顯示指出錯誤的旗標。
暫行解決方法:請確定 C# 程式碼在進行任何轉換之前,以及在匯入 Modeling Extension for Microsoft .NET 之前,能夠在 Visual Studio .NET 中順利編譯。
在安裝或執行 Modeling Extension for Microsoft .NET 之前,請確認系統上已安裝了正確的作業系統、服務套件及 Visual Studio 2005 Standard 或 Professional Edition。- Modeling Extension for Microsoft .NET 只認得所開啟的第一個 Visual Studio 2005 實例,也只與這個實例通訊。 在使用 Modeling Extension for Microsoft .NET 的機器上,請每次只執行一個 Visual Studio 實例。
- 當 Modeling Extension for Microsoft .NET 在執行中,請勿在 Visual Studio 內關閉或開啟不同的解決方案(非匯入的解決方案)。
- 一律只開啟一個 Visual Studio 2005 實例;Modeling Extension for Microsoft .NET 只認得第一個 Visual Studio 2005 實例,也只能與之溝通。
- 當方案匯入 Modeling Extension for Microsoft .NET 中時,方案中存在的每個對應的 C# 專案會在 Eclipse 工作區建立 Eclipse 專案。在 Eclipse 中建立的專案和 Visual Studio 2005 方案中的 C# 專案同名。下列是關於專案的重點:
- 在 Eclipse 中建立的專案將有鏈結指向 Visual Studio 2005 解決方案中相對應的 C# 專案所用的 C# 檔案和 .NET 組件。 Modeling Extension for Microsoft .NET 只有透過這些鏈結才能擷取、更新及顯示 Visual Studio 2005 專案的相關資訊和其在 Eclipse 中的內容。事實上,其作等於 C# 專案在 Eclipse 中的視圖。
- 除了使用 UML-C# 轉換,請避免利用 Eclipse 機制來修改匯入的專案。 利用 Eclipse 機制來重新命名這些專案,或修改它們的內容,可能造成無法預期的結果。 特別是要避免在專案中建立或新增 UML 模型 (.emx) 或圖檔 (.dnx)。 請改成在 Eclipse 中建立個別的專案(如同 UML 專案)來達到這些目的。 您必須小心避免在匯入的專案內建立圖檔 (.dnx),因為在建立新圖時,視覺化架構會將它們的位置預設為視覺化元素所在的專案。
- 您可以放心關閉再重新開啟匯入的專案。 您也可以放心刪除它們,但不可「移除基礎內容」(如果您真的需要刪除 Visual Studio 專案及其所有內容,請從 Visual Studio 執行這個動作)。
- 當 Visual Studio 2005 方案匯入至 Eclipse 之後,請避免在 Visual Studio 2005 中重新命名 C# 專案。如果您必須重新命名專案,請遵循下列步驟:
- 刪除相對應(匯入)的 Eclipse 專案(但不「移除基礎內容」)。
- 在 Visual Studio 中,重新命名專案。
- 重新匯入 Visual Studio 解決方案(Modeling Extension for Microsoft .NET 解決方案)可以漸進地匯入解決方案;當匯入 Visual Studio 2005 解決方案中新增加的 C# 專案時,這個功能也很有用。
- 在 Modeling Extension for Microsoft .NET 中執行動作之前,請確定 C# 專案沒有語法錯誤,且它們在 Visual Studio 2005 中可順利編譯。 Modeling Extension for Microsoft .NET 利用「Visual Studio 程式碼模型 API」來剖析 C# 檔案。 如果 C# 檔案含有錯誤,這些 API 會傳回不正確的結果和 NULL 值。 比方說,如果您在 Visual Studio 中變更 C# 檔案之後,在 Eclipse 中重新整理它的專案,卻發現在「專案瀏覽器」中無法展開這個檔案,便可能是這項變更引進了錯誤的 C# 語法。
建議的方法是切換至 Visual Studio 2005,修正所有語法錯誤,重新建置這個解決方案,然後在 Eclipse 中重新整理匯入的專案來取得變更。 當套用轉換時,Visual Studio 解決方案是在全新的已建置狀態中,這一點特別重要。- Modeling Extension for Microsoft .NET 利用 COM 機制與 Visual Studio 2005 同步化。 當 Visual Studio 在忙碌中,COM 呼叫可能會失敗或遭到拒絕。 當在 Modeling Extension for Microsoft .NET 中執行下列作業時,請勿使用 Visual Studio 2005,或使它成為作用中:
- 匯入 .NET 解決方案
- 專案重新整理
- 在「專案瀏覽器」中展開匯入的專案或檔案(例如,展開樹狀視圖)
- 在先前已匯入 Visual Studio 2005 解決方案的工作區中,啟動 Modeling Extension for Microsoft .NET
- 編製 .NET 視覺化圖型
- 執行 UML 至 C# 或 C# 至 UML 轉換
- 如果不打算探索 .NET Framework 組件中定義的類型內容,(例如,瞭解類型包含哪些作業或欄位),請在 Visual Studio 2005 解決方案匯入 Eclipse 工作區時,使用「剖析 .Net 組件時,只取得類型」選項。 這個選項在「.NET 解決方案匯入」精靈的第一頁。 這可加速匯入方案及加速 C# 和 .NET 類型的視覺化。
- 在 Visual Studio 2005 中,一律啟用自動載入變更的選項。在「選項」視窗的「環境 -> 文件」頁面上,勾選「自動載入變更」勾選框來啟用此選項。透過「工具-選項->環境->文件->當檔案在環境以外變更時偵測->自動載入變更 (如果已儲存)」來啟用。
- 您可以在 Eclipse 中從匯入的專案的快速功能表選取「內容」選項來變更 C# 專案的編碼。請注意,因為 Visual Studio 專案通常很大,所以編碼時間會比較久。
當利用巢狀類別/struct/介面來定義外部類別/struct/介面中的元素類型時,雖然類型和元素定義在相同的類型中,類型名稱仍會包含外部類型的名稱。 目前沒有已知的暫行解決方法。 未來的版本會處理這個問題。
例如,下列模型:
- OuterClass
+ InnerClass
+ attribute1 : InnerClass會在 OuterClass.cs 內產生下列項目,成為產生的 InnerClass 程式碼的一部分:
private OuterClass.InnerClass attribute1;
這個版本不支援在 UML 模型(如類別名稱、文件等)中呈現之 Unicode 字元的向前轉換。 在相對應的 C# 檔中,所有 Unicode 字元都會產生為 '?'。
當 Modeling Extension for Microsoft .NET 和 IBM Rational Software Modeler 一併安裝時,在「歡迎使用」中, 按一下「概觀 > 不同建模方式... > 進一步關於模型轉換」,並無法使用示範 Modeling Extension for Microsoft .NET 特性的 Viewlet 課程。 您可以在「指導教學庫」中,取得這個課程。
如果要在 Rational Software Modeler 中檢視這個課程,請按一下說明 > 指導教學,展開課程,再按一下將 UML 模型轉換成 C# 程式碼。 請按一下啟動課程來啟動這個 Viewlet。
在某些情況下,當選取對映以及建立來源和目標間的關係等選項來重新執行 UML 至 C# 轉換時,產生的程式碼會毀損。 比方說,程式碼註解可能會遺漏 "/",也可能會出現其他程式碼錯誤。
當在構件之間移動資訊清單關係,以便將程式碼組合到單一 .cs 檔中,或將程式碼分成兩個檔案時,便會發生這個情況。
未來的版本會修正這個問題。
第一次在匯入的 XDE 程式碼模型上執行 C# 至 UML 轉換時,使一致對話框會顯示與模板相關的許多差異。 這是因為 C# 至 UML 轉換不認得匯入的模型中的 XDE 相關模板。 未來的版本會修正這個問題。
暫行解決方法:
匯入 XDE 程式碼模型之後,請立即執行一次「清除」轉換(在模型或程式碼進行任何變更之前)。 執行 C# 至 UML 轉換。 當使一致對話框出現時,請接受所有支持暫時模型的建議變更(模型顯示在左窗格)。 這會從持續存在的模型中移除模版,因此,後來執行 C# 至 UML 轉換時,將不再報告這些差異。
請設想一個含有 <<CSharpProperty>>、<<CSharpField>> 之類模板化 UML 內容的模型,這些內容的類型尚未設定,程式碼將組件的類型指定為這些元素的資料類型。 如果在這類程式碼和目標模型上執行 C# 至 UML 轉換,fuse 會正確顯示元素將設定的資料類型(將是一個 UML vizref),但作業完成之後,會遺漏這些元素的資料類型(空值)。 這是一個已知的問題,未來的版本會修正這個問題。
如果模型檔的名稱包含 # 符號,且指定為 C# 至 UML 的轉換目標,fuse 對話框將無法顯示含有暫時和目標模型(以便合併差異)的 2 個窗格。 未來的版本會修正這個問題。
如果將 XDE 匯入模型指定為 C# 至 UML 轉換的目標,且也在轉換配置中指定了「對映模型」,C# 至 UML 轉換會失敗,且會出現「空值指標異常狀況」。 只有含對映模型的 XDE 匯入模型,會出現這個問題。
暫行解決方法:
請從匯入的模型中刪除 <<Aritifacts>> 套件,再執行轉換。 刪除構件套件,並不會導致任何資訊的遺失,因為對映模型會有各個檔案等等的相關資訊。 未來的版本會修正這個問題。
如果在轉換配置編輯器中,利用建立新的目標儲存器按鈕來建立目標模型,焦點有時會移至新建的模型,且不會在目標窗格(C# 至 UML 是正向轉換)中選取新模型。
暫行解決方法:
請手動切換至配置編輯器,再選取目標模型。 這是一個已知的問題,未來的版本會修正這個問題。
如果以修改過的對映模型來執行 UML 至 C# 轉換,且執行的方式會導致刪除檔案,當使用者在「刪除檔案」對話框中選取刪除檔案時,實際上,並不會刪除這個檔案。 這只會從專案中移除檔案,以便將內容保留下來。
之後,如果又再次執行 UML 至 C# 轉換,執行的方式會導致重建上一步驟所刪除(從專案中移除)的檔案,這個(重建的)檔案會含有舊(原始)內容,而不是新內容。
暫行解決方法:
這個問題的現行暫行解決方法是在第 1 步驟之後,從檔案系統中刪除這些檔案。 這些檔案的清單可以得自:
- 「刪除檔案」對話框(如果未以無聲方式自動執行轉換)。
- 檔案系統的可用檔案清單對照屬於這個專案的檔案(如果以無聲方式自動執行轉換配置)。
- 對映模型中的空白構件清單(如果有的話)。
移除 C# 程式碼的 @generated 標籤之後,在轉換配置的「一般」頁面中選取「建立來源和目標間的關係」選項來重新套用 UML 至 C# 轉換時,會導致在程式碼中產生額外的 URI 標籤。 只觀察到變數有這個情況。
URI 的標籤格式如下:
//@C#_transform [
// _URI=platform:/resource/UML%20project/Blank%20Model%20t1.emx#_cd19cKJhEdurjYIa4vhLGA//]
重複執行重新套用,會導致在 C# 檔案中,產生多個 URI 標籤。
暫行解決方法:
這個問題沒有已知的暫行解決方法。
如果移除產生的設定元的 @generated 標籤,且在重新執行 UML 至 C# 轉換之前,在程式碼中變更了它的類型,便會產生一個額外的設定元。
暫行解決方法是在模型中變更類型。
當選取「取代 UML 元素」選項來執行 UML 至 C# 轉換時,不會取代 UML 模型中所呈現的列舉字面。 如果 E 這項列舉有兩個字面,L1 和 L2,且 E 包含在 p 套件中,在執行轉換之後,E 這項列舉會正確取代為一道捷徑,指向程式碼中所產生的 C# 列舉; 但在轉換之後,L1 和 L2 這兩個字面會呈現為包含在 p 套件中。
暫行解決方法:
這個問題沒有已知的暫行解決方法。
在某些情況下,XDE 的「C# 程式碼模型匯入器」(檔案 -> 匯入 -> 其他 -> XDE .Net 解決方案)無法正確移轉 C# 索引器的設定元。 指定相對應的 UML 模型(.emx 檔;利用「XDE 基本模型匯入器」匯入),再以移轉的模型為來源,移轉的專案為目標,來執行 UML 至 C# 轉換,從而匯入包含在 XDE .NET 解決方案中的 C# 專案, 可能不會產生在這項程序之前,存在於程式碼中的相同設定元。 在某些情況下,根本不會產生設定元,而在某些情況下,會產生含額外參數的設定元(含名稱值),造成編譯錯誤--因為 C# 不容許設定元的明確參數使用名稱值。
暫行解決方法:
這個問題沒有已知的暫行解決方法。
當在轉換配置編輯器的「一般」頁面中選取取代 UML 元素選項來執行 UML 至 C# 轉換,且使用對映模型時, 對於在資料夾中產生了原始檔的來源模型,轉換並不會取代其中的 UML 元素。 只有在目標 C# 專案的根資料夾之下產生程式碼的 UML 元素,才會被取代為指向程式碼中對應元素的捷徑。
暫行解決方法:
在第一次執行 UML 至 C# 轉換之後,會將 UML 模型和對映模型標示為已用過;請在轉換配置或對映模型保持不變的情況下,再執行一次轉換。 這時模型中的所有 UML 元素都會被捷徑取代。
當匯入 Rational XDE 程式碼模型時,也會在 Eclipse 型環境中,匯入和參照程式碼模型所參照的任何所謂的「組件模型」(也稱為「系統模型」或「參照模型」)。 因此,開啟匯入的程式碼模型,可能要花較長的時間。
暫行解決方法:
請在順利匯入程式碼模型之後,刪除匯入的組件模型。 不論您是選擇以直接的程式碼參照來取代匯入的程式碼模型的 UML 元素,且使用「混合建模」作業理論, 或選擇保留程式碼模型的 UML 元素,且使用「真實雙向工程 (RTE)」(反覆進行正向和反向轉換並使一致)作業理論, 都能夠使用這個暫行解決方法。暫行解決方法的效果:
1. 刪除組件模型會加快匯入的程式碼模型的開啟和編輯速度。2. 當開啟匯入的程式碼模型時,產品可能會顯示關於「遺漏」所參照之模型的警告或「錯誤」。 這些警告可以忽略。
3. 當針對匯入的程式碼模型來執行驗證時,產品可能會顯示關於「遺漏」所參照之模型的警告或「錯誤」。 這些都可以忽略。
範例:
假設我們有一個 Visual Studio 2003 C# 專案,稱為 Project1,相對應的 XDE 基本模型是 "Project1.mdx"。 假設這個模型參照下列五個系統模型:System.mdx、mscorlib.mdx、System.Data.mdx、System.Web.mdx 和 System.Drawing.mdx。- 首先是利用 VS 2005 移轉公用程式,將 VS 2003 專案移轉至 VS 2005
請利用 XDE 模型匯入(檔案 > 匯入 > 其他 > Rational XDE 模型)來匯入專案模型 Project1.mdx。 您將選擇匯入所有參照的模型(匯入器需要如此,以便在匯入程序期間,確保模型的完整性)。- 結果會在 Eclipse 工作區中建立六個 .emx 檔,它們是:“Project1.emx”、“System.emx、mscorlib.emx”、“System.Data.emx”、“System.Web.emx” 和 “System.Drawing.emx” 。
- 之後,匯入 Visual Studio 2005 解決方案(檔案 > 匯入 > 其他 > .NET 解決方案)。 在這個解決方案中,會偵測到舊的 .mdx 模型,系統會要求您提供匯入的程式碼模型名稱,這裡是 “Project1.emx”。 這時也會有選項,供您以參照來取代 Project1.emx 的 UML 元素,參照指向匯入的解決方案中的程式碼。 如果您要練習「混合建模」,請使用這個選項;如果您想要練習「真實 RTE」,請勿使用這個選項。
- 這時匯入程序已完成。 您下次開啟 “Project1.emx” 模型時,UML 架構會試圖將 5 個參照的模型全部載入,且會解析從 "Project1.emx" 中的元素到這些被參照模型中之元素的參照。 這便是在開啟和使用匯入的 XDE 模型時,造成延遲的原因。
- 如果要緩和效能上的損失,只要選取和刪除這五個匯入的組件模型即可。 另外,也請注意,這會改進效能,但在開啟和驗證 “Project1.emx” 時,會出現警告或「錯誤」;不過,“Project1.emx” 所要執行的任何建模和轉換作業都不會受到負面的影響。
如果以無聲自動模式來執行 C# 至 UML 轉換,且在轉換配置編輯器中選取了所有其他選項,轉換會失敗。 明確地說,當目標模型的新變更含有將以無聲自動模式來合併的模板化元素(如 <<CSharpStruct>>)時,便會發生這個情況。 未來的版本會修正這個問題。
如果在含有超載運算子(如 != 或 ==)的原始檔上執行 C# 至 UML 轉換,使這些運算子進入目標模型中, 後來執行轉換時,如果程式碼沒有任何改變,fuse 對話框應該不會顯示任何變更。 不過,fuse 對話框會不正確地顯示與參數重新命名相關的變更。
未來的版本會修正這個問題。
對於 C# 轉換而言,對映模型只應用來指定應該如何組織程式碼的檔案系統階層。 目前仍不支援利用對映模型來重新命名類別、介面等。 C# 應用程式的設計可以在兩個視景中完成:
1. 邏輯系統設計
2 實體系統設計(將指定為對映模型)
邏輯設計模型通常包含各個名稱空間、各個類型和繼承關係、屬性、函數等。
使用對映模型的實體設計視景包含 C# 轉換的部署資訊。 這表示您可以控制這項轉換在不同檔案中放置各個邏輯建構的方式。 依預設,在不含對映模型的情況下,UML 至 C# 轉換會在 Visual Studio 專案根資料夾內與類型同名的檔案中產生各個類型(如類別或介面)。 例如,當對映模型不存在時,"MyClass" 類別會產生在稱為 "MyClass.cs" 的檔案中。 不過,如果使用者要在稱為 "Test.cs" 的檔案中產生程式碼,他應該在對映模型中,利用顯現這個 "MyClass" 類別的構件來進行這項指定。
對映模型只用來指定產生程式碼的資料夾或檔案階層。 對映模型無法用來重新命名。
請注意,邏輯設計(轉換來源模型)和實體設計(轉換對映模型)都只是 UML 模型。 不同之處,只在於:
- 邏輯來源模型中的 UML 套件代表 C# 名稱空間。
- 對映模型中的 UML 套件代表檔案系統上的資料夾。
如果在啟用「對映模型」且勾選取代 UML 元素選項來執行 UML 至 C# 轉換之後,復原 UML 至 C# 轉換,對映模型會在不正確的狀態中。 如果再次以不正確的對映模型來執行 UML 至 C# 轉換,會在不正確的位置產生 C# 檔案。
暫行解決方法:
使用者必須先手動復原對映模型的變更,才能再次執行 UML 至 C# 轉換。 關閉對映模型,選擇不儲存變更,是執行這項作業的一個方式。
IBM Rational 軟體支援中心提供技術協助。
關於在需要支援時所需的聯絡資訊和準則或參考資料,請閱讀 IBM 軟體支援手冊。
如需 FAQ、已知問題和修正程式的清單及其他支援資訊,請造訪 IBM Rational 軟體支援中心網站。
如需 Rational 軟體產品新訊、活動及其他資訊,請造訪 IBM Rational 軟體網站。
在聯絡 IBM Rational 軟體支援中心之前,請先收集背景資訊,以利於描述您的問題。 向 IBM 軟體支援中心專家描述問題時,請務必明確且提供所有相關的背景資訊,讓專家能夠有效地解決問題。 為了節省時間,請先回答下列問題:
- 問題發生時,您正在執行什麼軟體版本?
- 問題是否有相關的日誌、追蹤資料或訊息?
- 您能夠讓問題重現嗎?如果可以,需要執行什麼步驟?
- 問題有暫行解決方法嗎?如果有的話,請準備描述暫行解決方法。
© Copyright IBM Corporation 2007. All Rights Reserved.
本資訊係針對 IBM 在美國所提供之產品與服務所開發;而在其他國家或地區中,IBM 不見得有提供本文所提及之各項產品、服務或功能。 請洽詢當地的 IBM 業務代表,以取得當地目前提供的產品和服務之相關資訊。 本文件在提及 IBM 產品、程式或服務時,不表示或暗示您只能使用 IBM 產品、程式或服務。 只要未侵犯 IBM 的智慧財產權,任何功能相當的產品、程式或服務都可以取代 IBM 的產品、程式或服務。 不過,任何非 IBM 的產品、程式或服務,使用者必須自行負責作業的評估和驗證責任。
本文件所說明的主題內容,IBM 可能擁有其專利或專利申請案。 提供本文件不代表提供這些專利的授權。您可以書面提出授權查詢,來函請寄到:
IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.
如果是有關雙位元組 (DBCS) 資訊的授權查詢,請洽詢所在國的 IBM 智慧財產部門,或書面提出授權查詢,來函請寄到:IBM World Trade Asia Corporation
Licensing
2-31 Roppongi 3-chome, Minato-ku
Tokyo 106, Japan下列段落若與該國之法律條抵觸時,即視為不適用:International Business Machines Corporation 只依「現況」提供本出版品,不提供任何明示或默示之保證, 其中包括且不限於不違反規定、可商用性或特定目的之適用性的隱含保證。有些地區在特定交易上,不允許排除明示或暗示的保證,因此,這項聲明不一定適合您。
本資訊可能會有技術上或排版印刷上的訛誤。 因此,IBM 會定期修訂;並將修訂後的內容納入新版中。IBM 隨時會改進及/或變更本出版品所提及的產品及/或程式,不另行通知。
如果本程式的獲授權人為了 (i) 在個別建立的程式和其他程式(包括本程式)之間交換資訊, 以及 (ii) 相互使用所交換的資訊,因而需要相關的資訊,請洽詢:
Intellectual Property Dept. for Rational Software
IBM Corporation
20 Maguire Road
Lexington, MA
02421-3112
USA上述資料之取得有其特殊要件,在某些情況下必須付費方得使用。
IBM 基於雙方之 IBM 國際程式授權合約(或任何同等合約)條款,提供本文件所提及的授權程式與其所有適用的授權資料。
本書所提及之非 IBM 產品資訊,取自產品的供應商,或其發佈的聲明或其他公開管道。IBM 並未測試過這些產品,也無法確認這些非 IBM 產品的執行效能、相容性或任何對產品的其他主張是否完全無誤。有關非 IBM 產品的性能問題應直接洽詢該產品供應商。
關於 IBM 未來動向或目的的任何陳述,僅代表 IBM 的目標和方針,可能隨時變動或撤銷,不另行通知。
商標和服務標記
下列詞彙是 International Business Machines Corporation 在美國及/或其他國家或地區的商標:
- developerWorks
- IBM
- Rational
Java 和所有以 Java 為基礎的商標是 Sun Microsystems, Inc. 在美國及/或其他國家或地區的商標。
Microsoft、Windows 及 Windows NT 是 Microsoft Corporation 在美國及/或其他國家或地區的商標。
Intel 和 Pentium 是 Intel Corporation 或子公司在美國及/或其他國家或地區的商標或註冊商標。
UNIX 是 The Open Group 在美國及其他國家或地區的註冊商標。
Linux 是 Linus Torvalds 在美國及/或其他國家或地區的商標。
其他公司、產品或服務名稱,可能是第三者的商標或服務標記。