资源描述
word课程设计说明书(数据库系统)题目: 在线机票预订系统的设计与实现院 系:计算机与工程学院专业班级: 计算机09-5班 学 号: 2009302935 学生: 夏维强 指导教师: 金 伟 2010 年 12 月 20 日 35 / 38理工大学课程设计(论文)任务书 计算机科学与工程 学院 计算机科学与技术系学 号2009302935学生夏维强专业(班级)计算机09-5班设计题目在线机票预订系统的设计与实现设计技术参数采用B/S构架,用Oracle作为数据库管理系统,项目采用JSP开发主界面。JSP突破静态网页的一些功能限制,实现动态网页技术,通过使用JavaScript脚本语言,结合HTML语言,通过站点服务器执行脚本语言,产生或更改在客户端执行的脚本语言。通过使用Java语言制作ActiveX Server ponent来扩充系统功能,实现了用户注册、飞机票的查询、预订等功能。设计要求主要完成数据库的设计部分,包括需求分析,概念结构设计,逻辑结构设计,物理结构设计,并对关系模式进行分析,最后用自己熟悉的开发工具连接数据库,实现基本的对数据库的操作。工作量系统需要撰写的分析及源代码文档大约30页纸左右工作计划11月9-10 需求分析11月11 系统总体框架设计的讨论11月12-19 编写工程代码11月20 数据库web应用系统的试运行,撰写实验总结参考资料1一林,波.Java数据库编程实例. 清华大学,2002年8月:30-2102卫琴,洪成.Tomcat 与 Java Web 开发技术详解.电子工业,2003年6月:1-2053萨师煊,王珊.数据库系统概论.高等教育,2002年2月:34604耿祥义,跃平.JSP实用教程. 清华大学,2003年5月1日:1-3545Lee Anne Phillips.巧学活用HTML4.电子工业,2004年8月:1-319 指导教师签字金伟系主任签字2010年 11 月 20 日 指导教师评语:成绩:指导教师:年 月 日理工大学课程设计(论文)成绩评定表指导教师评语:成绩:指导教师:摘 要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型科学,任何一个单位要生存要发展,要高效率地把部活动有机地组织起来,就必须建立起和自身特点相适应的管理信息管理系统。本文从软件的需求分析记忆软件功能,功能需求以及数据需求和设计概要等几方面阐述了系统的研究背景和形式,剖析了系统的部构造以及操作方法。使得系统的功能和价值够完全的体现出来。采用Eclipse作为开发工具,以Oracle做数据后台,开发出来的网上机票预订管理系统。整个系统从符合操作简便,界面友好,灵活,实用,安全的要求出发,完成了网上机票预定的全过程,包括机票信息管理,客户信息管理,航线信息管理,系统管理等管理工作。论文主要介绍了本课题的开发背景所要完成的功能和开发过程。重点说了系统的设计的重点设计思想和系统的详细设计。关键词机票预订; 机票管理;航班信息管理目 录摘 要I第一章 系统需求分析1.1系统开发背景 3软件主要组成及功能 31.3用户特点以及一般约束 4第二章 系统结构设计 2.1用户注册的DFD图 5 2.2用户订票的DFD图 6 2.3退票的DFD图 7 2.4机票信息查询的DFD图 7第三章 开发平台设计 3.1系统技术 8 3.2性能需求 83.3开发平台 8第四章 数据库设计 4.1管理员信息E-R图 8 4.2客机信息E-R图 84.3航班信息E-R图 84.4客户信息E-R图 84.5预订信息E-R图 84.6实体之间关系的E-R图 8第五章 系统的实现 5.1总体设计(系统总流程图) 15161718192021结论 24参考资料25致25第1章第2章 附录1详细代码的实现 22第3章 附录1详细代码的实现 22第4章 附录1详细代码的实现 22附录一(数据库) 30附录二 (hibernate.cfg.xml)30附录三 (struts-config.xml)30附录四 (validation.xml) 30附录五 (核心代码) 30第1章 系统需求分析11 系统定义机票预订是向广大用户提供各大航空公司机票预订服务和交易的方式。用户可以通过注册本系统使用系统机票预订功能获得机票预订服务,预订国机票。机票预订可以根据您的需求准确快速的预订到您想要乘坐的航班;在机票预订之前用户可以实时对您所需要的航班查询;系统会根据您的航班查询条件显示航班信息,查询完成后,您就可以对满意的航班进行机票预订。12 系统开发背景当今世界,以信息技术为主要标志的科技进步日新月异,高科技成果向现实生产力的转化越来越快。纵观全球经济发展,信息技术和信息产业已经成为经济增长的主要推动力之一,正在改变着传统的生产和经营方式以至生活方式,发达国家经过产业结构的升级和经济结构的转型已进入信息经济阶段。信息资源已经成为国民经济和社会发展的战略资源,信息化水平也已成为现代水平和综合国力的重要标志。中共十七届五中全会通过的国民经济和社会发展第十个五年计划建议中已明确指出:“信息化是当今世界经济和社会发展的大趋势,也是我国产业优化升级和实现工业化、现代化的关键环节。大力推进国民经济和社会信息化,是覆盖现代化建设全局的战略举措。可见,党和国家已将国民经济和社会信息化放在优先发展位置,体现了先进生产力的客观要求,是一项重要的战略决策。这是民航加快发展的机遇,更是民航信息化的难得机遇。着知识经济的到来,人类已经逐步进入信息化社会,信息增长的速度越来越快,人们希望利用先进的管理理论方法手段来得到并处理越来越多的信息,以提高工作效率和管理水平。由于信息资源对人们生活的重要性,不断提高信息的收集,传输,加以利用等活动,日益成为人们社会生活的重要组成部分。网上机票预订管理系统的产生和发展正好满足人们的这种需求。现在将详细介绍我的毕业设计网上机票预订管理系统。13 系统组件及功能1.3.1 新用户注册l 新用户可以注册,注册时输入用户名可以查询用户可不可用,可用就可以注册,注册时可以判断用户输入的密码和验证密码是否相同,相同才给以注册,如果满意可以点注册,注册成功后用户可以选择不用在回到登陆界面,可以直接陆到用户主界面,以后就可以用这个用户登录了,如果不满意,点取消,所有信息清空,重新输入(注:为方便测试,本系统的测试版注册功能做有管理用户)。 1.3.2 用户登录l 验证登陆名密码,正确进入主菜单,根据登录时所选的登录方式(客户、管理员)的不同分别对用户设定不同的访问权限(如果是输入的客户用户名和密码正确,选择以客户方式登陆则主界面里面的管理员界面不能用,如果输入的是管理员的相应用户密码正确,以管理员的方式登陆则管理员界面可用)不正确则清空登录框。1.3.3 用户订票l 主窗体的订票界面,你可以点击你想查询的有关机票的信息的按钮,获得相关信息的表,根据表的容,你可以在下面的下拉框中选择你要定的票信息,点确定后在下面会显示你的机票的相关容,如果满意可以点击订票,把相关信息添加到机票数据库表中,如果不满意,可以点重置,所有信息清空,再重新选择。如果确定订票,将会弹出一个订票的窗口,确认你预订机票的类型和数量。1.3.4 用户检索l 主窗体的用户检索界面,用户点击个人查询按钮,可以把自己的个人预订显示到界面上,查询个人的订票记录,还可以根据起点站到终点站的关系对所有航班进行模糊查询。1.3.5 用户退票l 退票窗口,用户可以根据用户信息表中的我的机票信息查询,找出机票号,在输入到机票号查询里,点击查询获得你的机票信息以及价格显示,点击退票则在数据库机票信息表中删除本条信息。1.3.6 管理员客机信息的操作l 管理员对客机信息的添加、修改、删除和查询,包括客机编号、客机型号、经济舱座位数量、商务舱座位数量以及备注信息等。1.3.7 管理员对用户信息的操作l 管理员对用户技能型添加、修改、删除和查询。1.3.8 管理员对预订信息的检索l 管理员预订机票检索界面,可以查询所有的已订的机票的信息。14 用户特点及一般约束1.4.1 管理员和用户的登录 要求合法的管理员以及用户才能登陆体统,防止系统被无关人员动用,使用字符串匹配对用户名和密码进行判断。管理员和用户的登录对相应的操作权限也不一样,如果是用户登录,管理员的窗口属性为不可用,管理员有客机信息管理,客户信息和订票信息管理,用户主要有舱位查询,客机信息查询。1.4.2 管理员的日常操作管理员可以对客机信息,客户信息,进行查询、修改和删除操作,可以对客户信息和订票信息只有查询操作。1.4.3 用户的日常操作用户可以进行注册然后登陆系统,可以进行客机信息查询,航班信息查询,可以定票(本系统支持团体订票,按照航班号进行预订机票,显示所订机票的信息和价格,进入机票预订页面订购不同航仓的机票,数量不限),可以退票,对退票后的机票要在未售出机票中重新体现。第2章 系统结构设计21 DFD定义数据流程图(Data Flow Diagram,DFD)是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几种符号综合地反映出信息在系统中的流动、处理和存储情况。一种是以方框、连线及其变形为基本图例符号来表示数据流动过程。一种是以圆圈及连接弧线作为其基本符号来表示数据流动过程。这两种方法实际表示一个数据流程的时候,小异,但是针对不同的数据处理流程却各有特点。本论文多采用第一种表达方式,在此说明,方便阅读。22 用户注册的DFD图(如图2-1所示)图 2-1 用户注册23 用户登录的DFD图(如图3-1所示)图3-1 用户登录确认订票选择订票数量检索机票信息用户登录24 用户订票的DFD图(如图4-1所示)商务舱数量经济舱数量图4-1 用户订票25 用户退票的DFD图(如图5-1所示)确认退票进入退票界面检索预订信息用户登陆图5-1 用户退票26 机票信息查询的DFD图(如图6-1所示)用户登陆管理员用户普通用户根据航班号或预订人某某查询预订信息通过站点查询航班信息检索个人预订信息 图6-1 机票信息查询第3章 开发平台3.1.1 j2EE平台架构技术简介J2EE是主流的技术体系,目前已成为一个工业标准。围绕着J2EE有众多的厂家和产品,其中不乏优秀的软件产品,合理集成以J2EE为标准的软件产品构建大型分布式企业级应用系统,可以得到较好的稳定性、高可靠性和扩展性。J2EE是一种利用java 2平台来简化诸多与多级企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心java平台或java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如编写一次、到处运行的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对E(Enterprise javaBeans)、java Servlets API、JSP(java Server Pages)以及XML技术的全面支持。J2EE提供了一个企业级的计算模型和运行环境用于开发和部署多层体系结构的应用。它通过提供企业计算环境所必需的各种服务,使得部署在J2EE平台上的多层应用可以实现高可用性、安全性、可扩展性和可靠性。3.1.1 jsp技术简介JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。3.1.2 Hibernate技术简介Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用E的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。3.1.3 Strust技术简介Struts 1框架以ActionServlet作为核心控制器,整个应用由客户端请求驱动。当客户端向Web应用发送请求时,请求将被Struts 1的核心控制器ActionServlet拦截,ActionServlet根据请求决定是否需要调用业务逻辑控制器处理用户请求(实际上,业务逻辑控制器还是控制器,它只是负责调用模型来处理用户请求),当用户请求处理完成后,其处理结果通过JSP呈现给用户。对于整个Struts 1框架而言,控制器就是它的核心,Struts 1的控制器由两个部分组成:核心控制器和业务逻辑控制器。其中核心控制器就是ActionServlet,由Struts 1框架提供;业务逻辑控制就是用户自定义的Action,由应用开发者提供。对于大部分用户请求而言,都需要得到服务器的处理。当用户发送一个需要得到服务器处理的请求时,该请求被ActionServlet拦截到,ActionServlet将该请求转发给对应的业务逻辑控制器,业务逻辑控制器调用模型来处理用户请求;如果用户请求只是希望得到某个URL资源,则由ActionServlet将被请求的资源转发给用户。3.1.3 TOMCAT技术简介:在以JAVA技术为前提的WEB开发领域中,TAMCAT是许多JAVA程序员相当喜爱的开放源代码产品,它附属在APACHE SOFTWARE FOUNDATION 所主导的JAKART项目。由于TAMCT是SERVLET与JSP技术的参考实现(REFERNCE IMPLEMENTATION),所以它不但可以当作独立的WEB服务器,也可以结合其它的WEB服务器,只担任SERVLET容器或JSP容器的角色。为了满足系统开发设计的需要,对硬件要求的最低配置如表2.1硬件要求配置表所示。表2-8 硬件要求配置表CPU要求在P以上存256MB及其以上硬盘20GB及其以上光驱无要求软驱无要求显示器无要求其他计算机设备网卡等联网设备表2-8 硬件要求配置表服务器端:Windows NT/Windows2000/windows2003/linux/unix,Tomcat 5.0,oralce9i及其以上版本,JDK 1.5及其以上版本等。操作系统:Microsoft Windows XP中文版客户端: Windows95/98/2000/XP,Internet Explorer(IE)6.0及其以上版本等。第4章 数据库设计4.1 数据库设计概述数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建议中的核心技术。由于数据库应用系统的复杂性,为了支持相关程序运行,数据库设计就变得异常复杂,因此最佳设计不可能一蹴而就,而只能是一种“反复探寻,逐步求精”的过程,也就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。4.2 E-R图的定义E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。构成E-R图的基本要素是实体型、属性和联系,其表示方法为: 实体型(Entity):具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体;在E-R图中用矩形表示,矩形框写明实体名;比如学生三丰、学生寻欢都是实体。如果是弱实体的话,在矩形外面再套实线矩形。 属性(Attribute):实体所具有的某一特性,一个实体可由若干个属性来刻画。在E-R图中用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的、学号、性别、都是属性。如果是多值属性的话,再椭圆形外面再套实线椭圆。如果是派生属性则用虚线椭圆表示。 联系(Relationship):联系也称关系,信息世界中反映实体部或实体之间的联系。实体部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。在E-R图中用菱形表示,菱形框写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。 比如老师给学生授课存在授课关系,学生选课存在选课关系。如果是弱实体的联系则在菱形外面再套菱形。4.3 管理员信息实体E-R图管理员信息实体联系方式管理员密码管理员编号管理员某某图4-1 管理员信息ER图4.4 客机信息实体E-R 图4-3 客机信息ER图4.5 航线信息实体E-R图图4-4 航线信息ER图4.4 客户信息实体E-R图图4-5 客户信息ER图图4-6 订票信息ER图图4-7 实体关系ER图第5章 系统实现51 系统概述系统流程图是描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等)。本系统有普通用户及管理员两种角色,普通用户可注册,并检验用户名是否已经存在。用户登录后进行必要的验证及权限的判断,普通用户进入用户界面,可以进行机票的站点查询并预订以及机票退票等功能服务;管理员进入管理员界面,可以对航班信息和用户信息进行增加、修改、删除等日常操作,并对用户预订信息进行模糊查询。(如图5-1)图5-1 系统总流程图验证登陆名密码,正确进入主菜单,根据登录时所选的登录方式(客户、管理员)的不同分别对用户设定不同的访问权限(如果是输入的客户用户名和密码正确,选择以客户方式登陆则主界面里面的管理员界面不能用,如果输入的是管理员的相应用户密码正确,以管理员的方式登陆则管理员界面可用)不正确则清空登录框。图5-2-1 系统登陆界面图5-2-2 登陆验证新用户可以注册,注册时输入用户名可以查询用户可不可用,可用就可以注册,注册时可以判断用户输入的密码和验证密码是否相同,相同才给以注册,如果满意可以点注册,注册成功后用户可以选择不用在回到登陆界面,可以直接 陆到用户主界面,以后就可以用这个用户登录了,如果不满意,点取消,所有信息清空,重新输入。图5-3-1 系统注册界面图5-3-2 检测用户名是否存在5.4 管理员界面管理员界面的管理员添加界面能对管理员信息进行查询、添加、删除和修改,包括用户名、登陆密码和联系方式。图5-4 管理员主体界面管理员在添加界面对航班的航班号、航班类型、起点站、终点站、舱位以及价格进行操作。图5-4-1 新增航班管理员在修改界面对航班的航班号、航班类型、起点站、终点站、舱位以及价格等字段进行修改。图5-4-2 航班修改界面管理员可以对航班记录进行单条或多条删除。图5-4-3 删除验证你可以点击你想查询的有关机票的信息的按钮(客机信息查询,航线查询,客户类型信息查询)获得相关信息的表,根据表的容,你可以在下面的下拉框中选择你要定的票信息,点确定后在下面会显示你的机票的相关容,如果满意可以点击订票,把相关信息添加到机票数据库表中,如果不满意,可以点重置,所有信息清空,再重新选择。图5-5 用户订票界面用户可以根据用户信息表中的我的机票信息查询,找出机票号,在输入到机票号查询里,点击查询获得你的机票信息以及价格显示,点击退票则在数据库机票信息表中删除本条信息。图5-6 用户退票界面5.7.1 管理员对预订信息的查询管理员可以根据航班号或者预订人的对用户预订信息进行模糊查询。图5-7-1 管理员查询界面普通用户可以根据航班编号对自己的预订信息进行模糊查询。图5-7-2 用户预订信息查询界面普通用户可以根据自己的出行需求,从什么地方到什么地方对所以航班进行模糊查询。图5-7-3 用户航班查询界面结 论此次课程设计是对我专业知识和专业基础知识一次实际检验和巩固。通过这次设计我学到了很多以前没有体会到的知识,不但加强了我理论知识水平,而且也锻炼了动手能力,把平时所学的理论知识应用到实践当中去,我们对实际问题的解决能力得到了一定提高,增强了自己分析问题解决问题的能力,尤其增强是设计的能力、实际动手能力。另外也对当今网络的概况及其发展有了更深的认识和理解.通过这次课程设计,我们有以下体会:(一)互相学习。同学的互相交流,老师的细心指导,办任何事都要借鉴前人或他人的成功经验,这样会使自己少走弯路,最终成功。(二)完善准备。完善的事前准备对于工作来讲至关重要。准备充分会使工作进展迅速,一切都在掌握之中,不能打无准备之仗;否则,没有准备,盲目开发,往往使工作进行一段时间后就进行不下去了,不得不停下来。既浪费时间又不能达到事先效果。(三)实事,严谨治学。办任何事都要遵从一定的事物规律。不讲究步骤,想到什么做什么,最终肯定不会把事情办好的。这次毕业设计时间短,任务重,但是通过合理安排时间,就系统分析,实地调研,总体规划,方案确定,具体设计等分阶段,分层次逐步完成,还算比较完满地达到了预期目标。附件一:数据库用户表(userinfo):字段名中文说明字段类型主外键备注Userid用户idNUMBER(10)主键非空唯一Username用户名VARCHAR2(20)不重复Realname真实VARCHAR2(20)Password密码VARCHAR2(20)Sex性别VARCHAR2(4)Age年龄NUMBER(5)整数Ismanager是否为管理员VARCHAR2(12)航班表(flight):字段名中文说明字段类型主外键备注Flightid航班idNUMBER(10)主键非空唯一Flightno航班编号VARCHAR2(20)Flighttype航班类型VARCHAR2(20)Leaverime起飞时间VARCHAR2(20)Arrivetime到达时间VARCHAR2(20)Qdzhan起点站VARCHAR2(20)Zhdzhan终点站VARCHAR2(20)预订表(reserveflight):字段名中文说明字段类型主外键备注Reservid预订idNUMBER(10)主键非空唯一Userid用户idNUMBER(10)外键参照用户表Flightid航班idNUMBER(10)外键参照航班表Reservtime预订时间Date非空Softnumber经济舱数量NUMBER(10)Hardnumber商务舱数量NUMBER(10)Totalprices票价总金额NUMBER(10)附件四:min1max120附件五:核心代码普通用户检索:管理员检索:分页:jsp代码分页:flghtdao代码按站点查询:预订:退票:验证用户名是否存在:var http_request=false;function checkusername()var un = document.getElementById(username);if( un.value=)alert(用户名不能为空);return/ 服务器实现(AJAX)/ (1)建立通讯对象,实现与服务器之间的交互http_request = new ActiveXObject(Microsoft.XMLHTTP);/ (2)指定接收服务器处理结果的函数http_request.onreadystatechange = AfterCheck;/ (3)指定服务器的处理对象(JSP、DO),通过传递数据var url = CheckUser.jsp?username=+un.value;/ (4)指定提交方式与路径
展开阅读全文