java航空订票系统毕业设计论文.pdf_第1页
java航空订票系统毕业设计论文.pdf_第2页
java航空订票系统毕业设计论文.pdf_第3页
java航空订票系统毕业设计论文.pdf_第4页
java航空订票系统毕业设计论文.pdf_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

本科毕业论文 java 航空订票系统 摘要 当前中国民航市场扩大迅速 随着生活水平的提高 越来越多的人选择飞机出行 对航空公司的服务要求的越来越高 为了适应快速发展的需求 管理大量数据 有效 地稳定的管理航空公司 我们要为某航空公司开发一套国内机票售票系统 要求能通 过分布在全国各主要城市的该航空公司的营业网点为顾客提供航班查询 购买机票以 及退票的服务 该系统的工作流程如下 当顾客到达营业网点后向航空公司营业员提供出发地 目的地和出发日期 营业员根据以上信息 操作软件 连接航空公司的服务器 查询 满足条件的航班 然后根据顾客的要求选择某个航班 输入乘客信息 以及舱位信息 然后执行出票操作 该系统在营业网点内能够完成营业员登录 查询航班 出票等功 能 在航空公司内部能够完成添加或删除航班 添加或删除营业网点 添加或删除营 业员等功能 除此之外 该系统还要求能统计每个营业网点的业务量 以及每位营业 员 的 工 作 量 并将这些信息保存在服务器端 并能在服务器端随时查询 关键词 民航 管理系统 分层部署 abstractabstractabstractabstract the current chinese commercial aviation expansion of market is rapid along with the living standard enhancement more and more many people chooses the airplane journey to airline s service request more and more high in order to adapt the fast development demand the management mass datas the stable management airline we must develop a set of domestic airplane ticket booking system effectively for some airline the request can through distribute provide the scheduled flight inquiry in the national each main city this airline s business mesh point for the customer the service which the purchase airplane ticket as well as returns a ticket this system work flow is as follows when the customer arrives business mesh point backward airline shop employees to provide embarks above the destination and embarks the date the shop employee according to the information operates the software the connection airline s server the inquiry satisfies the condition the scheduled flight then chooses some scheduled flight according to customer s request inputs the passenger information as well as the seat on a ship information then the execution shows a ticket the operation this system can complete the shop employee in business mesh point to register the inquiry scheduled flight shows a ticket and so on the functions can complete the increase or the deletion scheduled flight in the airline interior the increase or the deletion business mesh point the increase or deletes functions and so on shop employee in addition this system also requests to be able to count each business mesh point the business volume as well as each shop employee s work load and these information preservation in the server end and can inquire as necessary in the server end key words the commercial aviationthe management system management systemthe lamination deployment 目录 1 引言 1 1 民航发展概况 1 2 技术选择 1 3 开发工具 1 2 1cs 与 bs 1 2 2java 技术 1 3 技术选择 2 需求分析 2 1 软件分层与部署 2 2 系统功能模块 2 3 系统活动图 2 3 用例图 2 3 1 客户端用例 2 3 2 服务器端用例 3 概要设计 3 1 业务模型 3 2 数据库设计 3 2 1 飞机机型表 airplane model 3 2 2 航班计划表 flight scheduler 3 2 3 航班表 flight 3 2 4 营业网点表 branch 3 2 5 出票记录表 ticket order 3 3dao 接口设计 3 3 1flightdao 3 3 2branchdao 3 3 3ticketorderdao 3 4 主要工作流程 3 5 详细时序图 4 详细设计 4 1 流程详细分析 4 2 用表格显示表单 4 3 hibernate 映射关系 5 后续改进 6 总结致谢 参考文献 1 引言 1 1 民航发展概况 2007 年 民用航空行业完成旅客总周转量 2776 3 亿人公里 旅客运输量 19452 1 万人 货物周转量 115 6 亿吨公里 民用航空货运量 394 9 万吨 比 2006 年同期分 别增长 18 7 1 7 和 14 3 国内航线 含港澳 三项指标分别完成 232 5 亿吨公 里 1952 1 万人和 272 万吨 同比分别增长 17 1 16 1 和 12 3 国际航线三项 java 航空订票系统2 指标分别完成129 1亿吨公里 1884 1万人和119 4万吨 同比分别增长26 4 20 8 和 26 2 在人民币持续升值预期明确 燃油成本波动相对较平和以及 2008 年奥运 会 2010 年世博会 亚运会等相对积极因素推动下 行业正处于景气度不断提升时 期 根据计划 中国民用航空工业 十一五 期间将在以下 5 个方面取得积极进展 重点民用航空产品 加快民用航空产业化进程 增强民用航空科研生产能力 增强民 用航空工业的自主创新能力 履行政府职能 进一步加强行业管理 在 十一五 期 间 中国将投入约 1400 亿元人民币用于机场建设 这将为民航业的发展创造有利条 件 预计 2006 年至 2010 年间 中国民航航空运输总周转量年均增长保持在 14 左右 2010 年民航运输飞机将达到 1550 架 年均增长 12 本报告在对中国民用航空市场 进行分析的同时 也将行业主力厂商的重点信息收入其中 并对行业内的上市公司企 业进行深入的财务分析 在市场集中度分析方面 本报告力求全面反映中国民用航空 市场占有率的真实情况 深入挖掘市场 cr4 和 cr8 等核心市场数据 并在此基础上对 产业价值链进行深度的剖析 是中国民用航空市场极具研究价值的行业性分析报告 根据研究院的预测 2008 年全球航空运输业的表现将不及 2007 年 预计今年全 行业的毛收入大约为 5140 亿美元 净利润是 50 亿美元 盈利率为 1 从目前到 2026 年 全球市场新增客机和货机的数量将达 24300 架 我们对市场 的预测认为 民用客机的最大需求来自亚太地区 其中中国仍然是最大市场之一 全球航空客运预计以平均每年 4 9 的速度增长 在 20 年内增长将近 3 倍 全球 航空公司 100 座以上飞机机队的规模也将成倍增长 由目前的 13300 架增加到 2026 年的 28550 架 预计接近 8150 架旧飞机需要更新 这就意味着市场需要 23400 架新 飞机 价值 2 6 万亿美元 与此同时 全球航空货运预计以更快的速度增长 年平均 增长率达到 5 8 加上机队更新所需的飞机数 预计未来 20 年内需要 3800 多架新 货机 其中 900 多架将由新我们要为某机票代理公司开发一套机票预定系统 该系统 要求通过分布在每一个 代理点的客户端机器完成查询航班和出票的功能 该软件系统由两部分组成 安 装在代理点机器上的程序是该系统的客户端软件 另外还有安装在代理公司机器上的 服务器端软件 客户端软件能够完成与服务器的通信 根据给定的出发地和目的地以 及出发日期向服务器发送航班查询请求和出票的请求 服务器端软件能够接受客户端 请求 完成航班查询和出票功能 并向客户端返回结果 同时 服务器端软件还能进 行代理商的管理 记录并统计每个代理点的业务量并以日志文件的方式保存下来 飞 机来满足 1 2 技术选择 1 2 1 cs 结构与 bs 结构 内蒙古农业大学学士学位论文3 b s 结构 即 browser server 浏览器 服务器 结构 是随着 internet 技术的兴起 对 c s 结构的一种变化或者改进的结构 在这种结构下 客户机上只要安装一个浏览 器 browser 如 netscape navigator 或 internet explorer 服务器安装 oracle sybase informix 或 sql server 等数据库 浏览器通过 eb server 同数据库进行 数据交互 用户界面完全通过 www 浏览器实现 一部分事务逻辑在前端实现 但是主 要事务逻辑在服务器端实现 形成所谓 3 tier 结构 b s 结构 主要是利用了不断 成熟的 www 浏览器技术 结合浏览器的多种 script 语言 vbscript javascript 和 activex 技术 用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功 能 并节约了开发成本 是一种全新的软件系统构造技术 随着 windows 98 windows 2000 将浏览器技术植入操作系统内部 这种结构更成为当今应用软件的首选体系结 构 b s 最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件 只要有 一台能上网的电脑就能使用 客户端零维护 系统的扩展非常容易 只要能上网 再 由系统管理员分配一个用户名和密码 就可以使用了 甚至可以在线申请 通过公司 内部的安全认证 如 证书 后 不需要人的参与 系统可以自动分配给用户一个 账号进入系统 采用 internet intranet 技术 适用于广域网环境 支持更多的客户 可根据访问量动态配置 web 服务器 应用服务器 以保证系统性 能 客户端只需标准的浏览器 采用面向对象技术 代码可重用性好 系统扩展维护简单 开发费用较高 开发周期较长 c s 结构 即 client server 客户机 服务器 结构 是大家熟知的软件系统体系 结构 通过将任务合理分配到 client 端和 server 端 降低了系统的通讯开销 可以 充分利用两端硬件环境的优势 早期的软件系统多以此作为首选设计标准 b s 结构 即 browser server 浏览器 服务器 结构 是随着 internet 技术的兴起 对 c s 结构的一种变化或者改进的结构 在这种结构下 用户界面完全通过 www 浏览 器实现 一部分事务逻辑在前端实现 但是主要事务逻辑在服务器端实现 形成所谓 3 tier 结构 b s 结构 主要是利用了不断成熟的 www 浏览器技术 结合浏览器的多 种 script 语言 vbscript javascript 和 activex 技术 用通用浏览器就实现了 原来需要复杂专用软件才能实现的强大功能 并节约了开发成本 是一种全新的软件 系统构造技术 随着 windows 98 windows 2000 将浏览器技术植入操作系统内部 这 种结构更成为当今应用软件的首选体系结构 c s 与 b s 区别 client server 是建立在局域网的基础上的 browser server 是建立在广域网的基础 上的 1 硬件环境不同 c s 一般建立在专用的网络上 小范围里的网络环境 局域网之间再通过专门服务 器提供连接和数据交换服务 b s 建立在广域网之上的 不必是专门的网络硬件环境 例与电话上网 租用设备 信息自己管理 有比 c s 更强的适应范围 一般只要有操作系统和浏览器就行 2 对安全要求不同 c s 一般面向相对固定的用户群 对信息安全的控制能力很强 一般高度机密的信 java 航空订票系统4 息系统采用 c s 结构适宜 可以通过 b s 发布部分可公开信息 b s 建立在广域网之上 对安全的控制能力相对弱 面向是不可知的用户群 3 对程序架构不同 c s 程序可以更加注重流程 可以对权限多层次校验 对系统运行速度可以较少考 虑 b s 对安全以及访问速度的多重的考虑 建立在需要更加优化的基础之上 比 c s 有更高的要求 b s结构的程序架构是发展的趋势 从ms的 net系列的biztalk 2000 exchange 2000 等 全面支持网络的构件搭建的系统 sun 和 ibm 推的 javabean 构 件技术等 使 b s 更加成熟 4 软件重用不同 c s 程序可以不可避免的整体性考虑 构件的重用性不如在 b s 要求下的构件的重 用性好 b s 对的多重结构 要求构件相对独立的功能 能够相对较好的重用 就入买来的餐 桌可以再利用 而不是做在墙上的石头桌子 5 系统维护不同 系统维护是软件生存周期中 开销大 重要 c s 程序由于整体性 必须整体考察 处理出现的问题以及系统升级 升级难 可 能是再做一个全新的系统 b s 构件组成 方面构件个别的更换 实现系统的无缝升级 系统维护开销减到最小 用户从网上自己下载安装就可以实现升级 6 处理问题不同 c s 程序可以处理用户面固定 并且在相同区域 安全要求高需求 与操作系统相 关 应该都是相同的系统 b s 建立在广域网上 面向不同的用户群 分散地域 这是 c s 无法作到的 与操 作系统平台关系最小 7 用户接口不同 c s 多是建立的 window 平台上 表现方法有限 对程序员普遍要求较高 b s 建立在浏览器上 有更加丰富和生动的表现方式与用户交流 并且大部分难度 减低 减低开发成本 8 信息流不同 c s 程序一般是典型的中央集权的机械式处理 交互性相对低 b s 信息流向可变化 b b b c b g 等信息 流向的变化 更象交易中心 1 2 21 2 21 2 21 2 2java 技术技术技术技术 java 是由 sun microsystems 公司于 1995 年 5 月推出的 java 程序设计语言 以 下简称 java 语言 和 java 平台的总称 用 java 实现的 hotjava 浏览器 支持 java applet 显示了 java 的魅力 跨平台 动感的 web internate 计算 从此 java 被广泛接受并推动了 web 的迅速发展 常用的浏览器现在均支持 java applet 另一 方面 java 技术也不断更新 java 平台由 java 虚拟机 java virtual machine 和 java 应用编程接口 application programming interface 简称 api 构成 java 应用编程接口为 java 应用提供了一个独立于操作系统的标准接口 可分为基本部分和扩展部分 在硬件或 操作系统平台上安装一个 java 平台之后 java 应用程序就可运行 现在 java 平台 已经嵌入了几乎所有的操作系统 这样 java 程序可以只编译一次 就可以在各种系 内蒙古农业大学学士学位论文5 统中运行 java 应用编程接口已经从 1 1x 版发展到 1 2 版 目前常用的 java 平台 基于 java1 4 最近版本为 java1 6 java 分为三个体系 javase javaee javame javajava 语言语言 java 语言是一个支持网络计算的面向对象程序设计语言 java 语言吸收了 smalltalk 语言和 c 语言的优点 并增加了其它特性 如支持并发程序设计 网络 通信 和多媒体数据控制等 主要特性如下 1 1 javajava 语言是简单的语言是简单的 java 语言的语法与 c 语言和 c 语言很接近 使得大多 数程序员很容易学习和使用 java 另一方面 java 丢弃了 c 中很少使用的 很难 理解的 令人迷惑的那些特性 如操作符重载 多继承 自动的强制类型转换 特别 地 java 语言不使用指针 并提供了自动的废料收集 使得程序员不必为内存管理 而担忧 2 javajava 语言是一个面向对象的语言是一个面向对象的 java 语言提供类 接口和继承等原语 为了简 单起见 只支持类之间的单继承 但支持接口之间的多继承 并支持类与接口之间的 实现机制 关键字为 implements java 语言全面支持动态绑定 而 c 语言只对 虚函数使用动态绑定 总之 java 语言是一个纯的面向对象程序设计语言 3 3 javajava 语言是分布式的语言是分布式的 java 语言支持 internet 应用的开发 在基本的 java 应用编程接口中有一个网络应用编程接口 它提供了用于网络应用编程 的类库 包括 url urlconnection socket serversocket 等 java 的 rmi 远程 方法激活 机制也是开发分布式应用的重要手段 4 4 javajava 语言是健壮的 语言是健壮的 java 的强类型机制 异常处理 废料的自动收集等是 java 程序健壮性的重要保证 对指针的丢弃是 java 的明智选择 java 的安全检查机 制使得 java 更具健壮性 5 5 javajava 语言是安全的 语言是安全的 java 通常被用在网络环境中 为此 java 提供了一个 安全机制以防恶意代码的攻击 除了 java 语言具有的许多安全特性以外 java 对通 过网络下载的类具有一个安全防范机制 类 classloader 如分配不同的名字空间 以防替代本地的同名类 字节代码检查 并提供安全管理机制 类 securitymanager 让 java 应用设置安全哨兵 6 javajava 语言是体系结构中立的语言是体系结构中立的 java 程序 后缀为 java 的文件 在 java 平台 上被编译为体系结构中立的字节码格式 后缀为 class 的文件 然后可以在实现这 个 java 平台的任何系统中运行 这种途径适合于异构的网络环境和软件的分发 7 7 javajava 语言是可移植的 语言是可移植的 这种可移植性来源于体系结构中立性 另外 java 还严格规定了各个基本数据类型的长度 java 系统本身也具有很强的可移植性 java 编译器是用 java 实现的 java 的运行环境是用 ansi c 实现的 8 8 javajava 语言是解释型的 语言是解释型的 如前所述 java 程序在 java 平台上被编译为字节码 格式 然后可以在实现这个 java 平台的任何系统中运行 在运行时 java 平台中 的 java 解释器对这些字节码进行解释执行 执行过程中需要的类在联接阶段被载入 到运行环境中 9 9 javajava 是高性能的是高性能的 与那些解释型的高级脚本语言相比 java 的确是高性能的 事实上 java 的运行速度随着 jit just in time 编译器技术的发展越来越接近于 c 1010 javajava 语言是多线程的语言是多线程的 在 java 语言中 线程是一种特殊的对象 它必须由 java 航空订票系统6 thread 类或其子 孙 类来创建 通常有两种方法来创建线程 其一 使用型构为 thread runnable 的构造子将一个实现了 runnable 接口的对象包装成一个线程 其 二 从 thread 类派生出子类并重写 run 方法 使用该子类创建的对象即为线程 值 得注意的是 thread 类已经实现了 runnable 接口 因此 任何一个线程均有它的 run 方法 而 run 方法中包含了线程所要运行的代码 线程的活动由一组方法来控制 java 语言支持多个线程的同时执行 并提供多线程之间的同步机制 关键字为 synchronized 1111 javajava 语言是动态的 语言是动态的 java 语言的设计目标之一是适应于动态变化的环境 java 程序需要的类能动态地被载入到运行环境 也可以通过网络来载入所需要的类 这也有利于软件的升级 另外 java 中的类有一个运行时刻的表示 能进行运行时 刻的类型检查 java 语言的优良特性使得 java 应用具有无比的健壮性和可靠性 这也减少了应 用系统的维护费用 java 对对象技术的全面支持和 java 平台内嵌的 api 能缩短应用 系统的开发时间并降低成本 java 的编译一次 到处可运行的特性使得它能够提供 一个随处可用的开放结构和在多平台之间传递信息的低成本方式 特别是 java 企业 应用编程接口 java enterprise apis 为企业计算及电子商务应用系统提供了有关 技术和丰富的类库 1 3 开发工具 eclipse eclipse eclipse eclipse eclipse 是一个开放源代码的 基于 java 的可扩展开发平台 就其本身而言 它只是一个框架和一组服务 用于通过插件组件构建开发环境 幸运的是 eclipse 附带了一个标准的插件集 包括 java 开发工具 java development tools jdt eclipse 还包括插件开发环境 plug in development environment pde 这个组 件主要针对希望扩展 eclipse 的软件开发人员 因为它允许他们构建与 eclipse 环境无缝集成的工具 jdbcjdbcjdbcjdbc jdbc java data base connectivity java 数据库连接 是一种用于执行 sql 语句的 java api 可以为多种关系数据库提供统一访问 它由一组用 java 语言编写 的类和接口组成 jdbc 为工具 数据库开发人员提供了一个标准的 api 据此可以构 建更高级的工具和接口 使数据库开发人员能够用纯 java api 编写数据库应用程 序 同时 jdbc 也是个商标名 hibernatehibernatehibernatehibernate hibernate 是一个开放源代码的对象关系映射框架 它对 jdbc 进行了非常轻量级的 对象封装 使得 java 程序员可以随心所欲的使用对象编程思维来操纵数据库 hibernate 可以应用在任何使用 jdbc 的场合 既可以在 java 的客户端程序使用 也 可以在 servlet jsp 的 web 应用中使用 最具革命意义的是 hibernate 可以在应用 ejb 的 j2ee 架构中取代 cmp 完成数据持久化的重任 内蒙古农业大学学士学位论文7 hibernate 的核心接口一共有 5 个 分别为 session sessionfactory transaction query 和 configuration 这 5 个核心接口在任何开发中都会用到 通过这些接口 不仅可以对持久化对象进行存取 还能够进行事务控制 下面对这五的核心接口分别 加以介绍 session 接口 session 接口负责执行被持久化对象的 crud 操作 crud 的任务 是完成与数据库的交流 包含了很多常见的 sql 语句 但需要注意的是 session 对象是非线程安全的 同时 hibernate的session不同于jsp应用中的httpsession 这里当使用 session 这个术语时 其实指的是 hibernate 中的 session 而以后会将 httpsesion 对象称为用户 session sessionfactory 接口 sessionfactroy 接口负责初始化 hibernate 它充当数 据存储源的代理 并负责创建 session 对象 这里用到了工厂模式 需要注意的是 sessionfactory 并不是轻量级的 因为一般情况下 一个项目通常只需要一个 sessionfactory 就够 当需要操作多个数据库时 可以为每个数据库指定一个 sessionfactory configuration 接口 configuration 接口负责配置并启动 hibernate 创建 sessionfactory 对象 在 hibernate 的启动的过程中 configuration 类的实例首先 定位映射文档位置 读取配置 然后创建 sessionfactory 对象 transaction 接口 transaction 接口负责事务相关的操作 它是可选的 可发 人员也可以设计编写自己的底层事务处理代码 query 和 criteria 接口 query 和 criteria 接口负责执行各种数据库查询 它 可以使用 hql 语言或 sql 语句两种表达方式 2 需求分析 2 1 软件分层与部署 我把软件非为三个层次 分别是表现层 业务层 和持久层 表现层即是客户端 客户端包装请求 通过 socket 发放服务器 服务器通过控制器 把请求转发给不同的模块处理 模块调用相应的 dao 访问数据库 软件分层实现了格模块功能之间的松散耦合 有利于功能扩展 系统维护 java 航空订票系统8 图 1部署图 2 2 系统功能模块 主要的系统功能模块如下 客户端模块 1 代理商登陆模块 branchdao getbrancht 2 查询航班模块 a flightdao getallflights 3 订票模块 a orderticketdao order 4 修改密码模块 a agentdao modifypassword 服务器模块 1 添加营业网点模块 b branchdao addbranch 2 删除营业网点模块 b branchdao removebranch 3 查询营业网点模块 b branchdao addbranch 4 添加飞机型号模块 b planemodeldao addplanemodel 5 添加航班计划模块 b flightdao addflightschedular 6 查询航班计划模块 b flightdao getallflightschedulars 7 添加航班模块 b flightldao addflightl 8 统计所有出票记录模块 ticketorderdao getallticketorder 9 统计网点出票记录模块 ticketorderdao getbranchticketorder 内蒙古农业大学学士学位论文9 x x 航 空 公 司 国 内 机 票 售 票 系 统 前 台 操 作 后 台 管 理 营 业 员 登 录 查 询 航 班 出 票 添加航班计划 删除航班计划 添加营业网点 删除营业网点 管 理 员 登 录 航 班 管 理 营业网点管理 统 计 信 息 营业员修改密码 查询营业网点业务量 查 询 月 报 表 查询出票信息 查询航班计划 查询营业网点 添加飞机型号 图 2模块划分 2 3 系统活动图 系统活动过程如下 服务器读取配置文件 启动 之后可以进行航班管理 网点管理 统计信息等 客户端读取配置文件 启动 连接服务器 登陆成功后 才可以进行航班查询修 改密码 订票等操作 每一步操作都要发往服务器处理 服务器同时可以服务多个客户端线程 java 航空订票系统10 图 3系统活动图 2 3 用例图 2 3 1 客户端用例 此图描述了客户端的各功能依赖关系 内蒙古农业大学学士学位论文11 图 4客户端用例图 2 3 2 服务器端用例 此图描述了服务器各功能关系 java 航空订票系统12 图 5服务器端用例图 3 概要设计 3 1 业务模型 通过上面的分析 我建立了下列业务模型 航班计划航班计划 flight flight scheduler scheduler 用来描述由某个航空公司执行的某个定期航班的计划 表 例如 由中国国际航空公司执行的每天早上8 00从北京起飞 上午10 00到达上 海的ca1202就是一个航班计划 属性 航班号 起始日期 结束日期 出发地 目的地 离港时间 到港时间 里程 飞机机型 班期 基准票价 航班航班 flight flight 用来描述在某个确定日期执行某个定期航班计划的一次航班 例如 2008年5月25日从北京飞上海的ca1202就是一个航班的实例 属性 航班计划 出发日期 各舱剩余座位数 折扣 起始日期 起始日期 startstart datedate 用来描述某个航班计划开始的日期 结束日期 结束日期 endend datedate 用来描述某个航班计划结束的日期 营业网点营业网点 b branch ranch 用来描述航空公司的某个分支机构 该机构能使用该系统为顾客 提供查询航班和出票的服务 营业网点通过若干台终端机器与航空公司的服务器相 连 内蒙古农业大学学士学位论文13 属性 编号 名称 密码 城市 地址 航班号航班号 planemodel planemodel 由航空公司给航班计划定义的唯一标识号码 该号码由 2 位英 文字符和 4 位数字组成 2 位英文字符是航空公司编码 4 位数字是航班编码 例如 ca1202 就是一个航班计划的航班号 其中 ca 代表中国国际航空公司 1202 代表航班 的编号 出发地出发地 fromfrom citycity 用来描述某个航班计划的起飞城市和机场 所有国内机场均用 三个英文字母的代码表示 详情请见附录 i 国内机场代码表 目的地目的地 toto citycity 用来描述某个航班计划的到达城市和机场 所有国内机场均用三 个英文字母的代码表示 详情请见附录 i 国内机场代码表 离港时间离港时间 departuredeparture 用来描述某个航班计划的从出发地机场离开的时刻 离港 时间一般代表飞机舱门关闭 不再接收乘客的时刻 该时间精确到分钟 到港时间到港时间 arrivalarrival 用来描述某个航班计划到达目的地机场的时间 到港时间一 般代表飞机舱门开启 允许乘客下飞机的时刻 该时间精确到分钟 出发日期 出发日期 datedate 用来描述某个航班的出发日期 该日期精确到某一天 班期班期 schedulerscheduler 用来描述某个航班计划在一周之内哪些天有航班 哪些天没有航 班 舱位等级舱位等级 c cabinabin classclass 用来描述航班的不同舱位 一般分为三种 头等舱 f 公物舱 c 经济舱 y 不同的舱位等级具有不同的机票折扣 详情请参见舱位折舱位折 扣扣和机票价格机票价格 实际情况中航空公司定义的舱位等级可能更复杂 在本项目中为简化业务模型 只 对舱位等级作上述三种划分 乘客类型乘客类型 passengerpassenger typetype 用来描述乘坐航班的乘客的类型 一般分为三种 成 人 a age 12 儿童 c 2 age 12 婴儿 i 0 age 2 不同的乘客类型具 有不同的机票折扣 详情请见乘客折扣乘客折扣 在这三种乘客类型中 成人和儿童占用座位 而婴儿不占用座位 婴儿票不能单独出售 一张婴儿票必须凭一张成人票售出 飞机机型飞机机型 airplaneairplane modelmodel 用来描述执行某个航班计划的飞机的型号 一般来讲 一个航班计划的各次航班都应该采用同种机型的飞机来执行 不同的飞机型号有不同 的航程及各舱座位数 详情请参见附录附录 iiii 民航飞机型号一览表民航飞机型号一览表 实际情况中 各种机型的座位数是不一样的 同一机型还分好几个系列 如 b737 波音 737 有 b737 200 b737 300 b737 900 等多个系列 每个系列座位数都 不一样 即使是同一型号 同一系列的机型 所属的航空公司不同 座位数也会不同 因为航空公司在购买飞机时 会根据自己的需要要求厂家采用不同的布局 不同的布 局会有不同的头等舱 公务舱 经济舱座位数 在本项目中为简化业务模型 我们认 java 航空订票系统14 为同种型号的飞机各舱座位数是固定的 基准票价基准票价 fullfull price price 是指某个航班在没有季节折扣时的一张经济舱成人票的价 格 该价格作为该航班计划的基准价格 最终机票价格应该在此基础上乘以季节折扣季节折扣 舱位折扣舱位折扣和乘客类型折扣乘客类型折扣 季节折扣季节折扣 priceoff priceoff 航空公司根据不同季节的客流状况调整的航班的折扣 只有 经济舱的成人票才享受季节折扣 舱位折扣舱位折扣 class class discountdiscount 不同舱位在基准价格基础上的价格系数 头等舱为 1 5 公务舱为 1 3 经济舱为 1 0 乘客类型折扣乘客类型折扣 passengerpassenger discountdiscount 不同乘客类型在基准票价基础上的价格系数 成人为 1 0 儿童为 0 5 婴儿为 0 1 机票订单机票订单 ticket ticket order order 一张成功出票的机票记录 一张成功出票的机票记录 机票价格机票价格 ticketticket priceprice 一张机票的价格 机票价格由以下公式计算 经济舱成人票票价 基准价格 季节折扣 其他舱位乘客票价 基准价格 舱位折扣 乘客类型折扣 其中抽象出以下数据类型 其总舱位等级和机票类型为枚举类型 内蒙古农业大学学士学位论文15 图 6类图 3 2 数据库设计 根据数据模型 设计数据库如下 其中航班计划表有一个外间引用飞机机型表 航班表引用航班计划表 订单表引用航班表和网点表 3 2 13 2 13 2 13 2 1 飞机机型表 飞机机型表 airplane modelairplane modelairplane modelairplane model 表 1 飞机机型表 字段名字段名描述描述类型类型约束约束 modelmodelmodelmodel机型机型varcharvarcharvarcharvarchar 20 20 20 20 p p p primaryrimaryrimaryrimarykeykeykeykey maxmaxmaxmaxlengthlengthlengthlength最大航程最大航程number 6 number 6 number 6 number 6 notnotnotnot nullnullnullnull firstfirstfirstfirst class seats class seats class seats class seats头等舱座位数头等舱座位数number 3 number 3 number 3 number 3 notnotnotnot nullnullnullnull businessbusinessbusinessbusiness class seats class seats class seats class seats公务舱座位数公务舱座位数number 3 number 3 number 3 number 3 notnotnotnot nullnullnullnull economyeconomyeconomyeconomy class seats class seats class seats class seats经济舱座位数经济舱座位数number 3 number 3 number 3 number 3 notnotnotnot nullnullnullnull java 航空订票系统16 3 2 23 2 23 2 23 2 2 航班计划表 航班计划表 flight schedulerflight schedulerflight schedulerflight scheduler 表 2 航班计划表 字段名字段名描述描述类型类型约束约束 flightflightflightflight number number number number航班号航班号char 6 char 6 char 6 char 6 p p p primaryrimaryrimaryrimarykeykeykeykey startstartstartstart date date date date开始日期开始日期datedatedatedatenotnotnotnotnullnullnullnull endendendend date date date date结束日期结束日期datedatedatedatenotnotnotnotnullnullnullnull fromfromfromfromaddressaddressaddressaddress出发地机场出发地机场char 3 char 3 char 3 char 3 r r r referenceseferenceseferenceseferences airport airport codeairport airport codeairport airport codeairport airport code totototoaddressaddressaddressaddress目的地机场目的地机场char 3 char 3 char 3 char 3 r r r referenceseferenceseferenceseferences airport airport codeairport airport codeairport airport codeairport airport code notnotnotnotnullnullnullnull starttimestarttimestarttimestarttime离港时间离港时间datedatedatedatenotnotnotnotnullnullnullnull endtimeendtimeendtimeendtime到港时间到港时间datedatedatedatenotnotnotnotnullnullnullnull airplaneairplaneairplaneairplane执行机型执行机型varchar 20varchar 20varchar 20varchar 20 r r r referenceseferenceseferenceseferences airplane model modelairplane model modelairplane model modelairplane model model notnotnotnotnullnullnullnull s s s schedulerchedulerchedulercheduler班期班期char 7 char 7 char 7 char 7 notnotnotnotnullnullnullnull sailsailsailsail length length length length航程航程number 5 number 5 number 5 number 5 notnotnotnotnullnullnullnull 3 2 33 2 33 2 33 2 3 航班表 航班表 flightflightflightflight 表 3 航班表 字段名字段名描述描述类型类型约束约束 idididid航班编号航班编号number 8 number 8 number 8 number 8 p p p primaryrimaryrimaryrimarykeykeykeykey flightflightflightflight number number number number航班号航班号charcharcharchar 6 6 6 6 referencesreferencesreferencesreferences f f f flightlightlightlight s s s schedulerchedulerchedulercheduler flightflightflightflight number number number number calendarcalendarcalendarcalendar出发日期出发日期datedatedatedatenotnotnotnotnullnullnullnull firstfirstfirstfirst class remain seats class remain seats class remain seats class remain seats头等舱剩头等舱剩 余座位数余座位数 number 3 number 3 number 3 number 3 notnotnotnotnullnullnullnull businessbusinessbusinessbusiness class remain class remain class remain class remain seats seats seats seats公务舱剩公务舱剩 余座位数余座位数 number 3 number 3 number 3 number 3 notnotnotnotnullnullnullnull economyeconomyeconomyeconomy class remain class remain class remain class remain seats

温馨提示

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

评论

0/150

提交评论