毕业论文-基于android的航空订票系统的设计与实现_第1页
毕业论文-基于android的航空订票系统的设计与实现_第2页
毕业论文-基于android的航空订票系统的设计与实现_第3页
毕业论文-基于android的航空订票系统的设计与实现_第4页
毕业论文-基于android的航空订票系统的设计与实现_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

论文分类号TP学校代码13681毕业设计说明书论文题目基于ANDROID的航空订票系统的设计与实现学生姓名刘丽学号2308209系部信工四系专业班级网络082班指导教师张辉二一一年五月HAOJINGCOLLEGESHAANXIUNIVERSITYOFSCIENCETECHNOLOGYVOVAGERESERVATIONSYSTEMDESIGNBASEONANDROIDABSTRACTWITHTHERAPIDECONOMICANDTECHNOLOGICALDEVELOPMENT,PEOPLESLIVINGSTANDARDSHAVEGREATLYIMPROVED,MOREANDMOREPEOPLETRAVEL,CHOOSETOFLY,SOTHATTHECIVILAVIATIONMARKETISEXPANDINGRAPIDLYTOMEETTHEDEMANDFORIMPROVINGSERVICEQUALITY,IMPROVESERVICEQUALITY,ASANDROIDSMARTPHONEUSERSTOPROVIDEREALTIMEONLINEBOOKINGSERVICE,TOLOAIRLINEDECIDEDTODEVELOPA3GAPPLICATIONPORTALSYSTEMTHESYSTEMMAKESANDROIDSMARTPHONEUSERSCANCOMPLETETHEFLIGHTCLIENTINQUIRIES,BOOKING,ORDERMANAGEMENT,ORDERPAYMENT,NETWORKQUERIES,MEMBERSHIPPOINTSQUERIES,DYNAMICFLIGHTINFORMATION,SUBSCRIBETONEWSANDOTHERFEATURESBEFORETHEPROJECTDEVELOPMENT,TOLOLINENETWORKBASEDAIRLINEHASTHETABCSBUSINESSTELLERSYSTEMS,ANDINTERNETBASEDTWABSWEBOPERATINGSYSTEM,THEFORMERMAINLYTOLOOUTLETSWITHINAIRLINESOPERATINGSERVICESTOPROVIDECOMPLETEBOOKING,REFUND,改签,PRINTINVOICES,INTEGRATIONMANAGEMENT,ETC,WHICHISLIMITEDTOORDINARYINTERNETUSERSOFSERVICESBOOKING,PAYMENT,CHECK,ETCT3GABSWITHTHEABOVETWOPROJECTSSHARETHESAMEFLIGHTINFORMATION,ANDTWABSSHARETHESAMEUSERACCOUNTANDORDERINFORMATIONCLIENTSOFTWARETOCOMPLETECOMMUNICATIONWITHTHESERVER,ACCORDINGTOTHEGIVENORIGINANDDESTINATIONANDFLIGHTDEPARTUREDATEQUERYTOTHESERVERANDTHETICKETREQUESTSSERVERSOFTWARETOACCEPTCLIENTREQUESTS,INQUIRIESANDCOMPLETETHEFLIGHTTICKETFUNCTIONRETURNSTHERESULTTOTHECLIENTMEANWHILE,THESERVERSIDESOFTWAREAGENTSCANCARRYOUTTHEMANAGEMENTOFRECORDSANDSTATISTICSFOREACHAGENTPOINTSTOTHEVOLUMEOFBUSINESSANDTHEWAYTHELOGFILESSAVEDKEYWORDSTOLOAIRLINES、ANDROIDSMARTPHONE、BOOKINGTICKETSSERVICE、SELECT基于ANDROID的航空订票系统的设计与实现摘要随着经济和科技的飞速发展,人民的生活水平有了很大的提高,越来越多的人出行时,选择乘坐飞机,从而使民航市场迅速扩大。为了适应需求改进服务质量,提升服务品质,为ANDROID智能手机用户提供实时在线的订票服务,TOLO航空公司决定开发一套3G应用门户系统。该系统使得用户能通过ANDROID智能手机客户端完成航班查询,订票,订单管理,订单支付,网点查询,会员积分查询,动态航班查询,订阅消息等功能。在该项目开发之前,TOLO航空公司已有基于专线网络的TABCS营业柜员系统,和基于INTERNET的TWABS(WEB营业系统),前者主要为TOLO航空公司内部的营业网点提供完整的营业服务(订票,退票,改签,打印发票,积分管理等),后者为普通互联网用户提供受限的服务(订票,支付,查询等)。T3GABS与以上两个项目共享同样的航班信息,与TWABS共享同样的用户账户和订单信息。客户端软件能够完成与服务器的通信,根据给定的出发地和目的地以及出发日期向服务器发送航班查询请求和出票的请求。服务器端软件能够接受客户端请求,完成航班查询和出票功能,并向客户端返回结果。同时,服务器端软件还能进行代理商的管理,记录并统计每个代理点的业务量并以日志文件的方式保存下来。关键词途乐航空、ANDROID智能手机、订票服务、查询目录1引言111国内民航发展概括1123G技术12应用的技术321开发环境322技术的选择3221C/S构架3222JAVA技术3223JAVA的语言的主要特点423开发工具424MVC架构63项目需求分析831项目的要求832项目的页面列表(附录I)833页面交互列表(附录II)834项目的功能8341功能全图8342客户端功能依赖图935登录功能用例附录III1136非功能性需求12361性能需求12362安全性需求12363可靠性和可用性需求124项目的设计与实现1441项目的分层1442业务的模型1443数据库的设计1544DAO接口的设计1545通信的设计1646错误的处理1647工作的流程16471主要工作流程16472订票模块详细时序图18473用户管理程序描述185项目的测试2151测试方法2152改进的方面21结论22致谢23参考文献24附录I主要页面25附录II页面交互27附录III用例清单28毕业设计说明书(论文)缩写稿29GRADUATIONMANUALPAPERABBREVIATEDTRANSLATIONDRAFT351引言这里主要介绍开发基于ANDROID的航空订票系统的背景,由于国内民航的迅速发展以及3G的快速崛起,人们需要更好的技术、更先进的系统软件来满足需求。同时这里也提及了关于这个项目的开发环境、技术的选择、开发的工具、MVC的构架会有助于项目的实现。11国内民航发展概括新中国民航业的发展起步于1949年,建立起发展的基本框架是在20世纪80年代改革开放之后,而真正的起飞则是在90年代。到1998年底民航运输飞机达到523架,比1990年增加约2倍,而且增加的都是技术先进、性能优良的新机型。90年代民航运输生产进一步高速增长均达到民航历史最高水平,而且在各种运输方式中也是增幅最高的,比公路客运增幅高出1倍,比铁路客运增幅高出4倍我国民航业伴随整个国民经济的发展而不断发展壮大。特别是改革开放20年来,航空运量持续快速增长,航线网络不断扩大,机队运输能力显着增强,机场、空管等基础设施建设取得重大进展,管理体制改革和扩大对外开放迈出较大步伐。航空运输在我国改革开放和加速社会主义现代化建设中发挥着越来越大的作用。民航是一个发展快、收入水平较高的行业,改革和重组中可能出现的困难比其他许多行业都要小。事实上,一些年来,民航系统从主管机构到企业对改革的必要性和紧迫性的体会最为深切,也做了不少有益工作。只要目标正确、措施得当、民航系统改革完全可以在不太长的时间内取得突破性进展,这样就迫使有更好的技术来满足人们的需求。123G技术“3G”是第三代移动通信技术的简称,是指支持高速数据传输的蜂窝移动通讯技术。3G服务能够同时传送声音通话及数据信息电子邮件、即时通信等,其代表特征是提供高速数据业务。特别手提到3G机都有一个超大的彩色显示屏,往往还是触摸式的。3G手机除了能完成高质量的日常通信外,还能进行多媒体通信。使用者可以在3G手机的触摸显示屏上直接写字、绘图,并将其传送给另一台手机,而所需时间可能不到一秒。当然,也可以将这些信息传送给一台电脑,或从电脑中下载某些信息;用户可以用3G手机直接上网,查看电子邮件或浏览网页。将有不少型号的3G手机自带摄像头,这将使用户可以利用手机进行电脑会议。3G的核心应用包括1宽带上网宽带上网是3G手机的一项很重要的功能,届时我们能在手机上收发语音邮件、写博客、聊天、搜索、下载图铃等现在不少人以为这些在手机上的功能应用要等到3G时代。2手机办公、手机执法和手机商务随着带宽的增加,手机办公越来越受到青睐。手机办公使得办公人员可以随时随地与单位的信息系统保持联系,完成办公功能。这包括移动办公、移动执法、移动商务等等。与传统的OA系统相比,手机办公摆脱了传统OA局限于局域网的桎梏,办公人员可以随时随地访问政府和企业的数据库,进行实时办公和处理业务,极大地提高了办公和执法的效率。3视频通话3G时代,传统的语音通话已经是个很弱的功能了,到时候视频通话和语音信箱等新业务才是主流,传统的语音通话资费会降低,而视觉冲击力强,快速直接的视频通话会更加普及和飞速发展。4手机电视从运营商层面来说,3G牌照的发放解决了一个很大的技术障碍,TD和CMMB等标准的建设也推动了整个行业的发展。手机流媒体软件会成为3G时代最多使用的手机电视软件,在视频影像的流畅和画面质量上不断提升,突破技术瓶颈,真正大规模被应用。5无线搜索对用户来说,这是比较实用型的移动网络服务,也能让人快速接受。随时随地用手机搜索将会变成更多手机用户一种平常的生活习惯。6手机音乐在无线互联网发展成熟的日本,手机音乐是最为亮丽的一道风景线,通过手机上网下载音乐是电脑的50倍。3G时代,只要在手机上安装一款手机音乐软件,就能通过手机网络,随时随地让手机变身音乐魔盒,轻松收纳无数首歌曲,下载速度更快,耗费流量几乎可以忽略不计。7手机办公随着带宽的增加,手机办公越来越受到青睐。手机办公使得办公人员可以随时随地与单位的信息系统保持联系,完成办公功能。这包括移动办公、移动执法、移动商务等等。极大地提高了办事和执法的效率。8手机购物目前90的日本韩国手机用户都已经习惯在手机上消费,甚至是购买大米、洗衣粉这样的日常生活用品。专家预计,中国未来手机购物会有一个高速增长期,用户只要开通手机上网服务,就可以通过手机查询商品信息,并在线支付购买产品。高速3G可以让手机购物变得更实在,高质量的图片与视频会话能使商家与消费者的距离拉近,提高购物体验,让手机购物变为新潮流。9手机网游与电脑的网游相比,手机网游的体验并不好,但方便携带,随时可以玩,这种利用了零碎时间的网游是目前年轻人的新宠。2应用的技术21开发环境服务器操作系统平台WINDOWSXP客户端手机系统平台ANDROID22开发平台ECLIPSE开发语言JAVA架构MVC构架数据库MYSQL22技术的选择良好的技术会使整个项目系统很好的运行、减少了不必要的错误,同时也会使整个系统的编写能很好的实现。221C/S构架CLIENT/SERVER客户端/服务器结构,是软件系统体系结构,通过将任务合理分配到CLIENT端和SERVER端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。C/S一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务。C/S一般面向相对固定的用户群。对信息安全的控制能力很强,C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。C/S程序由于整体性,必须整体考察,处理出现的问题以及系统升级、升级难、可能是再做一个全新的系统。C/S程序可以处理用户面固定;并且在相同区域,安全要求高需求,与操作系统相关。应该都是相同的系统C/S程序一般是典型的中央集权的机械式处理,交互性相对低,C/S多是建立的WINDOW平台上,表现方法有限,对程序员普遍要求较高。222JAVA技术JAVA,是由SUNMICROSYSTEMS公司于1995年5月推出的JAVA程序设计语言和JAVA平台的总称。用JAVA实现的HOTJAVA浏览器(支持JAVAAPPLET)显示了JAVA的魅力跨平台、动态的WEB、INTERNET计算。JAVA平台由JAVA虚拟机(JAVAVIRTUALMACHINE)和JAVA应用编程接口(APPLICATIONPROGRAMMINGINTERFACE、简称API)构成。JAVA的三个版本JAVASE(标准版本)、JAVAEE(企业版本)、JAVAME(微小版本)。223JAVA的语言的主要特点1JAVA语言是简单的。JAVA语言的语法与C语言和C语言很接近,JAVA丢弃了C中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,JAVA语言不使用指针,并提供了自动的废料收集。2只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制和运行环境。3JAVA语言是分布式的。JAVA语言支持INTERNET应用的开发,在基本的JAVA应用编程接口中有一个网络应用编程接口(JAVANET),它提供了用于网络应用编程的类库,包括URL、URLCONNECTION、SOCKET、SERVERSOCKET等。4JAVA语言是健壮的。JAVA的强类型机制、异常处理、废料的自动收集等是JAVA程序健壮性的重要保证。对指针的丢弃是JAVA的明智选择。JAVA的安全检查机制使得JAVA更具健壮性。5JAVA语言是安全的。JAVA通常被用在网络环境中,为此JAVA提供了一个安全的全机制以防恶意代码的攻击。6JAVA语言是体系结构中立的。JAVA程序(后缀为JAVA的文件)在JAVA平台上被编译为体系结构中立的字节码格式(后缀为CLASS的文件),然后可以在实现这个JAVA平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。7JAVA语言是可移植的。这种可移植性来源于体系结构中立性。8JAVA语言是多线程的。线程是一种特殊的对象,它必须由THREAD类或其子类来创建。通常有两种方法来创建线程其一,使用型构为THREADRUNNABLE的构造子将一个实现了RUNNABLE接口的对象包装成一个线程;其二,从THREAD类派生出子类并重写RUN方法,使用该子类创建的对象即为线程。9JAVA语言的优良特性使得JAVA应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。JAVA对对象技术的全面支持和JAVA平台内嵌的API能缩短应用系统的开发时间并降低成本。JAVA的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是JAVA企业应用编程接口为企业计算及电子商务应用系统提供了有关技术和丰富的类库。23开发工具ECLIPSEECLIPSE是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由ECLIPSE项目、ECLIPSE工具项目和ECLIPSE技术项目三个项目组成,具体包括四个部分组成ECLIPSEPLATFORM、JDT、CDT和PDE。JDT支持JAVA开发、CDT支持C开发、PDE用来支持插件开发。JDT支持JAVA开发、CDT支持C开发、PDE用来支持插件开发,ECLIPSEPLATFORM则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。ECLIPSEPLATFORM允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。JDBCJDBC(JAVADATABASECONNECTIVITY,JAVA数据库连接)是一种用于执行SQL语句的JAVAAPI,可以为多种关系数据库提供统一访问,它由一组用JAVA语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JAVAAPI编写数据库应用程序。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参数的方法。MYSQLMYSQL是一个小型关系型数据库管理系统,开发者为瑞典MYSQLAB公司,许多中小型网站为了降低网站总体拥有成本而选择了MYSQL作为网站数据库。MYSQL索引类型1普通索引普通索引(由关键字KEY或INDEX定义的索引)的唯一任务是加快对数据的访问速度。因此,应该只为那些最经常出现在查询条件(WHERECOLUMN)或排序条件(ORDERBYCOLUMN)中的数据列创建索引。2唯一索引唯一索引做的好处一是简化了MYSQL对这个索引的管理工作,这个索引也因此而变得更有效率;二是MYSQL会在有新记录插入数据表时,自动检查新记录的这个字段的值是否已经在某个记录的这个字段里出现过了。3主索引必须为主键字段创建一个索引,这个索引就是所谓的“主索引”。主索引与唯一索引的唯一区别是前者在定义时使用的关键字是PRIMARY而不是UNIQUE。4外键索引如果为某个外键字段定义了一个外键约束条件,MYSQL就会定义一个内部索引来帮助自己以最有效率的方式去管理和使用外键约束条件。5复合索引索引可以覆盖多个数据列,如像INDEX(COLUMNA、COLUMNB)索引。这种索引的特点是MYSQL可以有选择地使用一个这样的索引。ANDROIDANDROID以JAVA为编程语言,从接口到功能,都有层出不穷的变化,其中ACTIVITY等同于J2ME的MIDLET,一个ACTIVITY类(CLASS)负责创建视窗(WINDOW),一个活动中的ACTIVITY就是在FOREGROUND(前景)模式,背景运行的程序叫做SERVICE。两者之间通过由SERVICECONNECTION和AIDL连结。ANDROID22应该具备的十大功能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服务。24MVC架构MVC是一个设计模式,它强制性地使应用程序的输入、处理和输出分开使用MVC模式,应用程序被分为三个核心部件模型(MODEL,即M)、视图(VIEW,即V)、控制器(CONTROLLER,即C)它们各自处理自己的任务。视图视图是用户与之交互的界面。在现阶段应用十分广泛。视图最大的作用就是输出数据并允许用户操作,它不关心数据的处理及操作的处理等工作,这些处理都由控制器来完成。模型在这三个部件中,模型拥有最多的处理任务,简单的说,模型部分就是对数据库进行操作,它处理的数据是中立的。模型一般被控制器调用。由于模型的代码只写一次就可被多个视图重用,所以减少了代码的重复性。控制器控制器主要接收用户的输入并调用模型和视图来完成用户的需求,它本身不输出任何东西做任何处理,它只接收请求并决定调用哪个模型来处理请求,然后确定用哪个视图显示模型处理返回的数据。MVC的优点1低耦合性视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码。同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。以及高重用性和可适用性。2较低的生命周期成本MVC使降低开发和维护用户接口的技术含量成为可能。3快速的部署使用MVC模式使开发时间得到相当大的缩减,它使程序员(JAVA开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。4可维护性分离视图层和业务逻辑层也使得WEB应用更易于维护和修改,有利于软件工程化管理。MVC的缺点是由于它没有明确的定义,所以完全理解MVC并不是很容易。使用MVC需要精心的计划,它的内部原理比较复杂。3项目需求分析31项目的要求1用户通过登录界面进入主菜单(在登录的过程中使用手机号/登录名、密码,就可以登录了,如果登录名或者密码不对,应该抛出异常。如果没有注册过,就必须先注册新用户,同时也可以退出页面)。2登录主界面可以实现以下功能预订机票、订单管理、会员里程、网点查询、航线查询、机型查询、用户管理、订阅消息、软件帮助。3登录到主菜单里在预定机票里实现(查询航班、查询航班结果、选择乘机人、选择联系人;订单管理实现(订单详情A、支付入口、订单查询结果、订单详情B);会员里程实现(里程查询入口、里程查询结果);网点查询里实现(网点查询入口、网点查询结果);航线查询里实现(航线查询、航线查询结果);机型查询里实现(机型列表、机型详情);用户管理中实现(乘机人管理、联系人管理、修改注册信息、修改密码);订阅信息;软件帮助(帮助信息、关于我们)。32项目的页面列表(附录I)通过对项目要求的理解我们设计了33个页面,并且说明了每一个界面的功能和有关信息。便于大家进行设计编程。33页面交互列表(附录II)查看每一个页面是如何跳转和连接的,每次触发一个按钮,将引起页面的跳转,帮助大家理解逻辑的设计。34项目的功能描述项目能实现的功能,首先从了解整个功能图,然后分别介绍了客户端功能图和服务器端功能图,理解项目的业务功能。341功能全图从整体构架划分了每一个模块实现的功能,主要模块有预订机票、订单管理、会员里程、用户管理、订阅信息、软件帮助和信息的查询(网点查询、机型查询、航线查询)。T3GABS用户账户管理订单管理信息查询订阅管理软件帮助登录/登出注册账户修改注册信息添加乘机人删除乘机人修改乘机人修改密码查询航班预订机票查询订单删除订单支付订单查询航线查询网点直接拨号查询会员里程查询机型设置订阅内容软件帮助关于我们预订机票添加联系人删除联系人修改联系人信息基本账户管理乘机人管理联系人管理图31功能全图342客户端功能依赖图如果注册的用户通过用户名和密码登录系统,如果没有注册就需要注册,登录后可以查询相关信息,比如网点查询、航班查询。已注册的用户可以修改密码并且可以实现退出。图32客户端功能图343服务器端功能依赖图服务器端接受了客户端的请求,将客户端的请求封装在SOCKET中,然后给客户端以回应。在服务器端可以实现航班查询、网点查询、统计信息都是在用户登录的情况下进行的。在航班查询里可以扩展实现添加航班计划、查询航班计划、删除航班计划、添加飞机型号。在网点查询里可以实现(增加、删除、查询),统计信息可以统计出网点出票记录、所有出票记录、统计月报表。图33服务器端功能图35登录功能用例附录III讲述一个登录功能的实例,登录的过程的事件流和整个事件流因该处理的异常,方便大家实现具体的功能,编程的合理编写。表31登陆用例用例编号UC_001用例名称用户登录参与者注册用户用例场景说明注册用户在进入本系统开始操作前,需要先登录系统前置条件无后置条件可以开始执行业务操作基本事件流1,进入“登录页面(P02)”2,用户输入用户名和密码3,点击“登录(K0201)”按钮4,登录成功进入“主界面(P04)”异常事件流1,若用户名或密码为空,则弹出错误提示ERR_10002,若用户名和密码不正确,则弹出错误提示ERR_10043,若该用户已经登录,并且在会话有效期内,则弹出错误提示ERR_1001非功能性需求用户密码在保存和传输时采用MD5算法做摘要加密假设备注36非功能性需求为使系统比较优化和合理,同时使用户和管理人员方便使用和管理。介绍了相关的性能需求、安全性需求、可靠性和可用性的需求。361性能需求1客户端面响应时间不超过3秒。2支持并发性使用并保证性能不受影响。362安全性需求1权限控制预订票系统一般用户通过注册能够进行订票、退票、查询等业务,没有注册用户只供查询浏览。管理系统通过高级管理人员用户进行分配工作,没有权限的用户禁止使用系统,是系统能够正常运行。2数据库备份允许用户进行数据的备份和恢复,以弥补数据的破坏和丢失。363可靠性和可用性需求1方便操作,操作流程合理,尽量从用户的角度出发,以方便使用本产品。为了更好的满足用户需求。2支持没有计算机使用经验、计算机使用经验较少及有较多计算机使用经验的用户均能方便地使用本系统。3控制必录入项,本系统能够对必需录入的信息进行控制,使用户能够确定信息录的完整,同时对必录数据入项进行有效的统一的提示。4容错能力,系统具有一定的容错和抗干扰能力,在非硬件故障或非通讯故障时,系统能够保证正常运行,并有足够的提示信息帮助用户有效正确地完成任务。5操作完成时有统一规范的提示信息,例如删除操作时,系统可提示“您确定要删除记录吗操作不可恢复。”,用户点击确定后,系统才执行删除操作,删除后可直接返回相关的页面。6用户操作手册系统提供用户操作手册,操作手册包含系统安装所需要的配置安装信息,同时也提供熟练使用本系统所有操作的指南。4项目的设计与实现41项目的分层本系统分为三个层次分别是表现层,业务层和持久层,部署下图所示。表现层分为客户端和服务器,负责用来接收和显示数据。业务层都封装在服务器端,负责处理数据与分发数据。持久层是数据库,负责存储和读取数据。图41整体框架图42业务的模型通过以上分析,应该建立以下实体航班计划FLIGHTSCHEDULER用来描述TOLO航空公司执行的某个定期航班的计划表。例如由TOLO航空公司执行的每天早上800从北京起飞,上午1000到达上海的TL1202就是一个航班计划。航班FLIGHT用来描述在某个确定日期执行某个定期航班计划的一次航班。例如2009年12月25日从北京飞上海的TL1202就是一个航班的实例。营业网点BRANCH用来描述TOLO航空公司的某个分支机构,该机构能使用营业柜员系统为顾客提供查询航班订票和退票的服务。营业网点通过若干台终端机器与航空公司的服务器相连。营业网点包含的信息网点编号,网点名称,地址,电话。飞机舱位(PLANECABIN)是指在飞机上分隔的不同类型的座位布局,飞机舱位一般分为三种头等舱(F),公物舱(C),经济舱(Y)。乘客类型(PASSENGERTYPE)用来描述乘坐航班的乘客的类型,一般分为三种成人A(AGE12),儿童C(2同舱位成人票价时,儿童票价与同舱位成人票价相同。燃油税国家统一征收的,由乘坐民航飞机的乘客负担的一种税收,计算办法800KM以内(含)的航程,每人税费为40元,800KM以上的航程每人税费为70元,儿童票减半收取,婴儿票免收燃油税。43数据库的设计在服务器开启之时,将数据库的数据加载到服务器上主要是数据库表有1国内通航机场名及代码表(AIRPORT)2TOLO航空公司营业网点表(BRANCH)3TOLO航空公司业务舱位定义(CABIN_CLASS)4TOLO航空公司运营飞机表(PLANE)5航线(ROUTE)44DAO接口的设计DAO是DATAACCESSOBJECT数据访问接口,夹在业务逻辑与数据库资源中间,应该将所有对数据源的访问操作抽象封装在一个公共API中。用程序设计的语言来说,就是建立一个接口,接口中定义了此应用程序中将会用到的所有事务方法。关于DAO要记住的一件重要事情是它们是事务性对象。每个被DAO执行的操作(创建,更新、或删除数据)都是和事务相关联的。数据访问对象DAO的功能1DAO用来封装DATASOURCE的,2DAO也是把对数据库的操作比如最基本的CRUD操作全部封装在里面。DAO设计模式实际上是两个模式的组合,即DATAACCESSOR模式和ACTIVEDOMAINOBJECT模式,其中DATAACCESSO模式实现了数据访问和业务逻辑的分离,而ACTIVEDOMAINOBJECT模式,其中DATAACCESSOR模式实现了数据访问和业务逻辑的分离,而ACTIVEDOMAINOBJECT模式实现了业务数据的对象化封装。DAO模式通过对业务层提供数据抽象层接口,实现了以下目标数据存储逻辑的分离、数据访问底层实现的分离、资源管理和调度的分离、数据抽象。这里主要的DAO接口有AIRPORTDAO、BRANCHDAO、CABINCLASSDAO、PLANEDAO、ROUTEDAO。45通信的设计T3GABS项目的网络通信模式采用无状态的同步通信模式。无状态在客户端与服务器的一次完整会话过程中,没有始终建立的一条确定的连接,而是在每次客户端需要请求服务器的服务时临时建立连接,并且服务完成,连接则关闭。同步通信客户端和服务器的通信模式严格遵循请求/应答模式,每一次请求对应一次应答。在T3GABS项目中客户端与服务器的通信方式采用SOCKET通信来完成,在SOCKET中传递JAVA对象(使用JAVA对象串行化机制)。具体而言,在SOCKET中传递的是REQUEST(请求)和RESPONSE(应答)对象。而REQUEST和RESPONSE对象中封装一个MAP来保存需要传递的参数,所有参数均需实现JAVAIOSERIALIZABLE(可串行化)接口。46错误的处理1当操作错误时,系统提供统一规范的操作错误提示信息。我们设置这几个异常类BUSSINESSEXCEPTION、COMMONEXCEPTION、SYSTEMEXCEPTION、VALIDATIOONEXCEPTION。2录入数据与实际数据类型不符合时,系统提供相应的提示信息。方便用户的使用,给用户以提醒。47工作的流程描述整个系统是如何运行的这里主要介绍了工作的流程和订票模块是如何实现的,有助于大家更好的理解系统的性能和业务逻辑。471主要工作流程1服务器启动时读取配置文件,读取数据,并且服务器端SERVERSOCKET等待客户端线访问,当收到客户端相应后,则创建一个新的服务线程执行服务。2服务线程SERVERTHREAD通过构造函数接受SOCKET,然后转发给CONTROLLER。3由CONTROLLER调用HANDLE方法,分析请求对象。4有不同的处理程序,调用相应的DAO将查询信息封装到RESPONSE中。(3图42主要工作流程472订票模块详细时序图1用户进入登录界面后将登录信息放入缓冲区BUSINESSDATA,并发送给服务器,信息经过BRANCHDAO后响应,获得登录。2用户进入主界面,进行航班查询,发送请求后调用FLIGTHTDAO得到响应,数据库数据经过封装后传回客户端,显示查询结果。3用户进入预订机票界面,确定参数发送订单后,服务器调用ORDERDAO,返回订票结果,客户端显示订单详情。图43订票模块详细时序图473用户管理程序描述1用户管理的模块添加功能1)添加乘机人信息填写有关信息添加乘机人并保存。2)添加联系人信息填写有关信息添加联系人并保存。修改功能1)修改乘机人信息将已有的乘机人信息,进行修改,然后进行保存。2)修改联系人信息将已有的联系人的信息进行修改然后进行保存。删除功能1)删除乘机人信息将选中的乘客信息,进行删除。2)删除订票人信息将查找到的订票人的信息进行删除。具体描述点击进入用户管理页面,我们可以看到四个按钮乘机人管理、联系人管理、修改注册信息、修改密码。在乘机人管理中有增加乘机人(填入乘机人类型、乘机人姓名、证件类型、证件号码、会员卡号就可以添加乘机人了),修改乘机人和增加乘机人有同样的信息,选中一个乘机人点击删除乘机人按钮便可以删除一个乘机人联系人管中有添加联系人(写入姓名和电话),修改联系人,删除联系人。修改注册信息(手机号、EMAIL、证件类型、证件号)修改密码(用户名、旧密码、新密码、确认密码)。2用户管理的主要界面(1)用户管理入口界面图441进入主菜单页面(P04)点击用户管理进入页面(P21)2可以实现以下的功能乘机人管理、联系人管理、修改注册信息、修改密码。(2)用户管理页面乘机人管理入口图451进入用户管理入口页面(P21)点击乘机人管理2可以添加乘机人、修改乘机人、删除乘机人3添加乘机人进入页面(P23)4修改乘机人进入页面(P24)图44用户管理入口图45乘机人管理入口(3)添加乘机人页面图461进入添加乘机人页面(P23)2填写相关信息3添加成功返回页面(P21)(4)修改注册信息图471进入用户管理入口页面(P21)点击修改注册信息2进入修改注册信息页面(P28)3填入相关信息如果修改成功返回用户管理页面(P21)图46添加乘机人图47修改注册信息3软件帮助模块这个模块就像一个帮助文档,如果有什么问题可以查询帮助文档来操作。比如说在查询的过程中我们查不到我们想要东西,我们可以通过帮助软件来完成。关于我们页面说明了这个项目的性能。5项目的测试测试整个软件的运行情况,看程序能否运行起来,以及整个程序的调试,改进的方法。以及我们如何改进,使程序正常运行。51测试方法(1)运行ECLIPSE软件,然后启动集成在ECLIPSE中的ANDROID虚拟机,然后启动手机数据库。(2)在ANDROID虚拟机中打开TOLO航空公司3G应用门户软件,进入登录界面,输入用户名和密码登录。若登录失败,ECLIPSE界面中间最下方的CONSOLE方框,这里会显示有异常的类型和错误的代码。(3)进入登录用户主页面之后,可以依次测试修改用户信息,查询航班、预定机票、机型查询、网点查询、订阅消息、查看帮助等功能。测试的时候要仔细,对每一种可能的情况都有必要尝试一下,看系统能否正确处理各种不同的错误操作,指导用户完成想进行的操作。52改进的方面1需求分析理解的不是很彻底,导致在后续界面开发时,在次返回多次修改内容,导致时间的浪费。2数据的中查询到的资源是乱码还需继续努力。3空指针异常,网络拒绝连接,没有输出等程序异常的处理,在整个开发测试方法的过程中,使自己更加深刻的了解到养成良好编程习惯的必要性,和处理错误的艰巨性。4设置异常的时候没有考虑周全,登陆的时候输入错误的信息没有设置异常。5没有用户注册时,没有完善其功能,直接就可以进入。6没有对输入的信息验证就直接可以注册或登录。比如身份证号码就可以随便输入数字就可以了。7学会写测试软件,单个模块测试,这样有利与测试代码。8实践才会出真知,只有我们自己动手动脑才能开发出更好的项目,而不是只听别人的思路,如果付诸之于行动,也是空谈。结论通过了短短的70多天的学习,我们更进一步的了解了原来的基础知识,同时我们也学到了很多东西。对JAVA、ORACLE数据库、JDBC、ANDROID智能手机等都有了一定的了解,不能达到熟练应用但我们能基本上掌握,很大程度上培养了我们的逻辑思维。在整个实训过程中我们共完成了2个项目,对于第一个考试在线测评系统不做过多的说明,而这个项目T3GABS。我们了解了关于客户端和服务器端的应用、项目软件的分层、设计的思路和JAVA的深刻理解。毕业论文是本科学习阶段一次非常难得的理论与实际相结合的机会,通过这次比较完整的软件设计,我对软件开发的过程与设计有了更加深入的了解。第一步需求调研分析相关系统分析员和用户初步了解需求,然后用WORD列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面。系统分析员深入了解和分析需求,根据自己的经验和需求用WORD或相关的工具再做出一份文档系统的功能需求文档。这次的文档会清楚例用系统大致的大功能模块,大功能模块有哪些小功能模块,并且还例出相关的界面和界面功能。系统分析员和用户再次确认需求。第二步概要设计。首先,开发者需要对软件系统进行概要设计,即系统设计。概要设计需要对软件系统的设计进行考虑,包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为软件的详细设计提供基础。第三步详细设计。在概要设计的基础上,开发者需要进行软件系统的详细设计。调用关系,需要说明软件系统各个层次中的每一个程序每个模块或子程序的设计考虑,以便进行编码和测试。应当保证软件的需求完全分配给整个软件。详细设计应当足够详细,能够根据详细设计报告进行编码。短短的几天就结束了我们的项目,在这个项目中我学到了很多的知识。这个项目让我们体会了从理论到实践的应用,我们学的目的就是将我们所学的东西,应运于实践。我们明白了整个项目的层次,项目分为三层表现层、业务层、持久化层,以及整个项目是如何运行的。在这个程序中我们必须清楚MVC构架、JAVA的知识、MYSQL数据库、JDBC的连接、ANDROID智能手机的功能,特别培养了我们的逻辑思维。最重要的告诉了我们合作的精神,每一个人必须要有责任感,才能使整个团队获益。致谢在其中我们受益匪浅,让所学习的东西与实际中的业务相结合。特别感谢学校给我们这次实训的机会,让我们的能力得到了迅速的提升;也要感谢张辉老师为我们提供的详细资料,以及他的细心讲解、认真负责、严厉督促。还有陈冬老师的关心和支持。感谢我的班主任。他放下神圣的师道尊严,以朋友的身份告诉我怎样完成这篇论文。他告诉我如何搜集资料,他告诉我如何快捷地找到相关论文,他告诉我哪个学校的网站有本专业的硕士、博士论文,他指导我如何利用手头上的论文取舍嫁接整合。本论文的完成,离不开他的悉心指导和孜孜不倦的教诲,同时也离不开我们组同学的互相帮助。感谢那些与我朝夕相处了四年的同学。这些日子,他们和我一块努力奋斗共进共退,相互鼓励相互扶持,你帮我找我帮你找,互通有无,及时沟通,以免出现论文撞车事件。我们是如此的团结友爱,从未出现过“五十步笑百步”的现象,我们总是相互开导,天下文章一大抄,不抄白不抄,抄了也白抄,白抄谁不抄不抄一大傻。正是在这样的相互激励下,我那一点点文抄公的羞耻感也便见了上帝,而我的论文也得以完成并顺利通过。面对未来的社会生活,我们更应该严谨、认真。参考文献1李刚疯狂的JAVA讲义机械工业出版社,20082彭彦、鞠磊、方勇基于JAVA智能卡的可信度量模块设计J微计算机信息,20093周树峰基于JAVA的多层系统模型研究C电脑知识与技术,20074林胜利王坤茹JAVA优化编程电子工业出版社,20075HARVEYMDEITEL、PAULJDEITEL国外计算机科学教材系列,20076杨文军,董玉涛JAVA程序设计教程清华大学出版社,20067靳岩,姚尚朗ANDROID入门与实例人民邮电出版社,20108THOMASMCONNOLLY等着数据库设计教程,机械工业出版社9美JEFFREYDUIIMAN等着,史嘉权等译数据库系统基础教程,清华大学出版社10李春葆编着数据库原理与应用习题解析,清华大学出版社11施伯乐主编数据库系统教程,高等教育出版社12汪孝宜,刘中兵,徐佳晶等编着JSP数据库开发实例精粹,电子工业出版社,200513姚晓春,郑文清等编着JAVA编程技术教程,清华大学出版社14吴逸贤,吴目诚编着JAVA2程序设计,科学出版社,200315宋振会SQL2000中文版基础教程M北京清华大学出版社,200516唐亮TOLO航空公司3G应用门户T3GABS需求说明书2011031017陈佳主编信息系统开发方法教程,清华大学出版社,199918刘鲁信息系统设计原理与应用,北京航空航天大学出版社,199519CAYSHOSTMANNGARYCOMELLJAVA2核心技术,机械工业出版社,200620孙卫琴JAVA面向对象编程,电子工业出版社,2006附录I主要页面页面编号页面名称页面菜单设计P01欢迎页面无P02用户登录页面退出P03用户注册页面返回、退出P04主页面退出P05查询航班页面返回、回首页、退出P06查询航班结果页面返回、回首页、退出P07选择乘机人页面返回、回首页、退出P08选择联系人页面返回、回首页、退出P

温馨提示

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

最新文档

评论

0/150

提交评论