java课程设计机票预订系统设计与实现Word文件下载.docx
- 文档编号:21003048
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:18
- 大小:557.32KB
java课程设计机票预订系统设计与实现Word文件下载.docx
《java课程设计机票预订系统设计与实现Word文件下载.docx》由会员分享,可在线阅读,更多相关《java课程设计机票预订系统设计与实现Word文件下载.docx(18页珍藏版)》请在冰豆网上搜索。
另外,要求系统具有较强的稳定性、可维护性、可移植性、扩充性.同时,实现控制各种用户系统权限,从而保证系统安全性.通过对已有的航空订票系统的研究,结合这些系统存在的优缺点而设计本系统。
3.2.2功能需求
航空售票系统主要包括航空订票查询、航空售票管理、用户管理、航空退票管理、版权设置等功能,各个功能的具体描述如下:
(1)航空订票查询
①添加新的票据信息种类,票据信息种类为票据信息的上级目录;
②修改票据信息种类;
③删除票据信息种类;
(2)航空售票管理
①添加新的票据信息,票据信息为系统的主要内容,其中票据信息又包括普通票据信息、图片票据信息和附件票据信息几个大类;
②修改票据信息,同时可以更新票据信息的附件;
③删除票据信息,同时从服务器上删除该票据信息所包括的附件;
(3)用户管理
1添加系统管理用户,包括系统用户和航空售票管理用户,其中系统用户维护系统的正常运行,航空售票管理用户管理系统的票据信息信息及其资源;
2修改系统管理用户,该项功能主要是修改用户的权限等;
3删除系统管理用户以及该用户的权限;
④管理用户更新自己的密码。
(4)用户角色管理
用户角色管理主要是管理系统的角色,如系统管理员、普通管理员等。
系统中的不同角色管理权限是不相同的。
它的具体功能如下:
①添加新的用户角色;
②修改用户角色;
③删除用户角色。
四、总体设计
4。
1系统功能设计
本系统包含两个子系统,其中航空售票中心所使用的是航空售票管理系统,而航空售票中心所使用的是管理员用户子系统,管理员用户子系统又称为后台管理子系统.每个子系统包换了若干子功能模块,每个子功能模块完成相应的处理操作功能。
其中管理员的权限是大于票据信息用户的。
基本设计流程如图4—1所示:
图4—1系统功能图
由图可知,当系统启动后,用户需要通过验证进入系统.系统根据用户的验证判断用户的权限,当是管理员用户登录时会转入管理员功能模块,否则转入票据信息用户模块。
成功登录后,用户可以完成权限限制内的操作,即当前可以操作的功能模块。
用户操作时,系统自动判断用户所想要调用的功能子模块,并提交给用户,在用户完成操作后可以退出系统。
2系统功能模块简介
动态航空售票系统主要包括航空订票查询、航空售票管理、用户管理、航空售票管理、用户角色管理、用户角色分配等功能,各个功能的具体描述如下:
(1)航空订票查询
①添加新的票据信息种类,票据信息种类为票据信息的上级目录;
②修改票据信息种类;
(2)航空售票管理
①添加新的票据信息,票据信息为系统的主要内容,其中票据信息又包括普通票据信息、图片票据信息和附件票据信息几个大类;
②修改票据信息,同时可以更新票据信息的附件;
③删除票据信息,同时从服务器上删除该票据信息所包括的附件;
(3)用户管理
①添加系统管理用户,包括系统用户和航空售票管理用户,其中系统用户维护系统的正常运行,航空售票管理用户管理系统的票据信息信息及其资源;
②修改系统管理拥护,该项功能主要是修改用户的权限等;
③删除系统管理用户以及该用户的权限;
(4)航空售票管理
航空售票管理主要是管理系统的票据销售管理功能,对需要旅行或外出需要空运的旅客售票服务.它的具体功能如下:
①添加起始站点;
②添加终点站;
③添加旅客身份证;
④售票;
(5)航空退票管理
航空退票管理主要是管理系统的退票管理功能,对延误旅行或因特殊原因需要退票的旅客退票服务。
①修改票据退票标示位;
②添加备注信息;
(6)用户的角色分配管理
用户的角色分配管理主要管理用户的角色分配问题,不管是系统的新用户或是已经存在的老用户,系统可以动态分配给他们的角色。
①修改用户的角色;
②删除用户的角色.
五、数据库设计
5。
1概念结构设计
该系统所采用的数据库是Microsoft公司的Access。
数据库设计采用了子母表,视图等方法来处理表之间的关系.对于每个票据信息单独建立一张票据信息的信息表,所有的票据信息信息表都包含在子表当中.同时子表的ID作为母表的外键,通过母表可以顺利的检索到子表的信息。
而表和表之间的联系通过视图来处理。
概念结构设计的任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法把它们抽象为一个不依赖于任何具体机器的数据模型,即概念模型。
概念模型使设计者的注意力能够从复杂的实现细节中解脱出来,而只集中在最重要的信息的组织结构和处理模式上.
概念模型具有以下的特点:
(1)概念模型是对现实世界的抽象和概括,它真实、充分地反映了现实世界中事物和事物之间的联系,能满足用户对数据的处理要求。
(2)由于概念模型简洁、明晰、独立于计算机,很容易理解,因此可以用概念模型和不熟悉计算机的用户交换意见,使用户能积极参与数据库的设计工作,保证设计工作顺利进行。
(3)概念模型易于更新,当应用环境和应用要求改变时,容易对概念模型修改和扩充。
(4)概念模型很容易向关系、网状、层次等各种数据模型转换.描述概念模型的有力工具是E—R图。
E-R模型是一个面向问题的概念模型,即用简单的图形方式(E—R图)描述现实世界中的数据。
这种描述不涉及数据在数据库中表示和存取方法,非常接近人的思维方式.后来又提出了扩展实体联系模型(ExtendEntity-RelationshipModel),简称为“E-R模型”。
E—R模型目前已经成为一种使用广泛的概念模型,为面向对象的数据库设计提供了有效的工具.由此可以得出如下的E—R图:
图5—1a系统E—R图
图5-1b系统E-R图
5.2逻辑结构设计
概念结构设计所得的E-R模型是对用户需求的一种抽象的表达形式,它独立于任何一种具体的数据模型,因而也不能为任何一个具体的DBMS所支持。
为了能够建立起最终的物理系统,还需要将概念结构进一步转化为某一DBMS所支持的数据模型,然后根据逻辑设计的准则、数据的语义约束、规范化理论等对数据模型进行适当的调整和优化,形成合理的全局逻辑结构,并设计出用户子模式。
这就是数据库逻辑设计所要完成的任务.
数据库逻辑结构的设计分为两个步骤:
首先将概念设计所得的E—R图转换为关系模型;
然后对关系模型进行优化。
在航空售票管理系统管理系统当中包括了以上几个ER模型向关系模型的转换:
角色表(编号,角色)
用户表(用户表编号,用户表名,密码,真实姓名,权限)
票据信息种类表(票据信息种类表编号,票据信息种类表名,票据销售日期)
角色种类关系表(角色种类关系表编号,票据信息种类关系表)
票据信息表(票据信息编号,票据起点站信息,票据终点站信息,用户身份证,票据销售时间,票据信息所属的票据信息种类)
在表当中,关键字(即编号)都采用自动编号的数据类型;
日期都采用日期型的数据类型;
凡是食品等的数据量都采用数据型的数据类型;
其他数据均采用文本型的数据类型。
当表之间有关系时通过添加外键来处理。
当表与其他表有关系时,便给该表建立一张视图,通过外键将两张表联系起来,通过数据筛选,把自己想要的信息提取出来,形成一张新的表。
其他数据设计具体如下:
表5-1航空售票系统用户表
编号
字段名称
字段类型
字段说明
1
UserID
自动编号
用户表主键
2
UserName
文本
用户名称
3
Password
用户密码
4
用户Email地址
5
RoleID
数字
用户所属角色
表5—2航空售票系统种类信息表
NewsKindID
票据信息种类表主键
KindName
票据信息种类名称
KindOrder
日期
票据销售日期
表5-3航空售票系统票据信息表
列名
数据类型
flight
主键
airfirm
航空公司名称
start
起点站
destination
终点站
leaveTime
起飞时间
6
arriveTime
到达时间
7
childFare
票价
8
adultFare
收取费用
9
discount1
折扣一
10
discount2
折扣二
11
seat
座位
12
week
时间
六、详细设计
6。
1关键业务流程描述
前台票据信息显示功能模块组成本系统的前台系统;
航空订票查询、航空售票管理、用户管理、航空售票管理、用户角色管理和用户的角色分配管理组成本系统的后台系统。
前台系统主要显示系统的数据内容;
后台系统是维护系统的数据、前台数据内容显示的格式和版式,以及用户、角色的管理等。
后台系统中的航空售票管理流程比较复杂,它涉及到航空售票管理模块和航空订票查询模块.
1。
1航空售票管理
后台系统中的航空售票管理流程比较复杂,它涉及到航空售票管理模块和航空订票查询模块,如果票据信息存在附件,它还需要涉及到上载票据信息附件等功能.
在添加、修改和删除票据信息时,首先应该选择该票据信息所属的上级目录—-票据信息种类,如果该票据信息还包括附件,如文件或图片,则在添加或删除票据信息时必须相应处理票据信息的附件.因此在添加或删除票据信息时都分别存在两种添加操作方式。
如果该票据信息没有包含附件时,则可以直接添加或删除票据信息;
但是当该票据信息包含附件时,则必须在添加或删除票据信息之前添加或删除票据信息的附件,最后才添加或删除该票据信息。
6。
1.2管理员管理流程
后台系统中的用户及其权限管理流程也比较复杂,它涉及到用户管理、用户角色管理以及用户角色分配管理。
本系统中的两种基本角色为系统管理员和普通管理员,系统管理员可以管理普通管理员并设置他们的权限,同时还可以添加新的权限;
而普通管理员只能管理自己的信息或票据信息种类、票据信息及其附件等信息。
系统管理员用户及其权限的流程如图4-4所示:
图6—1系统管理员的管理流程
本系统中,还实现了用户角色和票据信息种类动态关联功能,即系统管理员在添加某个用户角色时,可以动态设置角色所管辖的票据信息种类,若再把该角色赋予给某个用户-—普通管理员,则该普通管理员就可以管理该角色管辖的票据信息种类,这样就实现了每个用户可以管辖不同的票据信息种类。
因此当普通管理员登录后台系统后,他只能看到自己管辖的票据信息种类,而无法管理其他的票据信息种类.
6.2系统界面设计
航空售票系统主要涉及到五个用户界面:
这些界面基本包括了系统功能规定的所有功能。
以下是关于这几个用户界面当中一些主要的功能界面的简单介绍。
6.2.1主功能界面
(1)主功能界面主要是作为票据操作信息使用的,航空售票管理系统的系统使用人员,首先启动工程,之后便出现主功能界面。
在此界面下,用户可以操作规定权限下的功能操作。
图6—2主功能界面
(2)登录界面主要功能调用
①查询功能
调用票据查询功能
②订票功能
调用票据订票功能
③退票功能
调用票据退票功能
4管理功能
调用票据管理功能
6.2.2其他功能界面
(1)票据查询界面是用户进行票据信息查询操作功能界面.该界面主要完成以下功能,对票据信息的查看,修改。
该功能属于基本信息管理模块,如图6-3所示:
图6—3航空票据查询界面
(2)订票界面是用户选择出发时间、航班号、机票类型的界面如图6—4所示:
图6-4航空订票管理界面
(3)退票界面输入订单号和身份证号可以查询到机票的信息,可以进行查询、重填、退票等处理。
图6-5航空退票管理界面
3模块代码实现
后台管理子系统主要包含十个功能模块,以下介绍几个模块的实现。
3.1航空订票查询模块
航空订票查询主要实现对票据信息种类的添加、修改和删除功能.票据信息种类是系统内容的最高级别,所以在添加、修改或删除票据信息时,也必须选择该票据信息所属的票据信息种类。
下面是票据信息种类的添加、修改和删除功能的主要实现代码.
publicvoidactionPerformed(ActionEvente)
{
this。
flightNumber=flightField。
getText()。
trim();
if(flightNumber。
length()==0)//未输入信息
{
JOptionPane.showMessageDialog(null,”请输入航班号或者从列表中选择"
”错误信息”,JOptionPane。
ERROR_MESSAGE);
return;
}
executeFlightQuery();
}
publicvoidexecuteFlightQuery()
StringsqlString="
SELECTDISTINCT*FROM”+”flight”+
”WHEREflight=”+"
\’"
+flightNumber+"
\'
"
;
ResultSetrs=sqlBean.executeQuery(sqlString);
if(rs!
=null)
showResult(rs);
else
JOptionPane.showMessageDialog(null,"
没有连接上数据库!
”,
”错误信息"
JOptionPane。
}
以上是对数据添加的程序代码,该段代码实现了获得用户数据输入,并把数据插入到数据库当中的功能。
6.3。
2航空售票管理模块
系统的航空售票管理模块是票据的销售功能.票据信息是站得二级目录,直属于票据信息种类,所以在添加、修改或者擅场票据信息时,必须先选择该票据信息所属的票据信息种类.主要实现代码如下:
publicInsertPanel()
//connectthedatabase
try
{
Class.forName("
sun.jdbc。
odbc.JdbcOdbcDriver”);
}
catch(Exceptionex)
{
}
//initiatethecheckBox
week=newJComboBox();
for(inti=0;
i〈s。
length;
i++)
week。
addItem(s[i]);
//itisdefinedandwaittobeoperatedbythread
hour1=newJComboBox();
hour2=newJComboBox();
min1=newJComboBox();
min2=newJComboBox();
////initiatethecheckBox
//********************************************
for(inti=1;
i〈=24;
if(i〈10)
{
hour1。
addItem("
”+0+i);
hour2。
addItem(””+0+i);
else
hour1。
+i);
addItem(””+i);
七、系统测试
7.1软件测试的目标
软件测试的目标是想以最少的时间和人力发现软件中潜在的各种错误和缺陷。
如果成功的实现了测试,就能够发现软件中的错误。
测试的另一个收获是它能够证明软件的功能和性能与需求说明相符,同时实施测试收集到的数据为可靠性分析提供了依据.
7.2具体测试
(1)航班查询测试,管理员登录系统后,点击“查询”按钮后触发此功能,弹出的窗体如图所示:
图7-1航班查询窗口
然后,输入航班号或者从下拉列表中选择,点击“查询”可查看具体的航班信息。
如图所示:
图7—2查询结果
若输入的航班不存在或者输入错误,系统会提示错误信息。
图7-3错误信息
(2)订票功能测试。
由主窗口进入订票窗口,如图所示:
图7-4订票窗口
若输入有误或者信息不完整,系统会提示错误信息,如图所示:
图7-5错误信息
八、总结
在整个课程设计的过程中,使我的专业基础知识进一步的得到了提高,从而遇到了很多问题,但最终在导师的指导帮助下基本上完成了预定的目标,学到了很多平时很难学到的专业和实践知识。
在开发本系统过程中,我感受最深的就是我对JAVA的学习还不够深刻,最终在老师和同学的帮助下完成了机票预订系统设计与实现的开发.
本系统界面相对来说比较简单,因为程序重点是设计一个便捷的航空售票管理后台,所以总体设计显示设计比较简单,主要操作包括航空订票管理、航空退票管理、用户及其角色的管理等等。
这些都是本系统的特色和优势.当然本系统在各方面肯定还存在很多的不足和需要改进的地方,随着实践操作的增加而不断改进和优化,实现与时俱进.
九、参考文献
[1]郝刚著《JAVA开发指南》,北京:
人民邮电出版社,2006.
[2]贺伟,陈哲,龚涛,戴博。
新一代JAVA网络编程入门与实践。
北京:
北京清华大学出版社,2007。
[3]埃克尔.Java编程思想(第4版)。
北京:
机械工业出版社,出版时间:
2007年06月
[4]昊斯特曼著。
《Java核心技术》,北京:
机械工业出版社,出版时间:
2008年06月
[6]霍斯特曼.JAVA核心技术卷II:
高级特性。
2008年12月
[7]孙卫琴著《JAVA面向对象编程》,西安:
电子工业出版社,出版时间:
2006年07月
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 课程设计 机票 预订 系统 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)