与其说事先掌握好什么知识,不如说有没有不断学习掌握新知识的心态和思想准备、体力准备更重要。给自己找准一个方向最重要。
从开发的角度上简单的说手机软件可以分成应用软件、用户界面、操作系统、底层与设备驱动以及通信协议等几个方面。测试是手机软件开发的另外一个重要领域,分为协议测试、白箱测试以及系统测试。
应用软件包括游戏、WAP浏览器,Web浏览器、e-mail信箱管理器、MP3播放器、MPEG播放器、Flash播放器、日程管理、电子辞典、语音录音、语音识别以及汉字输入等等。
用户界面包括待机界面、呼叫控制、MMS界面、短消息/EMS界面等等一切操作手机时所能够看到的、听到的和摸到的过程控制。开发用户界面涉及到对GUI和通信过程的理解。
每个手机里面都有一个嵌入式多任务操作系统,如Nucleus, AMX等等。这个系统不仅要管理好所有的任务,而且要提供纠错环境。
底层部分包含语音编解码、信令在无线接口上进行传输编解码、数据编解码等等内容。设备驱动指的是LCD驱动、Flash驱动、GPIO驱动、MIDI芯片驱动、通用串口驱动、USB驱动、电源管理单元驱动等等方面。
通信协议包含完成空中传输过程第2层、第3层协议、补充业务协议、数据传输协议、以及SIM/UIM协议等等。扩展一点,TCP/IP协议,WAP协议也可以归在这一类。
除此以外最新的手机还支持Java等应用环境的整合。
可以看得出整个手机的软件,涉及到一个巨大的知识系统。体现到代码上,最简单的手机,它的软件系统至少也需要40万行代码。一般的手机软件的代码规模,在100万行左右。
一个软件开发专业人员每年能够生产得代码量,在1万行左右。
以上所说的每一个方面都涉及到一个庞大的知识系统,不是念完大学课程、甚至博士课程就马上可以应付得了的。所以,重要的是选准一个自己最感兴趣的领域,瞄准这个领域切入,苦干3~5年,才能略有建树。
值得一提的是,国内厂商十分紧缺的是测试专家,尤其是空中接口协议测试专家。
不管怎样,手机软件开发最低的入门条件是:
1. 熟悉《数据结构》
2. 熟悉多任务操作系统
3. 精通C语言
4. 略知通信协议,比如ISDN协议中呼叫建立和呼叫拆除过程。
分享到:
相关推荐
本系列课程主要介绍软件开发过程中需要掌握的各种技能和知识,是所有从事软件开发人员的必备工具手册。同时以ASP.NET为例,介绍了一些常用项目的设计、开发过程,非常具有实用性。 本次课程介绍:对于程序员来说,...
本系列课程主要介绍软件开发过程中需要掌握的各种技能和知识,是所有从事软件开发人员的必备工具手册。同时以ASP.NET为例,介绍了一些常用项目的设计、开发过程,非常具有实用性。 本次课程介绍:对于程序员来说,...
本书以Eclipse开发环境为背景,以J2ME手机程序开发为线索,对J2ME的基本知识、开发环境的配置与准备、常用的开发工具尤其是Eclipse的使用方法、J2ME图形界面编程、MIDP 1.0和MIDP 2.0开发手机游戏程序等主要内容做了...
软件开发实习报告3000字 软件开发实习报告3000字【1】 一、实习目的 进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战 经验。学习SQL的基础知识及正确的运用方法,和有用的相关技术,提高...
一、软件方面的知识: 1、嵌入式微处理器结构与应用: 或传统的“微机原理与接口”课程,嵌入式是软硬件结合的技术,搞嵌入式系统的人应对ARM处理器工作原理和接口技术有充分了解,包括汇编指令系统。不了解...
培养具有良好的综合素质、良好的 职业道德、扎实的软件工程理论知识及较强的英语综合应用能力,掌握自然科学 和与软件有关的法律基础知识、具有自主学习和使用先进软件开发技术和工具的 能力,具有软件开发实践和...
不好意思,本人发的"北大青鸟ACCP 6.0 软件开发初级程序员:c#语言和数据库技术基础"和 "北大青鸟ACCP 6.0 软件开发初级程序员:使用C#语言开发数据库应用系统" 文件搞反了,如果一起下载不影响的。呵呵 ACCP...
培养具有良好的综合素质、良好的职业道德、扎 实的软件工程理论知识及较强的英语综合应用能力,掌握自然科学和与软件有关的法律 基础知识、具有自主学习和使用先进软件开发技术和工具的能力,具有软件开发实践和 ...
该面试题库适用于有意向从事嵌入式软件开发工作的求职者,包括有相关工作经验或学习经历的人员。无论是初学者还是有一定经验的专业人士,都可以通过该题库来检验自己的知识水平和技能掌握程度。 使用场景及目标: ...
本专业培养掌握软件工程领域基础理论知识和先进的开发技术,具备软件开发和管理能力,能从事软件系统分析、设计、开发和项目管理,适应社会主义市场经济和信息产业发展需要的复合型、实用型高级软件设计、开发及管理...
这儿收集了很多C++的基础知识,是即将毕业,想从事VC软件开发方向的大学生的必备内容,基本很多公司和企业的面试题目都可以从里面找到.
“程序设计语言”和“数据机构”等是它的前导课程,学好本课程对学生毕业后从事软件开发有着极为重要的作用。 要学好“软件工程”,仅仅通过课堂教学或自学掌握理论知识是远远不够的,还必须加强实践,需要完成软件...
CCP(Aptech Certified Computer Professional)是印度最早从事IT职业教育的Aptech计算机教育公司推出的培养软件程序设计人员的课程体系,由北大青鸟集团于2000年引入中国。该课程体系通过结合先进的多模式教学法,...
该面试题库适用于有意向从事嵌入式软件开发工作的求职者,包括有相关工作经验或学习经历的人员。无论是初学者还是有一定经验的专业人士,都可以通过该题库来检验自己的知识水平和技能掌握程度。 使用场景及目标: ...
步理解和掌握软件开发模型、软件生命周期、软件过程等理论在软件项目 开发过程中的意义和作用,培养学生按照软件工程的原理、方法、技术、 标准和规范,进行软件开发的能力,培养学生的合作意识和团队精神,培 养...
同时,对于从事软件开发和设计的相关工作人员,本套资料也有很高的参考价值。 使用场景及目标: 准备参加软件设计师中级软考的人员,用于复习和巩固考试所需的知识点和技能; 正在从事软件开发和设计的人员,用于...
不好意思,本人发的"北大青鸟ACCP 6.0 软件开发初级程序员:c#语言和数据库技术基础"和 "北大青鸟ACCP 6.0 软件开发初级程序员:使用C#语言开发数据库应用系统" 文件搞反了,如果一起下载不影响的。呵呵 ACCP...
有效帮助软件工程开发文档的编写,使学生进一步了解和掌握软件工程原理,提高对实际项目的分析和设 计能力,通过实验课程,熟悉和基本掌握软件工程方法学、软件 开发的过程,文档资料的编写格式及规范,全面领会和...
不好意思,本人发的"北大青鸟ACCP 6.0 软件开发初级程序员:c#语言和数据库技术基础"和 "北大青鸟ACCP 6.0 软件开发初级程序员:使用C#语言开发数据库应用系统" 文件搞反了,如果一起下载不影响的。呵呵 ACCP...
较为详细和系统的掌握了软件开发的知识体系。把所学知识与解决实际问题相联系 ,培养了自己发现问题、分析问题和解决问题的能力,从而提高了自己从事实际工作的 能力。 三、实习内容及过程 1、Java基础知识 Java的...