首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

IBM Rational Systems Developer 中 C++ 可視化建模實戰指南

     編輯:關於C++

核心價值

C++ 可視化將 UML 建模能力帶入 CDT C++ 項目:

  • 源碼即模型,**圖與代碼實時同步**,無需逆向工程
  • 創建 UML 代理元素(僅存在於圖中),不污染物理模型
  • 支持類圖、主題圖、瀏覽圖三種視圖
  • 圖上直接編輯代碼:增刪改類/成員/關係,支持重構重命名

環境準備

  1. 安裝 Rational Systems Developer
  2. 啟用 CDT **完整索引器**:Properties → C/C++ General → Indexer → Full indexing
  3. 導入示例項目(文中提供下載)

可視化元素類型映射

C/C++ 元素UML 映射圖標構造型
classClass<<class>>
structClass<<Struct>>
unionClass<<Union>>
typedefDataType<<typedef>>
enumDataType<<enum>>
namespacePackage<<namespace>>
.cpp 文件Artifact<<file>>
.h 文件Artifact<<header file>>

三種可視化入口

  1. 元素右鍵:Visualize → Add to New Diagram File → Class Diagram
  2. 圖右鍵:Visualize Existing → C/C++ Type,輸入類名首字母選擇
  3. 拖放**:從 Project Explorer / C++ 瀏覽器拖入圖中(可配置是否展開文件所有元素)

圖上導航代碼

  • 雙擊**:類/結構/成員 → 定義處;成員函數 → 實現處(或聲明處)
  • 自動導航 (Auto-Navigation)**:工具欄圖標切分編輯器,上半圖下半代碼,選中元素即時高亮對應源碼

關係顯示控制

  • 過濾器**:右鍵 Filters → Show/Hide Relationship,勾選需顯示的關係類型(關聯、繼承、依賴等)
  • 屬性↔關聯切換**:拖出成員變為關聯線;右鍵關聯線 Filter → Show as Attribute 還原

相關元素探索

  • Show Related Elements**:右鍵元素 Filters → Show Related Elements,自定義查詢:方向(入/出)、深度、元素類型
  • 建模助手**:懸停元素出現箭頭,雙擊彈出預設查詢菜單(單層深度)

瀏覽圖 vs 主題圖

右鍵 Customize Query 修改向導參數
特性瀏覽圖主題圖
可編輯否否
焦點切換雙擊元素轉移焦點固定查詢條件
歷史記錄前進/後退導航無
持久化不可保存,可另存為圖片/新圖保存查詢條件,**打開時自動刷新**反映最新代碼
自定義查詢工具欄控制深度/類型

圖上直接建模編輯

創建元素

  • 調色盤 / 彈出操作欄:C++ Class、Enum
  • 彈出 CDT 向導:指定名稱、基類、所屬文件

添加成員

  • 類右鍵 / 操作欄:Add C/C++ → Field / Method
  • 向導中指定類型、可見性、靜態/虛擬等屬性

創建關係

  • 調色盤選 Association/Generalization → 點擊源拖到目標 → 向導填名稱/可見性/多重性
  • 建模助手:拖動入向/出向箭頭 → 選擇關係類型 → 可指向現有元素或創建新元素

屬性修改與重構

  • 可見性**:右鍵成員 Visibility → Public/Protected/Private
  • 重命名**:右鍵 Refactor → Rename,預覽所有引用變更
  • 圖內內聯編輯**:點擊文本直接改 name: type(UML 格式),彈出預覽確認
  • 重命名模式**:Preferences → Modeling → C++ Modeling 選 Simple rename(僅圖中)或 Refactor rename(全局)

收穫:從可視化到正式 UML 模型

  1. 選中圖中元素 → 右鍵 Harvest → 元素複製到剪貼板
  2. UML 模型右鍵 Paste → 選 Automatic 或 Visual
  3. 收穫元素成為**獨立 UML 元件**,不再隨代碼變化同步
  4. 未收穫的關聯元素仍指向原 C++ 元素

總結

Rational C++ 可視化實現了「代碼即模型,模型即代碼」的無縫體驗,適合大型 C++ 項目架構理解、溝通與演進。核心優勢在於**零延遲同步**與**圖上全生命週期編輯**。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved