基于Web的航空机票售票管理信息系统.doc_第1页
基于Web的航空机票售票管理信息系统.doc_第2页
基于Web的航空机票售票管理信息系统.doc_第3页
基于Web的航空机票售票管理信息系统.doc_第4页
基于Web的航空机票售票管理信息系统.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

基于web的航空机票售票管理信息系统院 系计算机学院专 业班 级学 号姓 名指导教师负责教师沈阳2009年6月(论文)摘 要本文主要介绍了航空售票系统信息管理的设计和实现过程。首先叙述了开发该系统的背景、目的及意义。比较多的篇幅阐述了系统的需求分析、概要设计、详细设计以及功能的实现。本系统主要包括基本信息管理、业务处理、信息查询。基本信息管理包括售票员信息管理、乘客信息管理、航班信息管理、乘客保险信息管理、机票价格信息管理;业务处理包括机票销售、退票处理和销售结算,信息查询主要包括客户信息查询、航班信息查询、机票销售查询、退票信息查询。系统采用jsp和java开发;后台数据库采用mysql。面向对象可视化编程是本系统的最大特点,清晰的人机交互界面可以更方便的实现航空售票管理功能。经测试系统性能良好,人机界面比较友好,操作简便,有一定的使用价值。关键词:航空港信息管理;航班信息管理;售票管理;退票管理;保险信息管理;预订票管理abstractthe paper introduces the process of design and implementation on information management system which is concerning selling tickets in the airline company. first of all, this paper describes the background, purpose and significance of developing this system, and then explains system requirement analysis, outline design, detailed design and program achievement. this system includes the basic information management, transaction management and information query. basic information management includes the conductors information management, passengers information management, flights information management, passenger insurance information management and ticket price information management; transaction management includes selling airplane tickets, refunding airplane tickets and balancing sale; information query includes customer information query, flight information query, sold ticket information query, refunded ticket information query. jsp, java and mysql database were adopted in the process of developt this system. object-oriented visual programming is the special feature of this system, and implicit interface between machine and men could be more convenient for conductors when using. system tests show that the system has better performance, friendly interface, convenient operation, so it is to use at a certain extent.key words: management of airport information , management of flight information; management of sale tickets; management of return tickets; management of insurance information; management of book tickets.目 录1 绪论11.1 题目背景11.2 题目内容21.3 系统设计目标31.4 经济技术分析31.5 本文结构42 需求分析52.1 角色及其职能52.2 数据流图52.3 概念结构设计62.3.1 实体-联系(e-r)图62.3.2 各实体详细e-r图72.4 设计工具环境82.4.1 java语言82.4.2 eclipse开发平台92.4.3 mysql92.4.4 jsp93 概要设计123.1 总体结构设计123.2 数据库逻辑设计133.2.1 人员信息133.2.2 机票信息144 详细设计194.1 系统部分时序图194.2系统的流程设计204.3系统功能的详细实现224.4详细设计中关键技术的实现254.4.1数据库的连接264.4.2验证码的实现265 系统测试与调试285.1软件测试常识285.2系统功能测试计划285.3系统功能模块测试295.3.1管理人员模块的测试295.1.2乘客模块测试295.1.3售票员模块测试295.4调试中的问题29结论31参考文献32致 谢33331 绪论1.1 题目背景在当今社会, 随着经济的不断发展, 必然带动交通业和旅游业务的不断扩大, 特别是航空售票和订票的信息管理日异复杂, 传统的手工登记和集中管理已经难以满足快节奏、高效率的现代生活需求。这就需要在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的机票预定系统,实现航空公司的订票售票的自动化的计算机系统。航空售票管理系统是指应用计算机和网络通信设备以及应用软件进行电子售票的信息管理系统,它可以进行信息收集、存储、处理、提取和数据通信,能满足用户对信息的使用需求的计算机应用软件系统。现在社会对数据库系统的认识不够,绝大部分基层人员还只认为信息化可以简化工作程序,降低劳动强度,提高工作效率。对航空信息化能带来航空服务手段的重大变革,航空科技的发展等重大意义尚无认识。航空售票信息管理系统是航空公司的重要的管理工作之一。售票管理是指管理者通过一定的管理手段,使乘客(用户)能更加了解自己在买票时涉及到的相关费用。航空售票管理信息系统包括航空港信息、乘客保险信息、售票以及退票等业务的管理以及相关的统计图形显示,其中不同权限的人可以进行不同的操作,管理员对该系统进行综合的管理。目前,计算机技术和产品的发展日新月异,将会给信息处理带来更多的手段,同时也会带来更加丰富的信息表达形式。随着经济的不断发展,航空售票和订票的信息管理日异复杂。过去传统的售票已经不能满足现代航空业务流量剧增的客观要求,所以急需开发“航空售票管理系统”。下面介绍开发本软件的重要意义。(1)航空售票管理系统,应用于所有航空售票处的客户资料和送票情况管理,能对客户累计购票情况进行统计分析,具有自动编号、快速查询、客户购票统计、售票管理、密码设置等功能,能根据任意身份证号快速定位到某一客户,并录入购票明细情况。能打印各种客户资料报表,具有较强的可扩充性。经过运行使用后,效果良好。通过使用该软件,有利于提高工作效率,加强与客户之间的沟通和了解,增强客户的信任感,从而达到提高机票销售的效率。(2)数据库是数据管理的最新技术,是计算机科学的重要分支。今天,信息资源已成为各个部门的重要财富,建立一个满足航空售票信息处理要求的行之有效的信息系统也成为一个航空公司发展的重要条件。航空售票管理系统,它是航空部门机票管理系统的一部分,其作用是对所有待售机票和已售机票进行有效的管理。通过本系统不仅可以进行售票工作,而且还可以对旅客情况和航班情况进行查询,并可随时进行增加,修改,删除等操作,使管理人员能够有效地对机票进行有效的管理。因此,通过航空售票管理系统,使航空售票管理工作系统化,规范化,自动化,从而大大提高了售票管理工作的效率。(3)民航售票系统实施的目的是要带给旅客快捷方便的服务,其开发过程中不仅要考虑到人力,资金和时间的约束,也要为旅客们提供更便捷的服务。在设计中,重点是售票系统中的方便快捷,能提供给旅客以优质高效的服务,并提高销售的效率和便捷,为航空公司带来良好的效益。为企业的决策层提供准确、精细、迅速的机票销售信息。1.2 题目内容随着信息技术的发展,航空售票业也成为一个高度依赖信息业的行业。信息技术的飞速发展不仅使航空售票工作者逐渐摆脱了繁重的手工劳动、提高了工作效率,而且推着航空事业向现代化管理迈进。现代化的航空售票也应该有现代化的管理系统。在科技日益发达的今天,人们对旅游出行更加重视。因此,航空售票进行现代化管理就变的尤为重要。毕业设计的主要任务就是设计实现一个航空售票信息管理系统,完成对航空公司的正常售票等业务的管理。具体任务如下:(1)主要航空港基本信息管理;(2)主要民航航线基本信息管理;(3)售票信息管理;(4)预定票信息管理;(5)退票信息管理;(6)飞机票价格(包括打折)管理;(7)乘客保险信息管理;(8)上述信息的统计及图形显示。1.3 系统设计目标此次毕业设计的主要任务就是设计实现一个航空售票信息管理系统,其中包括管理员对基本信息的管理,系统可实现对所有信息的添加、删除、修改功能,售票员可以根据乘客的要求进行售票和退票,乘客可以通过网上预订自己所要的票,并且可以查询自己预订票信息以及个人保险信息,管理员具有最高权限,可以对所有信息进行增删改查,售票员除了具有售票和退票权限外还具有查看所有信息权限。通过设计这个系统可以极大地提高售票效率和方便性,也可以极大地减少成本,不仅节省了大量的人力、物力、财力,也为历史数据的查询及使用提供了便捷。为航空公司更好的、更有效的正常售票提供了方便条件。1.4 经济技术分析(1)经济可行性航空售票信息管理系统是整个航空管理系统中的一个子系统,是根据各部分管理的功能开发的。从任务量上来说最好由多人开发,虽然不需要投入太多的人力、物力、财力,但是这样可以保障功能的完善,质量的提高。如果航空公司没有一个规范严谨的售票信息管理系统,那么在面对众多乘客订票管理方面所需要消耗的人力是巨大的。仅乘客保险信息一项,就需要对乘客身份证号、保险类型、保险费、保险金额等许多数据进行枯燥的管理,很容易出错。尤其在类似于沈阳这样的人员众多的城市,数据量大的特点更是十分明显。工作量大、效率低下是航空售票信息管理长期以来的诟病。而通过计算机管理航空售票不仅节约了人力资源,而且提高了效率与准确性,使效益在质量上有了很大的飞跃。所以,从经济角度上来说是完全可行的。(2)技术可行性此系统应用jsp技术作为开发工具。java语言具有面向对象、与平台无关、安全、稳定和多线程等优良特性,是目前软件设计中极为健壮的编程语言。jsp技术还拥有很多的优势,一次编写到处运行,系统的多平台支持,多样化和功能强大的开发工具支持,强大的可伸缩性。系统后台数据库采用mysql。所以,从技术角度上来说是完全可行的。1.5 本文结构此论文共分为绪论、需求分析、概要设计、详细设计和系统测试几个章节。在需求分析与概要设计章节中共分为用户需求分析、角色及其功能、数据流图、e-r图、模块图和设计环境及工具的介绍等几部分。本论文的重点之一将以用户的需求分析为主,从用户的角度出发使系统的功能与用户的要求达成一致。这需要全面地理解用户的各项要求,准确地表达用户需求,设计出系统的各项功能以解决“做什么”的问题。同时通过时序图、er图、模块图等,更为详细的说明此系统的功能和此系统的设计思路。在本章节的最后还将说明本系统所使用的工具和设计环境,并简略的叙述其相关情况。在详细设计章节中共分为数据库结构设计、程序流程图等几部分。本章节是此论文的另一重点,在此章节中将详细的对本系统进行介绍。数据库的结构设计是本次毕设的一个重要环节,设计出正确的数据库结构有助于准确的叙述出各个实体之间的关系,进而实现系统的各项功能。在本章还将通过程序流程图给出设计程序的基本思路,同时设计出准确、高效的程序代码。在系统测试章节中共分为测试环境、测试结果、测试工具和测试界面等几部分。在此章节将对此系统的具体功能、运行情况等进行测试。通过此章节完成对系统的最后检测找出不足并加以完善。2 需求分析2.1 角色及其职能本系统的角色是乘客、售票员和管理员。售票员除了具有售票和退票的操作权限外还有查询所有信息的权限,管理人员具有对任何信息进行增加,删除、修改和查询的操作,可以查询统计信息。乘客可以通过登录后查询和修改与自己有关的信息。2.2 数据流图经过初步的需求分析,得到系统的主要功能要求如下:(1) 乘客查询自己的保险信息和订票信息;售票员售票和退票以及查询相关信息;管理人员可以对各项信息进行增加、删除、修改、查询操作。根据分析得到的系统功能要求,设计出航空售票信息管理系统的数据流图,如图2.1所示。航空售票信息管理系统管理员旅客管理员旅客保险信息、售票信息、退票信息、价格信息、预订票信息、航空港信息、航班信息、客机信息、机票信息查询与管理查询结果结果 图2.1航空售票管理信息系统的数据流图2.3 概念结构设计2.3.1 实体-联系(e-r)图概念模型的表示方法很多,其中最为著名最为常用的是实体-联系方法(e-r图)。实体-关系图方法是抽象和描述现实世界的有力工具。用e-r图表示的概念模型独立于具体的dbms所支持的数据模型,它是各种数据模型的共同基础,因而比数据模型更一般、更抽象、更接近现实世界。系统e-r图如图2.2所示。 图2.2系统的e-r图2.3.2 各实体详细e-r图航 班航班号发出城市起飞时间到达城市始发日期座位总数客机编号剩余座位飞行距离图2.3航班的e-r图 机票编号始发城市终到城市始发时间航班编号仓位类型机票价格座位编号机票 图2.4机票的e-r图身份证号乘客姓名乘客性别联系电话乘客类型具体住址航班编号飞机编号乘客飞机类型座位数量所属机场飞机 图2.5乘客和飞机的e-r图机场编号客机数量机场类型机场位置机场性质备注公司名称公司编号机场信誉度所在城市备注航空公司 图2.6机场和航空公司的e-r图实体的属性如下所示:机票(编号(key)、始发城市、终到城市、仓位类型、始发日期、始发时间、航班编号、座位号、机票价格);航班(编号(key)、始发城市、终到城市、始发日期、始发时间、客机编号、头等舱价格、公务舱价格、经济舱价格、剩余座位、座位总数、飞行距离);乘客(乘客id(key)、姓名、性别、联系方式、联系地址、乘客类型);飞机(编号(key)、客机类型、所属航班、头等舱座位数、经济舱座位数、公务舱座位数、所属机场);订票(机票编号(key)、乘客姓名、乘客类型、折扣比例、乘客id、仓位类型、航班编号、始发城市、终到城市、始发日期、机票价格、保险类型);航空公司(公司编号(key)、公司名称、信誉度、所在城市、备注);机场(编号(key)、名称、客机数量、机场位置、机场性质);退票(机票编号、乘客id、姓名、机票类型、机票日期、应退金额);机票价格(编号(key)、客运季节、普通乘客折扣、会员折扣比例)。2.4 设计工具环境2.4.1 java语言 java语言是1995年由sun公司开发的编程语言,它的出现是源于对独立平台语言的需要。java语言是目前使用最为广泛的编程语言之一,它具有简单、面向对象、稳定、与平台无关、多线程、动态等特点。2.4.2 eclipse开发平台eclipse 是基于java的、开放源代码的可扩展开发平台,它最初由ibm公司投入巨资开发,后来被捐赠给国际开放源代码团体。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,eclipse附带了一个标准的插件集,包括了java开发工具(java development tools,jdt)。虽然大多数用户很乐于将eclipse当作java ide 来用,但eclipse的目标不仅限于此。eclipse还包括插件开发环境(plug-in development environment,pde),这个组件主要针对希望扩展eclipse的软件开发人员,因为它允许开发人员构建与eclipse环境无缝集成工具。eclipse可以集成不同的软件工具开发供应商的产品,任何开发工具厂商都可以将他们的开发工具或组件加入到eclipse 平台,用户可以通过相同的接口使用不同的工具。也就是说,可以在同一集成环境中同时使用不同开发商开发的软件工具。由于eclipse具有这种整和不同工具的特性,开发者可以综合性能调节、监测、调试等处理,从而可以在较短的时间内开发出更高性能和质量的应用软件。因此,eclipse 平台不仅得到了许多开发者和新兴的中小企业软件公司的支持而且得到ibm、sun、oracle等大型软件公司的支持。2.4.3 mysqlmysql是一个精巧的sql 数据库管理系统,以操作简便著称。由于其强大的功能、丰富的应用编程接口以及精巧的系统结构设计,在基于数据库的应用软件开发中得到了广泛的应用。mysql 是客户机/服务器模式的分布式系统,由sql服务器、客户端、管理工具和应用编程接口等组成。它平台无关性的优点使其能在多个操作系统上运行。此外,mysql 还是多线程的,不仅具有运行速度快,可处理大批量数据等特点,还支持多cpu使用。2.4.4 jsp系统用jsp技术作为开发工具。jsp(javaserver pages)是由sun microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。jsp技术有点类似asp技术,它是在传统的网页html文件(*.htm,*.html)中插入java程序段(scriptlet)和jsp标记(tag),从而形成jsp文件(*.jsp)。用jsp开发的web应用是跨平台的,即能在linux下运行,也能在其他操作系统上运行。 jsp技术使用java编程语言编写类xml的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。jsp将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于web的应用程序的开发变得迅速和容易。 web服务器在遇到访问jsp网页的请求时,首先执行其中的程序段,然后将执行结果连同jsp文件中的html代码一起返回给客户。插入的java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。jsp与java servlet一样,是在服务器端执行的,通常返回该客户端的就是一个html文本,因此客户端只要有浏览器就能浏览。 jsp页面由html代码和嵌入其中的java代码所组成。服务器在页面被客户端请求以后对这些java代码进行处理,然后将生成的html页面返回给客户端的浏览器。java servlet 是jsp的技术基础,而且大型的web应用程序的开发需要java servlet和jsp配合才能完成。jsp具备了java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 1 jsp技术的优势 (1)jsp的效率和安全性更高。jsp在执行之前先被编译成字节码,字节码由java虚拟机解释执行,比源码解释的效率高;服务器还有字节码的cacher(缓存)机制,能提高字节码的访问效率。第一次调用jsp网页速度可能稍慢,因为它被编译成缓存内容,以后就快的多了。 (2)jsp组件方式更方便。绝大多数jsp页面依赖于可重用的、跨平台的组件来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使用这些组件为更多的使用者或者客户所使用。基于组件的方法加速了总体开发过程,并且使用各种组织在他们现有的技能和优化结果的开发努力中得到平衡。 (3)jsp适应平台更广。几乎所有平台都支持java,jsp+javabean可以在所有平台下畅通无阻。从一个平台移植到另一个平台,jsp和javabean甚至不用重新编译,因为java字节码都是标准的与平台无关的。(4)简单标识简化页面开发。web页面开发人员不一定都是熟悉脚本语言的编程人员。jsp技术封装了许多功能,这些功能是在易用的、与jsp相关的xml标识中进行动态内容生成所需要的。标准的jsp标识能够访问和实例化javabean组件,设置或者检索组件属性,下载applet以及执行使用其他方法更难于编码和耗时的功能。3 概要设计3.1 总体结构设计航空售票管理信息系统共分为航空港基本信息管理、民航航线基本信息管理、售票信息管理、预定票信息管理、退票信息管理、飞机票价格(包括打折)管理、乘客保险信息管理和统计信息及图形显示几个模块。其中管理员有添加、删除、修改权限。具体功能模块如图3.1所示。 图3.1总体模块图3.2 数据库逻辑设计数据库是系统的后台部分,用来存储信息以供前台调用和输出。数据库设计的是否合理将直接影响到系统的稳定性、安全性及可维护性,同时也会影响到后期的编码。在进行了需求分析和概要设计后,接下来将详细介绍系统中各部分信息的存储结构。3.2.1 人员信息人员信息包括乘客信息表、售票人员信息表、管理员信息表;具体表格如表3.1,表3.2,表3.3所示。表 3.1管理人员信息表属性名数据类型长度允许空字段描述manager_idvarchar10管理员编号namevarchar15姓名passwordvarchar10密码*注:管理人员信息表主要存储系统管理人的相关信息,用于管理员登录系统时验证身份,登录系统后,可以修改数据库的任何信息。主键:manager_id。 表 3.2售票员信息表属性名数据类型长度允许空字段描述salemen_idvarchar10售票员号passwordvarchar10密码salemen_namevarchar15姓名*注:售票员信息表主要存储航空公司所有售票员的相关信息,用于系统管理员登录系统时验证身份,登录系统后,可以进行售票和退票以及查询操作。主键:salemen _id。表 3.3 乘客信息表属性名数据类型长度允许空字段描述cust_idvarchar10乘客编号customeridvarchar18身份证号cust_namevarchar15姓名sexvarchar2性别cust_typevarchar12乘客类型 cust_telvarchar15联系方式passwordvarchar10密码*注:乘客信息表主要是对乘客信息的存储,添加乘客信息存入该表,乘客用户登录时验证输入信息是否正确,删除和修改乘客信息时即删除和修改该表中对应的相关信息。主键:cust_id 。3.2.2 机票信息机票信息包括订票信息表、乘客保险信息表、机票信息表、航班信息表、客机信息表、航空港信息表、保险信息表和机票价格信息表,这些机票信息表用来存放与机票相关的所用操作信息如表3.4,表3.5,表3.6,表3.7,表3.8,表3.9,表3.10,表3.11所示。 表3.4客机信息表属性名数据类型长度允许空字段描述planenovarchar10客机编号airlinenovarchar15航班项目planetypevarchar8客机类型commonnuminteger8经济舱座位数commercialnuminteger8公务舱座位数firstnuminteger8头等舱座位数 suoshuflyvarchar15所属航空港 descriptionvarchar30备注*注:客机信息表中存储了每架客机的详细信息,登录系统后可以查询该表中的相关信息。为管理人员统计客机数据提供信息。主键:planeno。表3.5订票信息表属性名数据类型长度允许空字段描述ticketnovarchar10机票编号customernamevarchar10乘客姓名customertypevarchar15乘客类型discountinteger8折扣比例airlinenovarchar10航班编号departcityvarchar10始发城市arrivalcityvarchar10到达城市ticketdatedate10机票日期servicetypevarchar15仓位类型ticketpriceinteger8机票价格safetypevarchar10保险类型*注:订票信息表中记录了乘客订票的信息,每有一位乘客订票,就在该表中插入一条信息,为管理员统计数据提供信息。主键:ticketno。 表 3.6航空港信息表属性名数据类型长度允许空字段描述hangkong_idvarchar10航空港编号hangkong_namevarchar15航空港名称planenuminteger8飞机数量positionvarchar12具体位置applicationvarchar12航空港性质 xinyuduvarchar10信誉度 descriptionvarchar30备注*注:航空港信息表中记录了沈阳各个航空港的基本信息,每一个新增加的航空港信息都会添加到这里,为管理员查询信息提供信息,管理员可以对表进行添加、删除、修改和查询等操作。主键:hangkong_id。表3.7航班信息表属性名数据类型长度允许空字段描述airlinenovarchar10航班编号departcityvarchar10始发城市arrivalcityvarchar15到达城市departdatedate15始发日期daparttimevarchar12始发时间 arrivaltimevarchar15到达时间 planenovarchar10客机编号 commonpriceinteger4经济舱价格 commercialpriceinteger4公务舱价格 firstpriceinteger4头等舱价格distanceinteger8飞行距离ticketnuminteger4已订票数量 maxpassagernuminteger 4最大乘客人数*注:航班信息表中存储了所有航班的相关信息,管理员可以对该表的信息进行增删改查等操作,其他人员只有查询权限。主键:airlineno。 表3.8 乘客保险信息表属性名数据类型长度允许空字段描述safeidvarchar10保险编号customeridvarchar18乘客身份证号customernamevarchar10乘客姓名safemoneyinteger4保险费safetimevarchar10保险期限safepeiinteger8保险金额safetypevarchar15保险类型*注:乘客保险信息表中存储了乘客买航空保险的信息,乘客在订票的同时如果选择了买保险会把此信息插入进来。乘客可以通过身份证号查询自己的保险信息。主键:safeid。 表3.9飞机票价格信息表属性名数据类型长度允许空字段描述price_idvarchar10编号seasontypevarchar 10客运季节vipdiscountinteger4vip折扣commondiscountinteger4普通乘客折扣descriptionvarchar30备注*注:该表中存储各个客运季节不同类型的乘客将享受不同的折扣优惠信息,由管理员对该表进行添加,修改和删除,售票人员和乘客可以对飞机票价格信息进行相关查询。主键:price_id。 表3.10 机票信息表属性名数据类型长度允许空字段描述ticketnovarchar10航班编号departcityvarchar10始发城市arrivalcityvarchar10到达城市departdatedate10始发日期departtimevarchar10始发时间 airlinenovarchar10航班编号 servicetypevarchar10仓位类型 sitenointeger8座位号 ticketpriceinteger8机票价格 ticketnuminteger8机票数量 descriptionvarchar30备注*注:该表中存储了所有机票的详细信息,由管理员对该表进行添加,修改和删除,乘客和售票员可以对该信息进行相关查询。主键:ticketno。表3.11 保险信息表属性名数据类型长度允许空字段描述safeidvarchar10编号safetypevarchar15保险类型safemoneyinteger8保险费safetimevarchar15保险期限safepeiinteger 8保险金额 descriptionvarchar30备注*注:该表中存储航空公司为乘客指定的保险详细信息,由管理人员对该表进行添加,修改和删除,售票员和乘客可以对保险信息进行相关查询。主键:safeid。4 详细设计 4.1 系统部分时序图时序图是通过表示随着时间的推移所发送的消息序列,来体现对象之间的动态协作关系,它主要是为了表示对象之间的交互过程,即对象之间发送消息的顺序,以及引起的一系列事件。图4.1登录人员登录系统时序图图4.1为登录人员登录系统主界面的时序图,登录人员先在系统的登录界面输入登陆信息,系统对登录信息进行判断,信息不正确则返回错误提示,信息正确便可进入操作者所属权限下要执行的操作。该系统设定了三种登录人员,即售票员、管理员和乘客,并为他们设定了各自的访问权限。1:选择菜单7:显示改后信息6:保存新信息息5:填写修改信息4:显示界面3:选择2:列出菜单管理人员newticketsmainmenu1menuumenutickets图4.2管理人员对信息进行操作的时序图图4.2为登录人员登录系统后进行各种操作的时序图,登录人员进入操作界面先在操作界面选择何种操作,更正后的信息会保存在数据库里。例如,选择的是修改信息就会将更新后的信息显示在页面上。4.2系统的流程设计系统的流程设计对系统的编码起着至关重要的地位,根据系统的功能要求,做出几个重要的功能的流程图。(1)用户登录模块为了安全性,进入本系统需要(包括“管理员“和“售票员”)身份验证,只有用户通过帐号与密码一致性的验证,才能进入系统。登录情况有三种:一是帐号与密码一致,二是帐号不存在,三是密码不正确,每一种情况系统都会有提示。另外,用户也可以选择取消登录。当输入帐号时,系统会自动搜索数据库(使用select函数)辨别此用户是“管理员“还是“售票员”,并且显示出来,倘若是管理员,那么在用户管理模块中可以修改用户密码以及增加新一般用户,否则只能修改密码。设计出的登录流程图如图4.3所示。 结束图4.3系统登录流程图(2)售票模块该流程详细描述售票员售票功能,当用户发出订票请求后,系统搜索数据库中相应的机票信息,如果没找到则该机票已经售完。如果找到相应的机票信息,系统会将相关机票售予该用户。设计出的售票流程图如图4.4所示。图4.4售票流程图4.3系统功能的详细实现下面介绍系统的详细功能设计。(1) 用户登录系统登录界面如图4.5所示。在这里设置了一个图片验证码,可以更好的保护用户的信息。当用户输入正确的用户账号和密码以及验证码时,系统会跳转到另一个界面,也就是主窗口。若用户名密码不正确,系统将给出提示:“您输入的用户名和密码不正确,请您重新输入”,然后继续重新输入。图4.5用户登录界面(2) 管理员主界面 用户登录后,根据登录的帐号进行判断:若是admin(管理员),则可以对系统中的所有信息进行增加、删除、修改和查询等操作,如图4.6所示。图4.7所示的是管理员对航班信息的管理。图4.6主界面(管理员)(3) 售票员售票用户登录后,根据登录的帐号进行判断:若是salemen(售票员),则可以进行售票和退票以及查询机票信息等操作,图4.8所示售票员根据乘客请求输入机票的查询条件,从数据库中找到相应的机票,当售票员点售票时,将弹出如图4.9所示的界面,提示输入乘客的个人信息以及一些订票相关选项,乘客信息输入完成点提交信息时,会显示售票成功。 图4.7查询航班(管理员) 图4.8 查询机票(售票员)(4) 售票员退票当乘客需要退票时,首先提供给售票员自己机票的编号,售票员根据机票编号从数据库查到关于此票的订票信息如图4.10所示,当点退票时,数据库中该票的信息会立刻更新,同时该类机票的数量也会加一,以便及时将此票售予下位乘客。在退还票价时,要扣掉机票价格20%的手续费,如图4.11所示。(5) 乘客预订机票 乘客如需预定机票,可以直接通过互联网在网上预订机票,预定机票过程类似于售票过程,不同的是预定机票不需要在预定时付钱,一旦该票被预定了就不能被售出,如果乘客有什么特殊情况也可以上网取消预订,乘客可以在网上注册成为我公司的会员用户,可以享受更超值的订票优惠。 图4.9 输入乘客信息(售票员) 图4.10退票界面(售票员) 图4.11 退票金额(售票员)4.4详细设计中关键技术的实现以下主要介绍主要功能的关键技术的实现过程。4.4.1数据库的连接数据库连接的建立及关闭对系统而言是耗费系统资源的操作。在多层结构应用程序环境中,这种耗费资源的动作对系统性能的影响很大。在传统的数据库连接方式中,一个数据库连接对象均对应一个逻辑数据库连接,每次操作都打开一个逻辑连接,使用完后再关闭连接,这样的反复操作将造成系统性能的急剧下降。数据库连接池是应用程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对池中的连接进行申请、使用和释放,当连接的数量大于连接池中的连接数时,可以动态地根据情况增加或减少池中的连接数。用jdbc(java database connectivity)连接mysql数据库需要经过下面几个步骤:(1)(2)载入jdbc驱动:class.forname(org.gjt.mm.mysql.driver);(3) 建立与数据库的连接:要建立与数据库的连接,首先要创建指定数据库的url。利用drivermanager的getconnection方法连接数据库的url对象,url格式如下:stringurl=(jdbc:mysql:/localhost:3306/my database?user=root&password=esoft&useunicode=true&characterencoding=gb2312”); (4) 调用执行hql语句。(5) 结束连接。4.4.2验证码的实现为防止用户利用机器自动登录以及灌水,故而采用了验证码技术。所谓验证码,就是将一串随机产生的数字或符号生成一幅图片,图片里加一些干扰元素(防止ocr),由用户肉眼识别其中的验证码信息并输入表单,再提交给网站验证,验证成功后才能使用某项功能。验证码的实现流程是:(1)服务器端随机生成验证码字符串,保存在内存中,并写入图片发送给浏览器端显示。(2)浏览器端输入验证码图片上的字符,然后提交服务器端,提交的字符与服务器端保存的字符进行比较,若一致就继续,若不一致就显示错误,不能进入操作的主界面。攻击者编写的robot程序很难识别验证码字符,所以不能顺利完成登录以及其它操作。用户可以识别填写,这就实现了阻挡攻击的作用。就实际的效果来说,验证码只是增加攻击者的难度,而不可能完全的防止。5 系统测试与调试当程序完成时,对程序的测试必不可少,为使程序有效运行,测试与调试是唯一的手段,测试的目的是为了发现尽可能多的缺陷。这里的缺陷是一种泛称,它可以指功能的错误,也可以指性能低下、易用性差等。5.1软件测试常识软件测试过程按测试的先后次序可分为4个步骤进行:单元测试、集成测试、确认测试和系统测试,最后进行验收测试。单元测试:分别完成每个单元的测试任务,以确保每个模块能正常工作。单元测试大量的采用了白盒测试方法尽可能发现模块内部的程序差错。集成测试:把已测试过的模块组装起来,进行集成测试。其目的在于检验与软件设计相关的程序结构问题。这是较多的采用黑盒测试方法来设计测试用例。确认测试:完成集成测试以后,要对开发工作初期制定的确认准则进行检验。确认测试是检验所开发的软件能否满足所有功能需求的最后手段,通常采用黑盒测试的方法。系统测试:完成确认测试以后,给出的应该是合格的软件产品,但为检验它能否与系统的其它部分(如硬件、数据库及操作人员)协调工作,需要进行系统测试。验收测试:检验软件产品质量的最后一道工序是验收测试,它突出了客户的作用,同时软件开发人员也应有一定程度的参与。鉴于程序自身的特点做了单元测试和集成测试。5.2系统功能测试计划软件测试并不单纯等同于程序测试。软件测试应该贯穿整个软件定义与整个开发周期。因此需求分析、概要设计、详细设计以及程序编码等各个阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应该是软件测试的对象。在对需求理解与表达的正确性、设计与表达的正确性、实现的正确性以及运行的正确性的验证中,任何一个环节发生了问题都可能在软件测试中表现出来。在这部分中,为了确保每个阶段功能的实现,在系统完成后,每个分支都走了一遍,也有发现的问题,但经过改正和查阅资料都解决了。5.3系统功能模块测试5.3.1管理人员模块的测试管理员进入系统主界面后,可以点击添加信息,在弹出的下一个页面中选择要添加哪一类信息,在弹出的信息表中键入相应的数据,点击确定按钮,系统将对输入信息进行判定,判断输入是否为空及输入信息类型是否符合要求,如果正确系统将返回操作成功提示界面,否则返回错误提示信息。例如:输入信息点击确定按钮返回操作成功提示后,查询该表在数据库中的信息,如果表中存在添加信息,就表明测试成功。5.1.2乘客模块测试乘客用户进入自己所有权限的操作界面后,点击要查询的项目,在弹出请输入身份证号码后就可以查询到自己的相关信息。若该项目没有记录则输出为空。 例如,要查询自己预订机票的情况,就要点击个人预订信息查询输入身份证号和密码就显示出自己所有预订机票的相关信息,这样就表明测试成功。5.1.3售票员模块测试

温馨提示

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

评论

0/150

提交评论