毕业设计开题报告--Android备忘录

时间:2024.4.20

常州信息职业技术学院

学生毕业设计(论文)报告

系       别:         软件学院         

专       业:      嵌入式技术与应用        

班       号:              

学 生 姓 名:                

学 生 学 号:                     

设计(论文)题目:      基于Android的备忘录            

指 导 教 师:                

设 计 地 点:    常州信息职业技术学院           

起 迄 日 期:     2014.9.7~2015.6.15             

毕业设计(论文)开题报告


第二篇:开题报告Android 吃豆人毕业设计开题报告


毕业设计(论文)开题报告

(含文献综述、外文翻译)

题    目  基于Android手机平台的吃豆人游戏设计与开发 


毕业设计(论文)

开 题 报 告

(包括选题的意义、可行性分析、研究的内容、研究方法、

拟解决的关键问题、预期结果、研究进度计划等)


1. 选题的背景和意义

1.1     选题的背景

目前随着移动设备越来越普及以及移动设备的硬件的提升,移动设备的功能越来越完善,他的系统平台也日渐火热起来。目前国内最常见的移动系统平台有Symbian,iPhone,Windows Phone以及当下正在逐步兴起的Android。目前为止国内已经有很多Android系统的用户。截止20##年第二季度Android系统的国内市场占有率已经过10%,在西欧以及北美智能手机市场占有率也在20%左右。可见Android系统正在崛起之中。但是对于Android系统的应用和开发在国内仍然属于起步和探索阶段。急需要大量的相关技术和人员的投入。

下面首先介绍一下Android系统。Android是基于Linux内核的软件平台和操作系统,是Google在20##年11月5日公布的手机系统平台,早期由Google开发,后由(Open Handset Alliance)开发。它采用了软件堆层(Software stack,又名以软件叠层)的架构,主要分为三部分。低层以Linux核心工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程式的一部分[1]。

手机游戏作为Android系统平台的一个重要组成部分,正在被越来越多的人所重视。全球在使用的移动电话已经超过10亿部,而且这个数字每天都在不断增加。在除美国之外的各个发达国家,手机用户都比计算机用户多。手机游戏潜在的市场比其他任何平台,比如PlayStation和GameBoy都要大。

在学院和老师的支持和帮助下,我所在的手机开放实验室在20##年底就开始对Android系统进行深入细致的研究。在国内Android相关领域属于较早研究的一批,经过老师和同学一年多的努力,在这个方面也积累了一定的知识和技能。所以希望通过这篇论文的研究,展示我这一年多来学习与实践的成果,给本科四年的学习交上一份圆满的答卷。

1.2     国内外研究现状

1.2.1国内外手机系统现状

目前国外各软硬件厂商已经推出过多款手机操作系统。下面简单介绍一下现主流手机操作系统。

现阶段使用较广泛大家也相对熟悉的手机操作系统是由诺基亚公司主导推出的Symbian操作系统。Symbian是为手机而设计的操作系统,它是一个实时性,多任务的纯32位嵌入式的操作系统,具有低能耗,内存占用较少等特点。现在流行的Symbian系统有以下四个版本,分别为S40、S60(第二版)、S60(第三版)、S60(第五版)。S60(第五版)为触摸屏手机版本[2]。

iOS是由苹果公司为iPhone开发的操作系统。它主要是给iPhone、iPod touch以及iPad使用。就像其基于的Mac OS X操作系统一样,它也是以Darwin为基础的。iOS的系统架构分为四个层次:核心操作系统层(the Core OS layer),核心服务层(the Core Services layer),媒体层(the Media layer),可轻触层(the Cocoa Touch layer)。系统操作占用大概240MB的存储器空间[3]。

相对国外手机系统百花齐放的局面,国内手机操作系统则处于刚起步的阶段。目前国内还没有自主研发并商品化的手机操作系统。当然近些年来国内企业和我国政府在这方也投入了大量的人力和物力。同时也取得了一定成果。

在20##年8月,由中国移动所主导开发OPhone平台面世。OPhone平台采用开源的Linux作为系统内核,借鉴并兼容Android平台,集成灵活高效的Java应用框架,充分借鉴当下主流手机操作系统所具有的良好用户体验,提供了一套完整的电话解决方案和各类移动数据业务解决方案[4]。

1.2.2国内外手机应用现状

随着3G在中国的全面启动,它所带来的巨大机遇和新生力量,大规模的网络建设正不断深入展开。但不可否认的是我国在通信领域中相比许多发达国家仍然存在着不小的差距,就在国人还在为EDGE(即增强型数据速率GSM演进技术。EDGE是一种从GSM到3G的过渡技术)[5]这种传输速度仅能达到384KB/秒的2.75G过渡技术而欣喜的时候,国外早已开始试行HSDPA(高速下行分组接入,是一种移动通信协议,亦称为3.5G)这种3.5G技术,传输速度更可达到惊人的数兆每秒,而基于其上所开发的延伸功能更是数不胜数,所以国内外手机应用也存在的较大的差异。但国内外对手机应用的需求方向是大致相似的,主要集中在信息服务,娱乐,学习这些方面。

目前手机应用中数量最大,使用人数最多的应用类型是手机游戏。该类应用作为传统手机应用,在各个平台上发展已近相对完善,手机上对各种流媒体的播放也已完美的支持。各类传统PC游戏厂商也已进入手机领域。根据iResearch艾瑞市场咨询整理的国外数据显示,全球手机游戏市场的收入规模在20##年达到了102亿美元, 20##年达到520亿美元[6] 。07年之后,手机游戏市场增速开始减缓,传统手机游戏逐渐显现颓势,市场增长主要由基于智能手机平台的游戏所带动。所以Android游戏进入智能手机游戏市场,必将打破原有格局,开辟手机游戏新纪元。

其他方面较为热门的有基于地理位置的信息服务(Location Based Service LBS)它是通过电信移动运营商的无线电通讯网络(如GSM网、CDMA网)或外部定位方式(如GPS)获取移动终端用户的位置信息(地理坐标,或大地坐标),在GIS(Geographic Information System,地理信息系统)平台的支持下,为用户提供相应服务的一种增值业务。例如手机定位,导航服务[7]。

近年来十分热门的网络社交服务(Social Networking Services)也已进入到手机客户端领域。例如国内有名的社交网站人人网已经针对Iphone,android,塞班等手机平台推出了手机客户端。国外最大的社交Fackbook也已经传出正在进行针对手机的产品的研发。Twiter,Myspace等国外知名社交类网站都已经推出手机版。口碑网在今年也已经推出针对多个手机平台的客户端程序。MSN,QQ等即时通信类的应用也已经在各个主流手机平台推出。

 手机办公类软件在手机上也正日趋完善,在手机上编辑查看各类文档已经实现,在android平台上的QuickOffice就是这样的软件。在Google Market(一个谷歌针对android系统用户所开发的应用商场)上已经有过万的企业应用办公套件。

1.3 发展趋势

根据对谷歌电子市场中的Android应用程序的调查发现,该市场中绝大部分是游戏软件。Android平台的开放性及服务免费大大降低了应用开发的门槛,使得开发者在游戏开发中投入成本相对较少。而随着技术的发展手机终端的特性使其具备了地理位置、重力感应、触摸控制等固定终端所不具备的特性,更容易开发出极具创意的游戏产品。Android设备数量的持续增长使得这个市场对优质游戏的需求越来越大。

Android平台上的游戏相比应用软件,不需要进行严格的市场细分,不需要针对目标用户量身定制。这是因为游戏玩家的核心需求是统一的,那就是:娱乐与打发时间(乃至更高层面的竞技需求和群体认同需求),这种需求附着于特定的社会发展阶段,不受地域的限制,甚至于能够穿透文化壁垒。因此,绝大多数种类的游戏都具备传染性与普适性,每一个售出的游戏都像一个火种,将会点燃周围潜在玩家的激情,激情的火焰迅速蔓延,最终吞噬整个需求市场,当然前提是开发的游戏是高质量的。

此外,几乎每一个Android手机用户都是游戏的需求者,都是潜在的顾客,现今的1000多万Android用户不过是冰山一角,另根据IDC机构预计在20##年Android手机用户将达到6800万,所以Android手机游戏的需求也将不断扩充。

在Android系统面世短短两年时间内, Android以势如破竹之势,迅速的蚕食着其他手机厂商在市场中的份额,而终端市场几乎每隔一天就会有新的Android机型问世。另据国外媒体报道,Android应用软件数量已经突破13万大关。业内由此预期,Android平台可能会在未来几个月内将跻身手机操作系统前三甲,并获得亚军的地位。

虽然Android系统前景广阔,但是基于该平台的手机游戏开发也面临着各种问题。平台硬件差异,代码分裂,用户没有良好的付费习惯等等缺点一直被Android游戏开发者诟病,但是Android快速的发展却使开发者又无法放弃这块大蛋糕,所以其他手机平台的开发者也慢慢转向Android游戏开发。

综上所述,在今后几年内Android游戏应用将会成为手机应用市场的主流应用,并且需要大量人力物力的投入。

2.研究的基本内容

根据近一年来学习Android平台游戏动画的经验,结合现在已有技术,基于游戏动画设计的基本原理。设计一个基于Android平台的吃豆人的游戏应用。

设计制作吃豆人游戏的目的在于主要实现一套Android游戏开发的解决方案,解决目前在Android游戏开发中所面临的几大问题。主要有游戏的关卡切换,游戏地图数据结构的实现、应用多种手机内置传感器进行游戏控制、游戏动画的实现、基于图形的碰撞检测、数据在手机系统和网络上存储及人工智能的实现。

解决这些在Android游戏开发中所共同面临的问题,对于Android游戏的开发效率与Android游戏的质量有着极大的帮助作用。

2.1 基本框架

首先基于Android平台特性,把本应用主要划分为五大模块分别为:程序控制界面、数据持久化模块,网络数据传输模块,游戏逻辑模块,游戏音效模块。

程序体系结构如下图所示:

图1.1 程序体系结构图

本程序主要通过程序控制界面和用户进行交互, 用户通过该界面上的相应选项进行游戏,控制怪物进行游戏,提交游戏积分,存储游戏积分,播放游戏音乐等各项功能。程序控制界面同时也负责各模块间的数据传输。

      游戏逻辑模块主要功能是负责游戏画面的绘制,游戏中敌对怪物人工智能的实现,以及用户输入的控制的响应(如键盘,导航键和屏幕输入)。 本模块主要解决游戏引擎的实现、应用多种手机内置传感器进行游戏控制和游戏的人工智能的问题,实现该模块能使用户得到更好的动画体验和游戏操控体验,明显提升游戏的用户好感动和实用性。

下图是游戏逻辑块的体系结构,游戏逻辑模块主要分为人工智能、游戏绘图引擎和人机交互控制。

图1.2 吃豆人程序游戏逻辑模块结构图

      数据持久化模块主要负责游戏中所产生的内存数据,转化成可存储的XML数据。该模块包含XML数据结构定义、XML生成和XML数据解析。本模块的主要解决Android系统中数据存储的问题。

具体结构如下图所示:

图1.3吃豆人程序体数据持久化图

网络数据传输模块主要功能为提交用户游戏评分至网络服务器中。该模块主要用来实现网络积分榜功能。让原本单机的游戏具有网络竞赛的功能。提升游戏的可玩性,吸引更多用户使用游戏。

游戏音效模块提供游戏音乐的播放和关闭的功能,其向主控制界面暴露开启和关闭音乐的接口。

2.2 研究的重点和难点

根据本人在Android游戏编程上所遇到的问题,现将研究吃豆人游戏应用中所遇到的问题总结如下:

(1)基于Android游戏动画的实现。所有计算机游戏的图形的核心都是动画,在J2ME手机游戏中,MDIP2.0以上版本提供了一个有助于游戏制作的开发包,该开发包核心为Sprite,使用该类能够简单管理动画角色的图像[9]。基于此我将深入研究J2ME中Sprite类在Android平台上移植和使用的可能性。提高Android游戏中动画展示的效果和效率,解决Android系统中动画实现的问题。

(2)游戏地图的数据结构的表示。解决此问题主要解决在Android平台中如何高效的对复杂的游戏地图进行存储和解析,合理有效的数据结构对提高游戏整体的效率极大地帮助。

(3)游戏动画中的碰撞检测问题。在游戏中,经常需要进行碰撞检测,例如在吃豆人游戏中如何检测到吃豆人吃到豆子、吃豆人是否被怪物吃掉,都是检测两个物体是否发生碰撞,然后根据检测的结果做出不同的处理。进行碰撞检测的物体可能不同的形状,这就给碰撞检测的算法带来了许多的问题。如何高效正确的进行图像的碰撞检测将是我吃豆人游戏中解决的重点问题。

(4)游戏人工智能算法的实现。在游戏软件中,游戏的人工智能的高低直接决定了游戏互动性和可玩性。而寻路问题又是人们研究的热点问题之一。在吃豆人游戏中,需要设计怪物主动跟踪玩家的人工智能算法,并且可以通过参数对怪物的“聪明度”进行调节。

(5)人机交互界面的友好性。优美的图像界面将会给使用者带来舒适和美感,在吃豆人游戏中,设计出时尚美观的界面和游戏图片,给使用者留下良好的印象,提高游戏的品质。

 2.3 拟解决的关键问题

关于Android游戏动画的解决方案,我准备实现一个相对高效并且简单易用的游戏引擎,或者从其他手机平台移植相对较为成熟的游戏动画引擎。解决此问题可以为吃豆人游戏以及其他类似的动画游戏提供流畅的动画效果,实现游戏引擎同时也可以提高游戏动画的代码复用率,提高游戏编程的效率。

深入理解Android 系统的Dalvik虚拟机工作机制。由于Android平台使用Java语言进行开发,谷歌的工程师改写了Java ME的虚拟机。众所周知虚拟机的垃圾回收会造成系统资源的消耗,影响游戏动画的流畅性。解决虚拟机垃圾回收时所造成的占用系统资源较大的问题,可以提高游戏的流畅性,提升用户的游戏体验。

解决游戏人工智能的解决方案,吃豆人游戏中,地图寻路问题并非如此简单,必须考虑多方面的因素,比如游戏地图的文件结构、是否可通以及目标点所在的砖块是否可通等。解决吃豆人游戏中的地图寻径问题。并查找A*,启发式搜索算法[10],遗传算法等算法在本应用中实现的可能性。

触屏以及重力感应器等操控方式的处理问题。在Android平台中相对传统的手机系统,Android系统提供多种传感器的调用接口。探索使用手机导航球,重力感应,触屏操作等新型操控模式提高用户操作体验。

3.研究的方法及措施

利用网络查阅国内外相关资料,利用数据库资源浏览大量的期刊与文献,进行分析与研究。深入国内外android系统开发者社区,与一线开发者进行交流,获取更多信息与技术。 应用拟采用Java实现,模块化结构,独立开发各个功能模块,尽量降低各模块之间的耦合,在各个功能模块实现的基础上构建灵活方便的UI界面。

4.预期研究成果

在新的Google Android智能手机平台上实现吃豆人游戏,游戏分为十个关卡,每个关卡经过仔细的设计,按照难度依次递进。游戏的主要功能包括:每关有3个怪物,吃豆人在设计的关卡地图中吃光所有的豆子和其他特殊作用的物品为过关。吃豆人在运动过程中如果和怪物相遇那么吃豆人死亡;游戏提供多种道具,包括加分道具,怪物减速道具,生命道具,吃豆人吃到每个不同道具时根据道具的预定义行为进行处理;吃豆人控制方式包括使用触屏控制,软键盘以及重力感应器;支持背景音乐,暂停等操作;支持全球排行榜;通关后地图重新开始,不过每关的怪物增加为4个。

完成毕业论文和毕业设计以及毕业答辩。

开发游戏能发布到国内外公共Android应用平台上,例如移动的MM市场和谷歌的电子市场。

为本应用申请软件著作权。

5.研究工作进度计划

20##年第7学期

第6-9周   查阅文献

第10-12周 文献综述和外文翻译

第12-15周 撰写开题报告

第16-17周 程序设计与开发

20##年第8学期  

第1-9周  程序设计与开发

第10-12周 撰写毕业论文

第13-14周 论文的答辩与修改


毕业设计(论文)

文 献 综 述

(包括国内外现状、研究方向、进展情况、存在问题、参考依据等)


Android手机游戏开发研究现状

1. 国内外研究现状

今天的手机不在是单纯的通讯工具,已经成为了集通讯、PIM、音乐、电影、游戏娱乐等为一体的个人便携终端。手机在通讯功能以外的综合附加值越高,加之便携的特性,使得人们对手机的依赖性越强[12]。

游戏作为日常休闲的娱乐活动,历经了电视游戏、电脑单机游戏、电脑网络游戏这几个阶段。现在,游戏作为一个产业,可以看出游戏市场有着非常庞大的需求。

手机游戏的出现,给手机和游戏市场带来了新的活力,由于娱乐时不受时间和地点的限制,手机游戏已经成为大众娱乐的又一新选择。随着科技的发展,现在手机的功能也越来越多,越来越强大。而手机游戏也远远不是我们印象中的什么“俄罗斯方块”“贪吃蛇”之类画面简陋,规则简单的游戏,进而发展到了可以和掌上游戏机媲美,具有很强的娱乐性和交互性的复杂形态了。

近期在iPhone和Android平台上火爆的游戏愤怒的小鸟游戏,采用优美的动画,先进的物理游戏引擎以及独特的创意,成为了本年度最受用户喜欢的手机游戏之一[13]。其制作公司仅在Android平台的广告收入就达100万美元每月。

可见手机游戏已经从单一内容到多元内容,从简单画面和音乐进入到了复杂的多媒体效果之中。为了实现手机游戏丰富的动画效果和良好的用户体验,一些原本在PC上的游戏动画引擎也被移植到了手机这个平台上,例如Androids上的OpenGL ES 游戏动画库(OpenGL for Embedded Systems 是OpenGL 三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计[14])、BOX2D物理游戏引擎(该引擎主要用来模拟物理碰撞和物理运动)。

在手机游戏动画效果提升的同时,新硬件功能(比如重力感应、多点触控)的加入,也促使了一些创新的手机游戏的推出。如重力滚动球的游戏就是根据手机重力感应功能编写而成。IPhone上的街头霸王、刺客信条等游戏就使用到了多点触控这一功能。

综上所述现阶段手机游戏的开发也进入了一个新的阶段,在这个阶段的开发中手机游戏不仅需要丰富的编程经验,还需要对新型手机特点,用户需求新的娱乐需求的进一步发掘,从而开发出符合用户使用习惯,吸引用户的游戏。

2.研究方向

2.1 Android系统架构研究

Android平台是一组面向移动设备的软件包,它包含了一个操作系统、中间件和关键应用程序。Android是一组面向移动设备的软件包(目前不仅限于移动手机领域,Android也已经进入其他嵌入式领域,如汽车中控台,MP3/MP4等),包含了一个操作系统,中间件和关键应用程序。Android SDK 的预览版提供了必需的开发工具和应用程序接口,基于这些,我们就可以使用Java编程语言在Android平台上开发应用程序了[15]。

Android系统架构基本分为应用(Applications),应用框架(Application Frameworks),库函数(Libraries),运行时环境(Android Runtime),Linux 内核(Linux Kernel)。下方图表显示了Android操作系统的主要组件[15]。

                                                 图2.1 Android系统架构图  

1.应用程序

Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。

2.应用程序框架

     开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。

3.系统运行库

  Android 包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。Android 包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。

4.Android运行时

  每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。 Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中 的“dx” 工具转化成“.dex”格式由虚拟机执行。

  Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。

5.Linux 内核

  Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程管理, 网络协议栈和驱动模型。 Linux 内核也同时作为硬件和软件栈之间的抽象层。

2.2 Android游戏开发研究

Android系统开发采用JAVA语言,使用Google Android SDK和Eclipse IED进行应用程序的开发。在Android SDK 附带 Android Emulator,是一个运行在PC端的手机模拟器,在开发中可以使用这个模拟器来运行自己编写的应用程序。

2.2.1 Android游戏引擎研究

简单地说,游戏引擎就是“用于控制所有游戏功能的主程序”,从计算碰撞、物理系统和物体的相对位置,到接受玩家的输入,以及声音的输出等等功能都是游戏引擎需要负责的事情。它扮演着中场发动机的角色,把游戏中的所有元素捆绑在一起,在后台指挥它们有序地工作[16]。

经过不断的进化,如今的手机游戏引擎已经发展为由多个子系统共同构成的复杂系统,从建模、动画到光影、粒子特效,从物理系统、碰撞检测到文件管理、网络特性,还有专业的编辑工具和插件。Android平台经过2年的发展,通过移植其他平台优秀的游戏引擎也出现了多款游戏引擎。例如由国人开发的LGame(基于Graphics API)游戏引擎,Rokon游戏引擎(基于OpenGL ES),WiEngine游戏引擎等等。

但是这些引擎总是存在这样或者那样的问题,例如缺少开发文档,引擎设计不完善。特别是这些游戏引擎在处理复杂图形时效果始终不够理想。 虽然目前手机硬件平台相比以前有了较大的发展和进步,但是对于一些复杂游戏图形的处理仍然显得有些“不给力”。

为了提高游戏引擎处理复杂图形的效率一些游戏引擎也提出了一些新的解决方案。例如WiEngine2.0版本中就采用Java JNI 调用C++ Native代码进行编写,这一方法提高了处理复杂游戏动画的效率。采用C++编写虽然提高了代码执行的效率,但是增加了代码编写的时间,同时也给程序调错和移植带来了巨大的问题。

2.2.2 Android游戏人工智能算法的研究

游戏中的人工智能(Artificial Intelligence,简称AI),是指用来控制游戏中各种活动对象行为的逻辑。大部分游戏,特别是角色扮演类游戏都需要人工智能,在游戏中玩家是主要人物,而游戏中的其他人物由人工智能操纵。游戏开发领域中的人工智能设计越来越被游戏开发者和玩家重视,因为它能给玩家提供更大的挑战性,从而增加游戏的可玩性,一款游戏的生命力正在于游戏的可玩性。    

在吃豆人应用中路径搜索是游戏AI的需要解决最基本的问题之一。

在当今游戏工业界,A*算法是被大家最广泛使用的人工智能寻路算法,也是最有效的最短路径搜索算法之一。A*算法实际上是一种基于广度优先搜索的启发式搜索算法,通常采用估价函数对当前的搜索位置进行评估。标准的A*算法根据Closed表对路径进行逆向提取,当存在死路的时,它会把走向死路的点也包含进去,造成走弯路的现象,从而能得到解[17]。

另外在游戏中经常使用的AI算法还有遗传算法,他是一种随机的群体搜索算法,它是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法[18]。

3.进展情况

由于手机本身CPU计算条件的限制,A*和遗传算法是否可以在Android手机平台上高效的使用还有待进一步的检验。通过在手机上实现这两种算法,比较其优缺点,结合两种算法的优势,设计一种高效的算法应用在吃豆人游戏中,将是我接下来的主要目标。

对于游戏引擎的开发方面,着手研究Roken 游戏引擎,LGame游戏引擎,J2ME中的精灵类,通过参考其示例程序了解引擎原理及架构。研究以上游戏引擎能否满足吃豆人游戏动画的需求,并且比较各个游戏引擎的性能。

游戏操控方面参考Google Android开发文档,熟悉重力感应,多点触控,方向键以及手机键盘的API,结合已有技术实现游戏操作的多元化。

4.存在问题

根据本人在Android游戏编程上所遇到的问题,现将研究吃豆人游戏应用中所遇到的问题总结如下:

(1)由于Google 对Android系统更新过快,目前市场上流通的Android系统版本多达5种,由于高版本的系统对于低版本的系统并不兼容,所以给我们编程上带来了诸多的问题,如何使编写的程序在尽量多的系统上正确的运行将是我所解决的首要问题。

(2)在手机编程上另一个令人头痛的问题是手机硬件上的差异(屏幕、处理器、内存容量等)。由于硬件的差异,导致程序的移植性不强,相同的程序在相同系统版本的不同手机上不能正常运行,在编程中如何对代码进行优化,使我的程序能在更多的手机上正常运行也是现在所面临的重要问题之一。

(3)基于Android游戏动画的实现的问题。所有计算机游戏的图形的核心都是动画,在J2ME手机游戏中,MDIP2.0以上版本提供了一个有助于游戏制作的开发包,该开发包核心为Sprite,使用该类能够简单管理动画角色的图像[11]。基于此我将深入研究J2ME中Sprite类在Android平台上移植和使用的可能性。提高Android游戏中动画展示的效果和效率,解决Android系统中动画实现的问题。

(4)游戏动画中的碰撞检测问题。在游戏中,经常需要进行碰撞检测,例如在吃豆人游戏中如何检测到吃豆人吃到豆子、吃豆人是否被怪物吃掉,都是检测两个物体是否发生碰撞,然后根据检测的结果做出不同的处理。进行碰撞检测的物体可能不同的形状,这就给碰撞检测的算法带来了许多的问题。如何高效正确的进行图像的碰撞检测将是我吃豆人游戏中解决的重点问题。

(5)游戏人工智能算法的实现问题。在游戏软件中,游戏的人工智能的高低直接决定了游戏互动性和可玩性。而寻路问题又是人们研究的热点问题之一。在吃豆人游戏中,需要设计怪物主动跟踪玩家的人工智能算法,并且可以通过参数对怪物的“聪明度”进行调节。


参考文献(含开题报告和文献综述)

[1] GONG Lei,ZHOU Cong.Development and Research of Mobile Termination Application Based on Android[J]. Computer And Modernization,2008,8(1).

[2]何伟 杨宗德 张兵等.基于SymbianOS的手机开发与应用[M].北京:人民邮电出版社,2006.3.

[3] 百度百科 . iOS百科[EB/OL].

http://baike.baidu.com/view/158983.htm 2010.12.

[4] 百度百科.  OPhone百科[EB/OL]. http//baike.baidu.com/view/2410021.htm,2010.12.

[5] 李晓莺.EDGE——增强型GSM的演进数据业务介绍[J].通信世界 ,2004,2(1).

[6]  殷福忠 孙立民.以“3S”集成技术为基础的“LBS”极地应用研究[J] .

地理信息世界.2008,(03).

[7]  百度百科. 游戏引擎 [EB/OL].

http://baike.baidu.com/view/33343.htm 2010.12

[8] 李峰.Symbian+OS游戏引擎的研究和应用[D] .成都:西南交通大学,2008 .

[9] 刘志成.基于Sprite类的游戏动画的实现[J].电脑编程技巧与维护,2010.5(1).

[10]  陈和平.A*算法在游戏地图寻径中的应用与实现[J].计算机应用与软件, 2005, 12 (1) .

[11] 谷歌公司.Android 中文文档[EB/OL].

http://wenku.baidu.com/view/6f28995f804d2b160b4ec005.html,2010.12.

[12]百度文库.手机游戏未来发展趋势预测 [EB/OL] .

http://wenku.baidu.com/view/0e563f335a8102d276a22f35.html, 2010.1.

[13] 百度百科.Angry Birds百科[EB/OL]. 

http://baike.baidu.com/view/4256200.htm ,2010.7.

[14] 百度百科.OpenGL ES百科[EB/OL].                                                              

 http://baike.baidu.com/view/2013442.htm ,2010.12.

[15] 胡伟.Android系统架构及其驱动研究[J] .广州广播电视大学学报,2008.8(1).

[16] 陈凯.三维游戏引擎的设计与实现[D] .浙江:浙江大学,2007.6.

[17] 杨科选.人工智能寻路算法及其在游戏中的应用研究[D] .长沙:中南大学 ,2009.6.

[18] 张亮亮  夏正友.基于遗传算法求解游戏关卡问题[J] .信息通信2009,3(1) .

[19]Shane Conder.Android Wireless Application Development[M]. Boston :Addison-Wesley,2010.

[20]Enck,W., Ongtang,M.,McDaniel,P.Understanding Android Security[J]. Security & Privacy, IEEE,2009,7(1).

[21]Sandeep Kumar. Location Based Services using Android[C]. Internet Multimedia Services Architecture and Applications (IMSAA), IEEE International Conference ,2009.

[22]刘昌平,范明钰. Android手机的轻量级访问控制[J].计算机应用研究,2010,7(1).

毕业设计(论文)

译文及原稿

译文题目         深入理解安致系统的安全性                                          

原稿题目      Understanding Android Security                                          

原稿出处      Security & Privacy, IEEE.2009,7        


深入理解安致系统的安全性

下一代开放操作系统的主流将不会在桌面上,但是将会出现在我们每天携带的手机上。这些开放性的环境将会带领这些新的应用可能集成这些已经存在的在线服务,当然随着日以具增的数据与服务在手机上的支持,手机上的安全缺陷也越发明显。下一代操作系统本质在于是否提供一个完整综合的安全平台。

由开放手机联盟(open Handset Alliance 谷歌领导)所开发的android 系统是一个被广泛看好的一个手机开源系统,该系统提供一个基本的操作系统,一个中间件应用层,一个java开发工具和一个系统应用收集器(collection of system applications )。尽管android SDK自20##年就发布了,但是第一部android 手机却在20##年10月才诞生。自从这时起谷歌开起了自己的时代,T-Mobile的G1的制造商台湾 HTC估算G1的发货量在20##年底已经超过100万部。据业内人士预期该G1手机的销量将会在20##年继续保持。不久的将来其他许多手机供应商要计划支持这个系统。

一个围绕android庞大的开发者社区已经建立,同时很多新的产品和应用已经可以在android上使用。一个Android的主要卖点是它使开发人员无缝把在线服务扩展到手机。这方面最明显的例子是谷歌的紧密集成Gmail,日历和联系人Web应用程序通过该系统。用户只需提供一个android用户名和密码,其手机自动同步与谷歌的服务。其他厂商正在迅速适应自己的现有的即时通讯,社交网络和游戏服务。Android和许多企业寻找新途径来整合他们的自己已有的业务到android上。

传统的台式机和服务器的操作系统一直在努力进行安全功能的集成。这些个人和商业应用在单一平台的很出色,然而这一块业务一个手机平台上像android上不是很有用。它给了许多研究人员希望。Android没有停在为其他平台体用应用支持:应用的执行依赖于顶层JAVA中间件,这个中间件运行在嵌入式Linux 内核之上。所以开发人员要把他们的应用部署到Android必须使用其自定义的用户界面环境。

此外,android系统应用限制各应用相互调用API协作,并且对方为自己的用户应用进行身份验证。尽管这些应用有一定的安全特性,我们一些有经验的开发人员开发android应用人士透露,设计安全应用程序并不总是直线前进的。Android使用一个简单的许可标签分配模式限制访问的资源,但其他应用程序的原因必要性和便利,其
设计师们增加了困惑对这个系统。本文试图对Android的安全的复杂性进行讲解,并注意一些可能的发展缺陷以及应用程序的安全。我们通过尝试得出一些经验教训,希望对未来的安全有用。

Android Application

Android应用程序框架对开发者来说是一个强制架构。

它没有一个main()函数功能或单一入口点执行,相反,开发人员
必须在设计方面的应用组件。我们开发的应用对android的sdk的帮助的API
Example Application。

我们开发了一个描述如何创建android的应用。有兴趣的读者可以去我们的站点下载让我们考虑一个基于位置的社交网络应用,其中手机用户可以通过本应用发现他们的朋友们位置。我们进行功能拆分,分成两个应用程序:一个用于跟踪查看朋友和常看他们。如图1所示,FriendTracker应用包括跟踪的组件specifc朋友的位置(例如,通过一个Web服务),储存地理坐标,并分享这些合作统筹与其他应用程序。然后用户使用友情查看器应用程序来检索地理坐标和储存在地图上查看朋友。

      这两个应用程序包含的多个组件包括展示自己任务,他们组件是由他们组件类型所决定的。一个Android 开发者选择从根据不同的组件类型组件的目的决定 (如与一个用户或存储数据接口)。

图1。例如Android应用程序。FriendTracker和FriendViewer应用由多个不同类型的组件,每个提供一个不同的组功能。Activity提供一个用户界面,Service执行后台处理,Content提供存储,Broadcast receiver接收机其他应用程序的信息。

Android系统定义了4种组件类型。

Activity

组件定义应用程序的用户界面。通常,应用程序开发者定义每一个活动“画面。”Activity可以自己开始,也可能通过传递和返回值。在一时间只有一个键盘的系统Activity可以进行处理,在这个时候所有其他的Activity都会被暂停。

Service

组件执行后台处理。当一个活动需要进行一些操作,在用户界面消失以后(如下载一个文件或播放音乐),它通常采取此种动作特殊设计的服务。开发人员还可以在系统启动使用特殊的守护进程,Service通常定义一个远程过程调用(RPC),其他系统组件可以用来传送接口命令和检索数据,以及注册一个回调函数。

Content

组件存储和共享数据 用关系数据库接口。每个Content供应者都有一个关联的“权限”来形容它的内容包含。其他组件使用时作为一个handle执行SQL查询(如
的SELECT,INSERT或DELETE内容。虽然Content供应者通常存储把数值放在数据库记录中,数据检索是实现特殊的例子,文件也同时通过内容提供商共享接口。

Broadcast receiver

该组件作为为从邮件信箱发送信息给他应用程序。通常,广播消息的应用程序代码隐含的目的地。因此,广播接收器订阅这些目的地接收发送给它的消息。应用程序代码也可以解决明确广播接收机包括命名空间分配。

图1显示了FriendTracker和FriendViewer应用所包含的不同的组件类型。开发者组件使用一个主要定义文件(也用于定义权限,稍后介绍)。上有一个应用程序的组件的数量没有限制定义每种类型,但作为习惯,一组件应具有相同的名称该应用程序。通常情况下,这是作为在FriendViewer activity中进行注册。这一动作通常指示主activity作为该系统应用程序启动器用于启动用户界面;然而,如果需要启动特定的activity,开发者需要者在选择配置manifest 信息来实现这一个功能。在在FriendTracker应用,例如,FriendTrackerControl活动被标记为主用户界面的启动点。
在这种情况下,我们保留名称“FriendTracker”为服务执行的核心组成部分的应用程序逻辑。

在FriendTracker应用包含四种类型的组件。在FriendTracker服务搜寻调查外部服务并发现好友的位置。在我们的示例代码中,位置是我们随机生成的,但直接通过网络连接组件接口的服务。该FriendProvider Content 提供保持最新的朋友地理坐标,
FriendTrackerControl活动用于启动和用户界面停止跟踪好友功能,该系统一旦启动 BootReceiver通知从广播系统启动。

该FriendViewer应用主要是显示有关好友的位置的信息。每个启动的FriendViewer将会列出了所有的朋友和他们的地理坐标,FriendMap显示他们在地图上的位置。FriendReceiver将会等待接收附近的手机发送的消息这个消息来一个所指定的朋友。尽管我们可以在这些组件内放置在FriendTracker应用,但是我们仍然创建了一个单独的应用程序来展示跨应用的沟通。此外,通过分离程序功能和接口,我们可以创建不同的显示和功能,可选用户界面是,许多应用程序可以重用这些来自FriendTracker的功能。

Component Interaction

该组件交互的主要机制是一个intent ,这是一个简单的消息对象,其中包含一个目的地组件的地址和数据。 Android的API定义了他的方法中传入intent ,并使用该信息来启动一个activity例如开始一个activity(startActivity(intent)),启动服务(startService(intent))和广播信息(sendBroadcast(intent))。Android框架来通知这些方法的调用开始执行在目标应用程序代码。这个过程中内部组件通信称为一个动作。简单地说, Intent对象定义的“Intent”以执行“action”。Android的一个最强大的特点是允许的多种intent寻址机制。开发人员可以解决一个目标组件使用其应用的空间,他们也可以指定一个隐含的名称。在后一种情况下,系统决定了一个action的最佳组件,通过考虑安装的应用程序和用户的选择 。

这个隐含的名字被称为动作字符串因为他特殊的类型的请求动作。例如一个view动作字符串,在一个intent中和数据域指向一个图像文件,系统将会直接指首选图像浏览器、

开发者也能使用动作字符串进行大量广播发送和接收。在接收端的接收者,开发者使用一intent 过滤器来定制特殊的动作字符串。Android系包括附加目标的决议规则,但可选的数据操作字符串类型是最常见的。

图2显示了组件之间的FriendTracker和FriendViewer应用程序和组件的交互作用在应用程序中定义为基础的Android发布的一部分。在每一种情况下,发起一个组件与其他的沟通。为了简单起见,我们称这个为件间通信(ICC)。在许多方面,ICC是类似于进程间通信(IPC)在基于Unix的系统中。对于开发人员,ICC的功能相同无论目标是在相同或不同的应用与界定将在下文的安全规则中说明。

可用的ICC的动作取决于目标的组成部分。每个组件类型支持自己的类型
例如,当FriendViewer开始FriendMap的FriendMap活动出现在屏幕上。服务组件支持启动,停止,并结合行动,所以FriendTrackerControl活动,例如,可以启动和停止FriendTracker服务在后台运行。Action的绑定组件之间建立连接,使启动执行的服务定义的RPC。在我们的例子,FriendTracker结合到系统中的服务器位置的管理。

    Understand android security

the next generation of open operating systems won’t be on desktops or mainframes but on the small mobile devices we carry every day. The openness of these new environments will lead to new applications and markets and will enable greater integration with existing online services.

However, as the importance of the data and services our cell phones support increases, so too do the opportunities for vulnerability. It’s essential that this next generation of platforms provide a comprehensive and usable security infrastructure.Developed by the Open Handset Alliance (visibly led by Google), Android is a widely anticipated open source operating system for mobile devices that provides a base operating system, an application middleware layer, a Java software development kit (SDK), and a collection of system applications. Although the Android SDK has been available since late 2007, the frst publicly available Android-ready “G1” phone debuted in late October 2008. Since then, Android’s

growth has been phenomenal: TMobile’s G1 manufacturer HTC estimates shipment volumes of more than 1 million phones by the end of 2008, and industry insiders expect public adoption to increase steeply in 2009. Many other cell phone providers have either promised or plan to support it in the near future.

A large community of developers has organized around Android, and many new products and applications are now available for it. One of Android’s chief selling points is that it lets developers seamlessly .

extend online services to phones. The most visible example of this feature is—unsurprisingly—the tight integration of Google’s Gmail, Calendar, and Contacts Web applications with system utilities. Android users simply supply a username and password, and their phones automatically synchronize with Google services. Other vendors are rapidly adapting their existing instant messaging, social networks, and gaming services to Android, and many enterprises are looking for ways to integrate their own internal operations (such as inventory management, purchasing, receiving, and so forth) into it as well.Traditional desktop and server operating systems have struggled to securely integrate such personal and business applications and services on a single platform; although doing so on a mobile platform such as Android remains nontrivial, many researchers hope it provides a clean slate devoid of the complications that legacy software can cause. Android doesn’t ofcially support applications eloped for other platforms: applications execute on top of a Java middleware layer running on an embedded Linux kernel, so developers wishing to port their application to Android must use its custom user interface environment. Additionally, Android restricts application interaction to its special APIs by running each application as its own user identity. Although this controlled interaction has several benefcial security features, our experiences developing Android applications have revealed that designing secure forward. Android uses a simple permission label assignment model to restrict access to resources and other applications, but for reasons of necessity and convenience, its designers have added several potentially confusing refnements as the system has evolved.This article attempts to unmask the complexity of Android security and note some possible development pitfalls that occur when defning an application’s security. We conclude by attempting to draw some lessons and identify opportunities for future enhancements that should aid in clarity and correctness.Android Applications The Android application framework forces a structure on developers. It doesn’t have a main() function or single entry point for execution—instead, developers must design applications in terms of components. Example Application.

We developed a pair of applications to help describe how Android applications operate. Interested readers can download the source code from our web sitepttp://siis.cse.psu.edu/android_sec_tutorial.html).

Let’s consider a location-sensitive social networking application for mobile phones in which users can discover their friends’locations. We split the functionality into two applications: one for tracking friends and one for viewing them. As Figure 1 shows, the FriendTracker application consists of components specifc to tracking friend locations (for example, via a Web service), storing geographic coordinates, and sharing those coordinates with other applications. The user then uses the FriendViewer application to retrieve the stored geographic coordinates and view friends on a map.Both applications contain multiple components for performing their respective tasks; the components themselves are classifed by their component types. An Android developer chooses from predefned component types depending on the component’s purpose (such as interfacing with a user or storing data).Component TypesAndroid defnes four component types:Activity? components defne an application’s user interface. Typically, an application developer defnes one activity per “screen.” Activities start each other, possibly passing and returning values. Only one activity on the system has keyboard and ocessing focus at a time; all others are suspended.Service components perform background processing. When an activity needs to perform some operation that must continue after the user interface disappears (such as download a fle or play music), it commonly starts a service specifcally designed for that action. The developer can also use services as application-specifc daemons, possibly starting on boot. Services often define an interface for Remote Procedure Call (RPC) that other system components can use to send commands and retrieve data, as well as register callbacks. Content provider

?     components store and share data using a relational database interface. Each content provider has an associated “authority” describing the content it contains. Other components use the authority name as a handle to perform SQL queries (such as SELECT, INSERT, or DELETE) to read and write content. Although content providers typically store values in database records, data retrieval is implementation-specifc—for example, fles are also shared through content provider interfaces.Broadcast receiver?      components act as mailboxes for messages from other applications. Commonly, application code broadcasts messages to an implicit destination. Broadcast receivers thus sub-scribe to such destinations to receive the messages sent to it. Application code can also address a broadcast receiver explicitly by including the namespace assigned to its containing application.

Figure 1 shows the FriendTrack-er and FriendViewer applications containing the diferent component types. The developer specifes components using a manifest fle (also used to defne policy as described later). There are no restrictions on the number of components an application defnes for each type, but as a convention, one component has the same name as the application. Frequently, this is an activity, as in the FriendViewer application. This activity usually indicates the primary activity that the system application launcher uses to start the user interface; however, the specifc activity cho-sen on launch is marked by meta information in the manifest. In the FriendTracker application, for example, the FriendTrackerControl activity is marked as the  main user interface entry point.

In this case, we reserved the name “FriendTracker” for the service component performing the core application logic.The FriendTracker application contains each of the four component types. The FriendTracker service polls an external service to discover friends’ locations. In our example code, we generate locaFriendTracker application BootReceiver Broadcast receiver ActivityFriendTracker FriendProvider Content provider Service FriendTracker control FriendViewer application FriendReceiver Broadcast receiver Activity FriendTracker Activity FriendViewer Figure 1. Example Android application. The FriendTracker and FriendViewer applications consist of multiple components of different types, each of which provides a different set of functionalities. Activities provide a user interface, services execute background processing, content providers are data storage facilities, and broadcast receivers act as mailboxes for messages from other applications.tions randomly, but extending the component to interface with a Web service is straightforward. The FriendProvider content provider maintains the most recent geographic coordinates for friends, the FriendTrackerControl activity defnes a user interface for starting and stopping the tracking functionality, and the BootReceiver broadcast receiver obtains a notifcation from the system once it boots (the application uses this to utomatically start the FriendTracker service).The FriendViewer application bis primarily concerned with showing information about friends’ locations. The FriendViewer activity lists all friends and their geographic coordinates, and the FriendMap activity displays them on a map. The FriendReceiver broadcast receiver waits for messages that indicate the physical phone is near a particular friend and displays a message to the user upon such an event. Although we could have placed these components within the FriendTracker application, we created a separate application to demonstrate cross-application communication. dditionally, by separating the tracking and user interface logic, we can create alternative user interfaces with different displays and features—that is, many applications can reuse the logic performed in FriendTracker.Component Interaction The primary mechanism for component interaction is an intent, which is simply a message object containing a destination component address and data.

The Android API defnes methods that accept intents, and uses that information to start activities (startActivity(Intent)), start services (startService (Intent)), and broadcast messages (sendBroadcast(Intent)). The invocation of these methods tells the Android framework to begin executing code in the target application. This process of intercomponent communication is known as an action. Simply put, an intent object defnes the “intent” to perform an “action.”One of Android’s most powerful features is the fexibility allowed by its intent-addressing mechanism. Although  developers can uniquely address a target component using its application’s namespace, they can also specify an implicit name.

In the latter case, the system determines the best component for an action by considering the set of installed applications and user choices. The implicit name is called an action string because it specifes the type of requested action—for example, if the “VIEW” action string is specifed in an intent with data felds pointing to an image fle, the system will direct the intent to the preferred image viewer. Developers also use action strings to broadcast a message to a group of broadcast receivers. On the receiving end, developers use an intent flter to subscribe to specifc action strings. Android includes additional destination resolution rules, but action strings with optional data types are the most common.Figure 2 shows the interaction between components in the FriendTracker and FriendViewer applications and with components in applications defned as part of the base Android distribution. In each case, one component initiates communication with another. For simplicity, we call this inter-component communication (ICC). In many ways, ICC is analogous to interprocess communication (IPC) in Unix-based systems. To the developer, ICC functions identically regardless of whether the target is in the same or diferent application, with the exception of the security rules defned later in this article.The available ICC actions depend on the target component.

Each component type supports interaction specifc to its type for example, when FriendViewer starts FriendMap, the FriendMap activity appears on the screen. Service components support start, stop, and bind actions, so the FriendTrackerControl activity, for instance, can start and stop the FriendTracker service that runs in the background. The bind action establishes a connection between components, allowing the initiator to execute RPCs defned by the service. In our example, FriendTracker binds to the location manager in the system server.

更多相关推荐:
工业设计专业毕业设计开题报告(模板)

郑州轻工业学院艺术设计学院工业设计专业毕业设计开题报告课题名称化繁为简旅行箱设计学号20xx120xx320学生张岩专业年级产品设计08级3班所在院系国际教育学院导师冯玉雪选题时间20xx年12月8日艺术设计学...

工业设计开题报告

淮阴工学院毕业设计开题报告学生姓名专业设计题目指导教师20xx年1月7日学号毕业设计开题报告毕业设计开题报告毕业设计开题报告毕业设计开题报告毕业设计开题报告

工业设计毕业设计开题报告格式

关于的开题报告一本课题的目的意义国内外现状及发展趋势1选题的目的通过观察与研究人们在工作生产学习生活和娱乐中遇到的各种并且问题以及未能得满足的需求与愿望提出明确的解决目标一定是人们想用的产品也就是产品的卖点是什...

工业设计毕业论文——开题报告

毕业设计论文开题报告题目针对时尚一族的概念车设计姓名陈佳月学院艺术学院专业班级08级工业设计1班指导老师仉春辉专业方向工业设计提交日期20xx年10月28日华东交通大学毕业设计论文开题报告书2X真实课题Y模拟课...

工业设计毕业论文李四开题报告

毕业论文设计论文题目系部名称学生姓名指导教师开题报告郑州市基础交通导向系统的色彩设计研究及应用机械工程系专业班级工设081李四学号20xx80714107孙东教师职称讲师20xx年03月10日毕业论文设计开题报...

工业设计毕业开题报告参考案例-塑造梦想生活浅谈创意家居设计

开题报告注纸型A4上下左右页边距25厘米2厘米25厘米2厘米页眉15厘米页脚175厘米烟台南山学院毕业论文开题报告题目塑造梦想生活浅谈创意家居设计姓名所在学院机械工程学院所学专业工业设计班级20xx级1班学号2...

工业设计毕业设计开题报告

广东技术师范学院本科毕业设计论文开题报告备注本开题报告须装入学生的毕业设计论文档案袋存档

毕业设计开题报告

山东科技大学本科毕业设计论文开题报告题目电力系统谐波及其抑制技术的研究学院名称电气与自动化工程学院专业班级电气工程及其自动化20xx4学生姓名李玉君学号20xx01100617指导教师于永进填表时间20xx年4...

毕业设计(论文)开题报告13

毕业设计论文开题报告题目大富贵茶楼学院艺术与设计系工业设计专业室内设计班级07级学号姓名指导教师填表日期年37一选题的依据及意义如今茶楼的精神依旧但是有些观念已经发生了相当大的变化茶楼虽然还是人们聚会的地方但也...

毕业设计开题报告——张木

机电学院20xx届本科毕业设计开题报告评议表备注本科生毕业设计论文开题报告要求1本科生选题报告内容应包括综述研究内容研究进度论文工作量的估计预期达到的目标存在的问题及拟采取的解决措施2本科开题报告由各专业负责安...

毕业设计开题报告

本科生毕业设计论文开题报告毕业设计题目智能灭火小车演示系统的设计与实现学院信息科学与工程学院专业班级计算机0801班学生姓名指导教师20xx年3月21日智能灭火小车演示系统的设计与实现一课题研究的目的和意义智能...

建筑工程毕业设计开题报告

本科毕业设计开题报告题目山西吕梁市第二医院职业病康复病房楼设计院系建筑工程学院班级土木0x1班姓名xxxxxx学号0x06010122指导教师xxxxxxxxxx教师职称讲师高级工程师黑龙江科技学院本科毕业设计...

工业设计毕业设计开题报告(47篇)