軟件體系結(jié)構(gòu)是其組件中體現(xiàn)的系統(tǒng)的基本組織,彼此之間的關(guān)系以及環(huán)境的關(guān)系以及指導(dǎo)其設(shè)計(jì)和進(jìn)化的原則。軟件體系結(jié)構(gòu)并不是要?jiǎng)?chuàng)建一次并將其設(shè)置為石頭。相反,軟件體系結(jié)構(gòu)應(yīng)在整個(gè)產(chǎn)品的一生中發(fā)展和變化。多年來,我聽到工程師和經(jīng)理討論了軟件體系結(jié)構(gòu)應(yīng)該從編碼工作中出現(xiàn),就好像是通過魔術(shù)一樣。相信一個(gè)新興的,干凈的建筑就像相信將一包意大利面倒入開水中會導(dǎo)致烤寬面條面條。
構(gòu)件化軟件的最主要特征[1]在于目標(biāo)系統(tǒng)由大量可復(fù)用構(gòu)件組成,從系統(tǒng)化構(gòu)件復(fù)用過程來看,傳統(tǒng)軟件開發(fā)方法中的詳細(xì)設(shè)計(jì)被劃分到了構(gòu)件制作階段,與基于構(gòu)件開發(fā)目標(biāo)系統(tǒng)屬于相對獨(dú)立的不同階段。構(gòu)件化軟件的設(shè)計(jì)是傳統(tǒng)軟件開發(fā)方法中的總體設(shè)計(jì)或高層設(shè)計(jì),要求設(shè)計(jì)階段就應(yīng)設(shè)計(jì)出滿足需求的軟件體系結(jié)構(gòu)。