第十一章 Deployment視圖該視圖考慮應用程式的物理部署。顯示網路上的所有節點、節點間的串連和每個節點上啟動並執行進程。
Deployment框圖的組成
處理器 處理器是任何具有處理功能的機器。 可以設定其版型(按處理器進行分類)、特性(速度、記憶體等)、調度方法。調度方法記錄處理器使用的進程調度方法,包括1. Preemptive2. Noe-Preemptive3. Cyclic4. Executive5. Manual
進程是一個處理器其上啟動並執行但線程執行過程。
裝置
沒有處理功能的機器或硬體。
串連 處理器、裝置之間的實際連結。通常,串連表示網路節點之間的物理網路連接。
第十二章 用Rational Rose產生代碼和逆向轉出工程代碼簡介
正向工程步驟
檢查模型
檢查模型的一致性。常見錯誤包括Sequence框圖或Collaboration框圖中的訊息與操作不映射,以及對象和類不映射等。
建立組件
產生代碼之前,必須現將類映射到相應的原始碼檔案。所以必須先建立組件。
將類映射到組件
設定代碼產生屬性
控制碼如何產生。可以參考下一章關於ANSI C++和Visual C++的說明。
選擇類、組件、包
產生代碼時,可以一次產生一個類、一個組件或一個包。
產生代碼 代碼產生的元素如下:1. 類2. 屬性3. 操作簽名4. 關係5. 組件
6. 文檔。
逆向工程
逆向工程使用原始碼中的資訊建立或更新Rose模型。Rose從代碼讀取組件、包、類、關係、屬性和操作。
Rose進行正向工程和逆向工程的方法1. 檢查模型一致性的方法:Tools->Check Model。2. 發現訪問問題的方法:Report->Show Access Violations。3. 瀏覽代碼產生屬性的方法:Tools->Options,然後選擇具體的語言頁簽。在Type中選擇設定的元素。4. 在設定代碼產生屬性之前,最好先產生一個自己的備份。修改自己的備份。
第十三章 C++與Visual C++代碼產生和逆向轉出工程代碼
C++產生代碼的步驟
ANSI C++產生代碼步驟
1. 建立組件2. 將類賦予組件3. 選擇代碼產生屬性4. 選擇Class或Component框圖中要產生的類和組件5. 選擇Tools->ANSI C++->Generate Code產生代碼6. 選擇Tools->ANSI C++->Browse Header或Browse Body瀏覽產生的程式碼。Visual C++產生代碼步驟1. 啟動嚮導。Tools->Visual C++->Update Code2. Rose顯示Select Components和Classes視窗。在用Visual C++產生代碼之前,必須將類賦予組件。3. 如果沒有將類賦予組件,選擇Ctrl+R建立。4. 改變組件和類的代碼產生屬性。ANSI C++代碼產生屬性 方法:Tools->Options->ANSI C++頁簽。在Type中選擇要修改的屬性。類屬性 類屬性時適用於類的ANSI C++代碼產生屬性,這些屬性可以改變類名、確定是否產生類的構造器與逆向轉出工程代碼並設定該類的其它類特定屬性。 除了使用前面方法設定所有類屬性之外,還可以通過在一個類的規範視窗中選擇
除去上述屬性,還可以設定每個類的預設成員函數,以及是否對屬性產生get/set操作。方法是:選擇一個或幾個類,然後右擊選擇ANSI C++->Class Customization。
屬性的屬性
前面的方法可以設定所有屬性的屬性。要設定某個特定屬性的屬性,方法是:在屬性規範視窗中的ANSI C++標籤中設定。
操作屬性
前面的方法可以設定所有操作的屬性。要設定某個特定操作的屬性,方法是:在操作規範視窗中的ANSI C++標籤中設定。
包屬性
可以設定名字控制項名和指定包是否具有名字空間。
前面的方法可以設定所有包的屬性。要設定某個特定包的屬性,方法是:在包規範視窗中的ANSI C++標籤中設定。
組件屬性 組件屬性是與Rose所產生和逆向轉出工程代碼的.cpp和.h檔案相關的屬性。
前面的方法可以設定所有組件的屬性。要設定某個特定組件的屬性,方法是:在組件規範視窗中的ANSI C++標籤中設定。還有種方法設定特定組件的屬性:右擊組件,ANSI C++->Open ANSIC++ Specification。
角色屬性
泛化屬性Visual C++代碼產生屬性除了可以採用ANSI C++類似方法,VC還可以使用Moel Assistant可以方便的設定產生屬性。VC逆向工程 Tools->Visual C++->Update Model from Code。