java课程设计机票预订系统设计与实现_第1页
java课程设计机票预订系统设计与实现_第2页
java课程设计机票预订系统设计与实现_第3页
java课程设计机票预订系统设计与实现_第4页
java课程设计机票预订系统设计与实现_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、目录一、设计题目 . 1二、设计目的 . 1三、设计分析 . 13.1 可行性分析. 13.2 需求分析. 23.2.1 系统需求. 23.2.2 功能需求. 3四、总体设计 . 44.1 系统功能设计. 44.2 系统功能模块简介. 4五、数据库设计. 55.1 概念结构设计. 55.2 逻辑结构设计. 7六、详细设计 . 96.1 关键业务流程描述. 96.1.1 航空售票管理. 96.1.2 管理员管理流程. 96.2 系统界面设计. 106.2.1 主功能界面. 106.2.2 其他功能界面. 116.3 模块代码实现. 136.3.1 航空订票查询模块. 136.3.2 航空售票管理

2、模块. 1416. 七、系统测试7.1 软件测试的目标. 167.2 具体测试. 16八、总结 . 17九、参考文献 . 18一、设计题目机票预订系统设计与实现二、设计目的通过课程设计,培养综合运用本门课程及其他课程的基础知识去解决某一实际问题的实际领域,加深对该课程的理解主要培养以下能力:查阅资料:搜集与本设计有关的资料的能力。 方案的选择:树立既考虑技术上的先进性, 又考虑经济上的合理性, 并注意提高分析和解决问题的实际能力, 迅速准确的进行工程计算的能力,计算机应用能力; 用简洁的文字,清晰的图标来表达自己的设计思想能力。三、设计分析3.1 可行性分析随着我国市场经济的快速发展和信息化水

3、平的不断提高,如何利用先进的管理手段,提高航空公司售票管理系统的水平,是当今社会所面临的一个课题。提高企业的管理水平, 必须全方位地提高企业的管理意识。只有高标准、 高质量的管理才能满足航空公司的发展需求。 面对信息时代的挑战, 利用高科技手段来提高航空公司售票管理系统无疑是一条行之有效的途径。在某种意义上, 信息与科技在企业管理与现代化建设中显现出越来越重要的地位。航空公司售票管理系统方面的信息化与科学化,已成为现代化生活水平步入高台阶的重要标志利用计算机实现航空信息管理势在必行。对于航空公司来说, 利用计算机支持管理部门高效率完成航空信息管理的日常事务,是适应现代航空公司制度要求、 推动航

4、空公司由劳动型管理走向科学化、规范化的必要条件; 而航空信息管理是一项琐碎、复杂而又必须十分细致准确的工作,航线信息的管理,客户信息的管理 ,票务信息的管理 ,绝对的不允许出错, 如果实行手工操作 ,需手工填制大量的表格 ,这就会耗费工作人员大量的时间和精力,而且安全度也不理想,利用计算机进行航空公司信息工作的管理, 不仅能够保证各项信息准确无误、快速输出, 同时计算机具有手工管理所无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高航空信息管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。(1) 经济可行性分析本系统开

5、发简单但要耗去一定的时间,所用的开发工具和软件都差不多是免费的。而且,由于系统能够在未来较长的一段时期内稳定地发挥作用,这对于航空公司自动化管理,节省公司的人力、物力资源等都有很大的帮助。由此可见,开发此系统在经济上是完全可行的。(2)技术可行性分析从目前 it 业界比较流行的数据库开发、管理软件来看,对于航空管理这一类对数据要求比较严格的企业,eclipse和 access的结合无疑是在实际应用中较为成功的一种解决方案。 为用户提供了软件开发一直坚持的非常友好、操作简单的用户界面、完善强大的数据库操作功能和简洁明了的数据库接口。所以技术实行起来相对会容易。(3)现有系统的分析有关航空管理系统

6、的软件市面上有不少,试用一些, 但总觉得不是很好用, 不能完全满足我们的要求, 所以都放弃用这些软件了, 改为每次输入数据后, 用手工更改数据库查看航空、 票务信息 ,客户信息,随着业务的发展, 数据量越来越大,用手工查看就很麻烦了, 所以,迫切希望有一套完全适合航空信息管理应用的软件,以减轻管理人员的工作负担。另一方面由于这类软件大多数是单机版的,现在也有不少是网络板的, 但大部分都是在本地网络上运行的。 而管理人员可能在外地, 想知道下属公司的当前的航空信息,都要打电话回公司问, 这就造成很大的不便。 因此系统的开发方向应当是面向网络版的。这点在今后的学习中将不断完善。3.2 需求分析3.

7、2.1 系统需求航空订票系统是可基于任何操作系统上,通过对目前大量出现在网络上的航空订票系统的分析和总结,然后根据航空运作特点,研究一套适合于广大乘客需要、企业认可的航空订票系统。 要求系统有良好的视图操作界面,大力提高系统的交互性和可操作性,尽可能减少使用人员的不变,让他们更简单、更快捷、更方便的进行操作。另外,要求系统具有较强的稳定性、可维护性、可移植性、扩充性。同时,实现控制各种用户系统权限,从而保证系统安全性。通过对已有的航空订票系统的研究,结合这些系统存在的优缺点而设计本系统。3.2.2 功能需求航空售票系统主要包括航空订票查询、 航空售票管理、用户管理、航空退票管理、版权设置等功能

8、,各个功能的具体描述如下:(1) 航空订票查询 添加新的票据信息种类,票据信息种类为票据信息的上级目录; 修改票据信息种类; 删除票据信息种类;(2) 航空售票管理 添加新的票据信息,票据信息为系统的主要内容,其中票据信息又包括普通票据信息、图片票据信息和附件票据信息几个大类; 修改票据信息,同时可以更新票据信息的附件; 删除票据信息,同时从服务器上删除该票据信息所包括的附件;(3) 用户管理 添加系统管理用户,包括系统用户和航空售票管理用户,其中系统用户维护系统的正常运行,航空售票管理用户管理系统的票据信息信息及其资源; 修改系统管理用户,该项功能主要是修改用户的权限等; 删除系统管理用户以

9、及该用户的权限; 管理用户更新自己的密码。(4) 用户角色管理用户角色管理主要是管理系统的角色,如系统管理员、 普通管理员等。 系统中的不同角色管理权限是不相同的。它的具体功能如下: 添加新的用户角色; 修改用户角色; 删除用户角色。四、总体设计4.1 系统功能设计本系统包含两个子系统, 其中航空售票中心所使用的是航空售票管理系统,而航空售票中心所使用的是管理员用户子系统,管理员用户子系统又称为后台管理子系统。每个子系统包换了若干子功能模块,每个子功能模块完成相应的处理操作功能。其中管理员的权限是大于票据信息用户的。基本设计流程如图4-1 所示:系统功能图图4-1由图可知,当系统启动后,用户需

10、要通过验证进入系统。系统根据用户的验证判断用户的权限, 当是管理员用户登录时会转入管理员功能模块,否则转入票据信息用户模块。 成功登录后, 用户可以完成权限限制内的操作,即当前可以操作的功能模块。 用户操作时,系统自动判断用户所想要调用的功能子模块,并提交给用户,在用户完成操作后可以退出系统。4.2 系统功能模块简介动态航空售票系统主要包括航空订票查询、航空售票管理、 用户管理、 航空售票管理、用户角色管理、用户角色分配等功能,各个功能的具体描述如下:(1) 航空订票查询 添加新的票据信息种类,票据信息种类为票据信息的上级目录; 修改票据信息种类; 删除票据信息种类;(2) 航空售票管理票据信

11、息为系统的主要内容,其中票据信息又包括添加新的票据信息,普通票据信息、图片票据信息和附件票据信息几个大类; 修改票据信息,同时可以更新票据信息的附件; 删除票据信息,同时从服务器上删除该票据信息所包括的附件;(3) 用户管理 添加系统管理用户,包括系统用户和航空售票管理用户,其中系统用户维护系统的正常运行,航空售票管理用户管理系统的票据信息信息及其资源; 修改系统管理拥护,该项功能主要是修改用户的权限等; 删除系统管理用户以及该用户的权限; 管理用户更新自己的密码。(4) 航空售票管理航空售票管理主要是管理系统的票据销售管理功能,对需要旅行或外出需要空运的旅客售票服务。它的具体功能如下: 添加

12、起始站点; 添加终点站; 添加旅客身份证; 售票;(5) 航空退票管理航空退票管理主要是管理系统的退票管理功能,对延误旅行或因特殊原因需要退票的旅客退票服务。它的具体功能如下: 修改票据退票标示位; 添加备注信息;(6) 用户的角色分配管理用户的角色分配管理主要管理用户的角色分配问题,不管是系统的新用户或是已经存在的老用户,系统可以动态分配给他们的角色。它的具体功能如下: 修改用户的角色;删除用户的角色。五、数据库设计5.1 概念结构设计该系统所采用的数据库是microsoft 公司的 access。数据库设计采用了子母表,视图等方法来处理表之间的关系。对于每个票据信息单独建立一张票据信息的信

13、息表,所有的票据信息信息表都包含在子表当中。同时子表的id 作为母表的外键,通过母表可以顺利的检索到子表的信息。而表和表之间的联系通过视图来处理。概念结构设计的任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法把它们抽象为一个不依赖于任何具体机器的数据模型,即概念模型。 概念模型使设计者的注意力能够从复杂的实现细节中解脱出来,而只集中在最重要的信息的组织结构和处理模式上。概念模型具有以下的特点:(1) 概念模型是对现实世界的抽象和概括,它真实、充分地反映了现实世界中事物和事物之间的联系,能满足用户对数据的处理要求。(2) 由于概念模型简洁、明晰、独立于计算机,很容易理解,因此可以用概

14、念模型和不熟悉计算机的用户交换意见,使用户能积极参与数据库的设计工作,保证设计工作顺利进行。(3) 概念模型易于更新,当应用环境和应用要求改变时,容易对概念模型修改和扩充。(4) 概念模型很容易向关系、网状、层次等各种数据模型转换。描述概念模型的有力工具是 e-r 图。e-r 模型是一个面向问题的概念模型,即用简单的图形方式(e-r 图)描述现实世界中的数据。这种描述不涉及数据在数据库中表示和存取方法,非常接近人的思维方式。后来又提出了扩展实体联系模型(extend entity-relationship model),简称为“ e-r 模型” 。e-r 模型目前已经成为一种使用广泛的概念模型

15、, 为面向对象的数据库设计提供了有效的工具。由此可以得出如下的 e-r 图:密码用户名权限用户1 产生 n 系统日志图 5-1 a 系统 e-r 图购买时型服役时编舱客姓类飞舱性到达时订客航出发时间电话舱位类别航班日期出发机场到达机场客机编号出发时间身份证号码票价出发机场到达机场图 5-1 b系统 e-r 图5.2 逻辑结构设计概念结构设计所得的e-r 模型是对用户需求的一种抽象的表达形式,它独立于任何一种具体的数据模型,因而也不能为任何一个具体的dbms 所支持。为了能够建立起最终的物理系统,还需要将概念结构进一步转化为某一dbms 所支持的数据模型, 然后根据逻辑设计的准则、 数据的语义约

16、束、 规范化理论等对数据模型进行适当的调整和优化, 形成合理的全局逻辑结构, 并设计出用户子模式。这就是数据库逻辑设计所要完成的任务。数据库逻辑结构的设计分为两个步骤:首先将概念设计所得的e-r 图转换为关系模型;然后对关系模型进行优化。在航空售票管理系统管理系统当中包括了以上几个er 模型向关系模型的转换:角色表(编号,角色)用户表(用户表编号,用户表名,密码,真实姓名,权限)票据信息种类表(票据信息种类表编号,票据信息种类表名,票据销售日期)角色种类关系表(角色种类关系表编号,票据信息种类关系表)票据信息表 (票据信息编号,票据起点站信息,票据终点站信息,用户身份证, 票据销售时间,票据信

17、息所属的票据信息种类)在表当中,关键字(即编号)都采用自动编号的数据类型;日期都采用日期型的数据类型;凡是食品等的数据量都采用数据型的数据类型;其他数据均采用文本型的数据类型。当表之间有关系时通过添加外键来处理。当表与其他表有关系时,便给该表建立一张视图, 通过外键将两张表联系起来, 通过数据筛选, 把自己想要的信息提取出来,形成一张新的表。其他数据设计具体如下:表 5-1 航空售票系统用户表字段名称字段类型字段说明编号用户表主键 userid 1 自动编号用户名称文本 username 2 用户密码 3 password 文本用户email 地址 4 email 文本用户所属角色roleid

18、 数字 5 表 5-2 航空售票系统种类信息表字段名称字段类型编号字段说明票据信息种类表主键自动编号1 newskindid 票据信息种类名称文本 kindname 2 票据销售日期日期kindorder 3 表 5-3 航空售票系统票据信息表数据类型字段说明编号列名文本 1 主键 flight 航空公司名称文本 2 airfirm 起点站文本start 3 终点站文本destination 4 起飞时间leavetime 文本 5 到达时间arrivetime 文本 6 票价数字 childfare 7 收取费用adultfare 数字 8 折扣一数字 discount1 9 折扣二数字di

19、scount2 10 座位数字 seat 11 12 week 数字时间六、详细设计 6.1 关键业务流程描述前台票据信息显示功能模块组成本系统的前台系统;航空订票查询、 航空售票管理、用户管理、 航空售票管理、 用户角色管理和用户的角色分配管理组成本系统的后台系统。前台系统主要显示系统的数据内容;后台系统是维护系统的数据、前台数据内容显示的格式和版式,以及用户、角色的管理等。后台系统中的航空售票管理流程比较复杂,它涉及到航空售票管理模块和航空订票查询模块。6.1.1 航空售票管理后台系统中的航空售票管理流程比较复杂,它涉及到航空售票管理模块和航空订票查询模块,如果票据信息存在附件, 它还需要

20、涉及到上载票据信息附件等功能。在添加、修改和删除票据信息时, 首先应该选择该票据信息所属的上级目录票据信息种类, 如果该票据信息还包括附件,如文件或图片, 则在添加或删除票据信息时必须相应处理票据信息的附件。因此在添加或删除票据信息时都分别存在两种添加操作方式。 如果该票据信息没有包含附件时,则可以直接添加或删除票据信息;但是当该票据信息包含附件时, 则必须在添加或删除票据信息之前添加或删除票据信息的附件,最后才添加或删除该票据信息。 6.1.2管理员管理流程后台系统中的用户及其权限管理流程也比较复杂,它涉及到用户管理、 用户角色管理以及用户角色分配管理。 本系统中的两种基本角色为系统管理员和

21、普通管理员,系统管理员可以管理普通管理员并设置他们的权限,同时还可以添加新的权限;而普通管理员只能管理自己的信息或票据信息种类、票据信息所示: 4-4及其附件等信息。系统管理员用户及其权限的流程如图用户登登陆成功用户角色管用户的角色分配管用户管管理自己的信息提交到数据库 6-1 系统管理员的管理流程图本系统中,还实现了用户角色和票据信息种类动态关联功能,即系统管理员在添加某个用户角色时, 可以动态设置角色所管辖的票据信息种类,若再把该角色赋予给某个用户普通管理员, 则该普通管理员就可以管理该角色管辖的票据信息种类,这样就实现了每个用户可以管辖不同的票据信息种类。因此当普通管理员登录后台系统后,

22、 他只能看到自己管辖的票据信息种类,而无法管理其他的票据信息种类。 6.2 系统界面设计航空售票系统主要涉及到五个用户界面:这些界面基本包括了系统功能规定的所有功能。以下是关于这几个用户界面当中一些主要的功能界面的简单介绍。 6.2.1主功能界面(1) 主功能界面主要是作为票据操作信息使用的,航空售票管理系统的系统使用人员,首先启动工程,之后便出现主功能界面。在此界面下,用户可以操作规定权限下的功能操作。 主功能界面图6-2 (2) 登录界面主要功能调用 查询功能调用票据查询功能 订票功能调用票据订票功能 退票功能调用票据退票功能 管理功能调用票据管理功能6.2.2 其他功能界面(1) 票据查

23、询界面是用户进行票据信息查询操作功能界面。该界面主要完成以下功能,对票据信息的查看, 修改。该功能属于基本信息管理模块, 如图 6-3 所示:航空票据查询界面图6-3 (2) 订票界面是用户选择出发时间、航班号、机票类型的界面如图6-4 所示:航空订票管理界面图6-4 (3) 退票界面输入订单号和身份证号可以查询到机票的信息,可以进行查询、重填、退票等处理。航空退票管理界面图6-5 6.3 模块代码实现后台管理子系统主要包含十个功能模块,以下介绍几个模块的实现。6.3.1 航空订票查询模块航空订票查询主要实现对票据信息种类的添加、修改和删除功能。 票据信息种类是系统内容的最高级别, 所以在添加

24、、 修改或删除票据信息时, 也必须选择该票据信息所属的票据信息种类。 下面是票据信息种类的添加、 修改和删除功能的主要实现代码。public void actionperformed(actionevent e) this.flightnumber = flightfield.gettext().trim(); 未输入信息/if (flightnumber.length() = 0) 请输入航班号或者从列表中选择佊瑰潩偮湡 ?桳睯敍獳条 ?慩潬?畮汬尬 , ,joptionpane.error_message); 错误信息return; executeflightquery(); public

25、 void executeflightquery() string sqlstring = select distinct * from +light + where flight= + + flightnumber + ; resultset rs = sqlbean.executequery(sqlstring); if (rs != null) showresult(rs); else 佊瑰潩偮湡 ?桳睯敍獳条 ?慩潬?畮汬尬没有连接上数据库 !, 错误信息,joptionpane.error_message); 以上是对数据添加的程序代码, 该段代码实现了获得用户数据输入,并把数据插入

26、到数据库当中的功能。 6.3.2航空售票管理模块系统的航空售票管理模块是票据的销售功能。票据信息是站得二级目录, 直属于票据信息种类, 所以在添加、 修改或者擅场票据信息时, 必须先选择该票据信息所属的票据信息种类。主要实现代码如下:public insertpanel() /connect the database try class.forname(sun.jdbc.odbc.jdbcodbcdriver); catch(exception ex) /initiate the checkbox week=new jcombobox(); for(int i=0;is.length;i+)

27、week.additem(si); /it is defined and wait to be operated by thread hour1=new jcombobox(); hour2=new jcombobox(); min1=new jcombobox(); min2=new jcombobox(); /initiate the checkbox /* for(int i=1;i=24;i+) if(i10) hour1.additem(+0+i); hour2.additem(+0+i); else hour1.additem(+i); hour2.additem(+i); 七、系统测试 7.1 软件测试的目标软件测试的目标是想以最少的时间和人力发现软件中潜在的各种错误和缺陷。如果成功的实现了测试,

温馨提示

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

评论

0/150

提交评论