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