基于分層結(jié)構(gòu)信息提取的軟件架構(gòu)恢復(fù)技術(shù)
發(fā)布時間:2021-01-06 09:53
隨著軟件系統(tǒng)越來越復(fù)雜、規(guī)模越來越大,軟件架構(gòu)的復(fù)雜度和變化性進(jìn)一步增強(qiáng)。更糟糕的是,隨著產(chǎn)品演化周期的更迭,由于文檔得不到及時充分的更新,導(dǎo)致設(shè)計架構(gòu)和實際架構(gòu)之間的偏差越來越大,僅僅通過文檔很難達(dá)到對系統(tǒng)原始全面的理解。開發(fā)團(tuán)隊往往需要通過人工閱讀代碼來學(xué)習(xí)和理解架構(gòu),并在此基礎(chǔ)上開展系統(tǒng)的開發(fā)和維護(hù)。人工閱讀代碼的方式費(fèi)時費(fèi)力,而且并非任何人都能通過閱讀代碼來透徹完整地把握系統(tǒng)的原始架構(gòu)。這種在系統(tǒng)的演化過程中,預(yù)期架構(gòu)或概念架構(gòu)與實際架構(gòu)之間發(fā)生偏離的現(xiàn)象,又稱為軟件架構(gòu)腐蝕。在此情況下,清晰的、易于理解的軟件體系結(jié)構(gòu)說明就顯得越來越重要。本文對目前的軟件架構(gòu)恢復(fù)過程、恢復(fù)方法和工具進(jìn)行了系統(tǒng)的研究,歸納出了一般的軟件架構(gòu)恢復(fù)技術(shù)框架,包括架構(gòu)信息提取和架構(gòu)恢復(fù)表達(dá)兩方面的關(guān)鍵技術(shù)。本文基于分層結(jié)構(gòu)信息提取技術(shù)進(jìn)行軟件架構(gòu)自動化恢復(fù),主要工作如下:本文分別從項目源代碼、編譯構(gòu)建過程信息、目錄層次結(jié)構(gòu)和架構(gòu)輸入四種信息來源中提取需要的架構(gòu)信息,其保障了架構(gòu)的邏輯視圖、開發(fā)視圖和構(gòu)建視圖的一致性。本文提出一種基于多規(guī)則聚類的組件識別方法,通過對模塊依賴圖的分析,根據(jù)依賴類型、依賴結(jié)...
【文章來源】:東南大學(xué)江蘇省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:76 頁
【學(xué)位級別】:碩士
【文章目錄】:
摘要
Abstract
第一章 緒論
1.1 研究背景與意義
1.2 研究現(xiàn)狀
1.2.1 架構(gòu)信息提取的研究現(xiàn)狀
1.2.2 架構(gòu)恢復(fù)技術(shù)的研究現(xiàn)狀
1.2.3 架構(gòu)恢復(fù)工具
1.3 現(xiàn)狀分析
1.4 論文主要工作
1.5 論文結(jié)構(gòu)
第二章 基于分層結(jié)構(gòu)的架構(gòu)信息提取
2.1 引言
2.2 架構(gòu)元素定義
2.3 基于源代碼的架構(gòu)信息提取
2.3.1 源代碼中的架構(gòu)信息
2.3.2 源代碼架構(gòu)信息提取步驟
2.3.3 具體依賴分析方法
2.4 基于編譯構(gòu)建的架構(gòu)信息提取
2.4.1 面向Java的編譯構(gòu)建過程解析方法
2.4.2 面向C/C++的編譯構(gòu)建過程解析方法
2.5 基于目錄層次的架構(gòu)信息提取
2.6 基于架構(gòu)文檔的架構(gòu)信息提取
2.6.1 架構(gòu)文檔中的架構(gòu)信息
2.6.2 架構(gòu)文檔信息提取
2.7 本章小結(jié)
第三章 基于多規(guī)則聚類的架構(gòu)恢復(fù)技術(shù)
3.1 引言
3.2 架構(gòu)恢復(fù)流程
3.3 具體恢復(fù)步驟
3.3.1 模塊化設(shè)計
3.3.2 模塊距離計算
3.3.3 組件化規(guī)則
3.3.4 組件化(聚類)
3.3.5 架構(gòu)優(yōu)化
3.4 本章小結(jié)
第四章 架構(gòu)恢復(fù)工具設(shè)計與實現(xiàn)
4.1 功能需求
4.2 概要設(shè)計
4.3 詳細(xì)設(shè)計與實現(xiàn)
4.3.1 信息提取模塊設(shè)計與實現(xiàn)
4.3.2 模塊化設(shè)計與實現(xiàn)
4.3.3 組件化規(guī)則模塊設(shè)計與實現(xiàn)
4.3.4 組件化模塊設(shè)計與實現(xiàn)
4.3.5 架構(gòu)優(yōu)化模塊設(shè)計與實現(xiàn)
4.4 工具展示
4.4.1 項目管理
4.4.2 開發(fā)視圖
4.4.3 架構(gòu)視圖
4.5 本章小結(jié)
第五章 實驗與分析
5.1 實驗?zāi)康?br> 5.2 實驗對象
5.3 實驗內(nèi)容及分析
5.3.1 驗證架構(gòu)圖的有效性
5.3.2 驗證架構(gòu)圖的易理解性
5.3.3 驗證架構(gòu)演化的效果
5.4 效度威脅
5.5 本章小結(jié)
第六章 總結(jié)與展望
6.1 工作總結(jié)
6.2 未來工作展望
致謝
參考文獻(xiàn)
作者簡介
【參考文獻(xiàn)】:
期刊論文
[1]基于RTL的函數(shù)調(diào)用圖生成工具CG-RTL[J]. 孫衛(wèi)真,杜香燕,向勇,湯衛(wèi)東,侯鴻儒. 小型微型計算機(jī)系統(tǒng). 2014(03)
[2]支持多程序語言的靜態(tài)信息提取方法[J]. 逄龍,王甜甜,蘇小紅,馬培軍. 哈爾濱工業(yè)大學(xué)學(xué)報. 2011(03)
[3]基于加權(quán)SimRank的中文查詢推薦研究[J]. 李亞楠,許晟,王斌. 中文信息學(xué)報. 2010(03)
[4]一種分析和理解程序的方法──程序切片[J]. 李必信,鄭國梁,王云峰,李宣東. 計算機(jī)研究與發(fā)展. 2000(03)
碩士論文
[1]面向C/C++程序函數(shù)調(diào)用關(guān)系的靜態(tài)分析方法研究[D]. 黃雙玲.中國科學(xué)技術(shù)大學(xué) 2015
[2]一種改進(jìn)的基于抽象語法樹的軟件演化分析技術(shù)研究[D]. 姜璐.南京大學(xué) 2013
本文編號:2960362
【文章來源】:東南大學(xué)江蘇省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:76 頁
【學(xué)位級別】:碩士
【文章目錄】:
摘要
Abstract
第一章 緒論
1.1 研究背景與意義
1.2 研究現(xiàn)狀
1.2.1 架構(gòu)信息提取的研究現(xiàn)狀
1.2.2 架構(gòu)恢復(fù)技術(shù)的研究現(xiàn)狀
1.2.3 架構(gòu)恢復(fù)工具
1.3 現(xiàn)狀分析
1.4 論文主要工作
1.5 論文結(jié)構(gòu)
第二章 基于分層結(jié)構(gòu)的架構(gòu)信息提取
2.1 引言
2.2 架構(gòu)元素定義
2.3 基于源代碼的架構(gòu)信息提取
2.3.1 源代碼中的架構(gòu)信息
2.3.2 源代碼架構(gòu)信息提取步驟
2.3.3 具體依賴分析方法
2.4 基于編譯構(gòu)建的架構(gòu)信息提取
2.4.1 面向Java的編譯構(gòu)建過程解析方法
2.4.2 面向C/C++的編譯構(gòu)建過程解析方法
2.5 基于目錄層次的架構(gòu)信息提取
2.6 基于架構(gòu)文檔的架構(gòu)信息提取
2.6.1 架構(gòu)文檔中的架構(gòu)信息
2.6.2 架構(gòu)文檔信息提取
2.7 本章小結(jié)
第三章 基于多規(guī)則聚類的架構(gòu)恢復(fù)技術(shù)
3.1 引言
3.2 架構(gòu)恢復(fù)流程
3.3 具體恢復(fù)步驟
3.3.1 模塊化設(shè)計
3.3.2 模塊距離計算
3.3.3 組件化規(guī)則
3.3.4 組件化(聚類)
3.3.5 架構(gòu)優(yōu)化
3.4 本章小結(jié)
第四章 架構(gòu)恢復(fù)工具設(shè)計與實現(xiàn)
4.1 功能需求
4.2 概要設(shè)計
4.3 詳細(xì)設(shè)計與實現(xiàn)
4.3.1 信息提取模塊設(shè)計與實現(xiàn)
4.3.2 模塊化設(shè)計與實現(xiàn)
4.3.3 組件化規(guī)則模塊設(shè)計與實現(xiàn)
4.3.4 組件化模塊設(shè)計與實現(xiàn)
4.3.5 架構(gòu)優(yōu)化模塊設(shè)計與實現(xiàn)
4.4 工具展示
4.4.1 項目管理
4.4.2 開發(fā)視圖
4.4.3 架構(gòu)視圖
4.5 本章小結(jié)
第五章 實驗與分析
5.1 實驗?zāi)康?br> 5.2 實驗對象
5.3 實驗內(nèi)容及分析
5.3.1 驗證架構(gòu)圖的有效性
5.3.2 驗證架構(gòu)圖的易理解性
5.3.3 驗證架構(gòu)演化的效果
5.4 效度威脅
5.5 本章小結(jié)
第六章 總結(jié)與展望
6.1 工作總結(jié)
6.2 未來工作展望
致謝
參考文獻(xiàn)
作者簡介
【參考文獻(xiàn)】:
期刊論文
[1]基于RTL的函數(shù)調(diào)用圖生成工具CG-RTL[J]. 孫衛(wèi)真,杜香燕,向勇,湯衛(wèi)東,侯鴻儒. 小型微型計算機(jī)系統(tǒng). 2014(03)
[2]支持多程序語言的靜態(tài)信息提取方法[J]. 逄龍,王甜甜,蘇小紅,馬培軍. 哈爾濱工業(yè)大學(xué)學(xué)報. 2011(03)
[3]基于加權(quán)SimRank的中文查詢推薦研究[J]. 李亞楠,許晟,王斌. 中文信息學(xué)報. 2010(03)
[4]一種分析和理解程序的方法──程序切片[J]. 李必信,鄭國梁,王云峰,李宣東. 計算機(jī)研究與發(fā)展. 2000(03)
碩士論文
[1]面向C/C++程序函數(shù)調(diào)用關(guān)系的靜態(tài)分析方法研究[D]. 黃雙玲.中國科學(xué)技術(shù)大學(xué) 2015
[2]一種改進(jìn)的基于抽象語法樹的軟件演化分析技術(shù)研究[D]. 姜璐.南京大學(xué) 2013
本文編號:2960362
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/2960362.html
最近更新
教材專著