基于java+mysql售票的毕业设计.docx
《基于java+mysql售票的毕业设计.docx》由会员分享,可在线阅读,更多相关《基于java+mysql售票的毕业设计.docx(43页珍藏版)》请在冰豆网上搜索。
基于java+mysql售票的毕业设计
毕业设计(论文)任务书
课题名称
列车售票系统的设计与实现
系别
专业班级
姓名
学号
毕业设计(论文)的主要内容及要求:
1.明确本网站的基本功能需求及基本设计要求。
2.熟悉JSP技术
3.熟悉java语言、MySQL数据库以及数据库连接技术JDBC,掌握列车售票系统的开发流程。
4.完成毕业设计说明书(毕业论文)一份,论文报告篇幅为1.5万字左右。
中外文摘要约300字,关键词3-5个。
5.查阅文献资料不少于8篇,其中外文资料不少于2篇。
6.提交带有注释的源程序清单和源程序软盘或光盘。
指导教师签字:
摘要
随着科学技术的进步,计算机行业的迅速发展,网络应用已深入人们的日常生产、生活,极大地改变着人们的生产生活方式,其应用已渗透到社会各行业。
本设计结合铁路运输管理工作中的票务管理工作现状及特点,使用JSP技术实现网上火车售票系统的设计,旨在通过先进的信息技术推进火车售票工作的智能化。
本文分析了火车售票系统流程,构建了系统模型,详尽地介绍了面向对象分析与设计的有关概念与技术,深入阐述了本系统实现中所用知识、技术,实现了列车售票、列车管理、用户管理、修改个人信息等功能。
本系统使用jsp进行网页界面的设计,使用MVC设计模式。
具有开发效率高、设计灵活、生成的软件界面友好美观等特点。
本系统中通过JDBC驱动和数据库进行无缝连接,后端的数据库是mysql,是一个开源的数据库系统,该数据库具有较高的完整性,一致性和安全性。
关键词:
列车售票系统;JSP;MYSQL
Abstract
Withtheprogressofscienceandtechnologyandtheastonishingrapiddevelopmentofthecomputerindustry,networkapplicationhaspenetratedintopeople'sdailyproductionandlife,whichgreatlychangedpeople'swayoflifeandproduction,itsapplicationhasinfiltratedintoallsectorsofsociety.
Thedesignoftherailwaytransportationmanagementworkticketmanagementpresentsituationandthecharacteristic,theuseofJSPtechnologytorealizeonlinetrainticketsystemdesign,aimedattheadoptionofadvancedinformationtechnologytopromotethetrainticketworkintelligentize.Thispaperanalyzesthetrainticketsystem,constructingthesystemmodel,detailedintroductiontotheobject-orientedanalysisanddesignconceptsandtechniques,elaboratedthissystemusedintheknowledge,technology,realizethetrainticket,ticketmanagement,usermanagement,modifypersonalinformationandotherfunctions.
ThesystemiscontrivedwithJavaServerPagesTechonolege,thesoftwaredesignmodeofMVCwithopensourceframeworktechonolege,whichmakesthissystemhavetheadvantagesofefficientlydesignedwithbeauteousandfriendlyinterface.Thissystemusejdbcdrivertoconnectthemysqldatabaseserver,whichisanopensourcedatabasesystemforitsusers.Thedatabasewasdesigendwithhighlyintegrity,security,andconsistency.
Keywords:
Thetrainticketsystem;JSP;MYSQL
1.引言6
1.1选题背景6
1.2编写目的6
2.开发工具综述7
2.1JSP及Servlet简介7
2.1.1JSP技术简介7
2.1.2Servlet介绍9
2.2MyEclipse10
2.2.1MyEclipse简介10
2.3MySQL11
2.3.1MySQL概述11
2.3.2MySQL的功能优点11
2.4Tomcat12
2.4.1Tomcat简介12
3.系统需求分析13
3.1系统项目分析13
3.1.1项目开发背景13
3.1.2项目开发目的13
3.2系统可行性分析13
3.2.1技术可行性13
3.2.2经济可行性13
3.2.3操作可行性14
3.3.系统需求分析概述14
3.3.1系统目标14
3.3.2环境需求说明14
3.4.列车售票系统需求模型14
3.4.1功能描述14
3.4.2管理员详细功能描述15
3.4.3用户详细功能描述16
3.5.系统E-R图...............................................................16
4.系统总体设计18
4.1系统目标18
4.2登录系统流程图18
4.3系统功能结构19
4.4系统功能模块设计20
4.4.1管理员模块功能20
4.4.2用户模块功能20
4.5数据库设计21
4.5.1逻辑结构21
4.5.2细化表结构21
5.系统详细设计24
5.1系统登录界面24
5.2用户界面24
5.2.1查询列车界面25
5.2.2查询已买车票界面26
5.2.3个人信息修改界面26
5.3管理员界面26
6.系统测试29
6.1测试环境29
6.2软件测试理论基础29
6.2.1软件测试的定义29
6.2.2软件测试的主要分类29
6.3测试用例设计与测试用例的运行过程及测试结果分析30
6.3.1模块测试30
6.3.2集成测试32
6.3.3验收测试33
6.4评价33
总结34
致谢35
参考文献36
附件:
主要代码37
1.引言
1.1选题背景
近些年,随着Internet的迅速发展和普及,将网络应用到实际中已经迫在眉睫。
信息社会的高科技,商品经济的高效益,使计算机的应用普及到经济和社会生活的各个领域。
现阶段的应用都是建立在浏览器/服务器(B/S)或者客户机/服务器(C/S)的架构上,在早期C/S模式应用的十分广泛,随着WEB应用程序的快速发展,B/S模式渐渐的走上舞台,B/S以其简单,方便,高效等好处占居上方,有着取而代之的趋势。
本设计采用B/S模式开发,该系统将会为人们带来方便。
在火车大力普及的今天,一个火车站售票系统应达到的目标是提供及时、广泛的信息服务,加快信息检索的效率,实况灵活的查询,且系统规模不太大但又要保证支持日常工作的要求,以便系统应易于扩充,方便日后统一联网与管理,提高管理水平。
根据以上的设计目标和要求,本设计用Java编程语言结合MySQL数据库进行开发,主要完成查询、售票、及对票务和用户进行管理等功能。
其实火车售票系统用计算机管理火车站票务信息的一种计算机应用技术的创新,在计算机还未普及之前售票业务都是由工作人员人工完成的、查询方式来操作的。
现在一般的车站售票业务都采用计算机智能化管理,采用计算机作为工具的实用的计算机订单管理程序来帮助前台管理员进行更有效的车票业务查询,出售管理工作。
火车售票管理系统是典型的信息管理系统(MIS):
其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
经过分析:
本设计使用Java编程语言开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
1.2编写目的
电脑的渐渐普及,以及互联网所容纳的信息量大、内容丰富、信息及时、准确,更有相关信息的全面介绍与比较。
为了人们方便购买车票以及售票员对车票的、管理、查询以及相应的操作变的简单,开发这样一个火车售票系统成为很有必要的事。
2.开发工具综述
2.1JSP及Servlet简介
2.1.1JSP技术简介
JSP是服务器端的脚本语言,是以Java和Servlet为基础开发而成的动态网页生成技术,它的底层实现是JavaServlet。
JSP(JavaServerPages)页面由HTML代码和嵌入其中的Java代码所组成。
服务器在页面被客户端所请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
特点:
面向对象,跨平台,和Servlet一样稳定,可以使用Servlet提供的API,克服了Servlet的缺点。
应用:
一般和JavaBeans结合使用,从而将界面表现和业务逻辑分离,如图2.1所示:
JSP使用HTML来决定网页的版面,是在HTML代码中混合某种程序代码,由语言引擎解释执行程序代码。
HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。
JSP是基于Java的技术,继承了Java的所有特性(跨平台、多线程、面向对象),可以使用Java强大的API。
JSP工作方式是代码先被JSP容器转换为Servlet代码再编译为类。
JSP负责与客户端的连接,主要负责将服务器端的信息传送到客户端。
使用JSP的真正意义在于:
可以将界面设计和业务逻辑设计分离。
(1)JSP的执行过程JSP是一种实现普通静态HTML和动态HTML混合编码的技术,JSP最终会被转化成标准的Servlet,JSP设计的目的在于简化表示层的表示,两种形式表示的JSP执行过程分别如图2.2和图2.3所示:
2.1.2Servlet介绍
Servlet是一种独立于操作系统平台和网络传输协议的服务器端的Java应用程序,它用来扩展服务器的功能,可以生成动态的Web页面。
Servlet不是从命令行启动的,而是由包含Java虚拟机的Web服务器进行加载。
Servlet 最大的用途是通过动态响应客户机请求来扩展服务器功能。
Servlet运行在Web服务器上的Web容器里。
Web容器负责管理Servlet。
它装入并初始化Servlet,管理Servlet的多个实例,并充当请求调度器,将客户端的请求传递到Servlet,并将Servlet的响应返回给客户端。
Web容器在Servlet的使用期限结束时终结该Servlet。
服务器关闭时,Web容器会从内存中卸载和除去Servlet。
Servlet基本工作流程 :
(1)客户机将请求发送到服务器;
(2)服务器上的Web容器实例化(装入)Servlet;
(3)Web容器将请求信息发送到Servlet;
(4)Servlet创建一个响应,并将其返回到Web容器;
(5)Web容器将响应发回客户机;
(6)服务器关闭或Servlet空闲时间超过一定限度时,调用destory()方法退出。
Servlet对多个请求的处理:
为每个请求创建一个新的线程来处理客户端的请求,如图2.4所示:
2.2MyEclipse
2.2.1MyEclipse简介
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Java-
script,Spring,SQL,Hibernate。
MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。
MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。
可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。
2.3MySQL
2.3.1MySQL概述
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。
Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:
关系数据库管理系统)应用软件。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
2.3.2MySQL的功能优点
高速:
高速是MySQL的显著特性,在MySQL中,使用了极快的“B树”磁盘表(MyISAM)和索引压缩;通过使用优化的“单扫描多连接”,能够实现极快的连接;SQL函数使用高度优化的类库实现,运行速度快。
一直以来,高速都是MySQL吸引众多用户的特性之一,这一点可能只有亲自使用才能体会。
支持各种开发语言:
MySQL为各种流行的程序设计语言提供支持,为它们提供了很多API函数,包括C、C++、Java、Perl、PHP等。
支持多平台:
MySQL支持超过20种开发平台,包括Linux、Windows、FreeBSD、IBMAIX、HP-UX、MacOS、OpenBSD、Solaris等,这使得用户可以选择多种平台实现自己的应用,并且在不同平台上开发的应用系统可以很容易在各种平台之间进行移植。
提供多种存储器引擎:
MySQL中提供了多种数据库存储引擎,各引擎各有所长,适用于不同的应用场合,用户可以选择最合适的引擎以得到最高性能。
功能强大:
强大的存储引擎使MySQL能够有效应用于任何数据库应用系统,高效完成各种任务,无论是大量数据的高速传输系统,还是每天访问量超过数亿的高强度的搜索Web站点。
MySQL5是MySQL发展历程中的一个里程碑,使MySQL具备了企业级数据库管理系统的特性,提供强大的功能,例如子查询、事务、外键、视图、存储过程、触发器、查询缓存等功能。
安全:
灵活和安全的权限和密码系统,允许基于主机的验证。
连接到服务器时,所有的密码传输均采用加密形式,从而保证了密码安全。
价格低廉:
MySQL采用GPL许可,很多情况下,用户可以免费使用MySQL;对于一些商业用途,需要购买MySQL商业许可,但价格相对低廉。
2.4Tomcat
2.4.1Tomcat简介
Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML(标准通用标记语言下的一个应用。
)页面的访问请求。
实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。
当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。
另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。
不过,Tomcat处理静态HTML的能力不如Apache服务器。
目前Tomcat最新版本为8.0.0-RC1(alpha)Released。
Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
3.系统需求分析
3.1系统项目分析
3.1.1项目开发背景
随着国内旅游业的发展及火车的增长,人们多了出行的机会,近年来乘火车的人数不断增加。
本次设计开发的系统为广大群众提供了网上购买火车票途径,又包含管理员对列车及用户的管理,使得人们出行更方便,管理员的管理更高效。
3.1.2项目开发目的
本项目开发的具体任务就是设计一个列车售票系统,利用现代计算机和数据库开发技术来代替人工处理,从而减轻工作人员的劳动强度,提高工作质量和效率。
3.2系统可行性分析
3.2.1技术可行性
技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足需要。
本系统采用JSP开发出友好美观的人机界面,便于用户理解、操作。
数据库管理系统采用MySQL,它能够处理大量数据,同时保持数据的完整性、安全性。
因此本系统的开发平台已成熟可行。
硬件方面,在科技飞速发展的今天,硬件更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越便宜,因此硬件平台也能够满足本系统所需。
3.2.2经济可行性
从经济上来讲,由于选择的开发工具和服务器几乎全部为免费的开源软件,并且由于是开发成本较低的基于Web的B/S模式,而非成本费用相对较高的C/S模式,且系统交付使用后的维护成本也很低,具有很强的经济可行性。
3.2.3操作可行性
从操作上来讲,由于客户端仅仅只是需要一个浏览器,通过浏览器来登陆系统,而服务器端也只需要一台服务器,服务器要求一个数据库环境和一个网络应用开发的环境,实现起来比较容易,所以从操作上来说是可行的。
3.3.系统需求分析概述
3.3.1系统目标
该系统主要建立一个基于B/S模式的列车售票系统,为了解决售票大厅拥挤的问题,提高铁路客运的售票效率及旅客便利性,使铁路客运在竞争日益激烈的运输行业更具优势,大、中城市可以建立基于B/S结构铁路售票系统,在该地区利用互联网资源实现随时随地对客票系统主机的访问,进行联网售票。
该系统可以跟系统的两个用户类型的使用实现:
1.对于购票用户在本系统的应用下可实现按照输入始发站和终点站进行查询的方式查询符合要求的车次。
2.对于管理员能够实现对票务的自身信息管理,如:
增加列车、删除列车、查询订票信息、删除用户、修改个人信息。
3.3.2环境需求说明
系统开发平台:
MyEclipse8.5
系统开发语言:
Java
数据库管理系统软件:
MySQL5.5
运行平台:
WindowsXP/Windows7/WindowsServer2003
分辨率:
最佳效果1024*768像素
3.4.列车售票系统需求模型
3.4.1功能描述
列车售票系统的主要任务是实现按用户要求查询车票以及购买,管理员高效的完成对列车和用户各项基本操作,从图3.1可以看出列车售票系统要完成以下功能:
1.登录。
用户、管理员进入该系统必须登录,身份验证正确了才可以进入该系统,以不同身份进入该系统所对应的系统使用权限是不同的。
2.用户功能:
查询列车、查询自己的车票以及对自己信息的修改。
3.管理员功能:
对列车进行增加和删除,对用户进行删除,对个人信息的修改。
下面的图3.1系统用例图描述了整个系统用户之间的动作联系,及功能模块的概述。
图3.1系统用例图
3.4.2管理员详细功能描述
1.列车管理功能:
对列车进行管理,包括查询所有列车信息、添加列车和删除列车。
2.用户管理功能:
包括查询所有用户以及删除用户。
3.修改密码功能:
可以修改自己的登录密码。
3.4.3用户详细功能描述
1.查询列车:
根据始发站和终点站查询符合自己要求的列车并进行购买。
2.我的车票:
查看自己已经购买过的火车票。
3.修改个人信息
修改除了名字之外的信息。
3.5系统E-R图
1.管理模块
(1)管理员:
工号、姓名、密码、电话号码。
(2)用户:
id、姓名、密码、昵称、邮箱、电话号码。
(3)列车:
id、车次、始发站、终点站、始发时间、到达时间、总里程、列车类型、座位数、票价、日期。
管理列车E-R图如图3.2所示:
图3.2管理列车E-R图
管理用户E-R图如图3.3所示:
图3.3管理用户E-R图
2.购票模块
用户购票E-R图如图3.4所示:
图3.4用户购票E-R图
4.系统总体设计
4.1系统目标
根据前面所做的需求分析及用户的需求可以得出,列车售票系统实施后,应达到以下目标:
(1)界面设计友好、美观。
(2)数据库安全、可靠。
(3)信息分类清晰、准确。
(4)实现对列车数据信息跟踪。
(5)为管理员提供真实的数据信息。
(6)提供灵活、方便的限权设置功能,使整个系统的管理分工明确。
(7)具有以维护性和易操作性。
4.2登录系统流程图
使用该系统的人员通过身份验证才能登录到主页面,管理员登录流程图如下图4.1所示:
4.1管理员登录系统流程图
用户登录流程图如下图4.2所示:
4.1管理员登录系统流程图
4.3系统功能结构
绘制系统结构图的过程,实际上就是对系统功能模块进行分解设计的过程,即合理地将数据流程图转变为所需要的系统结构图。
系统结构图将会使读者和用户能直观的了解系统的结构模式,理解系统的各个功能的结构,能很好地方便用户使用和理解整个系统。
根据列车售票系统的特点,可以将其分为用户管理、列车管理、车票订购等,其中各个部分及其包括的具体功能模块如图4.2所示。
4.2系统功能结构图
4.4系统功能模块设计
4.4.1管理员模块功能
该模块主要包括列车管理、用户管理和个人信息修改。
1.列车管理
该