火车订票系统课程设计策画.docx
《火车订票系统课程设计策画.docx》由会员分享,可在线阅读,更多相关《火车订票系统课程设计策画.docx(18页珍藏版)》请在冰豆网上搜索。
![火车订票系统课程设计策画.docx](https://file1.bdocx.com/fileroot1/2022-11/26/d7dc51c0-7fbf-47a2-bc6b-210860ab4a04/d7dc51c0-7fbf-47a2-bc6b-210860ab4a041.gif)
火车订票系统课程设计策画
中南大学
《大型数据库技术》课程设计报告
题目学生火车订票系统
学生姓名XXXX
学号XXXXXXXXXXXXXX
指导教师XXXXXXXXX
专业班级XXXXXXXXXX
完成时间XXXXXXXXXXX
第一章概述
1.1课程设计题目
开发一个学生火车票定票系统
主要实现以下功能:
1、学生基本信息的管理,尤其是学生目的地。
2、学生购票的基本信息,尤其是价钱和车票目的地
3、购票以后的分发管理和分配。
4、能实现退票功能
5、能进行信息的统计和查询
6、操作员管理
1.2设计目的
应用本学期对大型数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。
实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。
1.3设计内容
对于所选择的题目必须对课题的相关信息有一定的了解,对于这个学生火车票定票系统来说,必须了解火车票预定系统的基本雏形以及购票人的信息还有火车票的相关信息。
把这些信息整理并生成数据库表,输入到数据库中,使之能够进行添加、查询、修改、删除并且与火车票预定系统执行一致的操作。
需求分析阶段就是要研究火车票预定系统的具体分类和实施过程流图。
概念设计阶段要完成数据抽象与局部视图设计还有视图的集成。
逻辑结构设计阶段要把E-R图转化为关系模式并且把我输入的三张表结合在一起完成一个总关系表。
最后就是要运行和实施数据库。
1.4系统测试要求
建立两个用户:
zhangsan,admin
(1)第一个用户zhangsan只具有普通用户的权限。
(2)第二个用户admin拥有系统操作员的权限。
第二章需求分析
2.1需求分析的任务
调查学生火车票预定系统应用领域涉及的内容,对涉及到领域的各个应用的信息要求和操作要求进行详细分析,形成需求分析说明书。
最重要的是调查、收集信息、分析购票人信息和火车票预定流程。
处理要求、数据的安全性与完整性要求。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。
并要求客户端的界面要简单明了,易于操作,服务器端程序利于维护。
2.2需求分析的过程
火车站为方便学生返程,需要开发一个学生火车票预定系统。
这个预定火车票系统的学生信息,包括姓名、性别、身份证号码、起始时间、目的地,输入火车票预定系统的客户端程序,系统通过查询铁路系统内的车次数据服务器后,为学生安排车次,印出取票通知。
学生在凭取票通知和帐单交款后取票,系统校对无误后即印出火车票给学生。
如果有特殊原因,学生可以持有效证件去火车站退票。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。
并要求客户端的界面要简单明了,易于操作,服务器端程序利于维护。
2.3数据字典与流程图
经过可行性分析和初步需求调查,抽象出该系统业务流程图,结合该实例具体情况,给出学生信息、订票信息和取票通知的具体需求。
图2.1学生购票流程图
⑴系统用户需求
①火车站需求
●订票功能:
希望能通过学生姓名查到该学生的车次编号并记录学生的基本信息。
●统计功能:
◆按火车票统计买票人数
②学生购票需求:
学生持个人有效证件去火车站购买火车票。
●交费功能:
◆交费
◆退票(资金退还)
③取票需求
●通知功能:
◆通知学生取票
●统计功能:
◆统计可以取票的人
●查询功能:
◆购票学生查询
购票学生姓名
购票学生身份证号
购票学生火车票编号
④车次信息需求
●查询功能:
◆车次号
◆起始地
◆目的地
◆出发时间
2.4系统框架
在调查完了系统需求之后,就要开始分析用户需求。
在此,采用自顶向下的结构化分析方法。
首先,定义全局概念结构的框架,如图2.2所示。
图2.2火车票预定系统总框架图
每个子系统需要进一步细化。
学生信息系统为例进一步细化,如图2.3所示。
图2.3学生信息系统
并且其中的每一个功能模块都可以进一步细化,如图2.4所示。
图2.4查询学生信息功能
图2.5车次信息系统
图2.6火车票信息系统能查询到的内容
图2.7退票系统
将以上所有子系统全部细化。
将所有用户需求分析完毕之后,就要开始构造数据字典了。
经分析之后,本系统要用到三个基本表:
学生信息表,车次信息表,火车票信息表。
数据结构定义如表2.1所示。
表2.1数据结构定义
数据结构名
含义说明
组成
学生
定义了学生相关信息
学生姓名,身份证号,性别,
学校,电话号
车次信息表
定义了车次
的有关信息
车次编号,起始时间,起始站点,终点站
火车票信息表
定义了火车票相关信息
火车票编号,座位号,起始时间,起始站点,终点站
第三章概念结构设计
3.1概念结构设计的方法与步骤
3.1.1概念结构设计的方法
概念设计阶段采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计。
对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式。
3.1.2概念结构设计的步骤
第一步是进行局部视图的设计:
由于高层的数据流图只能反映系统的概貌,而中层流图能较好的反映系统中各局部应用的子系统组成。
因此我先逐一的设计分E-R图。
第二步是进行视图的集成:
各子系统的E-R图设计好之后,下一步就是要将所有的分E-R图合成一个系统的总E-R图,一般有两个方式,多个分E-R图一次集成,另一种是一次集成两个分E-R图。
我想采用一次集成两个分E-R图的方式。
3.2数据抽象与局部视图设计
按照图2.2火车票预定系统总框架图,设计实体属性图以及局部E-R图。
图3.1车次信息实体属性图
图3.2学生实体属性图
图3.3火车票实体属性图
……
3.3视图的集成
经过逐步细化再进行每两个一集成初步形成一个E-R图,最后得到图3.4总体概念结构E-R图。
图3.4系统总体结构E-R图
第四章数据库逻辑设计
4.1E-R图向关系模型的转换
将图3.4总体概念结构E-R图转化成关系模型。
学生(姓名,身份证号,电话号,性别,学校)
车次信息表(车次编号,起始时间,起始站点,终点站)
火车票信息表(座位号,车次编号号,座位信息,售出时间)
4.2数据模型的优化
将转化的关系模式进行优化,最终达到第三范式。
1、确定数据依赖
学生(姓名,身份证号,电话号,性别,学校)
学生姓名→身份证号,学生姓名→电话号,学生姓名→性别,学生姓名→学校
车次信息表(车次编号,起始时间,起始站点,终点站)
车次编号→起始时间,车次编号→起始站点,车次编号→终点站
火车票信息表(座位号,车次编号,座位信息,售出时间)
(座位号,车次编号)→座位信息,(座位号,车次编号,座位信息)→售出时间
2、对各关系模式间数据依赖进行极小化处理,消除冗余
学生姓名→性别,学生姓名→学校,学生姓名→车次编号
学生姓名→座位号,车次编号→起始站点,车次编号→终点站
车次编号→起始时间,(座位号,车次编号)→座位信息
3、看这些模式是否符合要求,确定是否要对某些模式进行合并或者分解
最终分解成第三范式:
(电话号,身份证号)(学生姓名)(学生姓名,性别,学校)(学生姓名,车次编号)(学生姓名,座位号)(车次编号,座位号)(车次编号,起始站点,终点站,起始时间)
4.3数据库的结构
根据总体结构图设计各表的结构,其相应标的定义如下:
字段名
数据类型
长度
约束
描述
name
varchar
50
主键
姓名
id
decimal
不为空
身份证号
telephonenumber
decimal
不为空
电话号
sex
varchar
50
不为空
性别
school
Varchar
50
不为空
学校
表4-1学生信息系统的结构
字段名
数据类型
长度
约束
描述
ttrainnumber
decimal
主键
车次编号
stratplace
varchar
50
不为空
起始站点
destination
varchar
50
不为空
目的地
startime
time
不为空
起始时间
表4-2车次信息表系统的结构
字段名
数据类型
长度
约束
描述
Seatnumber
decimal
主键
座位号
trainnumber
decimal
不为空
车次编号
soledtime
varchar
50
不为空
售出时间
isbooked
boolean
50
不为空
订票状态
表4.3火车票信息表系统的结构
五、软件功能设计
5.1软件模块划分
1.普通用户模块
在普通用户模块中可以实现注册,登陆,资料修改,车次查询,订票以及退票。
2.管理员模块
管理员模块包含三个板块的内容:
①车次基本信息管理:
包括添加,更新,查询,删除车次。
②火车票信息管理:
已定火车票列表。
③查看营业总额。
5.2软件功能结构图
6、界面设计
图6.1系统主界面
图6.2系统登录界面
图6.3管理员登陆
图6.4车次查询结果列表
图6.5车次管理界面
图6.6车次更新列表(准备更新车次)
图6.7车次详细信息及其操作
图6.8车次更新(更新详细信息)
图6.9已定火车票列表(未付款)
图6.10已定火车票详细信息及其操作
图6.11已定火车票列表(已付款)
图6.12准备查询领取车票
图6.13火车票详细信息
图6.14普通用户登陆
图6.15普通用户没有对车次进行管理的权限
总结
通过为期两周的课程设计,终于完成了学生火车票订票系统。
在整个开发过程中,我一直把学生火车票订票系统当做一个小型的项目进行研发。
因而也具备了软件开发的相应流程。
前期通过需求分析以及详细设计确定开发步骤,整个系统采用Struts+Hibernate+Spring开发。
系统的特点如下:
1.表示层采用MVC模式的Struts框架,用JSP标签进行页面显示;
2.控制层扩展Struts框架的DispatchAction进行流程的处理,使用Spring的IoC对各层解耦;
3.持久层使用轻量级框架Hibernate来实现ORM对象关系映射,使用Spring来管理持久层;
4.模型层严格按照JavaBean规范要求。
系统完成之后的效果跟课程设计的题目要求基本吻合,但是在上机检查的时候,老师提出我这个系统的添加车次功能不尽合理,这是需要改进的地方。
参考文献
[1]张钰.精通Spring2.XJavaWeb开发.电子工业出版社,2008,9
[2]王珊,陈红.数据库系统原理教程[M].清华大学出版社,1998,7
[3]陈云芳.精通Struts2.0基于MVC的JavaWeb应用开发实战.人民邮电出版社,2008,7