《基于Android的火车票抢票系统的设计与实现》6300字(论文)_第1页
《基于Android的火车票抢票系统的设计与实现》6300字(论文)_第2页
《基于Android的火车票抢票系统的设计与实现》6300字(论文)_第3页
《基于Android的火车票抢票系统的设计与实现》6300字(论文)_第4页
《基于Android的火车票抢票系统的设计与实现》6300字(论文)_第5页
已阅读5页,还剩16页未读, 继续免费阅读

付费下载

下载本文档

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

文档简介

基于Android的火车票抢票系统的设计与实现摘要近年来,计算机网络技术飞速发展,加之快速、高效、便捷都是网络传输具有的特点,使得当今社会人们的生活和互联网的关系越来越密切。同时,人们对网络的依赖心理也愈来愈强。除了平时的交友聊天、上网冲浪、在线游戏和简单地获取信息以外,更是有因为这次疫情展开的网络课堂、网络考试、网络交易等等。由于这些使用者巨大的差异,本文想设计一个在传统设计方面与其他学习方式相对不同的火车票抢票系统,不仅会感觉到它的新颖,而且会在浏览、查找火车票的时候更加简便迅速,为出行带来便利。火车票抢票系统的开发采用了微信小程序,同时,也使用Java技术在动态页面上进行了设计,服务端上采用MySQL数据库,实现功能包括:服务端:班次列表、社区列表、订单列表,客户端:票务订单、我的发表、购票、社区等功能。将整个火车票抢票系统的功能模块和结构组成都逐步进行描述,主要针对系统的需求分析、结构以及功能模块等信息。然后根据系统的开发背景、系统功能进行工作分析。最后对系统的设计思想、整体技术、解决方案以及其他方面进行了详细的描述。关键词:B/S结构;MySQL数据库;火车票抢票系统目录TOC\o"1-3"\h\u21071一、绪论 4220631.1选题背景及意义 4120991.2开发环境 4306191.开发工具 4242692.MySQL数据库 4306473.JSP介绍 521476二、系统设计 5213272.1系统总体设计 5161711.功能模块设计 529272.服务端管理员登录功能 6195983.客户端用户功能模块 6223002.2数据库设计 7201281.E-R图的设计 7245082.数据表设计 819937三、系统功能模块实现 10178453.1登录 10254431.首页 11222852.我的 12167383.班次 13286953.2服务端管理功能实现 1486511.管理员登录功能 14323632.班次列表 16209323.社区列表 1783824.订单列表 172740四、系统测试和分析 18292664.1测试方法 1931744.2测试用例 1918200五、结论 2018726参考文献 22一、绪论1.1选题背景及意义当今,随着移动网络的不断发展,人们倾向于每天使用手机,利用手机线上支付消费和在线网购商品已经成为常态,移动互联网已融入人们生活的各个方面。根据工信部近日发布的通信业经济运行情况显示,网络使用用户数据之大,覆盖了全国绝大多数的人口。随着4G网络的全面普及以及5G网络的正式商用,移动终端设备将扮演至关重要的角色,由于PC端互联网市场正在逐渐饱和,移动互联网正处于蓬勃发展中,移动互联网已然成为了互联网巨头们的新斗争天地。由于互联网的发展迅速,给人们带来了很多的方便,让人们在生活中解决问题也方便了起来,并且通过网络也实现了前所未有的方便快捷,通过网络可以实现生活中的各类需求,例如学习、购物等方面,通过网络能够让人们轻松的将问题解决,来满足自己的需求,所以说通过网络来管理火车票抢票系统是非常有效的,由于网络不断的发展,还有科技的进步,为智能化发展奠定了一定的基础,智能化的产品已经被人们所认可,都出现到了人们的生活中,智能化电脑属于我们常见的产品,由于电脑功能的强大,所以人们日常中的琐事都是有电脑进行处理,而且还备受瞩目,电脑使用时间越长,也就说明人们的个人需求越来越大,所以只有不断对智能产品进行完善,才能够创建出更好的产品,供求人们使用,通过互联网的快速发展,互联网其中的便利我们也感受到了,所以说互联网的发展才能推进社会的进步1.2开发环境1.开发工具在这次火车票抢票系统的设计与实现中,myeclipse是能够作为Java的网络插件,它支持各种开源产品,譬如一些广泛的功能强大的开源产品。通俗的来说myeclipse就是j2ee的集成开发环境,并且对代码的编写、测试以及配置都能够起到非常好的支持作用。2.MySQL数据库本论文所采用的数据库是MySQL数据库,因为它是一个开放式的数据库,可以跨平台进行运营,很多的用户开发系统都会采用它,备受人们的欢迎,由于计算机技术的日益成熟,MySqL数据库也能够支持多个功能模块,并且在性能方面也是不断提升,还有跨平台的优越性,MySQL数据库属于一个开发性的关系型数据库。系统中的数据会存放到不同的表中,不是将数据存储到同一个地方,因为这样可以有效的提高数据库的读取,来减轻工作人员的负担。MySQL的特点:在运行方面速度比较快,操作也比较简单,而且它本身体积也比较小,所以能够从根本上减少开发成本。在平台中使用,不会收到控制和约束。在使用MySQL数据库时用户不用掌握太多的存储方式,更不用去了解他的数据存储方式,这也算是该数据库的一大优点了。一个极其安全的密码和权限系统是MySQL数据库所追求的。当一个客户端从一个MySQL服务器传递到另一个客户端时,密码传输将被加密并支持主机身份验证。3.JSP介绍该系统的开发设计中JSP语言属于系统的主要开发技术,而且也是市场中应用做多的一种编程语言,随着不断的更新和改善,技术方面已经成熟,对大部分软件开发都能够适应。JSP语言编程技术走着很多的特点,就是因为这些特点才被广泛的采用,根据目前的JSP语言编程技术来看,它可以进行多种的组合,并且能够很多的融入到生活中,不同的用户不同的需求都可以进行满足,也可以满足不同的软件设计,给软件设计带来了很大的便利,根据本系统来看,系统设计必须要采用JS和JSP两大技术模块进行软件开发,因为该技术的特性就是简单、安全性高,而且不受约束还有很好的面向对象性,让用户可以清晰的了解系统,面向对象性能够使计算机管理问题更加方便、快捷,能够从根本上解决软件开发的缺陷和问题。二、系统设计通过培训来开发反馈系统,主要是根据用户的实际需求和对现实的分析,对系统进行功能分析,对系统的开发过程和功能进行调整和完善,确保系统能够为了满足用户的需求,对整个系统进行了最新的测试,系统中存在的漏洞和问题将一一解决,以确保系统正确运行。2.1系统总体设计1.功能模块设计本系统是火车票抢票系统的设计与实现,客户端用户和服务端管理组成了这个平台。火车票抢票系统的设计与实现总体功能模块划分如图2-1所示。图2-1系统功能模块图2.服务端管理员登录功能管理员登录系统服务端进行信息的管理,包括添加、删除、修改以及查看。服务端管理员登录的过程如图2-2所示。图2-2服务端管理员登录管理的流程图3.客户端用户功能模块用户进入客户端可以查看购票、班次、购票等。客户端用户操作流程图如下图2-3所示:图2-3用户操作流程图2.2数据库设计1.E-R图的设计E-R图主要是实体-联系图,主要通过框体、联系自己属性来对数据库的实体要素进行联系,实体-联系图可以根据需求分析来完整地映射出概念数据模型的关系,是对数据库表的可视化描述。根据对数据库数据的分析,绘制出如下实体-联系图:(1)评论信息实体,如图2-4所示。图2-4评论信息实体图(2)用户购票信息实体,如图2-5所示。图2-5用户购票信息实体图(3)小程序用户实体,如图2-6所示。图2-6小程序用户实体图(4)帖子信息实体,如图2-7所示。图2-7帖子信息实体图2.数据表设计通过系统功能设计和功能模块划分来看,此次设计的火车票抢票系统涉及到了多个数据表。以下是几个主要数据库表的设计结构后功能数据库表:评论信息表见表2-1所示表2-1gen_comments评论信息表字段标识字段名称数据类型是否主键是否可为空id主键int(10)是否open_id用户Idvarchar(50)否否post_id评论帖子varchar(50)否否nrong评论内容varchar(50)否否pl_time评论时间varchar(50)否否小程序用户信息表见表2-2所示。表2-2wechat_user小程序用户信息表字段标识字段名称数据类型是否主键是否可为空id主键int(10)是否nickname昵称varchar(50)否否avatar_url头像varchar(50)否否gender性别varchar(50)否否country国家varchar(50)否否province省varchar(50)否否city城市varchar(50)否否mobile手机varchar(50)否否union_id小程序Idvarchar(50)否否created_at插入时间varchar(50)否否updated_at更新时间varchar(50)否否用户购票信息表见表2-3所示。表2-3gen_pay_ticket用户购票信息表字段标识字段名称数据类型是否主键是否可为空id主键int(10)是否cfd出发地varchar(50)否否mdd目的地varchar(50)否否rq日期varchar(50)否否cfsj出发地时间varchar(50)否否mddsj目的地时间varchar(50)否否qjsj起始时间varchar(50)否否price到达时间varchar(50)否否cc车次varchar(50)否否open_id用户Idvarchar(50)否否pay_time购买时间varchar(50)否否status待进站varchar(50)否否zw座位varchar(50)否否ticket_id火车票Idvarchar(50)否否帖子信息表见表2-4所示。表2-4gen_post帖子信息表字段标识字段名称数据类型是否主键是否可为空id主键int(10)是否open_id用户Idvarchar(50)否否create_time发布时间varchar(50)否否title标题varchar(50)否否nrong内容varchar(255)否否三、系统功能模块实现3.1登录用户通过登录自己的用户名、密码以及验证码进行登录系统,登录界面如图3-1所示。图3-1用户登录界面图实现主要代码:/***获取个人信息*@paramrequest*@return*/@RequestMapping("/info")publicServerResponseVoinfo(HttpServletRequestrequest){returnServerResponseVo.createBySuccess(request.getSession().getAttribute("admin"));}1.首页用户在首页可以查看购票、社区、我的等信息。首页界面如图3-2所示。图3-2首页界面图2.我的用户登录系统后可以对票务订单、我的发表等信,如图3-3所示。图3-3我的界面图实现主要代码:***<p>*前端控制器*</p>**@author刘金泳*@since2021-03-13*/@RestController@RequestMapping("/gen-train-ticket")publicclassGenTrainTicketController{@AutowiredprivateIGenTrainTicketServiceiGenTrainTicketService;/***@parampage*@paramlimit*@return*/3.班次用户进入系统查看班次信息并在线进行购买等操作,班次信息界面如图3-4所示。图3-4班次信息界面图实现主要代码:iPage.getRecords().stream().map(e->{WechatUserEntityopen_id=wechatUserService.getOne(newQueryWrapper<WechatUserEntity>().eq("open_id",e.getOpenId()));e.setWechatUserEntity(open_id);e.setDz(iGenGiveLikeService.count(newQueryWrapper<GenGiveLike>().eq("post_id",e.getId())));e.setPl(iGenCommentsService.count(newQueryWrapper<GenComments>().eq("post_id",e.getId())));returne;}).collect(Collectors.toList());3.2服务端管理功能实现1.管理员登录功能为了确保系统安全性,只有通过管理员身份才能访问服务器,管理员必须填写正确的用户名,密码和验证码才能登录。系统无法强制登录。管理员登录如图3-5所示。图3-5管理员登录界面图实现主要代码:/***登录*@paramsysUser*@paramrequest*@return*/@RequestMapping("/login")publicServerResponseVologin(@RequestBodySysUsersysUser,HttpServletRequestrequest){SysUserone=iSysUserService.getOne(newQueryWrapper<SysUser>().eq("username",sysUser.getUsername()).eq("password",sysUser.getPassword()));if(one==null){returnServerResponseVo.createByError("账号或密码错误");}request.getSession().setAttribute("admin",one);returnServerResponseVo.createBySuccess("登录成功");}2.班次列表管理员查看班次列表信息进行添加、删除、修改以及查看等操作,其界面如图3-6所示。图3-6班次列表界面图实现主要代码:@AutowiredprivateIGenGiveLikeServiceiGenGiveLikeService;@RequestMapping("/save/{postId}/{openId}")publicServerResponseVosave(@PathVariable("postId")IntegerpostId,@PathVariable("openId")StringopenId){GenGiveLikeone=iGenGiveLikeService.getOne(newQueryWrapper<GenGiveLike>().eq("post_id",postId).eq("open_id",openId));if(one!=null){iGenGiveLikeService.removeById(one.getId());returnServerResponseVo.createBySuccess("取消收藏成功");}3.社区列表管理员对社区列表信息进行添加、删除、修改以及查看等操作,其界面如图3-7所示。图3-7社区列表界面图实现主要代码:@RequestMapping("/save/{postId}/{openId}/{plnr}")publicServerResponseVosave(@PathVariable("postId")IntegerpostId,@PathVariable("openId")StringopenId,@PathVariable("plnr")Stringplnr){GenCommentscomments=newGenComments();comments.setPlTime(newDate());comments.setOpenId(openId);comments.setPostId(postId);comments.setNrong(plnr);iGenCommentsService.save(comments);returnServerResponseVo.createBySuccess("评论成功");}4.订单列表管理员查看订单列表信息进行添加、删除、修改以及查看等操作,其界面如图3-8所示。图3-8订单列表界面图实现主要代码:/***<p>*用户购票前端控制器*</p>**@author刘金泳*@since2021-03-23*/@RestController@RequestMapping("/gen-pay-ticket")publicclassGenPayTicketController{//座位privatestaticString[]zw={"一等座","二等座"};//车厢座位privatestaticString[]cx={"01","02","03","04","05","06","07","08","09","10","11","12","13","14","15"};//座位字母privatestaticString[]zm={"A","B","C","D","E"};@AutowiredprivateIGenPayTicketServiceiGenPayTicketService;四、系统测试和分析由于互联网信息的不断壮大,所以各行各业都在采用互联网进行信息的管理,产品能否存活,质量是最为重要的一个标准,质量也决定着是否有人使用,因此,软件开发的质量必须要做到位,做到最好,让用户用的放心,用的舒心,把那些不必要的问题统统解决,这样才能够吸引更多的用户,并且得以推广。在系统开发完成后,会对整个系统进行大量的测试,来保证系统的安全性和稳定性,还要测试系统能否满足不同人的需求,这也是整个系统中最为重要的一部分,测试的结果会直接影响系统开发的好坏。对系统测试主要是通过人工方式和对软件自动测试来进行,主要检测系统是否能够正常运行,测试的结果与当初预想的是否一致,是否能够实现当初所设计的功能,还有就是是否有报错的情况发生,系统测试主要分为两部分:输入和输出,输入的数据主要包括正确的数据和错误的数据,都是保证了系统测试能够做到全方面,在系统测试过程中,应严格遵守,不得发生任意测试的现象,要将系统中的错误进行查找并做出修改,在系统测试的过程中,不仅包括报错和未实现的情况,还有系统中没有说明但是实现的功能,因此可以得知,系统测试必须要尽快进行,而且要在系统开发中不断完善,以保证系统能够正常运行。4.1测试方法系统测试主要是通过设定一些条件,用会提前输入数据,然后系统会出现相对应的效果和数据。本系统的测试主要是对家电商城的系统功能和性能进行测试,系统测试目的是对已经设置开发出的火车票抢票系统的功能是否能够正常运行,所以系统开发中系统的测试是非常重要的一步,需要在系统测试时进行严格的操作,通过系统测试用可以减少后期维护成本,如果在系统开始之初没有进行系统测试,会在后期的开发和使用的过程中造成很大的问题,如果想要让开发的程序与预期达到一致,可以通过系统测试来减少问题。白盒测试和黑盒测试是系统测试的主要方法。白盒测试又被叫作构造测试,主要是对系统的系统的结构进行测试,白盒测试主要是测试系统的准确性,系统黑盒测试主要是对系统的性能进行测试,对火车票抢票系统实现是否达到预期功能,测试系统数据的完整性,以及实现功能是否正常。4.2测试用例第一步,进行登录模块的测试,具体描述如表3-1所示。表4-1登录模块测试表输入期望输出实际输出执行结果登录检测输入的账号和密码正确用户进入系统通过输入不正确的账号和密码用户会登录失败通过用户名/密码为空时弹出提示提示账号密码不能为空通过第二步,进行查询模块测试,具体描述如表4-2所示。表4-2查询模块测试表输入期望输出实际输出执行结果测试系统班次查询输入搜索的关键词,系统界面上会显示出班次信息界面上展示出班次列表通过第三步,对系统订单管理进行测试,具体描述如表4-3所示。表4-3订单信息模块测试表输入期望输出实际输出执行结果修改订单信息测试输入订单详细信息进行提交。返回到订单列表更新订单信息提交后,系统到订单列表,更新的信息展示到列表里。通过第四步,对修改密码进行测试,具体描述如表4-4所示。表4-4修改密码测试表输入期望输出实际输出执行结果密码更新操作检测输入正确的旧密码,新密码与确认密码后更新成功弹出成功字样通过输入错误的旧密码后点击更新,显示旧密码不正确显示旧密码不正确通过输入正确的旧密码,输入确认密码与新密码不同时显示两次密码输入不正确显示两次密码输入不正确通过5.3测试结论一个系统开发的过程中,系统测试起着重要的角色,在经过系统测试后才能找到系统中问题所在,然后才可以将问题逐一解决,在系统测试的时候我们采用的是自动化测试,因为这样不仅可以节省时间,还可以更准确的找到系统中的问题,通过机器的帮助来解决系统中的问题,为我们节省了大量的时间去做别的工作,并且还能够提高测试的准确性,在测试的过程中,一定要专一,对测试结果及时观察,如果发现问题要在第一时间进行解决,最后将所有的测试报告都储存下来,以后的测试还能用到。通过以上测试分析显示,本次开发设计的火车票抢

温馨提示

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

评论

0/150

提交评论