亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        淺談新一代公共軟件平臺的構(gòu)建

        2017-12-09 13:27:49黃振業(yè)
        科技視界 2017年24期

        黃振業(yè)

        【摘 要】本文闡述了公共軟件平臺的功能及發(fā)展。分析了當前平臺開發(fā)和應(yīng)用中存在的不足及在實踐中遇到的困難,提出了一種新的公共軟件平臺的構(gòu)建方法,并闡明了其優(yōu)點以及對其開發(fā)流程和相應(yīng)的應(yīng)用開發(fā)模式進行了探討。

        【關(guān)鍵詞】公共軟件平臺;組件對象模型;開放源代碼

        1 軟件平臺的產(chǎn)生及發(fā)展

        軟件平臺通常是指建構(gòu)于硬件設(shè)備和操作系統(tǒng)之上的應(yīng)用開發(fā)框架,它的范疇并沒有一個嚴格的界定。通常操作系統(tǒng)之上與具體的應(yīng)用邏輯無關(guān)的公共軟件部分都可以歸于軟件平臺,當然在具體的實現(xiàn)中平臺和應(yīng)用也經(jīng)常出現(xiàn)在此消彼漲或相互重疊的現(xiàn)象。

        顯而易見,軟件平臺產(chǎn)生的初衷是為了在規(guī)模化的軟件開發(fā)中提高應(yīng)用軟件開發(fā)效率,節(jié)約開發(fā)資源;由于平臺完成了絕大部分公共代碼,因而應(yīng)用程序的開發(fā)將大為簡化,同時采用一套穩(wěn)定的公共平臺也大大降低了測試和維護的工作量。

        目前公共軟件平臺的實現(xiàn)主要包括以下幾個方面:

        操作系統(tǒng)適配層:通常是一個公共函數(shù)庫,它的主要目的是封裝系統(tǒng)調(diào)用,隔離應(yīng)用程序和底層操作系統(tǒng)及硬件,實現(xiàn)代碼的可移植性。

        OAM框架:提供公共的操作維護機制。

        應(yīng)用程序框架:主要是為了進一步簡化應(yīng)用的實現(xiàn)或增強某些特性,而引入的公共的服務(wù),如任務(wù)管理,狀態(tài)機模板,以及為了適應(yīng)分布式應(yīng)用和負載均分,高可靠性而引入的一些公共的機制或中間件。

        開發(fā)工具:為了方便應(yīng)用實現(xiàn)而開發(fā)的一些輔助設(shè)計和實現(xiàn)工具,如任務(wù)編輯器,狀態(tài)機編譯器等。

        2 傳統(tǒng)軟件平臺建設(shè)中面臨的困難

        傳統(tǒng)的軟件平臺通常是由專門的團隊開發(fā),作為獨立的子系統(tǒng)或通過SERVICE LIBRARY的方式提供服務(wù)給應(yīng)用開發(fā)人員。但是這種方法有著很多不足之處:

        1)平臺功能的重復(fù)開發(fā)嚴重。由于平臺的開發(fā)往往是和應(yīng)用開發(fā)同時進行,甚至落后于應(yīng)用的開發(fā),造成了大量平臺功能在不同應(yīng)用中重復(fù)實現(xiàn)和棘手的版本問題。

        2)平臺后期推廣困難。由于市場的壓力,很多軟件產(chǎn)品的開發(fā)來不及針對軟件平臺做詳細的全局的規(guī)劃,同時由于軟件巨大的代碼量和復(fù)雜度,使后來的平臺引入,特別是替換那些已經(jīng)在應(yīng)用中實現(xiàn)了的功能變得困難重重。對于那些模塊化不好的軟件,由于錯綜復(fù)雜的依賴關(guān)系和交叉耦合,實際上如果不重寫軟件,那么不可能實現(xiàn)平臺化。

        3)平臺功能的擴充較慢。平臺功能的升級速度很難滿足各種不同應(yīng)用的多方面的需求。

        4)對一些復(fù)雜應(yīng)用特性支持困難。采用C函數(shù)庫或獨立子系統(tǒng)的方式來提供對一些高級特性的支持,如分布性與高可靠性,容易造成平臺自身結(jié)構(gòu)的復(fù)雜化和靈活性的下降。

        為了克服這些困難,我們有必要考慮從根本上改進平臺開發(fā)模式和實現(xiàn)方法,以促進平臺在實時開發(fā)中應(yīng)用。

        3 新一代軟件平臺

        有一種形象的說法:騎自行車是不可能登上月球的。分析計算機語言的發(fā)展歷程可以發(fā)現(xiàn),編程語言的每一次升級都帶來開發(fā)效率的提高和軟件結(jié)構(gòu)的變化。要實現(xiàn)更加復(fù)雜的功能和特性,通常必須采用更先進的開發(fā)工具和方法。

        設(shè)想一下,如果我們用匯編語言來開發(fā)目前實時系統(tǒng)中一個簡單的模塊,如果消息隊列或者協(xié)議棧將會是什么情況。實際上,現(xiàn)今的實時軟件開發(fā)正處于這種困境中,現(xiàn)有的開發(fā)手段不足以應(yīng)付開發(fā)復(fù)雜度和可靠性要求越來越高的軟件系統(tǒng)的要求。同時我們看到,編程語言的發(fā)展趨勢是隨著需求的不斷提高而不斷引入新的特性和增強的語素-從指令,到語言,函數(shù),對象,再到組件。正是由于C語言的基本語素——函數(shù)缺乏支持更高級需求的特征,因而造成了廣泛存在的代碼復(fù)用率和開發(fā)效率低下的問題。

        綜上所述,平臺開發(fā)和應(yīng)用中存在的問題主要是和軟件的設(shè)計方法和開發(fā)模式有關(guān)。要解決這些問題,必須從軟件工程的方向入手,對目前的開發(fā)模式進行改造。那么,實時軟件開發(fā)應(yīng)該采用什么樣的開發(fā)工具和開發(fā)模式呢?首先,工程化意味著必須有明確的設(shè)計、生產(chǎn)、組裝、測試的階段和分工。其次,工程化還有一層隱含的意思,那就是必須在相當大的限度內(nèi),軟件開發(fā)的效率應(yīng)當與投入的人力資源成近似正比關(guān)系。在當前的模式下很難完全做到第一點,即便是做了,效果也不理想;對于第二點,則其限度——即人員的飽和點遠遠不能滿足實際要求。

        工程化是產(chǎn)業(yè)化的必然要求。如果我們把目光從實時軟件轉(zhuǎn)向桌面平臺去看一看,或許能從中得到啟發(fā)。微軟已經(jīng)成功地實現(xiàn)了到軟件工程的轉(zhuǎn)化,其根本途徑是組件式開發(fā)。簡單地講,組件式開發(fā)就是像建筑業(yè)用磚、瓦、水泥板等預(yù)制件來構(gòu)造一座軟件大廈一樣。它的根本依據(jù)是軟件實現(xiàn)的模塊化分解和建模,即任意軟件可以分解為無交叉耦合的多個模塊。模塊的劃分越細,則并發(fā)開發(fā)的人員越多,開發(fā)效率就越高;建模則是要求按上訴條件分解后的軟件系統(tǒng)可以用完備的非代碼的方法描述。即開發(fā)人員可以根據(jù)設(shè)計文檔完成模塊開發(fā)和組合。

        如果引入了平臺的概念,實時軟件和桌面軟件實際上已經(jīng)沒有本質(zhì)的區(qū)別。桌面軟件的開發(fā)模式和經(jīng)驗也同樣適用于實時軟件的開發(fā)。因此,組件式開發(fā)也將是實時軟件開發(fā)工程化的必經(jīng)之路。

        4 實現(xiàn)方法

        建設(shè)組件化的公共軟件平臺應(yīng)采取以下幾個步驟:

        1)制定組件規(guī)范。必須針對實時軟件的特性對微軟的COM規(guī)范進行必要的擴展,包括增加支持實時應(yīng)用的標準接口。

        2)選取或開發(fā)OS適配庫,組件支持庫,開發(fā)組件編譯器,測試環(huán)境。這是組件式開發(fā)的基礎(chǔ)。

        3)建立組件資源庫,包括管理界面,組件上下載界面,Q/A界面。建立組件資源庫的目的是固化已有的軟件成果,使其可以繼承和復(fù)用。顯然,組件資源庫將隨著時間的推移而不斷擴大。完善的交互界面可以提高資源庫的使用效率。

        4)培訓(xùn)開發(fā)人員。包括組件的開發(fā)和使用,組件的檢索,下載和提交。

        5)開放資源庫,接受提交,測試并發(fā)布已提交的組件。觀察當前留下的開放源代碼的發(fā)展可以發(fā)現(xiàn),這是一種非常有效的分布式開發(fā)模式。它的成功之處一方面在于能夠匯聚零散的開發(fā)資源——由于眾多的參與者的加入,每一個開放源代碼軟件都能夠得到充分的開發(fā)、測試、使用和維護的支持。另外一個成功的原因在于,每一個項目成員的參與,通常都是基于對這個項目的強烈需求或者濃厚興趣。雖然這種方法來開發(fā)一個完整的商用軟件是不充分的,但是它卻可以成為開發(fā)一個逐步積累的組件資源庫的最佳途徑。特別是如果對于每一個提交都有相應(yīng)的激勵,就能夠更加有效地提高向組件式開發(fā)轉(zhuǎn)化的進程。開發(fā)人員會非常樂于開發(fā)和使用組件,并且逐步對已有的軟件中可以用組件實現(xiàn)的代碼進行轉(zhuǎn)換,從而擴大已有代碼的組件化比率,并最終實現(xiàn)全面的組件式開發(fā)。

        6)當設(shè)計人員,開發(fā)人員都已經(jīng)習(xí)慣于組件式開發(fā)時,原有的開發(fā)隊伍就會自然而然地分化為:系統(tǒng)設(shè)計人員、組件開發(fā)人員和使用者。很顯然,他們的功能分別對應(yīng)于設(shè)計、生產(chǎn)和組裝,這正是軟件工程的要求之一。

        7)隨著組件資源的不斷積累,新的應(yīng)用軟件開發(fā)將變得越來越簡單,效率也越來越高。

        與傳統(tǒng)平臺相比,新的方案具有以下幾個優(yōu)點:

        1)強調(diào)了平臺自身的模塊化,即使用者可以根據(jù)需求選取必要的功能模塊,而不必依賴于龐大、復(fù)雜的平臺子系統(tǒng)。

        2)應(yīng)用開發(fā)人員可以根據(jù)自己的需求對已有的平臺功能進行擴展和擴充,而不會影響其它的使用者。這大大提高了平臺的發(fā)展速度。

        3)良好的組件規(guī)范和設(shè)計方法能夠保證么一個組件都成為恒久的軟件資源,使之不會隨著產(chǎn)品的升級換代而流失。

        4)統(tǒng)一的資源庫使不同應(yīng)用之間也可以實現(xiàn)組件共享,從而實現(xiàn)整個公司范圍內(nèi)開發(fā)資源的優(yōu)化。

        5)可以促使開發(fā)人員提高模塊化意識,改善軟件結(jié)構(gòu)。

        當然我們要做到這些,前提是必須制定和實施完善的組件對象模型規(guī)范。從長遠的發(fā)展考慮,越早實施新的方案越有利于開發(fā)效率提高和資源的積累。

        【參考文獻】

        [1]汪瑞嶸,等.基于SOA的軟件公共服務(wù)平臺設(shè)計與實現(xiàn),軟件產(chǎn)業(yè)與工程,2014.11.

        [2]Samuel Qu,Using COM+&UML for Real-time Software Design,2003.endprint

        亚洲成a人片在线| 女人被狂躁的高潮免费视频| 先锋中文字幕在线资源| 亚洲熟伦熟女新五十路熟妇| 婷婷四虎东京热无码群交双飞视频| 少妇人妻陈艳和黑人教练| 免费a级毛片在线观看| 久久久婷婷综合亚洲av| 亚洲国产中文字幕无线乱码| 亚洲av片在线观看| 国产精品亚洲欧美云霸高清| 按摩师玩弄少妇到高潮hd| 麻豆最新国产av原创| 影音先锋女人aa鲁色资源| 99久久久久国产| 亚洲精品中文字幕乱码人妻| 日产一区二区三区免费看| 国产精品无码一本二本三本色| 亚洲熟妇一区无码| 国产视频一区二区三区在线看 | 亚洲av无码一区二区三区鸳鸯影院| 97伦伦午夜电影理伦片| 一区二区视频观看在线| 国产专区亚洲专区久久| 亚洲国产欧美在线观看| 精品人妻伦九区久久AAA片69| 自拍偷拍另类三级三色四色| 日本亚洲精品一区二区三| 亚洲色丰满少妇高潮18p| 久久国产影视免费精品| 美国黄色av一区二区| 挺进邻居丰满少妇的身体| 四虎影视在线观看2413| 男女发生关系视频网站| 中文字幕一区二区三区久久网| 高清偷自拍第1页| 免费一级a毛片在线播出 | 亚洲精品白浆高清久久| 麻豆精品一区二区综合av| 亚洲av日韩专区在线观看| 午夜免费福利一区二区无码AV|