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

上传人:b****7 文档编号:22397444 上传时间:2023-02-03 格式:DOCX 页数:34 大小:323.65KB
下载 相关 举报
车站售票管理系统数据库课程设计报告66228Word格式.docx_第1页
第1页 / 共34页
车站售票管理系统数据库课程设计报告66228Word格式.docx_第2页
第2页 / 共34页
车站售票管理系统数据库课程设计报告66228Word格式.docx_第3页
第3页 / 共34页
车站售票管理系统数据库课程设计报告66228Word格式.docx_第4页
第4页 / 共34页
车站售票管理系统数据库课程设计报告66228Word格式.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

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

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

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

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

用户通过

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

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:

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

订票1:

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

2.3数据库结构

表2.1Car表详细设计

字段名

数据类型

是否主键

是否必填

字段说明

CarID

文本

CarType

数字

客车型号

PlateNumber

车牌号

CarHolder

责任人

RunningWay

经营路线

SeatLimit

座位限额

OutSetTime

日期/时间

表2.2Seat表详细设计

Date

时间/日期

日期

Terminal

Selled

是/否

票是否售出

Price

车票价格

表2.3PriceDiscount表详细设计

RecordNumber

自动编号

记录号

TicketTypeID

Discount

车次

表2.4Price表详细设计

TerminalID

终点站编号

OutStation

TerminalName

TNPYCode

拼音码

TicketPrice

票价

表2.5Type表详细设计

RecordID

车票类型编号

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

请输入发车时间"

txtOutTime.SetFocus

'

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

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用户管路模块代码实现(编辑窗体代码):

IfTrim(txtUserName)="

Then

请输入用户名"

txtUserName.SetFocus

IfLen(txtPass)<

5Then

密码长度不能小于5"

txtPass.SetFocus

txtPass.SelStart=0

txtPass.SelLength=Len(txtPass2)

IftxtPass<

>

txtPass2Then

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

txtPass2.SetFocus

txtPass2.SelStart=0

txtPass2.SelLength=Len(txtPass2)

判断是否存在同名用户

WithMyUser

IfModify=FalseOrOriUser<

Trim(txtUserName)Then

If.In_DB(Trim(txtUserName))=TrueThen

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

txtUserName.SelStart=0

txtUserName.SelLength=Len(txtUserName)

模块中的程序代码如下:

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

5.2界面设计

系统主界面设计如下,主界面顶端显示不同管理模块,点击则进入相应界面。

下端显示系统当前所处日期和时间。

图14系统主界面设计

5.3附录:

系统程序源代码

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

PublicPasswordKeyAsString

PublicNameKeyAsString

PublicTry_timesAsInteger

取消键退出登陆界面

PrivateSubCmd_Cancel_Click()

UnloadMe

数据库有效性检查

IfTrim(txtUser)="

txtUser.SetFocus

IfTrim(txtPwd)="

请输入密码"

txtPwd.SetFocus

PrivateFunctionMakeStr()AsString

NameKey=Str(txtUser)

PasswordKey=Str(txtPwd)

判断用户是否存在

IfMyUser.In_DB(NameKey)=FlaseThen

用户名不存在"

Try_times=Try_times+1

IfTry_times>

=3Then

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

DBapi_Disconnect

End

Else

ExitFunction

判断密码是否正确

MyUser.GetINfo(NameKey)

IfMyUser.Pwd<

PasswordKeyThen

密码错误"

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

CurUser.UserName=MyUser.UserName

CurUser.User_type=MyUser.User_type

CurUserEmpID=MyUser.EmpID

关闭自己并显示主窗体

UnloadMe

FrmMain.Show

EndFunction

(2)主窗体(FrmMain)代码

设置数据库连接字符串

Conn="

\汽车站售票管理系统.mdb"

PresistSecurityInfo=False"

系统登陆界面

FrmLogin.Show

PrivateSubPJCX_Click()

PrivateSubPJGL_Click()

FrmPriceManage.Show

PrivateSubSPGL_Click()

FrmTicketSell.Show

PrivateSubTPGL_Click()

FrmBack.Show

PrivateSubXGMM_Click()

WithFrmUserEdit

.OriUser=CurUser.UserName

.txtUserName=CurUser.UserName

IfCurUser.User_type=1Then

.ComboType.AddItem"

系统管理员"

普通用户"

.ComboType.ListIndex=0

.ComboType.Enabled=False

.Modify=True

.Show1

EndWith

PrivateSubYHGL_Click()

FrmUserMan.Show

没有权限"

PrivateSubZKGL_Click()

FrmDiscount.Show

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

PrivateSubCmd_Cancel_

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

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1