本發(fā)明涉及軟件的開發(fā)、驗證、維護技術(shù)領(lǐng)域,更具體地,涉及一種軟件依賴關(guān)系分析方法。
背景技術(shù):
隨著計算機硬件價格的下降和性能的不斷提升,各大公司在項目開發(fā)的過程中逐漸的擺脫硬件設(shè)備性能問題的約束。為了能夠更好的利用性能越來越好的硬件設(shè)備,相關(guān)的軟件技術(shù)也開始不斷的推陳出新。隨著各種框架的不斷推出,大型項目的開發(fā)成為了可能。而無論是企業(yè)還是個人用戶對IT服務的要求也越來越高。為了在IT市場日益激烈的競爭生成下來,各種使用互聯(lián)網(wǎng)進行服務的公司對IT服務質(zhì)量的要求不斷提高,為了方便統(tǒng)一管理,一站式開發(fā)的需求越來越大,軟件項目的規(guī)模日益龐大。
隨著軟件項目規(guī)模的不斷膨脹,開發(fā)軟件的過程也開始出現(xiàn)各種新的問題:
1、大型項目開發(fā)是一個需要很長時間來完成的過程,在這個過程中因為公司人事安排、項目交付壓力等原因經(jīng)常會有老的開發(fā)人員離開或者新的開發(fā)人員參與進來。而對于新加入的開發(fā)人員來說,面對一個已經(jīng)有一定規(guī)模而且很陌生的項目,他們需要有一個工具來幫助他們快速的了解這個項目的結(jié)構(gòu),從而使他們可以快速的投入到開發(fā)過程中來。
2一個大型的項目往往會先由架構(gòu)師搭建一個框架之后再由開發(fā)人員進行具體的開發(fā)。但是開發(fā)人員往往會有一套自己的開發(fā)習慣,在開發(fā)過程中不一定能夠完全按照初定的框架進行開發(fā),而這樣的改動有可能會破壞初始框架的功能,甚至使整個框架失去應有的作用。為此,架構(gòu)師有必要在開發(fā)過程中對系統(tǒng)的結(jié)構(gòu)進行監(jiān)視,以便及時的對會照成破壞的部分進行及時的修復。而這樣的監(jiān)視過程通過對代碼的排查顯然是無法勝任的,這是就需要一個可以快速對項目代碼結(jié)構(gòu)進行分析并展示出來的工具來進行協(xié)助。
項目開發(fā)過程中錯誤的修復是一件非常耗時的工作,而錯誤主要分成兩種,一種是語法上的bug,對于這種bug, java本身提供了很好的檢錯報錯機制,開發(fā)人員能夠很快的通過這些機制找到并修復這些bug。而另外一種錯誤是java愛莫能助的,那就是邏輯錯誤。為了排除這種錯誤,我們往往需要找對業(yè)務邏輯非常熟悉的開發(fā)人員對對應模塊的代碼進行逐步的分析,而熟悉業(yè)務邏輯的開發(fā)人員對于每個開發(fā)團隊來說都是非常寶貴的資源,而如果有一個可以有效展示代碼結(jié)構(gòu)的工具來輔助排查,無疑能夠很大程度的提高排查的效率,甚至熟悉業(yè)務邏輯的測試人員就可以自己排查出來。
由以上的幾個問題我們可以看到用戶需要一個能夠為用戶分析并展示出項目中各種依賴關(guān)系的一款工具。為了讓用戶更好的了解目標軟件的結(jié)構(gòu),我們?yōu)橛脩籼峁┝藦母鱾€不同粒度和角度了解目標軟件的方法。
技術(shù)實現(xiàn)要素:
本發(fā)明為克服上述現(xiàn)有技術(shù)所述的至少一種缺陷,提供一種軟件依賴關(guān)系分析方法,用于實現(xiàn)大型軟件開發(fā)過程中對各軟件結(jié)構(gòu)間的依賴關(guān)系進行展示,為用戶提供了從各個不同粒度和角度了解目標軟件的方法。為解決上述技術(shù)問題,本發(fā)明的技術(shù)方案如下:
一種軟件依賴關(guān)系分析方法,包括以下步驟:
S1:用戶新建一個自命名的分析軟件源代碼的操作單元并將其和所要分析的軟件源代碼關(guān)聯(lián)起來;
S2:解析源代碼的軟件結(jié)構(gòu),并以樹狀圖T的形式進行展示;
S3:用戶通過選中樹狀圖T中各結(jié)點所帶的復選框來選取要展示的結(jié)點,通過展示方式下拉框選取所以使用的展示方式;
S4:用戶點擊確定按鈕對展示信息進行確認;
S5:系統(tǒng)分析獲取源代碼中各結(jié)構(gòu)間的依賴關(guān)系獲得一張以被選取源代碼結(jié)構(gòu)為結(jié)點、各結(jié)構(gòu)之間的依賴關(guān)系為邊的圖;
S6:將步驟S5獲取到的圖展示到窗口的展示區(qū),并將步驟S4中的確認按鈕的名稱修改為刷新;
S7:用戶單擊選中的樹狀圖T的結(jié)點,展示區(qū)中的圖中對應的結(jié)點顯示高亮;
S8:用戶雙擊選中的樹狀圖T的結(jié)點或展示區(qū)中圖的結(jié)點,系統(tǒng)讀取該結(jié)點對應的源代碼在展示區(qū)中新建的窗口中展示,并對對應的代碼塊進行高亮處理。
在一種優(yōu)選的方案中,步驟S2中,按包->類->方法的結(jié)構(gòu)進行組合來解析源代碼的軟件結(jié)構(gòu),并以帶復選框的樹狀圖T的形式進行展示。
在一種優(yōu)選的方案中,步驟S3中,展示方式包括對等方式和擴展方式兩種,對等方式指將所有選中的結(jié)點間的依賴分析展示給用戶;擴展方式指以某個結(jié)點為起點展示其對選中的結(jié)點的依賴關(guān)系;當用戶選擇擴展方式展示時,系統(tǒng)獲取用戶所選取的結(jié)點,以下拉框的形式供用戶選取作為起點的結(jié)點。
在一種優(yōu)選的方案中,步驟S5中,源代碼中的結(jié)構(gòu)包括包、類和方法。
在一種優(yōu)選的方案中,步驟S8中,展示區(qū)中圖的結(jié)點是類或方法。
與現(xiàn)有技術(shù)相比,本發(fā)明技術(shù)方案的有益效果是:
本發(fā)明提供一種軟件依賴關(guān)系分析方法,用于實現(xiàn)大型軟件開發(fā)過程中對各軟件結(jié)構(gòu)間的依賴關(guān)系進行展示,為用戶提供了從各個不同粒度和角度了解目標軟件的方法。能夠很大程度的提高排查的效率,甚至熟悉業(yè)務邏輯的測試人員就可以自己排查出來。本發(fā)明特別適于大型桌面運用和網(wǎng)站的軟件開發(fā)、驗證、維護支持。
附圖說明
圖1為本發(fā)明軟件依賴關(guān)系分析方法的流程圖。
圖2為本發(fā)明軟件的初始界面圖。
圖3為本發(fā)明軟件新建項目后的界面展示。
圖4為本發(fā)明軟件用戶選擇對等方式進行展示時的參數(shù)設(shè)置界面展示。
圖5為本發(fā)明軟件用戶選擇擴展方式進行展示時的參數(shù)設(shè)置界面展示。
圖6為本發(fā)明軟件用戶選擇擴展方式進行展示時的依賴關(guān)系展示界面。
圖7為本發(fā)明軟件結(jié)點定位的展示界面。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明的技術(shù)方案做進一步的說明。
實施例1
如圖1-7所示,一種軟件依賴關(guān)系分析方法,包括以下步驟:
S1:用戶新建一個自命名的分析軟件源代碼的操作單元并將其和所要分析的軟件源代碼關(guān)聯(lián)起來;
S2:解析源代碼的軟件結(jié)構(gòu),按包->類->方法的結(jié)構(gòu)進行組合來解析源代碼的軟件結(jié)構(gòu),并以帶復選框的樹狀圖T的形式進行展示。
S3:用戶通過選中樹狀圖T中各結(jié)點所帶的復選框來選取要展示的結(jié)點,通過展示方式下拉框選取所以使用的展示方式;
展示方式包括對等方式和擴展方式兩種,對等方式指將所有選中的結(jié)點間的依賴分析展示給用戶;擴展方式指以某個結(jié)點為起點展示其對選中的結(jié)點的依賴關(guān)系;當用戶選擇擴展方式展示時,系統(tǒng)獲取用戶所選取的結(jié)點,以下拉框的形式供用戶選取作為起點的結(jié)點。
S4:用戶點擊確定按鈕對展示信息進行確認;
S5:系統(tǒng)分析獲取源代碼中各結(jié)構(gòu)間的依賴關(guān)系獲得一張以被選取源代碼結(jié)構(gòu)為結(jié)點、各結(jié)構(gòu)之間的依賴關(guān)系為邊的圖。其中,源代碼中的結(jié)構(gòu)包括包、類和方法。
S6:將步驟S5獲取到的圖展示到窗口的展示區(qū),并將步驟S4中的確認按鈕的名稱修改為刷新;
S7:用戶單擊選中的樹狀圖T的結(jié)點,展示區(qū)中的圖中對應的結(jié)點顯示高亮;
S8:用戶雙擊選中的樹狀圖T的結(jié)點或展示區(qū)中圖的結(jié)點,系統(tǒng)讀取該結(jié)點對應的源代碼在展示區(qū)中新建的窗口中展示,并對對應的代碼塊進行高亮處理。其中,展示區(qū)中圖的結(jié)點是類或方法。
本發(fā)明提供一種軟件依賴關(guān)系分析方法,用于實現(xiàn)大型軟件開發(fā)過程中對各軟件結(jié)構(gòu)間的依賴關(guān)系進行展示,為用戶提供了從各個不同粒度和角度了解目標軟件的方法。能夠很大程度的提高排查的效率,甚至熟悉業(yè)務邏輯的測試人員就可以自己排查出來。本發(fā)明特別適于大型桌面運用和網(wǎng)站的軟件開發(fā)、驗證、維護支持。
相同或相似的標號對應相同或相似的部件;
附圖中描述位置關(guān)系的用語僅用于示例性說明,不能理解為對本專利的限制;
顯然,本發(fā)明的上述實施例僅僅是為清楚地說明本發(fā)明所作的舉例,而并非是對本發(fā)明的實施方式的限定。對于所屬領(lǐng)域的普通技術(shù)人員來說,在上述說明的基礎(chǔ)上還可以做出其它不同形式的變化或變動。這里無需也無法對所有的實施方式予以窮舉。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應包含在本發(fā)明權(quán)利要求的保護范圍之內(nèi)。