毕业设计说明书火车票网上预约订购系统资料.docx
《毕业设计说明书火车票网上预约订购系统资料.docx》由会员分享,可在线阅读,更多相关《毕业设计说明书火车票网上预约订购系统资料.docx(25页珍藏版)》请在冰豆网上搜索。
毕业设计说明书火车票网上预约订购系统资料
毕业设计说明书
火车票网上预约订购系统
学生姓名:
学号:
计算机与控制工程学院
学院:
网络工程
专业:
指导教师:
2016年6月
火车票网上预约订购系统
摘要
火车票网上预约订购系统是一款联系人们和车票官方的管理软件。
通过系统的实现方便人们的日常出行,为人们提供便利条件。
本系统使用JAVA语言开发,使用Myeclipse作为开发工具,同时使用SQLServer数据库进行数据的存储,并且使用SSH框架提高了功能实现效率,增加了系统的可维护性。
主要功能分为两大模块,①管理员模块;②用户模块。
其中管理员模块
主要实现的功能有:
车次管理、新闻管理、公告管理、留言管理及会员信息;用户模块实现的主要功能有:
查询功能、车票预定功能以及个人信息的管理。
本系统经过测试,所有功能均达到预计功能。
关键词:
网上订票,JAVA,Myeclipse,SSH,SQLServer
Ordertrainticketsonlinebookingsystem
Abstract
Ordertrainticketsonlinebookingsystemisasoftwareofcontactpeopleandtheofficialmanagement.TherealizationoftheconvenientPeople’sDailytravelandprovideconvenienceforpeople.
ThesystemuseJAVAlanguagedevelopment,anduseofMyeclipseasdevelopmenttools,atthesametime,usingSQLServerdatabasefordatastorage,improvetheefficiencyofthefunctionsandsuingSSHframework,increasethemaintainabilityofthesystem.Mainfunctionisdividedisdividedintotwobigmodules,
(1)theadministratormodule;
(2)theusermodule.Theadministratormodulemainfunctionsforimplementationareinclude:
Servicemanagement,newsmanagement,bulletinmanagement,messagemanagementandmemberinformation;Theusermodulemainfunctionsforimplementationareinclude:
thefunctionsofquery,ticketbookingandmanagementofpersoninformation.Aftertesting,thesystemofallfunctionscanachieveexpectedfunction.
Keywords:
BookingTicketsOnline,JAVA,Myeclipse,SSH,SQLServer
1需求分析
了解火车票网上预约订购系统的具体实现流程,以及每个流程所要实现的功能和操作,对其进行详细分析和总结,明确得出完成系统所需要的概念。
本系统主要解决网上购票和订票等功能,满足不同用户在不同时间提出的不同需求。
同时需要系统能够高效安全可靠的为用户服务,同时还要解决负载问题。
1.1问题定义
首先,系统能够安全流畅的运行,为用户提供所需要的服务。
用户可以在网上根据自身需求去订购车票,用户输入的姓名、身份证号、出发时间、出发地点及目的地将被传入到数据库中,然后根据要求为旅客安排出行车次,旅客可以在出发前将票取出,或者进行退票的操作。
1.2系统需求
这款管理系统主要是用于火车票网上订票。
根据使用者的需求,可以实现对系统中对应的信息进行增删改查等操作。
并建立以下2个大模块:
1.2.1管理员功能模块:
(1)车次管理功能模块:
管理员通过系统将列车的车次信息、经过的站点、时间、票价等信息录入系统并存入数据库中,当用户在系统中进行查询数据时,系统将查询的数据结果返回给用户,实现用户和系统之间的交互。
(2)车票预定管理功能模块:
当用户登陆后对车票进行购买和预定,管理员要通过系统对这些操作进行管理。
(3)新闻管理功能模块:
新闻模块主要向对旅客展示新闻信息,管理员通过后台系统对数据库中的信息进行修改、增加和删除等操作。
(4)公告管理功能模块:
公告模块会提示旅客列车信息,到站时间、是否晚点等,管理员通过系统后台对这些信息进行修改等操作,防止旅客出现晚点和在车站等待时间过长等情况。
(5)留言管理功能模块:
旅客在使用系统过程中对系统有什么建议或者意见可以通过该模块进行提交,管理员可以对这些信息进行采集,并做出相应的改进,提高旅客的满意度,为旅客提供更好的服务。
1.2.2普通用户功能模块:
(1)查询功能模块:
旅客可以直接登陆系统进行余票的查询、新闻的查询等,余票查询条件分为按照时间查询和按照站点查询,并将查询结果返回给用户。
(2)车票管理功能模块:
根据旅客自身的需求购买和预定车票,在一定时间后预定的车票如果没有确定订单则会被取消。
(3)个人信息管理功能模块:
当旅客想要购买车票、预订车票还有留言时则需要进行系统注册,并将结果存储在数据库中,登陆时进行验证,验证通过后才可以实现以上操作。
1.3系统功能图
图1.1系统功能图
1.4可行性分析
在系统初步的需求分析阶段,需要提出可行性的方案来进行论证,所以,这部分内容将从技术可行性,操作可行性和经济可行性三个方面进行论述。
1.4.1技术可行性
本系统使用Myeclipse作为开发工具,数据库采用SQLServe,系统环境为MicrosoftWindows2000或以上版本。
同时系统开发使用的是JAVA语言,整个项目的本质是对数据库的增加、删除、查找以及修改等操作。
因此,技术可行性达标。
1.4.2操作可行性
使用的开发工具是Myeclipse,能够在Windows操作系统下运行,操作方便,用户可以通过系统中的帮助说明进行操作,简单可行。
用户不必了解系统的实现过程,所以系统需要做一个图形化界面和用户进行交互,也就是说要为用户提供一个接口,用户只需要了解系统如何使用,所以界面要设计的简单易懂操作方便。
因此,操作可行性达标。
1.4.3经济可行性
本系统开发的所有工具都是开源的,已于获取的。
在本系统投入使用以后,与传统的购票方式相比,将会省去大量的人力、物力、财力。
因此,在经济可行性方面可行。
1.5本章小结
本章主要对火车票网上订购系统在需求、功能、可行性等方面进行综合论述。
首先对系统需求进行了分析和概括,在明确了本系统所要实现目标的同时,提出相应的总体设计思路、设计功能与所要使用的实现方法,最终通过系统需求中要求实现的功能描述,对系统要实现的内容进行了概要论述。
2概念结构设计
这部分将提出整个系统的总体实现方案,明确软件的总体布局,系统的各个子模块的功能和模块之间的关系,总结出数据库中表的设计方案。
2.1系统基本流程
图2.1是本系统实现的最基本的功能流程,用户提出不同的需求,系统通过用户的请求与数据库进行交互,返回用户请求的相应信息,显示在客户端中,作为火车票订购系统购票是最基本的功能,用户通过查询,购买满足自己需求的车票。
图2.1系统基本流程图
2.2数据表及E-R图
2.2.1数据表
管理员信息(管理员ID,管理员密码,管理员名)
用户信息(用户ID,姓名,密码,真实姓名,性别,邮箱,地址,QQ,电话)
车次基本信息(车次ID,路线,日期,到达时间,出发时间,票数,票价)
公告信息(公告ID,标题,日期,发布人)
留言信息(留言ID,标题,日期,内容,留言人)
新闻信息(新闻ID,标题,日期,图片名)
车票预订信息(预定ID,预定用户ID,预定车次ID,数目,金额,支付方式,时间,预定状态)
2.2.2E-R图
图2.2是用户查询火车票流程的E-R图,用户有ID、用户名和密码等基本属性信息,车次有车次ID、路线和票价等基本属性,两者通过查询操作建立连接,并且是多对多的关系。
一个用户可以查询多趟列车,一趟列车可以被多个用户查询。
图2.2用户查询车次E-R图
2.2.3数据库表的设计
表2.1是管理员表的设计,主要用于存储管理员信息,当对管理员信息进行修改、增加等操作时,将对这张表中的相应数据进行修改。
表2.1管理员表设计
属性名
存储类型
属性值能否为空
属性值含义
userID
int
否
管理员ID(主键)
userName
varchar(50)
否
管理员名
userPw
varchar(50)
否
密码
表2.2是用户表的设计,用于存储用户的注册信息,当用户通过系统注册时,注册的信息将被录入到这张表中,当用户对自己的信息进行修改时,将对应改变表中的数据。
表2.2用户表设计
属性名
存储类型
属性值能否为空
属性值含义
user_id
int
否
用户ID(主键)
user_name
varchar(50)
否
用户姓名
user_pw
varchar(50)
否
用户密码
user_realname
varchar(50)
否
真实姓名
user_address
varchar(50)
否
地址
user_sex
varchar(50)
是
性别
user_tel
varchar(50)
否
电话
user_email
varchar(50)
是
邮箱
user_qq
varchar(50)
是
QQ
表2.3是车次表的设计,用于存储管理员录入的车次信息,当用户查询车次信息时,系统将通过内部方法将这张表中的数据呈现给用户;管理员对车次信息进行修改时,将修改这张表中的对应信息。
表2.3车次表设计
属性名
存储类型
属性值能否为空
属性值含义
id
int
否
车次ID(主键)
luxian
varchar(50)
否
路线
piaoshijian
varchar(50)
否
日期
startshijian
varchar(50)
否
开车时间
endshijian
varchar(50)
否
到站时间
piaojia
int
否
票价
piaoshu
int
否
票数
表2.4是公告表的设计,用于存储管理员在后台录入的公告信息,将通过主键修改表中的对应信息。
用户在首页看到的公告信息是系统通过内部方法将这张表中的信息放在jsp页面中。
表2.4公告表设计
属性名
存储类型
属性值能否为空
属性值含义
gonggao_id
int
否
公告ID(主键)
gonggao_title
varchar(50)
否
标题
gonggao_content
varchar(8000)
否
发布内容
gonggao_date
varchar(50)
否
发布时间
gonggao_fabuzhe
varchar(255)
否
发布人
表2.5是留言表的设计,用于存储用户在留言界面的留言内容,当管理员对留言进行查看和管理时,这张表中的内容将在页面上呈献给管理员。
表2.5留言表设计
属性名
存储类型
属性值能否为空
属性值含义
liuyan_id
int
否
留言ID
liuyan_title
varchar(50)
否
留言标题
liuyan_content
varchar(5000)
是
留言内容
liuyan_date
date
是
留言日期
liuyan_user
varchar(50)
是
留言人
表2.6是图片新闻表的设计,用于存储管理员录入的新闻信息,用户在首页中查看到的新闻也是这张表中的信息,当管理员在后台系统中对图片新闻进行修改时,将会修改这张表中的对应信息。
表2.6图片新闻表设计
属性名
存储类型
属性值能否为空
属性值含义
picNews_id
int
否
新闻ID
picNews_title
varchar(50)
是
标题
picNews_content
varchar(5000)
是
内容
picNews_pic
varchar(50)
是
图片名
表2.7是用户预定车票表的设计,用户成功订购车票后,车次的基本信息,用户的基本信息等都会存储在这张表中。
当管理员修改用户的预定车票信息时,将通过主键修改这张表中的对应信息。
表2.7预定表设计
属性名
存储类型
属性值能否为空
属性值含义
yvding_id
int
否
预定号
User_id
int
否
用户ID
Checi_id
int
否
车次ID
yvding_shumu
int
否
预定数目
yvding_jine
varchar(50)
否
预定金额
zhifufangshi
varchar(50)
否
支付方式
yvding_shijian
date
否
预定时间
yvding_zhuangtai
int
否
预定状态
2.3本章小结
本章主要介绍了系统的各个模块,并给出了数据表和E-R图,详细设计了每张表的类型属性。
展示了整个系统的基本流程,抽象出了每个对象和对象的具体属性,并且展示了对象和对象间的关系,逐步清晰整个系统的思路,目标明确,方便后期维护与修改。
3详细设计
3.1程序主框架
整个系统使用了SSH框架,简化代码量,通过jsp页面显示信息实现系统与用户的交互。
框架主要负责接受用户发送的请求(request)和传送系统响应(response),然后根据配置的struts.xml文件中的配置信息将ActionServlet接收到用户发送过来的Request请求转发给相应的Action做业务处理,完成相应的业务处理后将返回一个ActionForward对象,控制器通过返回的ActionForward对象将工作转发到相应的模型层中,同时Action将业务处理后产生的不同结果返回一个目标响应对象传递给总控制器,总控制器在通过Action处理后的目标响应对象找到对应的jsp页面,将结果展示给用户,实现系统与用户的信息交互。
所以,在项目的com.action包中存放处理各个相应功能的类;com.dao包中存放利用Hibernate封装DAO类来实现各个类与数据库的数据交换;com.model包中存放了每个Java类的封装模型,使用里面提供的GET和SET方法对数据表的属性进行获取和添加;在com.service包中存放了一个Java类,实现用户的登录,管理员和用户的密码修改以及预付款金额;com.util中封装了项目的常用方法,如分页信息,格式化时间等。
整个项目通过使用Spring框架的规划使代码量减少,条理清晰,降低了程序的耦合,增加了代码的重复利用性。
3.2启动界面
启动界面如图3.1所示,整个界面由incFoot.jsp,incleft.jsp和inoTop.jsp三个页面组成,呈现在用户面前的主框架均由这三个页面通过include>标签链接页面组合而成。
里面的菜单栏是一个整体的