




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、軟軟 件件 體體 系系 結(jié)結(jié) 構(gòu)構(gòu)付付 燕燕課課 程程 內(nèi)內(nèi) 容容 軟件重用與構(gòu)件技術(shù)軟件重用與構(gòu)件技術(shù) 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論 軟件體系結(jié)構(gòu)的風(fēng)格軟件體系結(jié)構(gòu)的風(fēng)格 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述 軟件體系結(jié)構(gòu)設(shè)計(jì)軟件體系結(jié)構(gòu)設(shè)計(jì) 基于體系結(jié)構(gòu)的軟件開發(fā)過程基于體系結(jié)構(gòu)的軟件開發(fā)過程 軟件體系結(jié)構(gòu)評(píng)估軟件體系結(jié)構(gòu)評(píng)估 WebWeb服務(wù)體系結(jié)構(gòu)服務(wù)體系結(jié)構(gòu) 特定領(lǐng)域的軟件體系結(jié)構(gòu)特定領(lǐng)域的軟件體系結(jié)構(gòu) 軟件體系結(jié)構(gòu)集成開發(fā)環(huán)境軟件體系結(jié)構(gòu)集成開發(fā)環(huán)境 2.1 2.1 軟件體系結(jié)構(gòu)的定義軟件體系結(jié)構(gòu)的定義 2.2 2.2 軟件體系結(jié)構(gòu)的研究意義軟件體系結(jié)構(gòu)的研究意義 2.3 2.3
2、軟件體系結(jié)構(gòu)的發(fā)展歷程軟件體系結(jié)構(gòu)的發(fā)展歷程 2.4 2.4 軟件體系結(jié)構(gòu)的研究現(xiàn)狀及發(fā)展方向軟件體系結(jié)構(gòu)的研究現(xiàn)狀及發(fā)展方向 2.5 2.5 本章小結(jié)本章小結(jié)第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.1 2.1 軟件體系結(jié)構(gòu)的定義軟件體系結(jié)構(gòu)的定義定義定義1 IEEE610.12-19901 IEEE610.12-1990軟件工程標(biāo)準(zhǔn)詞匯中的定義軟件工程標(biāo)準(zhǔn)詞匯中的定義體系結(jié)構(gòu)是以構(gòu)件、構(gòu)件之間的關(guān)系、構(gòu)件與環(huán)境體系結(jié)構(gòu)是以構(gòu)件、構(gòu)件之間的關(guān)系、構(gòu)件與環(huán)境之間的關(guān)系為內(nèi)容的某一系統(tǒng)的基本組織以及指導(dǎo)之間的關(guān)系為內(nèi)容的某一系統(tǒng)的基本組織
3、以及指導(dǎo)上述內(nèi)容設(shè)計(jì)與演化的原理。即:上述內(nèi)容設(shè)計(jì)與演化的原理。即:軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)=構(gòu)件,連接件,環(huán)境,原理構(gòu)件,連接件,環(huán)境,原理 。 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.1 2.1 軟件體系結(jié)構(gòu)的定義軟件體系結(jié)構(gòu)的定義定義定義2 Booch & Rumbaugh & Jacobson2 Booch & Rumbaugh & Jacobson的定義的定義體系結(jié)構(gòu)是一系列重要決策的集合,這些決策與以體系結(jié)構(gòu)是一系列重要決策的集合,這些決策與以下內(nèi)容相關(guān):軟件的組織、構(gòu)成系統(tǒng)的結(jié)構(gòu)元素及下內(nèi)容相關(guān):軟件的組織、構(gòu)成系統(tǒng)的結(jié)構(gòu)元素及其接口的
4、選擇,這些元素在相互協(xié)作中明確表現(xiàn)出其接口的選擇,這些元素在相互協(xié)作中明確表現(xiàn)出的行為、這些結(jié)構(gòu)元素和行為元素進(jìn)一步組合構(gòu)成的行為、這些結(jié)構(gòu)元素和行為元素進(jìn)一步組合構(gòu)成的更大規(guī)模的子系統(tǒng),和引導(dǎo)這一組織(包括這些的更大規(guī)模的子系統(tǒng),和引導(dǎo)這一組織(包括這些元素及其接口、它們的協(xié)作、它們的組合)的體系元素及其接口、它們的協(xié)作、它們的組合)的體系結(jié)構(gòu)風(fēng)格。即結(jié)構(gòu)風(fēng)格。即軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)=組織,元素,子系統(tǒng),風(fēng)格組織,元素,子系統(tǒng),風(fēng)格 。 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.1 2.1 軟件體系結(jié)構(gòu)的定義軟件體系結(jié)構(gòu)的定義定義定義3 Bass3 Bass的定義的定義程序或計(jì)
5、算系統(tǒng)的軟件體系結(jié)構(gòu)是系統(tǒng)的一個(gè)或多個(gè)程序或計(jì)算系統(tǒng)的軟件體系結(jié)構(gòu)是系統(tǒng)的一個(gè)或多個(gè)結(jié)構(gòu),包括軟件構(gòu)件、構(gòu)件的外部可視屬性和構(gòu)件之結(jié)構(gòu),包括軟件構(gòu)件、構(gòu)件的外部可視屬性和構(gòu)件之間的關(guān)系。間的關(guān)系。首先,體系結(jié)構(gòu)定義了構(gòu)件,描述了構(gòu)件間如何交互,首先,體系結(jié)構(gòu)定義了構(gòu)件,描述了構(gòu)件間如何交互,這意味著體系結(jié)構(gòu)略去了那些僅與某構(gòu)件自身有關(guān)的這意味著體系結(jié)構(gòu)略去了那些僅與某構(gòu)件自身有關(guān)的信息。同時(shí),這個(gè)定義明確指出系統(tǒng)可以包含多個(gè)結(jié)信息。同時(shí),這個(gè)定義明確指出系統(tǒng)可以包含多個(gè)結(jié)構(gòu)。這個(gè)定義還意味著每一個(gè)軟件系統(tǒng)都有一個(gè)體系構(gòu)。這個(gè)定義還意味著每一個(gè)軟件系統(tǒng)都有一個(gè)體系結(jié)構(gòu),因?yàn)槊總€(gè)軟件系統(tǒng)都是由若干
6、構(gòu)件及其之間的結(jié)構(gòu),因?yàn)槊總€(gè)軟件系統(tǒng)都是由若干構(gòu)件及其之間的關(guān)系構(gòu)成的。只要一個(gè)構(gòu)件的行為可以被其它構(gòu)件觀關(guān)系構(gòu)成的。只要一個(gè)構(gòu)件的行為可以被其它構(gòu)件觀察或辨明,這個(gè)構(gòu)件就是體系結(jié)構(gòu)的一部分。察或辨明,這個(gè)構(gòu)件就是體系結(jié)構(gòu)的一部分。 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.1 2.1 軟件體系結(jié)構(gòu)的定義軟件體系結(jié)構(gòu)的定義定義定義4 Shaw4 Shaw的定義的定義 ShawShaw對當(dāng)時(shí)的各種軟件體系結(jié)構(gòu)觀點(diǎn)做了如下的分類。對當(dāng)時(shí)的各種軟件體系結(jié)構(gòu)觀點(diǎn)做了如下的分類。(1 1)結(jié)構(gòu)模型:結(jié)構(gòu)模型認(rèn)為,軟件體系結(jié)構(gòu)由構(gòu))結(jié)構(gòu)模型:結(jié)構(gòu)模型認(rèn)為,軟件體系結(jié)構(gòu)由構(gòu)件、構(gòu)件之間的連接和一些
7、其它方面組成。這些方面件、構(gòu)件之間的連接和一些其它方面組成。這些方面包括如下幾類。包括如下幾類。 配置,風(fēng)格。配置,風(fēng)格。 約束,語義。約束,語義。 分析,屬性。分析,屬性。 原理,需求。原理,需求。第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.1 2.1 軟件體系結(jié)構(gòu)的定義軟件體系結(jié)構(gòu)的定義(2 2)框架模型:框架模型的觀點(diǎn)與結(jié)構(gòu)模型相似,)框架模型:框架模型的觀點(diǎn)與結(jié)構(gòu)模型相似,但其重點(diǎn)在于整個(gè)系統(tǒng)的連貫結(jié)構(gòu)(這種結(jié)構(gòu)通常但其重點(diǎn)在于整個(gè)系統(tǒng)的連貫結(jié)構(gòu)(這種結(jié)構(gòu)通常是唯一的),這與重視其組成恰好相反??蚣苣P褪俏ㄒ坏模@與重視其組成恰好相反。框架模型常以某種特定領(lǐng)域或某類問題為目標(biāo)
8、。常以某種特定領(lǐng)域或某類問題為目標(biāo)。(3 3)動(dòng)態(tài)模型:動(dòng)態(tài)模型強(qiáng)調(diào)系統(tǒng)的行為質(zhì)量。)動(dòng)態(tài)模型:動(dòng)態(tài)模型強(qiáng)調(diào)系統(tǒng)的行為質(zhì)量?!皠?dòng)態(tài)動(dòng)態(tài)”可以有多種含義。它可以是指整個(gè)系統(tǒng)配可以有多種含義。它可以是指整個(gè)系統(tǒng)配置的變化,也可以是指禁止預(yù)先激活了的通信或交置的變化,也可以是指禁止預(yù)先激活了的通信或交互,還可以是指計(jì)算中表現(xiàn)出的動(dòng)態(tài)特性,如改變互,還可以是指計(jì)算中表現(xiàn)出的動(dòng)態(tài)特性,如改變數(shù)據(jù)的值。數(shù)據(jù)的值。(4 4)過程模型:過程模型關(guān)注系統(tǒng)結(jié)構(gòu)的構(gòu)建及其)過程模型:過程模型關(guān)注系統(tǒng)結(jié)構(gòu)的構(gòu)建及其步驟和過程。在這一觀點(diǎn)下,體系結(jié)構(gòu)是所進(jìn)行的步驟和過程。在這一觀點(diǎn)下,體系結(jié)構(gòu)是所進(jìn)行的一系列過程的結(jié)果
9、。一系列過程的結(jié)果。 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.1 2.1 軟件體系結(jié)構(gòu)的定義軟件體系結(jié)構(gòu)的定義定義定義5 Garlan&Shaw5 Garlan&Shaw的模型的模型軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)=構(gòu)件,連接件,約束構(gòu)件,連接件,約束 。(1 1)構(gòu)件()構(gòu)件(componentcomponent)可以是一組代碼,如程序)可以是一組代碼,如程序的模塊,也可以是一個(gè)獨(dú)立的程序,如數(shù)據(jù)庫服務(wù)的模塊,也可以是一個(gè)獨(dú)立的程序,如數(shù)據(jù)庫服務(wù)器。構(gòu)件是相關(guān)對象的集合,運(yùn)行后實(shí)現(xiàn)某計(jì)算邏器。構(gòu)件是相關(guān)對象的集合,運(yùn)行后實(shí)現(xiàn)某計(jì)算邏輯。它們或是結(jié)構(gòu)相關(guān)或是邏輯相關(guān)。構(gòu)件相
10、對獨(dú)輯。它們或是結(jié)構(gòu)相關(guān)或是邏輯相關(guān)。構(gòu)件相對獨(dú)立,僅通過接口與外部相互作用,可作為獨(dú)立單元立,僅通過接口與外部相互作用,可作為獨(dú)立單元嵌入到不同應(yīng)用系統(tǒng)中。構(gòu)件的定制和規(guī)范化對于嵌入到不同應(yīng)用系統(tǒng)中。構(gòu)件的定制和規(guī)范化對于實(shí)現(xiàn)構(gòu)件的重用有重要意義。實(shí)現(xiàn)構(gòu)件的重用有重要意義。第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.1 2.1 軟件體系結(jié)構(gòu)的定義軟件體系結(jié)構(gòu)的定義(2 2)連接件()連接件(connectorconnector)可以是過程調(diào)用、管道、)可以是過程調(diào)用、管道、遠(yuǎn)程過程調(diào)用等,用于表示構(gòu)件之間的相互作用,遠(yuǎn)程過程調(diào)用等,用于表示構(gòu)件之間的相互作用,它把不同的構(gòu)件連接起來構(gòu)
11、成體系結(jié)構(gòu)的一部分。它把不同的構(gòu)件連接起來構(gòu)成體系結(jié)構(gòu)的一部分。連接件也是一組對象。它一般表現(xiàn)為框架式對象或連接件也是一組對象。它一般表現(xiàn)為框架式對象或轉(zhuǎn)換式對象(調(diào)用遠(yuǎn)程構(gòu)件資源),例如轉(zhuǎn)換式對象(調(diào)用遠(yuǎn)程構(gòu)件資源),例如“樁樁”、“代理代理”對象等。對象等。(3 3)約束()約束(constrainconstrain)一般為對象連接時(shí)的規(guī)則,)一般為對象連接時(shí)的規(guī)則,或指明構(gòu)件連接的姿態(tài)和條件。例如,上層構(gòu)件可或指明構(gòu)件連接的姿態(tài)和條件。例如,上層構(gòu)件可要求下層構(gòu)件的服務(wù),反之不行;兩個(gè)對象不得以要求下層構(gòu)件的服務(wù),反之不行;兩個(gè)對象不得以遞歸方式發(fā)送消息;代碼復(fù)制遷移的一致性約束;遞歸方
12、式發(fā)送消息;代碼復(fù)制遷移的一致性約束;在什么條件下此種連接無效等。在什么條件下此種連接無效等。 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.1 2.1 軟件體系結(jié)構(gòu)的定義軟件體系結(jié)構(gòu)的定義定義定義6 Perry&Wolf6 Perry&Wolf的模型的模型軟件體系結(jié)構(gòu)是一組具有特定形式的體系結(jié)構(gòu)元素軟件體系結(jié)構(gòu)是一組具有特定形式的體系結(jié)構(gòu)元素(elementselements)。這組元素分為)。這組元素分為3 3類:負(fù)責(zé)完成數(shù)據(jù)加類:負(fù)責(zé)完成數(shù)據(jù)加工的處理元素(工的處理元素(processing elementsprocessing elements)、被加工的)、被加
13、工的數(shù)據(jù)元素(數(shù)據(jù)元素(data elementsdata elements)和用于把體系結(jié)構(gòu)的不)和用于把體系結(jié)構(gòu)的不同部分組合連接到一起的連接元素(同部分組合連接到一起的連接元素(connecting connecting elementselements)。軟件體系結(jié)構(gòu)形式由專有特性和關(guān)系)。軟件體系結(jié)構(gòu)形式由專有特性和關(guān)系組成。專有特性用于限制軟件體系結(jié)構(gòu)元素的選擇,組成。專有特性用于限制軟件體系結(jié)構(gòu)元素的選擇,關(guān)系用于限制軟件體系結(jié)構(gòu)元素組合的拓?fù)浣Y(jié)構(gòu)。關(guān)系用于限制軟件體系結(jié)構(gòu)元素組合的拓?fù)浣Y(jié)構(gòu)。在多個(gè)體系結(jié)構(gòu)方案中選擇合適的體系結(jié)構(gòu)方案往在多個(gè)體系結(jié)構(gòu)方案中選擇合適的體系結(jié)構(gòu)方案往
14、往基于一組準(zhǔn)則。即往基于一組準(zhǔn)則。即軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)=元素,形式,準(zhǔn)則元素,形式,準(zhǔn)則 。 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.1 2.1 軟件體系結(jié)構(gòu)的定義軟件體系結(jié)構(gòu)的定義定義定義7 Garlan & Perry7 Garlan & Perry的定義的定義19951995年,年,David GarlanDavid Garlan和和Dewne PerryDewne Perry在在IEEEIEEE軟件工軟件工程學(xué)報(bào)上所做的特約評(píng)論中提出:軟件體系結(jié)構(gòu)是程學(xué)報(bào)上所做的特約評(píng)論中提出:軟件體系結(jié)構(gòu)是一個(gè)程序或系統(tǒng)各構(gòu)件的結(jié)構(gòu)、它們的相互關(guān)系,一個(gè)程序或系統(tǒng)各
15、構(gòu)件的結(jié)構(gòu)、它們的相互關(guān)系,以及進(jìn)行設(shè)計(jì)的原則和指導(dǎo)方針,這些原則和方針以及進(jìn)行設(shè)計(jì)的原則和指導(dǎo)方針,這些原則和方針隨時(shí)間變化而變化。隨時(shí)間變化而變化。 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.1 2.1 軟件體系結(jié)構(gòu)的定義軟件體系結(jié)構(gòu)的定義定義定義8 Boehm8 Boehm的模型的模型軟件體系結(jié)構(gòu)包括系統(tǒng)構(gòu)件、連接件、約束的集合,軟件體系結(jié)構(gòu)包括系統(tǒng)構(gòu)件、連接件、約束的集合,反映不同人員需求的集合,以及準(zhǔn)則的集合。其中,反映不同人員需求的集合,以及準(zhǔn)則的集合。其中,這些準(zhǔn)則能夠說明由構(gòu)件、連接件和約束所定義的這些準(zhǔn)則能夠說明由構(gòu)件、連接件和約束所定義的系統(tǒng)在實(shí)現(xiàn)時(shí)是如何滿足系統(tǒng)
16、不同人員需求的。即系統(tǒng)在實(shí)現(xiàn)時(shí)是如何滿足系統(tǒng)不同人員需求的。即軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)=構(gòu)件,連接件,約束,不同人員的構(gòu)件,連接件,約束,不同人員的需求,準(zhǔn)則需求,準(zhǔn)則 。 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.1 2.1 軟件體系結(jié)構(gòu)的定義軟件體系結(jié)構(gòu)的定義根據(jù)國內(nèi)普遍認(rèn)可的看法,可以將體系結(jié)構(gòu)定義為根據(jù)國內(nèi)普遍認(rèn)可的看法,可以將體系結(jié)構(gòu)定義為構(gòu)件、連接件和約束。軟件體系結(jié)構(gòu),指可預(yù)制和構(gòu)件、連接件和約束。軟件體系結(jié)構(gòu),指可預(yù)制和可重構(gòu)的軟件框架結(jié)構(gòu)。構(gòu)件是可預(yù)制和可重用的可重構(gòu)的軟件框架結(jié)構(gòu)。構(gòu)件是可預(yù)制和可重用的軟件部件,是組成體系結(jié)構(gòu)的基本計(jì)算單元或數(shù)據(jù)軟件部件,是組成體
17、系結(jié)構(gòu)的基本計(jì)算單元或數(shù)據(jù)存儲(chǔ)單元;連接件也是可預(yù)制和可重用的構(gòu)件部件,存儲(chǔ)單元;連接件也是可預(yù)制和可重用的構(gòu)件部件,是構(gòu)件之間的連接單元;構(gòu)件和連接件之間的關(guān)系是構(gòu)件之間的連接單元;構(gòu)件和連接件之間的關(guān)系用約束來描述。這樣就可以把軟件體系結(jié)構(gòu)寫成:用約束來描述。這樣就可以把軟件體系結(jié)構(gòu)寫成:體系結(jié)構(gòu)(體系結(jié)構(gòu)(architecturearchitecture)= =構(gòu)件(構(gòu)件(componentscomponents)+ +連接件(連接件(connectorsconnectors)+ +約束(約束(constraintsconstraints) 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概
18、論2.1 2.1 軟件體系結(jié)構(gòu)的定義軟件體系結(jié)構(gòu)的定義除了構(gòu)件、連接件和約束除了構(gòu)件、連接件和約束3 3個(gè)最基本的組成元素,軟個(gè)最基本的組成元素,軟件體系結(jié)構(gòu)還包括端口(件體系結(jié)構(gòu)還包括端口(portport)和角色()和角色(rolerole)兩)兩種元素。構(gòu)件作為一個(gè)封裝的實(shí)體,僅通過其接口種元素。構(gòu)件作為一個(gè)封裝的實(shí)體,僅通過其接口與外部環(huán)境交互,而構(gòu)件的接口由一組端口組成,與外部環(huán)境交互,而構(gòu)件的接口由一組端口組成,每個(gè)端口表示了構(gòu)件和外部環(huán)境的交互點(diǎn)。連接件每個(gè)端口表示了構(gòu)件和外部環(huán)境的交互點(diǎn)。連接件作為建模軟件體系結(jié)構(gòu)的主要實(shí)體,同樣也有接口。作為建模軟件體系結(jié)構(gòu)的主要實(shí)體,同樣也
19、有接口。連接件的接口由一組角色組成,連接的每個(gè)角色定連接件的接口由一組角色組成,連接的每個(gè)角色定義了該連接表示的交互的參與者。圖義了該連接表示的交互的參與者。圖2-12-1形式化地描形式化地描述了軟件體系結(jié)構(gòu)的基本概念。述了軟件體系結(jié)構(gòu)的基本概念。 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.1 2.1 軟件體系結(jié)構(gòu)的定義軟件體系結(jié)構(gòu)的定義軟件體系結(jié)構(gòu)構(gòu)件連接件約束端口角色通用風(fēng)格管道-過濾器層次系統(tǒng)解釋器1* 1* 1 *圖2-1 軟件體系結(jié)構(gòu)的基本概念第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.1 2.1 軟件體系結(jié)構(gòu)的定義軟件體系結(jié)構(gòu)的定義其中:其中:軟件體系結(jié)構(gòu)軟件體系
20、結(jié)構(gòu)= = 軟件體系模型軟件體系模型 | | 軟件體系風(fēng)格軟件體系風(fēng)格軟件體系模型軟件體系模型= = 構(gòu)件,連接件,約束構(gòu)件,連接件,約束 構(gòu)件構(gòu)件= = 端口端口1 1,端口,端口2 2,端口,端口 連接件連接件 角色,角色,角色,角色,角色,角色m m 約束約束= (= (端口端口i i,角色,角色j)j), 體系結(jié)構(gòu)風(fēng)格體系結(jié)構(gòu)風(fēng)格= = 管道管道- -過濾器,層次系統(tǒng),客戶過濾器,層次系統(tǒng),客戶/ /服務(wù)器,服務(wù)器,解釋器,解釋器 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.1 2.1 軟件體系結(jié)構(gòu)的定義軟件體系結(jié)構(gòu)的定義1 1、構(gòu)件、構(gòu)件 在體系結(jié)構(gòu)中,構(gòu)件可以有不同的粒度。
21、一個(gè)構(gòu)件在體系結(jié)構(gòu)中,構(gòu)件可以有不同的粒度。一個(gè)構(gòu)件可以小到只有一個(gè)過程,也可以大到包含一個(gè)應(yīng)用可以小到只有一個(gè)過程,也可以大到包含一個(gè)應(yīng)用程序。它可以包括函數(shù)、例程、對象、二進(jìn)制對象、程序。它可以包括函數(shù)、例程、對象、二進(jìn)制對象、類庫、數(shù)據(jù)包等。類庫、數(shù)據(jù)包等。構(gòu)件內(nèi)部包含了多種屬性,如端口、類型、語義、構(gòu)件內(nèi)部包含了多種屬性,如端口、類型、語義、約束、演化、非功能屬性等。端口是構(gòu)件與外部世約束、演化、非功能屬性等。端口是構(gòu)件與外部世界交互的一組接口。構(gòu)件端口說明了構(gòu)件提供哪些界交互的一組接口。構(gòu)件端口說明了構(gòu)件提供哪些服務(wù)(消息、操作、變量)。服務(wù)(消息、操作、變量)。 第第2 2章章 軟
22、件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.1 2.1 軟件體系結(jié)構(gòu)的定義軟件體系結(jié)構(gòu)的定義2 2、連接件、連接件連接件是用來建立構(gòu)件間的交互的體系結(jié)構(gòu)構(gòu)造模連接件是用來建立構(gòu)件間的交互的體系結(jié)構(gòu)構(gòu)造模塊。構(gòu)件之間的交互包括消息或信號(hào)量的傳遞,功塊。構(gòu)件之間的交互包括消息或信號(hào)量的傳遞,功能或方法調(diào)用,數(shù)據(jù)的傳送和轉(zhuǎn)換,構(gòu)件之間的同能或方法調(diào)用,數(shù)據(jù)的傳送和轉(zhuǎn)換,構(gòu)件之間的同步關(guān)系、依賴關(guān)系等。在最簡單的情況下,構(gòu)件之步關(guān)系、依賴關(guān)系等。在最簡單的情況下,構(gòu)件之間可以直接完成交互,這時(shí)體系結(jié)構(gòu)中的連接件就間可以直接完成交互,這時(shí)體系結(jié)構(gòu)中的連接件就退化為直接連接。在比較復(fù)雜的情況下,構(gòu)件間交退化為直接連
23、接。在比較復(fù)雜的情況下,構(gòu)件間交互的處理和維持都需要連接件來實(shí)現(xiàn)。常見的連接互的處理和維持都需要連接件來實(shí)現(xiàn)。常見的連接件有管道(在管道件有管道(在管道- -過濾器結(jié)構(gòu)中)、通信協(xié)議或通過濾器結(jié)構(gòu)中)、通信協(xié)議或通信機(jī)制(在客戶信機(jī)制(在客戶/ /服務(wù)器結(jié)構(gòu)中)等。服務(wù)器結(jié)構(gòu)中)等。 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.1 2.1 軟件體系結(jié)構(gòu)的定義軟件體系結(jié)構(gòu)的定義連接件的接口由它與所連接構(gòu)件之間的一組交互點(diǎn)連接件的接口由它與所連接構(gòu)件之間的一組交互點(diǎn)構(gòu)成,這些交互點(diǎn)稱作角色。角色代表了所連接構(gòu)構(gòu)成,這些交互點(diǎn)稱作角色。角色代表了所連接構(gòu)件的作用和地位,并體現(xiàn)了連接所具有的方
24、向性。件的作用和地位,并體現(xiàn)了連接所具有的方向性。因此,角色存在主動(dòng)和被動(dòng)、請求和響應(yīng)之分。因此,角色存在主動(dòng)和被動(dòng)、請求和響應(yīng)之分。對于構(gòu)件而言,連接件是構(gòu)件的黏合劑,是構(gòu)件交對于構(gòu)件而言,連接件是構(gòu)件的黏合劑,是構(gòu)件交互的實(shí)現(xiàn)。連接件和構(gòu)件的區(qū)別主要在于它們在體互的實(shí)現(xiàn)。連接件和構(gòu)件的區(qū)別主要在于它們在體系結(jié)構(gòu)中承擔(dān)著不同的作用。連接件也是一組對象,系結(jié)構(gòu)中承擔(dān)著不同的作用。連接件也是一組對象,它把不同的構(gòu)件連接起來,形成體系結(jié)構(gòu)的一部分。它把不同的構(gòu)件連接起來,形成體系結(jié)構(gòu)的一部分。 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.1 2.1 軟件體系結(jié)構(gòu)的定義軟件體系結(jié)構(gòu)的定義3
25、3、約束(配置)、約束(配置)體系結(jié)構(gòu)的約束描述了體系結(jié)構(gòu)配置和拓?fù)涞囊?,體系結(jié)構(gòu)的約束描述了體系結(jié)構(gòu)配置和拓?fù)涞囊?,確定了體系結(jié)構(gòu)的構(gòu)件與連接件的連接關(guān)系。它是確定了體系結(jié)構(gòu)的構(gòu)件與連接件的連接關(guān)系。它是基于規(guī)則和參數(shù)配置的。體系結(jié)構(gòu)約束提供限制以基于規(guī)則和參數(shù)配置的。體系結(jié)構(gòu)約束提供限制以確定構(gòu)件是否正確連接、接口是否匹配、連接件構(gòu)確定構(gòu)件是否正確連接、接口是否匹配、連接件構(gòu)成的通信是否正確,并說明實(shí)現(xiàn)所要求行為的組合成的通信是否正確,并說明實(shí)現(xiàn)所要求行為的組合語義。語義。第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.2 2.2 軟件體系結(jié)構(gòu)的研究意義軟件體系結(jié)構(gòu)的研究意義軟件體
26、系結(jié)構(gòu)是軟件系統(tǒng)的高級(jí)抽象,體現(xiàn)了系統(tǒng)開軟件體系結(jié)構(gòu)是軟件系統(tǒng)的高級(jí)抽象,體現(xiàn)了系統(tǒng)開發(fā)中最早做出的決策。它體現(xiàn)了根本性的系統(tǒng)設(shè)計(jì)思發(fā)中最早做出的決策。它體現(xiàn)了根本性的系統(tǒng)設(shè)計(jì)思路,對系統(tǒng)起著最為深遠(yuǎn)的影響。體系結(jié)構(gòu)在明確了路,對系統(tǒng)起著最為深遠(yuǎn)的影響。體系結(jié)構(gòu)在明確了系統(tǒng)的各個(gè)組成部分的同時(shí),也限定了各部分間的交系統(tǒng)的各個(gè)組成部分的同時(shí),也限定了各部分間的交互方式。這將進(jìn)一步互方式。這將進(jìn)一步影響到開發(fā)資源的配置和開發(fā)團(tuán)影響到開發(fā)資源的配置和開發(fā)團(tuán)隊(duì)的組織等其它方方面面的開發(fā)活動(dòng),并影響著最終隊(duì)的組織等其它方方面面的開發(fā)活動(dòng),并影響著最終的軟件產(chǎn)品質(zhì)量的軟件產(chǎn)品質(zhì)量。在大型軟件系統(tǒng)中,軟件體
27、系結(jié)構(gòu)。在大型軟件系統(tǒng)中,軟件體系結(jié)構(gòu)是決定系統(tǒng)能否順利實(shí)現(xiàn)的關(guān)鍵因素之一,不當(dāng)?shù)捏w是決定系統(tǒng)能否順利實(shí)現(xiàn)的關(guān)鍵因素之一,不當(dāng)?shù)捏w系結(jié)構(gòu)會(huì)給整個(gè)系統(tǒng)帶來災(zāi)難性的后果。系結(jié)構(gòu)會(huì)給整個(gè)系統(tǒng)帶來災(zāi)難性的后果。良好的體系結(jié)構(gòu)對于軟件系統(tǒng)的重要意義在軟件生命良好的體系結(jié)構(gòu)對于軟件系統(tǒng)的重要意義在軟件生命周期中的各個(gè)階段都有體現(xiàn),這主要有如下周期中的各個(gè)階段都有體現(xiàn),這主要有如下4 4個(gè)方面。個(gè)方面。 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.2 2.2 軟件體系結(jié)構(gòu)的研究意義軟件體系結(jié)構(gòu)的研究意義1 1、對系統(tǒng)分析的意義、對系統(tǒng)分析的意義一方面,借助于軟件體系結(jié)構(gòu)進(jìn)行描述,可以使問題一方面,借
28、助于軟件體系結(jié)構(gòu)進(jìn)行描述,可以使問題得以進(jìn)一步抽象,使整個(gè)系統(tǒng)更易于被系統(tǒng)分析設(shè)計(jì)得以進(jìn)一步抽象,使整個(gè)系統(tǒng)更易于被系統(tǒng)分析設(shè)計(jì)人員把握,更清晰地認(rèn)識(shí)系統(tǒng),完善對系統(tǒng)的理解。人員把握,更清晰地認(rèn)識(shí)系統(tǒng),完善對系統(tǒng)的理解。 另一方面,它能夠幫助軟件系統(tǒng)的各有關(guān)權(quán)益方(客另一方面,它能夠幫助軟件系統(tǒng)的各有關(guān)權(quán)益方(客戶、用戶、項(xiàng)目管理人員、設(shè)計(jì)開發(fā)人員以及測試人戶、用戶、項(xiàng)目管理人員、設(shè)計(jì)開發(fā)人員以及測試人員等)形成統(tǒng)一認(rèn)識(shí),互相交流。體系結(jié)構(gòu)代表了系員等)形成統(tǒng)一認(rèn)識(shí),互相交流。體系結(jié)構(gòu)代表了系統(tǒng)的公共的高層次的抽象,是大家都關(guān)心的一個(gè)重要統(tǒng)的公共的高層次的抽象,是大家都關(guān)心的一個(gè)重要因素。它作
29、為項(xiàng)目參與人員共同使用的語言,具有很因素。它作為項(xiàng)目參與人員共同使用的語言,具有很強(qiáng)的描述能力,起到了難以替代的溝通作用。強(qiáng)的描述能力,起到了難以替代的溝通作用。 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.2 2.2 軟件體系結(jié)構(gòu)的研究意義軟件體系結(jié)構(gòu)的研究意義2 2、對軟件開發(fā)的意義、對軟件開發(fā)的意義軟件體系結(jié)構(gòu)代表了系統(tǒng)早期的設(shè)計(jì)決策。與開發(fā)、軟件體系結(jié)構(gòu)代表了系統(tǒng)早期的設(shè)計(jì)決策。與開發(fā)、設(shè)計(jì)、編碼或運(yùn)行服務(wù)及維護(hù)階段相比,早期設(shè)計(jì)設(shè)計(jì)、編碼或運(yùn)行服務(wù)及維護(hù)階段相比,早期設(shè)計(jì)決策的處理難度最大,對系統(tǒng)的生命期的影響也最決策的處理難度最大,對系統(tǒng)的生命期的影響也最大。同時(shí),軟件體系
30、結(jié)構(gòu)也難于改變,會(huì)對整個(gè)系大。同時(shí),軟件體系結(jié)構(gòu)也難于改變,會(huì)對整個(gè)系統(tǒng)開發(fā)活動(dòng)造成深遠(yuǎn)影響。系統(tǒng)的后繼開發(fā)工作要統(tǒng)開發(fā)活動(dòng)造成深遠(yuǎn)影響。系統(tǒng)的后繼開發(fā)工作要遵循體系結(jié)構(gòu)所描述的設(shè)計(jì)決策,也會(huì)反映到開發(fā)遵循體系結(jié)構(gòu)所描述的設(shè)計(jì)決策,也會(huì)反映到開發(fā)工作的分解,以及項(xiàng)目的人員組織。工作的分解,以及項(xiàng)目的人員組織。 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.2 2.2 軟件體系結(jié)構(gòu)的研究意義軟件體系結(jié)構(gòu)的研究意義3 3、對軟件重用的意義、對軟件重用的意義體系結(jié)構(gòu)技術(shù)的研究,使軟件重用從代碼重用發(fā)展體系結(jié)構(gòu)技術(shù)的研究,使軟件重用從代碼重用發(fā)展到設(shè)計(jì)重用和過程重用,實(shí)現(xiàn)多層次的軟件重用。到設(shè)計(jì)
31、重用和過程重用,實(shí)現(xiàn)多層次的軟件重用。面向體系結(jié)構(gòu)的開發(fā)方法常常注意構(gòu)件的組合與裝面向體系結(jié)構(gòu)的開發(fā)方法常常注意構(gòu)件的組合與裝配,而不一定把編程作為主要活動(dòng)。有效地利用標(biāo)配,而不一定把編程作為主要活動(dòng)。有效地利用標(biāo)準(zhǔn)構(gòu)件,或是識(shí)別并重用系統(tǒng)內(nèi)部的構(gòu)件,或是購準(zhǔn)構(gòu)件,或是識(shí)別并重用系統(tǒng)內(nèi)部的構(gòu)件,或是購買第三方構(gòu)件,只要這些構(gòu)件與當(dāng)前體系結(jié)構(gòu)相容,買第三方構(gòu)件,只要這些構(gòu)件與當(dāng)前體系結(jié)構(gòu)相容,都能減少開發(fā)中的重復(fù)勞動(dòng)和系統(tǒng)中的重復(fù)代碼。都能減少開發(fā)中的重復(fù)勞動(dòng)和系統(tǒng)中的重復(fù)代碼。體系結(jié)構(gòu)起了組織產(chǎn)品的構(gòu)件、接口及運(yùn)行的作用。體系結(jié)構(gòu)起了組織產(chǎn)品的構(gòu)件、接口及運(yùn)行的作用。 第第2 2章章 軟件體系
32、結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.2 2.2 軟件體系結(jié)構(gòu)的研究意義軟件體系結(jié)構(gòu)的研究意義體系結(jié)構(gòu)良好的軟件系統(tǒng)中,不僅構(gòu)件庫能夠重用,體系結(jié)構(gòu)良好的軟件系統(tǒng)中,不僅構(gòu)件庫能夠重用,還可以在更高層次上實(shí)現(xiàn)軟件子系統(tǒng)乃至軟件系統(tǒng)還可以在更高層次上實(shí)現(xiàn)軟件子系統(tǒng)乃至軟件系統(tǒng)框架的重用。軟件體系結(jié)構(gòu)級(jí)的重用意味著體系結(jié)框架的重用。軟件體系結(jié)構(gòu)級(jí)的重用意味著體系結(jié)構(gòu)的決策能在具有相似需求的多個(gè)系統(tǒng)中發(fā)生影響,構(gòu)的決策能在具有相似需求的多個(gè)系統(tǒng)中發(fā)生影響,這比代碼級(jí)的重用要有更大的好處。通過對體系結(jié)這比代碼級(jí)的重用要有更大的好處。通過對體系結(jié)構(gòu)的抽象可以使設(shè)計(jì)者能夠?qū)σ恍?shí)踐證明有效的構(gòu)的抽象可以使設(shè)計(jì)者能夠
33、對一些實(shí)踐證明有效的體系結(jié)構(gòu)構(gòu)件進(jìn)行重用,從而提高設(shè)計(jì)效率和可靠體系結(jié)構(gòu)構(gòu)件進(jìn)行重用,從而提高設(shè)計(jì)效率和可靠性。性。 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.2 2.2 軟件體系結(jié)構(gòu)的研究意義軟件體系結(jié)構(gòu)的研究意義4 4、對系統(tǒng)演化的意義、對系統(tǒng)演化的意義對軟件系統(tǒng)的演化過程中,維護(hù)人員需要不斷地進(jìn)對軟件系統(tǒng)的演化過程中,維護(hù)人員需要不斷地進(jìn)行調(diào)整、修改、增加新的功能或構(gòu)件等工作。解決行調(diào)整、修改、增加新的功能或構(gòu)件等工作。解決好系統(tǒng)演化階段的開發(fā)問題具有重要意義。好系統(tǒng)演化階段的開發(fā)問題具有重要意義。軟件體系結(jié)構(gòu)決定著系統(tǒng)構(gòu)件的劃分和交互方式。軟件體系結(jié)構(gòu)決定著系統(tǒng)構(gòu)件的劃分和交
34、互方式。一方面,在設(shè)計(jì)系統(tǒng)的體系結(jié)構(gòu)之初,就應(yīng)當(dāng)充分一方面,在設(shè)計(jì)系統(tǒng)的體系結(jié)構(gòu)之初,就應(yīng)當(dāng)充分考慮到將來可能的系統(tǒng)演化;另一方面,在進(jìn)行系考慮到將來可能的系統(tǒng)演化;另一方面,在進(jìn)行系統(tǒng)演化階段的開發(fā)時(shí),由于體系結(jié)構(gòu)充分地刻畫了統(tǒng)演化階段的開發(fā)時(shí),由于體系結(jié)構(gòu)充分地刻畫了當(dāng)前系統(tǒng),清晰地描述了構(gòu)件及其相互關(guān)系和整個(gè)當(dāng)前系統(tǒng),清晰地描述了構(gòu)件及其相互關(guān)系和整個(gè)系統(tǒng)的框架,所以應(yīng)當(dāng)充分利用。系統(tǒng)的框架,所以應(yīng)當(dāng)充分利用。 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.2 2.2 軟件體系結(jié)構(gòu)的研究意義軟件體系結(jié)構(gòu)的研究意義以現(xiàn)有體系結(jié)構(gòu)為基礎(chǔ),把握需要進(jìn)行的系統(tǒng)變動(dòng),以現(xiàn)有體系結(jié)構(gòu)為基礎(chǔ),把
35、握需要進(jìn)行的系統(tǒng)變動(dòng),在系統(tǒng)范圍內(nèi)綜合考慮,有助于確定系統(tǒng)維護(hù)的最在系統(tǒng)范圍內(nèi)綜合考慮,有助于確定系統(tǒng)維護(hù)的最優(yōu)方案,更好地控制軟件質(zhì)量和維護(hù)成本。優(yōu)方案,更好地控制軟件質(zhì)量和維護(hù)成本。 軟件體系結(jié)構(gòu)可以把可能發(fā)生的變動(dòng)分為軟件體系結(jié)構(gòu)可以把可能發(fā)生的變動(dòng)分為3 3類:局部類:局部的、非局部的和體系結(jié)構(gòu)級(jí)的。局部的是指只要修的、非局部的和體系結(jié)構(gòu)級(jí)的。局部的是指只要修改單個(gè)構(gòu)件本身。非局部的是指要修改幾個(gè)構(gòu)件,改單個(gè)構(gòu)件本身。非局部的是指要修改幾個(gè)構(gòu)件,但不影響基礎(chǔ)體系結(jié)構(gòu)的變動(dòng)。而體系結(jié)構(gòu)級(jí)是指但不影響基礎(chǔ)體系結(jié)構(gòu)的變動(dòng)。而體系結(jié)構(gòu)級(jí)是指會(huì)影響各部分的相互關(guān)系,甚至要改動(dòng)整個(gè)系統(tǒng)。會(huì)影響各部
36、分的相互關(guān)系,甚至要改動(dòng)整個(gè)系統(tǒng)。 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.3 2.3 軟件體系結(jié)構(gòu)的發(fā)展歷程軟件體系結(jié)構(gòu)的發(fā)展歷程軟件工程作為一門獨(dú)立的學(xué)科,其發(fā)展已逾軟件工程作為一門獨(dú)立的學(xué)科,其發(fā)展已逾4040年。年。無論從應(yīng)用規(guī)??催€是從技術(shù)水平看,計(jì)算機(jī)軟件無論從應(yīng)用規(guī)模看還是從技術(shù)水平看,計(jì)算機(jī)軟件產(chǎn)業(yè)所經(jīng)歷的發(fā)展都是迅猛的。這體現(xiàn)在諸多方面。產(chǎn)業(yè)所經(jīng)歷的發(fā)展都是迅猛的。這體現(xiàn)在諸多方面。首先,軟件系統(tǒng)的應(yīng)用領(lǐng)域從實(shí)驗(yàn)室滲透到了人類首先,軟件系統(tǒng)的應(yīng)用領(lǐng)域從實(shí)驗(yàn)室滲透到了人類社會(huì)的各個(gè)角落。其次,軟件系統(tǒng)的規(guī)模也迅速增社會(huì)的各個(gè)角落。其次,軟件系統(tǒng)的規(guī)模也迅速增長。長。
37、 在軟件應(yīng)用規(guī)模和應(yīng)用領(lǐng)域迅速擴(kuò)大的同時(shí),軟件在軟件應(yīng)用規(guī)模和應(yīng)用領(lǐng)域迅速擴(kuò)大的同時(shí),軟件開發(fā)技術(shù)也在發(fā)生著根本性的變革。軟件體系結(jié)構(gòu)開發(fā)技術(shù)也在發(fā)生著根本性的變革。軟件體系結(jié)構(gòu)也經(jīng)歷了與之相對應(yīng)的一系列變革,由最初的模糊也經(jīng)歷了與之相對應(yīng)的一系列變革,由最初的模糊概念發(fā)展成為一門日益成熟的技術(shù)。概念發(fā)展成為一門日益成熟的技術(shù)。 軟件體系結(jié)構(gòu)的軟件體系結(jié)構(gòu)的發(fā)展史發(fā)展史 第第1 1章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論“無體系結(jié)構(gòu)無體系結(jié)構(gòu)”設(shè)計(jì)階段設(shè)計(jì)階段萌芽階段萌芽階段以匯編語言進(jìn)行小規(guī)模應(yīng)用程序開以匯編語言進(jìn)行小規(guī)模應(yīng)用程序開發(fā)為特征發(fā)為特征以描述系統(tǒng)的高層抽象結(jié)構(gòu)為中心,以描述系統(tǒng)的高
38、層抽象結(jié)構(gòu)為中心,不關(guān)心具體的建模細(xì)節(jié),劃分了體系不關(guān)心具體的建模細(xì)節(jié),劃分了體系結(jié)構(gòu)模型與傳統(tǒng)軟件結(jié)構(gòu)的界限,該結(jié)構(gòu)模型與傳統(tǒng)軟件結(jié)構(gòu)的界限,該階段以階段以KruchtenKruchten提出的提出的“4+1”4+1”模型為模型為標(biāo)志標(biāo)志出現(xiàn)了從不同側(cè)面描述系統(tǒng)的結(jié)構(gòu)模出現(xiàn)了從不同側(cè)面描述系統(tǒng)的結(jié)構(gòu)模型,以型,以UMLUML為典型代表。為典型代表。出現(xiàn)了程序結(jié)構(gòu)設(shè)計(jì)主題,以控制流出現(xiàn)了程序結(jié)構(gòu)設(shè)計(jì)主題,以控制流圖和數(shù)據(jù)流圖構(gòu)成軟件結(jié)構(gòu)為特征圖和數(shù)據(jù)流圖構(gòu)成軟件結(jié)構(gòu)為特征高級(jí)階段高級(jí)階段初期階段初期階段2.3 2.3 軟件體系結(jié)構(gòu)的發(fā)展歷程軟件體系結(jié)構(gòu)的發(fā)展歷程第第2 2章章 軟件體系結(jié)構(gòu)概論
39、軟件體系結(jié)構(gòu)概論2.4 2.4 研究現(xiàn)狀和發(fā)展方向研究現(xiàn)狀和發(fā)展方向軟件體系結(jié)構(gòu)研究現(xiàn)狀軟件體系結(jié)構(gòu)研究現(xiàn)狀軟件體系結(jié)構(gòu)作為軟件工程研究領(lǐng)域的一部分,已軟件體系結(jié)構(gòu)作為軟件工程研究領(lǐng)域的一部分,已經(jīng)取得了長足的發(fā)展,受到大多數(shù)軟件系統(tǒng)設(shè)計(jì)和經(jīng)取得了長足的發(fā)展,受到大多數(shù)軟件系統(tǒng)設(shè)計(jì)和研究人員的重視。但當(dāng)前,體系結(jié)構(gòu)仍是一個(gè)處在研究人員的重視。但當(dāng)前,體系結(jié)構(gòu)仍是一個(gè)處在不斷發(fā)展中的新研究領(lǐng)域,許多定義還不夠統(tǒng)一,不斷發(fā)展中的新研究領(lǐng)域,許多定義還不夠統(tǒng)一,歸納現(xiàn)有體系結(jié)構(gòu)的研究活動(dòng),主要的討論和研究歸納現(xiàn)有體系結(jié)構(gòu)的研究活動(dòng),主要的討論和研究大致集中在以下幾個(gè)方面。大致集中在以下幾個(gè)方面。 第
40、第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.4 2.4 研究現(xiàn)狀和發(fā)展方向研究現(xiàn)狀和發(fā)展方向1 1、軟件體系結(jié)構(gòu)描述研究、軟件體系結(jié)構(gòu)描述研究構(gòu)建軟件體系結(jié)構(gòu)的目的之一就是建立一個(gè)可供各構(gòu)建軟件體系結(jié)構(gòu)的目的之一就是建立一個(gè)可供各種人員交流的平臺(tái),并且要具備系統(tǒng)架構(gòu)級(jí)的可重種人員交流的平臺(tái),并且要具備系統(tǒng)架構(gòu)級(jí)的可重用性。因此用性。因此如何恰當(dāng)、準(zhǔn)確地對軟件體系結(jié)構(gòu)進(jìn)行如何恰當(dāng)、準(zhǔn)確地對軟件體系結(jié)構(gòu)進(jìn)行描述是至關(guān)重要的描述是至關(guān)重要的。這種描述應(yīng)當(dāng)能夠?yàn)楦鞣N人員。這種描述應(yīng)當(dāng)能夠?yàn)楦鞣N人員提供不同的視圖以滿足其不同的要求;同時(shí),當(dāng)要提供不同的視圖以滿足其不同的要求;同時(shí),當(dāng)要構(gòu)建新的應(yīng)用
41、或?qū)?yīng)用進(jìn)行系統(tǒng)級(jí)更改時(shí),這種描構(gòu)建新的應(yīng)用或?qū)?yīng)用進(jìn)行系統(tǒng)級(jí)更改時(shí),這種描述應(yīng)該能夠快速提供可重用的系統(tǒng)架構(gòu)視圖或系統(tǒng)述應(yīng)該能夠快速提供可重用的系統(tǒng)架構(gòu)視圖或系統(tǒng)模塊視圖。這方面的研究包括軟件體系結(jié)構(gòu)描述語模塊視圖。這方面的研究包括軟件體系結(jié)構(gòu)描述語言、使用言、使用“4+1” 4+1” 模型描述軟件體系結(jié)構(gòu)、使用模型描述軟件體系結(jié)構(gòu)、使用UMLUML描述軟件體系結(jié)構(gòu)等方面的研究。描述軟件體系結(jié)構(gòu)等方面的研究。 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.4 2.4 研究現(xiàn)狀和發(fā)展方向研究現(xiàn)狀和發(fā)展方向(1 1)軟件體系結(jié)構(gòu)描述語言)軟件體系結(jié)構(gòu)描述語言現(xiàn)有的一些軟件體系結(jié)構(gòu)描述方法采
42、用非形式化的現(xiàn)有的一些軟件體系結(jié)構(gòu)描述方法采用非形式化的方法,難以對體系結(jié)構(gòu)進(jìn)行形式化分析和模擬,缺方法,難以對體系結(jié)構(gòu)進(jìn)行形式化分析和模擬,缺乏相應(yīng)的支持工具幫助設(shè)計(jì)師完成設(shè)計(jì)工作。為了乏相應(yīng)的支持工具幫助設(shè)計(jì)師完成設(shè)計(jì)工作。為了解決這個(gè)問題,用于描述和推理的形式化語言得以解決這個(gè)問題,用于描述和推理的形式化語言得以發(fā)展,這些語言就叫做體系結(jié)構(gòu)描述語言(發(fā)展,這些語言就叫做體系結(jié)構(gòu)描述語言(ADLADL)。)。ADLADL尋求增加軟件體系結(jié)構(gòu)設(shè)計(jì)的可理解性和重用性。尋求增加軟件體系結(jié)構(gòu)設(shè)計(jì)的可理解性和重用性。系統(tǒng)設(shè)計(jì)師可以利用系統(tǒng)設(shè)計(jì)師可以利用ADLADL所提供的特性進(jìn)行軟件系統(tǒng)所提供的特性
43、進(jìn)行軟件系統(tǒng)概念體系結(jié)構(gòu)建模。概念體系結(jié)構(gòu)建模。ADLADL提供了具體的語法與刻畫體提供了具體的語法與刻畫體系結(jié)構(gòu)的概念框架系結(jié)構(gòu)的概念框架。它使得系統(tǒng)開發(fā)者能夠很好地。它使得系統(tǒng)開發(fā)者能夠很好地描述他們設(shè)計(jì)的體系結(jié)構(gòu),以便與他人交流,能夠描述他們設(shè)計(jì)的體系結(jié)構(gòu),以便與他人交流,能夠用提供的工具對許多實(shí)例進(jìn)行分析。用提供的工具對許多實(shí)例進(jìn)行分析。 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.4 2.4 研究現(xiàn)狀和發(fā)展方向研究現(xiàn)狀和發(fā)展方向研究人員已經(jīng)設(shè)計(jì)出了若干種研究人員已經(jīng)設(shè)計(jì)出了若干種ADLADL,典型的有,典型的有AesopAesop、MetaHMetaH、C2C2、Rapide
44、Rapide、SADLSADL、UniConUniCon和和WrightWright等,等,盡管它們都描述軟件體系結(jié)構(gòu),卻有不同的特點(diǎn):盡管它們都描述軟件體系結(jié)構(gòu),卻有不同的特點(diǎn):AesopAesop支持體系結(jié)構(gòu)風(fēng)格的應(yīng)用;支持體系結(jié)構(gòu)風(fēng)格的應(yīng)用;MetaHMetaH為設(shè)計(jì)者提為設(shè)計(jì)者提供了關(guān)于實(shí)時(shí)電子控制軟件系統(tǒng)的設(shè)計(jì)指導(dǎo);供了關(guān)于實(shí)時(shí)電子控制軟件系統(tǒng)的設(shè)計(jì)指導(dǎo);C2C2支支持基于消息傳遞風(fēng)格的用戶界面系統(tǒng)的描述;持基于消息傳遞風(fēng)格的用戶界面系統(tǒng)的描述;RapideRapide支持體系結(jié)構(gòu)設(shè)計(jì)的模擬并提供了分析模擬支持體系結(jié)構(gòu)設(shè)計(jì)的模擬并提供了分析模擬結(jié)果的工具;結(jié)果的工具;SADLSADL
45、提供了關(guān)于體系結(jié)構(gòu)加細(xì)的形式提供了關(guān)于體系結(jié)構(gòu)加細(xì)的形式化基礎(chǔ);化基礎(chǔ);UniConUniCon支持異構(gòu)的構(gòu)件和連接件類型并提支持異構(gòu)的構(gòu)件和連接件類型并提供了關(guān)于體系結(jié)構(gòu)的高層編譯器;供了關(guān)于體系結(jié)構(gòu)的高層編譯器;WrightWright支持體系支持體系結(jié)構(gòu)構(gòu)件之間交互的說明和分析。結(jié)構(gòu)構(gòu)件之間交互的說明和分析。 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.4 2.4 研究現(xiàn)狀和發(fā)展方向研究現(xiàn)狀和發(fā)展方向這些這些ADLADL及它們的支持工具、描述方法和形式各不相及它們的支持工具、描述方法和形式各不相同,強(qiáng)調(diào)了體系結(jié)構(gòu)不同的側(cè)面,對體系結(jié)構(gòu)的研同,強(qiáng)調(diào)了體系結(jié)構(gòu)不同的側(cè)面,對體系結(jié)構(gòu)的
46、研究和應(yīng)用起到了重要的作用,但也有負(fù)面的影響。究和應(yīng)用起到了重要的作用,但也有負(fù)面的影響。每一種每一種ADLADL都以獨(dú)立的形式存在,描述語法不同且互都以獨(dú)立的形式存在,描述語法不同且互不兼容。同時(shí)又有許多共同的特征,這使設(shè)計(jì)人員不兼容。同時(shí)又有許多共同的特征,這使設(shè)計(jì)人員很難選擇一種合適的很難選擇一種合適的ADLADL;大部分;大部分ADLADL都是領(lǐng)域相關(guān)都是領(lǐng)域相關(guān)的,不利于對不同領(lǐng)域的體系結(jié)構(gòu)進(jìn)行分析;一些的,不利于對不同領(lǐng)域的體系結(jié)構(gòu)進(jìn)行分析;一些ADLADL在某些方面大同小異,有很多冗余的部分。在某些方面大同小異,有很多冗余的部分。 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論
47、2.4 2.4 研究現(xiàn)狀和發(fā)展方向研究現(xiàn)狀和發(fā)展方向針對這些不足,已出現(xiàn)一些交換語言,其目標(biāo)是提針對這些不足,已出現(xiàn)一些交換語言,其目標(biāo)是提供一個(gè)公共形式把各種語言綜合起來,以此來綜合供一個(gè)公共形式把各種語言綜合起來,以此來綜合不同的體系結(jié)構(gòu)描述。不同的體系結(jié)構(gòu)描述。ACMEACME就是其中較有影響的一就是其中較有影響的一個(gè)。另外一個(gè)研究熱點(diǎn)是開發(fā)基于個(gè)。另外一個(gè)研究熱點(diǎn)是開發(fā)基于XMLXML的體系結(jié)構(gòu)描的體系結(jié)構(gòu)描述語言。述語言。XMLXML是可擴(kuò)展標(biāo)記語言,它簡單并易于實(shí)現(xiàn),是可擴(kuò)展標(biāo)記語言,它簡單并易于實(shí)現(xiàn),因此被工業(yè)界廣泛使用。若能用因此被工業(yè)界廣泛使用。若能用XMLXML來表示軟件體
48、系來表示軟件體系結(jié)構(gòu),必能極大推動(dòng)軟件體系結(jié)構(gòu)領(lǐng)域的研究成果結(jié)構(gòu),必能極大推動(dòng)軟件體系結(jié)構(gòu)領(lǐng)域的研究成果在軟件產(chǎn)業(yè)界的應(yīng)用。由于在軟件產(chǎn)業(yè)界的應(yīng)用。由于XMLXML在體系結(jié)構(gòu)描述上的在體系結(jié)構(gòu)描述上的許多優(yōu)點(diǎn),研究者們已經(jīng)開發(fā)出了不同的基于許多優(yōu)點(diǎn),研究者們已經(jīng)開發(fā)出了不同的基于XMLXML的的體系結(jié)構(gòu)描述語言,如體系結(jié)構(gòu)描述語言,如XADL2.0XADL2.0、XBAXBA、XCOBAXCOBA等。等。第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.4 2.4 研究現(xiàn)狀和發(fā)展方向研究現(xiàn)狀和發(fā)展方向(2 2)使用)使用“4+1” 4+1” 模型描述軟件體系結(jié)構(gòu)模型描述軟件體系結(jié)構(gòu)Kruch
49、tenKruchten提出的提出的“4+1”4+1”模型是當(dāng)前軟件體系結(jié)構(gòu)模型是當(dāng)前軟件體系結(jié)構(gòu)描述的一個(gè)經(jīng)典范例,該模型由邏輯視圖、開發(fā)視描述的一個(gè)經(jīng)典范例,該模型由邏輯視圖、開發(fā)視圖、過程視圖和物理視圖組成,并通過場景將這圖、過程視圖和物理視圖組成,并通過場景將這4 4個(gè)個(gè)視圖有機(jī)地結(jié)合起來,比較細(xì)致地描述了需求和體視圖有機(jī)地結(jié)合起來,比較細(xì)致地描述了需求和體系結(jié)構(gòu)之間的關(guān)系。系結(jié)構(gòu)之間的關(guān)系?!?+1”4+1”模型實(shí)際上使得有不同需求的人員能夠得到模型實(shí)際上使得有不同需求的人員能夠得到他們對于軟件體系結(jié)構(gòu)想要了解的東西。系統(tǒng)工程他們對于軟件體系結(jié)構(gòu)想要了解的東西。系統(tǒng)工程師先從物理視圖,
50、然后從過程視圖靠近體系結(jié)構(gòu)。師先從物理視圖,然后從過程視圖靠近體系結(jié)構(gòu)。最終使用者、客戶、數(shù)據(jù)專家從邏輯視圖看體系結(jié)最終使用者、客戶、數(shù)據(jù)專家從邏輯視圖看體系結(jié)構(gòu);項(xiàng)目經(jīng)理、軟件配置人員從開發(fā)視圖看體系結(jié)構(gòu);項(xiàng)目經(jīng)理、軟件配置人員從開發(fā)視圖看體系結(jié)構(gòu)。構(gòu)。 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.4 2.4 研究現(xiàn)狀和發(fā)展方向研究現(xiàn)狀和發(fā)展方向(3 3)使用)使用UMLUML描述軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)MedividovicMedividovic總結(jié)了用總結(jié)了用UMLUML描述體系結(jié)構(gòu)的三種途徑:描述體系結(jié)構(gòu)的三種途徑:不改變不改變UMLUML用法而直接對體系結(jié)構(gòu)建模;利用用法
51、而直接對體系結(jié)構(gòu)建模;利用UMLUML支支持的擴(kuò)充機(jī)制擴(kuò)展持的擴(kuò)充機(jī)制擴(kuò)展UMLUML的元模型對體系結(jié)構(gòu)建模概念的元模型對體系結(jié)構(gòu)建模概念的支持;對的支持;對UMLUML進(jìn)行擴(kuò)充,增加體系結(jié)構(gòu)建模元素。進(jìn)行擴(kuò)充,增加體系結(jié)構(gòu)建模元素。本書第本書第4 4章介紹了不改變章介紹了不改變UMLUML用法而直接對體系結(jié)構(gòu)用法而直接對體系結(jié)構(gòu)建模的方法。建模的方法。UMLUML的靜態(tài)建模機(jī)制包括用例圖、類圖、的靜態(tài)建模機(jī)制包括用例圖、類圖、對象圖、包、構(gòu)件圖和部署圖。對象圖、包、構(gòu)件圖和部署圖。UMLUML的動(dòng)態(tài)建模機(jī)制的動(dòng)態(tài)建模機(jī)制包括順序圖、協(xié)作圖、狀態(tài)圖、活動(dòng)圖。分別可以包括順序圖、協(xié)作圖、狀態(tài)圖、
52、活動(dòng)圖。分別可以使用使用UMLUML對構(gòu)件交互模式進(jìn)行靜態(tài)建模和動(dòng)態(tài)建模。對構(gòu)件交互模式進(jìn)行靜態(tài)建模和動(dòng)態(tài)建模。 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.4 2.4 研究現(xiàn)狀和發(fā)展方向研究現(xiàn)狀和發(fā)展方向2 2、軟件體系結(jié)構(gòu)設(shè)計(jì)研究、軟件體系結(jié)構(gòu)設(shè)計(jì)研究這方面的研究包括體系結(jié)構(gòu)風(fēng)格研究、體系結(jié)構(gòu)設(shè)這方面的研究包括體系結(jié)構(gòu)風(fēng)格研究、體系結(jié)構(gòu)設(shè)計(jì)原理、設(shè)計(jì)模式和設(shè)計(jì)方法研究。計(jì)原理、設(shè)計(jì)模式和設(shè)計(jì)方法研究。(1 1)體系結(jié)構(gòu)風(fēng)格研究)體系結(jié)構(gòu)風(fēng)格研究體系結(jié)構(gòu)設(shè)計(jì)研究的重點(diǎn)內(nèi)容之一就是體系結(jié)構(gòu)風(fēng)體系結(jié)構(gòu)設(shè)計(jì)研究的重點(diǎn)內(nèi)容之一就是體系結(jié)構(gòu)風(fēng)格的研究。人們在開發(fā)不同系統(tǒng)時(shí),會(huì)逐漸發(fā)現(xiàn)一格的研究
53、。人們在開發(fā)不同系統(tǒng)時(shí),會(huì)逐漸發(fā)現(xiàn)一類系統(tǒng)的體系結(jié)構(gòu)上有許多共性,于是抽取出這些類系統(tǒng)的體系結(jié)構(gòu)上有許多共性,于是抽取出這些共性構(gòu)成一些富有代表性和被廣泛接受的體系結(jié)構(gòu)共性構(gòu)成一些富有代表性和被廣泛接受的體系結(jié)構(gòu)風(fēng)格。所以說體系結(jié)構(gòu)風(fēng)格是用來刻畫具有相似結(jié)風(fēng)格。所以說體系結(jié)構(gòu)風(fēng)格是用來刻畫具有相似結(jié)構(gòu)和語義性質(zhì)的一類系統(tǒng)族的。它定義一組構(gòu)件、構(gòu)和語義性質(zhì)的一類系統(tǒng)族的。它定義一組構(gòu)件、連接件的類型以及它們之間應(yīng)該如何連接的約束。連接件的類型以及它們之間應(yīng)該如何連接的約束。 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.4 2.4 研究現(xiàn)狀和發(fā)展方向研究現(xiàn)狀和發(fā)展方向一個(gè)系統(tǒng)不一定只具有一
54、種風(fēng)格,在不同層次或抽一個(gè)系統(tǒng)不一定只具有一種風(fēng)格,在不同層次或抽象級(jí)別上,可具有多種風(fēng)格。雖然系統(tǒng)組織方式可象級(jí)別上,可具有多種風(fēng)格。雖然系統(tǒng)組織方式可以是無窮的,但如果能用少量的風(fēng)格類型表達(dá)出較以是無窮的,但如果能用少量的風(fēng)格類型表達(dá)出較多的系統(tǒng)組織方式,不僅可以縮短系統(tǒng)分析設(shè)計(jì)的多的系統(tǒng)組織方式,不僅可以縮短系統(tǒng)分析設(shè)計(jì)的時(shí)間,還能大大提高大規(guī)模軟件重用的機(jī)會(huì)。時(shí)間,還能大大提高大規(guī)模軟件重用的機(jī)會(huì)。GarlanGarlan和和ShawShaw給出了對通用體系結(jié)構(gòu)風(fēng)格的分類:給出了對通用體系結(jié)構(gòu)風(fēng)格的分類:(1 1)數(shù)據(jù)流風(fēng)格;()數(shù)據(jù)流風(fēng)格;(2 2)調(diào)用)調(diào)用/ /返回風(fēng)格;(返回風(fēng)
55、格;(3 3)獨(dú))獨(dú)立構(gòu)件風(fēng)格;(立構(gòu)件風(fēng)格;(4 4)虛擬機(jī)風(fēng)格;()虛擬機(jī)風(fēng)格;(5 5)倉庫風(fēng)格。)倉庫風(fēng)格。第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.4 2.4 研究現(xiàn)狀和發(fā)展方向研究現(xiàn)狀和發(fā)展方向(3 3)體系結(jié)構(gòu)設(shè)計(jì)模式)體系結(jié)構(gòu)設(shè)計(jì)模式設(shè)計(jì)模式的概念最早是由美國的一位叫做設(shè)計(jì)模式的概念最早是由美國的一位叫做Christopher AlexanderChristopher Alexander的建筑理論家提出來的,的建筑理論家提出來的,他試圖找到一種結(jié)構(gòu)化、可重用的方法,以在圖紙他試圖找到一種結(jié)構(gòu)化、可重用的方法,以在圖紙上捕捉到建筑物的基本要素。后來被作為總結(jié)軟件上捕捉到
56、建筑物的基本要素。后來被作為總結(jié)軟件設(shè)計(jì),特別是面向?qū)ο笤O(shè)計(jì)的實(shí)踐和經(jīng)驗(yàn)而提出。設(shè)計(jì),特別是面向?qū)ο笤O(shè)計(jì)的實(shí)踐和經(jīng)驗(yàn)而提出。在幾十年的軟件設(shè)計(jì)研究和實(shí)踐中,設(shè)計(jì)人員和程在幾十年的軟件設(shè)計(jì)研究和實(shí)踐中,設(shè)計(jì)人員和程序員積累了大量的實(shí)際經(jīng)驗(yàn),發(fā)現(xiàn)并提出了大量在序員積累了大量的實(shí)際經(jīng)驗(yàn),發(fā)現(xiàn)并提出了大量在眾多應(yīng)用中普遍存在的軟件結(jié)構(gòu)和結(jié)構(gòu)關(guān)系,模式眾多應(yīng)用中普遍存在的軟件結(jié)構(gòu)和結(jié)構(gòu)關(guān)系,模式被用于軟件體系結(jié)構(gòu)設(shè)計(jì)中。利用設(shè)計(jì)模式可以方被用于軟件體系結(jié)構(gòu)設(shè)計(jì)中。利用設(shè)計(jì)模式可以方便地重用成功的設(shè)計(jì)和結(jié)構(gòu)。設(shè)計(jì)模式幫助設(shè)計(jì)師便地重用成功的設(shè)計(jì)和結(jié)構(gòu)。設(shè)計(jì)模式幫助設(shè)計(jì)師選擇可使系統(tǒng)重用的設(shè)計(jì)方案,避免選擇
57、危害到可選擇可使系統(tǒng)重用的設(shè)計(jì)方案,避免選擇危害到可重用性的方案。重用性的方案。 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.4 2.4 研究現(xiàn)狀和發(fā)展方向研究現(xiàn)狀和發(fā)展方向(4 4)體系結(jié)構(gòu)設(shè)計(jì)方法)體系結(jié)構(gòu)設(shè)計(jì)方法生成一個(gè)滿足軟件需求的體系結(jié)構(gòu)的過程即為體系生成一個(gè)滿足軟件需求的體系結(jié)構(gòu)的過程即為體系結(jié)構(gòu)設(shè)計(jì)。體系結(jié)構(gòu)設(shè)計(jì)過程的本質(zhì)在于:將系統(tǒng)結(jié)構(gòu)設(shè)計(jì)。體系結(jié)構(gòu)設(shè)計(jì)過程的本質(zhì)在于:將系統(tǒng)分解成相應(yīng)的組成成分(如構(gòu)件、連接件),并將分解成相應(yīng)的組成成分(如構(gòu)件、連接件),并將這些成分重新組裝成一個(gè)系統(tǒng)。常用的體系結(jié)構(gòu)設(shè)這些成分重新組裝成一個(gè)系統(tǒng)。常用的體系結(jié)構(gòu)設(shè)計(jì)方法有計(jì)方法有4 4
58、類,分別為制品驅(qū)動(dòng)(類,分別為制品驅(qū)動(dòng)(artifact-drivenartifact-driven)的方法,用例驅(qū)動(dòng)(的方法,用例驅(qū)動(dòng)(use-case-drivenuse-case-driven)的方法,)的方法,模式驅(qū)動(dòng)(模式驅(qū)動(dòng)(pattern-drivenpattern-driven)的方法和領(lǐng)域驅(qū)動(dòng))的方法和領(lǐng)域驅(qū)動(dòng)(domain-drivendomain-driven)的方法。每種方法在過程的順)的方法。每種方法在過程的順序上、在概念的特定內(nèi)容上有所不同,但最后都生序上、在概念的特定內(nèi)容上有所不同,但最后都生成對體系結(jié)構(gòu)的描述。成對體系結(jié)構(gòu)的描述。 第第2 2章章 軟件體系結(jié)構(gòu)概
59、論軟件體系結(jié)構(gòu)概論2.4 2.4 研究現(xiàn)狀和發(fā)展方向研究現(xiàn)狀和發(fā)展方向3 3、基于體系結(jié)構(gòu)的軟件開發(fā)方法、基于體系結(jié)構(gòu)的軟件開發(fā)方法在引入了體系結(jié)構(gòu)的軟件開發(fā)中,應(yīng)用系統(tǒng)的構(gòu)造在引入了體系結(jié)構(gòu)的軟件開發(fā)中,應(yīng)用系統(tǒng)的構(gòu)造過程變?yōu)檫^程變?yōu)椤皢栴}定義問題定義軟件需求軟件需求軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)軟件設(shè)計(jì)軟件設(shè)計(jì)軟件實(shí)現(xiàn)軟件實(shí)現(xiàn)”,可以認(rèn)為軟件體系結(jié)構(gòu)架,可以認(rèn)為軟件體系結(jié)構(gòu)架起了軟件需求與軟件設(shè)計(jì)之間的一座橋梁。而在由起了軟件需求與軟件設(shè)計(jì)之間的一座橋梁。而在由軟件體系結(jié)構(gòu)到實(shí)現(xiàn)的過程中,借助一定的中間件軟件體系結(jié)構(gòu)到實(shí)現(xiàn)的過程中,借助一定的中間件技術(shù)與軟件總線技術(shù),軟件體系結(jié)構(gòu)易于映射成相技術(shù)
60、與軟件總線技術(shù),軟件體系結(jié)構(gòu)易于映射成相應(yīng)的實(shí)現(xiàn)。應(yīng)的實(shí)現(xiàn)。BassBass等人提出了一種基于體系結(jié)構(gòu)的軟等人提出了一種基于體系結(jié)構(gòu)的軟件開發(fā)過程,該過程包括件開發(fā)過程,該過程包括6 6個(gè)步驟:導(dǎo)出體系結(jié)構(gòu)需個(gè)步驟:導(dǎo)出體系結(jié)構(gòu)需求;設(shè)計(jì)體系結(jié)構(gòu);文檔化體系結(jié)構(gòu);分析體系結(jié)求;設(shè)計(jì)體系結(jié)構(gòu);文檔化體系結(jié)構(gòu);分析體系結(jié)構(gòu);實(shí)現(xiàn)體系結(jié)構(gòu);維護(hù)體系結(jié)構(gòu)。在本書第構(gòu);實(shí)現(xiàn)體系結(jié)構(gòu);維護(hù)體系結(jié)構(gòu)。在本書第6 6章中章中會(huì)進(jìn)行介紹。會(huì)進(jìn)行介紹。 第第2 2章章 軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)概論2.4 2.4 研究現(xiàn)狀和發(fā)展方向研究現(xiàn)狀和發(fā)展方向4 4、軟件體系結(jié)構(gòu)評(píng)估、軟件體系結(jié)構(gòu)評(píng)估軟件體系結(jié)構(gòu)的設(shè)計(jì)是整個(gè)軟件開發(fā)過程中關(guān)鍵的軟件體系結(jié)構(gòu)的設(shè)計(jì)是整個(gè)軟件開發(fā)過程中關(guān)鍵的一步
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO 16840-13:2021/Amd 1:2025 EN Wheelchair seating - Part 13: Determination of the lateral stability property of a seat cushion - Amendment 1
- 儲(chǔ)氣瓶施工方案
- 橋加寬施工方案
- 河道防水混凝土施工方案
- 新房硬裝施工方案
- TSHJNXH 0015-2024 綠色低碳?jí)嚎s空氣站評(píng)價(jià)導(dǎo)則
- 2025年度模具開模與模具租賃服務(wù)合同模板
- 二零二五年度文化演出居間代理協(xié)議
- 二零二五年度奶制品企業(yè)社會(huì)責(zé)任履行協(xié)議
- 二零二五年度足浴養(yǎng)生品牌授權(quán)及經(jīng)營管理權(quán)轉(zhuǎn)讓合同
- 第四單元《紙的前世今生》第一課時(shí)(說課稿)-2023-2024學(xué)年五年級(jí)下冊綜合實(shí)踐活動(dòng)粵教版
- 四川省綿陽市2025屆高三第二次診斷性考試英語試題(含答案無聽力原文及音頻)
- 醫(yī)學(xué)實(shí)驗(yàn)室風(fēng)險(xiǎn)評(píng)估報(bào)告-臨床實(shí)驗(yàn)室風(fēng)險(xiǎn)評(píng)估-可復(fù)制
- 2022年教資筆試科目三高中數(shù)學(xué)講義
- 八大員-勞務(wù)員模考試題與答案
- 2024危重癥患兒管飼喂養(yǎng)護(hù)理-中華護(hù)理學(xué)會(huì)團(tuán)體標(biāo)準(zhǔn)課件
- 《《中央企業(yè)合規(guī)管理辦法》解讀》課件
- 脫硫自動(dòng)化控制-洞察分析
- 醫(yī)務(wù)人員醫(yī)德醫(yī)風(fēng)培訓(xùn)
- 人教版初中歷史八上-第2課 第二次鴉片戰(zhàn)爭
- 2025年中考語文專題復(fù)習(xí):寫作技巧 課件
評(píng)論
0/150
提交評(píng)論