与其说事先掌握好什么知识,不如说有没有不断学习掌握新知识的心态和思想准备、体力准备更重要。给自己找准一个方向最重要。
从开发的角度上简单的说手机软件可以分成应用软件、用户界面、操作系统、底层与设备驱动以及通信协议等几个方面。测试是手机软件开发的另外一个重要领域,分为协议测试、白箱测试以及系统测试。
应用软件包括游戏、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协议中呼叫建立和呼叫拆除过程。
分享到:
相关推荐
在手机软件开发领域,需要掌握多种技术,以下是其中的一些关键知识点: 1. JAVA 基础知识 JAVA 是安卓应用程序开发的基础语言,掌握 JAVA 基础语法是必备的。包括变量、数据类型、运算符、控制结构、函数、数组、...
综上所述,从事手机软件开发特别是安卓开发,需要掌握一系列技术和知识。从基础的JAVA语言到高级的设计模式,再到具体的安卓开发技巧,每一步都需要认真对待。此外,了解服务器端开发知识也非常重要,尤其是当应用...
通过以上介绍,我们可以看到《软件开发基础知识 v0.6》涵盖了软件开发领域的多个关键方面,从Cygwin的使用到Linux的基本知识,再到Java编程,这些内容都是从事软件开发工作不可或缺的基础。希望这些知识点能够帮助...
本系列课程主要介绍软件开发过程中需要掌握的各种技能和知识,是所有从事软件开发人员的必备工具手册。同时以ASP.NET为例,介绍了一些常用项目的设计、开发过程,非常具有实用性。 本次课程介绍:对于程序员来说,...
在软件知识方面,电子工程师需要掌握汇编语言和C51等编程语言,这些语言是开发嵌入式系统和编程单片机的基础。此外,熟练地使用各种开发板可以帮助电子工程师在实践中掌握更多硬件和软件技能。 电子工程师的工作不...
《GSM手机软件开发》是武汉科技大学朱亚洲...通过对以上这些知识点的深入理解和实践,朱亚洲的论文为GSM手机软件开发提供了一套系统的理论框架和实践经验,对于从事移动通信软件开发的工程师来说是一份宝贵的参考资料。
性能测试是软件开发过程中的重要环节,用于评估和优化系统的响应速度、负载能力和稳定性。要学好性能测试,需要掌握一系列的知识和技能。以下是一些关键领域的详细说明: 1. **基础理论**:首先,你需要了解性能...
本书以Eclipse开发环境为背景,以J2ME手机程序开发为线索,对J2ME的基本知识、开发环境的配置与准备、常用的开发工具尤其是Eclipse的使用方法、J2ME图形界面编程、MIDP 1.0和MIDP 2.0开发手机游戏程序等主要内容做了...
《软件开发流程实训教程》是杜文洁编著的一份电子教案,主要涵盖了软件开发的整个过程,旨在通过实训的方式帮助学习者深入理解和掌握软件工程的...对于希望从事软件开发行业的人员来说,这是一份非常实用的学习资料。
因此,从事嵌入式软件开发的工程师需要具备跨学科的知识结构和扎实的技术功底。 本书的知识点覆盖广泛,不仅限于ARM编程和Linux系统开发,还包括了与实际工作密切相关的运维技术。它适合有一定基础的IT专业人员学习...
本资源摘要信息全面、详细地阐述了C++软件开发工程师的岗位职责、任职要求和知识点,涵盖了Windows平台下的开发、图像处理和视频处理算法、计算机体系知识结构等多方面的知识领域,为从事C++软件开发工程师职业的...
在软件开发领域,一个完善的开发流程对于项目的成功至关重要。本课件“软件开发流程详细课件”深入浅出地讲解了这一主题,旨在帮助初学者和专业人士...了解并精通这些知识点,将对从事软件开发工作的专业人士大有裨益。
计算机应用与软件开发专业是当代计算机应用的主流,软件开发人员需要掌握正确的开发手段和了解软件开发的主要过程。以下是计算机应用与软件开发专业的求职信知识点: 一、计算机应用与软件开发专业概述 * 计算机...
通过这个蓝图,学员可以系统地了解软件开发过程中所需掌握的各类技能和知识。蓝图的制定会包含多方面的内容,从基础的编程语言学习到深入的系统架构设计,甚至是对特定行业软件开发需求的解析。 文件中明确出现了...
【软件开发工具】是软件开发过程中的重要辅助手段,它们帮助开发者提高效率,规范开发流程,确保软件质量。2023年1月的自考软件开发...掌握这些知识对于从事软件开发工作至关重要,因为它们构成了软件工程的基础框架。
总的来说,《软件开发案例分析》实验指导书提供了一个实践平台,让学生能够将理论知识应用于实际的软件开发过程中,从而提高他们的专业技能,为未来从事软件系统分析与设计工作做好充分准备。通过实验报告的撰写和...
教学目标中,课程目标是掌握嵌入式软件开发的思想和方法,掌握嵌入式软件开发的过程和技巧,熟练使用相关嵌入式软件开发工具,具备初步分析问题和解决问题的能力,能够从事嵌入式软件开发。 教学要求中,教学基本...
【全国2007年10月高等教育自学考试软件开发工具试题答案】涵盖了软件开发过程中的多种关键概念和工具。该试题旨在测试考生对于软件...对于任何从事或准备进入软件开发领域的学习者来说,这些都是至关重要的知识和技能。