本站小編為你精心準備了軟件復用視域下軟件工程論文參考范文,愿這些范文能點燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
1軟件復用的幾個層次
軟件復用是指在軟件設(shè)計的過程中,將軟件中不斷重復的部分進行抽象和提取,從而形成能夠通用的軟件成分,可以被不同的模塊復用。根據(jù)軟件設(shè)計的不同需求,軟件復用的層次也有所不同,主要包括以下幾個部分:
1.1代碼的復用代碼的復用可以說是軟件復用中最簡單的部分,這種軟件復用方式在面向結(jié)構(gòu)化和面向?qū)ο蟮能浖O(shè)計方法中均有所體現(xiàn):面向結(jié)構(gòu)化的軟件設(shè)計方式中,我們將軟件重復的部分抽象為一個函數(shù),通過對函數(shù)傳遞不同的參數(shù),從而實現(xiàn)不同模塊對函數(shù)的調(diào)用;在面向?qū)ο蟮能浖O(shè)計方法中,我們可以依靠類的繼承關(guān)系,使得子類在繼承的過程中能夠重復使用基類的一些代碼、成員變量等等,這些都是軟件復用中代碼復用的具體例子。
1.2設(shè)計的復用代碼的復用僅僅是軟件復用中最簡單的層次,與其相比,設(shè)計的復用能夠?qū)崿F(xiàn)軟件系統(tǒng)模塊級別的復用,顯得更為強大。設(shè)計的復用主要體現(xiàn)在以下三個方面:(1)第一,從現(xiàn)有的系統(tǒng)中提取一些可以復用的部分,然后重寫運用到新系統(tǒng)當中。(2)第二,將對目前系統(tǒng)的設(shè)計重新運用到其他的系統(tǒng)中,從而實現(xiàn)整個軟件系統(tǒng)級別設(shè)計的復用。(3)第三,實現(xiàn)獨立于一些系統(tǒng)的軟件構(gòu)件,這些軟件構(gòu)件的復用級別比代碼復用的粒度更大,這種構(gòu)件的抽象級別往往更高,從而使得構(gòu)件能夠被廣泛運用到多個系統(tǒng)當中,提高構(gòu)件的復用次數(shù)。2.3分析的復用與軟件設(shè)計的復用不同,軟件分析的復用運用于軟件的概要設(shè)計階段,與軟件的具體實現(xiàn)關(guān)聯(lián)比較少,因此實現(xiàn)軟件復用的幾率更加大。軟件的分析復用也可以有三種不同的方式:第一,抽象出現(xiàn)有軟件系統(tǒng)的重復分析部分,應用于其他軟件系統(tǒng)的分析上;第二,將分析的方法運用到不同的軟硬件平臺上,從而能夠產(chǎn)生不同的設(shè)計;第三,可以實現(xiàn)一些分析的構(gòu)件,從而實現(xiàn)軟件分析階段的軟件復用。
1.4測試信息的復用測試過程也屬于軟件工程的重要模塊,因此在軟件的測試部分也可以應用軟件復用的方法,軟件測試信息的復用主要包括兩方面的內(nèi)容:(1)第一,測試用例的復用,就是將一個系統(tǒng)的軟件測試用例,提取一些通用的部分運用到另一個軟件系統(tǒng)中,從而實現(xiàn)軟件測試用例的復用。(2)第二,測試過程信息的復用,軟件測試可以通過軟件自動化測試工具記錄一些相關(guān)的測試信息,這些測試信息可以為其他系統(tǒng)的測試提供參考。這兩種方式都可以實現(xiàn)軟件測試信息的復用。
2實現(xiàn)軟件復用的相關(guān)技術(shù)
2.1面向?qū)ο蠹夹g(shù)面向?qū)ο蠹夹g(shù)的產(chǎn)生和實現(xiàn)是軟件設(shè)計世界的重大改革,它使得軟件設(shè)計模式能夠按照人類看待世界的方式進行,而且能夠通過繼承、封裝和多態(tài)技術(shù),更好地實現(xiàn)軟件的復用。其中繼承技術(shù)是實現(xiàn)軟件復用的重要方式,在面向?qū)ο蟮募夹g(shù)中,我們將很多對象抽象為類,而其中一些類的公有特性可以被其子類繼承下去,因此在繼承的過程中,子類不必再實現(xiàn)父類的方法和屬性,而僅僅定義自己與父類不同的特性即可,因此繼承技術(shù)在很大程度上實現(xiàn)了軟件的復用。當然,面向?qū)ο蠹夹g(shù)的其他屬性——多態(tài)也可以很好地實現(xiàn)軟件的復用,因此目前在進行軟件設(shè)計和開發(fā)過程中,引入了面向?qū)ο蠹夹g(shù),能夠在很大程度上實現(xiàn)軟件的復用。
2.2軟件復用庫軟件設(shè)計在經(jīng)過了多年的理論和實踐研究之后,一些經(jīng)典的算法和實現(xiàn)技術(shù)被傳承下來,研究人員將這些代碼進行不斷地提煉和改進,從而封裝為一系列可以直接引用的軟件復用庫,這樣不僅僅能夠降低軟件開發(fā)人員的開發(fā)難度,提高他們的開發(fā)效率,而且這些軟件復用庫在經(jīng)過千錘百煉以后,能夠以更高的效率實現(xiàn)相應的功能。例如:在C++語言中,STL就是一種軟件復用庫的具體實現(xiàn),軟件開發(fā)人員可以在引入頭文件之后,直接對其中的數(shù)據(jù)結(jié)構(gòu)進行使用,而不必自己再從頭開始實現(xiàn),而且軟件復用庫中的一些對象的建立和銷毀機制都比較完善,能夠協(xié)助軟件設(shè)計人員更好地使用和管理內(nèi)存。
作者:毛海駿