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