数据库课程设计实验报告-火车票售票管理系统概述.docx
《数据库课程设计实验报告-火车票售票管理系统概述.docx》由会员分享,可在线阅读,更多相关《数据库课程设计实验报告-火车票售票管理系统概述.docx(19页珍藏版)》请在冰点文库上搜索。
1
数据库课程设计报告
-------火车售票管理信息系统
软件学院软件工程
2013级x班姓名:
xx
学号:
2013xxxxxxxx
目录
一、系统开发平台 1
四、需求分析 2
4.1用户需求说明 2
4.1.1数据需求 2
4.1.2事务需求 3
4.2系统需求说明 4
五、数据库逻辑设计 4
5.1ER图 4
5.2数据字典 5
5.3关系表 7
六、数据库物理设计 7
6.1索引 7
6.2视图本节可选 8
6.3安全机制 8
七、应用程序设计 8
7.1功能模块 8
7.2界面设计 15
7.3事务设计 15
八、测试和运行 16
九、总结 16
i
一、系统开发平台
题目:
对火车站的售票进行管理。
主要功能:
车次管理(车次、起止地点、到达时间、开车时间)、每一车次的车票管理(车厢号、座位号)、售票、退票、查询、异常处理。
开发工具:
eclipse数据库:
mysql
操作系统:
windows8.1
二、数据库规划
2.1任务陈述:
做一个火车票售票管理系统:
对火车站的售票进行管理。
主要功能:
车次管理(车次、起止地点、到达时间、开车时间)、每一车次的车票管理(车厢号、座位号)、售票、退票、查询、异常处理。
2.2任务目标
完成一个火车票售票管理系统,要实现管理员对车票的增添以及删改功能,同时需要实现用户对车票的查询购买,以及出现调整之后的退票服务。
三、系统定义
3.1系统边界
管理员:
可以对车票以及车次进行删改操作。
用户:
可以买票,但是不可以对火车票进行添加操作
3.2用户视图
3.2.1管理员视图
(1)列车管理:
包括列车的录入、查询、修改和删除。
(2)用户管理:
包括系统使用用户的添加、查询、修改、删除等。
在线支付用户身份信息
用户注册车次设置管理员
4
车次信息录入用户信息管理票务系统
车站实际情况
(3)系统数据处理:
数据查询,根据关键字过滤,查看当前车次信息,车票信息,用户信息以及处理历史。
(4)管理员个人信息管理:
包括查看个人信息、修改密码、重新登陆、退出系统等。
(5)用户请求信息管理:
查看用户请求信息并加以处理。
3.2.2用户视图
(1)个人信息管理:
查看个人信息,修改密码等。
(2)列车车次检索:
包括根据车次进行精确查找,根据起始地点进行模糊查询,查询一定时间之后的车次或按照余票数量进行查询和过滤等等。
(3)车票管理:
按照一定的流程购买自己所需要的车票。
查看自己所持有的所有车票。
并能按照一定流程进行退票。
四、需求分析
4.1用户需求说明
4.1.1数据需求
信息需求,即在系统中需要处理哪些数据。
根据对火车站网上订票系统的分析,本系统的信息需求如表2-1所示。
表2-1信息输入输出
信息输入
信息处理
信息输出
用户输入所需车次
检索系统数据库
符合用户需求的车次及相关
信息
用户输入个人信息及所需订
购的车票信息
更新系统中的订票信息,
将新信息存入系统
数据库
操作反馈(如订票成功)
用户输入自己的名字、身份
证号;或交易的订单
号
检索系统数据库
符合用户需求的订票信息
用户输入自己的名字
检索系统数据库以得到订票
记录,删除用户请求的订票
记录,更新系统数
据库
操作反馈(如退票成功等)
4.1.2事务需求
1.查询
分为对车次信息的查询和客户对已订车票信息的查询。
要求:
1)对车次的查询,可以按照发车车次进行查询;
2)车次信息包括:
车号、出发地、目的地、发车日期、开出时刻、票价。
3)座位类型设定。
4)车次信息只允许用户查询,不能修改。
2.订票
通过查询系统,客户根据自己的需求找到满意的车次,再输入个人信息后直接通
过网上订票确定已预订选中的车票。
要求:
订票记录应包括:
会员名、车号、发车日期、订购日期、订购票数、总价。
3.退票
可退票,通过查询系统,客户可以根据自己的名字找到自己的订票信息,通过退票模块退去已购车票。
4.2系统需求说明
为了保证系统能够长期、安全、稳定、可靠、高效的运行,本系统应该满足以下的性能需求。
1.准确性和及时性
系统处理的准确性和及时性是系统的必要性能。
系统应能及时而且准确的根据用户权限及所输入的信息做出响应。
由于本系统的查询功能对于整个系统的功能和性能完成举足轻重。
作为系统的很多数据来源,而车票的数量和时间又影响用户的决策活动,其准确性和及时性很大程度上决定了系统的成败。
在系统开发过程中,必须采用一定的方法保证系统的准确性和及时性。
2.易用性
本系统是直接面对用户的,而用户往往对计算机并不是非常熟悉。
这就要求系统能够提供良好的用户接口,易用的人机交互界面。
要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面,从而保证系统的易用性。
3.安全性
网上订票系统中涉及到的数据是客运公司相当重要的信息,系统要保证用户的权限,对于车次等信息用户只享有查询服务,不得更改;系统还要提供方便的手段供系统维护人员进行数据备份、日常安全管理、以及系统意外崩溃时数据的恢复等工作。
同时系统还要保证对数据库进行及时更新,保证数据一致性。
五、数据库逻辑设计
5.1ER图
用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。
针对火车站网上订票系统,通过对网上订票工作的过程、内容以及数据流程分析,设计如下所示的数据项和数据结构:
1.车次信息包括:
车号、出发地、目的地、发车日期、开出时刻、剩余座位数、票价。
2.订票记录包括:
订单号、身份证号、车号、订购日期、订购票数、总价。
3.用户信息包括:
用户名、身份证号、性别、电话。
E-R图如图2.2所示
5.2数据字典
表2-5车次信息表BusInfo
字段名
数据类型
是否可
说明
5
空
BusID
char(10)
NOT
NULL
车号(主键)
BusFrom
varchar(50
)
NOT
NULL
出发地
BusTo
varchar(50
)
NOT
NULL
目的地
BusDate
Datetime
NOT
NULL
发车日期(主键)
BusBegin
Datetime
NOT
NULL
开出时刻
BusEnd
Datetime
NOT
NULL
到达时刻
TicketNum
int
NOT
NULL
剩余票数
Price
Money
NOT
NULL
票价
表2-6订单表OrderInfo
字段名
数据类型
是否
可空
说明
OrderID
Char(10)
NOT
NULL
订单号(主键)
UserID
Char(18)
NOT
NULL
身份证号(外键)
BusID
char(10)
NOT
NULL
车号(外键)
BusDate
datetime
NOT
发车日期(外键)
16
NULL
OrderDat
e
datetime
NOT
NULL
订购日期
OrderNum
Int
NOT
NULL
订购票数
Total
Money
NOT
NULL
总价
表2-7用户表User
字段名
数据类型
是否可
空
说明
UserID
char(18)
NOT
NULL
身份证号(主键)
User
varchar(50
)
NOT
NULL
用户名
Sex
Char
(2)
性别
Phone
varchar(12
)
电话
5.3关系表
实体
联系
实体
用户
购买
车票
管理员
删改
车票
用户
退订
车票
六、数据库物理设计
6.1索引
在用户列表中,以用户的nickname为主键进行索引,通过nickname查询修改信息。
在火车票数据库中,以火车的车次为主键进行索引。
6.2视图本节可选
此环节设计在数据库应用生命周期的需求分析和收集阶段标识的用户视图。
通常,视图使用SQL或类似QBE的工具创建。
例如,购买车票
6.3安全机制
在本火车票售票管理系统中,我建立了两种类型的安全机制,系统安全和数据安全。
在系统安全的建设方面,不允许以游客身份访问本系统,所有用户都必须注册并登陆,登录时会验证用户名和密码。
只有两者匹配时,才可访问本系统。
在系统安全方面实现了对方法的封装,能保证系统和数据两方面的安全。
在数据安全方面,数据库对象的访问和使用有严格的控制,其中的某些表只有具有特定权限才可以访问。
七、应用程序设计
本系统综合应用了B/S和C/S架构,可以通过客户端或者网页进行对火车票的管理。
7.1功能模块
7.1.1登陆模块
如果用户是新用户,可以在此注册。
如果是老用户,在验证密码正确以及用户存在的情况下,可以登陆成功。
7.1.2注册模块
注册模块包含用户名,密码,身份证号以及手机号四项信息,其中有对密码的确认,以免发生误输的可能。
同时还会判断身份证的正误,首先是判断身份证的位数,然后可以通过特定的计算方式来计算出身份证号是否正确。
手机号同样是判断位数来判断手机号是否可用,若在真实应用中可以通过发验证码验证该手机号是否可用。
7.1.3购票模块
在查询tab一栏中,通过点击往返箭头可以交换出发地与到达地,从而能更加方便的购买返程的票。
出发日期,用户不能手动输入,而是模仿了12306网站的通过点击日历中的日期来选择日期,一方面能够更好的规范日期格式,另一方面也有利于用户方便的选择自
己的出行时间。
购票模块可以通过浏览器或者客户端两个方式进行操作。
操作的大体流程为,首先通过出发地以及目的地还有出发日期进行查询,然后由用户选择适合自己的车票进行购买,为了模仿真实的购票系统,个人感觉需要添加支付模块,但是由于个人能力有限并没有实现,所以购票成功后的状态是未支付状态,具体如下所示。
7.1.4退票模块
下面显示具体的代码仅仅是为了排版的美观。
已经退票的车票如果点击退票会提示已经退票。
未退票的车票可以成功退票。
这是客户端部分。
7.1.5管理员模块
管理员模块可以实现对火车票的管理,可以添加或者删除火车票。
首先需要添加车次,也可以删除车次。
然后对车次的具体座位进行票务的更改。
7.2界面设计
见上功能模块截图。
7.3事务设计
本火车票售票管理系统中涉及到的事务,均以现实世界火车票购票的日常事务为原型。
其中可圈可点的几处介绍如下。
登陆模式,需要知道用户的身份证号信息,以此对身份证进行核对。
每人一个账
号,可以避免数据库发生重大错误。
注册过程中,通过核对两次输入的密码是否一致可以保证用户密码的可靠性,对身份证号以及手机号的核对可以避免之后购票的时候出现失误。
八、测试和运行
该系统可以完美运行在linux系统以及windows系统之上,还可以兼容ie各个版本。
在运行过程中,如果数据错误还会给予用户以详细的提示,很好的实现了人机交互。
除此之外,还对此火车票售票管理系统进行了低强度的压力测试。
测试结果较为理想
九、总结
在未来相当长的时间内,火车将成为21世纪最为可靠,快速,便捷的出行方式,同时,随着我国经济快速发展,和经济增长方式逐渐向发展内需方向转变,为中国铁路的发展带来了全新的机遇。
对火车票预定与管理系统,我认为将会出现以下几种发展趋势:
1:
纸质车票将会被电子车票代替:
电子车票的出现将乘客的唯一标识例如指纹或
RFID技术作为购票和乘车凭证, 因为免去了纸质车票的传递过程,将更大程度的方便乘客选择火车出行,真正的可以做到足不出户就能完成车票的订购。
目前上海已经进入了磁卡火车票,这已经是在原有纸质车票基础上的一个巨大的变化。
2:
火车票预定与管理系统功能将更加多元化,系统将更加集中,电子车票的出现将使火车票信息系统的架构发生巨大变化,原来分散的,独立的基于客户机/服务器的结构将转换为浏览器/服务器结构,并且一个主机系统可以服务全国的乘客订票需求。
同时因为上百万的用户的在线使用,对火车票预定与管理系统的功能提出一个新的挑战。
对系统的可靠性,可用性,性能要求发生质的变化
3.该系统仍然没有实现支付功能,还欠缺中间站点的