黃雅瓊 江西旅游商貿(mào)職業(yè)學(xué)院
所謂構(gòu)件是組成軟件系統(tǒng),并能實現(xiàn)特定功能的模塊,它可以重復(fù)使用無需二次開發(fā),也可以與其他軟件構(gòu)成新的軟件。1995年Ian.oraham提出的構(gòu)件定義如下:構(gòu)件代表軟件系統(tǒng)中的部分物理設(shè)施,包含軟件代碼(可執(zhí)行代碼,源代碼,二進制代碼等),用于與軟件銜接的接口規(guī)范或代碼。構(gòu)件的表現(xiàn)形式是一種程序代碼包組成,其設(shè)計的邏輯性十分緊密,并具有規(guī)范的接口。如Ada的Package、Smalltalk-80和C++的class和數(shù)據(jù)類型都可歸類于構(gòu)件范疇。盡管其函數(shù),代碼可重復(fù)使用,但是卻不能成為一個構(gòu)件。構(gòu)件技術(shù)是軟件是否可以重復(fù)使用開發(fā)的關(guān)鍵,也是軟件開發(fā)中的重要研究對象。
構(gòu)件技術(shù)是將一些可以重復(fù)使用的軟件構(gòu)件結(jié)合到一起組成一個新的軟件系統(tǒng)的計算機軟件技術(shù)。通過構(gòu)件技術(shù)的運用,相關(guān)的軟件開發(fā)人員可以對軟件進行有效的復(fù)用,減少不必要的重復(fù)開發(fā),不但將軟件開發(fā)時間大大的縮減了,還降低了軟件開發(fā)的投入成本。1968年Mcllroy在《大量生產(chǎn)的軟件構(gòu)件》的論文中,提出“軟件組裝生產(chǎn)線”的思想。并以“搭積木”的方式開始生產(chǎn)軟件。通過分析傳統(tǒng)工業(yè)的生產(chǎn)模式,可以發(fā)現(xiàn)這些發(fā)展模式都是以標(biāo)準(zhǔn)零部件(構(gòu)件)基于一定的標(biāo)準(zhǔn)生產(chǎn)組裝出來的。(Software Reuse)軟件復(fù)用通常指軟件自身可以重復(fù)使用,開發(fā)代碼、函數(shù)可以重復(fù)使用。構(gòu)件的組裝是軟件實現(xiàn)工業(yè)化發(fā)展的必經(jīng)之路。通過對構(gòu)件的開發(fā),長期積累的可復(fù)用的構(gòu)件組成構(gòu)件庫,以構(gòu)件組裝的形式快速而有效的構(gòu)建軟件系統(tǒng),實現(xiàn)“搭積木”的方式生產(chǎn),使軟件系統(tǒng)具有了‘彈性’,可重復(fù)使用性。
當(dāng)前的應(yīng)用系統(tǒng)已發(fā)展成可在內(nèi)聯(lián)網(wǎng)和互聯(lián)網(wǎng)上的客戶端能利用遠程訪問的分布式系統(tǒng)與多層次異構(gòu)系統(tǒng)。構(gòu)件的軟件開發(fā)技術(shù)就是將一個軟件分成若干部分,分別開發(fā),并將開發(fā)的各個模塊組裝到一起的開發(fā)模式。這是一種利用構(gòu)件生產(chǎn)軟件的全新結(jié)構(gòu)模式。讓軟件系統(tǒng)分為獨立的多個部分,利用增量的方式開發(fā)軟件。此種體系結(jié)構(gòu)讓構(gòu)件技術(shù)實現(xiàn)了以下目標(biāo):可以利用第三方提供的、內(nèi)部開發(fā)的又或者是市場上購買的現(xiàn)成構(gòu)件,對應(yīng)用軟件系統(tǒng)進行集成與定制。系統(tǒng)都應(yīng)當(dāng)具備靈活簡便的升級能力與系統(tǒng)模塊的維護更新能力。由此可見,構(gòu)件技術(shù)從根本上解決了軟件系統(tǒng)的復(fù)用性和異構(gòu)性。
自從構(gòu)件技術(shù)面世,軟件的發(fā)展進程得到了翻天覆地的變化。構(gòu)件技術(shù)將分析與設(shè)計等高層次上的重用給予了實現(xiàn)。從軟件開發(fā)方法本身來說,構(gòu)件技術(shù)將軟件的開發(fā)從原來的應(yīng)用系統(tǒng)開發(fā)漸漸的轉(zhuǎn)變成如今的集成式應(yīng)用系統(tǒng)。創(chuàng)建一個系統(tǒng)往往需要重復(fù)使用很多已有的構(gòu)件,這些被重復(fù)使用的構(gòu)建可能是之前的人員在不同的系統(tǒng)下開發(fā)的各種用途的構(gòu)件。在此情況下,此應(yīng)用系統(tǒng)的開發(fā)過程就是對已有構(gòu)件進行探索性的結(jié)合。總體來說,以前的軟件開發(fā)過程就是串行的,一步步遞增的,一點點向上的;構(gòu)件軟件技術(shù)就是并行的,最終匯聚到一起完善的過程,并實現(xiàn)構(gòu)件可復(fù)用。
縱觀當(dāng)前構(gòu)件技術(shù)的發(fā)展,終于覓得了解決此難題的突破口,將現(xiàn)實與應(yīng)用業(yè)務(wù)實現(xiàn)了分離,實質(zhì)就是將數(shù)據(jù)與邏輯實現(xiàn)了分離,提供接口或連接件建立關(guān)聯(lián)的協(xié)調(diào)行為,讓軟件開發(fā)方法變成構(gòu)件集成的方法。所以,軟件方法學(xué)的中心應(yīng)為建立關(guān)聯(lián)的方法,面向協(xié)調(diào)行為的設(shè)計。總結(jié)起來,構(gòu)件的軟件開發(fā)方法學(xué)包含以下幾方面:對構(gòu)件有明確的定義,關(guān)于構(gòu)件的定義需要對構(gòu)件技術(shù)進行標(biāo)準(zhǔn)的描述與規(guī)范。在開發(fā)應(yīng)用軟件系統(tǒng)時應(yīng)先按照構(gòu)件的情況對需要開發(fā)的軟件系統(tǒng)進行相應(yīng)的分割,包括分配不同的開發(fā)人員。還需要伴隨有能夠?qū)ζ錁?gòu)件進行檢驗并生成文檔的軟件工具,保證構(gòu)件的完整性、規(guī)范性、邏輯性和使用性??偠灾?,傳統(tǒng)的軟件方法學(xué)就是在設(shè)計上或者草稿上從上往下一步步進行,為重復(fù)使用提供更多實際性的輔助。然而構(gòu)件技術(shù)的軟件方法學(xué)則有很多的方法非常豐富,能夠隨插隨用,基于軟件系統(tǒng)的體系結(jié)構(gòu),以相關(guān)聯(lián)的接口為核心,將不同的構(gòu)件集成到一起,進行充分的結(jié)合起來進行軟件開發(fā)。
第一,是以項目為基礎(chǔ),基于構(gòu)件的軟件方法,這種方法確保構(gòu)件的開發(fā)具有固定的資金,并把構(gòu)件庫存在的風(fēng)險有效分散,促使每個構(gòu)件組成部分沒有絕對的風(fēng)險,因此項目能在短時間內(nèi)獲得成效。然而此方法的缺點就是無法進行正式的復(fù)用,并且沒有足夠標(biāo)準(zhǔn)的過程,進而極易影響項目工程的后期。
第二,開發(fā)的代價小是基于COTS構(gòu)件的軟件開發(fā)的顯著優(yōu)點,不但投資少,而且質(zhì)量也能得到應(yīng)有保證,能對市場的更新變化給予實時應(yīng)對,可是缺少較為成熟的構(gòu)件市場是它的缺點,因其實用性不強,風(fēng)險較大,進而致使此方法不利于演化,造成一定的缺憾。
第三,關(guān)于產(chǎn)品線工程的開發(fā),此方法具有比較完整的體系,同時具有相對較高的復(fù)用率,讓產(chǎn)品的質(zhì)量得到應(yīng)有的保證,以及能在完成產(chǎn)品后將成本快速的降低??墒谴朔椒ù嬖诘膯栴}是需要一支專業(yè)、強而有力的軟件工程隊伍監(jiān)工工程全程,還需要軟件開發(fā)人員具備過硬的專業(yè)技術(shù)手段。此外因為核心資產(chǎn)開發(fā)技術(shù)難度系數(shù)較大,致使新產(chǎn)品的研發(fā)與實時更新都有一定程度的難度,而且必須有長期的資金供應(yīng)。
綜上可知,伴隨軟件開發(fā)工程的興起與發(fā)展,先進完善的軟件開發(fā)技術(shù)的需求日益增加,但是傳統(tǒng)方式的軟件開發(fā)技術(shù)與社會的發(fā)展步伐產(chǎn)生脫節(jié)現(xiàn)象,無法滿足當(dāng)前社會發(fā)展的需求,所以基于構(gòu)件的軟件開發(fā)便應(yīng)運而生。對于嶄新的構(gòu)件技術(shù)應(yīng)用于軟件開發(fā)中必須按照實際項目工程開發(fā)的具體情況與原有的現(xiàn)實條件給予科學(xué)合理的分析探究,選用最合適的開發(fā)方法對工程項目實行處理,進而推進項目的總體進度。
[1]吉才盈,代飛,李彤.軟件開發(fā)中的活動博士挖掘[J].計算機科學(xué).2016.43(6):167-172.
[2]黃君雄,葉世平,郭煦.Android軟件開發(fā)關(guān)鍵問題研究[J].福建電腦.2016.32(8):70-73.