应用程序框架层
2.1.3 Android运行时
Android虽然采用Java程序语言来编写应用程序,但不实用J2ME执行Java程序,而是用Android自有的Android运行时。 Android运行时包括核心库和Dalvik虚拟机两部分
Android运行时
2.1.4 系统库
应用程序框架是贴近于应用程序的软件组件服务,而更底层则是Android的函数库,这一部分是应用程序框架的支撑,其框架结构如图
Android系统库架构
2.1.5 Linux 内核
采用Linux内核是Android平台开放性的基础。Android平台中的操作系统采用了Linux 2.6版的内核,它包括了显示驱动、摄像头驱动、FLASH内存驱动、Binder(IPC)驱动、键盘驱动、Wifi驱动、Audio驱动及电源管理部分,如图所示,Linux内核层为我们在软件层和硬件层建立了一个抽象层,使得应用程序开发人员无需关心硬件细节。对于手机的开发商而言,如果想要Android平台运行到自己的硬件平台就必须对Linux内核层进行修改,通常要做的工作就是为自己的硬件编写驱动程序。
Android的Linux内核
2.2 软件工程
软件工程是一类求解软件的工程,它应用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法,创建软件以达到提高质量、降低成本的目的。其中,计算机科学、数学用于构造模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。软件工程是一门指导计算机软件开发和文护的工程学科。
2.2.1 软件工程的模型
软件工程的模型是软件开发全部过程、活动和任务的结构框架。
瀑布模型内容及特点:
瀑布模型将软件生存周期的各项活动规定为依固定顺序连接的软干阶段工作,是一种线性模型。各阶段活动为,提出系统需求、提出软件需求、需求分析、设计、编码、测试和运行。每个开发阶段具有以下特征,从上一阶段接受本阶段工作的对象作为输入,对上述输入实施本阶段的活动,给出本阶段的工作成果作为输出传入下一阶段,对本阶段工作进行评审,若本阶段工作得到确认,则继续下阶段工作,否则返回前一阶段甚至更前阶段。瀑布模型最为突出的缺点是该模型缺乏灵活性。
演化模型内容及特点:
演化模型主要针对事先不能完整定义需求的软件开发,其开发过程一般是首先开发核心系统,当核心系统投入运行后,软件开发人员根据用户的反馈,实施开发的迭代过程,每一迭代过程均由需求、设计、编码、测试、集成等阶段组成,直到软件开发结束。演化模型在一定程度上减少了软件开发活动的盲目性。
螺旋模型内容及特点:
它是在瀑布模型和演化模型的基础上,加入两者所忽略的风险分析所建立的一种软件开发模型。沿螺旋模型顺时针方向,依次表达了四个方面的活动,制定计划、风险分析、实施工程、客户评估。
喷泉模型内容及特点:
它体现了软件创建所固有的迭代和无间隙特征,喷泉模型主要用于支持面向对象开发过程。
增量模型内容:
在设计了软件系统整体体系结构之后,首先完整的开发系统的一个初始子集,继之,根据这一子集,建造一个更加精细的版本,如此不断的进行系统的增量开发。
瀑布模型、演化模型、螺旋模型之间的联系:相同点是这三个模型都分为多个阶段,而瀑布模型一次完成软件,演化模型分为多次完成,每次迭代完成软件的一个部分,螺旋模型也分为多次完成,每次完成软件的一个新原型,并考虑风险分析。 Android平台贪吃蛇戏软件设计与实现(5):http://www.youerw.com/jisuanji/lunwen_6860.html