標籤: 暫無標籤

在環境和功能發生變化后,可通過局部修改和重組,保持整體穩定性,以適應新要求的軟體。據統計,開發一個新的應用系統,40%~60%的代碼是重複以前類似系統的成分,重複比例有時甚至更高。因此,軟體重用能節約軟體開發成本,真正有效地提高軟體生產效率。

1可重用軟體概述

軟體重用性一般可從抽象層次、剪裁方法和重用條件3方面進行描述。
剪裁方法
軟體重用還涉及如何剪裁和修改可重用部件以適應新的要求。
採用的剪裁方法有:
①根本不剪裁
如程序設計語言所帶的庫函數。
②手工剪裁法
即手工修改可重用部件的內部細節,它要求用戶了解可重用部件的內部詳細情況。
③模板修改法
按模板修改比手工剪裁方便且安全,但同手工剪裁一樣,仍有可能因修改可重用部件而使其出錯。
④類屬參數化方法
能保證修改不會使原可重用部件出錯 ,但為設計和編碼有一定要求。可重用技術中一般都採用此方法。
代碼重用
即普通代碼的重複利用。
分析結果重用
這是一種更高級別的重用,即重用某個系統的分析模型。這種重用特別適用於用戶需求未改變,但系統體系結構發生了根本變化的場合。?更具體地說,可能被重用的軟體成分主要有以下10種。

2軟體重用形式

軟體重用的形式(或手段)很多,重用的級別有大有小。主要有以下幾種:
1. 源代碼模塊或者類一級的重用。這是最基本的軟體重用形式。
2. 二進位形式的重用。如組件重用。
3. 組裝式重用。比如:把好幾個應用程序的功能集成在一起。例如,要建立一個門戶站點應用,登陸用戶既可以查詢天氣情況,又可以查看股市行情,還可以在線購物。這些功能由不同網路應用服務供應商提供,通過這種組裝式重用,就可以非常容易地把上述功能都集成到新的門戶站點中。
4. 分析級別重用。
5. 設計級別重用。
6. 軟體文檔重用。

3軟體重用分類

為軟體重用分類比較困難,因為軟體重用技術眾多,一種重用技術可以包括多種重用形式。比如說:框架即可以包括代碼級重用,也可以包括設計級重用。有一種分類方法是按照軟體重用所應用的領域範圍,把重用劃分為兩種:橫向重用和縱向重用。
縱向重用
指在一類具有較多公共性的應用領域之間進行軟部品重用。因為在兩個截然不同的應用領域之間實施軟體重用非常困難,潛力不大,所以縱向重用才廣受矚目,並成為軟體重用技術的真正所在。縱向重用活動的主要包括以下幾個步驟:
1) 首先進行域分析。根據應用領域的特徵及相似性預測軟部件的可重用性。
2) 然後進行軟部品的開發。一旦確認了軟部件的重用價值,即可進行軟部品的開發並對具有重用價值的軟部品進行一般化,以便它們能夠適應新的類似的應用領域。
3) 最後,軟部件及其文檔即可進入軟部品庫,成為可供後續項目使用的可重用資源。

4流行的軟體重用技術

最理想的重用技術是它的重用產品能夠和用戶的需求完全一致,不需要用戶做任何自定義,並且能夠無需用戶學習就能夠被使用。然而,一種重用技術能夠適合今天,可能不適合明天。一個重用產品越是能夠被自定義,它越是可能在一個特定的環境下被使用,但是這也需要用戶進行更多的學習,研究和實踐。
自從軟體重用思想產生以來,計算機科學家和軟體工程師就致力與軟體重用的技術的研究和實踐。在30多年的時間內,出現多種軟體重用技術,如:庫函數,模板,面向對象、設計模式、組件、框架、構架。
下面是應用程序框架和其它三種軟體流行的重用技術的比較。
面向對象
面向對象技術是近三十年來學術界和工業界研究和應用的一個熱點。面向對象技術通過方法、消息、類、繼承、封裝、和實例等機制構造軟體系統,並為軟體重用提供強有力的支持。面向對象方法已成為當今最有效、最先進的軟體開發方法。與函數庫對應,很多面向對象語言為應用程序開發者提供了易於使用的類庫,如VC++中的MFC。
設計模式
設計模式作為重用設計信息的一種技術,在面向對象設計中越來越來流行。設計模式描述了在我們周圍不斷重複發生的問題,該問題的解決方案的核心和解決方案實施的上下文。設計模式命名一種技術並且描述它的成本和收益,共享一系列模式的開發者擁有共同的語言來描述他們的設計。
構架
普通意義上的構架應從以下幾個方面來理解:
1) 構架是與設計的同義理解,是系統原型或早期的實現。
2) 構架是高層次的系統整體組織。
3) 構架是關於特定技術如何合作組成一個特定系統的解釋。

框架

如果把軟體的構建過程看成是傳統的建築過程;框架的作用相當於為我們的房屋搭建的「架子」。框架從重用意義上說,是一個介於構件和構架之間的一個概念。構件,框架和構架三者的主要區別在於:對重用的支持程度的不同:
1) 構件是基礎,也是基於構件開發的最小單元。構件重用包括可重用構件的製作和利用可重用構件構造新構件或系統,
2) 一個框架和構架包含多個構件。這些構件使用統一的框架(構架)介面,使得構造一個應用系統更為容易。
3) 框架重用包括代碼重用和分析設計重用,一個應用系統可能需要若干個框架的支撐,從這個意義上來說,框架也是一個「構件」的同時,框架又是一類特定領域的構架。
4) 構架重用不僅包括代碼重用和分析設計重用,更重要的是抽象層次更高的系統級重用。
5) 框架和構架的重用層次更高,比構件更為抽象靈活,但也更難學習和使用。
上一篇[滇南天門冬]    下一篇 [短齒韭]

相關評論

同義詞:暫無同義詞