移動通信產(chǎn)品分成四大類,第一類是設(shè)備.包括交換機、路由器、基站等有線和無線網(wǎng)絡(luò)中的設(shè)備,第二類產(chǎn)品是終端.包括普通手機、智能手機、PDA和尋呼機等設(shè)備.第三類是電信平臺.包括智能網(wǎng)平臺、BOSS、運營商的各種管理平臺(比如misc)等系統(tǒng).第四類是服務(wù).就是短信、彩信、WAP、IVR、KJAVA和BREW等增值業(yè)務(wù)。第一類產(chǎn)品基本都是嵌入式設(shè)備,包括硬件和嵌入式軟件.第二類產(chǎn)品中除硬件外,軟件包括驅(qū)動(嚴格來說是軟硬件的接口層)、操作系統(tǒng)和應(yīng)用軟件。第三類和第四類產(chǎn)品全是軟件產(chǎn)品.所以終端和設(shè)備中的軟件再加上電信平臺和增值業(yè)務(wù)就是我們所說的移動通信軟件.那么進行電信軟件開發(fā)的技術(shù)人員應(yīng)該有什么樣的知識結(jié)構(gòu)呢,新疆軟件開發(fā)網(wǎng) 。 首先針對每一類產(chǎn)品所需要的知識進行分析。 第一:設(shè)備軟件開發(fā),80%以上都是采用VxWorks或pSOS,當然有一些公司的設(shè)備(包括華為)正陸續(xù)遷移到Linux平臺.采用的開發(fā)語言主要是C/C++,開發(fā)環(huán)境VxWorks是Tornado,使用這兩個平臺的設(shè)備商的開發(fā)團隊在該平臺方面肯定有積累,很多的功能(比如IPC方面的,內(nèi)存分配方面的)都已經(jīng)做好了封裝,所以你需要做的工作是熟悉這些封狀的API.但是,因為其中涉及大量的比較復(fù)雜的數(shù)據(jù)結(jié)構(gòu),比如十字鏈表和Radix樹,以及圖,所以要求你對數(shù)據(jù)結(jié)構(gòu)有比較深刻的認識,當然你的C語言的功能要深厚,尤其是指針的使用.因為這些設(shè)備都是進行協(xié)議處理的設(shè)備,所以你對于即將開發(fā)的協(xié)議要有充分的認識.如果你要做路由,那么必須要研究TCP/IP協(xié)議,如果你要做MSC,那么必須研究GSM的網(wǎng)絡(luò)結(jié)構(gòu)、處理流程和協(xié)議結(jié)構(gòu)。如果你要開發(fā)VOIP和流媒體產(chǎn)品,你需要研究H.232和SIP協(xié)議.如果要開發(fā)GGSN和SGSN,那么就要研究CDMA中的骨干網(wǎng)結(jié)構(gòu),協(xié)議和流程.所以第一類產(chǎn)品的知識結(jié)構(gòu)為深厚和C語言功底+深刻的協(xié)議理解. 第二:終端軟件開發(fā).終端軟件中的主流操作系統(tǒng)包括Windows CE、Symbian、Linux和Palm os,其中前三中系統(tǒng)的市場占有率超過99%.操作系統(tǒng)本身都比較成熟,基本不涉及什么開發(fā)的工作,但Linux系統(tǒng)課程要做一些修改和定制.終端上的應(yīng)用軟件跟PC上的應(yīng)用軟件從本質(zhì)上是相同的.而終端上的驅(qū)動開發(fā)相對來說就是技術(shù)難度較高的開發(fā).因為需要你對硬件有什么的認識,還可能要用到匯編.而應(yīng)用軟件的開發(fā)在各平臺下都有成熟的開發(fā)工具.Linux下用gcc+c(c++)就可以了,wince可用EVC,symbian的SDK也可以跟VC集成,如果你有比較豐富的VC開發(fā)經(jīng)驗,對你的終端軟件開發(fā)會有非常大的幫助.所以第二類產(chǎn)品的知識結(jié)構(gòu)為語言+平臺提供的API(如果是驅(qū)動需要計算機結(jié)構(gòu)的知識). 第三類:平臺軟件開發(fā).電信平臺軟件90%以上都是基于UNIX平臺的,使用的數(shù)據(jù)庫包括oracle,informix和sybase,其中oracle的分額最大,而且現(xiàn)在很多的系統(tǒng)在從informix和sybase遷移到oracle.平臺軟件中即包括B/S結(jié)構(gòu)的也包括C/S結(jié)構(gòu)的.C/S結(jié)構(gòu)的一般采用C/C++開發(fā),B/S結(jié)構(gòu)的一般采用J2EE,當然也會出現(xiàn)B/S和C/S結(jié)構(gòu)的混合.C/S結(jié)構(gòu)中的客戶端主要是Delphi或VC開發(fā)的,在C/S結(jié)構(gòu)的應(yīng)用中對網(wǎng)絡(luò)編程(利用Socket)要較高的要求,很多人覺得socket編程很簡單,其實不然,其中有很多的陷阱.所以第三類產(chǎn)品的知識結(jié)構(gòu)為C/C++ + UNIX(Linux) + Oracle + J2EE(java) + 應(yīng)用服務(wù)器+界面開發(fā). 第四類:服務(wù)產(chǎn)品開發(fā).服務(wù)產(chǎn)品開發(fā)中可以分成嵌入式方面的Kjava/BREW和非嵌入式方面的短信,彩信,WAP和IVR.當然,還包括定位業(yè)務(wù)和彩鈴業(yè)務(wù).Kjava是Java的一個子集,所以,一個JAVA程序員過度到Kjava相對容易.BREW是用C或C++開發(fā),并且提供了與VC集成的開發(fā)環(huán)境.所以,這兩中技術(shù)開發(fā)的知識結(jié)構(gòu)是語言+開發(fā)環(huán)境的API+運營商的規(guī)范.SMS/MMS/WAP開發(fā)技術(shù)與第三類軟件的開發(fā)技術(shù)類似,只不過技術(shù)含量更低一些,而且因為性能和安全要求要低一些,所以可能采用MS的.NET技術(shù)架構(gòu).為進行服務(wù)產(chǎn)品開發(fā),同時需要對運營商的協(xié)議和規(guī)范有清楚的認識 綜合以上所述移動通信軟件的知識結(jié)構(gòu)為 C(C++)+JAVA(J2EE)+UNIX+ORACLE+嵌入式平臺+電信協(xié)議+運營商規(guī)范.而要做一個非常出色的軟件人員,操作系統(tǒng)和數(shù)據(jù)結(jié)構(gòu)是必須要研究的,盡管各種開發(fā)架構(gòu)提供的數(shù)據(jù)結(jié)構(gòu)越來越豐富,我們的開發(fā)越來越跨平臺,但這些基礎(chǔ)的東西必須要扎實.其中,很多的思想,比如進程調(diào)度思想,內(nèi)存分配思想,各種查詢算法等對你的思路的鍛煉和開拓的作用是相當大的,如果能夠掌握的很扎實,那么將使你受益無窮.
|