客运售票管理系统

更新时间:2023-10-20 18:32:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

客运售票管理系统数据库设计

1 系统概述

1.1 概述

该系统将计算机技术应用于水路客运的售票和管理中,规范了水路客运

站的管理模式。该系统具有售票计划的编制、查询和销售、票证管理各类售票业务处理等多项功能,适应性强。

1.2程序目的

水路客运站日常业务流程:管理人员制订(调整)三日航班计划(当日、次日、第三日),管理营运相关数据。票管员登记售票员领用船票情况。售票员领用船票后,根据航班计划、票价标准及乘客需求,出售(预售)船票,在特殊情况下,办理退票手续。

船票(船票号、开船日期、开船时间、船舶、到达港站、等级、人数、票价、金额、售票日期、售票时间、售票员工号)

票证领用登记表(售票员、票证起号、票证止号、领票日期、票管员、使用状态、启用日期)

计划表(航班号、船舶、开船日期、开船时间、一等舱余额、二等舱余额、三等舱余额、停靠港站、停靠码头、停开标志)。

1.3 可行性分析

1.3.1技术可行性研究

数据库的设计,软件体系结构可以采用目前非常成熟的三层客户机/服务器(C/S)风格。C/S模式下客户端只需要提供用户接口。服务端采用windows NT系统的工作站,可选用Visual Studio.Net、Visual C++6.0、Delphi7、VB。NET等为主要开发应用程序。DBMS可选Access、VFP、oracle 11g或者采用Microsoft公司的Microsoft SQL Server 2000数据库作为数据库服务器。

综上,使用现有的技术可以实现这个系统。

- 1 -

1.3.2经济可行性研究

通过网络传递客运信息,不仅不受距离的限制而且速度快。对与船票销售来说,可以更快更详细的了解全局的售票情况。从而可以提高售票的效率。同时对售票情况的总结提取等方面也有很大的帮助。因此可以节约许多的人力和物力,方便管理,由此可以减少不必要的开支,同时该系统可以提高客运售票的效率,即提高了客运公司的经济效益,所以从经济上是完全可行的。但需要公司能够提供初始的软件研发资金。

1.3.3操作可行性研究

本系统采用MFC图形界面,与大家熟悉的windows操作系统相似,对于各种具体的报表都尽量与原手工操作保持形式上的一致,用户只需要略加培训都可以轻松上手。而且整个销售系统采用最友好的交互界面,简洁明了,不需要对后台数据库及其它不相干操作的了解。

综上,系统的操作方式在这个用户组织内行得通。

1.3.4可行性综合分析

综合以上三方面的可行性研究,可知该系统具有很高的开发可行性,无论是从技术上、经济上、还是操作上来分析,这个客运(水运)售票管理系统都是值得开发的。

2 系统目标和建设原则 2.1 系统目标

水路客运站日常业务流程:管理人员制订(调整)三日航班计划(当日、次日、第三日),管理营运相关数据。票管员登记售票员领用船票情况。售票员领用船票后,根据航班计划、票价标准及乘客需求,出售(预售)船票,在特殊情况下,办理退票手续。

2.2 基本原则

2.2.1. 采用生命周期法和原型法相结合的方法开发系统

- 2 -

由于本系统开发设计过程中受到各方条件的影响,在开发初期采用生命周期法进行设计开发,严格按照系统规划,系统分析,系统设计,系统实施和系统维护这五个阶段,系统能正常运行后,再进一步调查和分析,其中如有不足之处,再进行合理解决。

2.2.2. 注重系统的易用性

本系统设计过程中力求人性化,结合强大的搜索功能帮助用户方便的查找到各自所需的信息如票价、座位数等,同时在数据录入过程中,尽可能减少人工输入部分,降低人工输入错误的可能性。

2.2.3. 注重系统的可移植性

由于客运管理售票系统庞大复杂,可以根据需要实际取系统中的部分功能。同时由于数据库采用微软的SQL Server 2000,可以很方便地备份数据,转移数据。

2.2.4系统的易维护性

客运售票管理系统中涉及到的数据是客运公司和港口的相当重要的信息,系统要提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,系统意外崩溃时数据的恢复等工作。

2.2.5系统的开放性和系统的可扩充性

客运售票管理系统在开发过程中,应该充分考虑以后的可扩充性。例如用户查询的需求会不断的更新和完善甚至是数据库的升级。这些都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。

2.2.6系统的响应速度

客运售票管理系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。在进行统计分析时,根据所需数据量的不同而从秒级到分钟级,原则是保证操作人员不会因为速度问题而影响工作效率

3 支撑环境计划

3.1 网络逻辑结构

本次设计基于的网络逻辑结构是客户/服务器(C/S)体系结构。C/S是基于资源不

对等,并且为了实现共享而提出来的,它由三个主要部分构成:数据库服务器、客户应

- 3 -

用程序和网络。C/S体系结构的优点在于系统的客户应用程序和服务器构件分别运行在不同的计算机上,这对硬件和软件的变化显示出极强的适应性和灵活性,而且易于对系统进行扩充和缩小。

基于C/S的住院管理系统的结构示意图如图3-1所示

图3.1 基于C/S的客运售票管售票设 备 售票员 售票设 备 售票员 顾客 顾客 售票器 售票器 票管员 其他公用设备 客运售票管理数据库服网络 集线器 …….. ……..

3.2 软件支撑环境及开发工具

这次课程设计基本是都是在WINDOWS XP操作系统下完成的。包括应用程序的开发、数据库的设计以及设计报告的编写。在这一过程中,应用的开发工具有:

1. VC++6.0程序设计语言 2. SQL Server 2000

3. Microsoft Office Word 2003

- 4 -

4 系统总体结构

4.1 数据流图的设计

数据流图可以表示现行系统的信息流动和加工处理等详细情况,是现行系统的一种逻辑抽象,独立于系统的实现。对于本次设计,将根据系统的业务流程分别来设计数据流图。

4.1.1顶层数据流图

顶层数据流图如下: 票管员 售票员 管理信息 售票信息 售票查询 结果信息 客运售票 退票查询 结果信息 顾客 管理系统 查询信息 退票信息

图4.1 顶层数据流图

4.1.2 0层数据流图

0层数据流图如下:

- 5 -

查询信息 顾客 结果信息 查询信息 查询船票 结果信息

船舱余额表

图4.2 0层数据流图(1)

领票信息 船票 更新余额信息 余额信息 登记 领票 票价信息 航班计划 登记信息 管理 船票 船舱余额表 票管员 票管信息 顾客 提出退购票 需求 退票 需求 票需求 退票需求 提出购票需求 购票需求 航班票价表 票价信息 售票员 航班计划表 售票 航班计划 退票信息 船票 余额信息 船舱余额表 退票 退费 余额信息 图4.3 0层数据流图(2)

4.2 功能结构设计

设计一个系统是要事先了解系统的基本功能,将其分成几个模块分别设计,能够提高设计效率。对于客运销售管理系统来说,其基本业务功能应该包括:

4.1.1客户查询功能

在本功能模块中,顾客可以根据日期、始发站和终点站来查询其最适合的轮船及

相应的船坐等级和票价

4.2.2 售票员领票模块

在本模块中,售票员可向票管员申领船票。

- 6 -

4.2.3售票员售票模块

在本模块中,售票员根据查询所得航班号,将相应船票售出。并修改相应计划表和标记相应船票售出。

4.2.4 售票员退票模块

在本模块中,售票员根据退票航班号,将相应船票回收。并修改相应计划表和标记相应船票作废。

4.2.5 管票员管理模块

在本模块中,管票员可以修改相应数据库中各种数据,如票价、修改计划表增删轮船等。但此非本售票系统重点,故不展开进行描述。

4.3. E-R图设计

E-R图提供了表示实体型、属性和联系的方法。

1) 实体型:用矩形表示,矩形框内写明实体名;

2) 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来;

3) 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型。

注意:如果一个联系也具有属性,则这些属性也要用无向边与该联系连接起来。 下面将根据要设计的客运售票管理数据库对其中涉及到的实体、实体属性和实体间的联系进行分析和设计。

4.3.1 实体及其属性分析

根据本次课程设计所给出的初始条件,目前有以下实体:售票员实体、票管员实体、船舶实体、票证领用登记表、计划表和船票实体。:

1.售票员,有售票员编号,售票员名,售票员性别3个属性: 如下图:

- 7 -

售票员编号 售票员名 售票员 售票员性别 图4.4 售票员属性

2.票管员,有票管员编号,票管员名,票管员性别3个属性: 如下图:

票管员编号 票管员名 票管员性别 票管员

图4.5 票管员属性

3.船舶,有船舶编号,船舶名,一等舱位数、二等舱位数、三等舱位数5个属性: 如下图:

船舶编号 船舶名 船舶 一等舱位数 二等舱位数 三等舱位数

图4.6船舶属性

4.船票,有船票号、开船日期、开船时间、船舶、到达港站、等级、人数、票价、售票日期、售票时间、售票员工号众多属性

如下图:

- 8 -

船票号 开船日期时间 船票 到达港站 等级 人数 船舶 售票员工号 到达港站 售票日期时间 图4.7船票属性

5. 票证领用登记表,有售票员、票证起号、票证止号、领票日期、票管员、使用状态、启用日期等属性 如下图:

售票员 票证起号 票证领用登记表 领票日期 票管员 启用日期 使用状态 票证止号

图4.8票证领用登记表属性

6计划表,有航班号、船舶、开船日期、开船时间、一等舱余额、二等舱余额、

三等舱余额、停靠港站、停靠码头、停开标志等属性 如下图:

- 9 -

航班号 船舶 计划表 开船日期时间一等舱余额 二等舱余额 停靠港站 停开标志 停靠码头 三等舱余额 图4.9计划表属性

4.3.2 总体E-R图设计 1 票管员 n 管理 1 计划表 n m n n 登上 使用 有 1 票证领用登记表 1 船舶 1 售票员 销售 船票

4.4 关系模型设计

关系模型的逻辑结构是一组关系模式的集合。将E-R图转换为关系模型实际上就是将实体型、实体型的属性和实体之间的联系转换为一组关系模式,这种转换需要遵守以下原则:

1. 一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是

- 10 -

关系的码。

2. 对于实体之间的联系有以下几种情况:

(1) 一个1:1的联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。

(2) 一个1:n的联系可以转换成为一个独立的关系模式,也可以与n端对应的关系模式合并。

(3) 一个m: n的联系转换为一个关系模式。

(4) 3个或者3个以上的实体之间的一个多元联系可以转换为一个关系模式。 (5) 具有相同码的关系模式可以合并。

按照上述的原则,根据设计好的E-R图,可以将其转换为以下一组关系模式,其中关系模式的码用下横线标出,外码用下划浪线标识。 1)“售票员”实体型所对应的关系模式: 售票员(售票员编号,售票员名,售票员性别) 2)“票管员”实体型所对应的关系模式: 票管员(票管员编号,票管员名,票管员性别) 3)“船舶”实体型所对应的关系模式:

船舶(船舶编号,船舶名,一等舱位数、二等舱位数、三等舱位) 4)“船票”实体型所对应的关系模式:

船票(船票号、开船日期、开船时间、船舶号、到达港站、等级、人数、票价、售票日期、售票时间、售票员工号)

5)“票证领用登记表”实体型所对应的关系模式:

票证领用登记表(售票员号、票证起号、票证止号、领票日期、票管员号、使用状态、启用日期)

6)“销售”联系所对应的关系模式:

销售表(售票员编号,船票号,顾客信息,销售日期) 7)“计划表”实体型所对应的关系模式:

计划表(航班号、船舶代码、开船日期、开船时间、一等舱余额、二等舱余额、三等舱余额、停靠港站、停靠码头、停开标志)

4..5数据模型的优化

- 11 -

数据库逻辑设计的结果不是唯一的。为了提高数据库应用系统的性能,还应该根

据应用需要适当的修改、调整关系模式,这就是个数据模型的优化。

对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。 分析后可知,上面的关系模式均没有冗余的联系。

按照规范化理论对关系模式逐一进行分析,考查是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式。

由于经检测不存在部分函数依赖。分析后可知也不存在传递依赖和多值依赖,以上的各关系模式都是3NF。

5 总体实施计划

5.1数据库关系图如下

图5.1 数据库关系图

5.2 各部分表格设置如下

5.2.1售票员

CREATE TABLE 售票员(

售票员号 varchar(10) PRIMARY KEY,

- 12 -

售票员名 varchar(10) 售票员性别 char(1) DEFAULT ‘M’

Check (Value in (‘M’,‘W’));

);

图5.2售票员表

5.2.2票管员

CREATE TABLE 票管员

(

票管员号 varchar(10) PRIMARY KEY, 票管员名 varchar(10) 票管员性别 char(1) DEFAULT ‘M’

Check (Value in (‘M’,‘W’));

);

图5.3票管员表

5.2.3船舶

CREATE TABLE 船舶 (

船舶号 varchar(10) PRIMARY KEY,

- 13 -

船舶名 varchar(10) 一等舱位数 int DEFAULT 0

Check (Value >=0 and Value<=200); 二等舱位数 int

DEFAULT 0

Check (Value >=0 and Value<=200); 三等舱位数 int

DEFAULT 0

Check (Value >=0 and Value<=200);

);

图5.4船舶表

5.2.4船票

CREATE TABLE 船票(

船票号 char(10) PRIMARY KEY, 开船日期 datatime(8)

开船时间 datatime(8)

船舶号 varchar(10)

Not null,

到达港站 varchar(10)

等级 int

Check (Value in (1,2,3)); 人数 int

- 14 -

Check (Value >=0 and Value<=200); 票价 float

售票日期 datatime(8) 售票时间 datatime(8) 售票员工号 char(10) FOREIGN KEY船舶号

REFERENCES 船舶(船舶号),

FOREIGN KEY售票员工号

REFERENCES 售票员(售票员号), );

图5.5船票表

5.2.5票证领用登记表

CREATE TABLE 票证领用登记表( 售票员工号 char(10) 票证起号 char(10)

Not null;

票证止号 datatime(8) Not null;

领票日期 datatime(8)

Not null,

- 15 -

票管员号 varchar(10)

使用状态 int Check (Value in (0,1)); 启用日期 datatime(8)

);

PRIMARY KEY (售票员工号,票管员号)

图5.6票证领用登记表表

5.2.6计划表

CREATE TABLE 计划表(

航班号 varchar(10) PRIMARY KEY, 开船日期 datatime(8)

开船时间 datatime(8)

船舶号 varchar(10)

Not null,

停靠港站 varchar(10)

停开标志 int Check (Value in (0,1)); 一等舱余额 int

Check (Value >=0 and Value<=200); 二等舱余额 int

Check (Value >=0 and Value<=200); 三等舱余额 int

Check (Value >=0 and Value<=200);

- 16 -

停靠码头号 int FOREIGN KEY船舶号

REFERENCES 船舶(船舶号), );

图5.7计划表

5.3 各角色权限设置 5.3.1 售票员权限

图5.8售票员权限表

5.3.2 票管员权限

图5.9票管员权限表

- 17 -

5.3.3 顾客权限

图5.10顾客权限表

5.4 数据的载入

数据库数据量一般比较庞大,手工输入工作量大,不大可能实现。可以通过先写入规范格式的txt文件中,然后将其导入到数据库中。

导入后的部分数据库: 计划表:

票证领用登记表:

图5.11计划表内容

其余表内容类似。

图5.12票证领用登记表内容

6 研制报告

6.1 研制过程

这份课程设计报告是我花费大量时间查阅关于软件设计方面的书籍,以及在互联网上查找资料,耗费大量精力编写成功的。并且在报告编写的过程中,和其他同学互相学习、讨论,对于遇到的问题,积极寻求解决办法,如果遇到了自己和同学不能解决的问题,就向指导老师请教。最终在老师和同学的帮助下,以及在自己的努力下,我完成

- 18 -

了本次设计。

6.2 对设计的评价

这次课程设计,主要是根据教材所讲述的数据库设计步骤,从需求分析到概念结

构设计到逻辑结构设计再到物理实现,最后到数据库实施,按照任务书的要求一步步完成的。因为本次设计主要是数据库的设计,所以仅对应用程序进行了叙述,并没有进行详细设计,这一点应该算是这次课程设计的一个缺陷吧。

尽管没有应用程序的详细设计,但是从课程设计的要求来看,这个客运售票数据库的设计是满足系统设计要求的。

6.3 心得与体会

通过本次课程设计,使我接受了一次用专业知识、专业技能分析和解决问题的全

面系统的锻炼。使我在综合知识的选用方面,在数据库设计的基本思想、方法方面,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步。为日后成为合格的应用型人才打下良好的基础。这次在指导老师的帮助下,在同学的帮助下,基本上完成了设计任务,在软件的设计方面的能力也有了一定的提高,为今后顺利地走上工作岗位奠定了基础。

而且经过本次课程设计,使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力,才能真正为社会服务。在设计的过程中,难免会遇到各种各样的问题,但我会努力克服,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,但通过对课本以及一些相关书籍的查阅,并且在指导老师和同学的帮助下,算是比较成功的完成了这次课程设计。

7 参考文献

1. 王珊.数据库系统简明教程.北京:高等教育出版社,2004

2. 王珊,冯念真.计算机应用系统的设计与开发.北京:高等教育出版社,1989 3 郭盈发、张红娟 《数据库原理》[M] 西安 西安电子科技大学出版社 2002

4 蔡翠平、陈虎 《数据库技术——SQL》[M] 上海 北方交通大学出版社、清华大学出版社 2003

5 李代平、章文、张信一 《SQL Server2000 数据 库应用开发》[M] 北京 冶金工

- 19 -

业出版社 2001

6. 何守才.数据库综合大词典.上海:上海科学技术文献出版社,1995

- 20 -

本文来源:https://www.bwwdw.com/article/jbaf.html

Top