999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

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

黃振業(yè)

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

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

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

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

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

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

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

OAM框架:提供公共的操作維護(hù)機(jī)制。

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

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

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

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

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

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

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

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

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

3 新一代軟件平臺

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

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

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

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

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

4 實(shí)現(xiàn)方法

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

1)制定組件規(guī)范。必須針對實(shí)時(shí)軟件的特性對微軟的COM規(guī)范進(jìn)行必要的擴(kuò)展,包括增加支持實(shí)時(shí)應(yīng)用的標(biāo)準(zhǔn)接口。

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

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

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

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

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

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

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

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

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

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

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

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

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

【參考文獻(xiàn)】

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

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

主站蜘蛛池模板: 自拍偷拍欧美日韩| 国产自在线播放| 国产小视频网站| 在线人成精品免费视频| 亚洲性影院| 毛片免费在线| 极品性荡少妇一区二区色欲| 91精品国产一区| 国产成人禁片在线观看| 香港一级毛片免费看| 精品一区二区三区视频免费观看| 22sihu国产精品视频影视资讯| 久久综合国产乱子免费| 国产福利微拍精品一区二区| 国产精品手机在线播放| 亚洲国产精品无码AV| 国产99欧美精品久久精品久久| 国产免费观看av大片的网站| 国产尤物jk自慰制服喷水| 精品少妇人妻一区二区| 久久综合伊人77777| 亚洲国产在一区二区三区| 亚洲AV无码久久天堂| 九九九国产| 亚洲有无码中文网| 国产97色在线| 精品自窥自偷在线看| 国产毛片片精品天天看视频| 成人福利在线视频免费观看| 91久久偷偷做嫩草影院精品| 久久综合AV免费观看| 蜜桃臀无码内射一区二区三区| 亚洲国产精品美女| 欧洲成人在线观看| 亚洲高清无码精品| 国产成人精品视频一区二区电影| 五月天福利视频| 日本高清成本人视频一区| 性欧美精品xxxx| 国产成人在线无码免费视频| 亚洲高清在线天堂精品| 国产亚洲视频播放9000| 专干老肥熟女视频网站| 亚洲中文字幕无码mv| 熟妇人妻无乱码中文字幕真矢织江 | 亚洲欧美自拍视频| 国产在线一区视频| 久久精品一品道久久精品| 久久精品亚洲热综合一区二区| 欧美全免费aaaaaa特黄在线| 制服丝袜亚洲| 国产精品一区二区无码免费看片| 亚洲an第二区国产精品| 日韩福利视频导航| 在线亚洲小视频| 97精品国产高清久久久久蜜芽| 亚洲成av人无码综合在线观看| 思思热在线视频精品| 色丁丁毛片在线观看| jizz在线观看| 欧美国产精品不卡在线观看 | 欧美成人手机在线视频| 欧洲亚洲欧美国产日本高清| 亚洲动漫h| 啪啪国产视频| 一级高清毛片免费a级高清毛片| 欧美成人一级| 日本高清有码人妻| 国产不卡在线看| 毛片免费试看| 亚洲综合18p| 亚洲欧美h| 三上悠亚在线精品二区| 国产精品成人不卡在线观看| 亚洲精品波多野结衣| 亚洲国产欧美中日韩成人综合视频| 欧美日韩在线国产| 日韩大乳视频中文字幕| 亚洲国产看片基地久久1024| 在线无码九区| 中文字幕首页系列人妻| 国产精品视频猛进猛出|