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