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