本站小編為你精心準備了小議構件的軟件工程理論與方法參考范文,愿這些范文能點燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
1基于構件的軟件開發(fā)
1.1設計構件的評價標準
要求構件的可復用性高,就需要按照抽象、逐步求精、功能獨立、機構化程序設計與隱蔽信息等原則進行設計構件,同時也應滿足以下五大標準。抽象程度高構件在開發(fā)軟件過程中可復用的難易程度就是構件的可復用程度,構件的可復用度與構件的通用化成正比關系,越是通用化則可復用性越高,反之亦然。所以應盡可能避免構件泛化,讓構件可以在待開發(fā)的軟件中被復用,以此提高可復用度。通用性與可變性較高可復用的構件通常需要被實例化,也就是經(jīng)過一定的修改,才可用于實際的開發(fā)項目中。可復用構件的價值高,就說明構件的通用性和可變性要求高。為此,設計構件時,可標識變化點在需要變化的位置(可一個或多個)上,并在標識點上附加變體(一個或多個),用來指明抽象構件。當復用該構件時,為了抽象構件的實例化,可根據(jù)不同的應用創(chuàng)設不一樣的變體,以滿足特定應用的需求。繼承、擴展與參數(shù)化模塊等典型的可變性機制可實現(xiàn)上述構件的可變性。可靠性高構件的可靠性包括容錯性、成熟性與可恢復性,指的是構件在特定環(huán)境下與規(guī)定時間內(nèi),不致使開發(fā)失效的程度。構件易使用性的增強,可使構件的可靠性得以提高,就能方便開發(fā)人員在構件庫中挑選出并應用所需構件,構件被復用概率相應提高,進而增強構件的易學性、易理解性與易操作性。構件間的設計應組裝容易構件庫中的構件是不同人開發(fā)出來的,構件的實現(xiàn)語言和運行環(huán)境也就“因人而異”。所以要從中抽取出合適的構件經(jīng)實例化后進行裝配,應用于開發(fā)的軟件或應用系統(tǒng)上。組裝構件包括異構構件的組裝(異質(zhì)軟硬件平臺的構件之間的組裝)與同構構件的組裝(同質(zhì)軟硬平臺的構件之間的組裝)。構件組裝的難易程度關系到軟件的復用性。構件間具有松散的偶合度與方便組裝的機制,可使構件易于組裝。
1.2開發(fā)的基本思想
構件技術在“數(shù)據(jù)+算法結(jié)構”基礎上的提升,是一種應用級別的集成技術。構件的基本思想考慮更多的是對象個體在應用領域軟件開發(fā)過程中的作用,也就是說是分解應用軟件將其變成獨立的一個個單元,再將不同的軟件構件對象進行組接,最后完成軟件集成。
1.3分析軟件系統(tǒng)與設計藍圖
進行系統(tǒng)分析,對構件軟件系統(tǒng)十分必要,這符合人類認識事物的規(guī)律。基于構件程序開發(fā)的系統(tǒng)分析應遵守以下幾點原則:①封裝。即是將構件的屬性、接口、實現(xiàn)組合成一個整體系統(tǒng)單位,并對構件內(nèi)部的實現(xiàn)細節(jié)進行盡可能的隱藏。②繼承。在CBD系統(tǒng)分析中遵循繼承原則,就是將在一般--特殊結(jié)構中的所有構件實例具有的接口、屬性與實現(xiàn),在一般類中進行一次性的顯示定義。③抽象。就是將復雜的、個別的、非本質(zhì)的事物特征舍棄,對系統(tǒng)目標的本質(zhì)特征、共同特征予以抽取,CBD就是如此得到它當中的類的。系統(tǒng)分析完后,就是設計藍圖。設計過程中應對需要的構建定義好,并對整個復雜的系統(tǒng)進行分解,可分解成一級子模塊,二級子模塊,如此類推。
1.4開發(fā)方法
較之以往的開發(fā)方法(基于對象的技術,是以細粒度的“軟件片”開始設計的),基于構件的軟件系統(tǒng)的開發(fā)基于軟件重用,面向的是接口與連接。以構件為核心是其特征,構件準備與收集工作在系統(tǒng)需求分析階段就可同時進行,開發(fā)并行程度增加,某種程度而言這就提高了軟件開發(fā)的效率。軟件系統(tǒng)的開發(fā)主要包括構件的開發(fā)與應用程序的開發(fā)兩部分內(nèi)容。
1.5開發(fā)過程
1.5.1軟件系統(tǒng)的生存周期
構件軟件工程的生存周期較之傳統(tǒng)軟件工程的,更加簡單,主要有六個階段,具體為:系統(tǒng)分析、設計藍圖、準備與生產(chǎn)構件、構件集成、構件測試及構件的使用與維護。
1.5.2需求分析與構件選擇
在需求分析階段,對象領域之中的共性需求、共性結(jié)構、共性特征以及特有需求、可變特征等都要進行分析與歸納,但不必要也無法做到面面俱到,此后還可針對以后的行為分析進行不斷調(diào)整,將之優(yōu)化與具體化。此階段除分析以外,還要評價構件,也就是選擇構件。根據(jù)需求分析的結(jié)果,通常可以從網(wǎng)絡上現(xiàn)有的構件庫或者構件市場(商業(yè)性軟件機構)查找符合標準的構件,了解構件的功能與特性(可靠性、可預測性),同時了解構件的市場份額以及構件市場的業(yè)績情況,方便評價構件與挑選構件。
1.5.3架構設計
系統(tǒng)的架構設計對基于構件的軟件系統(tǒng)至關重要,它可保證系統(tǒng)的運轉(zhuǎn)能夠正常有效地進行。架構的設計就是對基于構件的軟件系統(tǒng)進行評估,選擇與建設的過程。其目標根據(jù)用戶的需求,規(guī)范系統(tǒng),選用恰當?shù)募軜嬙O計模式,明確系統(tǒng)的各項實施細節(jié)(程序語言、實施平臺等)。從具體實踐情況來看,基于構件的軟件系統(tǒng)架構屬于分層模塊結(jié)構,包括應用層與構件層兩大部分。
1.5.4系統(tǒng)的集成與測試
系統(tǒng)的集成就是將構件按照系統(tǒng)構架進行組裝裝配成模塊(打成包),過程中通常只要編寫基本代碼即可,構件之間可相互調(diào)用。該過程結(jié)束后,可得到系統(tǒng)雛形與系統(tǒng)維護所要的系統(tǒng)文檔。系統(tǒng)測試就是檢測系統(tǒng)是否滿足設計要求以及對系統(tǒng)運行過程中的漏洞進行修改的過程,其最終目標是按照系統(tǒng)需求確定構件集成的終極系統(tǒng)。系統(tǒng)測試分為穩(wěn)定性測試與功能測試,方法有集成測試,系統(tǒng)測試與單元測試等,測試中要選擇合適的測試方法。若要重新開發(fā)或擴展構件,需經(jīng)過構件應用工具的測試,以保證構件功能的實現(xiàn)與接口的規(guī)范。
2結(jié)束語
軟件構件技術的發(fā)展,提高了軟件構件的可復用性。基于構件的軟件開發(fā)是復用軟件本領域的最有效方法,可以減輕傳統(tǒng)軟件開發(fā)的復雜性,提高軟件開發(fā)的效率與一致性,同時開發(fā)出來的軟件質(zhì)量較高,時間縮短,還可對軟件開發(fā)項目的進度進行監(jiān)控,節(jié)省了軟件維護的費用。軟件復用將會促使產(chǎn)業(yè)變革,為軟件市場帶來更多的商業(yè)契機。雖然構件的組裝與構架技術、分析設計構件的描述與構架庫部署等問題,有可能會隨著構件應用的發(fā)展而層出不窮,但我們相信,不斷發(fā)展的技術將會為構件技術在軟件開發(fā)上的應用提供條件,未來軟件工業(yè)化的趨勢是軟件構件化。
作者:馬鳴單位:南陽理工學院軟件學院