数据库大作业火车票订票系统.docx
《数据库大作业火车票订票系统.docx》由会员分享,可在线阅读,更多相关《数据库大作业火车票订票系统.docx(13页珍藏版)》请在冰豆网上搜索。
数据库大作业火车票订票系统
火车票订票系统
实验课题:
火车票订票系统
专业:
计算机科学与技术
姓名:
AAAAA
组员:
BBBBBBB
日期:
2013年5月26日
火车票订票系统
一、团队成员
XXXXXX
二、角色分配——系统分析员
作为团队中的系统分析员。
首先需要理解和明确整个项目的管理目标和未来的发展方向,其次需要充分了解用户的需求并且对用户需求未来可能的改变有一定的了解和预判。
在了解了用户的需求后,与系统设计员、系统开发员及DBA进行沟通以及对整个项目的统筹规划。
作为一名普通的学生,在学校经常会遇到各种订票的时候。
尤其是在放假的阶段,火车票、飞机票更是供不应求。
所以开发一个能够服务于普通用户的订票软件正是顺应了市场所需。
所以我们团队最后选择了设计开发一个火车票订票管理系统。
对于一个火车票订票管理系统,准确快捷的车次信息查询功能和方便简单的订票操作是十分必要的,因此系统必须为用户提供准确的车次信息和当前的车票状况,这也是火车票订票管理系统的最基本要求。
客户端后台管理员要能够及时添加、修改车次信息,并能够对用户信息进行录入和删除。
所以结合实际情况,火车票订票系统应满足一下需求:
1.客户端界面清晰友好,达到一目了然的效果。
2.客户端能够有方便的查询系统及简单明了的订票、退票操作。
3.防止用户重复订票、退票操作,影响系统数据的正确性。
4.服务器端提供信息完全可靠,时效性强。
数据字典如下:
管理员表:
字段名称
字段类型
主键
管理号管理号
Char(10)
是
密码
Char(10)
否
用户表:
字段名称
字段类型
主键
用户号
Char(10)
是
姓名
Char(10)
否
性别
Char
(2)
否
身份证号
Char(18)
否
密码
Char(10)
否
车次信息表:
字段名称
字段类型
主键
车次
Char(10)
是
类别
Char(10)
否
始发站
Char(10)
否
始发时间
Char(10)
否
终点站
Char(10)
否
终到时间
datatime
否
硬座数量
Char(10)
否
硬卧数量
Char(10)
否
软卧数量
Char(10)
否
车站信息表:
字段名称
字段类型
主键
车次
Char(10)
是
路过站
Char(10)
否
车站代码
Char(10)
否
到站时间
Char(10)
否
离站时间
Char(10)
否
硬座价格
Char(10)
否
车票预定表:
字段名称
字段类型
主键
用户号
Char(10)
是
用户姓名
Char(10)
否
车次
Char(10)
否
类别
Char(10)
否
乘坐日期
date
否
起点站
Char(10)
否
到达站
Char(10)
否
乘坐方式
Char(10)
否
票价
money
否
订票日期
date
否
备注
Char(10)
否
三、数据库的设计与系统实现
1、表的设计
我们设计的订票系统主要包括一下几个表,对表的编辑可以直接在MicrosoftSQLServer中直接修改,也可以在系统界面中从前台操作修改,这里结合了SQLServer强大的数据处理功能和VisualBasic直观的界面,使得整个系统不但功能强大,而且有着很友好的界面,让人用起来非常容易。
以下是这几个表的具体示例:
(1)管理员表
该系统中设置了两个管理员,分别是admin和dlut,后台信息的编辑于整理都是由管理员来进行的
(2)用户表
这部分存储的是用户注册的信息,游客通过注册就可以获得订票、退票的权限,下表中存储了我们组所有组员的信息,每个人都可以登陆以实现订票退票操作。
(3)车次信息表
这个表中包含了车次的一系列信息,和订票的信息直接相关,一下是我们添加的几个实例。
(4)车站信息表
该表包括了车次具体的信息,清楚地显示了列车经过哪些站点,以及站点的达到时间、离开时间、和到各个站点的具体票价(为简单起见,这里设定硬卧价格是硬座价格的1.5倍,软卧价格是硬座价格的2倍),通过查询该表能很快得到想要的车站信息。
(5)车票预订表
在这个表中,主要包括了用户的一些基本信息和预订车票的一些信息,用户注册后就能有预订车票的权限,在预订车票时需要填写车次、乘坐日期、起点站、到达站和乘坐方式(硬座、硬卧和软卧)等信息。
2、首页界面设计
这个界面主要包括功能提示栏、管理员和用户登陆模块以及图片logo。
如果不登陆,将默认进入的是游客,游客的权限有列车时刻表查询、车次查询、剩余车票查询和信用户注册。
如果作为用户登陆,则拥有功能提示栏上的所有权限。
管理员登陆后可以进入管理员界面,管理员界面将在下面介绍。
2、各模块功能设计
(1)管理员界面
这部分的功能主要是添加新车次信息、为车次添加站点和查看总体信息。
按照显示顺序依次填入信息,再点击“录入”便可以将新车次信息录入。
同样按照显示顺序可以将车次站点添加进数据库。
点击“信息统筹”就可以看到数据库的相关信息。
其设计如下:
(2)列车时刻表模块
这个模块可以方便地提供给管理员、用户和游客列车时刻信息,点击首页中的“列车时刻表”便可进入。
(3)车次查询模块
这一模块的功能和列车时刻表的相似,主要是方便查询信息。
(4)订票模块
该模块是本系统的核心部分,即实现用户订票,用户首先需要选择的是“车次编号”,填完后“类别”会通过查询数据库自动显示,再选择“乘坐日期”,这里限定的是提前11天预售。
然后选择“出发站”和“达到站”,票类选择“硬座”、“硬卧”和“软卧”其中之一,选完后系统会自动显示“票价”,在选择下面的“预订”就可以完成订票。
另外,系统设定为一个用户只能预订一张火车票。
(5)退票模块
本模块实现的是退票功能,当用户订完票需要退掉时进入该页面。
本系统有三种查询退票方式,分别是:
按车次、姓名退票,按乘车日期退票和按乘坐区间退票。
用户选择其中一种即可,选择之后点击“退票”就可以成功退票。
(6)剩余车票查询模块
本模块是提供给游客或用户查询火车余票功能的,输入查询的“车次”和“乘车日期”,再点击“查询”就能实现功能。
(7)新用户注册模块
该模块是提供用户注册的,游客通过注册成为用户,就可以拥有订票和退票权限。
依次填入“用户名”、“密码”、“性别”、“身份证号”、“姓名”,再点击“注册”即可。
四、软件维护和事后总结
整个系统构建好之后,经过了多次黑、白盒测试,在使用期间也并未出现较为严重的错误,总体上系统性能比较稳定,实现了其最初预定的设计目标,满足了用户的基本需求。
不过经过我们小组的总结,认为系统现在仍然存在着以下几个问题,在以后的维护升级可以加以改善。
(1)本系统没有制作单独的服务器,就计算机本身的运算速度是很慢的,往往一步操作都要等好几秒钟,这是比较严重的一个问题。
在之后的改进过程中可以考虑为系统做一个服务器,加快系统运算的速度,提高系统的可用性。
(2)由于系统设计人员能力及精力等多方面的客观限制。
系统现在只能简单实现“一座全程一人”的功能。
不能实现多人同时间,同车次,同座位,不同区间的功能。
这也使得系统的实用性得到了下降。
当然,这个问题并不是不可避免的,相信在将来这个功能可以得到进一步的完善。
(3)系统现在只能做到单一用户的登录与使用。
无法在不关闭系统的前提下实现同一用户多账号切换购票的功能。
即系统没有单独设置账号退出的功能。
这个问题的存在,会一定程度上影响到程序的使用效率。
(4)由于设计人员的时间及精力有限,在已购票查询方面还存在一定问题。
如除系统管理员外,普通用户无法做到模糊查询或直接查看本用户的历史订票记录。
这为退票及订票环节带来了一定程度的不便。
当然,这也仅仅是系统的最初版本,系统本身还存在着相当大的改进的空间,相信只要时间充足,在后续的时间中,系统还会得到进一步的完善。
个人总结:
在这个学期开始之前,作为一名计算机专业大三的学生,我是没有任何软件系统开发经验的。
在这个学期陆续学习了《软件工程》和《数据库原理》两门课程之后,才对计算机软件系统的开发有了初步的认识和了解。
尤其是在这个火车票订票系统的整个开发过程中,我更是深深感受到了计算机软件开发的全过程。
而且作为一名系统分析员,其职能与我之前所设想的未来职业也是十分接近的。
在整个系统的开发过程之中,我先后与系统设计员进行了需求分析、可行性分析与数据库的概要设计工作。
编写了需求分析报告及可行性分析报告,绘制了基本的E-R图。
与此同时,还与项目管理员共同规划了整个系统的开发进度。
在一些难点如界面设计、系统功能实现、数据库连接上成功的与团队的其他成员不断地进行沟通与交流。
并且利用小组内我自己对计算机软件使用方面了解较多的优势,为系统的功能设计及后期测试也起到了一定的推动作用。
如管理员界面的设置、退票、余票查询功能的设计。
系统开发后期,我在参与测试的过程中先后发现了管理本身不能参与订票,新用户无法注册账号信息等问题。
提出了包括“一座全程一人”、“多账号切换”等功能缺乏的问题,为系统今后的维护与改进贡献了自己的一份力量。
当然目前整个订票系统的设计已经完成了,我们希望这个系统能够成为人们生活中一个简单实用的工具。
至此,这个系统的设计全过程已经结束了,该系统也基本达到了预期的需求,总体来说还是实现了整个团队最初的设计目标。
简而言之,这次火车票订票系统的开发让我更加深刻的领悟到了计算机软件开发的不易,并且通过自主实践的手段切身体会领悟到了很多课堂上所讲过的内容。
对上课时一些讲过的概念、要点有了自己的见解,确实是受益匪浅。