




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学号 200504036027 密级 武汉大学东湖分校本科毕业论文 武汉大学东湖分校本科毕业论文 基于 struts 技术的航空售票系统 之后台管理子系统 基于 struts 技术的航空售票系统 之后台管理子系统 院(系)名 称:计算机科学学院 专 业 名 称 : 学 生 姓 名 : 指 导 教 师 : 二九年五月 bachelors degree thesis of donghu college wuhan university bachelors degree thesis of donghu college wuhan university based on struts technology backstage of manager subsystem aviation college :computer science subject :software engineering name : directed by : may 2009 郑 重 声 明 郑 重 声 明 本人呈交的学位论文,是在导师的指导下,独立进行研究工作所 取得的成果,所有数据、图片资料真实可靠。尽我所知,除文中已经 注明引用的内容外, 本学位论文的研究成果不包含他人享有著作权的 内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已 在文中以明确的方式标明。本学位论文的知识产权归属于培养单位。 本人签名: _ 日 期: 2009.5_ i 摘要摘要 航空票务系统中的管理系统是一个极其重要的部分,但由于当今航空公司仅 仅将关注的目光投向系统前台功能的不断丰富之上, 所以对于票务系统的后台管 理子系统的不断完善,一直是经营者的困惑。并且在各大航空公司竞争日益激烈 的今天,只有安全、稳定以及操作便捷的后台管理系统才能与功能不断提升的前 台服务系统相匹配。我在系统的设计中也考虑到这一因素,在系统的设计中,加 入新的技术,从而保证系统的安全性、稳定性,以及操作的简易性。 我的航空票务系统的后台管理系统正是针对以上几点,在满足市场及客户的 需求下设计的。首先,我在第一章分析了国内外部分航空公司所使用的后台管理 系统的发展状况,以及本次毕业设计的主要内容。第二章则是主要介绍此后台管 理系统的设计过程中,所使用到的相关技术的介绍,我们可以根据此项内容对整 个系统所涉及的各种技术有个整体性的了解和把握。 第三章为整个毕业设计系统 的需求分析,这一章将从各个方面分析此航空系统的各项功能需求。第四章是整 个系统具体的功能模块设计,将系统中的各个功能集中,分块,结构化管理,从 中我们可以看到各个模块的设计思路和实现方法, 整个系统的开发思路也可以得 以体现。第五章是系统的测试部分,包括我们在完成毕业设计之后对于各个功能 模块进行测试的结果,以及对于在测试过程中遇到的问题所做的改动与修正等。 关键字:管理子系统;客户信息;网上订票; struts;ibatis ii abstract in the aviation ticket clerk system management system management system is an extremely important part, but because the airline merely will pay attention now the vision will go to the system onstage function unceasingly richly above, therefore will manage the subsystem regarding the ticket clerk system backstage not the section consummation, is always operators confusion.and competes day by day intense today in each big airline, only then safe, stable as well as the operation convenient backstage management system management system can and the function promotes unceasingly the concierge service system matches likely.in my system also considered this factor, in the system design, joins the new technology, thus guarantee system security, stability, as well as operation simplicity. my aviation ticket clerk system backstage management system management system is precisely in view of above several, in satisfies the market and under the customer demand designs.first we have analyzed this subsystems design research goal as well as the significance in the first chapter, the domestic and foreign partial airline uses backstage management system management system development condition, as well as this subsystems design primary coverage.the second rules are in the main introduction hereafter steady pipe principle system design process, uses the related technical introduction, we may act according to this content each kind of technology which involves to the overall system to have an integrity understanding and the assurance. third chapter is the overall system concrete function module design, is centralized system in each function, the piecemeal, the structurized management, we may see each module the design mentality and the realization method, the overall system development mentality also may be able to manifest.fourth chapter is the systematic measurement component, after completes the system design regarding each function module carries on the test including us the result, the modification and the revision which in the test process will provide in the future movement maintenance the suggestion as well as regarding which will meet the question does and so on, finally we have made the summary to the overall system, including proposed further will consummate measure and realization possibility suggestion. key words:information management system; customer information; booking tickets online; struts; ibatis iii 目录目录 摘要摘要i abstract.ii 第 1 章第 1 章 绪论绪论- 1 - 1.1 国内外现状与发展趋势的分析- 1 - 1.2 毕业设计的研究内容 .- 1 - 第 2 章 系统相关技术与理论第 2 章 系统相关技术与理论.- 3 - 2.1 mvc 设计模式- 3 - 2.2 ajax技术- 4 - 2.3 struts框架.- 5 - 2.4 数据库访问技术 .- 6 - 2.5 关系数据库与 sqlserver2005 的相关介绍- 7 - 第 3 章第 3 章 系统需求分析系统需求分析- 9 - 3.1 系统设计与分析 .- 9 - 3.2 系统主要功能模块分析 .- 9 - 3.3 业务流程图.- 10 - 3.4 系统所需使用信息 .- 11 - 3.5 系统 e-r 图.- 12 - 第 4 章第 4 章 功能模块与数据库的设计功能模块与数据库的设计- 14 - 4.1 系统功能设计.- 14 - 4.2 系统数据库设计 .- 15 - 第 5 章第 5 章 系统功能实现系统功能实现- 18 - 5.1 后台管理系统分析 .- 18 - 5.2 数据库链接模块 .- 18 - 5.3 管理员后台登录 .- 20 - 5.4 航班计划管理.- 23 - 5.5 营业网点增删查改 .- 25 - 5.6 营业员信息管理 .- 27 - 第 6 章 系统的调试与运行第 6 章 系统的调试与运行.- 30 - 结束语结束语.- 32 - 致谢致谢.- 33 - 参考文献参考文献.- 34 - - 1 - 第 1 章 绪论 第 1 章 绪论 1.1 国内外现状与发展趋势的分析 1.1 国内外现状与发展趋势的分析 基于 b/s 模式开发出的航空票务系统在投入使用之后,因其的高效性,可操 作性,实时性等诸多方面的优势,而一举赢得国内外各大航空公司的青睐,从而 得到极大的发展。然而,航空票务系统的出现与不断的更新发展的同时,对于票 务系统的管理业务,即航空票务系统之后台服务子系统也应运而生,同时得到了 不断的完善和发展。 同时,如今各大航空公司竞争激烈,并且尤为重视在信息领域中的竞争。早 期的国外某航空公司的订票系统以提高效率为目的, 不断增加其前台服务系统的 功能,为航空公司带来巨大利润。可是作为航空行业中的“英雄系统”,此订票 系统在提供强大的前台功能支持的同时, 后台的管理系统却不能很好的对各项业 务进行有效的处理,从而有效的支持前台系统各项功能的实现,进而出现数据紊 乱等不良现象。在国内,也曾有过相似的情况发生。 事实证明,这种过分追求表现功能丰富而不估计后台管理系统完善的做法不 仅不会为航空公司带来长久的利益,反而会使其陷入困境。因此,我们需要建立 一个更为完善,更人性化的后台管理系统。在保证前台服务系统的多项功能稳定 实现的基础上尽可能地完善后台管理系统。 1.2 毕业设计的研究内容 1.2 毕业设计的研究内容 使用 java 语言设计整个后台管理子系统,用 sql server2005 数据库存储相 关信息以供管理员操作。整个系统将实现一下功能: 1管理员在后台服务器上成功登录,并进入管理员主操作页面,同时页面 上动态获取当前登陆管理员的姓名显示在页面首部。 2管理员选择对航班计划操作,则系统跳转到航班计划操作主页面,动态 显示当前数据库中的相关信息供管理员进行操作, 同时在完成操作之后可立即显 示操作后的效果。 3管理员选择对营业员信息操作,则系统跳转到营业员信息操作主页面, - 2 - 动态显示当前数据库中的相关信息供管理员进行操作, 同时在完成操作之后可立 即显示操作后的效果。 4管理员选择对营业网点信息操作,则系统跳转到营业网点信息操作主页 面,动态显示当前数据库中的相关信息供管理员进行操作,同时在完成操作之后 可立即显示操作后的效果。 - 3 - 第 2 章 系统相关技术与理论 第 2 章 系统相关技术与理论 2.1 mvc 设计模式 2.1 mvc 设计模式 2.1.1 mvc 模式的工作流程 2.1.1 mvc 模式的工作流程 本系统是按照 mvc 设计模式开发的,mvc 是一个设计模式,它强制性 的使应用程序的输入、处理和输出分开。使用 mvc 应用程序被分成三个 核心部件:模型、视图、控制器。它们各自处理自己的任务。 1.视图视图 视图是用户看到并与之交互的界面。对老式的 web 应用程序来说, 视图就是由 html 元素组成的界面,在新式的 web 应用程序中,html 依 旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括 macromedia flash 和象 xhtml,xml/xsl,wml 等一些标识语言和 web s ervices. 如何处理应用程序的界面变得越来越有挑战性。mvc 一个大的好处 是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的 处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来 讲,它只是作为一种输出数据并允许用户操纵的方式。 2.模型模型 模型表示企业数据和业务规则。在 mvc 的三个部件中,模型拥有最 多的处理任务。例如它可能用象 ejbs 和 coldfusion components 这样 的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与 数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型 的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。 3.控制器 控制器 控制器接受用户的输入并调用模型和视图去完成用户的需求。所以 当单击 web 页面中的超链接和发送 html 表单时,控制器本身不输出任 何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理 请求,然后确定用哪个视图来显示模型处理返回的数据。 - 4 - 2.1.2 采用 mvc 设计模式的原因 2.1.2 采用 mvc 设计模式的原因 之所以采用 mvc 设计模式开发本次系统,是因为 mvc 开发模式存在着一 下优点: 1.低耦合性低耦合性。视图层和业务层分离,这样就允许更改视图层代码而 不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务 规则的改变只需要改动 mvc 的模型层即可。因为模型与控制器和视图相 分离,所以很容易改变应用程序的数据层和业务规则。 2.高重用性和可适用性高重用性和可适用性。随着技术的不断进步,现在需要用越来越 多的方式来访问应用程序。mvc 模式允许你使用各种不同样式的视图来 访问同一个服务器端的代码。它包括任何 web(http)浏览器或者无线 浏览器(wap),比如,用户可以通过电脑也可通过手机来订购某样产 品,虽然订购的方式不一样,但处理订购产品的方式是一样的。由于模 型返回的数据没有进行格式化,所以同样的构件能被不同的界面使用。 例如,很多数据可能用 html 来表示,但是也有可能用 wap 来表示,而 这些表示所需要的仅令是改变视图层的实现方式,而控制层和模型层无 需做任何改变。 3.较低的生命周期成本较低的生命周期成本。mvc 使降低开发和维护用户接口的技术含 量成为可能。 4.快速的部署4.快速的部署。使用 mvc 模式使开发时间得到相当大的缩减,它使 程序员(java 开发人员)集中精力于业务逻辑,界面程序员(html 和 j sp 开发人员)集中业务于表现形式上。 5.可维护性可维护性。分熟视图层和业务逻辑层也使得 web 应用更易于维护 和修改。 6.有利于软件工程化管理有利于软件工程化管理。由于不同的层各司其职,每一层不同的 应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。 2.2 ajax 技术 2.2 ajax 技术 传统的 web 应用允许用户填写表单(form),当提交表单时就向 web 服务 器发送一个请求。服务器接收并处理传来的表单,然後返回一个新的网页。 - 5 - 这个做法浪费了许多带宽,因为在前後两个页面中的大部分 html 代码往往 是相同的。由于每次应用的交互都需要向服务器发送请求,应用的响应时 间就依赖于服务器的响应时间。这导致了用户界面的响应比本地应用慢得 多。 与此不同,ajax 应用可以仅向服务器发送并取回必需的数据,它使用 s oap 或其它一些基于 xml 的 web service 接口,并在客户端采用 javascrip t 处理来自服务器的响应。因为在服务器和浏览器之间交换的数据大量减 少,结果我们就能看到响应更快的应用。同时很多的处理工作可以在发出 请求的客户端机器上完成,所以 web 服务器的处理时间也减少了。 使用 ajax 的最大优点,就是能在不更新整个页面的前提下维护数据。 这使得 web 应用程序更为迅捷地回应用户动作,并避免了在网络上发送那 些没有改变过的信息。 ajax 不需要任何浏览器插件,但需要用户允许 javascript 在浏览器上 执行。就像 dhtml 应用程序那样,ajax 应用程序必须在众多不同的浏览器 和平台上经过严格的测试。随着 ajax 的成熟,一些简化 ajax 使用方法的 程序库也相继问世。同样,也出现了另一种辅助程序设计的技术,为那些 不支持 javascript 的用户提供替代功能。 2.3 struts 框架 2.3 struts 框架 1.struts 框架的作用 struts 最早是作为 apache jakarta 项目的组成部分,项目的创立者希望通 过对该项目的研究,改进和提高 javaserver pages 、servlet、标签库以及面 向对象的技术水准。struts 这个名字来源于在建筑和旧式飞机中使用的支持金 属架。这个框架之所以叫“struts“,是为了提醒我们记住那些支撑我们房屋,建 筑, 桥梁, 甚至我们踩高跷时候的基础支撑。 这也是一个解释 struts 在开发 web 应用程序中所扮演的角色的精彩描述。当建立一个物理建筑时,建筑工程师使用 支柱为建筑的每一层提供支持。 随着 jsp 与 servlet 技术大量应用于以 web 为基础之应用程序, java 开发 人员群体认为应以较佳之模式以提升 web 应用程序之可维护性与重复使用性。 - 6 - 因此,struts 很自然的走进 java 开发人员的事业当中,并一经实用,立即受到 一致好评。而实用 struts 框架的目的,即是为了减少在运用 mvc 设计模型来开 发 web 应用的时间。 2.struts 框架的工作原理 首 先 , 服 务 器 启 动 后 , 根 据 web.xml 加 载 actionservlet 读 取 struts-config.xml 文件内容到内存。 以登陆为例:第一次进 login.jsp 会先实例化 form、 把默认值赋给表单元素。 输入用户名密码提交表单、提交到 action 属性的 login.do,通过 actionservlet读struts-config.xml文件找到 action下的path属性找到.do, 通过 name 属性找 form-beans 中的 form-bean 的 name 属性得到 actionform 的包 名类名,先实例化 form,把表单的值填充给 form,调用 form 的 validate 方法验 证、actionerrors 返回 null 表示验证通过,否则失败返回 input 指定的页面. 验证通过会实例化 action,执行 action 的 excute 方法。 2.4 数据库访问技术 2.4 数据库访问技术 本次系统中对数据库的操作部分,都是使用 ibatis 技术完成的。 ibatis 一词来源于“internet”和“abatis”的组合,是一个由 clint on begin 在 2001 年发起的开放源代码项目。最初侧重于密码软件的开发, 现在是一个基于 java 的持久层框架。ibatis 提供的持久层框架包括 sql m aps 和 data access objects(dao),同时还提供一个利用这个框架开发 的 jpetstore 实例。 相对 hibernate 和 apache ojb 等“一站式”orm 解决方案而言,ibati s 是一种“半自动化”的 orm 实现。这里的“半自动化”,是相对 hibern ate 等提供了全面的数据库封装机制的“全自动化”orm 实现而言,“全自 动”orm 实现了 pojo 和数据库表之间的映射,以及 sql 的自动生成和执 行。而 ibatis 的着力点,则在于 pojo 与 sql 之 间的映射关系。也就 是说,ibatis 并不会为程序员在运行期自动生成 sql 执行。具体的 sql 需要程序员编写,然后通过映射配置文件,将 sql 所需的参数,以及返回 的结果字段映射到指定 pojo。 - 7 - 使用 ibatis 提供的 orm 机制,对业务逻辑实现人员而言,面对的是纯 粹的 java 对象,这一层与通过 hibernate 实现 orm 而言基本一致,而对 于具体的数据操作,hibernate 会自动生成 sql 语句,而 ibatis 则要求开 发者编写具体的 sql 语句。相对 hibernate 等“全自动”orm 机制而言,i batis 以 sql 开发的工作量和数据库移植性上的让步,为系统设计提供了 更大的自由空间。作为“全自动”orm 实现的一种有益补充,ibatis 的出 现显得别具意义。 2.5 关系数据库与 sqlserver2005 的相关介绍 2.5 关系数据库与 sqlserver2005 的相关介绍 关系数据库是采用关系模型作为数据的组织方式的数据库。 1970 年 ibm 公司 的研究员 e.f.codd 发表了题为大型共享数据库的关系模型的论文,提出了 数据库的关系模型,奠定了关系数据库理论基础。 关系数据库产品一问世,就以其简单清晰的概念,易懂易学的数据库语言, 使用户不需了解复杂的存取路径细节,不需说明“怎么干” ,只需指出“干什么” 就能操作数据库,从而深受广大用户喜爱,涌现出许多性能优良的商品化关系数 据库管理系统,即 rdbms。著名的 db2、oracle、ingres、sybase、informix 等 都是关系数据库管理系统。关系数据库产品也从单一的集中式系统发展到可在网 络环境下运行的分布式系统,从联机事务处理到支持信息管理、辅助决策,系统 的功能不断完善,数据库的应用领域迅速扩大。 sql server 是一个关系数据库管理系统,它最初是由 microsoft sybase 和 ashton -tate 三家公司共同开发的,于 1988 年推出了第一个 os/2 版本。在 windows nt 推出后 microsoft 与 sybase 在 sql server 的开发上就分道扬镳了。 microsoft 将 sql server 移植到 windows nt 系统上, 专注于开发推广 sql server 的 windows nt 版本,sybase 则较专注于 sql server 在 unix 操作系统上的应用。 在本书中介绍的是 microsoft sql server 以后简称为 sql server 或 mssql server。sql server 2005 是 microsoft 公司推出的 sql server 数据库管理系 统的最新版本,该版本继承了 sql server7.0 版本的优点,同时又比它增加了许 多更先进的功能,具有使用方便、可伸缩性好、与相关软件集成程度高等优点, 可跨越从运行在 microsoft windows98 的膝上型电脑到运行在 microsoft - 8 - windowsxp 的大型多处理器的服务器等多种平台使用。 - 9 - 第 3 章 系统需求分析 第 3 章 系统需求分析 3.1 系统设计与分析 3.1 系统设计与分析 本系统为某航空公司所使用的一套国内机票售票系统的后台管理系统,而对 于整个售票系统而言, 它需要完成的功能是能通过分布在全国各主要城市的该航 空公司的营业网点为顾客提供航班查询,购买机票以及退票的服务。而此后台管 理系统的要求是:在航空公司内部能够完成添加或删除航班,添加或删除营业网 点,添加或删除营业员等功能。并将这些信息保存在服务器端,并能在服务器端 随时查询。 由以上分析可以得出结论,此管理系统的实现必须建立在以下基础之上:能 够通过发布在某航空公司在全国各个主要城市的营业网点, 实现对前台各项服务 项目的管理功能。因此,我在系统的设计上必须几个基本的功能项,如主页面的 设计,并要求页面的设计必须符合简洁,内容丰富,界面友好等条件;管理员登 陆功能,同时在管理员登陆操作出错的情况下,做出相应的提示信息;对营业网 点,航班计划,营业员信息的管理操作的设计实现部分必须做到与实际相结合, 具有查询、添加,修改等功能,旨在达到使网上航空售票系统的管理更加方便, 快捷。 3.2 系统主要功能模块分析 3.2 系统主要功能模块分析 在本系统中主要包含以下功能模块: 1.主页面模块 此模块主要实现系统的总页面,主要包括整个系统的总体功能以及各项 菜单。页面的设计必须满足界面友好,操作简洁等特性,是用户能够很快的 使用和适应本系统。 2.登陆模块 该模块的功能主要是对用户的 id 和密码进行审核,当用户的 id 与密码 经核对正确,系统则跳转到主操作页面,同时在此页面顶端显示当前登陆用 户的主要信息,即用户的登录 id。 - 10 - 3.航班计划管理模块 该模块主要是实现对航班计划动态的增、删、查、改等功能,同时用户 (即管理员)能够实时的修改调整当前航班的折扣。 4.营业员信息管理模块 此模块是完成管理员对营业员信息的增、删、查、改的功能。同时修改 后的信息能够及时的现实出来。 5.营业网点管理模块 此模块是完成管理员对营业网点信息的增、删、查、改的功能。同时修 改后的信息能够及时的现实出来。 3.3 业务流程图 3.3 业务流程图 根据之前的系统主要模块的分析,即可得到本系统的业务流程,管理员首先 必须在系统中的登录模块成功登陆,之后才能完成对航班管理,营业网点管理, 营业员管理等各项内容。其中对各个管理模块的操作包括如下几个方面:对航班 计划,营业网点,营业员信息的管理。管理员的功能具体可分为对航班计划,营 业员信息,营业网点信息的增删查改等功能,还包括设置季节折扣。如下图 3.1 所示。 图 3.1 业务流程图 - 11 - 3.4 系统所需使用信息 3.4 系统所需使用信息 1.飞机机型信息 1.飞机机型信息 机型:执行某航班计划的飞机类型 最大航程:执行航班计划的机型能飞行的最大航程 头等舱座位数:固定航班的头等舱座位数 公务舱座位数:固定航班的公务舱座位数 经济舱座位数等信息:固定航班的经济舱座位数 2.航班计划信息 2.航班计划信息 航班号:由航空公司给航班计划定义的唯一标识号码,号码由 2 位英文 字符和 4 位数字组成,2 位英文字符是航空公司编码,4 位数字是航班编码 起始日期:用来描述某个航班计划开始的日期 结束日期:用来描述某个航班计划结束的日期 出发地机场:用于描述执行某航班计划的飞机起飞的机场名 目的地机场:用于描述执行某航班计划的飞机所到达的机场名 离港时间:用来描述某个航班计划的从出发地机场离开的时刻,离港时 间一般代表飞机舱门关闭,不再接收乘客的时刻。该时间精确到分钟 到港时间:用来描述某个航班计划到达目的地机场的时间,到港时间一 般代表飞机舱门开启,允许乘客下飞机的时刻,该时间精确到分钟 执行机型:执行某航班计划的飞机型号 班期:描述某个航班计划在一周之内哪些天有航班,哪些天没有航班 航程:用来描述在某个确定日期执行某个定期航班计划的一次航班 基准票价: 是指某个航班在没有季节折扣时的一张经济舱成人票的价格, 该价格作为该航班计划的基准价格 3.航班信息 3.航班信息 航班编号:执行某航班的飞机的唯一标识的号码 出发日期:用来描述某个航班的出发日期,该日期精确到某一天 头等舱剩余座位数:主要用于描述执行某航班计划的机型剩余的头等舱 座位数 公务舱剩余座位数:主要用于描述执行某航班计划的机型剩余的公务舱 - 12 - 座位数 经济舱剩余座位数:主要用于描述执行某航班计划的机型剩余的经济舱 座位数 季节折扣:航空公司根据不同季节的客流状况调整的航班的折扣 4.营业网点信息 4.营业网点信息 网点编号:描述营业网点的唯一标识的编号 网点名称;描述营业网点的具体名称 地址:描述营业网点的所在地址 电话:描述与营业网点联系的电话号码 所在省份:描述营业网点所在省份的名称 所在城市:描述营业网点所在城市的名称 5.营业员信息 5.营业员信息 营业员编号:区别营业员的唯一标识的号码 营业员名称:描述营业员用于登录的名称 登录密码:描述营业员用于登录的秘密 6.管理员信息 6.管理员信息 管理员编号:区别管理员的唯一标识的号码 管理员名称:描述管理员用于登录的名称 登录密码:描述管理员用于登录的秘密 3.5 系统 e-r 图 3.5 系统 e-r 图 e-r 图也即实体-联系图(entity relationship diagram),提供了表示 实体型、属性和联系的方法,用来描述现实世界的概念模型。 实体型(entity):用矩形表示,矩形框内写明实体名;比如学生张三、 学生李四都是实体。 属性(attribute):用椭圆形表示,并用无向边将其与相应的实体连接 起来;比如学生的姓名、学号、性别、都是属性。 联系(relationship):用菱形表示,菱形框内写明联系名,并用无向边 分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n - 13 - 或 m : n)。 根据之前 3.4章中所列出的此系统所需使用到的与航空后台管理系统的 各种数据,可以得到如下的一个 e-r 图形,如图 3.2 所示。 图 3.2 e-r 图 m 飞机 航班计划 航班 营业网点 营业员 管理员 机型 航程 网点编号 出发日期 座位数 季节折扣 地址 电话 编号 班期 航程 航班号 编号 姓名 密码 编号 姓名 密码 营 业 执 行 执 行 出 售 管 理 n m n 1 m 1 m n 1 - 14 - 第 4 章 功能模块与数据库的设计 第 4 章 功能模块与数据库的设计 4.1 系统功能设计系统功能设计 4.1.1 后台管理系统技术实现分析 4.1.1 后台管理系统技术实现分析 由第 3 章中的系统分析部分的内容已经做出了基本的选择,在此后台管 理系统的实现方面,我在设计模式上选择 mvc 设计模式,因为 mvc 设计模式 是目前流行的设计模式,而且可以有效地解决 b/s 模式下开发信息管理系统 的诸多复杂问题。 而我所采用的框架是 struts 框架技术开发本系统, struts 框架已经投入使用有较长的一段时间,并且得到众多程序员的一致肯定,它 可以看做对 mvc 设计模式的一种集成和提升。最后,我选择使用 ibatis 完 成对 sql 数据库的连接和操作的票务管理系统,ibatis 技术是建立在 jdbc 数据库连接技术的基础之上的,它继承了 jdbc 连接数据库的一部分优良的 特性,同时它也对内存反复读取等问题做出了相应的调整,使对数据库的操 作方面更加快捷,方便和稳定。 .2 后台管理功能模块 后台管理功能模块 根据系统需求中的功能模块划分,可以得到如下图 4.1 所示的系统功能 模块图。 如下图中所显示的, 本系统主要的几个功能模块即是管理员的登录, 以及在本系统中对航班计划,营业网点,营业员信息的管理。管理员的功能 具体可分为对航班计划,营业员信息,营业网点信息的增删查改等功能,还 包括设置季节折扣。 - 15 - 图 4.1 系统功能模块图 4.2 系统数据库设计 4.2 系统数据库设计 根据之前需求中所需要的信息,则需要设计如下 6 张表以供存储数据。 1.飞机机型表(airplane_model) 1.飞机机型表(airplane_model) 此表包括航空公司所属飞机的各种类型和仓位数量等。 表 4.1 飞机机型 表 4.1 飞机机型 model 机型 varchar (20)primary key max_sail_length 最大航程 int not null first_class_seats 头等舱座位数int not null business_class_seats 公务舱座位数int not null economy_class_seats 经济舱座位数int not null 2.航班计划表(flight_scheduler) 2.航班计划表(flight_scheduler) 此表主要用户设定航空公司所属各个航班的飞行计划,包括航班号,起 飞和到达时间等属性。 - 16 - 表 4.2 航班计划 表 4.2 航班计划 flight_number 航班号 varchar(6) primary key start_date 开始日期 datetime not null end_date 结束日期 datetime not null from_city 出发地机场 varchar(3) references airport.airport_code not null to_city 目的地机场 varchar(3) references airport.airport_code not null departure_time 离港时间 datetime not null arrival_time 到港时间 datetime not null airplane 执行机型 varchar(20) references airplane_model.model not null scheduler 班期 varchar(7) not null sail_length 航程 int not null basic_price 基准票价 float not null 3.航班表(flight) : 3.航班表(flight) : 此表主要包括以下属性:航班计划,出发日期,各舱剩余座位数,折扣。 表 4.3 航班 表 4.3 航班 id 航班编号 int primary key identity flight_number 航班号 varchar (6) not null references flight_schedu ler. flight_number departure_date 出发日期 datetime not null first_class_remain_seats 头等舱剩余座 位数 int not null business_class_remain _seats 公务舱剩余座 位数 int not null economy_class_remain _seats 经济舱剩余座 位数 int not null season_ discount 季节折扣 float not null default 1.0 - 17 - 4.营业网点表(branch) 4.营业网点表(branch) 此表主要包括航空公司所属全国各地的用于售票的营业网点。此表包括 id,姓名等属性。 表 4.4 营业网点 表 4.4 营业网点 id 网点编号 int primary key identity name 网点名称 varchar(40) not null address 地址 varchar (50) not null telephone 电话 varchar(15) province 所在省份 varchar(10) not null city 所在城市 varchar(10) not null 5.营业员表(sales) 5.营业员表(sales) 此表主要包含营业员的信息,包括 id,姓名,密码等属性。 表 4.5 营业员 表 4.5 营业员 id 营业员编号 int primary key identity branch_id 网点编号 int not null references branch.id name 营业员名称 varchar(10) not null password 登录密码 varchar(10) not null 6.管理员表(manager) 6.管理员表(manager) 此表主要包含管理员的信息,包括 id,姓名,密码等属性。 表 4.6 营业员 表 4.6 营业员 id 管理员编号 int primary key identity branch_id 网点编号 int not null references branch.id name 营业员名称 varchar(10) not null password 登录密码 varchar(10) not null - 18 - 第 5 章 系统功能实现 第 5 章 系统功能实现 5.1 后台管理系统分析 5.1 后台管理系统分析 21 世纪的特征是数字化、网络化和信息化。随着信息技术的发展,航空售票 业也成为一个高度依赖信息业的行业。 信息技术的飞速发展不仅使航空售票工作 者逐渐摆脱了繁重的手工劳动、提高了工作效率,而且推着航空事业向现代化管 理迈进。现代化的航空售票也应该有现代化的管理系统。在科技益发达的今天, 人们对旅游出行更加重视。因此,航空售票进行现代化管理就变的尤为重要。 本系统正是实现对航空售票系统的现代化管理。此后台管理系统是整个航空 售票系统的后台管理部分, 其主要功能就是要实现管理员对航空售票系统前台信 息的管理和操作,从而完成对此航空信息系统的现代化管理。包括对整个航空售 票系统的操作信息,如营业员信息,航空计划信息的查询和修改等操作。 因此,此后台管理系统的实现是基于 b/s 模式,因此,必须能够通过发布在 某航空公司在全国各个主要城市的营业网点, 实现对前台各项服务项目的管理功 能。还包括实现管理员登陆功能;对营业网点,航班计划,营业员信息的管理操 作功能。 5.2 数据库链接模块 5.2 数据库链接模块 .1 所需解决的问题 数据库连接模块主要需要解决的问题是: 1.完成对后台数据库的连接,包括数据库中对应表于系统中所使用对象之间 的映射关系 2.减少代码的反复读取问题,尽量节约系统的内存资源,提高系统的运行效 率,为系统的维护提供便捷 5.2.2 5.2.2 解决问题的步骤 1.在众多的数据库连接技术中, 选择功能强大, 编写简易, 维护性强的 ibatis 技术作为此次系统开发的数据库链接技术。 2使用工厂模式,实现对内存的一次读取,反复使用。 - 19 - .3 问题解决过程 1.本系统主要使用 ibatis 技术实现对数据库的连接。ibatis 技术实际是将 之前 jdbc 连接数据库时需要重复书写代码的过程省去,直接使用读取配置文件 链接数据库。为开发的过程省去了很多时间,也减少了系统出错的可能性。在实 现以上功能的同时,ibatis 技术还能很好的解决数据库表中字段与系统中使用 对象的映射关系,解决了数据库连接部分代码过于繁杂,维护困难等问题。 数据库连接部分代码如下: 2.对于系统运行过程中,需要对数据库反复操作,从而导致内存反复读取, 浪费系统资源的问题。ibatis 中的配置文件很好的解决了这个问题。配置文件 中的书写内容为数据库的操作语句,与 jdbc 的操作方式不同,ibatis 可以通过 工厂模式和配置文件实现对配置文件的多次读取, 和尽可能减少读取内存的方式 完成对数据库的操作过程。 它将数据库的各个属性通过 xml 文件与系统中使用的 dto 中属性建立映射,并将对数据库操作的 sql 语句封装,可以极大简化数据库 操作部分的代码编写,同时可以缩减内存的读取和分配,极大地节约的系统的资 源消耗,同时提高了系统的运行效率,也降低了系统在运行过程当中可能出现错 误的机率。ibatis 的配置文件部分源代码如下: - 20 - 工厂模式代码如下: public class daofactory private daofactory() public static salerdao getsalerdao() salerdao dao = new salerdaoimpl(); return dao; public static branchdao getbranchdao() branchdao dao=new branchdaoimpl(); return dao; public static flightschedulerdao getflightschedulerdao() flightschedulerdao dao=new flightschedulerdaoimpl(); return dao; public static saleslogindao getsaleslogindao() saleslogindao dao = new saleslogindaoimpl(); return dao; 5.3 管理员后台登录 5.3 管理员后台登录 .1 所需解决的问题 此模块主要需要解决的问题是, 管理员在后台系统登录时, 出现信息错误时, 系统需要提示信息错误, 当用户成功登陆后, 主操作页面需显示用户的登录信息。 5.3.2 5.3.2 解决问题的步骤 1.界面的设计中,使用 form 提交用户的登录信息 2.在代码设计中添加 session,用于收集 form 中的用户登陆信息,显示在系 统的主操作页面 - 21 - .3 问题解决过程 根据以上步骤,首先在系统的登录页面的设计中,使用 form 表单来提交用 户的登录信息,主要收集的信息有管理员的登录姓名和密码。当用户点击登陆按 钮后, 系统会自动将此信息提交到后台管理系统中, 在根据此登录信息查询之前, 系统会自动
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商业培训中教育机器人的作用与应用趋势研究
- 卤肉加工企业培训课件
- 教育与科技的协同发展助力学生成长
- 在线直播教学中学生参与度的提升方法研究
- 中小学教辅材料征订管理制度
- 以创新驱动未来-智能型学习工具如教育机器人的发展策略研究
- 技术助力办公效率探讨使用在线教育平台的实践和成效
- 全球铀矿资源分布与核能产业产业链整合与风险研究报告
- 公交优先战略2025年城市交通拥堵治理的公共交通信息化建设报告
- Chitosan-Cy7-MW-10000-生命科学试剂-MCE
- 广东省佛山市2024-2025学年高一下学期6月期末考试 数学 含解析
- 2025年全国高校辅导员素质能力大赛基础知识测试题及答案(共3套)
- 律师事务所客户信息保密规定
- 云南楚雄州金江能源集团有限公司招聘笔试真题2024
- 2025-2030中国动力电池回收利用技术路线与经济性评估分析研究报告
- 7下期末家长会课件
- 酒店前厅服务流程标准化管理
- 互联网行业产品经理专业顾问聘用协议
- 2025年 东北石油大学招聘考试笔试试题附答案
- 2025年呼伦贝尔农垦集团有限公司工作人员招聘考试试题
- DBJ03-107-2019 房屋建筑和市政工程施工危险性较大的分部分项工程安全管理规范
评论
0/150
提交评论