understand軟件使用教程_第1頁
understand軟件使用教程_第2頁
understand軟件使用教程_第3頁
understand軟件使用教程_第4頁
understand軟件使用教程_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第第頁understand軟件使用教程understand軟件使?教程

源代碼閱讀?具(ScientificToolworksUnderstand)的特?

1、?持多語?:Ada,C,C++,C#,Java,FORTRAN,Delphi,Jovial,andPL/M,混合語?的project也?持

2、多平臺:Windows/Linux/Solaris/HP-UX/IRIX/MACOSX

狼作文3、代碼語法?亮、代碼折迭、交叉跳轉(zhuǎn)、書簽等基本閱讀功能。

4、可以對整個(gè)project的architecture、metrics進(jìn)?分析并輸出報(bào)表。

5、可以對代碼?成多種圖(butterflygraph、callgraph、calledbygraph、controlflowgraph、UMLclassgraph等),在圖上點(diǎn)擊節(jié)點(diǎn)可以跳轉(zhuǎn)到對應(yīng)的源代碼位置。

青錢柳葉的功效6、提供PerlAPI便于擴(kuò)展。作圖全部是?Perl插件實(shí)現(xiàn)的,直接讀取分析好的數(shù)據(jù)庫作圖。

7、內(nèi)置的?錄和?件?較器。

8、?持project的snapshot,并能和?家的TrackBack集成便于監(jiān)視project的變化。

軟件說明

功能?sourceinsight多些(?如enum的值的顯?),?且#ifdef包含的?較多嵌套,sourceinsight如果太多嵌套,有bug.流程圖之類也?sourceinsight完整.sourceinsight的顯?明顯好多了,?且體積?較?,編輯速度快,可能是?熟的關(guān)系,還是sourceinsight?較順?.

可惜sourceinsight太長時(shí)間沒有更新了.現(xiàn)在我?般?sourceinsight,需要看某些SI沒有的?understand.另外好像兩個(gè)軟件都不太?持#if(defined(MACRO)||defined(MACRO1))這樣的解析.

導(dǎo)?項(xiàng)?

導(dǎo)?項(xiàng)?有兩種?法,?種是從菜單欄點(diǎn)擊File–New–Project,另?種是點(diǎn)擊下?界?中間的NewProject

點(diǎn)擊后,會進(jìn)?到如下界?,你可以更改項(xiàng)?名稱為你要導(dǎo)?的項(xiàng)?名稱,以便于以后查找,你可以直接導(dǎo)?你正在開發(fā)的項(xiàng)?,你的代碼更改后,這個(gè)項(xiàng)?也會?動更新,?便你快速開發(fā),不需要每次導(dǎo)?。

更改名稱后點(diǎn)擊Next進(jìn)?如下界?,這個(gè)界?是讓你選擇你要導(dǎo)?項(xiàng)?包含了哪?種語?,注意,在C/C++后?有兩種模式,下?有解釋,其中Strict模式包含Object-C和Object—C++,還有Web的解釋,

??看看就好了,在此就不再解釋,

然后點(diǎn)擊Next進(jìn)?下?界?:

在此界?點(diǎn)擊上?的“AddaDirectory”,也就是添加你要導(dǎo)?項(xiàng)?的路徑,點(diǎn)擊后會彈出如下界?,此時(shí)有個(gè)奇葩就是彈出的界?會被上圖界?遮擋,此時(shí)你要移開該界?,然后會出現(xiàn)下?界?:

點(diǎn)擊后?的帶有三個(gè)點(diǎn)的按鈕選擇你要加?的項(xiàng)??件夾,此處不?打開?件夾,只要點(diǎn)中?件夾點(diǎn)擊open按鈕:

此時(shí)只需要點(diǎn)擊OK即可,界?會跳轉(zhuǎn)到如下界?:火龍果醬

此時(shí)有兩個(gè)選項(xiàng),?個(gè)是?即分析代碼,?個(gè)選擇配置,對于我們來說只需要默認(rèn)即可,然后點(diǎn)擊OK按鈕,此時(shí)軟件開始分析代碼,分析完成后會出現(xiàn)如下界?:

左側(cè)會出你的項(xiàng)?結(jié)構(gòu),中間出現(xiàn)你項(xiàng)?的名稱,此時(shí)你可以操作左?項(xiàng)?來查看相關(guān)代碼,如下圖所?:

這么多類和?法如何快速定位,那肯定是搜索,該軟件針對不同位置,不同屬性有不同的搜索?法,下?介紹搜索功能。

羊排的家常做法搜索功能

1.左側(cè)項(xiàng)?結(jié)構(gòu)中搜索:在這個(gè)搜索中你可以快速搜索你要查看的類,快捷鍵,?標(biāo)點(diǎn)擊左側(cè)上?項(xiàng)?結(jié)構(gòu)窗?,然后按command+F鍵會出現(xiàn)如下圖所?的搜索框,在框中輸?你想要的類回車即可

2.類中?法搜索:將?標(biāo)定位到右側(cè)代碼中,點(diǎn)擊command+F,會彈出搜索框,輸??法回車即可:

3.在?件中搜索:也就是全局搜索,快捷鍵F5或者去上?菜單欄中的arch欄中查找,輸?你想要的類或者?法,回車查找,下?會列出所有使?的地?:

4.實(shí)體類查找:軟件菜單欄arch中最后?項(xiàng)–FindEntity,點(diǎn)擊輸?你要查找的實(shí)體類,回車查找:

快速搜索是軟件快速使?必備的技能,包括我們常?的idea?樣,快速定位類,?法,常量等,可以快速幫助我們解決問題。

上?我介紹改軟件時(shí)提到可以繪制流程圖等功能,下?就針對這個(gè)功能介紹?些?些圖形的繪制功能,幫助你快速分析代碼。

項(xiàng)?視圖

項(xiàng)?視圖包含很多的功能,能夠?動?成各種流程圖結(jié)構(gòu)圖,幫助你快速理清代碼邏輯、結(jié)構(gòu)等,以便快速理解項(xiàng)?流程,快速開發(fā),視圖查看?式有兩種,?種是?標(biāo)點(diǎn)擊你要查看的類或者?法等上?,然后右鍵彈出菜單,?標(biāo)移動到GraphicalViews,然后彈出?級菜單,如下圖所?:

另?種?式是點(diǎn)擊要查看的類或者?法,然后找到代碼上?菜單欄中的如下圖標(biāo):

然后點(diǎn)擊圖標(biāo)右下?的下拉箭頭,彈出如下菜單,即可選擇查看相關(guān)視圖:

層級關(guān)系視圖分類:

1.Butterfly:如果兩個(gè)實(shí)體間存在關(guān)系,就顯?這兩個(gè)實(shí)體間的調(diào)?和被調(diào)?關(guān)系;如下圖為Activity中的?個(gè)?法的關(guān)系圖:

2.Calls:展?從你選擇的這個(gè)?法開始的整個(gè)調(diào)?鏈條;

3.CalledBy:展?了這個(gè)實(shí)體被哪些代碼調(diào)?,這個(gè)結(jié)構(gòu)圖是從底部向上看或者從右到左看;

4.CallsRelationship/CalledbyRelationship:展?了兩個(gè)實(shí)體之間的調(diào)?和被調(diào)?關(guān)系,操作?法:?先右鍵你要選擇的第?個(gè)實(shí)體,然后點(diǎn)擊另?個(gè)你要選擇的實(shí)體,如果選擇錯(cuò)誤,可以再次點(diǎn)擊其他正確即可,然后點(diǎn)擊ok;

5.Contains:展??個(gè)實(shí)體中的層級圖,也可以是?個(gè)?件,?條連接線讀作”xincludesy“;

6.ExtendedBy:展?這個(gè)類被哪些類所繼承,

7.Extends:展?這個(gè)類繼承?那個(gè)類:

結(jié)構(gòu)關(guān)系視圖分類:

1.GraphArchitecture:展??個(gè)框架節(jié)點(diǎn)的結(jié)構(gòu)關(guān)系;

2.Declaration:展??個(gè)實(shí)體的結(jié)構(gòu)關(guān)系,例如:展?參數(shù),則返回類型和被調(diào)?函數(shù),對于類,則展?私有成員變量(誰繼承這個(gè)類,誰基于這個(gè)類)

3.ParentDeclaration:展?這個(gè)實(shí)體在哪?被聲明了的結(jié)構(gòu)關(guān)系;

4.DeclarationFile:展?所選的?件中所有被定義的實(shí)體(例如函數(shù),類型,變量,常量等);

5.DeclarationType:展?組成類型;

6.ClassDeclaration:展?定義類和?類的成員變量;

7.DataMembers:展?類或者?法的組成,或者包含的類型;

8.ControlFlow:展??個(gè)實(shí)體的控制流程圖或者類似實(shí)體類型;

9.ClusterControlFlow:展??個(gè)實(shí)體的流程圖或者類似實(shí)體類型,這個(gè)?上?個(gè)更具有交互性;

10.UMLClassDiagram:展?這個(gè)項(xiàng)?中或者?個(gè)?件中定義的類以及與這個(gè)類關(guān)聯(lián)的類

11.UMLSequenceDiagram:展?兩個(gè)實(shí)體之間的時(shí)序關(guān)系圖;

12.Package:展?給定包名中聲明的所有實(shí)體

13.Task:展??個(gè)任務(wù)中的參數(shù),調(diào)?,實(shí)體

課外讀書筆記14.RenameDeclaration:展?實(shí)體中被重命名的所有實(shí)體

由于視圖?較多,所以就??貼上代碼,主要還是需要??去調(diào)試,查看各個(gè)功能視圖的展?結(jié)構(gòu)以及作?,孰能?巧,多操作?下就會了,所以不再做過多的解釋。最終希望這款軟件能夠幫助你快速開發(fā),快速閱讀別?的或者??的代碼。

?、術(shù)語Terminology

Architecture層級:

Anarchitectureisahierarchicalaggregationofsourcecodeunits(entities).Anarchitecturecanbeurcreatedorautomatically

generated.Architecturesneednotbecomplete(thatis,anarchitecture’sflattenedexpansionneednotreferenceeverysourceentityinthedataba),norunique(thatis,anarchitecture’sflattenedexpansionneednotmaintainthetproperty).

層級表?代碼單元(或者實(shí)體)組成的層次結(jié)構(gòu),可以由?戶?動創(chuàng)建,也可由本

軟件?動?成。?個(gè)層級可以不完整(例如?個(gè)層級的扁平化擴(kuò)展有可能不會關(guān)聯(lián)中的所

有代碼實(shí)體),也可能不唯?(扁平化擴(kuò)展的層級可能不會處理其預(yù)設(shè)屬性)。

Databa數(shù)據(jù)庫

Thedatabaiswheretheresultsofthesourcecodeanalysis,aswellasprojectttings,arestored.Bydefault,thisisaproject’s“.udb”

file.

芭堤雅海灘代碼經(jīng)分析后產(chǎn)?的中間結(jié)果,以及?程設(shè)置保存在數(shù)據(jù)庫,其缺省擴(kuò)展名為“.udb”。

Entity實(shí)體

AnUnderstand“entity”isanythingithasinformationabout.Inpracticethismeansanythingdeclaredorudinyoursourcecodeandthefilesthatcontaintheproject.Subroutines,variables,andsourcefilesareallexamplesofentities.

Understand描述的“實(shí)體”表?任何包含信息的事物,具體來說,代碼中聲明或

者使?的標(biāo)識、包含?程的?件、?程序、變量、源?件都可以被稱為實(shí)體。

Project?程

Thetofsourcecodeyouhaveanalyzedandthettingsandparameterschon.A“projectfile”containsthelistofsourcefilesandtheprojectttings.

表?源代碼的集合以及相關(guān)的配置和參數(shù),?程?件包含源?件清單和?程設(shè)置。

Relationship關(guān)聯(lián)

Aparticularwaythatentitiesrelatetooneanother.Thenamesofrelationshipscomefromthesyntaxandmanticsofaprogramming

language.Forinstance,subroutineentitiescanhave“Call”relationshipsand“CalledBy”relationships.

互作?的實(shí)體之間的關(guān)系,關(guān)聯(lián)的名稱來源于編程語?的語法和語義,例如過程式實(shí)體具有“調(diào)?”和“被調(diào)?”的關(guān)聯(lián)對象。

Script腳本

GenerallyaPerlscript.ThecanberunfromwithinUnderstand’sGUI,orexternallyviathe“uperl”command.TheUnderstandPerlAPIprovideseasyanddirectaccesstoallinformationstoredinanUnderstanddataba.

通常指perl腳本,腳本可以通過Understand2.5的圖形?戶界?或者外部的腳本命令執(zhí)?。UnderstandPerlAPI提供了快捷的訪問Understand數(shù)據(jù)庫所有信息的接?。

parts部件

下?的圖形展?了?些Unde

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論