非标准化旅游产品预订系统的实现方法研究计算机科学与技术等专业毕业设计毕业论文.doc_第1页
非标准化旅游产品预订系统的实现方法研究计算机科学与技术等专业毕业设计毕业论文.doc_第2页
非标准化旅游产品预订系统的实现方法研究计算机科学与技术等专业毕业设计毕业论文.doc_第3页
非标准化旅游产品预订系统的实现方法研究计算机科学与技术等专业毕业设计毕业论文.doc_第4页
非标准化旅游产品预订系统的实现方法研究计算机科学与技术等专业毕业设计毕业论文.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

I 摘 要 本文针对用户没有时间买票、买票难以及目前旅游公司靠人工的记录客户的火车 票需求信息的情况而开发了这款火车票网上在线预订管理系统。本系统的研究可以解 决这一问题,系统的实现不仅让旅客能更加方便更加快捷地预订火车票这一产品,也 极大地减轻旅游公司在火车票预订这块的人力物力财力,提高公司的盈利。此次系统 的开发按照软件工程的结构化设计思想,经过项目的可行性研究和需求分析、总体设 计、详细设计,以及编码实现和调试等步骤进行设计开发。并运用数据流图和数据字 典、E-R 图和数据库逻辑结构、层次图、系统流程图、以及程序流程图,对该系统的 数据需求、数据库、系统软件结构、系统流程、以及处理过程等进行了分析和设计。 本次设计采用 java 语言、jsp、struts 和 spring 框架、MySQL 数据库管理系统以及 MyEclipse 开发工具来开发一个基于网站的火车票预订管理系统,使得公司管理员能够 有效地管理车次、旅客信息、退票信息。同时旅客可以通过查询到相关的火车票信息, 选择适合自己的车票,也可以直接在网上订票、退票,省时省力。 火车票网上在线预订管理系统在功能上已基本实现管理员在后台进行车次信息、 订单信息、注册会员信息等模块的相关操作以及管理员身份验证和用户在前台注册、 身份验证,以及查询余票、订票、退票的相关操作。此系统操作简单、界面简洁,使 用人员稍加培训就可以完全掌握和使用该系统。此系统的缺陷就是界面不够绚丽,比 较单一,同时有些模块功能的设计考虑得不是很周全。 关键词: 信息管理; 火车售票; 数据库管理系统 II Abstract The train tickets online booking management system, which is presented in this paper, is developed to solve three following problems. The first problem is the user does not have time to buy tickets. The second problem is that it is difficult for the users to buy tickets. The third problem is that travel companies rely on the manual record of customer demand information. This system can solve this problem, the implementation of the system not only will enable travelers booking train tickets more convenient and faster, but also greatly reduce the cost of travel company on human, material and financial resources for booking train tickets, so as to improve the profitability of the company. The development of this system,which is based on structured design method of software engineering, can be divided into feasibility study, requirements analysis, system design, detail design. In the design phase, data follow chart, data dictionary, E-R graphic, database logical structure, and typical UML modeling facility such as class diagram, activity diagram, use case diagram and sequence diagram are uesd to analysis and design the data demand of the system, the database, the software structure, system process and treatment process. The design uses the java language, jsp, struts and the spring framework, MySQL database management system, as well as the MyEclipse development tools to develop a web- based train ticket booking system, making the company administrator manage the trips, passenger information, refund information effectively. At the same time visitors can query the relevant ticket information, choose ticket, but also directly book online, and refund, so as to save time and effort. Train tickets online booking management system has the basic functions. Firstly administrators can manage trips information, order information, member information. Secondly administrators have to authenticate by the system. Thirdly users can register in the foreground, authenticate , perform query, booking, and refund-related operations. This system is user-friendly. After minimal training, the users can fully grasp and use the system. The III defects of this system is that the interface is not brilliant, relatively simple, the design considerations of some module functionality is not very comprehensive. Key words: Information management; Ticket selling ; Database management IV 目 录 1 绪论.1 1.1 引言 1 1.2 问题描述 1 1.3 任务 1 1.4 本论文的主要结构 2 2 系统的可行性研究与需求分析.3 2.1 可行性研究 3 2.1.1 经济可行性.3 2.1.2 技术可行性.3 2.1.3 操作可行性.3 2.2 需求分析 3 2.2.1 功能需求.4 2.2.2 数据需求.5 2.2.3 性能需求.6 2.2.4 数据流图.6 2.2.5 数据字典.7 2.2.6 实体-联系图.9 2.2.7 数据库逻辑结构.10 3 系统的总体设计.12 3.1 系统软件结构设计 12 3.1.1 软件结构.12 3.2 系统流程图 13 4 系统的详细设计.17 V 4.1 接口设计 17 4.1.1 用户接口.17 4.1.2 外部接口.17 4.1.3 内部接口.17 4.1.4 软件接口.17 4.1.5 模块内部.18 4.2 过程设计 18 4.2.1 程序流程图.18 5 系统的实现与调试.20 5.1 应用系统的开发及测试 20 5.1.1 后台管理系统运行结果截图:.21 5.1.2 前台订票网站运行截图.31 6 结论.39 6.1 系统评价 39 6.2 安全性 39 参考文献.40 致谢.41 1 1 绪论 1.1 引言 随着互联网的飞速发展,网络在人们的生活中扮演着越来越重要的角色。传统的 纸质火车票、飞机票也慢慢被电子票所取代,而人工记录火车票的预订销售也逐渐以 网上预订系统来代替。在线火车票预订管理系统有着查找迅速、方便、可靠性强、存 储量大等传统人工记录无法比拟的优势。 传统的人工去记录用户的火车票预订信息,不仅效率低下,也很不方便,更容易 造成数据上的混乱,另外很难应付车票订购高峰时刻的大量数据处理问题,还会出现 由此带来的大量记录存放和管理所带来的问题。客户预订火车票也很不方便。本系统 的研究可以解决这一问题。系统的实现不仅让旅客能更加方便更加快捷地预订火车票 这一产品,也极大地减轻公司在火车票预订这块的人力物力财力,提高公司的盈利。 1.2 问题描述 许多的旅行网站中提供标准化的旅游产品,方便了人们的出行,带来生活上的便 利。但是在旅游公司中像火车票这类随意性很强的非标准化产品却一直由员工手工进 行记录,不仅效率低下,也很不方便,更容易造成数据上的混乱。另外很难应付车票 订购高峰时刻的大量数据处理问题,还会出现由此带来的大量记录存放和管理所带来 的问题。同时手工记录会经常记录错误的需求信息,不仅客户带来极大的不便,而且 还会给客户留下不好的印象。因此建立火车票预订管理系统是一个很好的解决办法。 作为计算机应用的一部分,使用计算机对火车票信息进行管理,具有手工管理所 无法比拟的优点:查找迅速、方便、可靠性强、存储量大等。这些优点能够极大地提 高公司在火车票预订信息管理方面的效率,同时节约了成本提高了收入。因此本文所 研究的火车票预订管理系统分为后台管理系统和前台预订系统。后台管理系统主要是 生成车次信息供旅客去订票参考,以及后台供管理员对车次信息、订单信息、管理员 信息以及会员信息的管理操作,而前台主要供用户去注册、查询火车票、预订火车票、 查询订单、退票的相关操作。同时前后台分开给管理员和普通的用户使用,不同的用 户分配有不同的权限,不仅明确了使用人群,而且也较大的提高了火车票预订管理系 统的安全性。操作简单、安全可靠、界面美观的火车票在线预订管理系统优势显而易 2 见。 1.3 任务 本次设计采用 java 语言1 2、jsp、struts 和 spring 框架、MySQL 数据库管理系统 以及 MyEclipse 开发工具3来开发一个基于网站的火车票预订管理系统,使得公司管理 员能够有效地管理车次、旅客信息、退票信息。同时旅客可以通过查询到相关的火车 票信息,选择适合自己的车票,也可以直接在网上订票、退票,省时省力。 1.4 本论文的主要结构 本学位论文主要由五个部分组成,其内容具体安排如: 第一部分是绪论。主要介绍了本课题的来源、选题背景、问题描述和论文的主要 结构。 第二部分介绍系统的可行性研究与需求分析。 第三部分介绍系统的总体设计。 第四部分介绍系统的详细设计。 第五部分是介绍系统的实现与调试。 第六部分是本课题研究的结论。 3 2 系统的可行性研究与需求分析 2.1 可行性研究 该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。我们在 这里主要从技术可行性、经济可行性和操作可行性三方面进行分析。 2.1.1 经济可行性 开发该系统所需的相关资料可以通过已存在的网上订票系统进行调查采集,所需 的其他应用软件、硬件系统也易于获得.因此,开发成本较低。而引进使用本系统后,与 传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财 力。所以,从经济的角度来看,该系统可行。 2.1.2 技术可行性 开发工具:Myeclipse 数据库环境:Mysql 系统环境:Microsoft Windows 2000 或以上版本。 系统实现依靠相对熟悉的 Java 语言4、jsp 技术5、struts2 和 spring 框架、Mysql 数据库系统6,其基本操作实质还是对数据库进行添加、删除、查找等操作,暂不存 在技术问题。 2.1.3 操作可行性 系统采用菜单式,实现用户与数据库的交互、界面简洁友好、操作方便。用户只 需对订票流程和业务调查了解即可,不需掌握数据库等相关知识。 2.2 需求分析 需求分析是软件设计的一个重要的环节。本阶段对订票系统的应用情况作全面调 4 查,以确定系统目标,并对系统所需要的基础数据以及数据处理要求进行分析,从而 确定用户的需求。用户对系统的需求我们从以下几方面进行分析。 2.2.1 功能需求 系统的输入显示信息都在 jsp 页面中7 8 9 10,网上订票系统中应该具备如下功能: 后台模块: 登录:管理员通过输入自己正确的用户名、密码以及验证码登入到后台管理系统, 若登录失败,将会给出错误提示并在 3 秒钟内跳转到登陆界面。 2管理员信息管理 管理员成功登录到后台管理页面之后可以通关管理员信息管理模块修改自己的用 户名和密码信息,并将修改后的信息保存到数据库中。 3车次信息管理 添加车次信息:管理员成功登录到后台管理页面之后可以批量的添加车次信息 车次信息包括:车次编号、始发站、终点站、出发时间、到达时间、 到达时间、硬座 剩余票、硬座价格、卧铺剩余票、卧铺价格。这些信息是必须填写的。 车次信息查询:管理员可以通过动态条件查询相应的车次信息,查询结果以分 页形式展现给用户。 车次信息修改:管理员可以通过动态条件查询相应的车次信息,在查询结果中 选中要进行修改的车次信息进行修改。 车次信息删除:管理员可以通过动态条件查询相应的车次信息,在查询结果中 选中要进行修改的车次信息进行删除。 4.订单管理 订单信息查询:管理员可以通过动态条件查询相应的车次信息,查询结果以分 页形式展现给用户。 订单信息修改:管理员可以通过动态条件查询相应的订单信息,在查询结果中 选中要进行修改的订单信息进行修改。 5.会员管理 会员信息查询:管理员可以通过动态条件查询相应的会员信息,查询结果以分 页形式展现给用户。 会员信息修改:管理员可以通过动态条件查询相应的会员信息,在查询结果中 选中要进行修改的会员信息进行修改。 前台模块: 5 1会员注册 会员在进入火车票预订网站之后可通过会员注册模块进行注册。 2会员登录 会员通过自己注册的用户名和密码进行登录火车票预订网站,若会员没有注册或 者登录失败将只能查询火车票的相关信息,但是不能进行预订的活动。 3车票信息查询 分为对车次信息的查询和客户对已订车票信息的查询,要求: 对车次的查询,可以按照车次编号、始发站、终点站、出发时间进行查询,结 果以分页形式展现给用户。 车次信息包括:车次编号、始发站、终点站、发车时间、到达时间、剩余票数, 票价。 车次信息只允许用户查询,不能修改。 订单信息查询:可以按照字的身份证号、订票的起始时间等动态条件进行查询 结果以分页形式展现给用户。 4订票 通过查询系统,客户根据自己的需求找到满意的车次,再输入个人信息后直接通 过网上订票确定已预订选中的车票,要求: 订票记录应包括:姓名、手机号、身份证号、车次编号、出发时间、票类型、总价、 座位类型、订购日期。 5退票 可退票,通过查询系统,客户可以根据自己的身份证,或者订票起始时间找到自 己的订单信息,通过点击退票退去已购车票。 2.2.2 数据需求 信息需求,即在系统中需要处理哪些数据。本系统的信息需求如表 2.1 所示。 表 2.1 信息输入输出 信息输入信息处理信息输出 用户输入车次编号,或者始 发站、终点站、出发时间 检索系统数据库符合用户需求的车次及 相关信息 用户输入个人信息及所需 订购的车票信息 更新系统中的订票信息, 将新信息存入系统数据 库 操作反馈(如订票成功) 6 2.2.3 性能需求 为了保证系统能够长期、安全、稳定、可靠、高效的运行,本系统应该满足以下 的性能需求。 1.准确性和及时性 系统处理的准确性和及时性是系统的必要性能。系统应能及时而且准确的根据用 户权限及所输入的信息做出响应。由于本系统的查询功能对于整个系统的功能和性能 完成举足轻重。作为系统的很多数据来源,而车票的数量和时间又影响用户的决策活 动,其准确性和及时性很大程度上决定了系统的成败。在系统开发过程中,必须采用 一定的方法保证系统的准确性和及时性。 2易用性 本系统是直接面对用户的,而用户往往对计算机并不是非常熟悉。这就要求系统 能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽 量使用用户熟悉的术语和中文信息的界面,从而保证系统的易用性。 3安全性 网上订票系统中涉及到的数据是客运公司相当重要的信息,系统要保证用户的权 限,对于车次等信息用户只享有查询服务,不得更改。系统还要提供方便的手段供系 统维护人员进行数据备份、日常安全管理、以及系统意外崩溃时数据的恢复等工作。 同时系统还要保证对数据库进行及时更新,保证数据一致性。 2.2.4 数据流图 1)火车票咋先预订管理系统后台数据流图: 管理员 登陆 用户名, 密码,验证码 管理员信息 用户名 密码 登录失败 添加车次信息 车次信息 车次信息 车次信息 查找车次信息 动态条件 车次信息 查找结果 成功 修改/删除车次 信息 车次信息 车次信息 查找会员信息 动态条件 会员信息 会员信息 查询结果 成功 修改/删除信息 会员信息 会员信息 查找订单信息 动态条件 订单信息 订单信息 查询结果 修改/删除订单 信息 订单信息 成功 订单信息 7 名字:管理员信息 别名: 描述:存放管理员信息的文件,以供管理员登陆 定义:管理员信息=姓名+性别+电话+密码 位置:输出到 CRT 终端或类似的显示部件 名字:会员信息 别名: 描述:存放会员信息的文件,供会员注册和登陆 定义:会员信息=姓名+性别+电话+密码+身份证号+注册时间 位置:输出到 CRT 终端或类似的显示部件 图 2.1 后台数据流图 2)火车票在线预订管理系统前台数据流图: 会员 登录 会员信息 用户名 密码 登录失败 注册 用户名密码 会员信息 查询余票 始发站/日期 车次信息 会员 查找结果 成功 预订车票 订单信息车票信息 余票减1 订票 失败 查询订单 身份证号/起始时间 失败 查找结果 成功 退票 车次信息 订单信息车票信息 退票 余票加1 删除订单 删除车票 删除车票 图 2.2 前台数据流图 2.2.5 数据字典 表 2.2 管理员信息数据字典 表 2.3 会员信息数据字典 8 名字:车次信息 描述:存放车次信息的文件,以供用户查询 定义:车次信息=车号+出发地+目的地+发车时间 +到达时间+ 坐位类 型+余票数目+票价 位置:输出到 CRT 终端或类似的显示部件 名字:订票信息 别名:订单信息 描述:存放订单信息的文件,以供用户查询,并作相应操作 定义:订票记录=用户名+身份证号+用户电话+车号+发车日期+订购日 期+车票类型+座位类型+总价 位置:输出到 CRT 终端或类似的显示部件 名字:车票信息 别名: 描述:存放车票信息的文件,以供用户查询,并作相应操作 定义:车票信息=车号+座位号+用户名+身份证号+座位类型+车票类型 +价格+订票日期 位置:输出到 CRT 终端或类似的显示部件 表 2.4 车次信息数据字典 表 2.5 订票信息数据字典 表 2.6 车票信息数据字典 9 2.2.6 实体-联系图 用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结 构能充分满足各种信息的输出和输入。 针对火车站网上订票系统,通过对网上订票工作的过程、内容以及数据流程分析,设 计如下所示的数据项和数据结构: 1.车次信息:车号、出发地、目的地、发车时间、到达时间、座位类型剩余票、票 价。 2.订票记录:订单号、用户名、身份证号、电话、车号、出发时间、车票类型、订 购日期、座位类型、总价。 3.车票信息:座位号、车号、用户名、身份证号、座位类型、车票类型、价格、出 发时间。 4.管理员信息:编号、姓名、性别、电话、密码。 5.会员信息:身份证号、姓名、性别、电话、密码、注册时间。 E-R 图如图 2.2 所示: 车次信息 出发地 目的地 出发时间 到达时间 车号 位类型剩余票 票价 管理 管理员 姓名 性别电话 密码 管理 订单信息 订单号 用户名 身份证号 电话 车号 出发时间 座位类型 车票类型 订购日期 价格 订票会员信息 身份证号姓名性别 电话密码注册时间 查询 管理 * * 1 * * 1 * * * 图 2.3 实体-联系图(ER 图) 10 2.2.7 数据库逻辑结构 火车站网上订票系统数据库中各个表格的设计结果如表 2.7 至表 2.11 所示。每个 表格表示在数据库中的一个表11,其中在会员信息表以及管理员信息表中为了信息不 被泄露分别对密码字段进行了加密处理。在处理过程中为了处理用户订票的并发问题 是用了行级锁来解决这一问题。 表 2.7 车次信息表 tb_train 字段名数据类型是否可空说明 trainIdvarcharNOT NULL车号(主键) trainStartPlacevarcharNOT NULL出发地 trainEndPlacevarcharNOT NULL目的地 trainStartTimedatetimeNOT NULL发车时间(主键) trainEndTimedatetimeNOT NULL到达时间 hartSeatLeftintNOT NULL硬座余票 hardSeatPriceintNOT NULL硬座价格 softSeatLeftintNOT NULL卧铺余票 softSeatPriceintNOT NULL卧铺价格 表 2.8 订单表 tb_order 字段名数据类型是否可空说明 orderIdintNOT NULL 订单号(主键) userNamevarcharNOT NULL 会员名 userPhonevarcharNOT NULL 会员电话) userIdvarcharNOT NULL 身份证号 trainIdvarcharNOT NULL 车号 trainStartTimedatetimeNOT 出发时间 11 NULL ticketTypevarcharNOT NULL 票类型 bookTimedatetimeNOT NULL 订购日期 totalPriceIntNOT NULL 订购票数 seatTypevarcharNOT NULL 座位类型 表 2.9 火车票信息表 tb_ticket 字段名数据类型是否可空说明 seatIdintNOT NULL 订单号(主键) trainIdvarcharNOT NULL 车号(主键) userNamevarcharNOT NULL 会员姓名 userIdvarcharNOT NULL 身份证号 seatTypevarcharNOT NULL 座位类型 ticketTypevarcharNOT NULL 车票类型 ticketPriceintNOT NULL 票价 表 2.10 管理员表 tb_admin 字段名数据类型是否可空说明 adminIdIntNOT NULL管理员编号(主键) adminNamevarcharNOT NULL姓名 adminSexvarchar性别 adminPhonevarchar电话 12 adminPassWor d varcharNOT NULL密码 表 2.11 会员表 tb_user 字段名数据类型是否可空说明 userIdvarcharNOT NULL身份证号(主键) userNamevarcharNOT NULL姓名 userSexvarcharNOT NULL性别 userPhonevarcharNOT NULL电话 userPassWordvarcharNOT NULL密码 registerTimetimestampNOT NULL注册时间 13 3 系统的总体设计 3.1 系统软件结构设计 3.1.1 软件结构 1)后台分为管理员信息管理、车次信息管理、订单信息管理、会员信息管理四个 模块。其层次图13如图 3.1 所示: 火车票后台管理系统 管理员信息管理模块车次信息管理模块订单信息管理模块会员信息管理模块 登录 退出 修改 增加车次信息 查找车次信息 修改车次信息 删除车次信息 查找订单信息 修改订单信息 删除订单信息 查找会员信息 修改会员信息 删除会员信息 图 3.1 火车票预订后台管理系统的层次图 2)前台可划分为查询、订票、退票三个部分。其中信息查询又可分为车次查询和 订单查询两个部分。其层次图如图 3.2 所示: 14 火车票前台预订系统 会员信息模块查询订票退票 登录 注册 查询车次信息 查询订单信息 图 3.2 火车站预订前台系统的层次图 3.2 系统流程图 1)后台顶层数据流程图14如下图 3.3 所示: 事物 登录程序查询程序更新程序 火车票预订后台管理系统系统数据库 相应 操作 图 3.3 后台顶层数据流程图 15 车次,订单,会员的查询系统流程图大致一致,所以归纳如下: 事物 输入所需查询 的重要信息 查询程序 系统数据库 查询结果 图 3.4 后台数据查询流程图 车次,订单,会员的更新系统流程图大致一致,所以归纳如下: 事物 查询条件 查询程序 系统数据库 查询结果 选择更新的数据更新程序 反馈结果 图 3.4 后台数据更新流程图 2)前台顶层流程图如下图 3.5 所示。图 3.5 至图 3.9 为各模块详细系统流程图。 图 3.5 顶层系统流程 事物 查询程序预定程序退票程序 火车票网上预订系统系统数据库 相应 操作 16 事物 输入所需车次的重 要信息 查询程序 系统数据库 符合用户的车 次信息 图 3.6 查询车次信息流程图 图 3.6 车次,订单信息查询系统流程图大致一致,用户通过输入查询条件进行查 询车次信息和自己的订单信息所以归纳如下: 事物 输入查询条件 查询程序 系统数据库 符合用户的车 次信息 图 3.7 车次,订单信息查询系统流程图 用户成功登陆之后根据动态查询条件查找到自己需求的车票后通过输入正确的信 息进行订票,系统会将订票成功与否的信息反馈给用户。 事物 输入订票信息 订票程序 系统数据库 操作反馈 图 3.8 用户订票流程图 用户成功登陆之后根据动态查询条件查询条件查询到自己的订单之后可以进行退 票操作,系统会将用户退票成功或失败的信息反馈给用户。 17 事物 查询条件 查询程序 系统数据库 查询结果 选择要退的订单退票程序 反馈结果 图 3.9 退票系统流程图 18 4 系统的详细设计 4.1 接口设计 4.1.1 用户接口 用户通过界面接口实现参数的输入,进入相应的界面后输入提示的信息即可产生 相应的任务。 4.1.2 外部接口 接口通过一个数据转换器,将网络二进制数据流转换为一个合适的数据结构单位 并添加到缓冲区中。 4.1.3 内部接口 表 4.1 内部接口说明表 顶层模块二级模块接口 底层数据操作模 块 取出记录集,执行 SQL 语 句 数据模块 用户操作模块对应数据库相关表操作 界面模块生成任务界面模块 缓冲区模块生成批处理 4.1.4 软件接口 本系统程序所使用的数据库来源于主机数据库,所以系统数据与主机数据库数据 向一致。 19 4.1.5 模块内部 模块以接受参数方式独立登陆主机数据库并且独立运行,返回数据显示在界面上。 4.2 过程设计 4.2.1 程序流程图 1)管理员只有成功通过身份验证才能进入后台管理系统来管理各项信息,系统会 将操作的结果返回给管理员,图 4.1 为火车票预订后台管理系统程序流程图: 图 4.1 火车票预订后台管理系统程序流程图 开始 登陆 登录失败 操作 车次信息管理订单信息管理会员信息管理 成功 查询车次信息 查询 查询失败 操作 修改删除 成功 查询订单信息查询会员信息 添加车次信息 20 2) 没有注册的用户只能查询火车余票,注册后的会员登陆之后可以预定满足自己 要求的火车票,同时还能根据条件查询自己的订单和退票操作。图 4.1 为火车票预订 前台网站程序流程图: 开始 登录失败 操作 车票查询订单查询 查询 成功 查询结果 是否已登录预订车票 是 是否已登录 查询 查询结果 成功 是 失败 失败 结束 图 4.2 火车票预订前台网站程序流程图 21 5 系统的实现与调试 5.1 应用系统的开发及测试 为了保证测试的质量,将测试过程分成几个阶段,即代码审查、单元测试、集成 测试、确认测试和系统测试。 (1)单元测试 单元测试15集中在检查软件设计的最小单位模块上,通过测试发现实现该模块 的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。 (2)集成测试 集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口 有关的问题。例如一个模块对另一个模块可能由于疏忽的问题而造成有害影响;把子 功能组合起来可能不产生预期的主功能;个别看起来是可以接受的误差可能积累到不 能接受的程度;全程数据结构可能有错误等。 (3)确认测试 确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试 后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排 除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能 和性能是否如同用户所合理期待的那样。 (4)系统测试 软件开发完成以后,最终还要与系统中其他部分配套运行,进行系统测试。包括 恢复测试16、安全测试、强度测试和性能测试等。 单独对系统的测试主要从以下几方面入手: 功能测试:测试是否满足开发要求,是否提供设计所描述的功能,是否用户的 需求都得到满足。功能测试是系统测试最常用和必须的测试,通常还会以正式的软件 说明书为测试标准。 强度测试及性能测试3:测试系统能力最高实际限度,即软件在一些超负荷情 况下功能实现的情况。 安全测试:验证安装在系统内的保护机构确实能够对系统进行保护,使之不受 各种非常的干扰。针对本系统主要是对权限系统的测试和对无效数据、错数据、和非 法数据干扰的能力的测试。 22 经过上述的测试过程对软件进行测试后,软件基本满足开发的要求,测试宣告结束。 5.1.1 后台管理系统运行结果截图截图 1)后台管理系统登陆界面,管理员必须输入一次输入正确的用户名,密码和验证 码,验证通过之后才能进入后台管理系统,否则给出出错提示跳转到登陆界面由前台 的 jsp 页面信息传递到 struts17中的 Action 中进行判断处理,登录页面如图 5.1 所示 图 5.1 后台登陆页面 管理员登录的主要代码如下: /* * 管理员登陆 * * return success,error */ public String adminLogin() if (adminInfoDao.adminLogin(userName, passWord) HttpServletRequest request = ServletActionContext.getRequest(); request.getSession().setAttribute(“userName“, userName); request.getSession().setAttribute(“passWord“, passWord); if (request.getSession().getAttribute(“rand“).equals(verifycode)/ 验证验证码 正确与否 return SUCCESS; else message = “登录失败,请检查验证码!“; return ERROR; 23 else message = “登录失败,请检查用户名和密码!“; return ERROR; public boolean adminLogin(String adminName, String adminPassWord) jdbcTemplate = new JdbcTemplate(dataSource); String sql = “select adminPassWord from tb_admin where adminName=“ + adminName + “; List list = jdbcTemplate.query(sql, new AdminMapper(); if (list != null) for (AdminInfo adminInfo : list) if (adminInfo.getAdminPassWord().equals(adminPassWord) return true; return false; 2)后台管理系统登录失败界面,如图 5.2 所示: 图 5.2 后台登陆失败页面 3)系统后台主要有管理车次信息、订单信息、注册会员信息,以及管理员修改自 己的个人信息等功能。管理员只有经过身份验证成功之后才能进入后台管理页面,否 则系统会提示你重新登录。图 5.3 为后台管理系统的主界面。 24 图 5.3 系统主界面 4)点击增加车次信息按钮进行添加车次信息,可以批量添加车次信息,在页面中对 输入的信息进行了验证1,不能提交为空的数据,可以添加多个车次信息,同时也可 以减少车次信息提交的数量如图 5.4 所示: 图 5.4 添加车次信息页面 添加车次信息的主要代码如下: /* * 添加车次信息 */ public boolean AddTrain(List trainInfo) jdbcTemplate = new JdbcTemplate(dataSource); for (TrainInfo trainInfo2 : trainInfo) String sql=“insert into tb_train( trainId,trainStartPlace,trainEndPlace,trainStartTime,“ + “trainEndTime,hardSeatLeft, hardSeatPrice,softSeatLeft, softSeatPrice)values(?,?,?,?,?,?,?,?,?)“; 25 Object args = trainInfo2.getTrainId(), trainInfo2.getTrainStartPlace(), trainInfo2.getTrainEndPlace(), trainInfo2.getTrainStartTime(), trainInfo2.getTrainEndTime(), trainInfo2.getHardSeatLeft(), trainInfo2.getHardSeatPrice(), trainInfo2.getSoftSeatLeft(), trainInfo2.getSoftSeatPrice() ; try jdbcTemplate.update(sql, args); catch (DataAccessException e) e.printStackTrace(); return false; return true; 5)查询车次信息,可以进行多条件进行动态条件查询,以分页形式展示给用户, 结果如图 5.5 所示: 图 5.5 查询车次信息页面 查询车次信息的主要代码如下: /* 图 5.5 查询车次信息页面 26 * 动态查找车次信息 */ SuppressWarnings(“unchecked“) public List findTrain(String trainId, Date trainStartTime, String trainStartPlace, int beginIndex, int pageSize) SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd “); String date; if (trainStartTime != null) date = format.format(trainStartTime); else date = “; System.out.println(date); boolean flags1 = false, flags2 = false; jdbcTemplate = new JdbcTemplate(dataSource); String sql = “select * from tb_train “; if (trainId != null sql = sql + “ where trainId=“ + trainId + “; if (date != null if (flags1) sql = sql + “ and “ + date + “=DATE_FORMAT(trainStartTime,%Y-%m-%d) “; else sql = sql + “ where “ + date + “ =DATE_FORMAT(trainStartTime,%Y-%m-%d) “; if (trainStartPlace != null else sql = sql + “ where trainStartPlace like%“ + trainStartPlace + “%“; 27 sql += “ limit “ + beginIndex + “,“ + pageSize; List list = jdbcTemplate.query(sql, new TrainMapper(); return list; 查询结果如图 5.6 所示: 图 5.6 查询车次信息结果 点击修改按钮进行修改车次信息,界面如图 5.7 所示: 图 5.7 修改车次信息页面 7)点击订单管理按钮进行查询会员已经预定的车票信息,界面如图 5.8 所示: 28 图 5.8 查询订单信息页面 查询订单的主要代码如下: /* * 动态查找订单信息 */ SuppressWarnings(“unchecked“) public List findOrder(String trainId, String ticketType, Date bookTime, String seatType, String userId, int beginIndex, int pageSize) SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd“); String bookDate; String sql = “select * from tb_order where 1=1 “; jdbcTemplate = new JdbcTemplate(dataSource); if (bookTime != null) bookDate = format.format(bookTime); else bookDate = “; if (trainId != null if (seatType != null if (bookDate != null if (ticketType != null if (userId != null 29 sql += “ limit “ + beginIndex + “,“ + pageSize; System.out.println(sql); List list = jdbcTemplate.query(sql, new OrderMapper(); System.out.println(list); return list; 查询结果界面如图 5.9 所示: 图 5.9 订单查询结果 点击修改按钮来修改订单信息,界面如图 5.10 所示: 图 5.10 修改订单信息页面 30 8)点击会员管理按钮进行会员信息的查询,界面如图 5.11 所示: 图 5.11 查询会员信息页面 查询注册会员信息主要代码如下: /* * 根据动态条件查询会员信息 * * param vipInfo * return List findVip */ SuppressWarnings(“unchecked“) public List findVip(VipInfo vipInfo) jdbcTemplate = new JdbcTemplate(dataSource); SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd“); String registerDate; if (vipInfo.getRegisterTime() != null) registerDate = format.format(vipInfo.getRegisterTime(); else registerDate = “; String sql = “select * from tb_vip where 1=1 “; if (vipInfo.getUserName() != null if (vipInfo.getUserSex() != null 31 if (vipInfo.getRegisterTime() != null if (vipInfo.getUserId() != null System.out.println(sql); list = jdbcTemplate.queryForList(sql); return list; 点击查询查看结果,界面如图 5.12 所示: 图 5.12 会员信息显示页面 点击修改按钮来修改会员的信息,界面如图 5.13 所示: 图 5.13 修改会员信息页面 5.1.2 前台订票网站运行截图 1)本系统设计要求用户通过登录框选择访问权限,登录系统。其中,用户须输入 用户名和密码,以进入系统。未使用过本系统的用户选择注册会员,系统自动跳转至 主界面。系统用户权限登录访问时,车次信息查询、订票信息查询、订票、退

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论