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