航空售票垂直搜索引擎系统的设计与实现-计算机专业实习专题报告_第1页
航空售票垂直搜索引擎系统的设计与实现-计算机专业实习专题报告_第2页
航空售票垂直搜索引擎系统的设计与实现-计算机专业实习专题报告_第3页
航空售票垂直搜索引擎系统的设计与实现-计算机专业实习专题报告_第4页
航空售票垂直搜索引擎系统的设计与实现-计算机专业实习专题报告_第5页
已阅读5页,还剩11页未读, 继续免费阅读

下载本文档

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

文档简介

哈尔滨工程大学本科生专业实习专题报告PAGEPAGE14实习专题报告题目:航空售票垂直搜索引擎系统的设计与实现实习名称:专业实习班级:学号:学生姓名:指导教师:哈尔滨工程大学2017年8月26日哈尔滨工程大学本科生专业实习专题报告摘要随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分使用计算机对机票预订进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高机票信息管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。而基于对象的垂直搜索引擎越来越受到人们的关注,结合这一热门技术,详细论述航空售票垂直搜索引擎系统的设计与实现。该系统基于垂直搜索的思想,采用模板方式的网页抽取技术,提供给用户全面的机票信息。本文针对航空公司的订票实际情况,按照软件工程的结构化设计思想,经过项目的可行性研究和需求分析,概要设计,以及编码实现和调试等步骤设计开发了航空售票垂直搜索引擎系统。并运用数据流图,E-R图和数据库逻辑结构,系统结构图,功能结构图,以及程序流程图,对该系统的数据需求、数据库、系统软件结构、业务流程,以及处理过程等进行了分析和设计。本系统前台主要使用JSP作为开发语言,结合JavaScript和HTML,并使用bootstrap框架进行制作;后台使用MySQLServer作为数据库管理系统,开发环境是Eclipse,服务器采用tomcat。关键词:航空售票;垂直搜索引擎;JSP;MySQLServer随着人们生活质量的提升,物质文化需求的提高及各类交通工具也应运而生。现阶段出外旅行及出差的人越来越多,而飞机快速、价低、便捷等优点开始成为越来越多人的选择。然而机票价格受市场因素波动变化非常大,同一航班同等舱位的机票售票价格在不同时段由不同机票代理商售出价差可能高达数百甚至上千元,如何购买到价格更为便宜的机票已成为大家关心的话题。随着网络信息的高速膨胀以及现有通用搜索引擎在信息采集上的滞后性,使得通用搜索引擎难以满足人们对机票价格进行实时比较的需求,人们只得通过查询不同机票代理商和航空公司通过手工方式进行比较,费时又费力。针对这一情况,本课题拟采用垂直搜索技术开发一个机票垂直搜索引擎,采集各大航空网站和机票代理商的机票价格信息汇集到同一数据库中,可大大节省人们的时间和金钱,无疑具有广阔的商业前景和重要的现实意义。1系统需求分析1.1系统总体需求本文开发的基于垂直搜索引擎的航空售票系统,直接面向客户和航空公司工作人员,分为客户端和后台管理两个部分,具有管理员和用户两个角色,管理员可以登录操作后台管理,而用户则可以在客户端进行相关操作。系统主要分为用户订票和管理员后台管理两部分,订票主要为普通用户提供,普通用户在前台登录后,可以搜索查询航班信息,并且具有订票功能,后台则是针对操作员而言,管理员可以维护航线信息、航班信息、客机信息、客户类型、客户信息、舱位信息以及管理员信息等基本信息。当操作员正确登录后,便可以操作自己拥有权限的业务模块,例如添加、删除、修改航线等信息,操作权的权限由管理员分配,同时管理员可以操作系统中出了数据库的任何模块,而超级管理员还拥有操作数据库的权限。1.2系统功能需求1.2.1管理员功能需求管理员必须登录系统才具有权限操作以下功能:1.维护航线基本信息(增删改查)航线基本信息包括每条航线的编号、这条航线起发的城市以及这条航线要到的目的地,其中航线的定义为:从出发城市到目的城市之间的线路,两个城市之间的往返为两个航线。2.维护航班信息(增删改查)航班信息包括航班编号,这趟航班出发的日期及时间,到达目的地的日期及时间等。航班的定义为:航线中的班次信息。航线与航班之间的关系是一对多关系,一个航线对应着多个航班,不同的时间对应的航班号是不相同的,而一个航班对应的只能是一个航线。航空公司工作人员可以对一定时间内的航班信息进行维护,航班编号的规则为航线号加上对应的航线的该日期的航班序号。3.维护客机信息(增删改查)维护客机信息要求管理员能够对客机自身的一些数据进行维护,例如客机购买的日期、客机中座位的类型及数量等等。4.维护舱位信息(增删改查)维护舱位就是对客机舱位的一些信息进行管理,例如对舱位的等级信息等进行维护。舱位等级分为经济舱、公务舱和头等舱三种类型,不同的舱位的价格不一样。5.维护客户类型信息(增删改查)维护客户类型信息就是对客户类型的一些基本信息进行管理,例如客户具有什么样的等级等。客户类型主要分为普通客户、内部人员、VIP客户,超级客户等类型,不同的类型对应的客户在购买机票时的折扣率不相同,折扣按以上顺序依次增加。6.维护客户信息(增删改查)维护客户信息就是对客户的基本信息进行管理,例如客户的一些常用信息、姓名、证件号码等。每个客户属于一个客户类型,一个客户类型对应这多个客户,客户与客户类型之间是多对一的关系,当用户注册后,由管理员审核其信息,默认信誉度为100%并根据公司规则制度赋予客户相应客户类型。7.维护订单信息(增改查)订单信息是不可删除的,所以,订单信息只能进行根据条件来查询,或者进行对应的修改。8.维护其他人员基本信息(增删改查)其他人员基本信息包括账号、密码等信息。1.2.2客户功能需求 客户在必须在成功注册后,才可以在客户端登录系统,成功登录系统后,具有权限操作所有的功能,登录客户才会具有权限操作的功能如下:1.预订机票,客户可以预订航班日期当前日期之后的一个月内的机票。2.查询订票信息,客户成功订票以后,可以根据订票号、身份证号、航班号、订票日期、航班日期、出发地、目的地查询票单信息。3.跟踪订票处理信息,客户可以通过客户端查询处订票信息,并且系统可以即时的向用户提供订票处理信息,客户订票处理主要分未取票、己取票、已取消三种状态。4.机票改签,客户可以查询航班日期大于登录系统日期的订票信息,并且可以改签为航班日期大于当前日期的在有效期内的机票。5.机票退订,客户可以在机票的有效期之内退订机票,退掉机票之后,系统相应地扣除客户信誉度,如果客户信誉度低至50%,则系统默认该客户不可再预订机票。1.2.3游客功能需求 在没有登录的情况下,游客能够完成注册新账号、在线咨询、浏览公司简介、使用帮助、查看注意事项、查询航班信息等。根据航班号、航班日期、出发地、目的地查询航班信息,系统根据条件查询出符合条件的航班信息,并且提供订票的接口于客户。1.3系统安全性需求本系统是面向客户和航空公司工作人员的基于某航空信息的机票在线销售系统,系统除了保证用户所作的一切操作、所看到的一切数据满足其所拥有的权限外,还应保证用户的密码等重要信息不管是在传输中还是在数据库中应以密文的形式存在,选用的加密算法应是不可逆的加密算法。2系统总体设计2.1系统模块设计 该系统功能模块从整体上主要由前台用户预订机票和管理员后台进行管理维护组成。前台客户端功能组成包括航班查询模块、机票预定模块、机票改签模块、查询订单模块、客户登陆/注册模块等。 后台管理具体功能组成包括:航线信息管理,分为添加航线、修改航线和查询航线三个子模块;航班信息管理,分为查询航班、修改航班、添加航班三个子模块;客机信息管理,分为查询客机信息,查询客机信息,修改客机信息三个子模块;舱位等级管理,分为查询舱位、修改舱位、添加舱位三个子模块;客户类型管理,分为查询客户类型,修改客户类型、添加客户类型三个子模块;客户的信息的管理,分为查询客户具有的信息、恢复信誉度;管理员模块,分为添加管理员、查询管理员、删除管理员;订单信息管理模块,分为查询订票、领取机票和取消订票三个子模块;2.2业务流程图图2-1系统业务流程图2.3数据库设计2.3.1数据库概念设计客机实体属性图图2-2客机实体属性图客户实体属性图图2-3客户实体属性图航班实体属性图图2-4航班实体属性图机票实体属性图图2-5机票实体属性图2.3.2数据库逻辑结构设计管理员信息表该表用于存储管理员的登录信息,主要包括以下字段:管理员用户名、密码、管理员权限;表2-1管理员信息表列名数据类型长度说明AdminUservarchar50管理员用户名Passwordvarchar50密码Rankvarchar50权限航线信息表 主要包含以下字段:航班编号、出发日期、出发城市、到达城市、起飞时间、到达时间、经济舱价格、商务舱价格、头等舱价格、经济舱数量、商务舱数量、头等舱数量、燃油费、客机编号;表2-2航线信息表列名数据类型长度说明AirlineIDvarchar50定义航线唯一编号AirlineDatvarchar50出发日期CityLeavvarchar50出发城市CityReachvarchar50到达城市TimeLeavevarchar50起飞时间TimeReachvarchar50到达时间JingjiPricevarchar50经济舱价格GongwuPricevarchar50商务舱价格ToudengPricevarchar50头等舱价格JingjiLeftint经济舱数量GongwuLeftint商务舱数量ToudengLeftint头等舱数量JFuelvarchar50燃油费PlaneIDvarchar50客机编号LoginMarkInt登陆获得积分数BookMarkint订票获得积分数会员积分表 用于存储会员不同操作增加积分的表,主要包括以下字段:登录积分、订票积分;表2-3会员积分表列名数据类型长度说明LoginMarkint登陆获得积分数BookMarkInt订票获得积分数订单信息表该表用于存储订单信息表2-4订单表列名数据类型约束条件说明D_idbigint主键订单号D_statevarchar非空订单状态D_timestypetimestamp非空下单时间D_realcostint非空实际票价D_stationvarchar非空下单地点D_useridvarchar非空下单用户pnamevarchar非空乘客姓名idnumvarchar非空乘客身份证号it_flightvarchar非空航班号it_airlinesvarchar非空航空公司it_flight_date_startdatetime非空始发时间it_provenancevarchar非空始发地it_destinationvarchar非空目的地modelvarchar非空机舱类型客机信息表 用于存储客机信息,主要包括以下字段:客机编号、经济舱数量、商务舱数量、头等舱数量;表2-5客机信息表列名数据类型长度说明PlaneIDvarchar50客机编号JingjiNumint经济舱数量GongwuNumint商务舱数量TondengNumint头等舱数量会员信息表 用于存储会员信息,主要包括以下字段:姓名、身份证号、性别、出生日期、地址、邮编、联系电话、邮箱、用户名、密码、积分;表2-6会员信息表列名数据类型长度说明RealNamevarchar50姓名IdcardNumvarchar50身份证号Sexvarchar50性别Birthdayvarchar50出生日期Addressvarchar50地址Postvarchar50邮编PhoneNumvarchar50联系电话Emailvarchar50邮箱UserNamevarchar50用户名PasswordVarchar50密码Markint积分3系统实现3.1前台客户端的实现3.1.1客户端主页面本页面主要是在右边部分为客户提供一个简单的关于客户使用本系统的一些操作的介绍。3.1.2客户注册页面 客户在此页面输入相应信息,验证通过后即可注册成为本系统用户。3.1.3客户登录页面 此页面主要是为客户提供登录系统的接口,客户在这个页面输入对应的数据后,然后登录,假若输入的数据和数据库中的数据匹配,那么能够成功登录,若登录失败,系统会提示客户错误信息,帮助客户正确使用本系统。3.1.4航班查询页面 航班查询页面用以收集航班搜索条件。3.1.5航班信息显示页面 此页面用以显示符合搜索条件的航班信息,并且为客户提供预定机票的接口。如果航班没有剩余座位,则点击对应订票链接时,提示客户该航班没有剩余座位。3.1.6预订机票页面 当用户在航班信息所示的页面点击订票链接时,判断是否还有剩余座位,如有则跳到预定机票的页面收集订单信息,否则提示用户该航班没3.1.有剩余座位。3.1.7机票预订成功提示页面 预订机票成功后,跳转到此页面,用以向用户反馈订单信息。3.1.8票单信息显示页面当客户成功登录系统后,点击导航菜单条中的机票改签,系统将显示客户所订的航班日期大于登录系统日期的所有订单信息。图3-1订单管理页面3.1.9机票改签页面在票单信息页面中,点击改签链接,页面转向为机票改签页面,此页面用以收集机票的修改信息。3.1.10订票状态查询页面客户成功登录系统后,在导航条点击订单管理,即可转向到订单状态查询页面,默认显示客户所有订单信息,客户可以根据需要输入查询条件来搜索订单信息。3.1.11客户支付 在本系统中,客户支付部分,目前本系统只是有支付的流程,而无实际支付操作;进行支付的操作单纯实现对订单状态的更改,以便测试系统功能实现程度。3.2后台管理端的实现3.2.1管理员登录页 在管理员登录页面,系统会随机生成一个四个字符的字符串,并且以图片的形式传给前台页面,形成验证码,用户在此页输入正确的数据后才能成功登录。3.2.2查询航班页面 此页面主要是用以查询并且显示航班信息,默认显示所有的航班信息,管理员可在搜索面板中输入条件以查询航班,在页面中,系统同时也会为每个航班信息提供修改航班和添加航班的接口,其中添加航班,指的是为该航班所对应的航线添加航班信息,修改航班则是修改对应的航班具体信息(航班编号不可修改)。3.2.3添加航班页面 添加航班有两种途径,一种是先查找航线,然后点击航线信息后面的添加航班链接,另一种是先查找航班信息,然后根据航班信息为其所属航线添加航班。3.2.4修改航班页面管理员在此页面修改航班信息,管理员可从图6~17所示的页面中,点击修改航班链接,则可进入相应的航班信息修改页面。3.2.5订单管理页面 管理员可以根据客户提供的订单信息或者是客户信息查找相应的订单信息,然后处理订单信息,在此页面中,对订单的操作主要有两种,即领取机票和取消订票。4系统测试4.1测试方法 本文对基于某航空信息的机票在线销售系统测试时,根据系统的功能设计了不同的测试用例来对每一个功能进行测试,采用黑盒测试的思想,完成了对基于某航空信息的机票在线销售系统的功能测试,使系统能够正常运行提供服务。4.2系统功能测试 测试用例根据系统需求进行设计,对系统要实现的功能进行测试,在此过程中发现和解决了分页查询航班信息的一个逻辑问题,当根据某些条件查询出符合条件的数据之后,点击分页链接,则查询默认条件下(查询所有的航班信息)的对应页信息,经分析,这种情况主要是因为点击分页链接之后,搜索条件全都为空,解决这个问题,只需要确保在点击分页链接重新查询航班信息时,搜索条件仍然为上一次的内容,因此,在分页链接后面添加参数,将整个搜索Form对象的内容发送到对应action,然后在action中重新将其组成搜索条件对象,传递到Service层,接着在Service层调用DAO层,来穷举分析搜索条件,从而找出符合条件的航班信息,最后由action将数据信息发送到view层显示给用户。4.3系统性能测试 为了满足需求分析中所提出的系统性能要求,有必要对系统性能进行测试。由于系统主要是以查询业务为主,查询所涉及到的表的数量以及数据量比较大,在系统设计中,对查询是以分页的形式实现。分页方式目前主要有两种技术,一种先将所有信息从数据库取出,放于缓存中,然后再依据逻辑判断分页显示,这种方式,只需要向数据库发送一次请求,只有第一次耗时较长;另一种是每一次都是查询数据中符合条件的一部分数据,如需查询其余数据,则需要重新向数据库发送请求,这种方式需要多次向数据库发送请求。经过测试分析,第二种方式适合基于某航空信息的机票在线销售系统,因为系统查询数据都是以固定数量显示,而且依据精确查询条件的方式,可以减少符合条件的数据量,从而相对来说限制了向数据库发送的请求次数。5结论本文严格按照软件工程的思想和流程完成设计和报告工作,下面主要从所做的工作对本文进行总结。本文详细论述了基于垂直搜索引擎的航空售票系统相关知识以及所用到的技术及其管理系统。同时在系统的具体设计与具体实现过程中充分考虑安全技术和数据库技术等关键技术,在这些基础上主要完成了以下工作:1.在系统需求分析中,主要对系统应该完成的功能进行分析,包括管理员功能需求、客户功能需求、游客功能需求、用户管理功能需求和其他功能需求,同时给出了系统性能需求和系统安全性需求。在系统功能分析中,详细分析了系统的功能组织及各功能。2.本文在对系统进行具体设计和具体实现中,包括四个方面的设计与实现。第一,完成了系统主界面和其它界面的设计与实现;第二,从系统功能模块设计出发完成了系统的功能设计:第三,从数据库的设计原则、数据库选型和数据库表的设计三个方面完成了对数据库的详细设计;第四,在安全性设计上,通过对用户信息以加密传输和在数据库保存的方式防止恶意入侵系统,以实现系统安全型的设计。3.在系统的测试中,通过对系统测试方法的分析,选定了对系统功能测试的方法,制定了测试计划,完成了系统的测试工作。然而虽然本系统已具备基本机票垂直搜索引擎系统的功能和初步实际使用的能力,但是能存在大量的不足,有以下几点:1.首先,对于航空公司的具体业务,特别是对用户订票之后取消订票的处理、如何防止用户恶意订票以及用户订票时享受折扣的依据和用户所属类型的确定等具体业务的处理过程,可能与现实中的处理过程不相同,因此,对于系统的完善,后期可以参考实际的航空公司对以上业务的具体处理过程,从而提高系统的实用性。2.其次,结合当前局域网的应用,可以利用安全虚拟专网技术(SVPN),从网络层面解决后台管理员对数据库操作的一些安全问题,而对于前台客户端,可以从系统的易操作性以及稳定性方面提高用户的体验。3.再次,针对数据量比较大的操作,采用分页和延迟加载的原理,每次只取一个合理的数量,同时采用人性化的设计,判断用户可以接受的延时范围,为用户提供丰富和方便的信息查询功能,进一步提高用户体验。4.最后,随着基于某航空信息的机票在线销售系统的发布应用,将有越来越多的信息被沉淀、更新,因此,如何有效利用这些信息将是后期的一个研究重点。参考文献胡晶晶,钱湘,赵志强.基于垂直搜索的机票搜索系统的设计与实现:[学位论文],北京:中国科学院,2008.什么是垂直搜索.中国全文检索网.http://www.眦lseaI-cher.corn/n20051112144420735.asp,2006:3—16.孙卫琴,李洪成.《Tomcat与JavaWeb开发技术详解》.电子工业出版社,2003.张新曼.精通JSP-WEB开发技术与典型应用[M].北京:人民邮电出版社,2007.邓子云.JSP网络编程从基础到实践[M].北京:电子工业出版社.张银鹤《JSP完全学习手册》.清华大学出版社2007.李相国《Java实例精通》.机械工业出版社,2009.孙一林,彭波.《Java数据库编程实例》.清华大学出版社,2002.FLANAGAN.《Java技术手册》.中国电力出版社,2002.BruceEckel.《Java编程思想》.机械工业出版社,2003.基于单片机和DSP的卷绕控制器数据采集和通讯设计基于MSP430单片机的柴油发电机监控器的设计基于CPLD/FPGA和单片机的爆速仪设计基于单片机控制的晶闸管中频感应电源的研制基于十六位单片机的电力设备故障在线监测装置的设计与算法研究基于SPCE061A单片机的语音识别系统的研究基于PIC单片机的生物机能实验装置的研究基于MotorolaMC68HC08系列单片机演示系统的设计与实现基于TCP/IP协议的单片机与INTERNET互连的设计与实现基于嵌入式实时操作系统和TCP/IP协议的单片机测控系统AVR8位嵌入式单片机在车载全球定位系统显示终端中的应用基于AVR单片机的250WHID灯电子镇流器的研究基于单片机的TCP/IP技术研究及应用基于P87C591单片机的CAN总线应用层协议的研究基于单片机实现对二级倒立摆的控制C8051FXXX系列单片机仿真器的研制基于80C196MC单片机控制的变频调速及配料控制系统的应用研究基于单片机的胶印机控制系统开发研究基于凌阳单片机的二次压降全自动测量仪的研制基于单片机的超声测距系统基于MOTOROLA单片机的专用电池组智能充电仪全站仪动态测量的研究以及其与单片机在轨道式龙门吊实时检测中的应用一种基于80C196KC单片机的新型电子负载的设计基于单片机的对讲系统的研究开发基于单片机的微波加热沥青路面再生修复机温度控制器的开发与研究基于单片机ATmega128的嵌入式工业控制器设计基于单片机的压电闭环微位移控制系统的研究基于单片机的高压静电除尘整流设备的自动监控系统设计采用W78E58单片机的酸碱浓度检测技术基于单片机的粮库温度监控系统设计基于单片机控制的微型轴流式血泵外磁驱动系统研究基于AVR单片机的电动自行车控制系统研究基于PIC单片机的配电网综合参数测控仪研究全自动包装机的单片机控制研究基于单片机系统的Java虚拟机研究与设计基于智能传感器和单片机的温度监测系统基于DSP

温馨提示

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

评论

0/150

提交评论