车站售票管理系统.docx

上传人:b****6 文档编号:8701161 上传时间:2023-02-01 格式:DOCX 页数:29 大小:548.11KB
下载 相关 举报
车站售票管理系统.docx_第1页
第1页 / 共29页
车站售票管理系统.docx_第2页
第2页 / 共29页
车站售票管理系统.docx_第3页
第3页 / 共29页
车站售票管理系统.docx_第4页
第4页 / 共29页
车站售票管理系统.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

车站售票管理系统.docx

《车站售票管理系统.docx》由会员分享,可在线阅读,更多相关《车站售票管理系统.docx(29页珍藏版)》请在冰豆网上搜索。

车站售票管理系统.docx

车站售票管理系统

本页仅作为文档封面,使用时可以删除Thisdocumentisforreferenceonly-rar21year.March

 

车站售票管理系统(总38页)

 

车站售票管理系统

 

扬州大学

YANGZHOUUNIVERSITY

程序设计——

车站售票信息管理系统

 

学院:

________信息工程学院_________

班级:

_________软件1303班_________

姓名:

_______邵周灿___

学号:

 

一、概述

1、项目背景:

随着市场经济的不断飞速发展,交通道路环境的不断改进,人们的出行次数不断增多,人口流动频繁,数量不断加大,车站信息量迅猛增长,车站售票管理系统在人们的日常生活中发挥着越来越重要的作用。

本系统实现了线路信息,汽车信息,票务信息的查询和管理,满足人们的需求。

2、编写目的:

掌握数据库设计原理及相关软件的使用。

实现方便、快速售票;是用户准确了解售票情况,提供多种查询和统计功能;实现系统的安全性设置,使系统本身具有一定的维护功能。

3、软件定义:

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

4、开发环境:

VisualStudio,SQLSERVER

二、需求分析

功能模块图

1,员工管理模块:

员工有两种身份,售票员和系统管理员。

系统管理员能够进行系统用户的添加,密码的修改操作,汽车,线路,车票信息的更新等,售票员能够查询以上信息和购买车票等。

2,线路信息管理模块:

系统管理员能够在线路信息管理模块对车站线路信息进行管理。

管理员首先建立线路信息数据库,输入原始的线路信息,当有新的线路需要添加或者需要对已有的线路信息进行修改,删除的时候,管理员就能够进行相应的操作。

管理员也能够经过本模块查询到所有需要查询的线路的详细信息。

3,汽车信息管理模块:

系统管理员能够在汽车信息管理模块实现对汽车信息的管理。

管理员首先应该建立汽车信息数据库,输入原始的数据信息,当有新的汽车信息的时候或者管理员需要修改某个汽车的相关信息以及想要删除某个汽车信息的时候,就能够完成相应的操作。

管理员也能够在整个数据库中查询相关汽车信息。

4,车票信息管理模块:

系统管理员能够在车票管理模块实现对车票信息的管理。

管理员根据相应的汽车信息和线路信息来设置相应的车票详细信息。

管理员还能够对某条线路的车票信息进行修改,删除和查询操作。

5,车票订购信息模块

用户能够经过查询时间,线路和汽车信息,来确定自己要买什么时间,什么路线,什么型号的汽车的车票,并形成表单。

程序分为登陆界面,主界面,线路信息管理界面,汽车信息管理界面,车票信息管理界面,票务信息管理界面,员工管理界面这几个主体界面。

使用时应先知道管理员或员工帐号和密码,登陆进入系统主菜单界面,里面包括线路信息,汽车信息,车票信息,票务信息,帮助,退出程序菜单选项。

三、系统设计

(一)数据流图:

顶层数据流图

1层车票数据流图

 

 

(二)数据字典:

1,数据项

编号

数据项名

数据项含义说明

数据类型

长度

与其它数据项的关系

是否能够为空

1

Uno

用户编号

整型

4

User表主键

2

UserName

姓名

nvarchar

20

3

Password

密码

nvarchar

20

4

UserIdentiey

身份

nvarchar

20

5

Cno

汽车编号

整型

4

Coach表主键

6

Coachnumber

车牌号

nvarchar

20

7

Ctype

汽车型号

nvarchar

20

8

Ctime

购买时间

datetime

8

9

Cnum

座位数量

整型

4

10

Ctv

有无电视

char

10

11

Ccondition

有无空调

char

10

12

Coachholder

负责人

nvarchar

20

13

Lno

线路编号

整型

4

Line表主键

14

Ldepart

起始城市

nvarchar

20

15

Larrival

到达城市

nvarchar

20

16

Ltime

路程时间

datetime

8

17

Tno

车票编号

整型

4

Ticket表主键

18

Price

车票价格

整型

4

19

SoldTicket

已卖票数

整型

4

20

LastTicket

剩余票数

整型

4

21

Tdate

出发日期

datetime

8

22

Ttime

出发时间

datetime

8

23

Ptime

购买时间

datetime

8

24

Seat

座位号

整型

4

25

ReserveORBuy

预定或购买

char

10

26

Cityno

站点编号

整型

4

City表主键

27

CityName

站点名称

nvarchar

20

2,数据结构

编号

数据结构名

属性

1

员工

员工编号,姓名,密码,身份

2

汽车

汽车编号,汽车型号,车牌号,购买时间,座位数量,有无电视,有无空调,负责人

3

线路

线路编号,起始城市,到达城市,路程时间

4

车票

车票编号,线路编号,汽车编号,车票价格,已卖票数,剩余票数,出发日期,出发时间

5

购票

车票编号,购买日期,预定或购买,座位号

6

站点

站点编号,站点名称

3,数据流

编号

数据流名

输入

输出

1

变更汽车信息

变更信息

汽车记录

2

查询汽车信息

汽车编号/汽车型号/车牌号/有无电视/有无空调/负责人

汽车记录

3

变更站点信息

变更信息

站点记录

4

变更线路信息

变更信息

线路记录

5

查询线路信息

线路编号/起始城市,到达城市

线路记录

6

变更车票信息

变更信息

车票记录

7

查询车票信息

车票编号/起始城市,到达城市/汽车型号/出发日期,出发时间

车票记录

8

预定车票

车票编号,购买日期,预定或购买

预订记录

9

购买车票

车票编号,购买日期,预定或购买

购买记录

10

查询购买情况

车票编号/起始城市,到达城市/汽车型号

购买记录

11

更改用户

变更信息

用户记录

12

员工信息

用户输入电脑的用户名、密码

系统主菜单

4,数据存储

数据存储名

输入数据流

输出数据流

说明部分

用户信息

变更用户信息

查询用户信息

汽车信息

变更汽车信息

查询汽车信息

线路信息

变更线路信息

查询线路信息

车票信息

变更车票信息

查询车票信息

预定车票信息

车票信息

预订记录

购买车票信息

车票信息

购买记录

5、处理过程

处理过程名

输入数据流

输出数据流

处理操作

查询

已知汽车/线路/车票信息

所需信息

购买/预定

车票信息+购票时间+座位号

更新

变更信息

再次查询信息

用户权限认证

用户名,密码,身份

系统主菜单

用户登录

 

(三)E-R图

(四)关系模型:

1,User员工表(员工编号Uno,姓名UserName,密码Password,身份UserIdentiey)

2,Coach汽车信息表(汽车编号Cno,汽车型号Ctype,车牌号Coachnumber,购买时间Ctime,座位数量Cnum,有无电视Ctv,有无空调Ccondition,负责人Coachholder)

3,Line线路信息表(线路编号Lno,起始城市Ldepart,到达城市Larrival,路程时间Ltime)

4,Ticket车票信息表(车票编号Tno,线路编号Lno,汽车编号Cno,车票价格Price,已卖票数SoldTicket,剩余票数LastTicket,出发日期Tdate,出发时间Ttime)

5,Purchase车票购买表(车票编号Tno,购买日期Ptime,预定或购买ReserveORBuy,座位号Seat)

6,City站点表(站点编号Cityno,站点名称CityName)

四、系统实现

(一)数据库设计:

1,City站点表:

2,Userinfo员工表:

3,Ticket车票信息表:

4,Coach汽车信息表:

5,Purchase车票购买表:

6,Line线路表:

(二)主要界面及代码

1,登录界面:

登录操作代码:

(1)SqlHelperhelper=newSqlHelper();

SqlDataReaderrdr;

(2)if(string.IsNullOrEmpty(name)||string.IsNullOrEmpty(password)||string.IsNullOrEmpty(identity))

{

MessageBox.Show("姓名,密码,身份框均不能为空!

");

}

rdr=helper.ExecuteReader("dbo.SelectUserinfo",CommandType.StoredProcedure);

while(rdr.Read())

{

if(rdr["UserName"].ToString()==name&&rdr["Password"].ToString()==password&&rdr["UserIdentity"].ToString()==identity)

{

this.Hide();

stringiden=rdr["UserIdentity"].ToString();

MainFormmain=newMainForm(iden);

main.ShowDialog();

rdr.Close();

return;

}

}

MessageBox.Show("错误的姓名或密码或与身份不匹配,请重新输入!

");

rdr.Close();

(3)存储过程:

ALTERPROCEDUREdbo.SelectUserinfo

/*

@parameter1int=5,

@parameter2datatypeOUTPUT

*/

AS

/*SETNOCOUNTON*/

BEGIN

select*fromUserinfo

END

 

2,系统主界面

3,员工管理界面:

修改/删除操作代码:

(1)try

{

SqlCommandBuilderscb=newSqlCommandBuilder(sd);

sd.Update(ds,"a");

ds.AcceptChanges();

MessageBox.Show("修改成功!

");

}

catch(Exceptionex)

{

MessageBox.Show(ex.Message.ToString());

}

(2)try

{

SqlCommandBuilderscb=newSqlCommandBuilder(sd);

inta=dataGridView1.CurrentRow.Index;

ds.Tables[0].Rows[a].Delete();

sd.Update(ds,"a");

ds.AcceptChanges();

MessageBox.Show("删除成功!

");

}

catch(Exceptionex)

{

MessageBox.Show(ex.Message.ToString());

}

4,汽车信息管理界面:

添加操作代码:

(1)DAL.CoachDAOcoach=newCoach.DAL.CoachDAO();

SqlHelperhelper=newSqlHelper();

(2)if(string.IsNullOrEmpty(coachnumber)||string.IsNullOrEmpty(seatnumber1)||string.IsNullOrEmpty(coachholder))

{MessageBox.Show("车牌号,座位数量,负责人均不能为空!

");

}

else

{

if(coach.Add(coachtype,coachnumber,date2,seatnumber,ishavetv,ishavecon,coachholder))

MessageBox.Show("添加成功!

");

else

MessageBox.Show("添加失败!

");

}

(3)实体类CoachDAO.cs中:

publicboolAdd(stringcoachtype,stringcoachnumber,DateTimedate2,intseatnumber,stringishavetv,stringishavecon,stringcoachholder)

{

boolflag=false;

DataTabledt=newDataTable();

stringcmdText="dbo.AddCoach";

SqlParameter[]paras=newSqlParameter[]{

newSqlParameter("@coachtype",coachtype),

newSqlParameter("@coachnumber",coachnumber),

newSqlParameter("@date2",date2),

newSqlParameter("@seatnumber",seatnumber),

newSqlParameter("@ishavetv",ishavetv),

newSqlParameter("@ishavecon",ishavecon),

newSqlParameter("@coachholder",coachholder)

};

intres=helper.ExecuteNonQuery(cmdText,paras,CommandType.StoredProcedure);

if(res>0)

{

flag=true;

}

returnflag;

}

(4)存储过程:

ALTERPROCEDUREdbo.AddCoach

@coachtypenvarchar(20),

@coachnumbernvarchar(20),

@date2datetime,

@seatnumberint,

@ishavetvchar(10),

@ishaveconchar(10),

@coachholdernvarchar(20)

/*

@parameter1int=5,

@parameter2datatypeOUTPUT

*/

AS

/*SETNOCOUNTON*/

BEGIN

insertintoCoach(Ctype,Coachnumber,Ctime,Cnum,Ctv,Ccondition,Coachholder)values(@coachtype,@coachnumber,@date2,@seatnumber,@ishavetv,@ishavecon,@coachholder)

END

5,线路信息管理界面:

搜索操作代码:

(1)SqlHelperhelper=newSqlHelper();

SqlConnectionconn=newSqlConnection("DataSource=(local);InitialCatalog=Coach;IntegratedSecurity=True");

SqlDataAdaptersd;//定义一个数据适配器

DataSetds;//定义一个数据集

(2)stringstr1="selectLnoas编号,Ldepartas起始城市,Larrivalas到达城市,convert(varchar(10),Ltime,108)as路程时间fromLinewhereLno="+lineid+"";

dataBind(str1);

(3)privatevoiddataBind(stringstr)

{

try

{

sd=newSqlDataAdapter(str,conn);

ds=newDataSet();

sd.Fill(ds,"a");

dataGridView1.DataSource=ds;

dataGridView1.DataMember="a";

}

catch(Exceptionex)

{

MessageBox.Show(ex.Message);

}

}

6,车票信息管理界面:

7,车票信息管理中,选择汽车和路线界面:

 

8,票务管理界面:

查询操作代码:

(1)DAL.PurchaseDAOpurchase=newCoach.DAL.PurchaseDAO();

SqlHelperhelper=newSqlHelper();

(2)dataGridView1.DataSource=purchase.Select1(departcity,arrivalcity,date2);

(3)实体类PurchaseDAO.cs中:

publicDataTableSelect1(stringdepartcity,stringarrivalcity,DateTimedate2)

{

DataTabledt=newDataTable();

stringcmdText="dbo.SelectPurchase";

SqlParameter[]paras=newSqlParameter[]{

newSqlParameter("@departcity",departcity),

newSqlParameter("@arrivalcity",arrivalcity),

newSqlParameter("@date2",date2)

};

dt=helper.ExecuteQuery(cmdText,paras,CommandType.StoredProcedure);

returndt;

}

(4)存储过程

ALTERPROCEDUREdbo.SelectPurchase

@departcitynvarchar(20),

@arrivalcitynvarchar(20),

@date2datetime

/*

@parameter1int=5,

@parameter2datatypeOUTPUT

*/

AS

/*SETNOCOUNTON*/

BEGIN

selectLdepartas起始城市,Larrivalas到达城市,convert(varchar(10),Tdate,120)as出发日期,convert(varchar(10),Ttime,108)as出发时间,Ctypeas车型,Coachnumberas车牌号,Ctvas有无电视,Cconditionas有无空调,Priceas票价,Cnumas总票数,LastTicketas剩余票数fromCoach,Line,TicketwhereCoach.Cno=Ticket.CnoandLine.Lno=Ticket.LnoandLdepart=@departcityandLarrival=@arrivalcityandTdate=@date2

END

预订/购买操作代码:

(1)tno=purchase.Yuding(depart,arrival,coachnum);

(2)实体类PurchaseDAO.cs中

publicintYuding(stringdepart,stringarrival,stringcoachnum)

{

inttno;

DataTabledt=newDataTable();

stringcmdText="dbo.SelectTno";

SqlParameter[]paras=newSqlParameter[]{

newSqlParameter("@depart",depart),

newSqlParameter("@arrival",arrival),

newSqlParameter("@coachnum",coachnum)

};

dt=helper.ExecuteQuery(cmdText,paras,CommandType.StoredProcedure);

tno=Convert.ToInt32(dt.Rows[0]["Tno"]);

returntno;

}

(3)if(purchase.UpdateTicket(tno)&&purchase.AddG(tno,datetime2,seat))

MessageBox.Show("购买成功!

您购买的票为:

\n"+depart+"---"+arrival+"\n"+"出发时间:

"+date+"_"+time+"\n"+"车牌号:

"+coachnum+"\n"+"座位号:

"+seat);

else

MessageBox.Show("购买失败!

");

(4)publicboolUpdateTicket(inttno)

{

boolflag=false;

stringcmdText="dbo.UpdateTicket";

SqlParameter[]paras=newSqlParameter[]{

newSqlParameter("@tno",tno)

};

intres=helper.ExecuteNonQuery(cmdText,para

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

当前位置:首页 > 高等教育 > 工学

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

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