• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

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

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

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

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

            泛化( Generalization ) 即繼承。

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

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

             

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

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

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

            uml精粹詳細(xì)信息

             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 (逆向設(shè)計)的功能,用于將 c++ 類文件轉(zhuǎn)化為類圖,并描述類與類之間的關(guān)系。 

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

            1、新建一個空白工程

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

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

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

            5、將關(guān)注的類拖到指定的視圖中,觀察其結(jié)構(gòu)以及與其它成員的關(guān)系。

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

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

            2、新建組件,指定其相關(guān)屬性。

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

            3、 指定相關(guān)的類文件。

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

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

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

             

             

             


            范晨鵬
            ------------------
            軟件是一種態(tài)度
            成功是一種習(xí)慣
            東軟·大連·電信事業(yè)部
            p_168@163.com


            Feedback

            # re: 使用 rose 將 c++代碼轉(zhuǎn)換為 uml 類圖  回復(fù)  更多評論   

            2011-11-23 14:56 by 王戈
            東軟啊,我們暑假去培訓(xùn)

            # re: 使用 rose 將 c++代碼轉(zhuǎn)換為 uml 類圖[未登錄]  回復(fù)  更多評論   

            2011-11-23 15:05 by 王哥
            @王戈 哈哈
            久久精品国产男包| 久久久青草青青国产亚洲免观| 亚洲午夜久久久精品影院| 久久精品国产99久久久| 久久亚洲欧美国产精品| 国产精品福利一区二区久久| 精品永久久福利一区二区| 秋霞久久国产精品电影院| 久久人人爽人爽人人爽av| 久久e热在这里只有国产中文精品99 | 亚洲日韩中文无码久久| 思思久久99热只有频精品66| 久久综合给合久久狠狠狠97色69| 国产精品亚洲综合久久| 欧洲性大片xxxxx久久久| 亚洲综合精品香蕉久久网| 99精品久久精品一区二区| 日日噜噜夜夜狠狠久久丁香五月| 久久66热人妻偷产精品9| 99久久国产热无码精品免费久久久久| www亚洲欲色成人久久精品| 色播久久人人爽人人爽人人片AV| 精品国产日韩久久亚洲| 久久人妻少妇嫩草AV无码专区| 国产V综合V亚洲欧美久久| 品成人欧美大片久久国产欧美... 品成人欧美大片久久国产欧美 | yy6080久久| 999久久久无码国产精品| 国产精品99久久久久久www| 久久精品免费全国观看国产| 久久精品人人做人人爽电影蜜月| 91秦先生久久久久久久| 亚洲欧洲精品成人久久奇米网| 国产精品久久免费| 亚洲精品tv久久久久久久久久| 久久亚洲精品成人av无码网站| 91久久精品电影| 日韩精品久久久久久久电影蜜臀| 青青热久久综合网伊人| 亚洲综合熟女久久久30p| 久久精品无码一区二区三区免费|