车票销售管理系统.docx
- 文档编号:7782169
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:33
- 大小:316.57KB
车票销售管理系统.docx
《车票销售管理系统.docx》由会员分享,可在线阅读,更多相关《车票销售管理系统.docx(33页珍藏版)》请在冰豆网上搜索。
车票销售管理系统
编号
学生实训报告
2010~2011学年第二学期
实习类别
开发实训
学生姓名
周宏义
专业
软件开发与测试
学号
091311706
指导教师
陈纯毅
学院
软件学院
2011年7月
起止周
17~19
周数
3
实习地点
软件学院专业实验室
实训目的:
通过一些实际的开发案例,培养学生分析和解决实际问题的能力,培养学生综合应用基本概念,基本原理,和技术方法的能力,真正做到学以致用,使课本上抽象的理论,方法与具体的实践应用相结合。
实训要求:
实践设计以实际应用中的小型题目为主,要求学生独立完成或合作完成。
要求学生能根据不同的题目类型选择一种或两种开发模式,完成从系统定义,指定开发计划,需求分析,设计,编码/测试,直至运行/维护的软件生存期的全过程。
实训进度安排及主要内容:
第一周:
(1)需求分析;
(2)数据库设计(使用SQLServer);
(3)总体设计;模块定义、模块结构图,各模块功能描述、模块流程图(使用Visio画图);
第二周:
(4)详细设计:
要求有数据录入、修改、删除、查询、汇总、报表功能;第第第三周:
(5)运行测试,测试用例、结果;
(6)撰写开发文档,含总结;
成绩:
指导教师/带队教师(签字)
年月日
车票销售管理系统
摘要
随着现代信息技术的高速发展,越来越多的操作都依靠计算机来完成。
我国铁路系统的规模不断扩大,乘客的要求也不断提高,这对铁路部门的管理工作、售票系统的工作提出了更高的要求。
我们惯用的手工操作管理已经不能适应现代化的要求。
因此,当务之急是针对铁路售票工作的特点和要求开发出更完善的铁路售票系统,提高铁路部门的工作效率,并能为乘客提供及时、快速的服务。
随着铁路系统改革的深入展开,工作的计算机化已成为主导趋势。
计算机化管理不仅可以节约大量的人力物力,而且可以大大提高工作效率,为铁路系统创造更大的效益。
本软件正是为了适应这种趋势而开发的,目的是研究售票系统所需的各项技术和方案。
铁路售票系统涉及多方面的技术,主要有ADO技术、MicrosoftSQLSever、数据库的操作、注册表的操作、基于vc的两层开发、MFC一些控件的使用等。
在本篇论文中,介绍了铁路售票系统的各项功能及其实现方法。
它主要包括车票的查询、售票、退票及车票系统的数据更新设置等。
关键字:
铁路售票系统VCADO数据库SQL
一、系统需求分析---------------------------------------------03
1.1.管理员管理模块---------------------------------------03
1.2.普通用户模块-----------------------------------------03
二、数据库设计-----------------------------------------------04
三、总体设计-------------------------------------------------06
3.1.车票销售管理系统-------------------------------------06
3.2.系统数据流图-----------------------------------------08
四、详细设计-------------------------------------------------11
4.1.数据库详细设计---------------------------------------11
4.2.系统界面设计-----------------------------------------14
五、调试分析-------------------------------------------------18
六、总结-----------------------------------------------------19
七、致谢-----------------------------------------------------20
八、参考文献-------------------------------------------------20
九、附录-----------------------------------------------------21
一、系统需求分析
考察市长途汽车站、火车站售票业务,设计车站售票管理系统。
系统要求为:
首先根据调查该系统应该提供两种管理模块:
1.管理员管理模块。
对于该模块应该包含一下功能:
A:
管理车辆服务人员(如司机,列车乘务员等)的信息。
例如增加人员,包括基本信息和职务,工作地方等信息。
在员工退休的时候,应删除其信息,因此应该同时包括删除用户的功能。
B:
增加、删除和修改车辆的信息(包括长途汽车和火车)。
其中包含一些车辆的基本信息,如车辆编号,起始站,终止站,开车时间,到站时间和表示现在状况的信息。
同时在增加和修改模块可以对上面这些信息进行修改和删除。
C:
车辆发车调度安排。
在此模块中可以安排车辆的发车日期和发车时车辆的一些相关信息,如车辆已坐多少人,可作多少人等信息。
D:
车辆路线安排。
不管是汽车还是火车,它们都有一条相应的行驶路线。
在该模快可以设置一辆车的行驶路线,包括经过站,经过时间等信息。
E:
订单处理。
该系统支持用户订票业务,因此作为管理员,应该提供处理订单的功能。
其中包括确认订单,删除订单。
F:
票价管理,站点管理。
包含不同车次,不同类型的票价的录入和删除。
以及站点信息的录入删除。
G:
数据备份。
为了防止由于某种原因造成后台数据库数据的丢失,因此为系统管理员提供定期备份数据库信息的功能。
2.普通用户模块。
A:
订票。
为方便用户获得车票,为用户提供订票业务,用户可以在此按车次和发车日期进行订票。
同时需要输入一些附加信息,如姓名,定票数量等信息。
B:
购票,退票。
管理人员根据用户提供的信息,为用户提供即时售票,退票服务。
C:
查询信息。
用户为了获取车辆信息,需要专门为用户提供查询车辆信息的服务。
用户可以根据车次的编号或者起始和终止站查询车辆的信息如时刻表信息,车站信息。
为了保护系统后台信息的安全,提供给普通用户和管理员的是不同的功能模块,不同的用户只能访问自己所有权力访问的信息。
他们之间相互独立但也有着联系,用户可以下定单,管理员可以处理点单。
二、数据库设计
根据需求分析有:
管理人员要处理的信息有,人员信息,车次信息,车辆调度信息,车票信息,订单处理信息等。
因此应为系统提供至少一下表:
1.管理人员信息,则需要一个人员信息表,用以存放人员信息。
2.管理车次信息,则需要车次信息表,存放车次信息。
3.车辆调度,则需要发车日期安排表,车辆线路设置表,站点表。
4.订单处理,则需要订单表,存放订单的信息。
.该系统分为管理员模块和不同用户模块,因此为了提供不同用户只能登录不同的功能模块,则用密码设置其登录模块。
因此设置了一个用户登录信息表,用以存放用户登录名和密码。
E-R图
由于火车和长途汽车有些不同,应此这里给出了两种E_R图,上图是关于火车的,下图是关于汽车的。
最后分析得到所有的表的信息如下:
火车,汽车票销售所需的表及其属性:
火列(车次号,起始站,终止站,发车时间,到站时间,状态,车厢数)
车站(车站编号,车站名称)
经过(车次号,车站编号,经过时间,经过次序)
工作人员(人员编号,车次号,姓名,性别,职务)
火车票(车票编号,车次号,起始站编号,终止站编号,车厢号,座号,价格,发车时间)
车厢(车厢编号,车次号,车厢序号,可坐人数,可站人数)
订单(订单号,订票人姓名,车次号,时间,票数,附加信息)
汽车(车次号,起始站,终止站,发车时间,到站时间,可坐人数,状态)
发车安排(日期,车次,坐车厢,已坐数,站车厢,已站人数)
用户登录信息表(登录帐号,登录密码,用户类型)
由于与汽车相关的实体有相同的属性,则我们将它们合为一个表。
例如:
我们可以看到两个订票单表和工作人员表完全相同,因此在设计是可以把这两个表设计为一个。
发车安排表,车票表也可以合二为一。
同时为了区分管理员和用户,需要为该系统提供一个用户登录信息表,用以区分不同的用户,从而为不同的使用着提供不同的功能。
三、总体设计
1.车票销售管理系统:
系统可以分为两个部分,一个是前台销售模块,另一个是后台车辆等信息的管理模块。
第一个模块只为外部用户使用,而管理人员可以在第二个模块系统中对车辆信息进行管理,从而使得非管理人员只能读取信息,而不能更改信息。
车票销售管理系统总体结构
后台管理模块各个功能的描述:
车次管理模块:
管理员可以根据实际需要进行车次的管理,如果在一个时段,该车的运营状况非常紧张,则可以增加该车次。
车辆服务人员:
该模块可以最为人员管理的模块,管理员可以通过此模块对一个车辆安排服务人员,或调正用户的工作地点。
车辆路线管理:
该模块可以为一辆车设置一个路线,使车辆根据以定义好的路线行使。
但有的时候,由于某种原因,车辆的行车路线需要改变,则可以通过该模块,对车辆的行车路线重新设置。
车辆状态信息查询模块:
通过该模块,管理人员可以查看一辆车的状态,是否正在运行,还是其他情况。
车票信息管理:
通过该模块,管理人员可以对车票信息修改,或着增加。
如需要修改车票价格等。
查询模块功能描述:
关于前台售票系统,需要为用户设置查询车辆的功能,应此需要在售票系统中为用户提供一个查询子系统,该系统分为两种查询方法,一种是按车次编号查询,另一种是按站点查询。
查询子模块
查询模块功能描述:
在售票系统中关于售票,为了方便个人和团体购票,系统提供了两种售票方式,一种是为个人用户提供的售票机制,一种是为团体售票设计的售票机制。
由于个人和团体购票在价格等方面有差别,因此不经要在售票中区分开,还要在退票方面进行区分。
因此在退票方面也分为个人和团体。
订票子模块功能描述:
在售票系统中为了方便用户购票,系统提供了订票功能,用户(包括个人和团体)都可以通过该模块进行订票。
从而购买到需要的票。
销售子模块退票子模块订票子模块
2.系统数据流图:
1.前台购票处理总数据流图
由于前台的处理中各个模块的功能比较复杂,因此给出其各个模块的数据流图。
a.查询处理数据流图:
b.
用户订票模块数据流图:
c.用户购票模块数据流图:
d.用户退票模块数据流图:
2.后台处理模块数据流图:
四、详细设计
1.数据库详细设计:
1.1数据库表结构
用户登录信息表:
UserLoad
字段名
字段类型
长度
主/外键
字段值约束
登录帐号Uno
Varchar
10
P
Notnull
登录密码Upsw
Varchar
10
Notnull
用户类型Usty
Varchar
10
Notnull
列车表:
Train
字段名
字段类型
长度
主/外键
字段值约束
车次号Tno
Varchar
50
P
Notnull
起始站Tbname
Varchar
50
Notnull
终止站Tename
Varchar
50
Notnull
状态Tstate
Varchar
50
Notnull
车厢数Tsc
Int
4
Notnull
发车时Tbtime
Datetime
8
Notnull
到站时Tetime
Datetime
8
Notnull
火车票表:
TrainTicket
字段名
字段类型
长度
主/外键
字段值约束
车次号Tno
Varchar
50
F
Notnull
价格TTp
Money
4
Notnull
类型TTSty
Varchar
50
团体,个人
票类型TTTsty
Varchar
50
坐票,站票,卧铺
车站表:
Station
字段名
字段类型
长度
主/外键
字段值约束
车站编号Sno
Varchar
10
P
Notnull
车站名称Sname
Varchar
10
Notnull
经过站表:
Pstation
字段名
字段类型
长度
主/外键
字段值约束
车次号Tno
Varchar
10
F
Notnull
车站编号Sno
Varchar
10
F
Notnull
经过时间Ptime
Datetime
8
Notnull
经过次序Pno
Int
4
Notnull
人员信息表:
Personnel
字段名
字段类型
长度
主/外键
字段值约束
人员编号Peno
Varchar
10
P
Notnull
车次号Tno
Varchar
10
F
Notnull
姓名Pename
Varchar
10
Notnull
性别Pesex
Varchar
10
‘男’,‘女’
职务Peduty
Varchar
10
Notnull
订单表:
Order
字段名
字段类型
长度
主/外键
字段值约束
订单号Ono
Varchar
10
P
Notnull
订票人姓名Oname
Varchar
10
F
Notnull
车次号Tno
Varchar
10
Notnull
车次时间Ttime
Datatime
8
Notnull
附加信息Oinf
Varchar
10
团体,个人
票数Otsum
int
4
null
票类型Tsty
Varchar
50
坐票,站票,卧铺
车厢表:
Compartment
字段名
字段类型
长度
主/外键
字段值约束
车厢编号Cpno
Varchar
10
P
Notnull
车次号Tno
Varchar
10
F
Notnull
可坐人数Cspsit
Int
4
null
可站人数Cspstand
Int
4
null
汽车表:
Bus
字段名
字段类型
长度
主/外键
字段值约束
车次号Bno
Varchar
50
P
Notnull
起始站Bbs
Varchar
50
Notnull
终止站Bes
Varchar
50
Notnull
发车时间Bst
Datetime
8
Notnull
到站时间Bet
Datetime
8
Notnull
价格Bp
Money
4
Notnull
发车安排:
GoAnPai
字段名
字段类型
长度
主/外键
字段值约束
车次号Tno
Varchar
50
P
Notnull
发车时间TGtime
Datetime
8
Notnull
可坐TSCPno
Int
4
Null
已坐TSno
Int
4
Null
可站TSSno
Int
4
Null
已站TSsum
Int
4
Null
1.2数据库的建立。
数据库的建立可以通过企业管理器直接建立,然后按照上面的表结构建立系统需要的所有表格。
或者通过SQL语句在查询分析器中进行。
其所需要的SQL语句为:
CREATETABLEBTicket(
Bnochar(10)PRIMARYKEY,
Bbschar(10),
Beschar(10),
Bstdatetime,
Betdatetime,
Bcspint,
Bpint
)
CREATETABLECompartment(
Cpnochar(10)PRIMARYKEY,
Tnochar(10),
Cspsitint,
Cspstandint,
FOREIGNKEY(Tno)REFERENCESTrain(Tno)
)
CREATETABLEGoAnPai(
TGtimedatetimePRIMARYKEY,
Tnochar(10),
TCSPnoint,
TSnoint,
TSSnoint,
TSsumint,
FOREIGNKEY(Tno)REFERENCESTrain(Tno)
)
CREATETABLEOrderinfo(
Onochar(10)PRIMARYKEY,
Onamechar(10),
Tnochar(10),
Ttimedatetime,
Otsumint,
Otimedatetime,
Oinfchar(10)CHECK(TTstyIN('个人','团体')),
Tstychar(10)CHECK(TTTstyIN('坐票','卧铺')),
Ostatechar(10),
FOREIGNKEY(Tno)REFERENCESTrain(Tno)
)
CREATETABLEPersonnel(
Penochar(10)PRIMARYKEY,
Tnochar(10),
Penamechar(10),
Pesexchar(10)CHECK(PesexIN('女','男')),
Pedutychar(10),
Peageint,
FOREIGNKEY(Tno)REFERENCESTrain(Tno)
)
CREATETABLEPstation(
Tnochar(10),
Snochar(10),
Ptimedatetime,
Pnoint,
FOREIGNKEY(Tno)REFERENCESTrain(Tno),
FOREIGNKEY(Sno)REFERENCESStation(Sno)
)
CREATETABLEStation(
Snochar(10)PRIMARYKEY,
Snamechar(10)
)
CREATETABLETrain(
Tnochar(10)PRIMARYKEY,
Tbnamechar(10),
Tenamechar(10),
Tbtimechar(10),
Tetimechar(10),
Tscint,
Tstatechar(10)
)
CREATETABLETrainTicket(
Tnochar(10)PRIMARYKEY,
TTPmoney,
TTstycharCHECK(TTstyIN('个人','团体')),
TTTstychar(10)CHECK(TTTstyIN('坐票','站票','卧铺')),
FOREIGNKEY(Tno)REFERENCESTrain(Tno)
)
CREATETABLEUserLoad(
Unochar(10)PRIMARYKEY,
Upswchar(20),
Ustychar(10)
)
2.系统界面设计:
为了管理不同用户使用不同的功能模块,为系统提供了一个登录系统,用户通过用户名和密码进行登录,系统根据用户名和密码判断用户的类型,登录必要的模块。
其中为了方便,设置了两个帐号,以为管理员(用户名为admin,密码为1987),另一个为用户(用户名为guest,密码为空)。
2.1.系统登录设计:
主界面分为管理员界面(下2)
2.2.1管理员增加工作人员信息。
通过增加人员信息界面向数据库中增加人员信息。
管理员在输入人员信息后,单击确定,将信息加入数据库。
其中存在这一些约束,如:
人员编号不能重复,工作车次号一定要存在。
2.2.2修改删除人员信息。
管理人员信息不仅能增加,也要能够修改人员信息,以防止用户工作岗位后职务的变更,获退休等情况。
在次模块中用户在人员编号中输入人员编号,单击查询,找到已经存在的人员信息。
如需修改,在单击删除,否则点击修改,此时确定变为可用,其它文本框亦变为可用,输入更新后的信息,单击确定,则更新了人员的信息。
2.3.增加车辆信息(火车)。
由于此系统可以同时管理汽车和火车,但是又由于两者之间存在这差别,因此分两部分。
管理员在输入了车次信息后,单击确定则增加了该车的信息。
注意车次号不能重复。
2.4.增加车辆信息(汽车)。
和上边的差不多,管理员在输入车次信息后单击确定。
同时也要注意车次不能重复。
2.5.修改删除车次信息。
当一个车里需要某些变更是,则可以更改其信息。
和修改删除人员信息相同,先输入车辆编号,单击查询找到该车信息,单击修改,则可以修改,删除则可以删除。
2.6.处理用户订单。
此系统支持订票业务。
因此为管理员增加了一个处理用户订单的功能,登录该界面是,系统自动讲为处理的订单显示给管理员,管理员审核该订单后,点击确认,处理此订单。
2.7.删除订单。
管理员为了清理系统数据,需要删除一部分过期的数据。
则可通过此删除已过期的订单信息。
管理员登录该界面是系统自动加载已经处理过的过期订单,选择要删除的,点击删除,在删除成功。
2.8.发车安排。
由于一辆车可以多个发车时间,因此在此可以安排其的出动时间。
其中可以包含发车时间的车辆信息,如:
已坐人数,已站人数。
而对于汽车只需要已坐人数。
2.9.路线设计。
每一辆车都有自己的行车路线。
则在增加了车次的信息后,需要为其设计一个行车路线。
开始输入车次所经过的站点数,单击OK(注意,如果是汽车,开始选择汽车复选框)。
则可以输入数据信息,输入一个后单击确定继续输入所有经过的站点的信息,知道输入了所有的车站后。
退出。
2.10.站点的录入和票价的录入。
这里可以录入一些必要站点和票价信息。
用户输入完整的数据后,单击确定就可以增加该信息了。
2.11.用户订票。
不同用户登录该系统后可一通过该模块订购需要日期的车票。
用户输入订单信息,单击确定,则提交了订单,等待管理员的审核。
注意:
车次要是已经存在的车次,日期不能小于订票日期。
同时提交后会显示一定的信息给用户。
2.12.购票,退票。
用户不经可以在次系统中订票,也可以立即进行购票,用户只要输入必要的信息,单击确定就可以购买到票。
但是如果信息不合格,则显示出错信息。
如:
发车日期已经过了,该日该车已经坐满了。
同时如果用户要退票则可以在退票模块中退票,只要输入必要的信息,单击确定。
同时,如果过期,则不退。
2.13.查询信息。
该查询分为两
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 车票 销售 管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)