民航订票系统开发【开题报告+文献综述+毕业设计】.Doc

上传人:一*** 文档编号:17302 上传时间:2018-04-26 格式:DOC 页数:65 大小:1.06MB
下载 相关 举报
民航订票系统开发【开题报告+文献综述+毕业设计】.Doc_第1页
第1页 / 共65页
民航订票系统开发【开题报告+文献综述+毕业设计】.Doc_第2页
第2页 / 共65页
民航订票系统开发【开题报告+文献综述+毕业设计】.Doc_第3页
第3页 / 共65页
民航订票系统开发【开题报告+文献综述+毕业设计】.Doc_第4页
第4页 / 共65页
民航订票系统开发【开题报告+文献综述+毕业设计】.Doc_第5页
第5页 / 共65页
点击查看更多>>
资源描述

1、1毕业设计开题报告计算机科学与技术民航订票系统开发一、选题的背景与意义伴随着人们更多的使用飞机作为交通工具,国内机票票务市场也在快速发展。目前我国的航空公司已实现了部分票务部分电子化,这一改革节约了航空公司的成本,为广大的消费者提供了更为简洁、高效的服务,杜绝了现金交易带来的安全风险。近年来航空业跟从民航总局制定的信息化发展规划的脚步,把民航电子商务的发展作重要的内容,将机票业务电子化,使得人们对于规划自己的行程拥有较多的弹性。航空公司更因此节省了印制机票、管理上的成本及建立新销售网点上的投资。但从电子商务的特点来看,他是一种以信息互联网为载体的商务活动新模式。他的发生、发展状态受制于信息技术

2、、网络设施、网络安全、网上支付、企业信息化程度及网络诚信等多种因素。对于传统的纸质机票而言,电子机票的出现无疑可称得上是一场“革命”。然而,电子机票在具体实行中还是要遇到很多问题。电子机票要带动航空信息化的新局面,并非一蹴而就可以完成。目前整个民航机票销售行业还处在竞争秩序比较混乱、管理落后、流程不合理的状态。如果能够引入先进的电子商务技术,创造一个极具竞争力的售票网站,那么一定会迅速被客户接受,开创一片新的天空。二、研究的基本内容与拟解决的主要问题本课题主要是开发一套国内机票营业柜员系统,该系统要求能通过分布在全国各主要城市的该航空公司的营业网点为顾客提供航班查询,购买机票,退票以及改签的服

3、务。系统功能模块分为以下几部分前台营业,后台管理,后台服务。前台营业1用户登录/登出;22购票;3退票和改签;4查询营业记录;5营业员结算营业款;6网点经理结算营业款;后台管理7航班计划管理;8航班管理;9营业网点管理;10营业员管理;11营业记录管理;12管理员管理;后台服务13日志服务;14航班表和航班记录表的维护;15订单表的维护;3、研究的方法与技术路线以具体应用为目的,本系统开发了一个面向客户与管理员的平台对用户提供的服务有登录、用户信息管理、查询航班、预定机票、退票服务;对管理员提供的有登录、制定航班和安排航班日程服务。因此,系统分为用户和管理员两个模块。在该系统框架中,采用B/S

4、结构和SSH(SPRINGSTRUTSHIBERNATE)的三层系统框架。系统的总体配置1、开发平台ECLIPSE2、WEB服务器TOMCAT3、系统的框架SPRINGSTRUTSHIBERNATE4、数据库ORACLE5、运行系统WINDOWS3主要技术方法JSP,PHPHTMLJAVA的应用STRUTS实现上传下载功能,数据传输等HIBERNATE数据持久化,包装了一系列SQL查询语句SPRINGSTRUTSHIBERNATE的整合SERVLET接收网络浏览器端的信息,并做出不同的响应TOMCAT服务器从浏览器接收信息传输到服务端的容器ORACLE数据库存储客户信息,订单信息等一系列数据J

5、AVA语言整合应用SWING技术制作简易GUI界面MVC模式进行代码整合HTML构建基础的网页界面CSS美化界面JAVASCRIPT动态效果,界面效果3、研究的总体安排与进度1查阅资料,明确设计的目的201012122查阅相关英文资料,进行翻译工作,写开题报告201012123准备并进行开题答辩201012124制订设计方案,测试各功能模块,确定可行性20111201125具体编程实现,完成系统的设计20111201136对系统进行测试,完善20112201147论文写作,准备答辩20114201154、主要参考文献1精通STRUTS基于MVC的JAVAWEB设计与开发M孙卫琴北京人民邮电出版

6、社,20082TOMCAT与JAVAWEB开发技术详解M孙卫琴北京人民邮电出版社,20083JAVA核心技术原书第7版卷I_基础知识M(美)昊斯特曼机械工业出版社,200644JAVA核心技术原书第7版卷_高级特性M(美)昊斯特曼机械工业出版社,20065JAVA程序设计语言M美国阿诺德,20036JAVA程序设计与问题解决基础篇M美国SAVITCH,20077JAVA数据库编程宝典M(美国)JOHNODONAHU电子工业出版社8JSP应用开发详解M电子工业出版社,20029JAVAWEB开发详解M孙鑫电子工业出版社,200210JAVA数据库系统项目开发实践M周亚辉科学出版社,200511整

7、合SSH轻量级J2EE企业应用实战M李刚电子工业出版社12JAVASERVLETANDJSPCOOKBOOKMPERRYBRUCEWOREILLYTICKETSONLINEJDBCJSP一、背景近年来航空业跟从民航总局制定的信息化发展规划的脚步,把民航电子商务的发展作重要的内容,将机票业务电子化,使得人们对于规划自己的行程拥有较多的弹性。航空公司更因此节省了印制机票、管理上的成本及建立新销售网点上的投资1。目前,中国民航网上销售系统已完成与票价管理系统、航班查询订座系统、离港系统、常客系统的连接,形成了网上在线订票、在线支付、在线办理乘机手续、在线查询俱乐部里程计分等完整的服务链3。二、发展趋

8、势随着日益进步的信息技术及网络科技,电子商务逐渐受到各企业的重视,但我国尚处于电子商务发展的初期,应在一些管理和经营特点比较适合电子商务发挥优势的领域中推行电子商务2。6目前整个民航机票销售行业还处在竞争秩序比较混乱、管理落后、流程不合理的状态。如果能够引入先进的电子商务技术,创造一个极具竞争力的售票网站,那么一定会迅速被客户接受,开创一片新的天空。三、柜台售票系统柜台售票系统是一套国内机票营业柜员系统,该系统要求能通过分布在全国各主要城市的该航空公司的营业网点为顾客提供航班查询,购买机票,退票以及改签的服务3。在此基础上实现系统个性化,使界面具有良好的交互性。柜台售票系统是基于C/S结构4的

9、应用系统,结合民航售票系统的设计与实现,系统阐述了构建基于C/S结构的数据库系统的设计开发方法。C/S结构即客户机/服务器网。在客户机/服务器网络中,服务器是网络的核心,而客户机是网络的基础,客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源46。系统的界面通过使用JAVASWING7,8技术实现,SWING是一个用于开发JAVA应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格3。完成客户端的图形界面之后,可以在界面的按钮上添加相应的事件监听器ACTION,由事件监听得到用户的请求并将参数封装成一个JAVABEA

10、N传递给服务器。客户端与服务器端之间的数据使用SOCKET连接,可以用多种输入输出流的方法进行包装传递。服务器是根据TCP协议创建的,TCP7,8是TRANFERCONTROLPROTOCOL的简称,是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个SOCKET之间必须建立连接,以便在TCP协议的基础上进行通信,当一个SOCKET(通常都是SERVERSOCKET)等待建立连接时,另一个SOCKET可以要求进行连接,一旦这两个SOCKET连接起来,它们就可以进行双向数据传输,双方都可以进行发送或接收操作。同时在服务器上使用安全的

11、多线程4控制保证数据的安全处理。JAVA线程是THREAD类的对象,线程对象有一个RUN()方法,用来负责实现线程的功能是线程的主体,线程的运行就是执行RUN()方法。,还有一个START()方法,负责启动线程对象并调用RUN()方法。数据库的连接需要通过JDBC9,10操作,JDBC是一种用于执行SQL语句的JAVA7API,它的技术简称是JAVADATABASECONNECTIVITY,它是一组用JAVA编程语言编写的接口和类。它为工具/数据库开发人员提供了一套访问各种数据库的标准API,使他们能够用纯JAVAAPI来编写数据库应用程序。最后只需将查询得到的数据进一步处理包装后返回给界面显

12、示。以上只是当今流行的JAVA开发流程的一部分,随着技术的不断发展,JAVA技术也越来越成熟,各种新的、更好的框架也在不断涌现。四、网上订票系统网上订票系统是基于B/S结构1113的应用系统,结合民航售票系统的设计与实现,系统阐述了构建基于B/S结构的数据库系统的设计开发方法。B/S结构,即BROWSER/SERVER浏览器/服务器结构,是随着INTERNET技术的兴起,对C/S结构的一种变化或者改进的结构11。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。网上订票系统是一种典型的信息管理系统MIS,开发主要包括后台数据库的建立和维护

13、以及前端应用界面的程序开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则满足应用程序功能完备,易使用等特点。系统的界面使用JSP技术13,JSP服务器端页面技术是SUN公司制订的一种服务端动态页面生成技术,JSP的组成包括了HTML代码,JAVA代码,指令,隐含对象8。JSP引擎将JSP文件转换成JAVA文件,然后JSP引擎再将JAVA编译成CLASS文件,最后JSP引擎调用SERVICE方法。得到页面的数据并交给服务器处理。目前主流服务器有TOMCAT,JBOSS、WEBLOGIC、WEBSPHERE,一般选择TOMCAT。TOMCAT是一个轻量级应用服务器

14、,用来运行JSP页面和SERVLET,也具有处理HTML页面的功能和独立的SERVLET容器14。所有的执行程序放置在服务器端,由服务器执行其中的脚本语句,JSP通过对JDBC对象操作,实现对数据库的访问。执行完后,得到数据以标准的HTML形式发送给浏览器。五、总结B/S是对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面8通过浏览器来实现,主要事务逻辑在服务器端实现。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。5、但是C/S模式是实现客户端与服务器的直接相连,没有中间环节,因此响应速度快。操作界面漂亮、形式多样,可以充分满足客户个性

15、化要求。C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。主要参考文献1电子商务在民航票务中的应用A孙洪岩工商论文201092民航电子商务的发展现状与趋势A学术论坛20063TOA航空公司营业柜员系统需求文档A达内科技201074整合SSH轻量级J2EE企业应用实战M李刚电子工业出版社5JAVA程序设计与问题解决基础篇M美国SAVITCH20076JAVA程序设计语言M美国阿诺德20037JAVA核心技术原书第7版卷I_基础知识M(美)昊斯特曼机械工业出版社20068JAVA核心技术原书第7版卷_高级特性M(美)昊斯特曼机械工业出版社20069JAVA数据库系统项目开发实践

16、M周亚辉科学出版社200510JAVA数据库编程宝典M(美国)JOHNODONAHU电子工业出版社11JSP应用开发详解M电子工业出版社200212JAVAWEB开发详解M孙鑫电子工业出版社200213精通STRUTS基于MVC的JAVAWEB设计与开发M孙卫琴北京人民邮电出版社200814TOMCAT与JAVAWEB开发技术详解M孙卫琴北京人民邮电出版社200815JAVASERVLETANDJSPCOOKBOOKMPERRYBRUCEWOREILLYINTERFACE11目录1绪论1211研究背景及现状1212研究内容及课题意义1213本文结构122开发语言及工具简介1421JAVA语言概

17、述1422JAVA开发特点1423JAVA常用工具包1524ECLIPSE开发工具简介163需求分析和数据库设计1831模块需求分析1832具体功能需求分析1933用例图设计2034数据库设计224系统总体设计与代码编写2441系统总体设计24411ECLIPSE开发工具简介24412系统流程设计24413系统总体框架设计2542整体界面设计26421登陆界面26422前台功能设计284221订购机票294222营业纪录304223一级结算334224二级结算34423后台功能设计344231航班计划管理354232航线管理36424服务器核心代码编写365数据测试与功能评估4051测试环境4

18、052功能测试4053安全测试4154功能评估426总结4361全文总结4362未来展望437致谢错误未定义书签。附录一民航售票系统建表语句汇总46附录二DAO接口具体方法汇总61121绪论11研究背景及现状年来,随着航空业的信息化发展,传统的机票订购方式已经无法达到目前民航电子商务的发展要求。为方便客户更快更有效的订购自己需要的机票,机票的电子化管理是一种必然的趋势。一个具有网络化的订票系统不仅可以处理大量的购票业务,同时节省内部管理上的成本,也更方便地为航空公司建立新的销售网店1。目前,国内的机票业务已基本实现了电子化管理,并不断有新的管理系统进行研发更新。它们利用网络通讯基础及先进的网络

19、应用平台,建设立了一个安全、可靠、开放、高效的航班查询及机票预订的共享平台。用户可以借助计算机网络实现对航班的查询和机票的预订和退订,更加快速的,可靠地制定行程2。12研究内容及课题意义本设计的基本内容为开发一套国内机票营业柜员系统,该系统要求能通过分布在全国各主要城市的该航空公司的营业网点为顾客提供航班查询,购买机票,退票以及改签的服务。在此基础上实现系统个性化,使界面具有良好的交互性。系统的功能模块分为以下几部分前台营业,后台管理。前台营业包括营业员登录登出,购票,退票,改签和查询营业记录等一系列业务操作。后台管理包括航班计划管理,航班管理,营业网点管理,营业员管理和权限管理等业务操作。本

20、系统需实现的系统模块有图形界面GUI模块,对象封装ENTITY模块,SERVER服务器模块和接口DAO模块。其中GUI模块包括前台营业与后台管理的业务操作界面。ENTITY模块包括了航班计划,航班,机票等对象的封装。SERVER模块包括服务器的启动,多线程设计等。DAO模块主要实现各种对象的接口设计与数据的包装。该系统是电子票务用于柜台操作的典型业务系统。实现了营业网店所需的必要业务操作,能够迅速地用户所接受和使用。13本文结构本文主要讲解介绍民航订票系统的整个开发流程与其各功能的具体实现。13第一章绪论简要介绍了系统开发的背景意义和发展现状,并概述了系统开发的主要内容和全文的结构安排。第二章

21、主要介绍了与本系统开发相关的一些技术知识与开发环境,概述了JAVA语言的特点。另外还介绍了如何安装JDK和ECLIPSE等工具。第三章介绍了本系统的需求分析和功能描述,根据实际需求设计出用例图并详细制定了系统所需的数据实体类及数据库的建模。第四章对第三章给出的功能模块进行详细设计和编码设计,包括了DAO接口,事件处理,JDBC设计,按钮监听等。重点讲述了业务逻辑层的设计过程。第五章是对本系统主要功能的数据测试,记录详细测试结果并对各功能进行全面的评估总结。第六章总结全文,并介绍本系统设计过程中的主要问题及拟定的解决方案。142开发语言及工具简介由于JAVA语言以其使用方便,功能强大,可移植平台

22、等优点和ECLIPSE企业级工作平台很适合本课题的研究工作,因此作者选择ECLIPSE作为本课题的开发环境,用MYSQL作为数据库来完成本课题的研究。21JAVA语言概述JAVA,是由SUNMICROSYSTEMS公司于1995年5月推出的JAVA程序设计语言和JAVA平台的总称7。JAVA平台由JAVA虚拟机(JAVAVIRTUALMACHINE)和JAVA应用编程接口(APPLICATIONPROGRAMMINGINTERFACE、简称API)构成。由于目前所有的操作系统都已嵌入JAVA平台,所以只要JAVA程序编译过一次,就可以在运行在各种系统中。目前常用的JAVA平台版本是基于JAVA

23、15。JAVA分为三个体系JAVASEJAVA2PLATFORMSTANDARDEDITION,JAVA平台标准版,JAVAEEJAVA2PLATFORM,ENTERPRISEEDITION,JAVA平台企业版,JAVAMEJAVA2PLATFORMMICROEDITION,JAVA平台微型版。本系统是用JAVASE体系构建。JAVASE以前称为J2SE。它允许JAVA应用程序在在桌面、服务器、嵌入式环境及实时环境中开发和部署。JAVASE包含了各种开发所需的类包,包括支持JAVAWEB服务开发的类5。22JAVA开发特点它是一种简单,面向对象,分布式,解释型,稳定,安全,结构中立,易移植,高

24、性能,多线程的动态语言7。它的具体特点表现如下1、它采用类C/C的语法风格,摒弃了C中容易引发程序错误的地方如指针和内存管理,并且提供了丰富的类库。所以它是一种简单的语言。2、它不支持类似C语言那样的面向过程的程序设计技术,JAVA支持静态和动态风格的代码继承及重用。所以JAVA语言是一个面向对象的。3、JAVA包括一个支持HTTP和FTP等基于TCP/IP协议的子库。因此,JAVA应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。所以JAVA语言是分布式的。4、JAVA致力于检查程序在编译和运行时的错误,他操纵内存减少内存出错的可能性。JAVA15还实现了

25、真数组,避免了数据的覆盖。这些功能特征大大缩短了开发JAVA应用程序的周期。所以JAVA语言是健壮的。5、一方面,在JAVA语言里,像指针和释放内存等C功能被删除,避免了非法内存的操作。另一方面,当JAVA用来创建预览起时,语言功能和浏览器本事提供的功能结合起来,使它更安全。所以JAVA语言是安全的。6、为了建立JAVA作为网络的一个整体,JAVA将他的程序编译成一种结构中立的中间文件格式。只要有JAVA运行系统的机器都能执行这种中间代码,这种语言被设计在虚拟机上运行,有机器相关的运行调式器实现执行。所以JAVA语言体系是结构中立的。7、由于JAVA编译器产生的目标代码是针对一种并不存在的JA

26、VA虚拟机,而不是某一实际CPU。JAVA虚拟机能掩盖不同CPU之间的差点是JCODE能运行于任何具有JAVA虚拟机的机器上。所以JAVA语言是可移植的。8、JAVA解释器能直接运行目标代码指令。链接程序通常比编译程序所需资源少,程序员可以花更多时间去创建源程序。所以JAVA语言是解释型的。9、JAVA可以运行时直接将目标代码翻译成机器指令,JAVA的运行速越来越接近于C。所以JAVA是高性能的。10、多线程功能使得在一个程序里可同时执行多个小任务。更多的交互性能和实时控制性能是多线程带来的更大好处。11、JAVA的动态特性是其面向对象设计方法的发展,它允许程序动态地装入运行过程中所需要的类,

27、这是C语言进行面向对象程序设计所无法实现的。23JAVA常用工具包JAVA的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是JAVA企业应用编程接口(JAVAENTERPRISEAPIS)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。本节介绍本系统使用到的主要类包和工具包。JAVAUTIL包含集合框架、遗留的COLLECTION类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组、日期DATE类、堆栈STACK类、向量VECTOR类等)7。JAVASWING是一个用于开发JAVA应用程序用

28、户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。SWING开发人员只用很16少的代码就可以利用SWING丰富、灵活的功能和模块化组件来创建优雅的用户界面7。JAVASQL提供使用JAVATM编程语言访问并处理存储在数据源(通常是一个关系数据库)中的数据的API。此API包括一个框架,凭借此框架可以动态地安装不同驱动程序来访问不同数据源7。JAVAIO通过数据流、序列化和文件系统提供系统输入和输出。除非另有说明,否则向此包的任何类或接口中的构造方法或方法传递NULL参数时,都将抛出NULLPOINTEREXCEPTION7。JAVANET为实现

29、网络应用程序提供类7。24ECLIPSE开发工具简介ECLIPSE是一个开放源代码的、基于JAVA的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。它是一个基于JAVA平台的开发环境,它本身也要运行在JAVA虚拟机上,还要使用JDK的编译器,因此我们必须首先安装JDK4。先从SUN的官方站点HTTP/JAVASUNCOM下载JDK160WINDOWS版,然后运行J2SDK1_9_0_06WINDOWSI586PEXE安装,你可以自行设定安装目录。然后配置环境变量,右击“我的电脑”属性,点击“系统属性”,在系统变量下点击“新建”。如图21设置JAVA_HOM

30、E变量值为JDK的安装目录,然后如图22设置CLASSPATH为当前目录,在如图设置PATH变量为JDK文件的BIN目录。安装好JDK以后再进行ECLIPSE的下载并按步骤安装即可使用。17图21设置JAVA_HOME变量图22设置CLASSPATH的变量图23设置PATH变量183需求分析和数据库设计31模块需求分析本设计要为航空公司开发一套国内机票营业柜员系统,该系统要求能通过分布在全国各主要城市的该航空公司的营业网点为顾客提供航班查询,购买机票,退票以及改签的服务。前台业务包括了航班查询,购票,退票,改签等。具体流程如下航班查询的业务流程营业员根据顾客员提供上网出发地,目的地和出发日期等

31、信息,操作该软件查询满足条件的航班。购票的业务流程在查询出航班信息的基础上,根据顾客的要求选择某个航班,输入乘客信息,以及舱位信息,然后等待顾客确认,并收取票款,然后执行出票操作。退票的业务流程根据顾客提供的机票号和证件号码,查询出该机票的信息,然后根据该机票的退改签规定收取一定手续费,将剩余票款退还给顾客,并将机票收回(如果有纸质机票的话)。改签的业务流程根据顾客提供的机票号和证件号码,查询出该机票的信息,然后再录入改签的数据(日期改签,乘客改签),计算出价格差额,多退少补,执行改签操作。后台管理包括了航班管理,营业员和营业网店管理,营业记录,日志记录等。具体功能需求如下航班管理航班管理员能

32、添加和删除航班计划,还能临时修改航班计划,对航班计划的修改包括临时添加航班和临时取消航班以及临时改变航班的执行机型。除此之外,航班管理员还能随时更新航班的季节折扣。行营业员和营业网点的管理营业管理员能添加营业网点,删除营业网点,修改营业网点的信息(名称,地址,电话等),添加营业员,删除营业员。营业记录功能营业记录是营业员与航空公司进行营业款结算的依据,营业款的结算采用两级结算的原则,航空公司与每个营业网点经理结算,营业网点经理与每个营业员结算,原则上营业款应该每天结算。日志记录功能日志要求记录以下事件营业员的登录,登出,成功的订票操作,退票和改签操作,营业款的结算记录,航班管理员对航班的成功修

33、改,营业管理员对营业员和营业网点的成功修改等3。如图31是前台的功能分析图,描述了前台每个业务的详细流程。19图31前台功能模块分析图如图32是后台的功能模块图,描述了后台业务的所有流程分析。图32后台管理模块分析图32具体功能需求分析系统功能模块分为以下几部分前台营业,后台管理。前台营业201用户登录/登出11登录;12退出登录状态;13重新登录。2购票21查询航班;22购票。3退票和改签31退票;32改签。4查询营业记录41查询营业记录;42导出到EXCEL表。5营业员结算营业款51申请一级结算。6网点经理结算营业款61确认一级结算;62申请二级结算。后台管理7航班计划管理71查询航班计划

34、;72添加航班计划;73删除航班计划;74更改航班计划。8航班管理81查询航班;82添加航班;83删除航班;84更改航班。9营业网点管理91查询营业网点;92添加营业网点;93删除营业网点;94更改营业网点。10营业员管理101查询营业员;102添加营业员;103删除营业员;104更改营业员。11营业记录管理111查询营业记录;112导出到EXCEL表;113确认二级结算。12管理员管理121添加角色;122删除角色;123更改角色权限;124新建账户;125删除账户;126更改账户权限;127清空账户密码。33用例图设计根据上述需求分析的到的功能,我们可将他们分为前台和后台2个功能模块,并对

35、其设计用例图,更形象的描述本系统的功能需求。如图33是前台管理用例图,包含了用户,营业员,营业网店经理3个对象角色。他们分别都有自己对应的功能模块,并且3者之间是相互继承的,比如营业网店经理包含了营业员,营业员包含了用户,所以营业网点经理可以拥有营业员和用户所有的功能管理,营业员也可以拥有用户的所对应的功能管理。21图33前台管理用例图图34是后台的管理用例图,它包含了用户,航班管理员,营业员管理员,航线管理员,财务管理员和权限管理员,他们也都有自己对应的业务功能。航班管理员,营业员管理员,航线管理员,财务管理员和权限管理员都可以继承用户的功能模块,但是管理员之间是相互独立的,比如航班管理员不

36、能实现营业员管理员所属的功能。但是一个用户可以拥有多个管理员身份,执行不同管理员的业务。22图34后台管理用例图34数据库设计明确了系统的需求和功能之后,我们然后对其进行简单的数据库分析。由于数据库是整个系统的核心部分,所有的业务处理都将对数据库进行大量的数据操作,所以数据库的设计将影响整个系统的性能。首先是对实体模型的定义,这里我们只简单的列举了几个重要的实体模型,详细的建表语句请参考附录一。航班计划FLIGHT_SCHEDULER用来描述航空公司执行的某个定期航班的计划表。包含的信息航班号,起始日期,结束日期,出发地,目的地,离港时间,到港时间,里程,飞机机型,班期,基准票价。航班FLIG

37、HT用来描述在某个确定日期执行某个定期航班计划的一次航班。包含的信息执行的航班计划,出发日期,各舱剩余座位数,季节折扣。营业网点BRANCH用来描述航空公司的某个分支机构,该机构能使用营业柜员系统为顾客提供查询航班订票和退票的服务。点包含的信息网点编号,网点名称,地址,电23话。营业员SALES用来描述在营业网点操作营业柜员系统的操作人员,每个营业员必须凭帐号和密码登录系统后才能为顾客提供服务。包含的信息营业员编号,营业员帐号,密码,所属营业网点编号。机票信息(TICKETINFOR)用来描述顾客已订购的航班及乘客信息。包含的信息航班号,航班日期,乘客省份证号,姓名,机票价格,出发地,目的地,

38、乘客类型等。机场(AIRPORT)用来描述机场信息,可根据需要进行机场的建设。包含的信息省份名,城市名,机场代码,机场名。飞机型号(AIRPORT_MODEL)用来描述各飞机型号的详细信息。包含的信息飞机型号,最长航程,制造厂商,头等舱座位数,经济舱座位数,公务舱座位数。售票记录(SALE_RECORDER)用来描述所有营业员营业的记录,包括订票,退票,改签等。包含的信息网店编号,营业类型,营业员编号,记录时间,营业金额,记录状态。244系统总体设计与代码编写41系统总体设计411ECLIPSE开发工具简介通过第三章的需求分析大致了解了几个功能模块,图41描述了整个系统的模块结构。用户有统一的

39、登录界面输入账户密码进行登录,若登录失败,则返回登录界面;登录成功,则根据角色编号分别进入前台业务管理界面和后台管理界面。再根据各自的所有权限进行不同的功能操作并访问数据库。图41系统总体模块设计412系统流程设计图42给出了本系统的一个设计流程,用户通过点击界面上的监听按钮,向服务器发送请求并将请求数据封装在REQUEST中,服务器接收到请求后通过ACTION判断请求类型并交给相应的事件处理机制DOACTION来处理请求数据,从REQUEST中得到请求的数据后调用25DAO接口中的相应方法来访问数据库,并进行数据处理操作。完成后DAO返回给DOACTION一个数据结果,DOACTION经过对

40、返回的结果进行处理后封装到REPONSE中,通过服务器的传送返回到界面显示给用户。图42系统总体流程413系统总体框架设计如图43是本系统代码编写的总体框架。从图中可以清楚的看到本系统框架26图43系统框架设计GUI图形界面包括了前台界面(BUSINESSGUI),后台界面(MANAGGUI),公用界面(COMMONGUI)如登录等,另外还为服务器的开启和关闭创建了一个SERVERGUI。COMMONENTITY包提供了所有实体对象的封装类,比如USER,FLIGHT,AIRPORT等。COMMONPRO包提供数据请求时用的REQUEST封装类和响应请求用的REPONSE封装类,还包括INFO

41、RMATION封装类用来存放用户登录后的所有信息。BUSINESSCLIENT,MANAGECLIENT和SERVERACTION包中都有一个ACTION类,这个类使用输入输出流的方式来建立客户端与服务器的连接。SERVERDAO则是用来访问数据库的DAO接口,里面有各种不同实现方法。只要通过调用其中一个方法就能返回所需要的结果。42整体界面设计为了创建良好、优雅的用户界面,本系统使用JAVASWING技术进行界面开发。JAVASWING是一个用于开发JAVA应用程序用户界面的开发工具包。我们只用很少的代码就可以利用SWING丰富、灵活的功能和模块化组件来创建优雅的用户界面。421登陆界面图4

42、4登录界面是所有用户共有的,所以将其代码编写放在COMMONGUI包下。图44登录界面登录界面中有2个按钮,我们需将它设置必要的监听器以触发登录或取消登录事件。监听器方法如下/添加监听方法/PUBLICVOIDADDHANDLERSTHISBTNSUBMITADDACTIONLISTENERNEWACTIONLISTENER/点击了登陆按钮,开始登陆PUBLICVOIDACTIONPERFORMEDACTIONEVENTE27LOGINTHISBTNCANCLEADDACTIONLISTENERNEWACTIONLISTENER/点击了退出按钮,程序结束PUBLICVOIDACTIONPERF

43、ORMEDACTIONEVENTESYSTEMEXIT0点击登录按钮后,触发相应监听器,执行LOGIN()方法。LOGIN()方法获得文本框中的用户名和密码后封装到REQUEST通过输入流方式向服务器发送请求,并得到响应结果。然后根据响应结果判断用户信息,根据不同角色权限分别进入不同的管理界面。LOGIN()方法具体代码如下PRIVATEVOIDLOGIN/判断输入框中登录名和登录密码是否为空,若为空则返回。IFJTFUIDGETTEXTTRIMEQUALS“|NEWSTRINGJPFPWDGETPASSWORDTRIMEQUALS“JOPTIONPANESHOWMESSAGEDIALOGTH

44、IS,“登录名和登录密码不能为空“RETURNREQUESTREQNEWREQUESTREQUESTREQUEST_LOGINREQADDDATA“USER_NAME“,JTFUIDGETTEXTTRIMREQADDDATA“PASSWORD“,JPFPWDGETTEXT/将用户名和密码封装到REQUEST对象中ACTIONACTIONNEWACTIONRESPONSERESACTIONDOACTIONREQ/建立连接后,发送REQUEST请求并得到响应REPONSE对象IFSTRINGRESGETDATA“LOGIN“EQUALS“OK“28USERUSERUSERRESGETDATA“US

45、ER“INFORMATIONADDDATA“USER“,USERINFORMATIONADDDATA“PROVINCES“,RESGETDATA“PROVINCES“INFORMATIONADDDATA“CITIES“,RESGETDATA“CITIES“/将返回得到的USER对象封装到INFORMATION中IFUSERGETROLE_IDRESGETDATA“RECORD“STRINGSNULLFORINTI0I经理一级结算字段名描述类型约束范例REC_ID营业记录编号INT8;PK;AUTO_INCREMENT158BRANCH_ID网点IDINT8;NOTNULL1,2REC_TYPE

46、营业发生类型INT1;NOTNULL1SALES_ID营业员IDINT8;NOTNULL1,2REC_TIME营业记录时间VARCHAR32;NOTNULL201011132445ACCOUNT金额DOUBLE10,0;NOTNULL4400STATE结算状态INT1;NOTNULL0、1SQL建表脚本CREATETABLESALE_RECORDERREC_IDINT8AUTO_INCREMENTNOTNULL,BRANCH_IDINT8NOTNULL,REC_TYPEINT1NOTNULL,SALES_IDINT8NOTNULL,REC_TIMEDATENOTNULL,ACCOUNTDOUB

47、LE10,0NOTNULL,STATEINT1NOTNULL,PRIMARYKEYREC_ID,FOREIGNKEYBRANCH_IDREFERENCESBRANCHBRANCH_ID,FOREIGNKEYSALES_IDREFERENCESSALESSALES_IDTYPEINNODBSETAUTOCOMMIT020,表名(英语表名)MANAGER_SUBMIT二级结算表字段名描述类型约束范例SECOND_ID二级结算IDINT8;PK;AUTO_INCREMENT1,2,3SECOND_DATE二级结算时间VARCHAR32;NOTNULL20112315430SECOND_ACCOUNT

48、二级结算金额DOUBLE12,2;NOTNULL45000ACCOUNT_NUMBER网点交易数INT8;NOTNULL89059BRANCH_ID网点IDINT8;NOTNULL1,2,3SQL建表脚本CREATETABLEMANAGER_SUBMITSECOND_IDINT8AUTO_INCREMENTNOTNULL,SECOND_DATEDATENOTNULL,SECOND_ACCOUNTDOUBLE12,2NOTNULL,ACCOUNT_NUMBERINT8NOTNULL,BRANCH_IDINT8NOTNULL,PRIMARYKEYSECOND_ID,FOREIGNKEYBRANCH

49、_IDREFERENCESBRANCHBRANCH_IDTYPEINNODBSETAUTOCOMMIT021表名(英语表名)ERR_DAILY错误日志字段名描述类型约束范例ERR_ID错误编号INT4;PK;AUTO_INCREMENT1ERR_TITLE错误类型VARCHAR20;NOTNULL读入文件错误ERR_COMMENTS错误描述VARCHAR32文件不存在ERR_TIME错误发生时间VARCHAR32;NOTNULL201115201234ERR_CODE错误编码INT4;NOTNULL1001SQL建表脚本CREATETABLEERR_DAILYERR_IDINT4AUTO_INCREMENT,ERR_TITLEVARCHAR20NOTNULL,ERR_COMMENTSVARCHAR32,ERR_TIMEDATENOTNULL,ERR_CODEINT4NOTNULL,60PRIMARYKEYERR_IDTYPEINNODBSETAUTOCOMMIT022表名(英语表名)USER_DAILY账户日志字段名描述类型约束范例USER_DAILY_ID账户日志编号INT8;PK;AUTO_INCREMENT1USER_TYPE账户事件类型INT11USER_TIME发生时间VARCHAR32;NOTNULL2011

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。