火车票订票系统的设计与实现_第1页
火车票订票系统的设计与实现_第2页
火车票订票系统的设计与实现_第3页
火车票订票系统的设计与实现_第4页
火车票订票系统的设计与实现_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

STYLEREF"标题1"Abstract第1章绪论1.1问题的提出现如今,计算机技术推动者人们的生活发生日新月异的变化,计算机网络同样扮演着不可或缺的一部分,信息化已成为社会发展的趋势。同样,在如此信息化的今天人们对于出行的要求越来越高了。选择航空出行虽然速度快但是出行的成本太高,适合一些商务人士,汽车出行更适合短途的出行距离,对于城市到城市之间的出行选择,乘火车出行显得更加的方便快捷,所以火车出行成为了大学多数人的出行选择。[1]与此同时火车票的购买成为了困扰人们的难题,于是人们想出将火车票购票与互联网技术相结合将会成为解决问题的最佳方式。1.2目的及意义火车票购票问题一直是多年困扰着我国国民幸福感的一个老问题,传统的在窗口购票的方式已经能满足不了人口众多,黄牛泛滥的客观情况。同时伴随着互联网技术的发展,一种新的购票方式应运而生——网上订票,正是这种方式大大缓解了人们的出行压力,也缓解了火车站工作人员的工作压力。渐渐的,网上购票取代窗口购票成为了主流的购票方式。现在越来越多的领域都有着自己的网站和信息化系统,其有着较低成本和高效的优点,同时对于市场的变化有着灵敏的反应来制定个性化的应对政策。无论是企业还是个人都在信息化的过程中受益良多。1.3国内外研究现状在上世纪70年代,欧美和日本等发达国家都已经开始网上出售火车票的系统的开发,其中法国,德国,日本,英国为主要的代表。这几个国家在高速铁路及其信息化方面的建设很早就走在了前列。英国的Tribute订票系统,日本人的MARS系统,德国的TRAINS系统,都有着各自的功能特色,也都在各自的国家受到了广泛的好评。很多国外系统的制定者本着以购票用户为核心的理念,把大量的资金投入在用户的体验上,日本新干线全程采用了互联网销售车票,很多国家的车票都采用电子车票的方式,这不仅提高了效率,还十分环保。反观我国车票销售的发展史,在上世纪90年代,我国的火车票主要以人工销售为主,整个购票过程十分的繁琐,效率很低,导致能够销售的火车票十分有限,这就是为什么当初购买火车票的人需要带着被子和食物到火车站排队买票。铁路部门在危急时刻最终还是进行了技术上的改革,相继推出了客票代售系统和网上订票系统,利用软件系统和信息化的网络来解决买票难的问题。1.4本文的组织本系统主要是完成用户在线预订车票的需求,为完成需求本文按章下面的结构组织文章:绪论,主要介绍了当前计算机技术和电子商务的迅速发展,分析了国内外购票系统发展历程和特点,明确了本次设计的主要任务和研究目标。系统需求分析,这一章主要是对系统的功能需求,易用性,安全性等数据需求,社会、健康、安全、法律、文化及环境等因素需求进行分析,为下一章做准备。系统的总体设计,这一章主要是介绍了火车票购票系统的设计过程,从系统的架构设计,各功能模块设计和数据库设计对系统进行了详细的分析与设计。系统实现,这一章主要描述了火车票购票系统的实现环节,通过截取实际的系统界面来完成对系统实现情况的描述。系统测试,从功能测试和系统界面测试来判断系统功能是否符合需求。[2]

第2章需求分析2.1概述本章是火车票订购系统的需求分析部分,采用软件工程方法对火车票购票系统进行了需求分析,包括系统目标、功能性需求、非功能性需求、数据需求。2.2系统目标在如今网络技术发达的今天,为了解决购票难的问题,让通过上网购买一张火车票已经成为了再普通不过的事,一个火车购票系统便应运而生。乘客的订票过程是系统的主要业务,也是系统实现的主要实现目标,乘客通过选择一些火车票的相关信息,例如:始发站、终点站、发车时间,到站时间、座位信息等,这些信息可以帮助用户选择合适的车次。这样就会生成一个订单之后在查询订单后选择支付,订票的整个过程就完成了。同样的,手机购票系统同样可以完成用户的注册,登陆,退票,改签等功能。这些功能都是为了使整个购票过程更加的科学合理。[3]对于系统管理员来说,管理员在系统管理平台上可以编辑修改火车购票的相关信息例如站点信息,路线信息,火车的座位信息,票价等。管理员同样可以在管理系统中管理购票用户的信息。这些都是为了保证火车票购票系统的正常运行。对服务器的要求,至少能够满足3000用户同时在线访问。对客户端,在现大多数用户使用的电脑浏览器即可使用,要求不高。使用本系统功能时,电脑配置一般情况下,一般事务相应时间不能超3秒,其中时间包括:输入、输出和传输的响应时间等。2.3业务流程图2-1顶层数据流程图图2-2第一层数据流程图图2-3第二层数据流程图

2.4功能性需求分析2.4.1涉众分析表2-1用户角色划分表角色职责和功能购票用户系统的主要服务对象,系统主要功能——购票的主要参与者,在本购票系统之中,购票用户可以通过实名注册成为会员,之后可以成功登陆系统,完成查询,订购车票的功能。系统管理员系统的主要参与者,系统数据信息的管理者,系统管理员在后台对会员信息和票务信息进行管理,保证系统的正常运行。2.4.2用例分析(1)用户总用例图:用户作为本系统的主要参与者,主要的操作有:注册账号,登陆账号,车票查询,订单查询和修改密码等功能,其中车票查询还拓展出了车票的预订,订单查询中拓展出了付款,领票,取消订单的功能。如图2-1所示:图2-1用户总用例图(2)管理员用例图:系统管理员对系统的管理主要分为用户管理,车票管理和基本信息管理三大部分,用户管理又包含了添加用户,修改用户信息,删除用户;基本信息管理包含了火车信息管理,站点信息管理和路线信息管理。订票信息管理,车票信息管理和订单管理则是车票管理的一部分。其用例图如图2-2所示:图2-2管理员总用例图

用例描述部分(1)用户相关用例表表2-2注册账号需求用例表用例编号001用例名注册帐号用例描述购票用户在注册帐号后被添加到成为该系统的会员用户,使用该系统的购票相关的功能参与者购票用户前置条件购票系统正常运行后置条件如果用户没有注册过账号,该用户会注册成功;否则,提示用户账号已注册。基本路径1.用户进入火车订票系统。2.购票用户输入注册需要的姓名,省份证号和密码。3.购票用户提交信息。4.系统检查该用户是否已被注册。5.系统添加帐号,并显示注册成功。异常流a:系统检测到帐号已被注册a1.用户重新输入a2.用户退出系统备选流无表2-3登陆账号需求用例表用例编号002用例名登陆帐号用例描述购票用户在登录帐号后进入系统,使用该系统的功能参与者购票用户前置条件购票系统正常运行后置条件如果用户输入的帐号和密码与系统数据库中的数据一致,该用户会登录成功;否则,显示输入信息有误,提示用户重新输入基本路径1.用户登录火车订票系统。2.购票用户输入自己的帐号和密码。3.购票用户提交信息。4.系统检查用户帐号和密码是否匹配。5.用户进入购票系统。异常流a:系统检测到帐号或密码有误a1.用户重新输入a2.用户离开系统备选流无表2-4车票查询需求用例表用例编号003用例名车票查询用例描述在车票查询页面可以通过始发地,终点站,出发日期等信息查询符合条件的车次,供用户进行选择。参与者购票用户前置条件购票系统正常运行,用户已登录该系统后置条件用户输入的车次信息是在实际的火车运行系统中存在的则显示相应的车票信息,否则,提示用户输入的信息有误。基本路径1.用户执行登录帐号进入自己的页面。2.用户进入车票查询界面。3.购票用户输入要查询的车次信息。4.系统检测输入的信息是否正确。5.系统返回给用户符合条件的车票的具体信息。异常流a:系统检测到用户输入的信息有误a1.用户重新输入a2.用户离开该功能界面备选流无表2-5订单查询需求用例表用例编号004用例名订单查询用例描述用户可以通过该功能查询自己提交的订单的订单情况。参与者购票用户前置条件购票系统正常运行。后置条件用户点击订单查询后,系统会查询相关的数据库信息,如果用户提交过订单,系统返回所有订单,否则提示用户订单列表为空。基本路径1.用户登录帐号进入自己的系统页面。2.用户进入订单查询页面。3.系统调取用户的订单信息。4.系统显示所有的订单信息(没有订单显示空)。异常流无备选流无

表2-6取消订单需求用例表用例编号005用例名取消订单用例描述该功能是订单查询的相关功能,在订单查询之中可以选择取消之前的订单操作。参与者购票用户前置条件用户在执行完查询订单功能,并至少有一份未完成的订单。后置条件系统根据用户的操作在系统数据库中找到相应数据,如果符合条件则删除该条订单信息,否则,提示用户没有未完成的订单。基本路径1.用户执行登录帐号进入自己的页面。2.用户进入订单查询界面。3.系统调取用户的订单信息。4.系统返回给用户想要的订单信息(没有订单显示空)。5.用户点击退票取消订单。异常流a:用户没有未完成的订单,用户取消操作备选流无表2-7车票预订需求用例表用例编号006用例名车票预订用例描述该功能是购票系统的主要功能,车票查询的拓展功能,在查询完车票信息后可以继续执行该功能,完成车票的预订。参与者购票用户前置条件购票系统正常运行,用户已进入该系统并查询到相应的车票后置条件用户提交信息后系统会查询相关的数据库信息,如果该车票有余票,则用户预订成功。基本路径1.用户执行登录帐号进入自己的页面。2.用户进入车票查询界面。3.系统调取用户的订单信息。4.系统返回给用户想要的订单信息(没有相应的车票信息显示空)。异常流a.用户取消操作备选流无

表2-8密码修改需求用例表用例编号007用例名密码修改用例描述该功能是指修改用户个人信息中密码参与者购票用户前置条件购票系统正常运行,用户已成功注册并进入系统。后置条件用户点击修改信息功能后,系统会判断,如果符合则把用户在系统数据库中的信息修改,否则,提示信息修改失败。基本路径1.用户执行登录帐号进入自己的页面。2.用户执行个人信息修改功能。3.用户填写想要修改的密码。4.系统进行判断。5.系统修改用户的密码。异常流无备选流无(2)管理员相关用例表表2-9添加用户需求用例表用例编号008用例名添加用户用例描述把新注册的用户信息添加到系统数据库中参与者系统管理员前置条件有用户申请注册,管理员执行添加操作后置条件如果用户输入的帐号在系统中未被注册过,该用户会注册成功;否则提示用户重新输入。基本路径1.管理员登录管理系统。2.管理员执行添加用户操作。3.系统检测用户是否注册。4.管理员将用户信息添加到数据库中。异常流无备选流无

表2-10修改用户信息需求用例表用例编号009用例名修改用户信息用例描述该功能可以修改用户的信息参与者系统管理员前置条件系统正常运行后置条件管理员选择修改用户信息,系统修改用户在数据库中的信息。基本路径1.管理员登录系统。2.管理员执行修改用户操作。3.系统修改用户信息。异常流无备选流无表2-11修改票务信息需求用例表用例编号010用例名修改票务信息用例描述对需要修改的票务信息进行修改,例如:价格及火车的发车时间,终点站等实际信息进行更改,更改后要在系统数据库中做出相应修改。参与者系统管理员前置条件系统正常运行,实际运行的票务信息有变化后置条件管理员根据实际的修改对系统中的票务信息做出相应修改。基本路径1.管理员登录系统。2.管理员执行修改票务信息操作,经更新后的信息录入系统。3.系统重新存储修改后的信息。异常流无备选流无2.5数据需求2.5.1数据录入和处理的准确性数据输入正确与否是数据处理的前提。错误的数据输入将导致系统输出不正确,从而无法获得所需的结果。手动输入数据的输入源。因此,系统界面应易于用户使用。如果用户出现操作失误,系统可以简单明了地给出中文提示。2.5.2数据的一致性和完整性火车票购票系统的一大特点就是在不同的时刻购票系统的数据信息是不同的,人们登陆不同的网站,则就需要要求系统在同一时刻对于输出数据一定要保持一致性,如果失去了一致性,将会产生系统数据上的bug,总成不必要的麻烦。2.5.3数据的共享与独立性整个票务系统的数据是共享的。然而,从系统开发的角度来看,共享会使设计和调试变得困难。因此,应该提供灵活的配置,以便具有不同权限的用户能够正常操作。[8]2.5.4数据字典(1)Cusinfo用户信息Id用户编号Cname用户姓名Cidcard用户身份证号Intime注册时间Cpassword用户密码(2)dpiao订单信息Id订单编号Cidcard用户身份证号Pid车票编号Lyflag订票状态(3)piao车票信息Id车票编号Tid火车编号Szdid始发站编号Ezdid终点站编号Stime出发时间Pval票价Cxzh车厢座号Ptype车票类型Yxsj有效时间(4)traininfo火车信息Tname火车名称Cz车长Znums座位数量Xcnums限座数量Traintype火车类型(5)userinfo管理员信息Id管理员编号Uname管理员用户名Upassword管理员密码(6)xianlu线路信息Id线路编号Tid火车编号Zdid站点编号(7)zhandian站点信息Id站点编号Zdname站点名称2.6非功能性需求分析易使用性:火车票购票系统一旦上线,将会是供全体中国公民使用一款系统,这就决定了该系统要有很高的可用性和易用性,对于老年人和一些特殊的用户来说,系统不能够有过多的复杂操作。如果系统过于复杂,用户使用起来十分的困难,就会导致用户的流失。安全性:由于火车票购票系统有着大量的用户,系统就会产生大量的数据,所以对系统的稳定性和安全性要求很高,一旦系统出现安全问题,将会是无法弥补的损失。可靠性:作为一个有着庞大用户的系统,系统的可靠性要求是很高的,提高系统的可靠性可以保证系统的稳定性和用户信息的安全。2.7社会、健康、安全、法律、文化及环境等因素需求社会:分析此购票系统社会需求,主要从经济的角度看,开发所需要的成本和系统投入使用后的经济效益,获得的收益是显而易见,作为能够取代一票难求的线下人工售票的网上购票系统将会迅速的积累下大量的用户,系统的开发成本低,运行起来只需要几台取票机,总之运行的成本很低。而投入使用后将会有大量的用户使用,广告费就有一笔可观的收入。健康:系统的设计界面应简洁明了,突出主要功能,使用户使用起来方便快捷。安全:火车票订购系统有着大量的用户,每一个用户有有着自己的个人信息,保证用户信息的安全是必不可少的。法律:该系统主要由铁路总局负责运行,应符合铁路部门和国家的相关规定。文化:网上购票系统在这个网络飞速发展的时代与将会在市场上扮演很重要的角色,网上购票大大减少了人们出行时购票的压力,提升了人们的幸福感。运行环境:在当前系统开发之前,已有类似的成熟的软件开发出来,所以已经有着比较成熟的开发经验,对本次系统开发有着重要的意义。本系统主要是使用b/s(浏览器/服务器)架构,J2EE,MySQL数据库等技术实现的。2.8未来可能提出的需求火车票购票系统作为人们出行购票的必备工具,将会根据人们的需求进行不断的改进和优化,比如在购票时提供孕妇和特殊人群的选项,为情况特殊的人群提供方便的座位和车厢;在系统中添加一些到用户到火车站的路线和方式,计算大概的出行时间,给旅客一个参考,减小误车的概率。

第3章系统总体设计3.1概述本章主要是对火车票购票系统的总体设计,其内容包括了系统设计的原则和方法,系统的架构图和功能结构设计,系统各个功能模块的设计,总体类图的设计和数据库部分的设计。3.2系统设计的原则及方法本系统的设计是基于B/S的设计模式,依托J2EE平台的分层结构设计,将火车票购票系统分成经典的web三层架构。[6]3.3面向对象的设计或结构设计(1)系统架构图如图3-1所示:图3-1系统软件架构图(2)功能结构设计火车票购票系统的功能结构设计模块主要将这个系统分成了两个部分,分别为购票用户模块和后台管理模块。购票用户模块包含了注册账号,购票用户登录,购票管理,订单管理和个人信息管理模块。其中购票管理模块有着车票查询,车票预订的功能,订单管理模块包括改签,付款,领票,退票的功能。后台管理模块包含了管理员登陆,用户信息管理模块,基本信息管理里模块和车票信息管理模块。其中用户信息管理模块包含了购票用户的信息管理和管理员自己的信息管理,基本信息管理又包含了线路信息,站点信息,火车信息。车票信息管理模块包含了车票信息管理,和订单信息管理。火车购票系统的主要功能结构图如图3-2所示:图3-2系统功能结构图

3.4总体静态类图火车票购票系统包含旅客,管理员,订单,车票,火车,线路,站点七个类。总体静态类图如图3-3所示:图3-3系统静态设计类图3.5功能模块设计3.5.1购票用户模块(1)注册账号注册账号模块主要是指新的用户通过输入身份证号,密码,姓名成为本系统的会员,享受使用系统的完整功能的权力。购票用户注册帐号的功能时序图如图3-4所示:图3-4购票用户注册账号时序图购票用户注册账号时序图分析如下:购票用户申请注册账号,进入注册账号的界面,输入注册所需要的身份证号,姓名和密码,将这些信息提交至系统数据库,提示注册成功。(2)购票用户登陆购票用户登陆是指已注册账号的用户输入已有的账号进入系统主界面,以执行购票等功能。登录帐号时序图如图3-5所示:图3-5用户登陆账号时序图购票用户登录帐号时序图分析如下:用户请求登陆,进入登陆界面,在登陆界面提交登陆信息,检查账户的信息是否与系统数据库的对应,然后系统提示登录成功。用户登录活动图如图3-6所示:图3-6用户登录活动图(3)用户购票管理模块用户购票管理模块包含了车票查询和车票预订的功能。购票管理模块时序图如图3-7所示:图3-7用户购票时序图购票管理模块时序图分析如下:购票管票模块包含两个功能,车票查询和车票预订。购票用户申请登陆进入车票查询界面,输入需要查询的车票信息,执行车票查询操作,发送请求到数据库中的车票数据,将数据信息返回给用户,这就是车票查询的操作。用户查询到车票信息,点击预订直接执行车票预订操作,创建订单,产生订单到个人订单界面,将订单信息返回给用户。用户购票活动图如图3-8所示:图3-8用户购票活动图车票状态图如图3-9所示:图3-9车票状态图

(4)订单管理模块订单管理模块是用户对所有订单进行处理的地方,包含了改签,付款,退票,领票等功能。订单管理模块时序图如图3-10所示:图3-10订单管理模块时序图订单管理模块时序图分析如下:用户订单管理模块是用户对订单的操作,包括订单的改签,付款,退票等操作,购票用户登陆系统,提交查询订单的申请,然后申请发送的个人订单的数据库,显示订单的信息。有了订单的信息之后,就可以进行对订单的操作,例如:改签,付款,退票等。(5)个人信息管理模块个人信息管理模块是用户对个人信息的管理,主要的功能是修改用户密码。个人信息管理模块时序图如图3-11所示:图3-11个人信息管理模块时序图个人信息管理模块时序图分析如下:购票用户个人信息管理模块包含了对用户个人密码的修改,用户登录系统,进入个人信息修改界面,向个人信息数据库发送修改密码的请求,数据库执行修改密码的操作,最后显示密码修改成功。

用户订单管理和个人信息管理模块活动图如图3-12所示:图3-12用户订单管理和个人信息管理模块活动图

3.5.2后台管理模块(1)管理员登陆后台管理模块是管理员保证系统稳定正常运行的模块,每个管理员有着自己的帐号和密码来登陆后台管理系统。管理员登陆时序图如图3-13所示:图3-13管理员登陆时序图管理员登陆时序图分析如下:管理员进入后台界面,提交管理员的账号信息,系统处理后检查是否符合系统数据库的信息,检验成功后提示登陆成功。进入后台的管理界面。(2)用户信息管理模块用户的信息修改包括管理员的信息修改和购票用户的信息修改的功能。管理员修改用户信息时序图如图3-14所示:图3-14修改用户信息时序图管理员修改用户信息时序图分析如下:管理员进入系统后台,提交修改用户信息的申请,进入修改界面,修改后将修改的信息保存至数据库,显示修改成功。(3)基本信息管理模块管理员修改票务基本信息时序图如图3-15所示:图3-15修改票务基本信息时序图管理员修改票务基本信息时序图分析如下:管理员进入后台的管理系统,选择修改票务基本信息,其中修改的票务基本信息包含了火车信息,站点信息和线路信息。通过修改这些信息来保证系统的正常运行。管理员基本信息管理状态图如图3-16所示:图3-16管理员基本信息管理状态图(4)车票信息管理模块车票信息管理模块包含了车票信息管理和订单信息管理的功能。车票信息管理模块时序图如图3-17所示:图3-17车票信息管理模块时序图后台管理模块管理员活动图如图3-18所示:图3-18后台管理模块管理员活动图

3.6数据库设计3.6.1设计原则为了将设计的实体在数据库中找到对应的关系并在数据库中表示出来,其中包括概念模型,逻辑模型和物理模型。[10]3.6.2数据建模概念模型如图3-15所示:图3-15概念模型图

逻辑模型如图3-16所示:图3-16逻辑模型图

物理模型[11]表3-1购票用户信息表结构设计表名属性名数据类型是否为空说明是否为主键CusinfoCnameVarchar(255)用户姓名否CidcardVarchar(255)用户身份证号否IdInt(11)Notnull用户编号是IntimeVarchar(255)注册时间否CpasswordVarchar(255)用户密码否表3-2订单信息表结构设计表名属性名数据类型是否为空说明是否为主键dpiaoIdInt(11)Notnull订单编号是CidcardVarchar(255)用户身份证号否PidInt(11)车票编号否LyflagVarchar(255)订票状态否表3-3车票信息表结构设计表名属性名数据类型是否为空说明是否为主键PiaoIdInt(11)Notnull车票编号是TidInt(11)火车编号否SzdidInt(11)始发站编号否EzdidInt(11)终点站战号否StimeVarchar(255)出发时间否PvalFloat票价否CxzhVarchar(255)车厢座号否PtypeVarchar(255)车票类型否Yxsjdatatime有效时间否表3-4火车信息表结构设计表名属性名数据类型是否为空说明是否为主键TraininfoTnameVarchar(255)火车名称否CzVarchar(255)车长否ZnumsVarchar(255)座位数量否TraintypeVarchar(255)火车类型否IdInt(11)Notnull火车编号是表3-5线路信息表结构设计表名属性名数据类型是否为空说明是否为主键XianluIdInt(11)Notnull线路编号是TidInt(11)火车编号否ZdidInt(11)站点编号否XhInt(11)站点序号否表3-6管理员信息表结构设计表名属性名数据类型是否为空说明是否为主键UserinfoIdInt(11)Notnull管理员编号是UnameVarchar(255)管理员用户名否UpasswordVarchar(255)管理员密码否表3-7站点信息表结构设计表名属性名数据类型是否为空说明是否为主键ZhandianIdInt(11)Notnull站点编号是ZdnameVarchar(255)站点名称否

3.7界面原型设计(1)用户注册界面:用户注册界面作为新用户注册的界面,需要包含用户输入注册信息的文本框,点击注册的按钮和重置信息的重置键。图3-17用户注册界面原型(2)用户登录界面:注册后的用户就可以通过用户登录界面登陆系统,用户登录界面需要输入身份证号,密码的文本框,登陆和重置的按钮。图3-18用户登录界面(3)用户车票查询界面:本界面为系统的主界面,显示着车票查询的功能,包含着起始站,终点站和有效日期的文本框,一个查询的按钮。图3-19用户车票查询界面原型第4章系统详细设计与实现4.1系统的工程结构图4-1系统工程结构图程序文件说明:火车票购票系统的源文件中,主要分为三层:View层的代码:前端页面、图片、资源文件都在其中。Controller层的代码:控制试图与模型层以及数据传递。Service层的代码:业务逻辑。其中以.svlt结尾的是控制器,以.been结尾的为实体类。[3][4][5]4.2面向对象的程序实现鉴于火车票购票系统有着用户基数大,同时在线人数多,容易出现大量用户融涌入系统的特点,在处理高并发访问处理方面,备受用户的口诛笔伐,所以实现火车票购票系统实现高流量高并发,是火车票订购系统日后投入使用的关键技术。高流量高并发是指某特定时间段的海量请求,这种符合了火车票订购系统的这一特点,以12306网站为例,2015年的春节期间,正是人们出行的高峰,每日的PV(pageviews)值大概有300亿,流量增加1000倍,这样大量的数据请求对于系统的服务器是一个极大的考验。以日常的服务器水平和网络质量是难以应对这样爆炸的数据请求的。所以订票系统的稳定需要更加先进的技术。[12]解决”高流量,高并发”的难题需要从软件和应用系统层出发,实现“可拓展的应用云平台架构“,利用云计算资源“,“按需及时扩充“和”快速调整“,这几个字眼是购票系统改造的精神,其核心就是要建立一个从下到上全面“可伸缩扩展的云平台”。底层的硬件架构要支持可伸缩扩展,上层的应用系统架构也需要支持可伸缩扩展。与此同时,优化数据库访问,动态的访问数据库会增加CPU的负荷,导致服务器的负载过大。利用缓存技术是一个解决方法,是将动态数据存储到缓存文件中,动态网页直接调用这些文件,而不必再访问数据库。4.3数据库的选择分析MySQL是一种关系数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。MySQL是最流行的关系型数据库管理系统之一。数据库是按照数据结构来组织、存储和管理数据的仓库,这种方法提高了数据处理的的速度和灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。[14]MySQL数据库有着以下优点:1.MySQL数据库有着开放源码这一特点,不需要用户支付额外的费用。2.MySQL作为一个高性能的数据库系统,复杂度低,用户使用起来容易入门。3.MySQL支持多种语言,例如SQL(结构化查询语言),ODBC(开放式的数据库语言)还有用各种编程语言(如C,C++,Eiffel,Java,Perl,PHP,Python,Ruby,andTcl)。4.4数据库的SQL语句的实现(1)查询列车名为K100的列车的所有信息select`id`,`tname`,`cz`,`znums`,`xcnums`,`traintype`fromtraininfowheretname=`K100`;(2)查询始发站为北京西客站,终点站为洛阳站,有效日期为2019.7.5的车票信息:select*from`piao`where`szdid`=1,`ezdid`=3,yxsj=2019-07-05;(3)添加新的用户信息:INSERTINTO`db_hcdp`.`cusinfo`(`Id`,`cname`,`cidcard`)VALUES('8','王二','987654123');UPDATE`db_hcdp`.`cusinfo`SET`intime`='2019-07-0103:48:50',`cpassword`='1213'WHERE`Id`='8';

4.5典型系统界面系统实现功能的主要界面截图(1)进入系统的主界面,包含着用户注册,用户登录,管理员登陆,车票查询的功能。图4-8系统主界面图(2)用户注册界面:新的用户进入账号注册界面,输入自己的身份证号,登陆密码和姓名。点击注册按钮成为系统的会员用户。图4-9账号注册界面(3)用户登录界面:用户成为系统注册的会员后,输入密码和账号信息进入系统。图4-10用户登陆界面图(4)车票查询界面:输入需要查询的始发站,终点站,选择有效的日期,点击查询来查询相关的车次信息。图4-11车票查询界面

(5)查询结果界面:显示所有符合用户需求的车票信息,包含车次,火车类型,始发站,终点站,发车时间,票价,车厢座号,车票类型,有效时间和订票操作。图4-12查询结果界面(6)订单查询界面:显示该用户的所有订单,包含付款和退票操作。图4-13订单查询界面(7)管理员登陆界面:当系统管理员需要登陆系统后台时,点击主界面的管理员登陆,进入后台管理系统,对系统的数据进行管理。图4-14管理员登陆界面图(8)会员用户信息管理界面:管理员进入会员信息管理界面,对注册的用户信息进行修改和删除。图4-15用户信息管理界面(9)基本信息管理界面,包含火车信息管理界面,站点信息管理界面,线路信息管理界面,管理员可以对这些信息进行删除和修改来保证系统信息的准确和系统的安全。图4-16火车信息管理界面图图4-17站点信息管理界面图图4-18线路信息管理界面图(10)车票信息管理,包含订票信息管理和车票信息管理界面,管理员可以对这些信息进行维护。图4-19订票信息管理界面图图4-20车票信息修改界面图

第5章系统测试5.1系统测试概述本章将会对系统一些功能实现情况进行测试,其目的是检测系统是否存在bug,将存在的bug进行修复,提高产品的质量和用户的体验。[18]5.2测试的方法、计划黑盒测试的方法又叫做功能测试或数据驱动测试,黑盒测试的原理是了解到系统能够实现的功能后,在测试时,把程序的整个执行过程当作一个不能看到内部情况的盒子(黑盒子),所以在整个测试过程中不考虑程序的执行情况和内部特征,测试者在程序的接口进行测试,对于输出的及如果,则需要检验该功能的输出结果是否符合需求规格说明书的规定,以此来判断该系统的程序是否符合用户需求,并且保持外部信息的完整性。[16]黑盒测试法的特点就是不考虑系统内部的程序逻辑结构,只针对程序外部结构,对输入输出进行测试。黑盒测试是穷举输入测试,需要把所有有可能的输入作为输入情况使用,这样才能够保证系统测试的完整性和真实性,更具有说服力。特别的,测试过程中,不光要测试所有的合法输入,还要不合法的可能进行测试。[17]5.3测试的数据、结论表5-1注册账号测试用例表测试用例编号hcdp-Test-01测试题目注册账号测试标题新用户进行账号的注册,成为会员后使用系统的全部功能。预置条件注册账号的用户为新用户,没有注册过账号。输入输入用户的身份证号,姓名和密码。操作步骤进入账号注册界面输入身份证号,姓名和密码点击注册预期输出提示用户注册成功。提示账号已注册,从新输入。表5-2账号登陆测试用例表测试用例编号hcdp-Test-02测试题目账号登陆测试标题用户进行账号的登陆,进入系统,使用系统的主要功能。预置条件用户已经注册过账号。输入输入用户的身份证号和密码。操作步骤1.进入账号登陆界面2.输入身份证号和密码3.点击登陆预期输出1.用户进入系统的主界面。2.提示账号或密码有误,重新输入。表5-3车票查询测试用例表测试用例编号hcdp-Test-03测试题目车票查询测试标题用户进行账号的登陆,进入系统,查询车票信息。预置条件用户登陆系统。输入输入起始站,终点站和出发时间。操作步骤1.进入系统主界面2.输入起始站,终点站和出发时间。3.点击查询。预期输出1.输出相应的查询结果。2.没有相应的结果,显示空表5-4车票预订测试用例表测试用例编号hcdp-Test-04测试题目车票预订测试标题用户进行账号的登陆,进入系统,查询车票信息,进行车票预订。预置条件用户已经登陆系统,进行了车票信息查询。输入输入用户要查的车票信息。操作步骤1.进入账号登陆系统2.输入查询车票的相关信息,点击查询3.用户选择合适的车票,点击订票。预期输出1.显示订购成功的提示。表5-5订单查询测试用例表测试用例编号hcdp-Test-05测试题目订单查询测试标题用户进行账号的登陆,进入系统,使用系统的订单查询。预置条件用户已经登陆系统。输入输入用户的身份证号和密码登陆系统。操作步骤1.输入身份证号和密码,登陆系统。2.进入系统主界面。3.点击订单信息。预期输出1.显示该用户所有的订单信息。表5-6用户密码修改测试用例表测试用例编号hcdp-Test-06测试题目用户密码修改测试标题用户进行账号的登陆,进入系统,进行个人密码的修改。预置条件用户已经登陆系统。输入输入用户的身份证号和密码登陆系统。操作步骤1.输入身份证号和密码,登陆系统。2.进入系统主界面。3.点击修改个人信息。预期输出1.修改完成后提示修改成功。表5-7管理员登陆测试用例表测试用例编号hcdp-Test-07测试题目管理员登陆系统测试标题管理员输入管理员账号,登陆系统预置条件用户已经登陆系统。输入输入管理员账号和密码登陆系统。操作步骤1.输入管理员账号和密码。2.点击登陆。预期输出1.成功登陆进入管理员界面。2.提示账号或密码错误,重新输入。表5-8管理员修改用户信息测试用例表测试用例编号hcdp-Test-08测试题目管理员修改用户信息测试标题管理员进行账号的登陆,进入系统,对用户的个人信息进行修改。预置条件管理员已经登陆后台管理系统。输入输入用户的身份证号和密码登陆系统。操作步骤1.输入管理员账号和密码,登陆系统。2.进入系统主界面。3.点击修改个人信息。预期输出1.修改完成后提示修改成功。2.修改后未能成功保存到用户部分,修改失败。表5-9管理员修改票务信息测试用例表测试用例编号hcdp-Test-09测试题目管理员修改票务信息测试标题管理员进行账号的登陆,进入系统,进行票务信息的修改。预置条件管理员已经登陆后台管理系统。输入输入管理员的管理员账号和密码登陆系统。操作步骤1.输入管理员账号和密码,登陆系统。2.进入系统主界面。3.点击修改票务信息。预期输出1.修改完成后提示修改成功。2.修改后未能成功保存到票务部分,修改失败。表5-10管理员修改管理员信息测试用例表测试用例编号hcdp-Test-09测试题目管理员修改管理员信息测试标题管理员进行账号的登陆,进入系统,进行管理员信息的修改。预置条件管理员已经登陆后台管理系统。输入输入管理员的管理员账号和密码登陆系统。操作步骤1.输入管理员账号和密码,登陆系统。2.进入系统主界面。3.点击修改管理员信息。预期输出1.修改完成后提示修改成功。2.修改后未能成功保存到管理员信息部分,修改失败。表5-10测试结果表序号测试名称测试过程测试数据测试结果hcdp-Test-01注册账号进入账号注册界面,输入身份证号,姓名和密码,点击注册。用户名:张强身份证号:120000密码:1213系统显示“注册成功”。hcdp-Test-02账号登陆进入账号登陆界面,输入身份证号和密码,点击登陆。身份证号:120000密码:1213成功登陆,进入系统主界面。hcdp-Test-03车票查询进入系统主界面,输入起始站,终点站和出发时间,点击查询。起始站北京西客站,终点站洛阳站。出发时间2019.7.4成功显示与查询请求相对应的火车信息。hcdp-Test-04车票预订进入账号登陆系统,输入查询车票的相关信息,点击查询,用户选择合适的车票,点击订票。符合起始站北京西客站,终点站洛阳站。出发时间2019.7.4的车票信息。系统显示订票成功成功。hcdp-Test-05订单查询输入身份证号和密码,登陆系统,进入系统主界面,点击订单信息。身份证号:120000密码:1213成功从显示该用户的所有订单。hcdp-Test-06用户密码修改输入身份证号和密码,登陆系统,进入系统主界面,点击修改个人信息。新的密码:123456系统显示修改成功。hcdp-Test-07管理员登陆系统输入管理员账号和密码,点击登陆。管理员账号:admin密码:Admin成功登陆,进入管理系统的系统管理员界面。hcdp-Test-08管理员修改用户信息输入管理员账号和密码,登陆系统,进入系统主界面,点击修改个人信息。将张三的密码改成“33”系统提示修改成功。hcdp-Test-09管理员修改票务信息输入管理员账号和密码,登陆系统,进入系统主界面,点击修改票务信息。将G123车次的列车发车时间修改为8:00。系统提示修改成功。hcdp-Test-10管理员修改管理员信息输入管理员账号和密码,登陆系统。进入系统主界面。点击修改管理员信息。将管理员账号为admin的管理员密码改为“0”.系统提示修改成功。5.4测试分析本次系统测试主要使用的是黑盒测试的方法,通过对测试结果的分析和研究,本系统基本上能够完成火车票订票的主要业务,满足用户的大部分需求,系统设计的功能也能正常运行。综上,本系统满足用户的要求,可以投入使用。

结束语火车票订票系统的设计与实现成为了提升铁路客运系统效率的重要的一环,顾客从以前传统的窗口购票方式变成了网上购票,到站取票的高效方式,这一技术上的进步很大的影响了人们的出行体验。这次毕业设计主要完成了以下工作:查阅文献和资料,对火车票购票系统需要完成的功能有一个大体了解,了解国内外的研究现状,系统设计的背景和意义,为以后的设计打下一个基础。进行需求分析,对系统进行架构和设计,将系统需要实现的功能进行分析和设计,再从非功能方面对系统进行可行性研究,分析系统设计的可行性。通过需求分析的结果对系统各个模块进行实现,利用自己所学的知识编写程序完成系统的主要功能。编写测试用例,对系统进行测试,检查系统的实现情况。是否符合对需求的分析。本系统的实现综合Java语言,J2EE开发平台,Eclipses开发工具,MySQL数据库以及B/S开发的技术,这是对大学学习质量的检验也是一次对综合能力锻炼的机会。由于时间和技术上的限制,有一些开始时的想法没有来得及实现,例如在查询功能上的完善,缺少对个人信息的保护,缺少一些帮助老人,残疾人等特殊人群购票的便捷功能。希望能够在以后的学习中能够让自己不断进步来完善自己对火车票购票系统的功能设计。

致谢经历了一个学期的毕业设计的编写和实现,期间遇到了许多困难和挑战,但之所以能够顺利完成毕业设计的编写,少不了老师和同学的帮助。首先,要感谢竭潇老师耐心地指导,尽管我在系统设计上遇到了很多的问题,竭潇老师每一次都会给我悉心解答,及时地指出我

温馨提示

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

评论

0/150

提交评论