毕业设计(论文)开题报告
名:
朱晨君
号:
100601160
   
计算机科学与技术
设计(论文)题目
基于Android手机平台的买火车票
件设计与实现
:
孙廷凯
2014  3   7

开题报告填写要求
1.开题报告(含“文献综述”)作为毕业设计(论文)答辩委员会对学生答辩资格审查的依据材料之一。此报告应在指导教师指导下,由学生在毕业设计(论文)工作前期内完成,经指导教师签署意见及所在专业审查后生效;
2.开题报告内容必须用黑墨水笔工整书写或按教务处统一设计的电子文档标准格式(可从教务处网页上下载)打印,禁止打印在其它纸上后剪贴,完成后应及时交给指导教师签署意见;
3.“文献综述”应按论文的格式成文,并直接书写(或打印)在本开题报告第一栏目内,学生写文献综述的参考文献应不少于15篇(不包括辞典、手册);
4.有关年月日等日期的填写,应当按照国标GB/T 7408—2005《数据元和交换格式、信息交换、日期和时间表示法》规定的要求,一律用阿拉伯数字书写。如“2007315日”或“2007-03-15”。

计(论 文)开
1.结合毕业设计(论文)课题情况,根据所查阅的文献资料,每人撰写
2000字左右的文献综述:
摘要:在科技日益发展的今天,社会竞争愈发激烈,人类即将迈入4G时代。手机早已成为人们日常生活中必不可少的一部分。各种手机层出不穷,日新月异。各大厂商的智能手机是电子商场的一颗明星。例如苹果的IOS系统,微软的WP7系统。而GoogleAndroid系统则以其开源和方便简洁的操作成为了手机操作系统的一方巨擘。
现今中国人口基数太大,东西部发展不平衡,导致大量人口背井离乡,外出务工。到了春节期间,人们大量涌向火车站,汽车站买票回家,这就导致了一个非常麻烦的问题,买票困难。为了买张车票,甚至连夜排队买票,更有甚者由于排队买票时间过久而晕倒的。基于Android平台的买火车票软件,是采用JAVA语言开发的一个小型应用程序。本系统根据这一需求,利用移动平台中应用最广泛的安卓系统,在手机和平板电脑上搭建的手机购票系统,为用户提供随时随地的订购火车票服务,缓解了春运期间买票困难的问题。我希望能够有机会将我开发的程序发布到Google Android Market上供用户下载。
关键词:Android、开源、火车票
一、前言
随着科技的发展,移动通讯平台在不断的发展中愈加成熟。人们对手机的要求也越来越高。由于手机市场的迅猛发展,各种手机操作系统应运而生。现在市场上热门手机操作系统有三种,微软的WP7系统,苹果的IOS系统,以及谷歌的Android系统。安卓系统以其开源和方便简洁的操作,迅速占领了大量市场,成为手机市场的领头羊。并且因其特有的开放性优势越来越受到人们的关注。本次设计运用Android平台手机作为研究开发对象,配合Java语言程序设计一级面向对象思想设计了一款购买火车票的软件。
二、需求
随着中国经济的发展,人民生活水平得到了极大的提高,人们对于生活水平的要求也日益升高。拥有一部安卓智能手机已经不是什么问题。而国家的发展政策,导致东西部经济发展不平衡,人们为了改善生活条件,大量涌入东部沿海城市务工。到了春节长假期间,人们为了能够回家和家人团聚,纷纷选择购买火车票回家过年。而由于中国人口基数过大,对火车票的需求也异常庞大。火车站售票的承载能力有限,这就导致了春运期间,人们购票难的问题。出现了“一票难求”的现象,也随之出现。而为了解决这个问题,出现了网上订购火车票,但是,这样仍然不能很好的解决问题。于是,能用手机购买火车票,就成了非常迫切的需求。人们希望可以有一款软件,能够使用手机随时随地的购买火车票,而不用再体验连夜排队买票的艰辛。
据此形势,由于手机的广泛普及和手机技术含量的不断升级,从而给手机购票带来了优越的条件,从来没有一项技术在人类历史上有像移动电话那样被大众百姓应用到如此普及的地步,而且在世界上的销量正不断的增加。另外,目前基于移动终端平台的购买火车票软件还不多,使用较多的也就12306,而单一的软件也不能够承载太多的用户,所以,基于Android手机平台的购买火车票软件也就有很大的需求。
手机购买火车票还有其特定的好处。随着移动设备的发展日趋成熟,用户时间碎片化趋势也愈加明显。因而难以抽出时间来长时间排队买票,或是长时间刷网页购票。有了手机买火车票软件,用户就可以随时随地,取出手机,轻松购买火车票,节省了大量的时间。
三、相关技术
1.关于Android
AndroidGoogle20071105日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。它采用软件堆层(Software Stack,又名软件叠层)的架构,主要分为三部分。底层以Linux内核工作为基础,由C语言开发,只提供基本功能;中间层包括函数库Library和虚拟机Virtual Machine,由C++开发。最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分。不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开放和完整的移动软件。
2.关于JAVA
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于19955月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC数据中心游戏控制台、科学超级计算机移动电话互联网,同时拥有全球最大的开发者专业社。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
3.关于Eclipse
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development KitJDK)。
Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,200111月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。 2003年,Eclipse 3.0选择OSGi服务平台规范为运行时架构。 20076月,稳定版3.3发布。20086月发布代号为Ganymede3.4版。
4.关于MySQL
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。MySQL被广泛地应用Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库
四、总结
以上选取的开发工具以及移动平台,其最大的特点是开源,并且操作简单,不存在开发中碰上的专利问题,能自己在家中实现开发。并且,它们已经推出数年,经过无数先驱的使用、调试,在技术上比较完善,方便开发。因此,本课题选取在Android平台下使用JAVA语言进行编码,同时使用EclipseMySQL工具进行设计与实现。
参考文献:
[1]庞周. 基于Android的微博客户端设计与实现[J].电脑编程技巧与维护,2012(10):66
-67.
[2]宋小倩,周东升. 基于Android平台的应用开发研究[J], 软件导刊,2011(12):42-43.
[3]许文庆,郑美容. 基于Android平台的智能手机应用开发[J] 实践与开发, 2012(9):24
-26.
[4]公磊,周聪. 基于Android的移动终端应用程序开发与研究[J] 计算机与现代化,200
8(5):16-20.
[5]席磊,时雷,车银超, . 基于J2ME的无线客户关系管理系统的实现[J]. 计算机科学, 2007, 34 (03): 132-135.
[6]胡虚怀. J2ME移动设备程序设计[M]. 北京:清华大学出版社,2005.
[7]杨丰盛.Android应用开发揭秘[M].北京:机械工业出版社,2010.
[8]CONDER S,DARCEY L.Android移动应用开发从入门到精通[M]. 张魏,李卉,.人民邮电出版社,2010.
[9]盖索林 王世江 .Google Android开发入门指南 [M]. 2.北京:人民邮电出版社,2009.
[10]汪永松 .Android平台开发之旅[M].北京:机械工业出版社,2010.
[11]韩超,梁泉.Android系统原理及开发要点详解[M].北京:电子工业出版社,2010.
[12]明日科技.Android从入门到精通 [M].北京:清华大学出版社,2012.
[13]墨菲.Android开发入门教程[M]. 李雪飞,吴明晖,.北京:人民邮电出社,2010.
[14]JACKSON W. Android应用开发入门/移动开发系列/图灵程序设计丛书[M]. 周自恒,.北京:人民邮电出版社, 2013.
[15]王勇.Android编程入门很简单[M].北京:清华大学出版社,2012.

计(论 文)开
2.本课题要研究或解决的问题和拟采用的研究手段(途径):
研究问题:
1.用户登录及其相关功能
用户注册、登录与退出功能。常用联系人的信息管理,包括姓名、证件类型、证件号码、旅客类型、手机号码。已经完成的订单的保存、显示和查询。
2.购票查询功能
按照如下信息进行组合查询,包括:出发地、目的地、出发日期、出发时间区间、列车类型、途经类型、优惠与否。
3.订票功能
用户选中某次列车后,点击进入订票功能,输入座位类型、票种、姓名,并可从常用联系人中增加购票人,系统自动带出相关信息。
4.确认功能
确认后,系统会刷新页面显示本次购票的相关信息,等待用户确认。确认后,系统产生订单号,用户凭订单号到购票窗口取票。
5.系统设置功能,包括设置默认购票人、默认座位类型、修改密码等信息。
研究手段:
1.优化查询
很多人查询都是在查一样的,完全可以用反向代理合并这些并发的相同的查询。这样的技术主要用查询结果缓存来实现,第一次查询走数据库获得数据,并把数据放到缓存,后面的查询统统直接访问高速缓存。为每个查询做Hash,使用NoSQL的技术可以完成这个优化。(这个技术也可以用做静态页面)
对于火车票量的查询,个人觉得不要显示数字,就显示一个“有”或“无”就好了,这样可以大大简化系统复杂度,并提升性能。
2.缓存的问题
缓存可以用来缓存动态页面,也可以用来缓存查询的数据。缓存通常有那么几个问题:
1)缓存的更新。也叫缓存和数据库的同步。有这么几种方法,一是缓存time out,让缓存失效,重查,二是,由后端通知更新,一量后端发生变化,通知前端更新。前者实现起来比较简单,但实时性不高,后者实现起来比较复杂,但实时性高。
2)缓存的换页。内存可能不够,所以,需要把一些不活跃的数据换出内存,这个和操作系统的内存换页和交换内存很相似。FIFOLRULFU都是比较经典的换页算法。相关内容参看Wikipeida的缓存算法。
3)缓存的重建和持久化。缓存在内存,系统总要维护,所以,缓存就会丢失,如果缓存没了,就需要重建,如果数据量很大,缓存重建的过程会很慢,这会影响生产环境,所以,缓存的持久化也是需要考虑的。
诸多强大的NoSQL都很好支持了上述三大缓存的问题。
3.前端页面静态化
静态化一些不常变的页面和数据,并gzip一下。还有一个并态的方法是把这些静态页面放在/dev/shm下,这个目录就是内存,直接从内存中把文件读出来返回,这样可以减少昂贵的磁盘I/O

计(论 文)开
火车票网上放票时间
指导教师意见
1.对“文献综述”的评语:
2.对本课题的深度、广度及工作量的意见和对设计(论文)结果的预测:
                                      指导教师:             
                                                   
所在专业审查意见:
                                        负责人:             
                                                  年  月  日