`
wangshu3000
  • 浏览: 131490 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

从事手机软件开发需要掌握什么知识?

阅读更多

与其说事先掌握好什么知识,不如说有没有不断学习掌握新知识的心态和思想准备、体力准备更重要。给自己找准一个方向最重要。

从开发的角度上简单的说手机软件可以分成应用软件、用户界面、操作系统、底层与设备驱动以及通信协议等几个方面。测试是手机软件开发的另外一个重要领域,分为协议测试、白箱测试以及系统测试。

应用软件包括游戏、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协议中呼叫建立和呼叫拆除过程。

分享到:
评论

相关推荐

    微软MSDNWebcast讲座《软件开发这点事儿》系列-01软件开发概述PPT

    本系列课程主要介绍软件开发过程中需要掌握的各种技能和知识,是所有从事软件开发人员的必备工具手册。同时以ASP.NET为例,介绍了一些常用项目的设计、开发过程,非常具有实用性。 本次课程介绍:对于程序员来说,...

    微软MSDNWebCAST_《软件开发这点事儿》_01软件开发概述_文档

    本系列课程主要介绍软件开发过程中需要掌握的各种技能和知识,是所有从事软件开发人员的必备工具手册。同时以ASP.NET为例,介绍了一些常用项目的设计、开发过程,非常具有实用性。 本次课程介绍:对于程序员来说,...

    J2ME手机程序Eclipse开发基础 源码

    本书以Eclipse开发环境为背景,以J2ME手机程序开发为线索,对J2ME的基本知识、开发环境的配置与准备、常用的开发工具尤其是Eclipse的使用方法、J2ME图形界面编程、MIDP 1.0和MIDP 2.0开发手机游戏程序等主要内容做了...

    实习报告-软件开发实习报告3000字.doc

    软件开发实习报告3000字 软件开发实习报告3000字【1】 一、实习目的 进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战 经验。学习SQL的基础知识及正确的运用方法,和有用的相关技术,提高...

    基础电子中的嵌入式系统开发要掌握的软硬件知识

    一、软件方面的知识:  1、嵌入式微处理器结构与应用:  或传统的“微机原理与接口”课程,嵌入式是软硬件结合的技术,搞嵌入式系统的人应对ARM处理器工作原理和接口技术有充分了解,包括汇编指令系统。不了解...

    软件工程课程表.pdf

    培养具有良好的综合素质、良好的 职业道德、扎实的软件工程理论知识及较强的英语综合应用能力,掌握自然科学 和与软件有关的法律基础知识、具有自主学习和使用先进软件开发技术和工具的 能力,具有软件开发实践和...

    北大青鸟ACCP 6.0 软件开发初级程序员:使用Java实现面向对象编程.pdf

    不好意思,本人发的"北大青鸟ACCP 6.0 软件开发初级程序员:c#语言和数据库技术基础"和 "北大青鸟ACCP 6.0 软件开发初级程序员:使用C#语言开发数据库应用系统" 文件搞反了,如果一起下载不影响的。呵呵 ACCP...

    软件工程课程表.doc

    培养具有良好的综合素质、良好的职业道德、扎 实的软件工程理论知识及较强的英语综合应用能力,掌握自然科学和与软件有关的法律 基础知识、具有自主学习和使用先进软件开发技术和工具的能力,具有软件开发实践和 ...

    嵌入式软件工程师面试题库分享

    该面试题库适用于有意向从事嵌入式软件开发工作的求职者,包括有相关工作经验或学习经历的人员。无论是初学者还是有一定经验的专业人士,都可以通过该题库来检验自己的知识水平和技能掌握程度。 使用场景及目标: ...

    软件工程专业本科培养方案.doc

    本专业培养掌握软件工程领域基础理论知识和先进的开发技术,具备软件开发和管理能力,能从事软件系统分析、设计、开发和项目管理,适应社会主义市场经济和信息产业发展需要的复合型、实用型高级软件设计、开发及管理...

    C++面试题(C++必须掌握的基础知识)

    这儿收集了很多C++的基础知识,是即将毕业,想从事VC软件开发方向的大学生的必备内容,基本很多公司和企业的面试题目都可以从里面找到.

    软件工程课程设计(各种数据流图)

    “程序设计语言”和“数据机构”等是它的前导课程,学好本课程对学生毕业后从事软件开发有着极为重要的作用。 要学好“软件工程”,仅仅通过课堂教学或自学掌握理论知识是远远不够的,还必须加强实践,需要完成软件...

    北大青鸟ACCP 6.0 软件开发初级程序员:使用C#语言开发数据库应用系统.pdf

    CCP(Aptech Certified Computer Professional)是印度最早从事IT职业教育的Aptech计算机教育公司推出的培养软件程序设计人员的课程体系,由北大青鸟集团于2000年引入中国。该课程体系通过结合先进的多模式教学法,...

    嵌入式软件工程师面试题库

    该面试题库适用于有意向从事嵌入式软件开发工作的求职者,包括有相关工作经验或学习经历的人员。无论是初学者还是有一定经验的专业人士,都可以通过该题库来检验自己的知识水平和技能掌握程度。 使用场景及目标: ...

    软件工程指导书-详细说明

    步理解和掌握软件开发模型、软件生命周期、软件过程等理论在软件项目 开发过程中的意义和作用,培养学生按照软件工程的原理、方法、技术、 标准和规范,进行软件开发的能力,培养学生的合作意识和团队精神,培 养...

    软件设计师中级软考全套官方参考资料及辅导书

    同时,对于从事软件开发和设计的相关工作人员,本套资料也有很高的参考价值。 使用场景及目标: 准备参加软件设计师中级软考的人员,用于复习和巩固考试所需的知识点和技能; 正在从事软件开发和设计的人员,用于...

    北大青鸟ACCP 6.0 软件开发初级程序员:使用JSP.Servlet.Ajax技术开发新闻发布系统.pdf

    不好意思,本人发的"北大青鸟ACCP 6.0 软件开发初级程序员:c#语言和数据库技术基础"和 "北大青鸟ACCP 6.0 软件开发初级程序员:使用C#语言开发数据库应用系统" 文件搞反了,如果一起下载不影响的。呵呵 ACCP...

    软件工程实验指导书(包含软件工程课程实验各个阶段实验的详细内容

    有效帮助软件工程开发文档的编写,使学生进一步了解和掌握软件工程原理,提高对实际项目的分析和设 计能力,通过实验课程,熟悉和基本掌握软件工程方法学、软件 开发的过程,文档资料的编写格式及规范,全面领会和...

    北大青鸟ACCP 6.0 软件开发初级程序员:深入.NET平台和C#编程

    不好意思,本人发的"北大青鸟ACCP 6.0 软件开发初级程序员:c#语言和数据库技术基础"和 "北大青鸟ACCP 6.0 软件开发初级程序员:使用C#语言开发数据库应用系统" 文件搞反了,如果一起下载不影响的。呵呵 ACCP...

    [详细完整版]软件实习报告.doc

    较为详细和系统的掌握了软件开发的知识体系。把所学知识与解决实际问题相联系 ,培养了自己发现问题、分析问题和解决问题的能力,从而提高了自己从事实际工作的 能力。 三、实习内容及过程 1、Java基础知识 Java的...

Global site tag (gtag.js) - Google Analytics