天天看點

UModel2016和EA12序列圖正向和逆向工程

UModel2016和EA12序列圖正向和逆向工程

一、UModel2016正向和逆向工程

【步驟0】在http://www.altova.com/download-trial.html下載下傳Altova MissionKit 2016,安裝。初次運作時會彈出申請30天試用license的對話框,輸入郵箱即可申請。

主要步驟歸納:建立元件→把類配置設定到元件→生成初始序列圖→畫序列圖→生成代碼。

【步驟1】主菜單選擇File|New。右擊Model Tree裡的Root包,在快捷菜單選擇New element|Package,給包起名叫MyExample。

UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程

【步驟2】右擊Model Tree中的MyExample包,在快捷菜單中選擇Code Engineering |Set as C# Namespace Root,在彈出對話框單擊OK。可以看到多了一個C# Profile包。

UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程

【步驟3】右擊MyExample包,在快捷菜單選擇New diagram|Component Diagram,在Properties清單将name欄改為MyExampleComponent。

UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程

【步驟4】單擊元件圖工具欄的Component圖示,單擊元件圖空白處,保持預設名字Component1不變。單擊Component1,在Properties清單将code language欄改為C# 6.0,directory欄選擇要存放代碼的檔案夾,确認use for code engineering欄已被選中。

UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程

【步驟5】右擊MyExample包,在快捷菜單選擇New diagram|Class Diagram,在Properties清單将name欄改為MyExample。

UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程

【步驟6】單擊類圖工具欄的Class圖示,單擊類圖空白處,保持預設名字Class1不變。同上操作添加Class2和Class3。

UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程

【步驟7】在Model Tree中,将Class1、Class2、Class3依次拖到Component1上,可以看到Component1下多了3個Realization。

UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程

【步驟8】右擊Class1,在快捷菜單選擇New|Operation,保留預設名稱Operation1。右擊Model Tree裡Class1下面的Operation1,在快捷菜單選擇New element|Parameter(return),在Properties清單将name欄改為return1,type欄選擇int C# Profile。同上操作,為Class2添加Operation2,為Class3添加Operation3,不設傳回參數。

UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程

【步驟9】右擊Model Tree中Class1下面的Operation1,在快捷菜單選擇Create Sequence Diagram for code,在彈出對話框單擊Yes。

UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程

【步驟10】從Model Tree中拖動Class2和Class3到新生成的序列圖上。

UModel2016和EA12序列圖正向和逆向工程

【步驟11】單擊序列圖工具欄上的Message(Call)圖示,在序列圖上的a:Class1生命線上按下,拖動到b:Class2松開,在Properties清單的operation欄選擇Operation2()。同上操作,建立a:Class1到c:Class3的消息,映射到操作Operation3()。

UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程

【步驟12】右擊序列圖空白處,在快捷菜單選擇Generate Code from Sequence Diagram,可以看到生成代碼的進展資訊。在設定的代碼檔案夾中,可以看到生成的代碼檔案。

UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程

以上是正向工程的操作。

以下是逆向工程的操作,其中的SmartCA項目及其相關資訊可以替換成其他項目的相關資訊。

【步驟13】在Model Tree中Root下建立包SmartCA。右擊SmartCA包,在快捷菜單選擇Code Engineering |Import Source Project,在Import Source Project屬性框的Project File欄選擇.sln檔案位置,單擊Next,再單擊Next,單擊Finish。在Model Tree中可以看到導入的包。

UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程

【步驟14】在Model Tree中展開Model→Project包,展開ProjectService類,右擊SaveProjectContact操作,從快捷菜單選擇Generate Sequence Diagram from Code,在彈出對話框單擊OK。

UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程

二、Enterprise Architect 12逆向工程

【步驟1】在主菜單選擇FILE|New Project,模型檔案命名為SequenceRecord.eap,在Model Wizard對話框單擊Cancel按鈕。

UModel2016和EA12序列圖正向和逆向工程

【步驟2】在Project Browser中選中Model,單擊其上方工具欄的New Package圖示。在New Package對話框的Name欄輸入SequenceRecord,Initial Content選擇Package Only,單擊OK按鈕。

UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程

【步驟3】右擊Project Browser中的SequenceRecord包,從快捷菜單選擇Code Engineering | Import Source Directory。在Root欄中選擇導入源代碼的根目錄,Source Type選擇C#,單擊OK。

UModel2016和EA12序列圖正向和逆向工程

【步驟4】右擊剛生成的MvvmExample包,在快捷菜單選擇Execution Analyzer,在彈出對話框中單擊Yes。在Execution Analyzer屬性框Build頁簽的Execute Command As欄選擇Process,在指令行框中輸入%windir%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe MvvmExample.sln /Target:Rebuild /Property:Config=Debug;Platform=x86,Default Directory欄選擇源代碼所在檔案夾。Parse Output選擇Microsoft .NET。單擊OK。在Platform頁簽的Debugger欄選擇Microsoft.NET,Default欄選擇項目debug檔案夾位置,Application Path欄選擇debug檔案夾中的.exe檔案。

UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程

【步驟5】在Execution Analyzer中展開Model.SequenceRecord.MvvmExample包,右擊包下面的Model.SequenceRecord.MvvmExample,在快捷菜單選擇Build。可以看到System Output視窗

UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程

【步驟6】在Project Browser中右擊ViewModel包下的ViewModelWindow5類,從快捷菜單選擇Code Engineering | View Source Code。選擇要錄制的代碼起點,右擊代碼左側的灰條,選擇Add Start Recording Marker,選擇要錄制的代碼終點,右擊代碼左側的灰條,選擇Add End Recording Marker。

UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程

【步驟7】單擊主菜單Analyzer | Record | Recorder,單擊工具欄Recording 圖示。在Record屬性框的Track Instances of Named Classes欄輸入ViewModel.ViewModelWindow5,單擊OK。

UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程

【步驟8】右擊Record&Analyze中已錄制的條目,從快捷菜單選擇Generate Sequence Diagram。

UModel2016和EA12序列圖正向和逆向工程
UModel2016和EA12序列圖正向和逆向工程