世俱杯规则-虎牙直播-比利亚vs西班牙人-德国杯|www.cnyhmy.com

復用研究在軟件應用開發(fā)領域研述

時間:2022-10-27 12:55:02 來源:網(wǎng)友投稿

摘要:軟件重用是近年來軟件工程一個很活躍的研究領域。實踐證明,軟件重用是從根本上提高軟件生產(chǎn)率、降低成本、提高質(zhì)量的有效途徑;同時也說明,軟件重用需要在關鍵技術、管理、指標等很多方面引入注重實效的變革。本文首先介紹了軟件重用的概念以及可重用的軟件成分,隨即介紹了軟件重用技術,最后提出了在實際應用中使用軟件重用技術的要點。

關鍵詞:軟件重用;模塊;面向?qū)ο?類 構件

20世紀70年代以來,一些機構認識到復用研究在軟件開發(fā)應用領域具有重要應用價值。軟件重用是復用研究的最后意義課題之一。80年代以后軟件重用技術已被廣泛認為能成倍提高軟件生產(chǎn)率的重要技術。目前軟件重用技術已經(jīng)成為內(nèi)容非常廣泛的研究領域,是當今軟件工程領域中的一個研究熱點。比起重新開發(fā)一個軟件,軟件重用技術能大大縮短開發(fā)時間,節(jié)約人力、物力,提高軟件可靠性。

一、軟件重用技術的基本概念

最初的計算機中,由于軟件依賴于具體的硬件結構,重用的可能性很小;隨著系統(tǒng)的開發(fā)和軟件的不斷豐富,人們開始在更高一層的虛擬機器上開發(fā)軟件,此時軟件不再依賴具體的機器結構,這就使重用成為可能,當今由于軟件系統(tǒng)越來越來龐大,重用顯得更為重要。軟件重用是指在兩次或多次不同的軟件開發(fā)過程中重復使用相同或相似的軟件成分的過程。簡單的說就是使用現(xiàn)已存在的軟件成分構成新的軟件系統(tǒng)。廣義的講,軟件重用可分為3個層次:知識重用、方法和標準的重用、軟件成分的重用。這里僅討論軟件成分的重用。

二、軟件成分可重用的必要條件

1、獨立性強。

只有在模塊化的系統(tǒng)結構中,模塊內(nèi)部的修改和局部系統(tǒng)的重構才能不影響系統(tǒng)的整體面貌。模塊必須功能完整且唯一,并經(jīng)過反復測試被確認為正確,它應該是不受或少受外界干擾的封裝體。

2、高度可塑性。

在模塊化的結構的前提下,這樣的系統(tǒng)可以吧依賴于具體運行環(huán)境的部分集中在少數(shù)幾個模塊內(nèi),一旦環(huán)境變化可以用其他模塊替代。從而使重用因素能適應各種環(huán)境,提供為適應特定需求二擴充或修改已有構建的機制,而且所提供的機制必須使用起來簡單方便。

3、結構清晰。

具有適當?shù)囊?guī)模,易讀,易理解。同時接口必須清晰、簡單、可靠。

4、建立在標準的統(tǒng)一的數(shù)據(jù)界面上。

以標準的數(shù)據(jù)模式為依據(jù),可以減少系統(tǒng)中模塊之間的數(shù)據(jù)交換和相互依賴關系,是數(shù)據(jù)的操作集中在幾個模塊內(nèi)

統(tǒng)一管理。

三、軟件可重用成分分析

1、代碼。人們談論最多的是代碼重用,通常把它理解為調(diào)用庫中的模塊(比如標準數(shù)據(jù)庫)。實際上代碼重用可以采用源代碼剪貼、源代碼包含、繼承三種形式。

2、數(shù)據(jù)。采用標準的數(shù)據(jù)交換格式有利于軟件重用,尤其是在當前階段聲音、圖像等也被定義為數(shù)據(jù)。因為如果數(shù)據(jù)是標準的形式,應用程序無需依據(jù)格式和內(nèi)容的事先一致就可以利用數(shù)據(jù)。

3、程序結構。有效的重用需要一個結構出發(fā)點,而不僅是將模塊組合連接。

4、程序設計。可用的描述公共應用程序設計類型的構造方法與通用程序設計的參考資料。這種重用有助于把一個應用系統(tǒng)移植到完全不同的軟硬件平臺上。

5、程序分析結果。重用某個軟件系統(tǒng)的分析模型。這種重用特別適用于擁護需求未改變,但體統(tǒng)體系結構發(fā)生了變化的場合。

6、可重用的軟件可重用的不僅僅是軟件成分,整個軟件系統(tǒng)也可重用。就是說,在環(huán)境和功能需求發(fā)生變化時,可以通過一些局部性的修改,在仍然保持整體穩(wěn)定的前提下,適應型的環(huán)境和需求。

四、軟件重用關鍵技術分析

軟件的重用技術可分為三個層次:知識重用、方法和標準的重用、軟件成分的重用。就軟件成分的重用可分為:代碼重用、設計結果重用、分析結果重用。當前階段來說,實現(xiàn)軟件重用的技術途徑有三種,一種是基于軟件的自主生成,另一種是將中用技術。

1、軟件組合技術

該技術就是按照一定規(guī)則把可重用的軟件成分組合在一起,構成軟件系統(tǒng)或新的可中用成分。特點是,可重用的軟件成分作為被動的原子模塊適用,它們在整個組合過程中保持中保持不變。用底層不見庫法和上層組合法可把軟構件組合成所需的軟件。

2、軟件生成技術

該技術是按照形式化的軟件功能描述和一定的生成機理,由生成器系統(tǒng)主動的生成目標程序。這種方法所適用的可重用部件是生成器本身的代碼模板或隱藏在變換規(guī)則及種種的模板。這種技術抽象級別高,需要由可重用軟件庫和知識庫的支持。

3、面向?qū)ο蟮能浖杏眉夹g

面向?qū)ο蟮能浖夹g是重用技術中最成功的一個,它可以通過提高方法的聚合性、減小方法的規(guī)模和交互耦合的程度,以及利用繼承機制、委托和封裝等來提高軟件的可重用性。

利用面向?qū)ο蠹夹g,可以更方便更有效的事先軟件重用。面向?qū)ο蠹夹g中的“類”,是比較理想的可重用軟構件,不妨稱為類構件。它有實例重用、繼承重用和多態(tài)重用三種重用方式。

實例重用。實例重用是最基本的中用方式,是一位類的封裝性,使用者不用了解實現(xiàn)細節(jié),就可以使用適當?shù)臉嬙旌瘮?shù),按照需要構建類的實例。然后向所創(chuàng)建的實例發(fā)送適當?shù)南ⅲ瑔酉鄳姆眨瓿尚枰墓ぷ鳌_@是最基本的重用。此外,還可以用幾個簡單的對象作為類成員,創(chuàng)建出一個更復雜的類。但是設計出一個理想的類構件并非一件容易的事。以確定某個類對外提供的服務為例,提供的服務過多,會增加接口的復雜度,使類構件難于理解,提供的服務過少,則會失去中用價值。

繼承重用。面向?qū)ο蟀l(fā)發(fā)特有的繼承性,提供了一種對已有的類構件進行才裁剪的機制。當已有的尅構建不能通過實例重用完全滿足當前系統(tǒng)需求時,繼承重用提供了一種安全的修改已有類構件,一邊在當前系統(tǒng)中重用的手段。需提高繼承重用的效果,關鍵是每個子類在繼承負累的屬性和服務的基礎上,只加入少量新屬性和新服務,這不僅降低了每個類構件接口復雜度,表現(xiàn)出一個清晰的進化過程,提高每個子類的可理解性,而且為軟件并發(fā)人員提供了更多可重用的類構件。

為提高繼承重用的效果,其關鍵是設計一個合理的、具有一定深度的類構件繼承層次結構。必要時應在領域?qū)<規(guī)椭拢啔v符合領域只是的繼承層次。

多態(tài)重用。利用類的多態(tài)性不但可以降低消息連接的復雜程度,使對象的對外接口更加一般化,而且還提供了一種簡單可靠的軟構件組合機制。系統(tǒng)運行時,根據(jù)接收消息的對象類型,由多態(tài)機制啟動正確的方法,去響應一個一般化的消息,從而簡化了消息界面和軟構件連接的過程。

為充分實現(xiàn)多態(tài)重用,在設計類構件時,應該吧注意力集中到一些可能影響重用特性的操作上。否則,這些操作會妨礙類構件的重用。這是,必須吧它們從類的操作中費力出來,作為“適配接口”,也可以吧適配接口再進一步細分為轉換接口和狂沖、擴充接口。

五、軟件重用技術的應用分析

為了能夠在軟件并發(fā)過程中重用現(xiàn)有的軟部件,必須再次之前不斷的進行軟部件的積累,并將它們組織成軟部件庫。這就是說,軟件重用不僅要討論如何檢索所需的軟部件以及如何對它們進行必要的就見,還要解決如何序曲軟部件、如何組織軟部件庫等問題。因此,軟件重用方法學通常要求軟件開發(fā)項目既要考慮重用已有軟部件的機制,又要系統(tǒng)的考慮生產(chǎn)可重用的軟部件的機制。這類項目通常被稱為軟件重用項目。軟件重用技術一個典型的要求設計的構塊具有類似芯片的特性:抽象性、封閉性及信息隱蔽。一個構件可以是對某一函數(shù)、過程、數(shù)據(jù)類型、算法等可重用成分的抽象。使用構建的軟件重用技術比傳統(tǒng)方法可以簡單不少,提高生產(chǎn)率,縮短了開發(fā)周期。

參考文獻

張海潘【軟件工程導論】北京清華大學出版社

鄭人杰 【使用軟件工程】北京清華大學出版社

推薦訪問:復用 領域 開發(fā) 研究 軟件

最新推薦
猜你喜歡