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