




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
论文分类号: TP 学校代码: 13681 毕业设计说明书毕业设计说明书(论文论文) 题目:题目: 基于基于Android的航空订票系统的设计与实现的航空订票系统的设计与实现 学生姓名:学生姓名: 刘 丽 学学 号:号: 2308209 系系 部:部: 信工四系 专业班级:专业班级: 网络 082 班 指导教师:指导教师: 张 辉 二 一一年 五 月 HAOJING COLLEGE SHAANXI UNIVERSITY OF SCIENCE TECHNOLOGY I Vovage Reservation System design Base On Android ABSTRACT With the rapid economic and technological development, peoples living standards have greatly improved, more and more people travel, choose to fly, so that the civil aviation market is expanding rapidly. To meet the demand for improving service quality, improve service quality, as Android smartphone users to provide real-time online booking service, TOLO airline decided to develop a 3G application portal system. The system makes Android smartphone users can complete the flight client inquiries, booking, order management, order payment, network queries, membership points queries, dynamic flight information, subscribe to news and other features. Before the project development, TOLO line network-based airline has the T-ABCS business teller systems, and Internet-based T-WABS (web operating system), the former mainly TOLO outlets within airlines operating services to provide complete (booking, refund, 改签, print invoices, integration management, etc.), which is limited to ordinary Internet users of services (booking, payment, check, etc.). T-3GABS with the above two projects share the same flight information,and T-WABS share the same user account and order information. Client software to complete communication with the server,according to the given origin and destination and flight departure date query to the server and the ticket requests. Server software to accept client requests, inquiries and complete the flight ticket function returns the result to the client. Meanwhile, the server-side software agents can carry out the management of records and statistics for each agent points to the volume of business and the way the log files saved. KEYWORDS: TOLO airlines、android smartphone、booking tickets service、select II 基于基于 Android 的航空订票系统的设计与实现的航空订票系统的设计与实现 摘摘 要要 随着经济和科技的飞速发展,人民的生活水平有了很大的提高,越来越多的人出行时, 选择乘坐飞机,从而使民航市场迅速扩大。为了适应需求改进服务质量,提升服务品质, 为 Android 智能手机用户提供实时在线的订票服务,TOLO 航空公司决定开发一套 3G 应用 门户系统。该系统使得用户能通过 Android 智能手机客户端完成航班查询,订票,订单管 理,订单支付,网点查询,会员积分查询,动态航班查询,订阅消息等功能。 在该项目开发之前,TOLO 航空公司已有基于专线网络的 T-ABCS 营业柜员系统,和 基于 Internet 的 T-WABS(web 营业系统),前者主要为 TOLO 航空公司内部的营业网点 提供完整的营业服务(订票,退票,改签,打印发票,积分管理等),后者为普通互联网 用户提供受限的服务(订票,支付,查询等)。T-3GABS 与以上两个项目共享同样的航班 信息,与 T-WABS 共享同样的用户账户和订单信息。 客户端软件能够完成与服务器的通信,根据给定的出发地和目的地以及出发日期向服 务器发送航班查询请求和出票的请求。服务器端软件能够接受客户端请求,完成航班查询 和出票功能,并向客户端返回结果。同时,服务器端软件还能进行代理商的管理,记录并 统计每个代理点的业务量并以日志文件的方式保存下来。 关键词:关键词:途乐航空、Android 智能手机、订票服务、查询 III 目目 录录 1 引 言 .1 1.1 国内民航发展概括 1 1.2 3G 技术1 2 应用的技术3 2.1 开发环境 3 2.2 技术的选择 3 2.2.1 C/S 构架 3 2.2.2 Java 技术 .3 2.2.3 JAVA 的语言的主要特点 .4 2.3 开发工具 4 2.4 MVC 架构.6 3 项目需求分析 8 3.1 项目的要求 8 3.2 项目的页面列表(附录 I).8 3.3 页面交互列表(附录 II)8 3.4 项目的功能 8 3.4.1 功能全图 8 3.4.2 客户端功能依赖图 9 3.5 登录功能用例( 附录 III).11 3.6 非功能性需求 .12 3.6.1 性能需求 .12 3.6.2 安全性需求 .12 3.6.3 可靠性和可用性需求 .12 4 项目的设计与实现 .14 4.1 项目的分层 .14 4.2 业务的模型 .14 4.3 数据库的设计 .15 4.4 DAO 接口的设计15 4.5 通信的设计 .16 IV 4.6 错误的处理 .16 4.7 工作的流程 .16 4.7.1 主要工作流程 .16 4.7.2 订票模块详细时序图 .18 4.7.3 用户管理程序描述 .18 5 项目的测试 .21 5.1 测试方法 .21 5.2 改进的方面 .21 结 论22 致 谢23 参考文献.24 附录 I:主要页面 .25 附录 II:页面交互 27 附录 III:用例清单 .28 毕业设计说明书(论文)缩写稿.29 GRADUATION MANUAL (PAPER) ABBREVIATED TRANSLATION DRAFT35 基于 Android 的航空订票系统的设计与实现 1 1 引引 言言 这里主要介绍开发基于 Android 的航空订票系统的背景,由于国内民航的迅速发展以 及 3G 的快速崛起,人们需要更好的技术、更先进的系统软件来满足需求。同时这里也提 及了关于这个项目的开发环境、技术的选择、开发的工具、MVC 的构架会有助于项目的实 现。 1.1 国内民航发展概括 新中国民航业的发展起步于 1949 年,建立起发展的基本框架是在 20 世纪 80 年代改革 开放之后,而真正的起飞则是在 90 年代。到 1998 年底民航运输飞机达到 523 架,比 1990 年增加约 2 倍,而且增加的都是技术先进、性能优良的新机型。90 年代民航运输生产进一 步高速增长均达到民航历史最高水平,而且在各种运输方式中也是增幅最高的,比公路客 运增幅高 出 1 倍,比铁路客运增幅高出 4 倍我国民航业伴随整个国民经济的发展而不断发 展壮大。特别是改革开放 20 年来,航空运量持续快速增长,航线网络不断扩大,机队运输 能力显着增强,机场、空管等基础设施建设取得重大进展,管理体制改革和扩大对外开放 迈出 较大步伐。航空运输在我国改革开放和加速社会主义现代化建设中发挥着越来越大的 作用。民航是一个发展快、收入水平较高的行业,改革和重组中可 能出现的困难比其他许 多行业都要小。事实上,一些年来,民航系统从主管机构到企业对改革的必要性和紧迫性 的体会最为深切,也做了不少有益工作。只要目标正确、措施得当、民航系统改革完全可 以在不太长的时间内取得突破性进展,这样就迫使有更好的技术来满足人们的需求。 1.2 3G 技术 “3G”是第三代移动通信技术的简称,是指支持高速数据传输的蜂窝移动通讯技术。3G 服务能够同时传送声音(通话)及数据信息(电子邮件、即时通信等),其代表特征是提供高速 数据业务。特别手提到 3G 机都有一个超大的彩色显示屏,往往还是触摸式的。3G 手机除 了能完成高质量的日常通信外,还能进行多媒体通信。使用者可以在 3G 手机的触摸显示 屏上直接写字、绘图,并将其传送给另一台手机,而所需时间可能不到一秒。当然,也可 以将这些信息传送给一台电脑,或从电脑中下载某些信息;用户可以用 3G 手机直接上网, 查看电子邮件或浏览网页。将有不少型号的 3G 手机自带摄像头,这将使用户可以利用手 机进行电脑会议。 3G 的核心应用包括: 1. 宽带上网 宽带上网是 3G 手机的一项很重要的功能,届时我们能在手机上收发语音 邮件、写博客、聊天、搜索、下载图铃等现在不少人以为这些在手机上的功能应用要 等到 3G 时代。 2 1 引言 2. 手机办公、手机执法和手机商务 随着带宽的增加,手机办公越来越受到青睐。手 机办公使得办公人员可以随时随地与单位的信息系统保持联系,完成办公功能。这包括移 动办公、移动执法、移动商务等等。与传统的 OA 系统相比,手机办公摆脱了传统 OA 局 限于局域网的桎梏,办公人员可以随时随地访问政府和企业的数据库,进行实时办公和处 理业务,极大地提高了办公和执法的效率。 3. 视频通话 3G 时代,传统的语音通话已经是个很弱的功能了,到时候视频通话和语音 信箱等新业务才是主流,传统的语音通话资费会降低,而视觉冲击力强,快速直接的视频 通话会更加普及和飞速发展。 4. 手机电视 从运营商层面来说,3G 牌照的发放解决了一个很大的技术障碍,TD 和 CMMB 等标准的建设也推动了整个行业的发展。手机流媒体软件会成为 3G 时代最多使用 的手机电视软件,在视频影像的流畅和画面质量上不断提升,突破技术瓶颈,真正大规模 被应用。 5. 无线搜索 对用户来说,这是比较实用型的移动网络服务,也能让人快速接受。随 时随地用手机搜索将会变成更多手机用户一种平常的生活习惯。 6. 手机音乐 在无线互联网发展成熟的日本,手机音乐是最为亮丽的一道风景线,通 过手机上网下载音乐是电脑的 50 倍。3G 时代,只要在手机上安装一款手机音乐软件,就 能通过手机网络,随时随地让手机变身音乐魔盒,轻松收纳无数首歌曲,下载速度更快, 耗费流量几乎可以忽略不计。 7. 手机办公 随着带宽的增加,手机办公越来越受到青睐。手机办公使得办公人员可 以随时随地与单位的信息系统保持联系,完成办公功能。这包括移动办公、移动执法、移 动商务等等。极大地提高了办事和执法的效率。 8. 手机购物 目前 90%的日本韩国手机用户都已经习惯在手机上消费,甚至是购买大 米、洗衣粉这样的日常生活用品。专家预计,中国未来手机购物会有一个高速增长期,用 户只要开通手机上网服务,就可以通过手机查询商品信息,并在线支付购买产品。高速 3G 可以让手机购物变得更实在,高质量的图片与视频会话能使商家与消费者的距离拉近,提 高购物体验,让手机购物变为新潮流。 9. 手机网游 与电脑的网游相比,手机网游的体验并不好,但方便携带,随时可以玩, 这种利用了零碎时间的网游是目前年轻人的新宠。 基于 Android 的航空订票系统的设计与实现 3 2 应用的技术 2.1 开发环境 服务器操作系统平台:WindowsXP 客户端手机系统平台:Android 2.2 开发平台:Eclipse 开发语言:Java 架构:MVC 构架 数据库:MySQL 2.2 技术的选择 良好的技术会使整个项目系统很好的运行、减少了不必要的错误,同时也会使整个 系统的编写 能很好的实现。 2.2.1 C/S 构架 Client/Server(客户端/服务器)结构,是软件系统体系结构,通过将任务合理分配到 Client 端和 Server 端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。在这 种结构下,用户界面完全通过 WWW 浏览器实现,一部分事务逻辑在前端实现,但是主要 事务逻辑在服务器端实现。C/S 一般建立在专用的网络上,小范围里的网络环境, 局域网 之间再通过专门服务器提供连接和数据交换服务。C/S 一般面向相对固定的用户群。 对信 息安全的控制能力很强,C/S 程序可以更加注重流程, 可以对权限多层次校验, 对系统运行 速度可以较少考虑。 C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级、 升级难、可能是再做一个全新的系统。 C/S 程序可以处理用户面固定; 并且在相同区域, 安全要求高需求,与操作系统相关。 应该都是相同的系统 C/S 程序一般是典型的中央集 权的机械式处理, 交互性相对低,C/S 多是建立的 Window 平台上,表现方法有限,对程 序员普遍要求较高。 2.2.2 Java 技术 Java,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平 台的总称。用 Java 实现的 HotJava 浏览器(支持 Java applet)显示了 Java 的魅力:跨平台、 动态的 Web、Internet 计算。Java 平台由 Java 虚拟机(Java Virtual Machine)和 Java 应用 编程接口(Application Programming Interface、简称 API)构成。Java 的三个版本:Java SE(标准版本)、Java EE(企业版本)、Java ME(微小版本)。 4 2 应用的技术 2.2.3 JAVA 的语言的主要特点 1. Java 语言是简单的。Java 语言的语法与 C 语言和 C+语言很接近, Java 丢弃了 C+ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的 强制类型转换。特别地,Java 语言不使用指针,并提供了自动的废料收集。 2. 只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机 制和运行环境。 3. Java 语言是分布式的。Java 语言支持 Internet 应用的开发,在基本的 Java 应用编程 接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括 URL、URLConnection、Socket、 ServerSocket 等。 4. Java 语言是健壮的。Java 的强类型机制、异常处理、废料的自动收集等是 Java 程序 健壮性的重要保证。对指针的丢弃是 Java 的明智选择。Java 的安全检查机制使得 Java 更具 健壮性。 5. Java 语言是安全的。Java 通常被用在网络环境中,为此 Java 提供了一个安全的全机 制以防恶意代码的攻击。 6. Java 语言是体系结构中立的。Java 程序(后缀为 java 的文件)在 Java 平台上被编译 为体系结构中立的字节码格式(后缀为 class 的文件),然后可以在实现这个 Java 平台的 任何系统中运行。这种途径适合于异构的网络环境和软件的分发。 7. Java 语言是可移植的。这种可移植性来源于体系结构中立性。 8. Java 语言是多线程的。线程是一种特殊的对象,它必须由 Thread 类或其子类来创建。 通常有两种方法来创建线程:其一,使用型构为 Thread(Runnable) 的构造子将一个实现了 Runnable 接口的对象包装成一个线程;其二,从 Thread 类派生出子类并重写 run 方法,使 用该子类创建的对象即为线程。 9. Java 语言的优良特性使得 Java 应用具有无比的健壮性和可靠性,这也减少了应用系 统的维护费用。Java 对对象技术的全面支持和 Java 平台内嵌的 API 能缩短应用系统的开发 时间并降低成本。Java 的编译一次,到处可运行的特性使得它能够提供一个随处可用的开 放结构和在多平台之间传递信息的低成本方式。特别是 Java 企业应用编程接口为企业计算 及电子商务应用系统提供了有关技术和丰富的类库。 2.3 开发工具 Eclipse Eclipse 是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供 一个全功能的、具有商业品质的工业平台。它主要由 Eclipse 项目、Eclipse 工具项目和 Eclipse 技术项目三个项目组成,具体包括四个部分组成Eclipse Platform、JDT、CDT 和 PDE。JDT 支持 Java 开发、CDT 支持 C 开发、PDE 用来支持插件开发。JDT 支持 Java 开 发、CDT 支持 C 开发、PDE 用来支持插件开发,Eclipse Platform 则是一个开放的可扩展 IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。 基于 Android 的航空订票系统的设计与实现 5 Eclipse Platform 允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工 具功能在哪里结束,而另一个工具功能在哪里开始。 JDBC JDBC(Java Data Base Connectivity,java 数据库连接)是一种用于执行 SQL 语句 的 Java API,可以为多种关系数据库提供统一访问,它由一组用 Java 语言编写的类和接口 组成 。JDBC 为工具/数据库开发人员提供了一个标准的 API,据此可以构建更高级的工具 和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序。 JDBC 提供了三个类,用于向数据库发送 SQL 语句。Connection 接口中的三个方法可 用于创建这些类的实例。下面列出这些类及其创建方法:(1)Statement:由方法 createStatement 所创建。Statement 对象用于发送简单的 SQL 语句。(2) PreparedStatement:由方法 prepareStatement 所创建。PreparedStatement 对象用于发送带有 一个或多个输入参数(IN 参数)的 SQL 语句。PreparedStatement 拥有一组方法,用于设置 IN 参数的值。执行语句时,这些 IN 参数将被送到数据库中。PreparedStatement 的实例扩展 了 Statement,因此它们都包括了 Statement 的方法。PreparedStatement 对象有可能比 Statement 对象的效率更高,因为它已被预编译过并存放在那以供将来使用。(3) CallableStatement:由方法 prepareCall 所创建。CallableStatement 对象用于执行 SQL 储存程 序一组可通过名称来调用(就象函数的调用那样)的 SQL 语句。CallableStatement 对象从 PreparedStatement 中继承了用于处理 IN 参数的方法,而且还增加了用于处理 OUT 参数和 INOUT 参数的方法。 MYSQL MySQL 是一个小型关系型数据库管理系统,开发者为瑞典 MySQL AB 公 司,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。 MySQL 索引类型: 1普通索引 普通索引(由关键字 KEY 或 INDEX 定义的索引)的唯一任务是加快对 数据的访问速度。因此,应该只为那些最经常出现在查询条件(WHEREcolumn=)或排序 条件(ORDERBYcolumn)中的数据列创建索引。 2唯一索引 唯一索引做的好处:一是简化了 MySQL 对这个索引的管理工作,这个 索引也因此而变得更有效率;二是 MySQL 会在有新记录插入数据表时,自动检查新记录 的这个字段的值是否已经在某个记录的这个字段里出现过了。 3主索引 必须为主键字段创建一个索引,这个索引就是所谓的“主索引”。主索引与 唯一索引的唯一区别是:前者在定义时使用的关键字是 PRIMARY 而不是 UNIQUE。 4外键索引 如果为某个外键字段定义了一个外键约束条件,MySQL 就会定义一个内 部索引来帮助自己以最有效率的方式去管理和使用外键约束条件。 5.复合索引 索引可以覆盖多个数据列,如像 INDEX(columnA、columnB)索引。 这种索引的特点是 MySQL 可以有选择地使用一个这样的索引。 Android Android 以 Java 为编程语言,从接口到功能,都有层出不穷的变化,其中 Activity 等同于 J2ME 的 MIDlet,一个 Activity 类(class)负责创建视窗(window),一 6 2 应用的技术 个活动中的 Activity 就是在 foreground(前景)模式,背景运行的程序叫做 Service。两者 之间通过由 ServiceConnection 和 AIDL 连结。 Android 2.2 应该具备的十大功能:1、新增应用程序“全部升级”或“自动升级”选项。 2、Android 在线应用市场与 PC 端保持同步。3、自由升级系统版本。4、电源管理功能。 5、更多付费模式。6、新版音乐播放器。7、基于 SD 扩展存储卡安装模式。8、高级通知 选项卡。 9、支持 USB/蓝牙键盘。10、离线地图存储。 Android 系统平台五大特色: 1开放性 在优势方面,Android 平台首先就是其开发性,开发的平台允许任何移动终端厂商加入 到 Android 联盟中来。显着的开放性可以使其拥有更多的开发者,随着用户和应用的日益 丰富,一个崭新的平台也将很快走向成熟。开发性对于 Android 的发展而言,有利于积累 人气,这里的人气包括消费者和厂商,而对于消费者来讲,随大的受益正是丰富的软件资 源。开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手 机。 2挣脱运营商的束缚 在过去很长的一段时间,特别是在欧美地区,手机应用往往受到运营商制约,使用什 么功能接入什么网络,几乎都受到运营商的控制。自从 iPhone 上市,用户可以更加方便地 连接网络,运营商的制约减少。随着 EDGE、HSDPA 这些 2G 至 3G 移动网络的逐步过渡 和提升,手机随意接入网络已不是运营商口中的笑谈。 3丰富的硬件选择 这一点还是与 Android 平台的开放性相关,由于 Android 的开放性,众多的厂商会推出 千奇百怪,功能特色各具的多种产品。功能上的差异和特色,却不会影响到数据同步、甚 至软件的兼容。好比你从诺基亚 Symbian 风格手机一下改用苹果 iPhone,同时还可将 Symbian 中优秀的软件带到 iPhone 上使用、联系人等资料更是可以方便地转移。 4不受任何限制的开发商 Android 平台提供给第三方开发商一个十分宽泛、自由的环境。因此不会受到各种条条 框框的阻扰,可想而知,会有多少新颖别致的软件会诞生。但也有其两面性,血腥、暴力、 情色方面的程序和游戏如可控制正是留给 Android 难题之一。 5无缝结合的 Google 应用 如今叱诧互联网的 Google 已经走过 10 年度历史。从搜索巨人到全面的互联网渗透, Google 服务如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,而 Android 平 台手机将无缝结合这些优秀的 Google 服务。 2.4 MVC 架构 MVC 是一个设计模式,它强制性地使应用程序的输入、处理和输出分开. 使用 MVC 模式,应用程序被分为三个核心部件:模型(Model,即 M)、视图(View,即 V)、控制 基于 Android 的航空订票系统的设计与实现 7 器(Controller,即 C)它们各自处理自己的任务。 视图: 视图是用户与之交互的界面。在现阶段应用十分广泛。视图最大的作用就是输出数据 并允许用户操作,它不关心数据的处理及操作的处理等工作,这些处理都由控制器来完成。 模型: 在这三个部件中,模型拥有最多的处理任务,简单的说,模型部分就是对数据库进行 操作,它处理的数据是中立的。模型一般被控制器调用。由于模型的代码只写一次就可被 多个视图重用,所以减少了代码的重复性。 控制器: 控制器主要接收用户的输入并调用模型和视图来完成用户的需求,它本身不输出任何 东西做任何处理,它只接收请求并决定调用哪个模型来处理请求,然后确定用哪个视图显 示模型处理返回的数据。 MVC 的优点: 1. 低耦合性:视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型 和控制器代码。同样,一个应用的业务流程或者业务规则的改变只需要改动 MVC 的模型 层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。 以及高重用性和可适用性。 2. 较低的生命周期成本:MVC 使降低开发和维护用户接口的技术含量成为可能。 3. 快速的部署:使用 MVC 模式使开发时间得到相当大的缩减,它使程序员(Java 开 发人员)集中精力于业务逻辑,界面程序员(HTML 和 JSP 开发人员)集中精力于表现形 式上。 4.可维护性:分离视图层和业务逻辑层也使得 WEB 应用更易于维护和修改,有利于软件 工程化管理。 MVC 的缺点是由于它没有明确的定义,所以完全理解 MVC 并不是很容易。使用 MVC 需要精心的计划,它的内部原理比较复杂。 8 3 项目需求分析 3 项目需求分析 3.1 项目的要求 1用户通过登录界面进入主菜单(在登录的过程中使用手机号/登录名、密码,就可 以登录了,如果登录名或者密码不对,应该抛出异常。如果没有注册过,就必须先注册新 用户,同时也可以退出页面)。 2登录主界面可以实现以下功能:预订机票、订单管理、会员里程、网点查询、航线 查询、机型查询、用户管理、订阅消息、软件帮助。 3登录到主菜单里在预定机票里实现(查询航班、查询航班结果、选择乘机人、选择 联系人;订单管理实现(订单详情 A、支付入口、订单查询结果、订单详情 B);会员里 程实现(里程查询入口、里程查询结果);网点查询里实现(网点查询入口、网点查询结 果);航线查询里实现(航线查询、航线查询结果);机型查询里实现(机型列表、机型 详情);用户管理中实现(乘机人管理、联系人管理、修改注册信息、修改密码);订阅 信息;软件帮助(帮助信息、关于我们)。 3.2 项目的页面列表(附录 I) 通过对项目要求的理解我们设计了 33 个页面,并且说明了每一个界面的功能和有关 信息。便于大家进行设计编程。 3.3 页面交互列表(附录 II) 查看每一个页面是如何跳转和连接的,每次触发一个按钮,将引起页面的跳转,帮助大 家理解逻辑的设计。 3.4 项目的功能 描述项目能实现的功能,首先从了解整个功能图,然后分别介绍了客户端功能图和服 务器端功能图,理解项目的业务功能。 3.4.1 功能全图 从整体构架划分了每一个模块实现的功能,主要模块有:预订机票、订单管理、会员 里程、用户管理、订阅信息、软件帮助和信息的查询(网点查询、机型查询、航线查询)。 基于 Android 的航空订票系统的设计与实现 9 T-3GABS 用户账户管理 订单管理 信息查询 订阅管理 软件帮助 登录/登出 注册账户 修改注册信息 添加乘机人 删除乘机人 修改乘机人 修改密码 查询航班 预订机票 查询订单 删除订单 支付订单 查询航线 查询网点 直接拨号 查询会员里程 查询机型 设置订阅内容 软件帮助 关于我们 预订机票 添加联系人 删除联系人 修改联系人信息 基本账户管理 乘机人管理 联系人管理 图 3-1 功能全图 3.4.2 客户端功能依赖图 10 3 项目需求分析 如果注册的用户通过用户名和密码登录系统,如果没有注册就需要注册,登录后可以 查询相关信息,比如网点查询、航班查询。已注册的用户可以修改密码并且可以实现退出。 图 3-2 客户端功能图 3.4.3 服务器端功能依赖图 服务器端接受了客户端的请求,将客户端的请求封装在 Socket 中,然后给客户端以回 应。在服务器端可以实现航班查询、网点查询、统计信息都是在用户登录的情况下进行的。 在航班查询里可以扩展实现添加航班计划、查询航班计划、删除航班计划、添加飞机型号。 在网点查询里可以实现(增加、删除、查询),统计信息可以统计出网点出票记录、所有 出票记录、统计月报表。 基于 Android 的航空订票系统的设计与实现 11 图.3-3 服务器端功能图 3.5 登录功能用例( 附录 III) 讲述一个登录功能的实例,登录的过程的事件流和整个事件流因该处理的异常,方便大 家实现具体的功能,编程的合理编写。 表 3-1 登陆用例 用例编号用例编号UC_ 001用例名称用例名称用户登录 参与者参与者注册用户 用例场景说明用例场景说明注册用户在进入本系统开始操作前,需要先登录系统 前置条件前置条件无 后置条件后置条件可以开始执行业务操作 基本事件流基本事件流1,进入“登录页面(P02)” 2,用户输入用户名和密码 3,点击“登录(K0201)”按钮 4,登录成功进入“主界面(P04)” 异常事件流异常事件流 1, 若用户名或密码为空,则弹出错误提示 12 3 项目需求分析 ERR_1000 2, 若用户名和密码不正确,则弹出错误提示 ERR_1004 3, 若该用户已经登录,并且在会话有效期内, 则弹出错误提示 ERR_1001 非功能性需求非功能性需求用户密码在保存和传输时采用 MD5 算法做摘要加密 假设假设 备注备注 3.6 非功能性需求 为使系统比较优化和合理,同时使用户和管理人员方便使用和管理。介绍了相关的性 能需求、安全性需求、可靠性和可用性的需求。 3.6.1 性能需求 1 客户端面响应时间不超过 3 秒。 2 支持并发性使用并保证性能不受影响。 3.6.2 安全性需求 1 权限控制预订票系统:一般用户通过注册能够进行订票、退票、查询等业务,没有 注册用户只供查询浏览。管理系统:通过高级管理人员用户进行分配工作,没有权限的用 户禁止使用系统,是系统能够正常运行。 2 数据库备份:允许用户进行数据的备份和恢复,以弥补数据的破坏和丢失。 3.6.3 可靠性和可用性需求 1方便操作,操作流程合理,尽量从用户的角度出发,以方便使用本产品。 为了更 好的满足用户需求。 2支持没有计算机使用经验、计算机使用经验较少及有较多计算机使用经验的用户均 能方便地使用本系统。 3控制必录入项,本系统能够对必需录入的信息进行控制,使用户能够确定信息录的 完整,同时对必录数据入项进行有效的统一的提示。 4容错能力,系统具有一定的容错和抗干扰能力,在非硬件故障或非通讯故障时,系 统能够保证正常运行,并有足够的提示信息帮助用户有效正确地完成任务。 基于 Android 的航空订票系统的设计与实现 13 5操作完成时有统一规范的提示信息,例如删除操作时,系统可提示“您确定要删除 记录吗?操作不可恢复。”,用户点击确定后,系统才执行删除操作,删除后可直接返回 相关的页面。 6. 用户操作手册系统提供用户操作手册,操作手册包含系统安装所需要的配置安装信 息,同时也提供熟练使用本系统所有操作的指南。 14 4 项目的设计与实现 4 项目的设计与实现 4.1 项目的分层 本系统分为三个层次:分别是表现层,业务层和持久层,部署下图所示。表现层分为客户 端和服务器,负责用来接收和显示数据。业务层都封装在服务器端,负责处理数据与分发数据。 持久层是数据库,负责存储和读取数据。 图 4-1 整体框架图 4.2 业务的模型 通过以上分析,应该建立以下实体: 基于 Android 的航空订票系统的设计与实现 15 航班计划(Flight Scheduler):用来描述 TOLO 航空公司执行的某个定期航班的计划表。 例如:由 TOLO 航空公司执行的每天早上 8:00 从北京起飞,上午 10:00 到达上海的 TL1202 就是一个航班计划。 航班(Flight):用来描述在某个确定日期执行某个定期航班计划的一次航班。例如:2009 年 12 月 25 日从北京飞上海的 TL1202 就是一个航班的实例。 营业网点(Branch):用来描述 TOLO 航空公司的某个分支机构,该机构能使用营业柜员 系统为顾客提供查询航班订票和退票的服务。营业网点通过若干台终端机器与航空公司的 服务器相连。 营业网点包含的信息:网点编号,网点名称,地址,电话。 飞机舱位(Plane Cabin):是指在飞机上分隔的不同类型的座位布局,飞机舱位一般 分为三种:头等舱(F),公物舱(C),经济舱(Y)。 乘客类型(Passenger type):用来描述乘坐航班的乘客的类型,一般分为三种:成人 (A)(age12),儿童(C)(2同舱位成人票价时,儿童票价与同舱位成人票价相同。 燃油税:国家统一征收的,由乘坐民航飞机的乘客负担的一种税收,计算办法: 800KM 以内(含)的航程,每人税费为 40 元,800KM 以上的航程每人税费为 70 元,儿 童票减半收取,婴儿票免收燃油税。 4.3 数据库的设计 在服务器开启之时,将数据库的数据加载到服务器上主要是数据库表有: 1. 国内通航机场名及代码表(airport) 2. TOLO 航空公司营业网点表(branch) 3. TOLO 航空公司业务舱位定义(Cabin_class) 16 4 项目的设计与实现 4. TOLO 航空公司运营飞机表(Plane) 5. 航线(route) 4.4 DAO 接口的设计 DAO 是 Data Access Object 数据访问接口,夹在业务逻辑与数据库资源中间,应该将 所有对数据源的访问操作抽象封装在一个公共 API 中。用程序设计的语言来说,就是建立 一个接口,接口中定义了此应用程序中将会用到的所有事务方法。关于 DAO 要记住的一件 重要事情是它们是事务性对象。每个被 DAO 执行的操作(创建,更新、或删除数据)都是 和事务相关联的。数据访问对象 DAO 的功能 1. DAO 用来封装 Data Source 的,2. DAO 也 是把对数据库的操作(比如最基本的 CRUD 操作)全部封装在里面。 DAO 设计模式实际上是两个模式的组合,即 Data Accessor 模式和 Active Domain Object 模式,其中 Data Accesso 模式实现了数据访问和业务逻辑的分离,而 Active Domain Object 模式,其中 Data Accessor 模式实现了数据访问和业务逻辑的分离,而 Active Domain Object 模式实现了业务数据的对象化封装。 DAO 模式通过对业务层提供数据抽象层接口,实现了以下目标:数据存储逻辑的分离、 数据访问底层实现的分离、资源管理和调度的分离、数据抽象。 这里主要的 DAO 接口有:AirportDao、BranchDao、CabinclassDao、PlaneDao、 RouteDao。 4.5 通信的设计 T-3GABS 项目的网络通信模式采用无状态的同步通信模式。无状态:在客户端与服务 器的一次完整会话过程中,没有始终建立的一条确定的连接,而是在每次客户端需要请求 服务器的服务时临时建立连接,并且服务完成,连接则关闭。 同步通信:客户端和服务器 的通信模式严格遵循请求/应答模式,每一次请求对应一次应答。 在 T-3GABS 项目中客户端与服务器的通信方式采用 Socket 通信来完成,在 Socket 中 传递 Java 对象(使用 Java 对象串行化机制)。具体而言,在 Socket 中传递的是 Request(请求)和 Response(应答)对象。而 Request 和 Response 对象中封装一个 Map 来保存需要传递的参数,所有参数均需实现 java.io.Serializable(可串行化)接口。 4.6 错误的处理 1 当操作错误时,系统提供统一规范的操作错误提示信息。我们设置这几个异常类: BussinessException、CommonException、SystemException、ValidatioonException。 2 录入数据与实际数据类型不符合时,系统提供相应的提示信息。方便用户的使用, 给用户以提醒。 4.7 工作的流程 基于 Android 的航空订票系统的设计与实现 17 描述整个系统是如何运行的这里主要介绍了工作的流程和订票模块是如何实现的,有 助于大家更好的理解系统的性能和业务逻辑。 4.7.1 主要工作流程 1 服务器启动时读取配置文件,读取数据,并且服务器端 ServerSocket 等待客户端线 访问,当收到客户端相应后,则创建一个新的服务线程 执行服务。 2 服务线程 ServerThread 通过构造函数接受 socket,然后转发给 Controller。 3 由 controller 调用 handle 方法,分析请求对象。 4 有不同的处理程序,调用相应的 dao 将查询信息封装到 response 中。 18 4 项目的设计与实现 ( 基于 Android 的航空订票系统的设计与实现 19 3 图 4-2 主要工作流程 20 4 项目的设计与实现 4.7.2 订票模块详细时序图 1 用户进入登录界面后将登录信息放入缓冲区 BusinessData,并发送给服务器,信息 经过 BranchDAO 后响应,获得登录。 2 用户进入主界面,进行航班查询,发送请求后调用 FligthtDao 得到响应,数据库数 据经过封装后传回客户端,显示查询结果。 3 用户进入预订机票界面,确定参数发送订单后,服务器调用 OrderDao,返回订票 结果,客户端显示订单详情。 图 4-3 订票模块详细时序图 4.7.3 用户管理程序描述 1 用户管理的模块: 添加功能 1) 添加乘机人信息:填写有关信息添加乘机人并保存。 2) 添加联系人信息:填写有关信息添加联系人并保存。 修改功能 1) 修改乘机人信息:将已有的乘机人信息,进行修改,然后进行保存。 基于 Android 的航空订票系统的设计与实现 21 2) 修改联系人信息:将已有的联系人的信息进行修改然后进行保存。 删除功能 1) 删除乘机人信息:将选中的乘客信息,进行删除。 2) 删除订票人信息:将查找到的订票人的信息进行删除。 具体描述:点击进入用户管理页面,我们可以看到四个按钮:乘机人管理、 联系人管理、修改注册信息、修改密码。在乘机人管理中有增加乘机人(填入乘机人类型、 乘机人姓名、证件类型、证件号码、会员卡号就可以添加乘机人了),修改乘机人和增加 乘机人有同样的信息,选中一个乘机人点击删除乘机人按钮便可以删除一个乘机人!联系 人管中有添加联系人(写入姓名和电话),修改联系人,删除联系人。 修改注册信息(手机号、Email、证件类型、证件号)修改密码(用户名、旧密码、新密码、 确认密码)。 2 用户管理的主要界面: (1) 用户管理入口界面:图 4-4 1 进入主菜单页面(p04)点击用户管理进入页面(p21) 2 可以实现以下的功能:乘机人管理、联系人管理、修改注册信息、修改密码。 (2) 用户管理页面乘机人管理入口:图 4-5 1 进入用户管理入口页面(p21)点击乘机人管理 2 可以添加乘机人、修改乘机人、删除乘机人 3 添加乘机人进入页面(p23) 4 修改乘机人进入页面(P24) 图 4-4 用户管理入口 图 4-5 乘机人管理入口 (3) 添加乘机人页面:图 4-6 22 4 项目的设计与实现 1 进入添加乘机人页面(p23) 2 填写相关信息 3 添加成功返回页面(p21) (4) 修改注册信息:图 4-7 1 进入用户管理入口页面(p21)点击修改注册信息 2 进入修改注册信息页面(p28) 3 填入相关信息如果修改成功返回用户管理页面(p21) 图 4-6 添加乘机人 图 4-7 修改注册信息 3 软件帮
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新品推广合同
- 工程私人协议合同范本
- 建材购货合同范本简易
- 小产权借款合同范本
- 社区医院劳务合同范本
- 潍坊劳务用工合同范本
- 网页制作定制合同范本
- 影楼员工入股合同范本
- 统借统还借款合同范本
- 矿山资质转让合同范本
- 苏豪控股集团招聘笔试题库2025
- 山西省太原市某校2024-2025学年高一下学期3月月考数学试题
- 土地复垦方案范本
- T-CRHA 089-2024 成人床旁心电监测护理规程
- 黄豆苷元药理作用研究-深度研究
- 2025年全国企业员工全面质量管理知识竞赛题库(试题及答案)
- 2025年电信人工智能学习考试题库(含答案)
- 机器人焊接技术与应用考核试卷
- CNAS-CL01:2018 检测和校准实验室能力认可准则
- 中考名著《唐诗三百首》习题集
- 危险性较大的分部分项工程安全监理实施细则
评论
0/150
提交评论