车站售票管理系统数据库课程设计报告.docx

上传人:b****4 文档编号:5654004 上传时间:2023-05-08 格式:DOCX 页数:33 大小:168.80KB
下载 相关 举报
车站售票管理系统数据库课程设计报告.docx_第1页
第1页 / 共33页
车站售票管理系统数据库课程设计报告.docx_第2页
第2页 / 共33页
车站售票管理系统数据库课程设计报告.docx_第3页
第3页 / 共33页
车站售票管理系统数据库课程设计报告.docx_第4页
第4页 / 共33页
车站售票管理系统数据库课程设计报告.docx_第5页
第5页 / 共33页
车站售票管理系统数据库课程设计报告.docx_第6页
第6页 / 共33页
车站售票管理系统数据库课程设计报告.docx_第7页
第7页 / 共33页
车站售票管理系统数据库课程设计报告.docx_第8页
第8页 / 共33页
车站售票管理系统数据库课程设计报告.docx_第9页
第9页 / 共33页
车站售票管理系统数据库课程设计报告.docx_第10页
第10页 / 共33页
车站售票管理系统数据库课程设计报告.docx_第11页
第11页 / 共33页
车站售票管理系统数据库课程设计报告.docx_第12页
第12页 / 共33页
车站售票管理系统数据库课程设计报告.docx_第13页
第13页 / 共33页
车站售票管理系统数据库课程设计报告.docx_第14页
第14页 / 共33页
车站售票管理系统数据库课程设计报告.docx_第15页
第15页 / 共33页
车站售票管理系统数据库课程设计报告.docx_第16页
第16页 / 共33页
车站售票管理系统数据库课程设计报告.docx_第17页
第17页 / 共33页
车站售票管理系统数据库课程设计报告.docx_第18页
第18页 / 共33页
车站售票管理系统数据库课程设计报告.docx_第19页
第19页 / 共33页
车站售票管理系统数据库课程设计报告.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

车站售票管理系统数据库课程设计报告.docx

《车站售票管理系统数据库课程设计报告.docx》由会员分享,可在线阅读,更多相关《车站售票管理系统数据库课程设计报告.docx(33页珍藏版)》请在冰点文库上搜索。

车站售票管理系统数据库课程设计报告.docx

车站售票管理系统数据库课程设计报告

河南理工大学

万方科技学院

课程设计报告

2010—2011学年第一学期

 

课程名称数据库系统原理

设计题目车站售票管理系统

学生姓名王邦政

学号**********

专业班级通信—3班

指导教师刘小燕

2010年09月25日

 

1、需求求报告分析…………………………………………………………………………1

1、1概述…………………………………………………………………………1

1、2系统功能分析………………………………………………………………1

1、3数据流图……………………………………………………………………2

1、4数据字典……………………………………………………………………3

2、概念及逻辑结构设计…………………………………………………………………7

2、1ER图………………………………………………………………………7

2、2关系模式……………………………………………………………………8

2、3数据结构……………………………………………………………………9

3、数据库设计………………………………………………………………………………10

4、系统软件结构设计…………………………………………………………………11

4、1系统功能设计………………………………………………………………11

4、2其它需求……………………………………………………………………12

4、3说明…………………………………………………………………………12

5、程序模块设计…………………………………………………………………………15

5、1功能模块详细设计…………………………………………………………15

5、2界面设计……………………………………………………………………16

5、3附录:

系统程序源代码……………………………………………………16

参考文献………………………………………………………………………………………25

1系统需求分析报告

1.1概述

汽车售票管理系统主要用于车站日常的票务处理。

车售票管理系统在正常运行中需要对使用该系统的主要是汽车站售票人员、汽车站售票工作的管理人员与系统管理员。

为达到操作过程中的直观、方便、实用、安全等要求,我们组在这个系统中采用模块化程序设计的方法,便于系统功能的组合和修改,以及扩充和维护。

1.2系统功能分析

根据需求分析,本系统要实现以下的基本功能。

1.登录功能:

分为汽车站售票人员和系统管理员两种权限登陆。

用户通过

输入不同用户名和密码进行身份验证,系统通过用户名和密码判断不同用户的权限,从而确定该用户可以执行的操作。

2.车票信息查询功能:

由汽车站的普通售票人员通过不同的检索入口,查询车票信息,并进行排序。

3.修改功能:

汽车站售票人员、汽车站售票工作的管理人员能够修改自身的用户名和密码,系统管理员则能实现系统用户与普通用户的添加,修改普通用户与系统管理员的密码,以此确保该系统能够安全操作,避免不必要的损失。

4.汇总功能:

对当天车票的信息进行汇总。

 

1.3数据流图

 

1.4数据字典

1.数据项

票号、票价、车次、日期、车型、开车时间、票种、座位号、起始站、终点站、身份证号、银行卡号、数量、退票时间、退票手续费、订票时间、订票手续费

2.数据结构

表1.1车票的数据结构

DS04-01车票

DS04-02:

车票标志

DS04-03:

车次信息

DS04-04:

座位信息

DS04-05:

票价信息

I1:

车票编号

I3:

起始站

I8:

座位号

I9:

全票价

I2:

车票类型

I4:

车次编号

I10:

折扣

I5:

终点站

I6:

发车时间

I7:

乘车日期

3.数据流

数据流编号:

D04-01

数据流名称:

车票

简述:

车票有关信息

数据流来源:

用户执行售票操作结果

数据流去向:

购票旅客

数据流组成:

车票编号+车票类型+车次信息+座位信息+票价信息

4.数据存储

售票记录:

票号,起始站,终点站,票价,车次,日期,开车时间,

车型,票种,座位号,售出时间

退票记录:

票号,起始站,终点站,票价,车次,日期,开车时间,

车型,票种,座位号,退票时间

订票记录:

票号,起始站,终点站,票价,车次,日期,开车时间,

车型,票种,座位号,订票时间,顾客身份证号

缺票记录:

票号,起始站,终点站,票价,车次,日期,开车时间,

车型,票种

车票记录:

票号,起始站,终点站,票价,车次,日期,开车时间,

车型,票种,座位号,售出时间,票数

5.处理过程

车票汇总:

工作人员将一天所售出的票进行统计,包括票数,票类,形成确定的车票记录。

查询:

将顾客需要的车票信息输入系统,并查询其是否可供应。

查询顾客信息:

为订票所设,将顾客的准确信息记录,为其预定所车票。

处理买票:

进行买票交易,把顾客需要的票(可供应)售出,并在系统中作相应记录,确定车票记录。

处理订票:

进行订票交易,工作人员为顾客预定其所需车票,并在系统中作相应记录,确定订票记录。

处理退票:

进行退票交易,工作人员为顾客办理退票手续,并在系统中作相应记录,确定退票记录。

 

2概念及逻辑结构设计

2.1E-R图

本系统根据以上的设计规划出的实体有:

车票实体、车站实体、顾客实体。

各个实体具体的描述E-R图如下:

图2-1车票ER图

图2-2顾客ER图

 

 

 

图2-3实体之间ER图

2.2关系模型:

车票与顾客之间的联系

售票1:

N

车票(票号,车次,日期,车型,票价,开车时间,票种,座位号,起始站,终点站)

顾客(身份证号,银行卡号,票号)

退票1:

N

车票(票号,车次,日期,车型,票价,开车时间,票种,座位号,起始站,终点站)

顾客(身份证号,银行卡号,票号,退票时间,退票手续费)

订票1:

N

车票(票号,车次,日期,车型,票价,开车时间,票种,座位号,起始站,终点站)

顾客(身份证号,银行卡号,票号,日期,交易时间,交易金额,数量,起始站,终点站)

 

2.3数据库结构

表2.1Car表详细设计

字段名

数据类型

是否主键

是否必填

字段说明

CarID

文本

车次编号

CarType

数字

客车型号

PlateNumber

文本

车牌号

CarHolder

文本

责任人

RunningWay

文本

经营路线

SeatLimit

数字

座位限额

OutSetTime

日期/时间

发车时间

表2.2Seat表详细设计

字段名

数据类型

是否主键

是否必填

字段说明

CarID

文本

车次编号

Date

时间/日期

日期

Terminal

文本

终点站

Selled

是/否

票是否售出

Price

数字

车票价格

表2.3PriceDiscount表详细设计

字段名

数据类型

是否主键

是否必填

字段说明

RecordNumber

自动编号

记录号

TicketTypeID

数字

车票类型

Discount

数字

折扣

CarID

文本

车次

表2.4Price表详细设计

字段名

数据类型

是否主键

是否必填

字段说明

TerminalID

文本

终点站编号

OutStation

文本

起始站

TerminalName

文本

终点站

TNPYCode

文本

拼音码

CarID

文本

车次编号

TicketPrice

数字

票价

表2.5Type表详细设计

字段名

数据类型

是否主键

是否必填

字段说明

RecordID

自动编号

记录号

TicketTypeID

数字

车票类型编号

TicketType

文本

车票类型

 

3数据库设计

本车站售票系统有两个实体,分别是车票和顾客,利用SQL建表如下:

车票

顾客

 

4系统软件结构

4.1.系统功能设计

汽车站售票管理系统主要设有五个主要功能模块:

分别是车次管理、票价管理、票务管理、用户管理和查询管理。

如图4-1所示。

1.车次管理模块

该模块主要实现车次信息的编辑。

车次管理中的数据源为Access数据库中Car表,在此管理部分中,能够使用界面操作实现车次信息的编辑,并将数据库中的数据按照编辑的要求来及时更新数据表中的相关数据。

2.票价管理模块

该模块主要实现票价信息的录入、修改与删除以及票价折扣信息的录入、修改与删除。

票价详细信息的录入、修改、删除,它的数据源为Access数据库的Price表。

在此管理部分中,通过票价管理(FrmPriceManage)界面来选择记录并决定执行何种操作,是修改、添加或删除。

当命令为修改或者添加时则自动跳转到票价编辑窗体(FrmPriceEdit)实现票价信息的编辑并更新数据库中相应数据记录。

3.票务管理模块

票务管理部分实现前台售票、前台退票功能。

主要完成售票、远程售票、废票、取消废票功能、改签票、退票、取消退票功能、补票、售票查询和票款结算单填写等功能。

4.用户管理模块

该模块主要实现用户添加,用户信息修改与用户的删除。

所有系统用户的管理,包括系统普通用户与系统管理员。

此管理模块数据源为Access数据库的Users表。

在系统主界面中首先进入的是名称为FrmUserMan的用户管理主窗体,通过提取用户名、用户类型来查看用户具体信息,选择添加或删除用户进入名为FrmUserEdit的用户编辑界面进行操作,操作完成便更新数据库数据。

5.查询管理模块

该模块主要实现拥护通过查询界面可以根据条件进行车次时刻、车次票价查询。

4-1.功能模块图

4.2其他需求

汽车站售票系统数据库中的数据量十分庞大,而且更新速度十分快。

在数据大小方面要求数据的属性要设置合理,假如是数据的属性值越大,则数据本身所占用的容量也就十分的庞大,不但会造成传输的不方便甚至错误,也更加重系统的负担,有可能削弱系统运行速度,使得系统无法达到预期的目的。

另外,在整个系统当中要确保数据在保存与传递过程中的安全,以免发生严重的错误,造成巨大的损失。

4.3说明

售票

正常出售本站所有车次车票,并按要求打印出车票。

远程售票

正常出售远程车站所有车次车票,并按远程车站的要求打印出车票。

废票

在正常售票过程中,可能因操作失误或打印机械故障等原因造成错票而作废车票。

取消废票

当废票时,发现废的票是不应该废的,即为正常票,需要通过取消废票来实现。

远程废票

对所售远程车票作废票处理。

退票

在正常退票时间内办理退票,并根据退票规定收取一定的手续费。

远程退票

对所售远程车票作退票处理。

取消退票

当退票时,发现退的票是不应该退的,即为正常的票,需要通过取消退票来实现。

改签票

由于乘客或车站某种原因需对已出售的车票作更换车次的车票。

改签仅允许改签一次。

远程改签票

对所售远程车票作改签处理。

注销票

删除某些由于调试程序所用的票记录及其影响。

补票

只能在超过售票时限后进行,且在未发车之前,在统计时注意对非微机售票的票的处理(例如:

剪刀票)。

售票查询

通过一定的授权和设定售票员可以查询在设定时间范围内或多少张票以前的出售、作废、改签和退票的情况,并对有权限的人员可有累计票款服务。

票款结算单

售票员每天售完车票后填写每日结算单,以便财务人员查询。

重打车票

在正常售票过程中,可能因打印机械故障等原因造成错票而重新打印车票。

售票类型

车票中所有联都应有的信息为车次、起止站点、票价、发车日期时间,而正联所特有的信息为售票员工号、检票口、是否改签票、车票上应有的信息:

车票固有票号、计算机打印的票号、票号条形码(仅用于自动检票的车站)。

(2)车票类型

1)正常班次车票:

发售的当天或预售正常轮班车次的车票。

2)远程售票:

发售远程车站车次的车票,其打印格式同远程车站。

3)流水班次车票:

发售的流水班次车票。

4)退票和改签票:

退票分为

A、正常退票。

办理标准规定退票时间内的退票。

B、强行退票。

在超过时限后退票,即强行退票。

补票:

补票只能在超过售票时限后进行,且必须在未发车之前。

订票:

设定定票有效期限,在有有效时限保留座位,有效时外释放座位等。

票种的定义

①全价票

②半价票允许设定可用标志,自由定义名称。

③免票只允许设定可用标志。

④优惠票1-3允许设定可用标志,自由定义名称。

⑤折扣票对原票价的基础上进行一定的打折,有严格的权限控制。

 

5程序模块设计

5.1功能模块详细设计

5.1.1车次管理模块代码实现

PrivateSubCmd_OK_Click()

'检查用户录入数据的有效性

IfLen(Trim(txtCarID))=0Then

MsgBox"请输入车次编号"

txtCarID.SetFocus

ExitSub

EndIf

IfLen(Trim(txtOutTime))=0Then

MsgBox"请输入发车时间"

txtOutTime.SetFocus

ExitSub

EndIf

'把用户录入的数据赋值到数据库对象变量中

WithMyType

.CarID=MakeStr(txtCarID)'车次编号

.OutSetTime=MakeStr(TimeEdit)'发车时间

.RunninWay=MakeStr(WayEdit)'经营路线

.CarType=MakeStr(TypeEdit)'车辆类型

.PlateNumber=MakeStr(CNnEdit)'车牌号

.CarHolder=MakeStr(HolderEdit)'责任人

.SeatLimit=MakeStr(LSeatEdit)'额定座位

'根据变量Modify决定是插入新数据,还是修改已有的数据

IfModify=FalseThen

.Insert'插入新数据

Else'修改

.Update(nId)'修改已有的数据

EndIf

EndWith

UnloadMe'关闭窗口

5.1.2票价管理模块代码实现

票价管理部分代码如下(信息添加过程):

PrivateSubCmd_Add_Click()

'初始化FrmDiscountEdit信息

FrmPriceEdit.txtTerminalName=""

FrmPriceEdit.txtTNPYCode=""

FrmPriceEdit.txtCarID=""

FrmPriceEdit.txtTicketPrice=""

FrmPriceEdit.Modify=False

FrmPriceEdit.VarTermanalID=OriTerminalID

FrmPriceEdit.Show

RefreshData

EndSub

5.1.3用户管路模块代码实现(编辑窗体代码):

PrivateSubCmd_OK_Click()

IfTrim(txtUserName)=""Then

MsgBox"请输入用户名"

txtUserName.SetFocus

ExitSub

EndIf

IfLen(txtPass)<5Then

MsgBox"密码长度不能小于5"

txtPass.SetFocus

txtPass.SelStart=0

txtPass.SelLength=Len(txtPass2)

ExitSub

EndIf

IftxtPass<>txtPass2Then

MsgBox"密码和确认密码不相同,请重新确认"

txtPass2.SetFocus

txtPass2.SelStart=0

txtPass2.SelLength=Len(txtPass2)

ExitSub

EndIf

'判断是否存在同名用户

WithMyUser

IfModify=FalseOrOriUser<>Trim(txtUserName)Then

If.In_DB(Trim(txtUserName))=TrueThen

MsgBox"用户名已存在,请重新输入"

txtUserName.SetFocus

txtUserName.SelStart=0

txtUserName.SelLength=Len(txtUserName)

ExitSub

EndIf

模块中的程序代码如下:

PublicadoConAsNewADODB.Conncetion

PublicadorsAsNewADODB.Recordset

'连接数据库

PublicSubmain()

SetadoCon=NewADODB.Connection

adoCon.Open="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"\汽车站售票管理系统.mdb"&";PersistSecurityInfo=False"

FrmLogin.Show

FrmLogin.txtUser.SetFocus

EndSub

5.3附录:

系统程序源代码

(1)登陆窗体(FrmLogin)代码

PublicPasswordKeyAsString

PublicNameKeyAsString

PublicTry_timesAsInteger

'取消键退出登陆界面

PrivateSubCmd_Cancel_Click()

UnloadMe

EndSub

PrivateSubCmd_OK_Click()

'数据库有效性检查

IfTrim(txtUser)=""Then

MsgBox"请输入用户名"

txtUser.SetFocus

ExitSub

EndIf

IfTrim(txtPwd)=""Then

MsgBox"请输入密码"

txtPwd.SetFocus

ExitSub

EndIf

EndSub

PrivateFunctionMakeStr()AsString

NameKey=Str(txtUser)

PasswordKey=Str(txtPwd)

'判断用户是否存在

IfMyUser.In_DB(NameKey)=FlaseThen

MsgBox"用户名不存在"

Try_times=Try_times+1

IfTry_times>=3Then

MsgBox"您已经三次尝试进入本系统,均不成功,系统将关闭"

DBapi_Disconnect

End

Else

ExitFunction

EndIf

EndIf

'判断密码是否正确

MyUser.GetINfo(NameKey)

IfMyUser.Pwd<>PasswordKeyThen

MsgBox"密码错误"

Try_times=Try_times+1

IfTry_times>=3Then

MsgBox"您已经三次尝试进入本系统,均不成功,系统将关闭"

DBapi_Disconnect

End

Else

ExitFunction

EndIf

EndIf

'登陆成功,将当前用户的信息保存在CurUser中

CurUser.UserName=MyUser.UserName

CurUser.User_type=MyUser.User_type

CurUserEmpID=MyUser.EmpID

'关闭自己并显示主窗体

UnloadMe

FrmMain.Show

EndFunction

(2)主窗体(FrmMain)代码

'设置数据库连接字符串

Conn="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"\汽车站售票管理系统.mdb"&";PresistSecurityInfo=False"

'系统登陆界面

FrmLogin.Show

EndSub

PrivateSubPJCX_Click()

EndSub

PrivateSubPJGL_Click()

FrmPriceManage.Show

EndSub

PrivateSubSPGL_Click()

FrmTicketSell.Show

EndSub

PrivateSubTPGL_Click()

FrmBack.Show

EndSub

PrivateSubXGMM_Click()

WithFrmUserEdit

.OriUser=CurUser.UserName

.txtUserName=CurUser.UserName

IfCurUser.User_type=1Then

.ComboType.AddItem"系统管理员"

Else

.ComboType.AddItem"普通用户"

EndIf

.ComboType.ListIndex=0

.ComboType.Enabled=False

.Modify=True

.Show1

EndWith

EndSub

PrivateSubYHGL_Click()

IfCurUser.User_type=1Then

FrmUserMan.Show

Else

MsgBox"没有权限"

EndIf

EndSub

PrivateSubZKGL_Click()

FrmDiscount.Show

EndSub

(3)售票窗体(FrmTicketSell)代码

PrivateSubCmd_Cancel_Click()

UnloadMe

EndSub

PrivateSubCmd_Search_Click()

'GridRsfresh'根据条件

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2