航空订票系统毕业设计.doc
xxxxxx大 学本 科 毕 业 设 计(论文)题 目:航空订票系统学 院:信息工程学院专 业:计算机科学与技术(应用方向)班 级:091班学 号: 学 生: 指导教师: 职称: 时间:摘 要 随着社会发展的不断进步,民航事业的壮大,人均消费水平的提高,航空运输现在已经成为我国运输事业的重要方式之一。但由于航空运输的特殊性,很容易受到天气和人为因素的影响,从而给旅客及时获取航班信息,及时准确的预定机票和退订机票带来了极大的不便。针对以上的问题,可以通过建立一套完整的航空公司订票系统,来公布航班信息、查询航班信息、预定机票、退订机票等操作,从而使旅客能够及时准确获得自己需要的信息或进行查询、订票、退票等操作。 航空订票系统是为机场工作人员及旅客提供订票、退票等与机票相关的内容和管理的系统。它分为前台和后台两个部分,前台主要提供了航班的查询、机票的预定与退订等功能;后台是管理员管理界面,只有管理员才能进行操作,它包括查看机票预定情况,对航班信息进行增、删、改、查,对用户信息进行增、删、改、查,添加、删除、修改公布信息等操作。本系统采用MyEclipse作为软件开发的环境,以Tomcat6.0作为Web服务器,后台的数据库是使用MYSQL5.2。使用Microsoft公司的Win7系统为开发的系统,运用JSP+JavaBean的开发模式,从界面友好、实用的要求出发,开发了一个利用WEB技术发布在网络上的基于B/S模式的航空系统。关键词:飞机票预定系统;MyEclipse;MySQL Server 5.0;B/S结构; JSP;ABSTRACTWith the social development progresses, the civil aviation industry and growth, per capita consumption level, air transport has now become China's transportation industry is one important way. However, due to the special nature of air transport, are susceptible to weather and human factors, giving passengers timely access to flight information, timely and accurate ticket booking air tickets and unsubscribe brought great inconvenience. To solve the above problems, you can build a complete airline reservation system, to publish flight information, check flight information, booking tickets, unsubscribe tickets and other operations, so that the passengers can get timely and accurate information they need or query , booking, refunds and other operations.Tickets reservation system for airport staff and passengers booking, refunds and other relevant content with the ticket and management systems. It is divided into two parts, foreground and background, foreground provides a major route queries ticket booking and cancellation, see bulletin board and other functions; background is the administrator management interface, only administrators can operate, which includes view Flight situation, the flight information to add, delete, change, check the user information to add, delete, change, add, delete, modify, publish information and other operations.The system uses MyEclipse as a software development environment to Tomcat6.0 as a Web server, the background of the database is to useMYSQL5.2. Win7 system using Microsoft's system for the development, the use of JSP + JavaBean pattern of development, from a user-friendly, practical requirements, developed a technique using the WEB published on the web-based B / S mode of the aviation system.Key words: Tickets reservation system; MyEclipse;MySQL Server 5.0;B/S structure; JSP;目 录 第一章 绪论11.1 课题背景及现状11.2选题意义11.3系统开发工具与技术介绍11.3.1开发环境11.3.2开发模式简介21.3.3开发技术21.3.4开发平台2第二章 需求分析32.1可行性分析32.1.1经济可行性分析32.1.2技术可行性分析32.2功能需求32.3性能需求42.4数据信息需求42.5安全与保密需求42.6软硬件环境需求52.7 其它需求52.8航空售票系统的实现目标5第三章 概要设计63.1 系统的总体结构设计63.2功能模块设计63.2.1前台功能模块设计63.2.2后台功能模块设计73.3页面的设计8第四章 数据库设计94.1结构设计94.1.1概念结构设计94.1.2逻辑结构设计114.1.3物理结构设计124.4运用设计154.4.1数据字典设计154.4.2安全保密设计16第五章 详细设计及实现175.1前台功能设计175.1.1用户登录175.1.2用户注册185.1.3航班查询205.1.4机票预定215.1.5修改个人信息223.2.6修改密码235.1.7订单查询245.1.8退票255.1.9改签265.2后台功能设计275.2.1订单查询285.2.2航班管理285.2.3用户管理295.2.4管理员管理315.3验证码生成程序设计说明315.3.1程序描述315.3.2算法315.3.3流程逻辑315.4连接数据库程序设计说明325.4.1程序描述325.4.2算法325.4.3流程逻辑32第六章 系统实现346.1登录功能模块的实现346.2 用户注册功能模块的实现356.3 航班查询功能模块的实现366.4 预定机票功能模块的实现376.5 修改个人信息功能模块的实现376.6 修改密码功能模块的实现386.7订单查询功能模块的实现406.8 退票功能模块的实现41第七章 使用说明427.1 系统环境要求427.2 系统安装427.3 系统运行42致 谢43参考文献44附 录45第一章 绪论1.1 课题背景及现状随着社会发展的不断进步,人均收入的不断的增高,使得越来越多的人将目光放到提高生活质量上了,因此,旅游在人们的生活中占有越来越重要的地位。而且人们选择出行的方式也越来越多元化,其中飞机所占的比重越来越高。同时,中国十七届五中全会通过的国民经济和社会发展的第十个五年计划建议中已明确指出:信息化是当今世界经济和社会发展的大趋势,也是我国产业优化升级和实现工业化、现代化的关键环节。大力推进国民经济和社会信息化,是覆盖现代化建设全局的战略举措。可见,这是民航快速发展的机遇,更是民航信息化的机遇。航空公司伴随着业务的增长,不端增长的信息量、落后的工作效率和管理水平也带来很多的问题。老套的人工售票方式已经无法满足人们的需求,严重的制约了工作效率。在计算技术及电子商务高速发展的今天,有必要引入高效的计算机系统来处理航班查询、机票预定、信息管理的工作。因此,开发一套具有航班查询、机票预定与退票、航班信息管理、客户信息管理的系统已经是势在必行。1.2选题意义航空订票系统是为机场工作人员及客户提供订票退票等与机票相关内容和管理的系统,它具有开放体系结构、易扩充、易维护、具有良好人机界面的优点。它除了克服存储乘客信息少,查询效率低下等问题外,更重要的是其安全、可靠,实现航空公司的机票销售的自动化。它还为企业的决策层提供准确、精细、迅速的机票销售信息,便于机场工作人员对机票信息进行管理,提高机场工作人员的工作效率。1.3系统开发工具与技术介绍1.3.1开发环境开发本系统所需要用到的软件环境如下:1) JDK:JDK 6.0.24版本是目前功能比较全、比较稳定的版本,其新添加了许多以前版本所不具备的新特性,如整合脚本语言、自动打包解包、安全性等功能。2) Web应用服务器:Tomcat6.0服务器功能强大、方便易用,适用于中小型系统的开发服务器,同时Tomcat可以从网上免费下载,从而降低了开发成本。3) 数据库:MySQL 5.0数据库是目前小型应用开发中比较流行的数据库,且其从MySQL 5.0版本开始支持事务,保证了数据库的完整性和安全性。4) MyEclipse工作平台:利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能。1.3.2开发模式简介本系统采用B/S(浏览器/服务器)结构,在这种结构下,客户机上只需要装有一个浏览器(Browser),用户就可以通过WWW浏览器来访问服务器上的内容,在通用浏览器端就实现了原来需要复杂专用软件才能实现的强大功能,大大节约了开发成本,是一种全新的软件系统构造技术。1.3.3开发技术本系统采用MyEclipse作为软件开发的环境,以Tomcat6.0作为Web服务器,后台的数据库是使用MYSQL5.0。使用Microsoft公司的Win7系统为开发的系统,运用JSP+JavaBean的开发模式,从界面友好、实用的要求出发,开发了一个利用WEB技术发布在网络上的基于B/S模式的航空系统。1.3.4开发平台本系统选择Windows2007作为开发平台,进行设计、测试和运行。因为Windows操作系统是目前应用最广的操作系统,它以全新的图形界面,简单快捷的操作方式,支持多媒体功能等特点而成为软件开发的主流趋势,选用它作为开发平台主要是易于功能的扩展和软件升级。第二章 需求分析2.1可行性分析2.1.1经济可行性分析 在当前的各种人力和财力等限制条件下,利用现有的技术,本系统的功能都能够实现;系统管理和维护比较简单,除了必要的设备投资外,后期运行成本比较低;该系统正常商务运行后,将给航空公司带来极大的便利,提高工作的效率,节省不必要的人员费用。 2.1.2技术可行性分析 1) 在限制条件下功能目标能达到 2) 利用现有技术功能目标能达到 3) 现开发人员数量和质量的要求能满足,熟练掌握系统分析技术、数据库技术和网络编程技术 4) 在规定的期限内,开发能完成2.2功能需求随着互联网的快速发展,人们越来越习惯于通过网络来实现所需的服务,网络已经深深影响了人们的生活方式,而且传统的人工售票已经不能满足航空客运的发展要求,更不方便乘客的机票信息查询及购买。而且近年来航空客运量持续快速增长,客运量需求的增长为航空业的快速发展带来了机遇,为了充分满足旅客对出行时间和服务质量的需求,以及抢占运输市场份额,不断扩大客运市场航空占有份额,航空公司就必须建立自己的售票系统,让客户能够通过网络更充分地了解我的服务。本系统主要分为两部分:管理员部分和普通用户部分。为了方便乘客查询自己所需要的机票信息,因此,要求管理员对机票信息要进行合理的管理,并提供了方便、快捷、灵活的查询条件,为乘客的出行带来了极大的方便。系统要实现机票预定管理的自动化,就要完成对航线信息、航班信息、机票信息、订单信息的管理及维护,对用户机票的预定及订单的支付情况进行管理。所需的功能如下:1) 能够实现用户的网上注册功能,用户在网上预定机票之前 ,需要先进行注册成为本网站的用户,并提供用户的真实身份信息,以便用户订票的时候进行身份验证和绑定用户信息并生成订单;2) 用户通过网上注册后能够进行航班信息、机票信息的查询,网上预定机票,并查询自己的历史订单情况;3) 管理员登录系统后,能够实现航班的班次及航线信息的管理,对航班及航线的变动信息及时更新;4) 管理员能够实现对机票信息的管理,及时更新机票信息,能够根据实际航班客运量来进行调价;5) 用户界面需求,系统应提供用于工作明确的用户界面,并且尽可能地为用户操作提供方便。用户应能通过界面较容易地实现所需功能,尽可能为用户提示信息,在功能实现完善的基础上要求界面美观;6) 能够提供友好的客服服务,让更多的乘客了解我们的服务并反馈他们的宝贵意见,从而有利于提高航空公司的服务质量。2.3性能需求主要质量属性 如下:正确性:确保用户操作后能实现其正常的各种操作方式。 健壮性 :软件对规格定义之外的异常状况的适应能力不能过差 可靠性 :错误提示,数据不会无故丢失 性能,效率 良好 易用性 :操作简单易懂 清晰性 :流程清晰有条理,易于分类管理 安全性 不能随意的修改和泄漏用户的信息等。 可扩展性 自适应各种系统环境 兼容性 :自适应各种操作系统和浏览器 2.4数据信息需求信息存储需求:1) 机场提供的信息必须及时的反映在旅行社的工作平台上。2) 售票系统的订单信息必须无差错的存储在航空公司的数据库中。信息输入输出需求:3) 数据输入需求:数据完整、准确4) 数据输出需求:简捷,快速,实时,准确2.5安全与保密需求1) 权限控制(1) 航空公司的管理员享有对航班信息、航班人员信息和公告信息进行增、删、改、查的权利;(2) 所有的旅客都可以浏览、查找航班信息和公告信息;(3) 只有登录的旅客才能进行机票预定;(4) 航空公司的管理员和旅客的登录信息采用MD5验证。2) 数据库备份允许用户进行数据的备份和恢复,以弥补数据的破坏和丢失2.6软硬件环境需求 1) 软件需求:(1) 开发环境 WINDOWS 98 Internet EXPLORER 4.0以上版本。 (2) 开发工具MyEclipse8.x以上 2) 硬件需求 :(1) 最低配制:内存512MB,CPU1.8GHZ,硬盘40G (2) 服务器运行 Tomcat5.x以上 (3) 数据库 MYSQL5.0或者更高版本 2.7 其它需求 提示信息要友善,界面设计要人性化,操作流程不要太过于复杂等。2.8航空售票系统的实现目标1) 功能设计齐全,能够快速方便地注册为本网站的用户;2) 设计高效的SQL查询语句,能根据用户查询的查询条件,实现快速地获取到他们所需的各种信息,并且能显示机票、航班的详细信息,方便乘客了解商品信息;3) 智能化修改已售机票信息的状态,使已出售机票不再显示在用户查询信息中,做到了单张机票不重复卖出;4) 预定机票的操作简单快捷,真正实现人性化的设计5) 实现模拟网上支付功能,支付功能后自动修改订单的状态;6) 用户支付成功后,可到订单管理界面查询自己历史订单;7) 用户登录成功后,系统能记住用户的登录状态,如果出现临时断网重连网络后不需要再次登录本系统;8) 界面设计美观,信息浏览灵活、方便、快捷;9) 数据库设计合理,提供了高效、准确、快捷、灵活的信息查询接口,数据存储安全可靠;10) 增加了客户服务信息栏,方便乘客能更多的了解我们的服务,从面得到更多的实惠;11) 增加了返程机票信息查询功能,减少了乘客的查询次数;12) 增加了订单查询功能,能让乘客随时查阅自己的历史订单情况;13) 系统最大限度地实现易维护性和易操作性;14) 系统运行稳定、安全可靠,不会出现不可预测的状态。第三章 概要设计3.1 系统的总体结构设计本系统采用的BS结构,因此,此系统可分成页面的设计,包括管理员页面和用户页面;业务层的设计,主要是一些关于处理页面发过来的请求的方法。由于我采用了BS结构,摆脱了CS传统的客户端和服务器端一对一的关系,同时我们也注入了页面的显示,用户和服务器打交道不再是传统的客户端代码和服务器端代码的编写。BS结构的特点就是所有的代码都是在服务器端也就是在公司内部实现,用户端根本没有任何编码,只有显示,而这些显示就是要通过我们页面的设计编码来实现。3.2功能模块设计为了实现航空公司以及旅游行业的现代化管理,进一步提高工作效率,方便旅客,需要开发一个航空订票系统。航空订票系统是一个独立的系统,它主要由前台和后台两部分组成。本系统在客户端实现了用户的登录,注册,航班的查询和退订的功能的页面,在航空公司内部实现了管理员的登录,管理员对航班的增删查改等操作。具体业务流程见下图。图 3-1 航空订票系统总体结构3.2.1前台功能模块设计(1) 注册功能:用户可以填写注册信息并提交。(2) 登录功能:用户可以登录到个人界面中进行相应的操作。(3) 修改密码功能:用户及管理员登录后可以修改密码。(4) 修改个人信息:通过此功能用户可修改个人信息。(5) 航班查询功能:可以根据航班号或者起始站和目的地查询航班的详细信息。(6) 订票功能:用户登录后可以提交订票信息并在核实后交费,实现订票功能。(7) 订单查询功能:用户登录后可以根据身份证号或者订单号查询订单信息(8) 退票功能:用户登录后可以进行退票。前台功能结构如下图:图3-2航空订票系统前台功能结构图3.2.2后台功能模块设计(1) 查询功能:可以查看所有的订单信息。(2) 航班管理:管理员可以通过此功能对航班进行增、删、改、查的操作。(3) 用户管理:在管理员界面中可对注册过的用户进行管理,包括增加用户、删除用户、查询用户和修改用户信息的功能。后台功能结构如下所示:图3-3航空订票系统后台功能结构图3.3页面的设计 页面设计中我采用的是JSP来显示页面,它能显示动态的页面,能够根据用户不同的请求显示出不同的页面。为了实现页面的复用,我使用了Struts中的tile框架,提供了一个通用的模版,它能够将不同的JSP页面整合到一个页面中,使整个页面看起来更有逻辑性,同时也更美观1) 客户端功能的实现设计包含了以下页面:用户登录页面: 此页面用于用户的登录操作。用户注册页面: 此页面包含了用户注册信息的填写和注册成功的提示。航班查询页面 :此页面包含了航班查询页面和查询结果显示页面。航班预订页面: 此页面包含了航班信息显示,乘客信息填写。航班退订页面: 此页面包含了用户已预订的航班的现实和退票的支付。2) 管理员是在服务器端需先登录,然后才能对航班进行增删查盖等功能的操作。本模块中设计了以下的页面:管理员登录页面:用来完成管理员的登录功能。 航班查询页面:此页面包含有2个页面,查询条件页面和查询结果显示页面。航班删除页面:此页面包含航班的显示页面以及删除后的显示页面。增加航班页面:此页面包含填写航班信息的页面和增加成功后的提示页面.修改航班页面: 此页面包含需要修改航班信息的页面和修改成功后的提示页面。第四章 数据库设计在一个B/S系统中数据无疑是非常重要的,数据的安全性、稳定性、可恢复性对使用者起着极其重要的作用。选择一个健全稳定的数据库无疑也是系统实现的首要步骤,本系统选用的是MYSQL5.0,它能提供大型系统所需的数据库服务。下面将介绍系统的数据库结构。4.1结构设计4.1.1概念结构设计概念结构设计主要是为了说明本数据库将反映的现实世界中的实体属性和它们之间的关系等原始数据形式,包括各项数据项、记录、系、文卷的标志符、定义、类型、度量单位、和值域,建立本数据库的每一幅用户视图。通过对整个系统进行分析,对各模块建立的实体关系图如下:登录信息是用户登录及修改密码时所需要的信息,其中包含了用户编号、用户名、密码、密码提问、密码提问答案五项属性。它们之间的关系如下图所示:图4-1 用户基本信息实体E-R图用户详细信息用于对用户进行详细的描述,其中包含了用户编号、姓名、性别、出生日期、证件类型、证件号码、手机号码、固定电话、邮编、地址、电子邮箱11个属性。它们之间的关系如下图所示:图4-2 用户详细信息实体E-R图订单信息由订单号、用户编号、姓名、证件类型、证件号码、订票日期、机票类型、出发日期、出发时间、出发航班、出发舱位等级、总价12个属性组成,它们之间的关系如下图:图4-3 订单实体E-R图管理员包含了管理员编号、管理员名称、是否为默认管理员、是否启用4个属性组成,它们之间的关系如下图所示:图4-4 管理员实体E-R图在机票预定系统中通过不同的用户的操作将这些实体联系在一起,如下图所示:图4-5 机票预定系统实体关系图4.1.2逻辑结构设计经过对原始数据的分解、合并后重新组织起来的数据架构如下:1) User_Common(User_ID,Name,Password,Question,Answer)说明:User_ID表示用户编号,Name表示用户名,Password表示用户密码,Question表示密码提示问题,Answer表示密码。2) User_Detail(User_ID,Dname,Sex,Borth,ID,IDCode,Teleph,FL_tel,Mail,Address,Postcode)说明:User_ID表示用户编号,Dname表示姓名,Sex表示性别,Borth表示出生日期,ID表示证件类型,IDCode表示证件号码,Teleph表示手机号码,FL_tel表示固定电话,Mail表示电子邮箱,Address表示地址,Postcode表示邮编。3) Order(Order_ID,User_ID,Dname,ID,IDCode,Booking_Date,Ticket_Type,Starting_Date,Starting_Time,S_FLT_No,S_Cabin_Type, Total_Amount)说明:Order_ID表示订单编号,User_ID表示用户编号,Dname表示姓名,ID表示证件类型,IDCode表示证件号码,Booking_Date表示订票日期,Ticket_Type表示证件类型,Starting_Date表示出发日期,Starting_Time表示出发时间,S_FLT_No表示出发航班号,S_Cabin_Type表示出发舱位等级, Total_Amount表示总价。4) Flight(FLT_No,Starting_Date,Starting_Time,Starting,Destination,Voyage_time,Num_FCSC,Num_OC,Num_TC,Adult_FCSC,Child_FCSC,Adult_OC,Child_OC,Adult_TC,Child_TC,discount,ACF,Fuel,Enabled)说明:FLT_No表示航班号,Starting_Date表示出发日期,Starting_Time表示出发时间,Starting表示出发地,Destination表示目的地,Voyage_time表示飞行时间,Num_FCSC表示头等舱座位数,Num_OC表示商务舱座位数,Num_TC表示经济舱座位数,Adult_FCSC表示头等舱成人票价,Child_FCSC表示头等舱儿童票价,Adult_OC表示商务舱成人票价,Child_OC表示商务舱儿童票价,Adult_TC表示经济舱承认票价,Child_TC表示经济舱儿童票价,discount表示折扣,ACF表示机场建设费,Fuel表示燃油费,Enabled表示是否启用。5) User_manager(Manager_ID,Manager_name,Manager_password,IsAdmin,Enabled)说明:Manager_ID表示管理员编号,Manager_name表示管理员名称,Manager_password表示管理员密码,IsAdmin表示是否是默认管理员,Enabled表示是否启用。4.1.3物理结构设计1) 表的建立(1) 用户登录信息表,它所有的属性和数据类型见下表:表4-1 用户登录信息表字段名称字段类型长度是否为空说明User_ID char12否主键、外键Namechar30否用户名Passwordchar15否密码Questionchar40否密码提示问题Answerchar40否密码答案(2) 用户详细信息表,它所有的属性和数据类型见下表:表4-2 用户详细信息表字段名称字段类型长度是否为空说明User_IDchar12否主键、外键Dnamechar40否姓名Sexchar2是性别BorthDate是出生日期IDchar20否证件类型IDCodechar30否证件号码FL_telchar12是固定电话Mailchar20否电子邮箱Addresschar40是地址Postcodechar6是邮编(3) 订单信息表,它所有的属性和数据类型见下表:表4-3订单信息表字段名称字段类型长度是否为空说明Order_IDchar15否订单号、主键User_IDchar12否用户编号、外键Dnamechar40否姓名IDchar20否证件类型IDCodechar30否证件编号Booking_DataDate否订票日期Ticket_TypeTime6否机票类型Starting_DataDate否出发日期Starting_TimeTime否出发时间S_FLT_Nochar6否出发航班号S_Cabin_TypeChar6否出发舱位等级Returning_DataDate是返回日期Returning_TimeTime是返回时间R_FLT_Nochar6是返回航班号R_Cabin_Typechar6是返回舱位等级Total_Amountint否总价(4) 航班信息表,它所有的属性和数据类型见下表:表4-4 航班信息表字段名称字段类型长度是否为空说明FLT_Nochar6否航班号,主键Starting_DateDate否出发日期Starting_TimeTime否出发时间Startingchar20否出发地Destinationchar20否目的地Voyage_timeFloat否航行时间Num_FCSCint否头等舱座位数Num_OCint否商务舱座位数续表4-5 航班信息表字段名称字段类型长度是否为空说明Num_TCint否经济舱座位数Adult_FCSCint否头等舱成人价Child_FCSCint否头等舱儿童价Adult_OCint否商务舱成人价Child_OCint否商务舱儿童价Adult_TCint否经济舱成人价Child_TCint否经济舱儿童价discountfloat否折扣ACFint否机场建设费Fuelint否燃油费Enabledint否是否启用(5) 管理员信息表,它所有的属性和数据类型见下表:表4-6 管理员信息表字段名称字段类型长度是否为空说明Manager_IDchar12否管理员编号、外键Manager_namechar20否管理员名称Manager_passwordchar15否管理员密码IsAdminint否是否为默认管理员Enabledint否是否启用2) 表之间的关系表与表之间的关系如下图:图4-6 表与表之间关系4.4运用设计4.4.1数据字典设计 数据字典的内容是随着数据流程图自顶向下地扩展而逐步充实的。在整个系统的开发过程中,包括系统交付运行使用后的维护阶段,一直在充实和修改这部数据字典,始终保持它的一致性和完整性。它是系统开发人员在各个阶段必不可少的依据。系统设计人员要根据它制定系统设计方案。程序设计人员在对系统进行修改或扩充功能时,必须以这部数据字典为依据,必要时要修改或充实它。 航空订票系统中数据字典的设计如下:表4-7 管理员信息表表4-8 用户注册信息表名称:用户注册信息描述:用户注册时需要的基本信息定义:用户基本信息=用户编号+用户名+用户密码+密码提示问题+密码答案位置:用户登录页面、用户注册页面表4-9 航班信息表名称:航班信息描述:航班的详细信息定义:航班信息=航班号+出发日期+出发时间+出发地+目的地+航行时间+ 头等舱座位数+商务舱座位数+经济舱座位数+头等舱成人价+头等舱 儿童价+商务舱成人价+商务舱儿童价+经济舱成人价+经济舱儿童价 +折扣+机场建设费+燃油费 位置:航班管理界面及用户航班查询界面表4-10 用户登录信息表名称:用户登录信息描述:用户登录时需要的基本信息定义:用户基本信息=用户编号+用户名+用户密码+密码提示问题+密码答案位置:用户登录页面、用户注册页面表4-11 订单信息表名称:订单信息描述:订单中包含的项定义:订单信息=订单号+姓名+证件编号+订票日期+机票类型+出发时间+出 发航班号+出发地点+到达时间+到达地点位置:航班预定界面及订单查询界面4.4.2安全保密设计在航空订票系统,用户只有登录后才能对数据库进行操作,而管理员根据拥有的权限可以对数据库进行相应权限的操作。且用户及管理员的密码都经过MD5加密后进行存储。第五章 详细设计及实现详细设计是软件开发过程中的重要阶段,在这个阶段的主要任务是对概要设计中产生的功能模块进行详细的设计及实现。5.1前台功能设计在前台功能中所有的用户都能查询航班、浏览公告、浏览广告,但只有登录的用户才能进行机票预定、订单查询、常用联系人管理等功能。具体流程如下图所示:图5-1航空订票系统前台功能流程图5.1.1用户登录用户可以凭借自己的用户名和密码进行登录。只有登录后的用户才能进行订单查询、预定机票、退票、改签、常用联系人管理、修改个人信息、修改密码的操作。用户登录的流程如下图所示:图5-2用户登录功能流程图用户登录详细步骤如下:1) 在本系统的主界面选择“登录”按钮;2) 在登录界面输入的登录信息,包括用户名、密码、验证码、用户类型(管理员、用户);3) 判断各输入项是否为空或不合法,若为空或不合法将提示“输入为空”或“输入不合法”;4) 判断验证码是否正确,若不正确,将提示“验证码”错误;5) 用MD5对用户的密码进行加密;6) 根据用户类型,从不同的表中查找用户名和密码是否与输入的一致,若一致,则登录到用户或管理员个人界面,否则在登录界面提示“密码错”。5.1.2用户注册用户只有注册以后才具有登录的用户名和密码,且每个用户具有唯一的用户名。用户注册时必须按照规则输入完整的注册信息,同时注册过的用户不能再次注册。用户的密码必须经过MD5加密后才能存储到数据库中。用户注册的流程如下图所示:图5-3用户注册功能流程图用户注册的详细步骤如下:1) 在本系统的主界面选择“注册”按钮;2) 在用户注册界面输入注册信息;3) 判断注册信息是否完整,若输入不完整则在用户注册界面提示“注册信息输入不完整”;4) 判断注册信息是否输入合法,若输入不合法则在用户注册界面提示“注册信息输入不合法”;5) 判断用户是否已经注册,若用