毕业设计说明书
火车票网上预约订购系统
学生姓名: 学号: 计算机与控制工程学院 学 院: 网络工程 专 业: 指导教师:
2016年6月
火车票网上预约订购系统
摘 要
火车票网上预约订购系统是一款联系人们和车票官方的管理软件。通过系统的实现方便人们的日常出行,为人们提供便利条件。
本系统使用JAVA语言开发,使用Myeclipse作为开发工具,同时使用SQL Server数据库进行数据的存储,并且使用SSH框架提高了功能实现效率,增加了系统的可维护性。主要功能分为两大模块,①管理员模块;②用户模块。其中管理员模块 主要实现的功能有:车次管理、新闻管理、公告管理、留言管理及会员信息;用户模块实现的主要功能有:查询功能、车票预定功能以及个人信息的管理。本系统经过测试,所有功能均达到预计功能。
关键词:网上订票,JAVA,Myeclipse,SSH,SQL Server
Order train tickets online booking system
Abstract
Order train tickets online booking system is a software of contact people and the official management. The realization of the convenient People’s Daily travel and provide convenience for people.
The system use JAVA language development, and use of Myeclipse as development tools, at the same time ,using SQL Server database for data storage, improve the efficiency of the functions and suing SSH framework, increase the maintainability of the system. Main function is divided is divided into two big modules, (1) the administrator module; (2) the user module. The administrator module main functions for implementation are include: Service management, news management, bulletin management, message management and member information; The user module main functions for implementation are include: the functions of query, ticket booking and management of person information. After testing, the system of all functions can achieve expected function.
Keywords: Booking Tickets Online, JAVA, Myeclipse,SSH,SQL Server
中北大学2016届毕业设计说明书
目 录
1 需求分析 .......................................................... 1 1.1 问题定义 ........................................................ 1 1.2 系统需求 ........................................................ 1 1.2.1 管理员功能模块: .............................................. 1 1.2.2 普通用户功能模块: ............................................ 2 1.3 系统功能图 ...................................................... 2 1.4 可行性分析 ...................................................... 2 1.5 本章小结 ........................................................ 3 2 概念结构设计 ...................................................... 4 2.1 系统基本流程 .................................................... 4 2.2 数据表及E-R图 .................................................. 4 2.2.1 数据表 ........................................................ 4 2.2.2 E-R图 ......................................................... 5 2.2.3 数据库表的设计 ................................................ 5 2.3 本章小结 ........................................................ 8 3 详细设计 .......................................................... 9 3.1 程序主框架 ...................................................... 9 3.2 启动界面 ........................................................ 9 3.3 用户模块 ....................................................... 10 3.3.1 系统首页 ..................................................... 10 3.3.2 免费注册 ..................................................... 10 3.3.3 会员功能模块 ................................................. 11 3.4 管理员模块 ..................................................... 17 3.4.1 管理员登录 ................................................... 17 3.4.2 基本操作 ..................................................... 18 3.4.3 会员管理 ..................................................... 19 3.4.4 新闻公共管理 ................................................. 20
第 Ⅰ 页 共 Ⅱ 页
中北大学2016届毕业设计说明书
3.4.5 车次管理 ..................................................... 22 3.4.6 订单管理 ..................................................... 22 3.5 本章小结 ....................................................... 23 4 测试与调试 ....................................................... 24 4.1 测试与调试概述 ................................................. 24 4.2 程序功能测试 ................................................... 24 4.2.1 测试主页访问是否成功 ......................................... 24 4.2.2 测试用户注册功能 ............................................. 24 4.2.3 测试管理员与用户登录功能 ..................................... 24 4.2.4 测试订购车票功能与车次管理功能 ............................... 24 4.2.5 测试管理员管理功能 ........................................... 25 4.3 本章小结 ....................................................... 25 5 结论 ............................................................. 26 参 考 文 献 ......................................................... 27 致 谢 .............................................................. 28
第 Ⅱ 页 共 Ⅱ 页
中北大学2016届毕业设计说明书
1 需求分析
了解火车票网上预约订购系统的具体实现流程,以及每个流程所要实现的功能和操作,对其进行详细分析和总结,明确得出完成系统所需要的概念。本系统主要解决网上购票和订票等功能,满足不同用户在不同时间提出的不同需求。同时需要系统能够高效安全可靠的为用户服务,同时还要解决负载问题。 1.1 问题定义
首先,系统能够安全流畅的运行,为用户提供所需要的服务。用户可以在网上根据自身需求去订购车票,用户输入的姓名、身份证号、出发时间、出发地点及目的地将被传入到数据库中,然后根据要求为旅客安排出行车次,旅客可以在出发前将票取出,或者进行退票的操作。 1.2 系统需求
这款管理系统主要是用于火车票网上订票。根据使用者的需求,可以实现对系统中对应的信息进行增删改查等操作。并建立以下2个大模块: 1.2.1 管理员功能模块:
(1)车次管理功能模块:管理员通过系统将列车的车次信息、经过的站点、时间、票价等信息录入系统并存入数据库中,当用户在系统中进行查询数据时,系统将查询的数据结果返回给用户,实现用户和系统之间的交互。
(2)车票预定管理功能模块:当用户登陆后对车票进行购买和预定,管理员要通过系统对这些操作进行管理。
(3)新闻管理功能模块:新闻模块主要向对旅客展示新闻信息,管理员通过后台系统对数据库中的信息进行修改、增加和删除等操作。
(4)公告管理功能模块:公告模块会提示旅客列车信息,到站时间、是否晚点等,管理员通过系统后台对这些信息进行修改等操作,防止旅客出现晚点和在车站等待时间过长等情况。
(5)留言管理功能模块:旅客在使用系统过程中对系统有什么建议或者意见可以通过该模块进行提交,管理员可以对这些信息进行采集,并做出相应的改进,提高旅客的满意度,为旅客提供更好的服务。
第 1 页 共 28 页
中北大学2016届毕业设计说明书
1.2.2 普通用户功能模块:
(1)查询功能模块:旅客可以直接登陆系统进行余票的查询、新闻的查询等,余票查询条件分为按照时间查询和按照站点查询,并将查询结果返回给用户。
(2)车票管理功能模块:根据旅客自身的需求购买和预定车票,在一定时间后预定的车票如果没有确定订单则会被取消。
(3)个人信息管理功能模块:当旅客想要购买车票、预订车票还有留言时则需要进行系统注册,并将结果存储在数据库中,登陆时进行验证,验证通过后才可以实现以上操作。 1.3 系统功能图
图1.1 系统功能图 1.4 可行性分析
在系统初步的需求分析阶段,需要提出可行性的方案来进行论证,所以,这部分内容将从技术可行性,操作可行性和经济可行性三个方面进行论述。 1.4.1 技术可行性
本系统使用Myeclipse 作为开发工具,数据库采用SQL Serve,系统环境为
第 2 页 共 28 页
中北大学2016届毕业设计说明书
Microsoft Windows 2000 或以上版本。同时系统开发使用的是JAVA语言,整个项目的本质是对数据库的增加、删除、查找以及修改等操作。因此,技术可行性达标。 1.4.2 操作可行性
使用的开发工具是Myeclipse,能够在Windows操作系统下运行,操作方便,用户可以通过系统中的帮助说明进行操作,简单可行。
用户不必了解系统的实现过程,所以系统需要做一个图形化界面和用户进行交互,也就是说要为用户提供一个接口,用户只需要了解系统如何使用,所以界面要设计的简单易懂操作方便。因此,操作可行性达标。 1.4.3 经济可行性
本系统开发的所有工具都是开源的,已于获取的。在本系统投入使用以后,与传统的购票方式相比,将会省去大量的人力、物力、财力。因此,在经济可行性方面可行。 1.5 本章小结
本章主要对火车票网上订购系统在需求、功能、可行性等方面进行综合论述。首先对系统需求进行了分析和概括,在明确了本系统所要实现目标的同时,提出相应的总体设计思路、设计功能与所要使用的实现方法,最终通过系统需求中要求实现的功能描述,对系统要实现的内容进行了概要论述。
第 3 页 共 28 页
中北大学2016届毕业设计说明书
2 概念结构设计
这部分将提出整个系统的总体实现方案,明确软件的总体布局,系统的各个子模块的功能和模块之间的关系,总结出数据库中表的设计方案。 2.1 系统基本流程
图2.1是本系统实现的最基本的功能流程,用户提出不同的需求,系统通过用户的请求与数据库进行交互,返回用户请求的相应信息,显示在客户端中,作为火车票订购系统购票是最基本的功能,用户通过查询,购买满足自己需求的车票。
图2.1 系统基本流程图
2.2 数据表及E-R图 2.2.1 数据表
管理员信息(管理员ID,管理员密码,管理员名)
用户信息(用户ID,姓名,密码,真实姓名,性别,邮箱,地址,QQ,电话) 车次基本信息(车次ID,路线,日期,到达时间,出发时间,票数,票价) 公告信息(公告ID,标题,日期,发布人) 留言信息(留言ID,标题,日期,内容,留言人) 新闻信息(新闻ID,标题,日期,图片名)
车票预订信息(预定ID,预定用户ID,预定车次ID,数目,金额,支付方式,时间,预定状态)
第 4 页 共 28 页
中北大学2016届毕业设计说明书
2.2.2 E-R图
图2.2是用户查询火车票流程的E-R图,用户有ID、用户名和密码等基本属性信息,车次有车次ID、路线和票价等基本属性,两者通过查询操作建立连接,并且是多对多的关系。一个用户可以查询多趟列车,一趟列车可以被多个用户查询。
图2.2 用户查询车次E-R图
2.2.3 数据库表的设计
表2.1是管理员表的设计,主要用于存储管理员信息,当对管理员信息进行修改、增加等操作时,将对这张表中的相应数据进行修改。
表2.1 管理员表设计
属性名 userID userName userPw 存储类型 int varchar(50) varchar(50) 属性值能否为空 否 否 否 属性值含义 管理员ID(主键) 管理员名 密码 表2.2是用户表的设计,用于存储用户的注册信息,当用户通过系统注册时,注册的信息将被录入到这张表中,当用户对自己的信息进行修改时,将对应改变表中的数据。
表2.2 用户表设计
属性名 user_id user_name user_pw user_realname 存储类型 int varchar(50) varchar(50) varchar(50) 属性值能否为空 否 否 否 否 属性值含义 用户ID(主键) 用户姓名 用户密码 真实姓名
第 5 页 共 28 页
中北大学2016届毕业设计说明书
user_address user_sex user_tel user_email user_qq varchar(50) varchar(50) varchar(50) varchar(50) varchar(50) 否 是 否 是 是 地址 性别 电话 邮箱 QQ 表2.3是车次表的设计,用于存储管理员录入的车次信息,当用户查询车次信息时,系统将通过内部方法将这张表中的数据呈现给用户;管理员对车次信息进行修改时,将修改这张表中的对应信息。
表2.3 车次表设计
属性名 id luxian piaoshijian startshijian endshijian piaojia piaoshu 存储类型 int varchar(50) varchar(50) varchar(50) varchar(50) int int 属性值能否为空 否 否 否 否 否 否 否 属性值含义 车次ID(主键) 路线 日期 开车时间 到站时间 票价 票数 表2.4是公告表的设计,用于存储管理员在后台录入的公告信息,将通过主键修改表中的对应信息。用户在首页看到的公告信息是系统通过内部方法将这张表中的信息放在jsp页面中。
表2.4 公告表设计
属性名 gonggao_id gonggao_title gonggao_content gonggao_date gonggao_fabuzhe 存储类型 int varchar(50) varchar(8000) varchar(50) varchar(255)
第 6 页 共 28 页
属性值能否为空 否 否 否 否 否 属性值含义 公告ID(主键) 标题 发布内容 发布时间 发布人 中北大学2016届毕业设计说明书
表2.5是留言表的设计,用于存储用户在留言界面的留言内容,当管理员对留言进行查看和管理时,这张表中的内容将在页面上呈献给管理员。
表2.5 留言表设计
属性名 liuyan_id liuyan_title liuyan_content liuyan_date liuyan_user 存储类型 int varchar(50) varchar(5000) date varchar(50) 属性值能否为空 否 否 是 是 是 属性值含义 留言ID 留言标题 留言内容 留言日期 留言人 表2.6 是图片新闻表的设计,用于存储管理员录入的新闻信息,用户在首页中查看到的
新闻也是这张表中的信息,当管理员在后台系统中对图片新闻进行修改时,将会修改这张表中的对应信息。
表2.6 图片新闻表设计
属性名 picNews_id picNews_title picNews_content picNews_pic 存储类型 int varchar(50) varchar(5000) varchar(50) 属性值能否为空 否 是 是 是 属性值含义 新闻ID 标题 内容 图片名 表2.7是用户预定车票表的设计,用户成功订购车票后,车次的基本信息,用户的基本信息等都会存储在这张表中。当管理员修改用户的预定车票信息时,将通过主键修改这张表中的对应信息。
表2.7 预定表设计
属性名 yvding_id User_id Checi_id yvding_shumu yvding_jine 存储类型 int int int int varchar(50)
属性值能否为空 否 否 否 否 否 属性值含义 预定号 用户ID 车次ID 预定数目 预定金额 第 7 页 共 28 页
中北大学2016届毕业设计说明书
zhifufangshi yvding_shijian yvding_zhuangtai varchar(50) date int 否 否 否 支付方式 预定时间 预定状态 2.3 本章小结
本章主要介绍了系统的各个模块,并给出了数据表和E-R图,详细设计了每张表的类型属性。展示了整个系统的基本流程,抽象出了每个对象和对象的具体属性,并且展示了对象和对象间的关系,逐步清晰整个系统的思路,目标明确,方便后期维护与修改。
第 8 页 共 28 页
中北大学2016届毕业设计说明书
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三个页面组成,呈现在用户面前的主框架均由这三个页面通过,最后在里面放入