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