日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

使用 rose 将 c++代码转换为 uml 类图

發布時間:2023/12/9 c/c++ 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用 rose 将 c++代码转换为 uml 类图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

From: http://www.cppblog.com/prayer/archive/2009/12/24/103954.html

閱讀本文章,你需要對 uml 有簡單的了解,懂得以下術語:

類圖(?class diagram?) 即 c++ 中的 class 。

聚合(?Aggregation ) 即我們c++中的引用。表現為 class 頭文件中的一個或多個指針成員。

組合( Composition ) 即 c++ 中的成員對象。表現為class 頭文件中的一個或多個對象成員。(也可以表現為指針成員,但需要在類中實例化此對象 )。

泛化( Generalization?) 即繼承。

雙向關聯(Bidirectional Associations)? 輕量級的 聚合 與 組合。的即c++中的交叉引用。

依賴(?Dependency ) 從另一個維度表述 組合 和 聚合。即在class A 中使用 class B的方法或操作 class B 的成員。

?

用例視圖( user case view?)、邏輯視圖(?logical view?)、組件視圖(?component view?)、部署視圖(?deployment view?)。

要了解相關的知識,可以參考 <UML Distilled?> 一書 Chapter 3. Class Diagrams: The Essentials 。(類圖:基本知識) 及 Chapter 5. Class Diagrams: Advanced Concepts (類圖:高級概念)

(注:此書中譯本叫<UML精粹>,不過翻譯得甚為艱澀,文言文學得不錯的可以考慮。繁體版叫<uml 精華>,趙光正譯。熟悉臺灣術語的可以考慮。)。

uml精粹詳細信息

?UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition
By Martin Fowler
??
Publisher : Addison Wesley
Pub Date : September 15, 2003
ISBN : 0-321-19368-7
Pages : 208

rose?提供了 reserver engineer (逆向設計)的功能,用于將 c++ 類文件轉化為類圖,并描述類與類之間的關系。?

用 rose 逆向一組 c++ class 的一般步驟是:

1、新建一個空白工程

2、添加一個組件,用于容納一組類文件。

3、設置 組件屬性。指定解析 類文件使用的插件,以及逆向出的類使用的包名稱。

4、解析,在 邏輯視圖中的指定包(?package )中生成相應的類圖。

5、將關注的類拖到指定的視圖中,觀察其結構以及與其它成員的關系。

1、新建一個空白工程。完成后工程信息如下:

圖中 untitled 表示這是一個未命名的文檔。 四個大文件夾分別表示 用例視圖、邏輯視圖、組件視圖、部署視圖。每個大文件夾下面有個 main 結點。這是用來顯示該視圖內容的“桌布”。雙擊此結點,便會在主窗口中打開此桌布。結點可以添加、重命名。

2、新建組件,指定其相關屬性。

在工程的 compnent view (組件視圖)結點上單擊,選擇 new -> component。便創建了一個新的組件。右鍵此組件,選擇"open specifition"(屬性設置)。在彈出的 component (組件屬性)窗口的 general 選項卡上,更改其name(名字)屬性和 language?屬性。name 任意, language 選擇 ANSI c++。(默認為 analysys)。點“確定”。這里,我們將其名稱命名為 "constol"

3、?指定相關的類文件。

右鍵 constol 組件,選擇“open ANSI c++ specifition ”,在出現的? 屬性窗口中 file選項卡中,更改 Reverse engineering root package 項,(默認為 c++ reverse Engineered。)名稱隨意。這里我們改為 constol。指定?project files(?項目文件)。把要解析的 c++源文件都包含進來。點“確定”。

4、回到工程視圖。在 component 中的 constol 上,右鍵,“ANSI c++”-> “reverse engineer”,點“確定”。這時會在 logical view 下生成一個新的文件夾結點,結點名稱為 我們在第3步中 Reverse engineering root package 項中添的內容。結點下面包含了由源代碼中解析出的類。

5、在 logical view 中,雙擊 main 結點。便打開了一個 main 邏輯視圖。挨個把 logical view -> constol 結點下?的所有類結點拖到 main 視圖中。則類的成員、類的關系會在視圖中顯示出來。


總結

以上是生活随笔為你收集整理的使用 rose 将 c++代码转换为 uml 类图的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。