海拉尔火车车次查询系统实现与设计.docx

上传人:b****5 文档编号:4720674 上传时间:2022-12-07 格式:DOCX 页数:19 大小:1.05MB
下载 相关 举报
海拉尔火车车次查询系统实现与设计.docx_第1页
第1页 / 共19页
海拉尔火车车次查询系统实现与设计.docx_第2页
第2页 / 共19页
海拉尔火车车次查询系统实现与设计.docx_第3页
第3页 / 共19页
海拉尔火车车次查询系统实现与设计.docx_第4页
第4页 / 共19页
海拉尔火车车次查询系统实现与设计.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

海拉尔火车车次查询系统实现与设计.docx

《海拉尔火车车次查询系统实现与设计.docx》由会员分享,可在线阅读,更多相关《海拉尔火车车次查询系统实现与设计.docx(19页珍藏版)》请在冰豆网上搜索。

海拉尔火车车次查询系统实现与设计.docx

海拉尔火车车次查询系统实现与设计

 

呼伦贝尔学院

本科生毕业设计

 

题目海拉尔火车车次查询系统实现与设计

专业教育技术

 

 

目录

摘要3

一、绪论3

1.系统的开发背景4

2.系统的目标4

3.开发环境5

4.开发工具说明5

二、需求分析5

1.需求分析简介5

2.功能需求6

3.性能需求6

4.界面需求6

三、概要设计6

1.总体设计简介6

2.系统设计思想6

3.系统结构7

4.系统功能模块8

5.数据库设计9

四、详细设计与实现12

1.系统设计13

2.系统的实现13

五、系统测试16

1.测试原则16

2.测试的重要16

3.程序调试16

4.测试的过程和结果16

六、结论17

参考文献18

 

海拉尔火车车次查询系统的设计与实现

作者:

刘兴虎

指导老师:

许丰宽

摘要:

为方便手机用户即时查询火车时刻信息,在Eclipse平台上,采用java语言,设计实现基于android平台的火车时刻表查询系统。

设计包括三大部分:

界面设计、WebService请求和MySQL数据库访问。

各界面使用Activity作为容器,部署Button等控件,并为控件设置监听器,使用Intent对象在各Activity之间传递信息;采用httpClient.execute()方法提出Service请求,对火车车票的查询、订票、余票查询、代售点、个人信息等功能的实现,不仅能够给用户带来极大的方便,还能够节约用户的时间成本与解决车站人满为患的情况。

关键词:

界面的设计;WebService;MySQL数据库

Abstract:

Fortheconvenienceofmobilephoneusersinstantquerytraintimetableinformation,intheEclipseplatform,usingjavalanguage,thedesignandRealizationoftheAndroidplatformthetrainscheduleinquirysystembasedon.Thedesignincludesthreeparts:

theinterfacedesign,WebServicerequestandMySQLdatabaseaccess.TheinterfaceusesActivityasthecontainer,thedeploymentoftheButtoncontrol,andsetthelistenerforcontrol,usetheIntentobjecttotransferinformationbetweentheActivityhttpClient.execute(Service);theproposedrequestmethod,query,query,booking,ticketoutlets,personalinformationandotherfunctionsofthetrainticket,cannotonlybringgreatconveniencetotheuser,butalsocansavetimecostandsolvethestationthesituationofovercrowding.

Keywords:

theinterfacedesign;WebService;MySQLdatabase

一、绪论

1.系统的开发背景

随着社会经济的迅速发展和科学技术的全面进步,手机事业的飞速发展,以手机与通信技术为基础的信息系统正处于蓬勃发展的时期。

随着经济文化水平的显著提高,人们对生活质量及工作环境的要求也越来越高。

随着各种各样的订票系统的出现出现,手机订票系统的出现也是无法避免的。

而具有Android为系统的手机已经在生活中普遍存在包括中国移动、摩托罗拉、高通、宏达和T-Mobile等都是用Android作为手机系统来使用,并且android是一个真正意义上的开放性移动设备综合平台。

它包括操作系统、用户界面和应用程序-移动电话工作所需的全部软件,而且不存在任何以往系统说存在的阻碍。

通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,建立了标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统,这样应用之间的通用性和互联性将在最大程度上得到保持。

Android打破了应用之间的界限,比如开发人员可以把Web上的数据与本地的联系人,日历,位置信息结合起来,为用户创造全新的用户体验。

Android平台还为开发人员提供了大量的实用库和工具,开发人员可以很快速的创建自己的应用系统。

这样就会大大减少成本、运行快、检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长等,可减少更多的人力物力,这些都能够极大地提高用户在查询中的需求,更好的满足人们的需求。

2.系统的目标

随着社会的进步,科技的发展,现代化的手机系统也越来越盛行,因此在此基础上,本次开发的手机订票系统的总目标是:

在手机和先进的android开发平台上,利用现有资源,开发一个体系结构完善的、易扩充的、易维护的、具有良好人机交互界面的手机订票系统,实现人们在随时随地,满足人们对车票的需求,利用手机上网订购火车票有以下的优势:

1)因为手机可以随身携带这个特点,旅客可以随时随地的通过移动网络查询想要出行的线路、列车运行情况、有无票情况以及及时预定购买想要乘坐的车次。

2)、手机订票的另一个特点是订票信息保留的时间长,用户信息直接输入到网络里不易忘记。

旅客订票的时候首先注册用户,登录,对所需的信息进行查询等操作,手机会自动保存信息。

3)、系统会有很直观的客户端界面,方便用户操作。

因此对基于手机订票系统的研究,对于提高铁路的服务,提升铁路运输的竞争力具有重要的现实意义。

3.开发环境

本文相关基于Android架构的火车票系统的定取进行交互,系统分为客户端与服务器端两部分。

客户端基于Android,为方便开发,应用的集成开发环境为Eclipse。

服务器端基于Servlet3.0+Hibernate3.0+Spring3.0.5,为方便开发,应用集成

开发环境为MyEclipse9.0。

应用Web服务器。

应用数据库为mysql。

4.开发工具说明

Android一词的本义指“机器人”,同时Android也是Google于2007年11月5日宣布的基于linux平台开源手机操作系统名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。

2008年9月23日,Android初步发布SDK1.0。

第一款机型DreamG1的诞生(Android1.0时代)在2009年10月23日,当时并不被市场认可。

G1和G2逐渐被市场接受(Android1.5时代),到后来HTCHeroG3广受欢迎,成为最受欢迎的机型(Android1.6时代),众多厂商加盟支持,机型越来越多,市场反应和占有率越来越高,同时伴随着Market出现爆发式增长。

然后支持蓝牙2.1、多点触控(Android2.0时代),支持动态桌面(Android2.1时代),支持在线视频Flash播放、网络共享功能,加入了Just-In-Time(JIT)功能较大提升了运行速度(Android2.2时代)内置NFCReader功能、强化游戏性(Android2.3时代),专门针对平板电脑进行优化的Android3.0版(Android进入真正意义上的平板电脑时代)陆续上市。

二、需求分析

1.需求分析简介

中国地域广阔,火车线路错综复杂。

另一方面人们生活或质量逐渐的提高,旅游业发展迅猛,外出乘车旅游的旅客也越发增多,为了能选择一个最佳路线,我们很有需要建立一个基于手机的火车查询系统,可以快速的购买车票,为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。

对软件需求的深入理解是软件开发工作获得成功的前提条件,不论开发人员把设计和编码工作做得如何出色,如果不能真正满足用户需求的程序,只会令用户失望,给开发者带来麻烦。

手机订票系统主要需要完成的任务就是利用android手机平台来实现手机票的查询、订票等功能,通过对车票的查询、订票、退票、代售点查询,利用手机系统可以避免了以前的复杂的短信订票和限时限地的站台买票,手机订票系统可以随时随地的进行操作,突出的特点是减少成本、运行快、检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长等。

2.功能需求

火车票查询系统是为了方便人们出行时,可以在手机上及时买到车票,他必须具有以下的功能:

1.车次查询功能:

旅客可以根据始发站名和终点站名查询全国任意两站之间的所有车次,并且相应查询出两站的运行时间、票价等各种信息。

2.订票功能:

旅客可以根据车次号、起始站、终点站、身份证号和时间来定取全国的车票。

3.余票查询功能:

利用车次、初始地来查看本车发车时间、座位的类型、车票价钱和车票的剩余数。

4.退票功能:

利用车次号和身份证号可以对车票进行退票。

5.代售点:

查看所买车票可以带去的地方。

6.个人信息:

对个人信息进行填写和保存。

3.性能需求

需要在Android2.3以上,至少512Mb内存,防止程序因内存问题而出现卡死现象,至少需要512Mb的存储空间,防止累积大量数据后出现存储空间不足或读取数据较慢的问题。

4.界面需求

界面尽可能的让用户用起来方便简单,颜色的设置要符合正常的视觉效果,控件布局要符合常用软件的规律。

三、概要设计

1.总体设计简介

经过需求分析阶段的分析,系统将要实现什么呀的功能已经清楚,现在是想如何来用什么样的方法来实现需求里面所需要的功能。

总体设计的基本目的就是如何来实现火车的查询系统。

因此,总体设计又称为概要设计和初步设计。

通过这个阶段的工作将划分出组成系统的物理元素——程序、文件、人工过程和文档等。

总体设计的另一个重要任务就是设计程序的结构,也就是要确定程序是由哪些模块组成的,以及这些模块相互间的关系。

总体设计过程通常有两个主要阶段组成:

系统设计阶段,确定系统的具体实现方案。

结构设计阶段,确定程序由哪些模块组成及各模块之间的关系。

2.系统设计思想

设计思想的必要性:

android是一种面向对象的语言,是实现面向对象编程的强大工具。

我们在实际的编程中,应该发挥其最大的效能。

但是,要利用面向对象编程思想,自己独立开发出好的android应用程序,特别是大、中型程序,并不是一件简单的事情。

正是基于面向对象编程思想,人们将实际中的各种应用程序,进行大量的分析、总结,从而归纳出许多标准的设计模式。

将这些模式合理的运用到自己的实际项目开发中,可以最大限度的减少开发过程中出现的设计上的问题,确保项目高质量的如期完成。

而MVC的架构模式就是其中的一种。

MVC包括三类对象。

Model是应用对象,View是它在屏幕上的表示,Control定义用户界面对用户输入的响应方式。

模型是应用程序的主体部分。

模型表示业务数据,或者业务逻辑。

视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。

控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。

MVC式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。

3.系统结构

本项目服务器端是一个较完整的android项目,服务器端应用了目前主流的分层方法即分为视图层、控制器层、业务逻辑层、DAO层、WEB层。

建立这样的分层体系的作用是将客户端与数据库分离而不是直接交互;通过业务逻辑层进行数据处理及系统逻辑的实现;通过DAO层完成数据库相关操作的面向对象化。

Android客户端应用基本不做业务处理,只负责与服务器控制器足间交互,

Android应用Servlet向服务器端Service发送请求并获取服务器端以返回的结果,这样便实现了Android系统与数据库之间的通信[7]。

主要可以说是客户端发送信息到服务端,服务端收到信息后进行处理,把处理后的信息返回给用户端,而服务端再将信息传送到web端,以方便用户后期的取票。

 

图3-1系统结构

从上图可以看出Android系统主要由三部分构成,下面分别介绍这几部分。

(1)、手机用户端

手机端主要两个作用,一个是对界面的设计,在界面设计方面,Android里面有好多种布局管理方式,常用的是线性布局(LinearLayout)和表格布局(TableLayout)两种,也是最简单、常用的两种布局,我在设计的系统中是利用线性布局来实现界面的设计;

手机端另一面是对数据的传送,主要是将接受到的数据通过监控把数据传送到传送到MyEclipse中,在MyEclipse中进行处理,将处理往后的数据在传回到手机界面上,

(2)、服务端

服务端主要是对用户界面和数据之间进行连接,进而对数据进行处理,实现界面和数据库之间的操作,例如对数据的查询、修改、输入,都是在服务端进行的,用来完成用户的操作,而服务器主要是由视图层、控制器层、业务逻辑层、DAO层、WEB层。

建立这样的分层体系的作用是将用户端与数据库分离而不是直接交互;通过业务逻辑层进行数据处理及系统逻辑的实现;通过DAO层完成数据库相关操作的面向对象化。

Android客户端应用基本不做业务处理,只负责与服务器控制器足间交互,

Android应用Servlet向服务器端Service发送请求并获取服务器端以返回的结果,这样便实现了Android系统与数据库之间的通信[7]。

主要可以说是客户端发送信息到服务端,服务端收到信息后进行处理,把处理后的信息返回给用户端,而服务端再将信息传送到web端,以方便用户后期的取票。

(3)、MySQL数据库

本文相关基于Android架构的火车订票系统应用数据库为MySQL。

由于该系统核心功能为车票查询、订票、查票和退票,故本系统核心数据库表为车次表(train)、票数(poll)、订票(booking)、代售点(agent__stand),表的基本属性

4.系统功能模块

 

图3-2系统功能模块

5.数据库设计

(1)、数据库概念结构设计

数据库设计是指对于一个给定的应用环境,构造优化的数据逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效的存储和管理数据。

满足用户应用需求,包括信息管理要求和数据操作要求。

信息管理要求是指数据库中应该存储和管理哪些数据对象;数据操作要求是指对数据库需要进行哪些操作,如查询、增、删、改等操作。

数据库设计的目的是为了用户和各种应用系统提供一个信息设施和高效率的运行效率。

(1)、用户与各表之间的关系

 

n

 

1

n

1

1

1

1

 

n

 

图4-7E-R图

(2)、数据库逻辑机构设计

根据系统需求为数据建立数据库来保存列车表的所有数据,数据库Train中包括的五个数据库:

分别是:

用户表、列车表、余票表、订票表、代售点表。

下面分别是这些表的逻辑结构:

表3-1是列车表包括:

车次号、始发站、终点站、发车时间、硬座票价、硬卧票价、软卧票价;

表3-1列车表:

TRAIN

字段名

数据类型

长度

可否为空

车次号

Train_number

Varchar

6

始发站

Start_point

Varchar

20

终点站

Terminal_point

Varchar

20

发车时间

Begin_time

Varchar

15

运行时间

Move_time

Varchar

20

硬座票价

Money_seat

Double

5

硬卧票价

Money_lie_upper

Double

5

软卧票价

Money_soft_down

Double

5

表3-2是余票查询表包括;车次号、时间、硬座票数、硬卧票数、软卧票数;

表3-2余票表:

POLL

字段名

数据类型

长度

是否为空

车次号

Train_number

Varchar

6

时间

Poll_time

Varchar

10

硬座票数

Poll_seat

Int

4

硬卧票数

Poll_lie_gather

int

4

软卧票数

Poll_soft_gather

int

4

表3-3是订票表,包括身份证号、车次号、始发站、终点站、座位类型、时间;

表3-3订票表:

BOOKING

字段名

数据类型

长度

是否为空

身份证号

Status_name

Varchar

18

车次号

Train_number

Varchar

6

始发站

Start_point

Varchar

20

终点站

Terminal_point

Varchar

20

座位类型

Seat_type

Varchar

6

时间

Poll_time

Varchar

10

表3-4是用户表,包括用户名和密码;

表3-4用户表USER

字段名

数据类型

长度

是否为空

用户名

User_name

Varchar

10

密码

Password

Varchar

10

表3-5是代售点表,包括Id和地点;

表3-5代售点AGENT_STAND

字段名

数据类型

长度

是否为空

Id

Int

10

地点

Place

Varchar

50

4、系统详细设计与实现

1.系统设计

(1)、用户图标设置

图标的设计可以简单直接的突出系统的作用,让人们可以直观的明白图标的含义:

如图4-1

图4-1应用程序图标

(2)、用户登录界面

通过点击应用程序图标,进入登录界面,可以对用户进行注册和直接登录,如图4-2

图4-2登录界面

2.系统的实现

(1)、登录、注册界面

登录界面是利用线性布局来实现的,制作一张背景图片,在res下的layout中创建main.xml文件,里面利用TextView和EditText来实现文本和文本输入框的实现,利用Bottom来制作登录和注册的按钮,设计中要对文本和文本输入框进行位置和大小进行调整,而后在给个TextView和Bottom两个加监听,到用户输入信息或者点击了按钮后作出相应的提示,例如:

用户输入用户名和密码后点击登录,系统就读取数据传递到数据库中进行查找,如果查找的,就会返回登陆成功的信息,就会跳转到主键面,或许返回的信息提示密码错误或者信息不存在。

如果点击的是注册按钮,就会直接跳转的注册的界面。

图4-3登陆界面

图4-4注册界面

(2)、系统的主界面

当用户登录成功以后跳转到主界面,主界面会呈现出列车查询、订票、余票查询、代购点、个人信息;首先是对界面的背景和文本放的位置进行设置,而后在利用TextView对个文档的设置,设置好以后对位置进行调整,再给个文档添加监听的效果,让点击文字后实现跳转的功能,例如:

列车查询系统;但你单击列车查询系统后,在列车查询系统上建立的监听就会执行自动跳转的设计好的查询界面:

主页图片如4-5

图4-5主界面

(3)、车次查询界面

当单击车次查询后,进入查询界面,对界面信息进行设计,利用TextView和EditText实现文本、输入框的显示,再利用bottom实现一个日期的设置按钮,添加查询和返回,对输入框和按钮加监听,点击查询按钮后,设置的监听就会把初始地和终点以及时间的数据就会通过Service传送的Myeclipse中的Service中,Service把数据传送的Dao层,Dao接收数据后发送到数据库中进行查找,如果找到就会一层一层的返回到查询界面,如果查找到数据,就会显示在屏幕上,如果没有查找到就会什么也不会出现。

显示无数据。

设计好后如图4-6

图4-6车次查询界面

(4)、定票界面

当点击订票图标后,跳转到订票的界面,同样利用TextView、EditText和bottom来实现文本、输入框和按钮,对其进行修改,点击提交时,在文本框中的数据就会通过Service传送的MyEclipse中的Servlet中,Servlet在进行处理,将接受到的数据传送到Dao层中,Dao层进行查找有的话就会把数据传送到数据库中进行存储,比对剩余票表中的数据进行修改,并且返回订票成功传送到订票界面显示订票成功。

图4-7订票界面

(5)、其他界面

其他界面也是如同上面一样利用TextView、EditText和Bottom来实现,并对数据进行增删等行为。

五、系统测试

1.测试原则

软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。

执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。

可以满足人们的需求性,方便人们使用。

2.测试的重要

无论怎样强调软件测试的重要性和它对软件可靠性的影响都不过分。

我们力求在每个阶段结束之前通过严格的技术审查,尽可能早地发现并纠正差错;但是,经验表明审查并不能发现所有差错,此外在编码过程中还不可避免地会引入新的错误。

如果在软件投入生产性运行之前,没有发现并纠正软件的大部分差错,则这些差错迟早会在生产过程中暴露出来,那时不仅改正这些错误的代价更高,而且往往会造成很恶劣的后果。

测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。

3.程序调试

调试(也称为纠错)作为成功测试的后果出现,也就是说,调试是在测试发现错误之后排除错误的过程。

虽然调试可以是一个有序过程,但是,目前它在很大程度上仍然是一项技巧。

软件工程师在评估测试结果时,往往仅面对着软件错误的症状,也就是说,软件错误的外部表现和它的内在原因之间可能并没有明显的联系。

调试就是把症状和原因联系起来的尚未被人深入认识的智力过程。

4.测试的过程和结果

为了检测程序是否可以正常使用,我们利用车次查询系统来做一下测试,例如在查询系统中输入要查找的初始地、终点和日期上输入你要查询的起始点和日期,点击查询,如图5-1

图5-1查询

查询单击后如果查到就会显示出来有那些车次和发车时间运行时间票价,如图5-2

图5-2查询结果

出现查询的结果说明程序运行正常。

在测试结束以后,系统都可以正常的进行运行,并且在Web系统中可以查到修改后的数据和订票以后的数据,系统设计成功。

六、结论

论文相关项目为基于Android架构的火车订票交互系统,在论文中对Android平台进行了大致说明并针对两者结合进行复杂的手机互联应用进行了研究。

在此期间主要进行以下工作:

1.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1