本文摘要:本篇文章是由優(yōu)秀的電子期刊 《網(wǎng)絡(luò)與信息》 職稱論文發(fā)表,創(chuàng)刊于1987年,由遼寧省信息中心主辦。是經(jīng)國家科技部和國家新聞出版總署批準(zhǔn)的國內(nèi)外公開發(fā)行的計算機(jī)網(wǎng)絡(luò)應(yīng)用類專業(yè)媒體,《網(wǎng)絡(luò)與信息》是國內(nèi)公開發(fā)行的互聯(lián)網(wǎng)信息導(dǎo)航和IT技術(shù)應(yīng)用類月刊,計
本篇文章是由優(yōu)秀的電子期刊《網(wǎng)絡(luò)與信息》 職稱論文發(fā)表,創(chuàng)刊于1987年,由遼寧省信息中心主辦。是經(jīng)國家科技部和國家新聞出版總署批準(zhǔn)的國內(nèi)外公開發(fā)行的計算機(jī)網(wǎng)絡(luò)應(yīng)用類專業(yè)媒體,《網(wǎng)絡(luò)與信息》是國內(nèi)公開發(fā)行的互聯(lián)網(wǎng)信息導(dǎo)航和IT技術(shù)應(yīng)用類月刊,計算機(jī)網(wǎng)絡(luò)應(yīng)用類專業(yè)媒體,國家信息中心核心期刊,中國信息經(jīng)濟(jì)學(xué)會會刊。
摘要:軟件復(fù)用(SoftWare Reuse)是將已有軟件的各種有關(guān)知識用于建立新的軟件,以縮減軟件開發(fā)和維護(hù)的花費(fèi)。軟件復(fù)用是提高軟件生產(chǎn)力和質(zhì)量的一種重要技術(shù)。
關(guān)鍵詞:軟件復(fù)用 軟件開發(fā) 軟件生產(chǎn)力
軟件構(gòu)件技術(shù)在一、二年內(nèi)將轟轟烈烈地開展起來。目前國內(nèi)許多大工程、大項(xiàng)目都紛紛采用這項(xiàng)技術(shù),如863 計劃近一半的項(xiàng)目、通信方面許多大項(xiàng)目的投標(biāo)、金融行業(yè)的業(yè)務(wù)處理系統(tǒng)等,都在朝這個方向走。
在領(lǐng)域工程技術(shù):美國國防部高級研究項(xiàng)目署建立了" 用于易修改的可靠系統(tǒng)的軟件技術(shù)" 項(xiàng)目,研究領(lǐng)域特定的、基于復(fù)用的軟件工程技術(shù),并建立了三個示范工程項(xiàng)目。美國空軍電子
系統(tǒng)中心與美國航空航天局合作建立了" 可復(fù)用防務(wù)軟件的中央檔案庫" 項(xiàng)目,以促進(jìn)國防項(xiàng)目中的軟件復(fù)用。
在CORBA 分布式對象技術(shù):BellSouth 公司在大型機(jī)上有大量的應(yīng)用程序和數(shù)據(jù),新的業(yè)務(wù)過程需要與之協(xié)作。CORBA技術(shù)提供的解決方案是將遺留系統(tǒng)包裝為構(gòu)件,以O(shè)RB 為" 軟總線" 集成新老系統(tǒng)。由摩托羅拉發(fā)起的著名的" 銥星工程"中,最終采用了ORB 產(chǎn)品作為軟件構(gòu)件之間的互連框架。
在產(chǎn)品線技術(shù):1985 年,瑞典CelsiusTech 系統(tǒng)公司,同時接到兩份合同-- 瑞典海軍和丹麥海軍的輪船系統(tǒng), 兩個系統(tǒng)都需要很強(qiáng)的容錯性和分散性, 該公司采用SS2000 產(chǎn)品線方法后,
獲得了巨大成功,將硬件與軟件的費(fèi)用比例從過去的35:65 變成
了80:20。
預(yù)測,今后,軟件開發(fā)商必須了解主要系統(tǒng)集成商和應(yīng)用軟件開發(fā)人員所需要的基本構(gòu)件, 因?yàn)樗麄冊谝龑?dǎo)著構(gòu)件技術(shù)的需求和功能走勢。到2001 年,所有新開發(fā)的應(yīng)用至少有60%將
是基于構(gòu)件的組裝,開發(fā)商的市場應(yīng)變能力也因此得到提高。
一、軟件復(fù)用
1.1復(fù)用技術(shù)概述
軟件復(fù)用(或軟件重用)是指充分利用過去軟件開發(fā)中積累的成果、知識和經(jīng)驗(yàn),去開發(fā)新的軟件系統(tǒng),使人們在新系統(tǒng)的開發(fā)中著重于解決出現(xiàn)的新問題、滿足新需求,從而避免或減少軟件開發(fā)中的重復(fù)勞動。復(fù)用是將已有的軟件及其有效成分用于構(gòu)造新的軟件或系統(tǒng)。它不僅是對軟件程序的復(fù)用,還包括對軟件生產(chǎn)過程中其它勞動成果的復(fù)用,如項(xiàng)目計劃書、可行性報
告、需求分析、概要設(shè)計、詳細(xì)設(shè)計、編碼(源程序)、測試用例、文檔與使用手冊
等等。因此,軟件復(fù)用包括軟件產(chǎn)品復(fù)用和生成式復(fù)用用兩部分
的內(nèi)容。
產(chǎn)品式復(fù)用是指對軟件開發(fā)中中間制品(程序代碼,各階段中的文檔或模型,測試用例等)的復(fù)用,其實(shí)現(xiàn)途徑關(guān)鍵是將可復(fù)用的程序代碼組裝(或集成)而生成軟件應(yīng)用系統(tǒng),因此產(chǎn)品
式復(fù)用亦稱組裝式復(fù)用; 生成式復(fù)用主要是將軟件的需求進(jìn)行規(guī)約化(或形式化)描述,然后利用可復(fù)用的應(yīng)用程序生成器自動或半自動地生成所需的軟件系統(tǒng)。目前組裝式復(fù)用是軟件復(fù)
用的主流方式。
軟件復(fù)用不同于軟件移植。軟件移植是指對軟件進(jìn)行修改和擴(kuò)充,使之在保留原有功能、適應(yīng)原有平臺的基礎(chǔ)上,可以運(yùn)
行于新的軟硬件平臺。而復(fù)用則指在多個系統(tǒng)中,尤其是在新系
統(tǒng)中使用已有的軟件成分。
1.2 復(fù)用的方法
從對復(fù)用產(chǎn)品的了解程度和復(fù)用方式看, 也可分為白盒復(fù)用與黑盒復(fù)用。黑盒復(fù)用指對已有產(chǎn)品或構(gòu)件不需作任何修改,直接進(jìn)行復(fù)用,這是理想的復(fù)用方式。它主要基于二進(jìn)制代碼的
復(fù)用,包括可執(zhí)行程序的復(fù)用和基于庫(包括動態(tài)鏈接庫和靜態(tài)庫)的復(fù)用。白盒復(fù)用指根據(jù)用戶需求對已有產(chǎn)品進(jìn)行適應(yīng)性修
改后才可使用。白盒復(fù)用一般為源代碼一級的復(fù)用,以及相應(yīng)的
測試用例、文檔等的復(fù)用。
無論白盒復(fù)用還是黑盒復(fù)用, 都需要花費(fèi)一定的代價熟悉和掌握被復(fù)用的軟件系統(tǒng)。作為經(jīng)濟(jì)上的考慮,要求復(fù)用的代價
必須大大小于重新開發(fā)的代價,否則就不應(yīng)該考慮。
軟件復(fù)用的一個關(guān)鍵因素是抽象。抽象是對軟件可復(fù)用對
象的提煉和概括,即將可復(fù)用對象的基本屬性和相應(yīng)的操作,從
具體的語言、環(huán)境和其他細(xì)節(jié)中提煉出來。軟件的復(fù)用性很大程度上取決于對可復(fù)用對象的認(rèn)識深度或者說可復(fù)用對象的抽象
層次。抽象層次越高、與具體環(huán)境和特定細(xì)節(jié)越無關(guān),則它被未來系統(tǒng)復(fù)用的可能性也越大。領(lǐng)域分析則是進(jìn)行抽象的有力工具。領(lǐng)域分析借助特定領(lǐng)域、特定行業(yè)的專業(yè)知識與技能,對軟
件系統(tǒng)對象進(jìn)行抽象和分類,提煉認(rèn)知的對象及其相互關(guān)系,獲得系統(tǒng)整體結(jié)構(gòu),從而生成可復(fù)用的軟件構(gòu)件。
1.3)軟件復(fù)用的層次
我將軟件復(fù)用的層次分為代碼級,控件級,模塊級,構(gòu)架級,
這四個級別在概念上依次上升。
1.4)軟件復(fù)用的優(yōu)點(diǎn)
復(fù)用技術(shù)所帶來的最大優(yōu)點(diǎn)正是由可復(fù)用構(gòu)件來實(shí)現(xiàn)的,
其優(yōu)點(diǎn)主要體現(xiàn)在以下幾個方面:
(1)軟件實(shí)現(xiàn)過程的效率提高
(2)程序員所擔(dān)負(fù)的壓力減輕
(3)軟件測試過程的難度降低
(4)軟件系統(tǒng)性能的穩(wěn)定性提高
(5)軟件企業(yè)的穩(wěn)定性大大增強(qiáng)
二、構(gòu)件技術(shù)
構(gòu)件(component) 就是使軟件走向工業(yè)化的一種軟件標(biāo)準(zhǔn)件,它是可復(fù)用的軟件組成成份,他是可被用來快速構(gòu)造其他軟件的預(yù)制的特殊軟件。它可以是被封裝的對象類、類樹、一些功
能模塊、軟件框架(framwork)、軟件構(gòu)架(或體系結(jié)構(gòu)Architectural)、文檔、分析件、設(shè)計模式(Pattern)等。構(gòu)件分為構(gòu)件類和構(gòu)件實(shí)例,通過給出構(gòu)件類的參數(shù),生成實(shí)例,通過實(shí)例的組裝和
控制來構(gòu)造相應(yīng)的應(yīng)用軟件。其實(shí)質(zhì)上是對已存在的軟件開發(fā)知識(開發(fā)過程和技能)和軟件開發(fā)各階段的各種結(jié)果的重復(fù)使用。
構(gòu)件的特性是:
(1)可獨(dú)立配置的單元,必須自包容;(3)沒有(外部的)可見狀態(tài)。
這些特性有幾重含義。一個構(gòu)件是獨(dú)立可部署的,意味著它必須能跟它所在的環(huán)境及其他構(gòu)件完全分離。因此,構(gòu)件必須封裝自己的全部內(nèi)部特征。并且,構(gòu)件作為一個部署單元,具有原子性,是不可拆分的。也就是說,第三方?jīng)]有權(quán)利訪問其所使用的任何構(gòu)件的內(nèi)部細(xì)節(jié)信息。
最后,一個構(gòu)件不能有任何(外部的)可見狀態(tài)———這要求
構(gòu)件不能與自己的拷貝有所區(qū)別。但對于不影響構(gòu)件功能的某些屬性,例如,用于計費(fèi)的序號,則沒有這種限制。通過對屬性的可見性進(jìn)行限制,允許用戶在不影響構(gòu)件的可見行為的前提下,
使用合法的技術(shù)手段對那些影響性能的狀態(tài)進(jìn)行特殊處理。因此, 構(gòu)件化的軟件設(shè)計思想在中間件發(fā)展中起到了重要的作用,可以預(yù)見,構(gòu)件化的中間件在今后市場上是有強(qiáng)大生命
力的。
參考文獻(xiàn):
[1]鄧鐵清.分布對象與WWW 技術(shù)的集成研究與實(shí)踐,計算機(jī)工程與應(yīng)用,2009.
[2]徐正權(quán),駱婷.異質(zhì)可復(fù)用軟構(gòu)件屬性模型,計算機(jī)應(yīng)用研究,2000,3.
轉(zhuǎn)載請注明來自發(fā)表學(xué)術(shù)論文網(wǎng):http:///dzlw/2280.html