淺談軟件復(fù)用技術(shù)的研究論文
摘要:為了能夠更好的解決軟件危機,加快了軟件復(fù)用技術(shù)研究和使用的步伐。并且經(jīng)過實踐證明,軟件復(fù)用技術(shù)不僅提高了軟件工程開發(fā)的效率以及軟件系統(tǒng)的質(zhì)量,而且也降低了軟件開發(fā)成本,總而言之,促進(jìn)了軟件開發(fā)的進(jìn)程。本文主要對軟件復(fù)用內(nèi)容、軟件復(fù)用的優(yōu)勢、軟件復(fù)用的關(guān)鍵技術(shù)進(jìn)行了分析。
關(guān)鍵詞:軟件復(fù)用;內(nèi)容;優(yōu)勢;技術(shù)
軟件復(fù)用就是利用現(xiàn)有的軟件成分構(gòu)造出高質(zhì)量、高效率的新的軟件系統(tǒng)。軟件復(fù)用不僅僅只是包括程序的復(fù)用,而且還包括每個活動所產(chǎn)生的制成品的復(fù)用。隨著軟件復(fù)用技術(shù)的快速發(fā)展,人們發(fā)現(xiàn)了軟件資產(chǎn)的一些問題。為了能夠有效地解決此類問題,必須將軟件復(fù)用技術(shù)能夠準(zhǔn)確地、合理地運用到軟件開發(fā)中,將軟件復(fù)用技術(shù)的優(yōu)勢充分發(fā)揮出來,其實這也正是軟件復(fù)用技術(shù)的難點所在。
1.軟件復(fù)用內(nèi)容
應(yīng)用軟件系統(tǒng)的開發(fā)過程包含以下幾個階段:領(lǐng)域和需求分析、設(shè)計、編碼、測試以及維護(hù)等,各個階段的工作中均存在重復(fù),而這些重復(fù)都可以作為軟件復(fù)用的內(nèi)容。一般可以分四個層次:第一,領(lǐng)域和需求分析階段的復(fù)用。這個層主要包括對領(lǐng)域知識、軟件總體框架結(jié)構(gòu)、項目計劃、成本估計等的復(fù)用;第二,設(shè)計階段的復(fù)用。這個層主要包括對分析建模方法、領(lǐng)域模型、軟件功能模型等的復(fù)用;第三,編碼階段的復(fù)用。這個層主要包括對功能模塊、用戶和技術(shù)文檔、用戶界面風(fēng)格等的復(fù)用;第四,測試階段的復(fù)用。這個層主要包括對測試方法、測試用例等的復(fù)用。
2.軟件復(fù)用的優(yōu)勢
軟件復(fù)用的優(yōu)勢主要表現(xiàn)在以下幾個方面:第一,軟件復(fù)用使軟件生產(chǎn)率得以提高,并且也使開發(fā)代價因此而少。由于可復(fù)用構(gòu)建經(jīng)過了高度優(yōu)化和考驗,其構(gòu)造的系統(tǒng)更加可靠、性能更加強大;第二,軟件復(fù)用也使系統(tǒng)的維護(hù)代價得以減少。用可復(fù)用的構(gòu)件構(gòu)建系統(tǒng)減少了錯誤的發(fā)生,也就是減少了維護(hù)頻率;第三,軟件復(fù)用使系統(tǒng)間的互操作性得以提高。系統(tǒng)由于使用了統(tǒng)一的接口,使其與其他系統(tǒng)之間的互操作性得以實現(xiàn);第四,軟件復(fù)用對快速原型設(shè)計有一定的支持效果,那么快速有效地構(gòu)造出應(yīng)用程序的原型可以充分利用可復(fù)用構(gòu)件和構(gòu)架,從而獲得用戶對系統(tǒng)功能的反饋;第五,培訓(xùn)成本的減少也可以通過軟件復(fù)用來實現(xiàn)?偠灾捎密浖䦶(fù)用技術(shù)提高了軟件質(zhì)量。
3.軟件復(fù)用的關(guān)鍵技術(shù)
3.1軟件構(gòu)件技術(shù)
軟件構(gòu)件技術(shù)是軟件復(fù)用的核心。構(gòu)件是系統(tǒng)中可以明確辨識的構(gòu)成成分;而軟件構(gòu)件則是軟件系統(tǒng)中具有一定意義的相對獨立的構(gòu)成成分;可復(fù)用構(gòu)件是指在具有獨立功能的基礎(chǔ)上,實現(xiàn)復(fù)用功能的構(gòu)件。隨著人們對軟件復(fù)用技術(shù)研究越來越深入,構(gòu)件的概念也得到了延伸。它們應(yīng)用于各個不同的開發(fā)過程,目前,主要關(guān)注的構(gòu)件是代碼級構(gòu)件,它可以直接由工具進(jìn)行支持。代碼級構(gòu)件主要分為源代碼和二進(jìn)制代碼構(gòu)件兩種,其源代碼所采用的復(fù)用方式也有兩種,即黑盒復(fù)用和白盒復(fù)用兩種方式;而二進(jìn)制代碼構(gòu)件的復(fù)用方式主要就是一種,即黑盒復(fù)用方式,通常也只能對構(gòu)件的接口和屬性等信息進(jìn)行了解。軟件構(gòu)件技術(shù)的研究內(nèi)容主要包括:
。1)構(gòu)件獲取。構(gòu)件生產(chǎn)是有目的的,其構(gòu)件是從已有的系統(tǒng)中挖掘出來的;
。2)構(gòu)件模型。在對構(gòu)件本質(zhì)特征研究的基礎(chǔ)上,充分認(rèn)識構(gòu)件間的關(guān)系;
。3)構(gòu)件描述語言。此目的就是為了使構(gòu)件的精確描述、理解和組裝問題進(jìn)行解決;
(4)構(gòu)件分類和檢索。對構(gòu)件分類和檢索策略進(jìn)行研究,為構(gòu)件庫系統(tǒng)的構(gòu)建創(chuàng)造良好的條件;
(5)構(gòu)件復(fù)合組裝。對構(gòu)件組裝機制進(jìn)行研究且在構(gòu)件模型的基礎(chǔ)上進(jìn)行;
。6)標(biāo)準(zhǔn)化。這里的標(biāo)準(zhǔn)化主要是構(gòu)件模型和構(gòu)件庫系統(tǒng)的標(biāo)準(zhǔn)化。
3.2構(gòu)件構(gòu)架
對于軟件架構(gòu),目前還沒有一個統(tǒng)一的定義。一個典型的定義是:一個程序或計算系統(tǒng)的軟件構(gòu)架是系統(tǒng)的一個或多個結(jié)構(gòu),包含軟件構(gòu)件、這些構(gòu)件的對外可見的性質(zhì)以及它們之間的關(guān)系。體系結(jié)構(gòu)描繪的是系統(tǒng)的藍(lán)圖,是溝通軟件需求與軟件設(shè)計的一座橋梁。體系結(jié)構(gòu)的研究,使軟件復(fù)用從代碼復(fù)用發(fā)展到設(shè)計復(fù)用和過程復(fù)用。在基于構(gòu)件和體系結(jié)構(gòu)的軟件開發(fā)方法下,程序開發(fā)模式也相應(yīng)地發(fā)生了根本變化。軟件開發(fā)不再是"算法+數(shù)據(jù)結(jié)構(gòu)",而是"構(gòu)件開發(fā)+基于體系結(jié)構(gòu)的構(gòu)件組裝"。軟件構(gòu)架包括全局組織與控制結(jié)構(gòu),構(gòu)件間通訊、同步和數(shù)據(jù)訪問的協(xié)議,設(shè)計元素間的功能分配,物理分布,設(shè)計元素集成,伸縮性和性能,設(shè)計選擇等。軟件構(gòu)架研究如何快速、可靠地從可復(fù)用構(gòu)件構(gòu)造系統(tǒng)的方式,著重于軟件系統(tǒng)自身的整體結(jié)構(gòu)和構(gòu)件間的互聯(lián)。其中主要包括:軟件構(gòu)架原理和風(fēng)格、軟件構(gòu)架的描述和規(guī)約、特定領(lǐng)域軟件構(gòu)架、構(gòu)件向軟件構(gòu)架的集成機制等。
3.3領(lǐng)域工程
領(lǐng)域工程是針對一組相似或相近應(yīng)用的共同領(lǐng)域及用戶需求進(jìn)行分析,識別這些應(yīng)用的共同特征和可變特征,進(jìn)行面向復(fù)用的開發(fā),產(chǎn)生出特定領(lǐng)域的構(gòu)件和構(gòu)架。它覆蓋了建立可重用構(gòu)件的所有活動;主要過程分為領(lǐng)域分析(定義"問題空間")、領(lǐng)域設(shè)計(提出"解決問題的框架")和領(lǐng)域?qū)崿F(xiàn)(實現(xiàn)所提出的"解決空間")三個階段。它以領(lǐng)域分析為出發(fā)點,對領(lǐng)域中的系統(tǒng)進(jìn)行分析,包括識別、搜集、組織、分析和表示領(lǐng)域中相關(guān)的共性和個性信息,形成領(lǐng)域定義和領(lǐng)域模型。其中領(lǐng)域模型確定了該領(lǐng)域系統(tǒng)的'公共功能和數(shù)據(jù);依據(jù)領(lǐng)域模型,設(shè)計面向特定領(lǐng)域的軟件構(gòu)架DSSA,包括系統(tǒng)中各種構(gòu)件間交互關(guān)系的共性和差異,并以此領(lǐng)域構(gòu)架為中心,識別、開發(fā)和組織可重用構(gòu)件,供應(yīng)用工程師使用。這樣,當(dāng)開發(fā)同一領(lǐng)域中新的應(yīng)用時,可以根據(jù)領(lǐng)域分析模型,確定新應(yīng)用的需求規(guī)約;根據(jù)特定領(lǐng)域的軟件構(gòu)架形成新應(yīng)用的設(shè)計,并以此為基礎(chǔ)選擇可復(fù)用構(gòu)件進(jìn)行組裝,從而形成新系統(tǒng)。
3.4軟件再工程
隨著軟件技術(shù)的不斷開發(fā),一些遺產(chǎn)軟件系統(tǒng)已經(jīng)不能在滿足現(xiàn)今的要求,慢慢地退出軟件舞臺,如果能夠從這些系統(tǒng)中獲取有用的軟件構(gòu)件,再對它們進(jìn)行維護(hù),使其系統(tǒng)軟件生命周期得以延長,而這個過程就是軟件再工程所要解決的問題,從而構(gòu)造出新的系統(tǒng)來。如果沒有對其進(jìn)行維護(hù),即使獲取了有用的軟件構(gòu)件,那么這些軟件構(gòu)件隨著技術(shù)的發(fā)展最終還是被淘汰。
3.5開放系統(tǒng)技術(shù)
使用接口標(biāo)準(zhǔn)是開放系統(tǒng)技術(shù)的基本原則。開放系統(tǒng)技術(shù)能夠為系統(tǒng)開發(fā)的決策設(shè)計提供良好的依據(jù),尤其是為系統(tǒng)的演化提供了穩(wěn)定的基礎(chǔ),同時也進(jìn)一步保證了各子系統(tǒng)間的互操作。開放系統(tǒng)技術(shù)不僅能夠確保系統(tǒng)效率的穩(wěn)定進(jìn)行,而且在此基礎(chǔ)上,能夠使開發(fā)成本得以降低以及開發(fā)周期得以縮短。系統(tǒng)依賴穩(wěn)定的接口標(biāo)準(zhǔn)促進(jìn)了開發(fā)系統(tǒng)更容易適應(yīng)技術(shù)。
3.6軟件過程
軟件過程就是從軟件需求定義開始,直至軟件使用后廢棄為止,針對系統(tǒng)開發(fā)、運作和維護(hù)所實施的全部過程、活動和任務(wù)的結(jié)構(gòu)。隨著軟件工程的快速發(fā)展,軟件過程也發(fā)生了一些變化。軟件過程又稱軟件生存周期過程,軟件生存周期主要可劃分為三個時期,第一時期就是計劃、分析時期,第二時期就是設(shè)計、實現(xiàn)時期,第三時期就是運行、維護(hù)時期。當(dāng)前,軟件工程研究的熱點就是軟件過程及其完善。
3.7CASE技術(shù)
軟件工程思想已經(jīng)在人們心中有了更深入的滲透,其已經(jīng)越來越受到廣大軟件開發(fā)者的歡迎,CASE工具和CASE環(huán)境得到越來越廣泛的應(yīng)用。對于軟件工程而言,CASE技術(shù)是非常重要的,它能夠支持軟件工程,并且使軟件開發(fā)的復(fù)雜性有所降低,也就是說,能夠促使軟件開發(fā)人員有效控制軟件開發(fā)的復(fù)雜性,進(jìn)而使軟件開發(fā)的效率和質(zhì)量得以提高。同理,CASE技術(shù)也能夠有效地支持軟件復(fù)用。其主要內(nèi)容包括:在面向復(fù)用的軟件開發(fā)中,可復(fù)用構(gòu)件的抽取、描述、分類和存儲;在基于復(fù)用的軟件開發(fā)中,可復(fù)用構(gòu)件的檢索、提取和組裝;可復(fù)用構(gòu)件的度量等。
4.結(jié)語
面對軟件危機的發(fā)生,軟件復(fù)用技術(shù)起到了非常重要的作用。軟件復(fù)用技術(shù)是緩解軟件危機的重要手段,它不僅能夠提高軟件開發(fā)效率,而且還能夠提高軟件的可靠性,以及能夠降低軟件開發(fā)成本,在軟件測試和維護(hù)方面也有一定的優(yōu)勢。因此,軟件復(fù)用技術(shù)已經(jīng)成為現(xiàn)在軟件工程方面的研究熱點。
參考文獻(xiàn):
[1]朱俊波,史素娟.淺議軟件開發(fā)中的復(fù)用技術(shù)[J].福建電腦,2008,(02).
[2]楊敬君.基于構(gòu)件的軟件復(fù)用技術(shù)研究與應(yīng)用實踐[D].大連海事大學(xué),2009.
[3]仉新剛.淺談軟件復(fù)用的理論與技術(shù)[J].科技信息(學(xué)術(shù)研究),2008,(13).
[4]吳樹德,曾慶弘,左壯.軟件復(fù)用技術(shù)在管理信息系統(tǒng)設(shè)計中的應(yīng)用[J].通化師范學(xué)院學(xué)報,2006,(06).
[5]武偉,張明新.基于構(gòu)件的軟件復(fù)用技術(shù)應(yīng)用研究[J].山西大同大學(xué)學(xué)報(自然科學(xué)版),2009,(01).
[6]陳東升.軟件復(fù)用技術(shù)研究[J].硅谷,2008,(18).
【淺談軟件復(fù)用技術(shù)的研究論文】相關(guān)文章:
軟件復(fù)用技術(shù)在嵌入式系統(tǒng)的可行性論文12-12
基于軟件復(fù)用技術(shù)的雷達(dá)星體標(biāo)校軟件設(shè)計07-12
波分復(fù)用與全同光纖光柵混合復(fù)用技術(shù)在城市隧道中的應(yīng)用研究07-21
淺談地下水取水技術(shù)的內(nèi)容研究論文01-04
淺談?wù)n堂微觀研究與教育技術(shù)新革命論文01-10
淺談磁力儀研究論文10-13