999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VBA的Java語言源代碼分析系統設計

2016-05-30 01:25:34劉劍英宮嵐
軟件工程 2016年4期

劉劍英 宮嵐

摘 要:針對Java系統再工程的需求,利用Microsoft Office軟件中強大的VBA工具,設計開發一款適合部門內部使用,主要用戶為SE及PG為主的開發人員的Java源代碼分析軟件。系統以Java程序級代碼分析為主,根據程序的各種引用調用關系,生成樹狀結構圖,展示代碼結構,建立結構圖與代碼的鏈接,實現代碼的快速定位查找,方便開發人員查看代碼、理解程序結構,降低了對既存Java應用系統維護的風險和成本。

關鍵詞:VBA;Java;源代碼分析;再工程;結構圖

中圖分類號:TP311 文獻標識碼:A

Abstract:In order to solve Java system reengineering needs,using the powerful VBA of the microsoft office software,design and develop of Java language source code analysis system that suitable for internal use and major users for SE and PG based developer.System to Java program level code analysis,call relationships based on various references to the program,spanning tree structure diagram,display code structure,establish a link to the structure diagram and code,to achieve the rapid positioning of the code to find,facilitate developers to view the code,understanding program structure,reduce the risk and cost of existing Java application system maintenance.

Keywords:VBA;Java;source code analysis;reengineering;structure diagram

1 引言(Introduction)

Java是一種可以撰寫跨平臺應用程序、面向對象的程序設計語言,目前是嵌入式開發、互聯網開發、云計算和移動互聯網開發的主流編程語言。經過20多年的發展,目前擁有全球最大的開發者專業社群[1]。

目前Java相關的工作有很多是對現有系統進行的再工程,如升級、維護、改造、云平臺轉換等。市場上的Java源代碼分析軟件多以系統級的大型軟件為主,功能強大但費用高昂,適合中小企業及開發人員個人使用的Java源代碼分析軟件則很難找到。本系統是專門面向中小型企業設計、開發的Java語言源代碼分析軟件,主要用戶是以SE及PG為主的開發人員,幫助系統開發和維護人員快速準確的理解既存系統的源程序,讓軟件開發人員把主要精力放在解決業務問題本身,而不是浪費在理解前人寫的代碼上。

2 關鍵技術(Key technology)

2.1 開發平臺

系統以Microsoft Office作為開發平臺,利用Microsoft Office軟件中強大的VBA工具進行設計開發。應用時只需要系統安裝Microsoft Office即可,無需單獨的開發和運行環境。

2.2 關鍵技術

VBA(Visual Basic for Applications)是Visual Basic的一種宏語言,是Microsoft開發出來在其桌面應用程序中執行通用自動化(OLE)任務的編程語言,主要用其來擴展Windows的應用程序功能。VBA作為VB的一個子集,可以說是一種應用程式視覺化的Basic腳本,其語言結構與VB相似,集成開發環境IDE幾乎相同[2]。

3 系統主要功能(Main function of the system)

本系統基于軟件靜態分析,以Java程序級代碼分析為主,不對整個系統進行分析,不實際運行代碼,不查找代碼中存在的結構性錯誤、安全漏洞等問題,也不進行詞法分析、語法分析、語義分析、控制流及數據流分析、內存泄漏分析等復雜功能的開發。系統主要根據程序的各種引用調用關系,生成樹狀結構圖,展示代碼結構,建立鏈接,實現代碼的快速定位查找,方便開發人員查看代碼、理解程序結構。

根據業務功能分析,系統功能主要分為六個模塊:系統啟動及關閉模塊、源代碼讀入及統計模塊、源代碼寫入模塊、語法顏色高亮顯示模塊、樹狀結構模塊、創建鏈接模塊,系統功能模塊圖如圖1所示。

(1)配置管理模塊

系統啟動時讀入配置文件,根據配置文件的內容決定Excel文檔中Java代碼的語法高亮顯示顏色。用戶可以通過設定窗口自定義配置內容,在系統關閉的時候系統會將用戶的自定義內容保存到配置文件中。

(2)源代碼讀入模塊

實現對Java源文件內容的讀取,并在讀取的過程中統計代碼的總行數、空白行數、注釋行數、有效行數及程序中使用的package、import等信息,以及判定源代碼的方法、變量、標簽等的位置并設置標志位。

(3)源代碼寫入模塊

主要實現新建Excel文檔,插入Sheet頁,將源代碼寫入Excel文檔,以及文檔的保存等功能。

(4)語法顏色高亮顯示模塊

語法顏色高亮顯示模塊主要實現Java關鍵字、Java系統類高亮表示、注釋行高亮表示、自定義方法高亮表示、標簽高亮表示、括號成對高亮表示等功能。

(5)樹狀結構模塊

樹狀結構模塊根據源代碼的各種引用調用關系,生成樹狀視圖,展示代碼的結構。

(6)創建鏈接模塊

創建樹狀視圖各節點與源代碼的鏈接,實現代碼的快速定位查找,方便開發者查看代碼。系統還根據代碼創建標簽,建立代碼中自定義方法的定義位置和調用位置的鏈接,方便查找代碼。

4 系統設計與實現(Design and implementation)

主程序設計。首先系統從計算機中讀取Java源文件,讀取模式為逐行讀入,每讀入一行代碼即分析該代碼行是否為空白行、注釋行等信息,并判斷代碼行中是否包含用戶自定義的方法等信息,并添加標志位,系統將代碼行及標志位記入臨時數組中,直到Java源文件讀取結束。

讀取源文件結束后,系統根據臨時數組中的數據將代碼逐行寫入Excel文檔中,然后系統根據標志位等信息生成樹狀結構圖,并建立樹狀視圖各節點與源代碼的鏈接,最后系統逐行逐詞判斷是否Java關鍵字、Java系統類、括號等信 息并設置語法顏色高亮顯示等信息。主程序流程如圖2所示。

以下為系統部分關鍵代碼。

(1)系統啟動后讀入配置文件,并根據配置文件加載系統所需的環境變量。

5 結論(Conclusion)

本Java語言源代碼分析系統短小精干、實用性強,是一款適合部門內部或個人使用的小型工具軟件,而不是一個巨大的復雜的系統。軟件通過對Java語言既存系統程序代碼的分析,幫助系統開發工程師和系統維護人員快速準確的理解既存系統的Java源程序,讓軟件工程師把主要精力放在解決軟件開發項目本身的業務問題,不必再浪費時間反復閱讀前人所寫的代碼,大大降低了對既存Java應用系統維護的風險和維護成本。

參考文獻(References)

[1] 錢宇虹.基于Java平臺的多語言混合編程[J].軟件工程師,2014(11):39-41.

[2] 布倫[美].Excel專業開發MicrosoftExcel及VBA應用開發權威指南(第2版)[M].北京:電子工業出版社,2013.

[3] John Green[美],等.Excel 2007 VBA參考大全(修訂版)[M].北京:人民郵電出版社,2013.

[4] Excel Home.Excel 2010應用大全[M].北京:人民郵電出版社,2011.

[5] Excel Home.別怕,Excel VBA其實很簡單[M].北京:人民郵電出版社,2012.

[6] 沃肯巴赫[美].Excel 2010高級VBA編程寶典[M].北京:清華大學出版社,2012.

主站蜘蛛池模板: 国产精选小视频在线观看| 国产电话自拍伊人| 欧美激情视频一区二区三区免费| 亚州AV秘 一区二区三区| 亚洲91精品视频| 精品黑人一区二区三区| 91久草视频| 欧美亚洲国产日韩电影在线| 一区二区偷拍美女撒尿视频| 国产精品亚欧美一区二区| 高清不卡毛片| 亚洲最猛黑人xxxx黑人猛交| 婷婷亚洲视频| 日本色综合网| 丁香六月综合网| 国产经典三级在线| 国产精品极品美女自在线| 老司机午夜精品视频你懂的| 91精品日韩人妻无码久久| 91年精品国产福利线观看久久| 最新国产精品第1页| 亚洲AV电影不卡在线观看| 国产视频久久久久| 99爱视频精品免视看| 欧美在线黄| 国产精品手机在线播放| 欧美国产另类| 欧美一区国产| 波多野吉衣一区二区三区av| 国产91视频免费观看| 精品视频一区在线观看| 久久99精品久久久久纯品| 综合人妻久久一区二区精品| 国产高清精品在线91| 国产一区二区丝袜高跟鞋| 日本欧美中文字幕精品亚洲| 99精品免费欧美成人小视频| 制服丝袜国产精品| 国产欧美视频在线观看| 久久免费看片| 欧美日韩理论| 自拍偷拍一区| 亚洲人成人无码www| AV无码一区二区三区四区| 久久狠狠色噜噜狠狠狠狠97视色 | 国产欧美综合在线观看第七页| 日韩一区精品视频一区二区| 少妇精品在线| 国产福利微拍精品一区二区| 91国内在线观看| 四虎精品黑人视频| 国产草草影院18成年视频| 亚洲爱婷婷色69堂| 99国产在线视频| 亚洲91精品视频| 国产无遮挡猛进猛出免费软件| 国产性猛交XXXX免费看| 亚洲免费毛片| 在线视频一区二区三区不卡| 国产精品毛片一区视频播| 91午夜福利在线观看| 夜色爽爽影院18禁妓女影院| 天天综合色天天综合网| 波多野结衣一区二区三区AV| 性做久久久久久久免费看| 国产经典三级在线| 成人年鲁鲁在线观看视频| 久久综合九九亚洲一区| 国产成人午夜福利免费无码r| 日韩一二三区视频精品| 成人毛片免费观看| 国产精品男人的天堂| 亚洲三级视频在线观看| 国产成人精品视频一区二区电影| 亚洲高清无码精品| 国产xx在线观看| 伊人久久久久久久| 99re视频在线| 综合天天色| 中文字幕一区二区人妻电影| 国产欧美中文字幕| 97国产精品视频自在拍|