沈耀
【摘要】軟件復(fù)用思想其實是對已有軟件中的一次再次利用。很多新系統(tǒng)的研發(fā)也會有極大成分是對過去經(jīng)驗技術(shù)的借鑒和復(fù)用,軟件復(fù)用給人們的工作帶來了很多便利。人們可以減少不必要的機械重復(fù)工作,節(jié)約更多的時間精力投入到軟件創(chuàng)新部分,這種方式將會改善軟件的標準化和靈活可靠性。本文將對軟件復(fù)用技術(shù)的基本概念進行一個闡述,其過程、發(fā)展狀況也會在本文中談到,針對當前軟件技術(shù)的優(yōu)勢劣勢本文也將提出一些觀點,以供相關(guān)工作者參考。
【關(guān)鍵詞】軟件復(fù)用技術(shù);軟件開發(fā);應(yīng)用;發(fā)展
軟件復(fù)用技術(shù)能夠降低生產(chǎn)成本、提高軟件產(chǎn)品的質(zhì)量、提高系統(tǒng)兼容性等等,在研發(fā)人員的努力下,軟件開發(fā)的風險逐漸減少,系統(tǒng)功能也在增長。這個過程是不斷積累和不斷完善的過程,軟件復(fù)用將會帶來軟件產(chǎn)業(yè)的合理分工專業(yè)化、標準化發(fā)展,我國倘若能夠抓住這個機遇必將成為一個軟件強國。
一、軟件復(fù)用概述
(一)軟件的概念。軟件復(fù)用的主要目的是減少開發(fā)與維護的資金投入,這種以原有軟件知識為基礎(chǔ)而建立的新軟件技術(shù)能夠有效提高生產(chǎn)率。軟件復(fù)用概念的提出主要來源于軟件危機之后人們意識到軟件復(fù)用是解決高昂的維護費的一種最佳方法。軟件規(guī)模隨著經(jīng)濟的發(fā)展不斷擴大,為了從本質(zhì)上來改變軟件產(chǎn)品質(zhì)量的維護工作,軟件復(fù)用技術(shù)被廣泛用于計算機行業(yè)中。軟件復(fù)用的使用軟件通常被叫做可復(fù)用構(gòu)件,復(fù)用的方式有兩種,一種是原原本本使用原構(gòu)件,另一種是將構(gòu)件進行一定修改了再使用。我們對軟件復(fù)用的理解不能僅僅停留在程序復(fù)用層面,其實它還涉及分析模型、詳細說明、測試用例等等。值得注意的是軟件復(fù)用和共享不是一個概念,我們要將兩者區(qū)別開來。
二、軟件復(fù)用技術(shù)
(一)代碼的復(fù)用。軟件復(fù)用級別不同所代表的效益也是不同的。代碼的復(fù)用包括兩個內(nèi)容,意識源代碼,另一個是目標代碼。源代碼級別比目標代碼更高一些,代碼復(fù)用主要依靠大量的可復(fù)用構(gòu)件,其運用及其靈活,能夠被廣泛運用。(二)設(shè)計的復(fù)用。設(shè)計復(fù)用較少受環(huán)境影響,運用設(shè)計復(fù)用能減少修改次數(shù),還能增加可復(fù)用構(gòu)件復(fù)用機會。設(shè)計復(fù)用有三種途徑,第一種能夠做到不依賴于其他具體應(yīng)用而實現(xiàn)構(gòu)件開發(fā)工作;第二種可以將現(xiàn)有系統(tǒng)重新利用于新平臺;第三種是提取現(xiàn)有設(shè)計結(jié)果并運用在新設(shè)計上。(三)分析的復(fù)用。分析復(fù)用的可復(fù)用機會相對更大,這種高級別的復(fù)用在解決一些抽象復(fù)雜的問題上具有較大的優(yōu)勢。其復(fù)用途徑包括三種,第一種是獨立開發(fā)分析構(gòu)件;第二種是實現(xiàn)多種平臺的多項設(shè)計;第三種是提取現(xiàn)有分析結(jié)果用于新系統(tǒng)分析。(四)測試信息的復(fù)用。測試過程信息與測試用例的復(fù)用構(gòu)成了測試信息復(fù)用。測試用例復(fù)用是將修改后的然就愛你應(yīng)用與新測試中或者直接將一個軟件的測試用例在新測試中。測試過程信息的復(fù)用指的是軟件自動記錄測試信息,這種復(fù)用與程序代碼級別差不多。軟件生產(chǎn)過程是一個由高級別向低級別轉(zhuǎn)化的一個過程,級別和所獲得的回報是呈正比關(guān)系,因此我們不能忽視分析和設(shè)計結(jié)果。
三、軟件復(fù)用實現(xiàn)的阻礙因素
影響軟件復(fù)用的因素有很多,有技術(shù)因素、人為因素、管理因素、教育因素、法律因素、精神產(chǎn)品等。要做到內(nèi)容的剛好相符,一種構(gòu)件運用到另一系統(tǒng)中仍然適用是比較有難度的事情。必須要有一定量的構(gòu)件才能發(fā)揮其作用,但是獲取大量的構(gòu)件必須耗費巨大的精力。新理論、新技術(shù)是當前極為欠缺的,軟件復(fù)用作為一個新的研究領(lǐng)域還缺乏足夠的實踐。創(chuàng)造性是軟件開發(fā)工作的一個顯著特點,軟件開發(fā)工作者通常都很有主見同時也喜歡使用自己開發(fā)的軟件,甚至有時候他們更樂意自己另寫一個軟件。軟件生產(chǎn)管理工作對于激發(fā)復(fù)用人員的工作積極性,推動復(fù)用水平的提高以及規(guī)模的擴大有著積極的作用。目前,在軟件開發(fā)方面,相關(guān)的專業(yè)教材還比較缺乏。
四、面向?qū)ο蠹夹g(shù)及其對軟件復(fù)用的支持
面向?qū)ο蠓椒ㄊ钱斀褡钍軞g迎最受認可的技術(shù),這主要是因為模型對問題域的直接映射,它能夠讓軟件開發(fā)整個過程形成自然連續(xù)的銜接開發(fā)難度也會大大降低,工作人員的工作量相對降低,工作準確性也會大大提高。它的概念來源于繼承、封裝、聚合等,這些概念原則十分符合軟件復(fù)用需求,對于軟件復(fù)用有著積極的意義。這種軟件工程方法在整個生命周期都具有極大一致性,因此不同階段不同形態(tài)的各系統(tǒng)具有很好的映射,這種映射幾乎貫穿軟件生命周期的全部。面向?qū)ο蠹夹g(shù)能夠?qū)崿F(xiàn)軟件復(fù)用的高校和統(tǒng)一,起到極佳的全局效果。
五、復(fù)用的研究與應(yīng)用
復(fù)軟件復(fù)用技術(shù)直至今天已經(jīng)發(fā)展到一定水平,其成功應(yīng)用也給計算機行業(yè)帶來了很多益處。(一)領(lǐng)域分析法成功應(yīng)用到了美國的運動控制領(lǐng)域,這種分析法面向特征。(二)CMU提出了產(chǎn)品線系統(tǒng)方式。這種方式的成功運用實例包括美國空軍電子系統(tǒng)中心的產(chǎn)品線系統(tǒng),它集中體現(xiàn)軟件復(fù)用的理念(三)構(gòu)件組裝的技術(shù)支持——JAVA技術(shù)廣泛流行開來軟件重用技術(shù)與對象技術(shù)實現(xiàn)了有效的結(jié)合。(四)以研究軟件工業(yè)化生產(chǎn)技術(shù)為重點的青鳥工程是我國的一項重要科技項目。青鳥軟件生產(chǎn)線系統(tǒng)面向?qū)ο蠹夹g(shù),軟件工業(yè)化生產(chǎn)模式將會受到進一步擴展。
六、軟件復(fù)用技術(shù)發(fā)展趨勢
軟件復(fù)用技術(shù)還需要相關(guān)研究者繼續(xù)深入探索,軟件復(fù)用技術(shù)在目前仍然有很大的熱度,市場也在不斷拓展。軟件環(huán)境及平臺有著廣泛的市場,人們越來越關(guān)注軟件工程技術(shù)。軟件危機為軟件行業(yè)帶來了諸多挑戰(zhàn),但是我們?nèi)绻軐⑵洚斪饕淮螜C遇,不斷提高軟件復(fù)用技術(shù)和構(gòu)件技術(shù),我們相信工廠化的軟件將會變成實實在在的事。軟件行業(yè)正在發(fā)生深刻的變革,在未來軟件產(chǎn)品將會走向更廣闊的市場,最終走向國際化。
七、結(jié)論
軟件產(chǎn)品是人們的一種精神產(chǎn)品,它來于人們的思維大腦,因此其價值則是它所承載的思想精華。軟件產(chǎn)品的價值是無法與實實在在的物品去衡量和比較的,因為軟件產(chǎn)品的特殊性就在于人們可以發(fā)揮無限的形象力并賦予軟件,其復(fù)雜性極大,軟件復(fù)用自然也是如此。軟件復(fù)用技術(shù)的關(guān)鍵在于領(lǐng)會并靈活運用軟件復(fù)用思想。
參考文獻
[1]楊芙清.軟件復(fù)用及相關(guān)技術(shù)[J].計算機科學(xué),1999,(5):1—4.
[2]楊芙清,朱冰,梅宏.軟件復(fù)用[J].軟件學(xué)報,1995,6(9):525—533.