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