論文:論軟件體系結(jié)構(gòu)風(fēng)格及其應(yīng)用
軟件體系結(jié)構(gòu)設(shè)計的一個核心問題是如何有效地使用重復(fù)的體系結(jié)構(gòu)模式,即達(dá)到軟件體系結(jié)構(gòu)級的軟件重用。軟件體系結(jié)構(gòu)風(fēng)格(Software Architecture Style)是描述軟件系統(tǒng)組織方式的常用模式,在實踐中已經(jīng)被多次應(yīng)用。按照Shaw和Garlan的說法,"一種體系結(jié)構(gòu)風(fēng)格定義了構(gòu)件類型和連接件類型的詞匯表,以及它們?nèi)绾谓M合的約束條件"。體系結(jié)構(gòu)風(fēng)格通常分為數(shù)據(jù)流(Data Flow)風(fēng)格、調(diào)用/返回(Call/Return)風(fēng)格、獨(dú)立構(gòu)件(Independent Components)風(fēng)格、虛擬機(jī)(Virtual Machines)風(fēng)格和倉庫(Repositories)風(fēng)格五大類。在實際應(yīng)用中,隨著軟件系統(tǒng)規(guī)模的擴(kuò)大和復(fù)雜,一個系統(tǒng)往往會同時使用多類體系結(jié)構(gòu)風(fēng)格,這些風(fēng)格可以交叉組合、彼此重疊。
請圍繞"軟件體系結(jié)構(gòu)風(fēng)格及其應(yīng)用"論題,依次從以下3個方面進(jìn)行論述:
①概要敘述你參與管理和開發(fā)的軟件項目及你在其中所擔(dān)任的主要工作。
②請說明以上軟件體系結(jié)構(gòu)風(fēng)格分類中每一類有哪些經(jīng)典的軟件體系結(jié)構(gòu)設(shè)計風(fēng)格,并就其中至少三類論述其具體的軟件體系結(jié)構(gòu)風(fēng)格的構(gòu)件、連接件類型和組合約束要求等結(jié)構(gòu)特征及其應(yīng)用特點(diǎn)。
③具體闡述你參與管理和開發(fā)的項目中在體系結(jié)構(gòu)設(shè)計時選擇使用軟件體系結(jié)構(gòu)風(fēng)格的情況,包括選擇的依據(jù)、多個風(fēng)格組合使用的情況等,以及最終實際效果。