軟件架構(gòu)復(fù)用是指在不改變軟件功能的情況下,將已有的軟件架構(gòu)直接或進行微調(diào)后復(fù)用到新的軟件或系統(tǒng)中,從而加快軟件開發(fā)進程,提高軟件生產(chǎn)效率。軟件架構(gòu)復(fù)用包括軟件產(chǎn)品復(fù)用和軟件過程復(fù)用兩部分的內(nèi)容。其中,軟件產(chǎn)品復(fù)用是指將已有的軟件組件(如函數(shù)、模塊、組件等)直接或進行適應(yīng)性修改后復(fù)用到新的軟件或系統(tǒng)中;軟件過程復(fù)用是指將已有的軟件生產(chǎn)過程中的各種勞動成果(如設(shè)計文檔、測試案例、源代碼等)直接或進行適應(yīng)性修改后復(fù)用到新的軟件或系統(tǒng)中。
軟件架構(gòu)復(fù)用的分類
軟件架構(gòu)復(fù)用可以分為以下幾種類型:
- 代碼級復(fù)用:通過編寫大量的公共類和公共函數(shù)等,供開發(fā)人員直接使用。
- 組件級復(fù)用:將功能的組件化封裝,對外提供一組或多組的API接口。
- 模塊級復(fù)用:在開發(fā)的項目或產(chǎn)品中,如果發(fā)現(xiàn)大量重復(fù)的功能模塊,可以在這些模塊設(shè)計時注重擴展性,使其能應(yīng)用到其他類似功能的項目中。
- 構(gòu)架級復(fù)用:構(gòu)架級在設(shè)計概念上最為高級的一種。它相當于一個平臺或者思想,在這個平臺上,可以開發(fā)出根據(jù)此平臺思想穩(wěn)定而又高效的軟件產(chǎn)品。
軟件架構(gòu)復(fù)用的實現(xiàn)方式主要包括以下幾種:
- 白盒復(fù)用:源代碼可見,可修改和擴展。
- 黑盒復(fù)用:源代碼不可見,不能修改。
- 模塊層次的復(fù)用(接口/類):包括繼承和委托等。
這些實現(xiàn)方式可以幫助開發(fā)者更好地進行軟件架構(gòu)復(fù)用,提高軟件生產(chǎn)效率。
軟件架構(gòu)復(fù)用的原因
軟件架構(gòu)復(fù)用的原因主要有以下幾點:
- 審美上和智力上的考慮:軟件開發(fā)者渴望不朽,通過創(chuàng)造出可復(fù)用的組件,使他們的作品成為整個行業(yè)的基石。
- 經(jīng)濟上的考慮:復(fù)用降低了成本和開發(fā)時間,提高了軟件生產(chǎn)效率。它還可以避免不必要的“重新造輪子”,降低維護成本,生產(chǎn)出質(zhì)量更好、更可靠、更高效的軟件。
- 可靠性的考慮:復(fù)用已經(jīng)存在一段時間并經(jīng)過調(diào)試的功能,這些功能往往經(jīng)過充分測試,穩(wěn)定可靠。
- 標準化的考慮:復(fù)用 GUI 庫會在應(yīng)用程序中產(chǎn)生通用的外觀、規(guī)則、一致、連貫地設(shè)計。
然而,軟件架構(gòu)復(fù)用也存在一定的成本,需要從創(chuàng)造的角度進行考慮,確保可復(fù)用的組件以明確定義、開放的方式設(shè)計和構(gòu)建,使用簡潔的接口規(guī)范、可理解的文檔,并著眼于未來的使用。這樣才能充分發(fā)揮軟件架構(gòu)復(fù)用的優(yōu)勢。
軟件架構(gòu)復(fù)用的對象及形式
軟件架構(gòu)復(fù)用的對象可以包括代碼級、組件級、模塊級和構(gòu)架級復(fù)用。具體形式如下:
- 代碼級復(fù)用:通過編寫大量的公共類和公共函數(shù)等,供開發(fā)人員直接使用。
- 組件級復(fù)用:將功能的組件化封裝,對外提供一組或多組的API接口。
- 模塊級復(fù)用:在開發(fā)的項目或產(chǎn)品中,如果發(fā)現(xiàn)大量重復(fù)的功能模塊,可以在這些模塊設(shè)計時注重擴展性,使其能應(yīng)用到其他類似功能的項目中。
- 構(gòu)架級復(fù)用:構(gòu)架級在設(shè)計概念上最為高級的一種。它相當于一個平臺或者思想,在這個平臺上,可以開發(fā)出根據(jù)此平臺思想穩(wěn)定而又高效的軟件產(chǎn)品。
軟件架構(gòu)復(fù)用的實現(xiàn)方式主要包括以下幾種:
- 白盒復(fù)用:源代碼可見,可修改和擴展。
- 黑盒復(fù)用:源代碼不可見,不能修改。
- 模塊層次的復(fù)用(接口/類):包括繼承和委托等。
這些實現(xiàn)方式可以幫助開發(fā)者更好地進行軟件架構(gòu)復(fù)用,提高軟件生產(chǎn)效率。
軟件架構(gòu)復(fù)用的基本過程
軟件架構(gòu)復(fù)用的基本過程包括以下步驟:文章來源:http://www.zghlxwxcb.cn/news/detail-496674.html
- 按復(fù)用的要求,界定應(yīng)用系統(tǒng)的共同特性,建立模型。
- 將模型分解成恰當規(guī)模和結(jié)構(gòu)的構(gòu)件。
- 對這些構(gòu)件進行設(shè)計、實現(xiàn)、打包、編寫文檔。
- 形成方便使用的可復(fù)用構(gòu)件。
- 開發(fā)與構(gòu)件系統(tǒng)相配的工具箱,以支持構(gòu)件的復(fù)用。
通過以上步驟,可以完成軟件架構(gòu)的復(fù)用,提高軟件開發(fā)效率。文章來源地址http://www.zghlxwxcb.cn/news/detail-496674.html
到了這里,關(guān)于系統(tǒng)架構(gòu)設(shè)計師筆記第20期:軟件架構(gòu)復(fù)用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!