• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于構(gòu)件的軟件復(fù)用技術(shù)

      2013-12-24 07:37:32何曉琴
      關(guān)鍵詞:復(fù)用技術(shù)嵌入式構(gòu)件

      何曉琴,白 勇,鄧 譜

      (重慶電力高等??茖W(xué)校,重慶400053)

      隨著軟件需求的逐漸遞增,軟件在整個開發(fā)和應(yīng)用過程中出現(xiàn)了一些問題。例如,硬件發(fā)展非???,而軟件發(fā)展較為遜色,跟不上硬件的發(fā)展速度,導(dǎo)致硬件的有些功能得不到充分發(fā)揮;軟件開發(fā)過程中,重復(fù)開發(fā)現(xiàn)象嚴(yán)重,花費的資源較多,浪費所占比例較大,效率較低。軟件復(fù)用是重新應(yīng)用軟件開發(fā)過程中已有的思想,具有靈活性高、開發(fā)成本低的優(yōu)點。

      1 軟件復(fù)用的關(guān)鍵技術(shù)

      影響軟件復(fù)用的各種因素之間有著密切聯(lián)系。無論是技術(shù)因素還是非技術(shù)因素,其主要包括軟件構(gòu)件技術(shù)、軟件架構(gòu)、領(lǐng)域工程、軟件工程、軟件再工程、開放系統(tǒng)以及CASE技術(shù)等,如圖1所示,軟件復(fù)用的實現(xiàn)受到它們共同結(jié)合的影響。

      圖1 實現(xiàn)軟件復(fù)用的關(guān)鍵因素

      1.1 軟件構(gòu)件技術(shù)

      構(gòu)件是可以獨立交付、發(fā)布的二進制功能單元。不同構(gòu)件開發(fā)機構(gòu)開發(fā)的構(gòu)件能夠按軟件應(yīng)用的需要進行組裝。近年來,為了促進軟件構(gòu)件技術(shù)的發(fā)展,促進構(gòu)件技術(shù)的標(biāo)準(zhǔn)化,工業(yè)界中一些主要的軟件公司和產(chǎn)業(yè)聯(lián)盟紛紛提出了一些構(gòu)件軟件的建議標(biāo)準(zhǔn)和技術(shù)規(guī)范。具有相對獨立的功能和可復(fù)用價值的構(gòu)件就是可復(fù)用構(gòu)件。事實上,構(gòu)建的定義還沒統(tǒng)一,有的認(rèn)為構(gòu)件是一個語義,它能夠?qū)⒛繕?biāo)問題域體現(xiàn)出來,并且實現(xiàn)都是通過獨立的方式進行的;有的認(rèn)為構(gòu)件是一個可獨立交付的軟件單元,對軟件設(shè)計和內(nèi)容進行了封裝,并向外提供接口,通過接口與其它構(gòu)建組裝成更大的整體;有的認(rèn)為構(gòu)件是一個若干個對象集,這些對象集都是動態(tài)變化的,并且可以存在于構(gòu)件的內(nèi)部,也可能是其接口的一部分。構(gòu)件與構(gòu)件之間可以實現(xiàn)交互和膠合,交互是直接實現(xiàn),而膠合則是通過獨立的對象實現(xiàn)的。以上是從對象實現(xiàn)技術(shù)的角度給出的構(gòu)件定義;而微軟的技術(shù)文檔給出的構(gòu)件定義是通過接口向外提供服務(wù)的軟件包。綜合以上內(nèi)容,軟件構(gòu)件技術(shù)是支持軟件復(fù)用的核心技術(shù),主要研究內(nèi)容包括:構(gòu)件獲取、構(gòu)件模型、構(gòu)件描述語言、構(gòu)件分類與檢索、構(gòu)件復(fù)合組裝、標(biāo)準(zhǔn)化。

      1.2 軟件構(gòu)架

      系統(tǒng)的整體設(shè)計格局就是軟件架構(gòu),軟件架構(gòu)為基于構(gòu)件的軟件開發(fā)提供了構(gòu)件組裝的基礎(chǔ)。對于不同系統(tǒng)的高層共性,可以通過對軟件架構(gòu)的研究發(fā)現(xiàn)其規(guī)律,并能夠給系統(tǒng)設(shè)計提供一個靈活且正確的保障、規(guī)約、分析、驗證和管理系統(tǒng)的整體結(jié)構(gòu)和全局屬性??偠灾浖軜?gòu)就是指在一定的設(shè)計原則基礎(chǔ)上,從不同角度對組成系統(tǒng)的各部分進行搭配和安排,形成系統(tǒng)的多個結(jié)構(gòu)而組成架構(gòu),它包括該系統(tǒng)的各個組件、組件的外部可見屬性及相互關(guān)系。軟件系統(tǒng)自身的整體結(jié)構(gòu)和構(gòu)件間的互聯(lián)是軟件架構(gòu)如何快速、可靠地從可復(fù)用構(gòu)件中構(gòu)造系統(tǒng)方式的關(guān)鍵。

      1.3 領(lǐng)域工程

      領(lǐng)域工程覆蓋了建立可復(fù)用軟件構(gòu)件的所有活動,它是一組相似或相近系統(tǒng)的應(yīng)用工程建立基本能力和必備基礎(chǔ)的過程。一組具有相似或相近軟件需求的應(yīng)用系統(tǒng)所覆蓋的功能區(qū)域就是所謂的領(lǐng)域。領(lǐng)域工程與軟件工程的關(guān)系如圖2所示。(1)復(fù)用信息的領(lǐng)域特定性??蓮?fù)用性依賴于特定的問題和特定的解決方法,它不是信息的一種孤立屬性。(2)問題領(lǐng)域的內(nèi)聚性和穩(wěn)定性。大量軟件復(fù)用研究和實踐表明,特定領(lǐng)域的軟件復(fù)用活動相對容易取得成功,這是由領(lǐng)域的內(nèi)聚性和穩(wěn)定性決定的。領(lǐng)域工程創(chuàng)建應(yīng)用領(lǐng)域的模型,標(biāo)識、構(gòu)造、分類和傳播一組可重用的軟件。領(lǐng)域工程主要包括以下三個階段:(1)領(lǐng)域分析。獲得領(lǐng)域模型就是領(lǐng)域分析的主要目標(biāo)。在領(lǐng)域中系統(tǒng)之間具有共同的需求,而這些共同的需求就是通過領(lǐng)域模型來進行描述的。(2)領(lǐng)域設(shè)計。獲得領(lǐng)域架構(gòu)是領(lǐng)域設(shè)計這個階段的目標(biāo),同時也是系統(tǒng)需求的一個高層次設(shè)計。如何完成系統(tǒng)需求是獲得領(lǐng)域架構(gòu)的目的之一。在領(lǐng)域模型建立后,為了能夠滿足系統(tǒng)的各種需求,就誕生了領(lǐng)域架構(gòu)。值得注意的是,系統(tǒng)需求不是永遠(yuǎn)不變的,影響其發(fā)生變化的因素較多,只要系統(tǒng)需求發(fā)生變化,獲得領(lǐng)域架構(gòu)也要隨之發(fā)生變化。(3)領(lǐng)域?qū)崿F(xiàn)。領(lǐng)域?qū)崿F(xiàn)這個階段主要就是完成一種機制,這種機制就是將需求翻譯成能夠由可復(fù)用構(gòu)建創(chuàng)建的系統(tǒng)識別的機制。

      圖2 領(lǐng)域工程與軟件工程的關(guān)系

      1.4 軟件再工程

      軟件復(fù)用中的一些問題與現(xiàn)有系統(tǒng)密切相關(guān),當(dāng)前技術(shù)的發(fā)展速度是非常快的,軟件系統(tǒng)能夠很好地適應(yīng)其發(fā)展則應(yīng)該從比較容易理解、可復(fù)用的系統(tǒng)軟件架構(gòu)中將可復(fù)用的軟件提煉出來,并挖掘、整理由于技術(shù)的發(fā)展而退出的、現(xiàn)存的、大量不再應(yīng)用的軟件系統(tǒng)。隨著時間的推移,已存在的軟件構(gòu)件已不能使用,如何對這些軟件進行維護和怎樣進行維護,才能使其生命期能夠延長,這是當(dāng)前面臨的主要問題,而解決這一問題的關(guān)鍵技術(shù)手段就是軟件再工程。軟件再工程是一個工程過程,它將現(xiàn)存系統(tǒng)重新構(gòu)造為新的形式,而系統(tǒng)理解是軟件再工程的基礎(chǔ)。系統(tǒng)理解主要包括源代碼、運行系統(tǒng)、設(shè)計、分析等的全面理解。但在很多情況下,各類文檔都容易存在損失。因此,只能理解源代碼,即程序理解,軟件再工程程序理解就變得尤為重要。

      2 基于構(gòu)件的軟件開發(fā)思想

      充分借鑒傳統(tǒng)工業(yè)生產(chǎn)模式是基于構(gòu)件軟件開發(fā)方法的主要思路。首先,對消費者需求進行分析,將整體結(jié)構(gòu)框架進行設(shè)計,然后到構(gòu)件庫中,根據(jù)需要選擇相應(yīng)的構(gòu)件,再對應(yīng)用系統(tǒng)進行組裝。如果系統(tǒng)所需的構(gòu)件在現(xiàn)存的構(gòu)件庫中不存在,那么就需要對所需的新的構(gòu)件進行購買、定制或者自行研發(fā)。在獲得新構(gòu)件的過程中,構(gòu)件生產(chǎn)組和系統(tǒng)開發(fā)組之間對任務(wù)的分工要嚴(yán)格按照生產(chǎn)者——消費者關(guān)系進行,并且通過從經(jīng)驗工廠中請求所需的構(gòu)件集成組裝,得到所需最新的系統(tǒng)。在經(jīng)驗工廠中,其所擁有的活動也不是單一的,主要包括同步活動和異步活動,同步活動指配合項目組的活動,接收構(gòu)件查找請求或定制請求,為項目組服務(wù);異步活動指有目的的構(gòu)件生產(chǎn)或?qū)ν交顒又械臉?gòu)件進行再工程以提高構(gòu)件的可復(fù)用性。

      3 基于構(gòu)件的軟件復(fù)用技術(shù)在嵌入式系統(tǒng)中的應(yīng)用

      軟件復(fù)用技術(shù)在嵌入式系統(tǒng)中應(yīng)用時,首先要能夠清楚了解嵌入式系統(tǒng),包括其特點、硬件和軟件架構(gòu)。嵌入式系統(tǒng)有著非壟斷的高度分散的應(yīng)用領(lǐng)域,系統(tǒng)內(nèi)核小,開發(fā)需要的開發(fā)工具和環(huán)境、軟硬件可裁剪、可配置,實時操作系統(tǒng)開發(fā)平臺面向用戶/產(chǎn)品/應(yīng)用的產(chǎn)品的熱點等特點。PC環(huán)境軟件的通用性使其很容易實現(xiàn)復(fù)用。相比之下,嵌入式系統(tǒng)的專用性使其不容易實現(xiàn)復(fù)用,此系統(tǒng)是由軟件和硬件兩部分組成,兩者協(xié)同合作,統(tǒng)一構(gòu)成嵌入式系統(tǒng)整體。嵌入式系統(tǒng)硬件是整個嵌入式系統(tǒng)的運行平臺,包括輸入/輸出接口,處理器、存儲器、數(shù)/模轉(zhuǎn)換等部分,其中嵌入式微處理器是嵌入式系統(tǒng)硬件的核心,它擁有比通用計算機CPU更低的功耗,內(nèi)部通常有專用調(diào)試電路,外部有JTAG之類的調(diào)試接口。嵌入式系統(tǒng)軟件直接與用戶交互,在一定程度上決定了整個產(chǎn)品的成敗。在硬件系統(tǒng)搭建完畢后,軟件的操作系統(tǒng)要想規(guī)劃好,必須根據(jù)硬件相關(guān)的條件來進行,從而實現(xiàn)軟件復(fù)用。

      嵌入式軟硬件結(jié)構(gòu)決定了軟硬件系統(tǒng)緊密結(jié)合,軟件的開發(fā)往往都是根據(jù)特定的硬件來進行。因此,即使針對同一種產(chǎn)品進行修改時,由于其硬件不同,也會產(chǎn)生不同的修改方式。因此軟件的開發(fā)人員就必須能夠熟悉不同的硬件平臺和操作系統(tǒng),這樣增加了開發(fā)難度,并且軟件復(fù)用難度也增加了。為了能夠提高開發(fā)人員的軟件開發(fā)水平,采取的有效措施就是將軟件復(fù)用技術(shù)運用到嵌入式軟件系統(tǒng)中。在此過程中硬件無關(guān)層和設(shè)備開發(fā)驅(qū)動層將起著至關(guān)重要的作用。硬件無關(guān)層是由硬件和平臺相關(guān)的代碼組成,它能夠產(chǎn)生初始化等函數(shù)集,在此過程中,硬件模塊的類型和特點占據(jù)一定位置。設(shè)備開發(fā)驅(qū)動層主要是對一個通用的驅(qū)動程序模型進行描述,與平臺功能是沒有任何關(guān)系的,此層還可以對復(fù)雜的事件進行精確的處理,實現(xiàn)DDI接口函數(shù)集,此函數(shù)集主要是用于應(yīng)用層的編程。即程序員在應(yīng)用層編程時,可以采用DDI接口函數(shù)集來進行編程,最終實現(xiàn)怎么支配硬件設(shè)備資源,然后將這個硬件模塊的驅(qū)動程序封裝成一個新的、符合標(biāo)準(zhǔn)的功能模塊,再將其引入到嵌入式系統(tǒng)中。一般情況下,該驅(qū)動軟件應(yīng)用生存能力是非常強大的,可以直接在新環(huán)境下進行,也不會涉及較大的改變。

      軟件復(fù)用不僅僅只是實現(xiàn)代碼的可重復(fù)利用,目前的任何軟件都需要具有強大的適應(yīng)能力,因此,還應(yīng)該考慮到在多環(huán)境下的應(yīng)用。目前為止,對于PC機而言,其很多軟件都能夠?qū)崿F(xiàn)在多環(huán)境下應(yīng)用。嵌入式系統(tǒng)也應(yīng)該借鑒這個優(yōu)點,實現(xiàn)一個軟件在多環(huán)境下進行應(yīng)用。另外,軟件程序員在編程時,還需要對硬件進行處理。

      綜上所述,嵌入式系統(tǒng)在實現(xiàn)軟件復(fù)用技術(shù)時,通過將軟件代碼按其功能和對象特征,封裝成一個模塊的形式是非常重要的。因為這樣可以給其他軟件工程在以后的工作中提供良好的借鑒基礎(chǔ),并且還可以使軟件更容易維護,延長軟件使用壽命。嵌入式系統(tǒng)中應(yīng)用復(fù)用技術(shù),在很大程度上已經(jīng)緩解了軟件編寫受硬件約束的程序,程序員不需要隱藏自己的潛力,可以在這個空間中將能力充分發(fā)揮出來。如此下去,軟件的復(fù)用目的也就實現(xiàn)了。

      軟件復(fù)用技術(shù)解決了軟件危機問題,提高了軟件開發(fā)效率,降低了軟件開發(fā)中的浪費,使軟件成本變得較低,從而使軟件質(zhì)量得到了進一步的保障。

      [1] 李艷平.基于可復(fù)用構(gòu)件的軟件開發(fā)方法[J].菏澤學(xué)院學(xué)報,2008,(5).

      [2] 武偉,張明新,李聰.軟件復(fù)用技術(shù)在基于B/S模式的新聞管理系統(tǒng)中的應(yīng)用研究[J].科技信息:科學(xué)教研,2008,(2).

      [3] 王亞明,郭峰,向陽霞.軟件復(fù)用技術(shù)及其開發(fā)方法[J].北京廣播電視大學(xué)學(xué)報,2007,(2).

      [4] 程煜,劉會忠.軟件復(fù)用技術(shù)在管理軟件中的應(yīng)用[J].中國科技信息,2007,(15).

      [5] 盛潔谞.基于軟件構(gòu)件技術(shù)的CMM模型研究[J].艦船電子工程,2007,(5).

      [6] Gang Huang,Hong Mei,Yang Fu-qing.Runtime Recovery and Manipulation of Software Architecture of Component-based Systems[J].Automated Software Engineering,2006,13,(2).

      [7] Ivar Jacobson,Martin Griss,Patrik Jonsson.Software Reuse Architecture,Process and Organization for Business Success[M].北京:機械工業(yè)出版社,2003.

      猜你喜歡
      復(fù)用技術(shù)嵌入式構(gòu)件
      電動汽車電機驅(qū)動系統(tǒng)零轉(zhuǎn)矩充電復(fù)用技術(shù)簡介
      搭建基于Qt的嵌入式開發(fā)平臺
      軟件工程領(lǐng)域應(yīng)用復(fù)用技術(shù)的分析
      嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
      建筑構(gòu)件
      建筑構(gòu)件
      建筑構(gòu)件
      建筑構(gòu)件
      “獵鷹”9號的復(fù)用技術(shù)與展望
      太空探索(2016年2期)2016-07-12 09:57:25
      第5代移動通信基本要求與新型多址復(fù)用技術(shù)
      康定县| 吉首市| 云梦县| 手游| 武鸣县| 聂拉木县| 吴川市| 宜州市| 荔浦县| 那曲县| 孝昌县| 克拉玛依市| 荆门市| 西乌| 南岸区| 马山县| 台中市| 淮南市| 盱眙县| 科技| 崇阳县| 新丰县| 房产| 绥德县| 嘉兴市| 崇州市| 运城市| 普兰店市| 郎溪县| 突泉县| 昭通市| 梁山县| 溧阳市| 安岳县| 海丰县| 运城市| 吉隆县| 荥阳市| 绥宁县| 定襄县| 柏乡县|