軟件重用評述

發表于:2008-02-20來源:作者:點擊數: 標簽:軟件重用
一、軟件重用定義 軟件重用(Software Reuse,又稱軟件復用或軟件再用)的概念對于大家并不陌生。早在1968年的NATO 軟件工程 會議上就已經提出可復用庫的思想。軟件重用的定義也很多,比較權威和通用的一種是:軟件重用是利用事先建立好的軟部品創建新軟件系
一、軟件重用定義
  軟件重用(Software Reuse,又稱軟件復用或軟件再用)的概念對于大家并不陌生。早在1968年的NATO軟件工程會議上就已經提出可復用庫的思想。軟件重用的定義也很多,比較權威和通用的一種是:軟件重用是利用事先建立好的軟部品創建新軟件系統的過程。這個定義蘊含著軟件重用所必須包含的兩個方面:
  1. 系統地開發可重用的軟部品。這些軟部品可以是代碼,但不應該僅僅局限在代碼。我們必須從更廣泛和更高層次來理解,這樣才會帶來更大的重用收益。比如軟部品還可以是:分析,設計,測試數據,原型,計劃,文檔,模板,框架等等。
  2. 系統地使用這些軟部品作為構筑模塊,來建立新的系統。
二、軟件重用的好處
  軟件重用會帶來以下好處:
  1. 提高軟件生成率。
  2. 縮短開發周期 。
  3. 降低軟件開發和維護費用。
  4. 生產更加標準化的軟件。
  5. 提高軟件開發質量。
  6. 增強軟件系統的互操作性。
  7. 減少軟件開發人員數量。
  8. 使開發人員能比較容易的適應不同性質的項目開發。
三、軟件重用形式
  軟件重用的形式(或手段)很多,重用的級別有大有小。主要有以下幾種:
  1. 源代碼模塊或者類一級的重用。這是最基本的軟件重用形式。
  2. 二進制形式的重用。如組件重用。
  3. 組裝式重用。比如:把好幾個應用程序的功能集成在一起。例如,要建立一個門戶站點應用,登陸用戶既可以查詢天氣情況,又可以查看股市行情,還可以在線購物。這些功能由不同網絡應用服務供應商提供,通過這種組裝式重用,就可以非常容易地把上述功能都集成到新的門戶站點中。
  4. 分析級別重用。
  5. 設計級別重用。
  6. 軟件文檔重用。
四、軟件重用分類
  為軟件重用分類比較困難,因為軟件重用技術眾多,一種重用技術可以包括多種重用形式。比如說:框架即可以包括代碼級重用,也可以包括設計級重用。有一種分類方法是按照軟件重用所應用的領域范圍,把重用劃分為兩種:橫向重用和縱向重用。
  1. 橫向重用是指重用不同應用領域中的軟件元素,例如數據結構、分類算法、人機界面構件等。標準函數庫是一種典型的原始的橫向重用機制。
  2. 縱向重用是指在一類具有較多公共性的應用領域之間進行軟部品重用。因為在兩個截然不同的應用領域之間實施軟件重用非常困難,潛力不大,所以縱向重用才廣受矚目,并成為軟件重用技術的真正所在??v向重用活動的主要包括以下幾個步驟:
  1) 首先進行域分析。根據應用領域的特征及相似性預測軟部件的可重用性。
  2) 然后進行軟部品的開發。一旦確認了軟部件的重用價值,即可進行軟部品的開發并對具有重用價值的軟部品進行一般化,以便它們能夠適應新的類似的應用領域。
  3) 最后,軟部件及其文檔即可進入軟部品庫,成為可供后續項目使用的可重用資源。
五、流行的軟件重用技術
  最理想的重用技術是它的重用產品能夠和用戶的需求完全一致,不需要用戶做任何自定義,并且能夠無需用戶學習就能夠被使用。然而,一種重用技術能夠適合今天,可能不適合明天。一個重用產品越是能夠被自定義,它越是可能在一個特定的環境下被使用,但是這也需要用戶進行更多的學習,研究和實踐。
  自從軟件重用思想產生以來,計算機科學家和軟件工程師就致力與軟件重用的技術的研究和實踐。在30多年的時間內,出現多種軟件重用技術,如:庫函數,模板,面向對象、設計模式、組件、框架、構架。
  下面是應用程序框架和其它三種軟件流行的重用技術的比較。
1. 庫函數
  庫函數是很早的軟件重用技術。很多編程語言為了增強自身的功能,都提供了大量的庫函數。對于庫函數的使用者,他只要知道函數的名稱,返回值的類型, 函數參數和函數功能就可以對其進行調用。
2. 面向對象
  面向對象技術是近三十年來學術界和工業界研究和應用的一個熱點。面向對象技術通過方法、消息、類、繼承、封裝、和實例等機制構造軟件系統,并為軟件重用提供強有力的支持。面向對象方法已成為當今最有效、最先進的軟件開發方法。與函數庫對應,很多面向對象語言為應用程序開發者提供了易于使用的類庫,如VC++中的MFC。
3. 模板
  模板相當于工業生產中所用的“模具”。有各種各樣的模板(如文檔模板,網頁模板等),利用這些模板可以比較快速地建立對應的軟件產品。模板把不變的封裝在內部,對可能變化的部分提供了通用接口,由使用者來對這些接口進行設定或實現。
4. 設計模式
  設計模式作為重用設計信息的一種技術,在面向對象設計中越來越來流行。設計模式描述了在我們周圍不斷重復發生的問題,該問題的解決方案的核心和解決方案實施的上下文。設計模式命名一種技術并且描述它的成本和收益,共享一系列模式的開發者擁有共同的語言來描述他們的設計。
5. 構件
  普通意義上的構件應從以下幾個方面來理解:
  1) 構件應是抽象的系統特征單元,具有封裝性和信息隱蔽,其功能由它的接口定義。
  2) 構件可以是原子的,也可以是復合的。因此它可以是函數,過程或對象類,也可以是更大規模的單元。一個子系統是包含其它構件的構件。
  3) 構件是可配置和共享的,這是基于構件開發的基石,且構件之間能相互提供服務。
6. 構架
  普通意義上的構架應從以下幾個方面來理解:
  1) 構架是與設計的同義理解,是系統原型或早期的實現。
  2) 構架是高層次的系統整體組織。
  3) 構架是關于特定技術如何合作組成一個特定系統的解釋。
7. 框架
  如果把軟件的構建過程看成是傳統的建筑過程;框架的作用相當于為我們的房屋搭建的“架子”??蚣軓闹赜靡饬x上說,是一個介于構件和構架之間的一個概念。構件,框架和構架三者的主要區別在于:對重用的支持程度的不同:
  1) 構件是基礎,也是基于構件開發的最小單元。構件重用包括可重用構件的制作和利用可重用構件構造新構件或系統,
  2) 一個框架和構架包含多個構件。這些構件使用統一的框架(構架)接口,使得構造一個應用系統更為容易。
  3) 框架重用包括代碼重用和分析設計重用,一個應用系統可能需要若干個框架的支撐,從這個意義上來說,框架也是一個“構件”的同時,框架又是一類特定領域的構架。
  4) 構架重用不僅包括代碼重用和分析設計重用,更重要的是抽象層次更高的系統級重用。
  5) 框架和構架的重用層次更高,比構件更為抽象靈活,但也更難學習和使用。
六、軟件重用技術的未來
  有人預測:到2003年至少70%的新應用程序將會由構筑模塊(building blocks)構成,這些構筑模塊(如軟構件和應用程序框架)加快了產品的開發速度和企業的應變能力。以設計模式,框架和商業構件形勢出現的軟部品可以通過重用顯著的提升開發品質和生產力,重用反過來也可以顯著的降低成本和縮短軟件開發周期。未來應用程序的開發依存于一個開放的,便利構件選擇和裝配的綜合體系結構。信息系統組織必須為基于構件開發制定一項戰略。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97