火车票售票系统软件工程设计报告.docx

上传人:b****5 文档编号:7877249 上传时间:2023-01-26 格式:DOCX 页数:23 大小:281.76KB
下载 相关 举报
火车票售票系统软件工程设计报告.docx_第1页
第1页 / 共23页
火车票售票系统软件工程设计报告.docx_第2页
第2页 / 共23页
火车票售票系统软件工程设计报告.docx_第3页
第3页 / 共23页
火车票售票系统软件工程设计报告.docx_第4页
第4页 / 共23页
火车票售票系统软件工程设计报告.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

火车票售票系统软件工程设计报告.docx

《火车票售票系统软件工程设计报告.docx》由会员分享,可在线阅读,更多相关《火车票售票系统软件工程设计报告.docx(23页珍藏版)》请在冰豆网上搜索。

火车票售票系统软件工程设计报告.docx

火车票售票系统软件工程设计报告

 成绩:

 

软件工程课程设计说明书

 

专业_网络工程

班级__

姓名_

学号_

指导老师_

完成日期2014-09-18

火车票售票系统

摘要

火车站是目前客流量最大的运输工具。

对于售票如此大的工作量,完全靠人工是不可能达到高效水平的,因此,开始思考开发提高售票效率以及劳力的计算机售票系统。

售票系统的核心是数据库技术,利用数据库将整个火车站的票务情况存入计算机,再配置上用户接口,基本实现了查询、售票、退票、订票、改签等功能,一定程度上提高了售票效率。

针对火车站的售票实际情况,按照软件工程的结构化设计思想,经过项目的可行性研究和需求分析、总体设计、详细设计,以及编码实现和调试等步骤设计开发了火车站网上订票系统。

并运用数据流图和数据字典、E-R图和数据库逻辑结构、层次图、系统流程图、以及程序流程图,对该系统的数据需求、数据库、系统软件结构、系统流程、以及处理过程等进行分析和设计。

关键词:

信息管理、售票、数据库、用户接口。

第一章前言

1.1项目开发的必要性

火车是目前客流量最大的运输工具,未来很长一段时间中也会延续这种现状。

传统的人工售票成本大,出错率高等缺点,已是跟不上现代人的生活节奏。

而软件相对于人工来说,它有更高处理速度,出错率也将很低,当然,其成本也会大大降低。

如今,对火车的要求在于提高售票效率,火车售票也渐渐进入自动化:

自动化售票,快捷方便的查询、改签、退票,智能化的订票。

在曾经看来是复杂繁琐的工作,变得简单快速人性化。

通过提高售票效率,还可以提高火车运输甚至整个运输业的运行效率。

火车站售票系统的主要作用是通过计算机实现票务信息的统一管理,来提高工作效率,使售票员售票和乘客购票更加方便高效。

实现计算机管理的当然少不了数据库技术。

我们可以利用数据库将整个火车站的票务情况存入计算机,再配置上界面友好功能完善的用户接口,以满足用户需求。

一个火车站售票信息管理系统应达到的目标是提供及时、准确的信息服务,加快信息检索的效率,实况灵活的查询,减轻管理人员制作报表和统计分析的负担,且系统规模不太大但又要保证支持日常工作的要求,以便系统应易于扩充,提高管理水平。

1.2项目功能的概述

本系统主要用于火车票的销售,提供了以下几个子功能:

用户登录和注册、火车票订购、火车票信息查询、订票查询、售票、取票方式、改签、退票以及后台方面的火车班次信发布、取消火车班次、订票生成、取票号生成等后台功能。

火车站售票系统将由四部分组成:

网上订票客户程序,售票员系统,系统管理员系统以及置于服务器的数据库服务器。

第2章软件开发环境

2.1软件开发环境

开发工具:

VisualC++6.0

使用的数据库:

Server2008

系统开发语言:

C++

开发环境:

Win7

2.2软件性能需求

本系统对电脑配置要求不高,一般中低端配置就行,由于开发环境是Win7,其他操作系统运行此系统的稳定性还未知。

第3章需求分析

3.1可行性研究

该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。

我们在这里主要从技术可行性、经济可行性和操作可行性三方面进行分析。

3.1.1经济可行性

本系统其他应用软件、硬件系统也易于获得.因此,开发成本较低。

而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。

所以,从经济的角度来看,该系统可行。

3.1.2技术可行性

系统实现依靠我相对熟悉的c++语言和SQLServer2008数据库系统,其基本操作实质还是对数据库进行添加、删除、查找等操作。

所以,从技术角度来看,该系统可行。

3.1.3操作可行性

系统采用菜单式,实现用户与数据库的交互,界面设计时将尽量使系统界面简单易操作,充分考虑使用人员的习惯,使得操作简单,数据录入简单、迅速、规范、可靠;统计、计算准确;制表灵活;适应力强。

因此,操作方面的可行性也能满足。

3.2需求分析

需求分析是软件设计的一个重要的环节。

本阶段对售票系统的应用情况作全面调查,以确定系统目标,并对系统所需要的基础数据以及数据处理要求进行分析,从而确定用户的需求。

用户对系统的需求我们从以下几方面进行分析。

3.2.1功能需求

本火车售票系统应该具备如下功能:

1、查询模块:

分为对车次信息的查询和客户对已订车票信息的查询。

要求:

1)对车次的查询,可以按照发车车次进行查询;

2)车次信息包括:

火车列次、出发地、目的地、发车日期、开出时刻、票价。

3)座位类型设定。

4)车次信息只允许用户查询,不能修改。

2、售票模块:

通过查询系统,根据客户的需求找到满意的车次,再输入个人信息后直接通过网上售票确定已预订选中的车票。

要求:

售票记录应包括:

会员名、车号、发车日期、订购票数、总价。

3、退票模块:

可退票,通过查询系统,可以根据客户的名字找到客户的订票信息,通过退票模块退去已购车票。

4、改签模块:

当行程计划有变是,可改签,通过查询系统,可以根据客户的名字找到客户的订票信息,通过改签模块改签已购车票。

5、车次修改:

提供车次信息、票价修改、站点修改、增加车次,减少车次、车次的临时调度和临时路线更改等操作。

6、统计信息:

将要统计的车次号输进到统计界面,根据车次的售票情况作出销售额、客流情况统计表。

3.2.2数据需求

1、数据录入和处理的准确性 

数据的输入是否正确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而得不到想要的结果。

数据的输入来源是手工输入。

所以系统地界面要让用户容易使用,如果用户出现误操作,系统能简单明了的给出中文提示。

 

2、数据的一致性和完整性 

由于系统的数据是共享的,在不同的代售点中,车次信息是共享数据,所以如何保证这些数据的一致性,是系统必须解决的问题。

要解决这一问题,要求系统能保证数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。

 

对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据,并给出出错提示。

 

3、数据的共享与独立性 

整个售票系统的数据是共享的。

然而,从系统开发的角度上看,共享会给设计和调试带来困难。

因此,应该提供灵活的配置,使不同权限的用户都可以正常进行操作。

3.2.3性能需求

为了保证系统能够长期、安全、稳定、可靠、高效的运行,本系统应该满足以下的性能需求。

1.准确性和及时性

系统处理的准确性和及时性是系统的必要性能。

系统应能及时而且准确的根据用户权限及所输入的信息做出响应。

由于本系统的查询功能对于整个系统的功能和性能完成举足轻重。

作为系统的很多数据来源,而车票的数量和时间又影响用户的决策活动,其准确性和及时性很大程度上决定了系统的成败。

在系统开发过程中,必须采用一定的方法保证系统的准确性和及时性。

2.易用性

本系统是直接面对用户的,而用户往往对计算机并不是非常熟悉。

这就要求系统能够提供良好的用户接口,易用的人机交互界面。

要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面,从而保证系统的易用性。

此外,对服务器的要求,至少能够满足当地售票人员同时访问。

对客户端,在线使用的电脑中安装即可使用,使用本系统功能时,电脑配置一般情况下,响应速度2s左右,

3.2.4约束与限制

客户下订单提交后需在半小时内进行确认信息,并且做出相应的决定,如:

退票、换票、付款等。

售票员在开车前半小时不准售票,在开车前2小时不准退票。

改签的天数的范围为1天,一天内只能改签一次。

关于操作权限,客户应该只有查询、订票、改签、退票的权限,售票员应该只有售票和查询票务信息的权限,管理员应该给予特殊权限,使之能对票务信息查询、修改。

第4章总体设计

4.1系统概要

本火车站售票系统是根据需求分析开发的原型系统,目的是为了火车站工作人员顺利快速完成每次售票工作,以致火车运行畅通。

该系统在开发各个阶段,都突出现代软件设计的新思想、新技术的研究与应用及其有效性和实用性的证实。

系统使用的用户主要有:

客户、售票员、系统管理员。

都是在客服端界面上进行操作,并不需要了解服务器具体情况。

只要用户的计算机上安装本单机版软件便可方便的使用本系统。

4.2系统结构组成

系统的软件系统总体分为五部分:

登录、售票、退票、改签、用户管理。

登录模块:

验证用户合法性,登录后设定用户权限;

售票模块:

提供查询和售票操作;

退票模块:

提供查询、核对信息和退票操作;

改签模块:

提供查询、核对信息和改签操作;

车次修改:

提供车次信息、票价修改、站点修改、增加车次,减少车次、车次的临时调度和临时路线更改等操作;

统计信息:

将要统计的车次号输进到统计界面,根据车次的售票情况作出销售额、客流情况统计表。

总体数据流图如下图:

 

总体结构图下图:

 

第5章详细设计

5.1数据库设计

5.1.1数据库介绍

系统基于VisualC++6.0平台开发,使用了Server2008数据库。

Server2008功能强大,方便系统管理员组织和共享的数据库,方便系统管理员工作组作出更好的决策。

5.1.2数据表设计

下面具体创建每一个表:

表1管理员信息

字段名称

字段类型

主键

外键

是否为空

默认值

管理员ID

Varchar(10)

001

管理员姓名

Varchar(50)

Admin

管理员密码

Varchar(16)

表2售票员

字段名称

字段类型

主键

外键

是否为空

默认值

售票员ID

Varchar(10)

100

售票员姓名

Varchar(50)

售票员密码

Varchar(16)

证件号码

Varchar(20)

联系地址

Varchar(50)

联系电话

Varchar(20)

表3客户表

字段名称

字段类型

主键

外键

是否为空

默认值

客户ID

Varchar(10)

10000

客户姓名

Varchar(50)

客户密码

Varchar(16)

证件号码

Varchar(20)

真实姓名

Varchar(50)

联系地址

Varchar(100)

邮政编码

Varchar(10)

联系电话

Varchar(20)

表4订单信息

字段名称

字段类型

主键

外键

是否为空

默认值

订单号

Varchar(10)

10000

乘车日期

Datetime

车次

Varchar(10)

始发站

Varchar(10)

终点站

Varchar(10)

席别

Varchar(10)

票种

Varchar(10)

张数

Varchar(5)

1

备注

Varchar(100)

表5列车信息表

字段名称

字段类型

主键

外键

是否为空

默认信息

始发站

Varchar(10)

车次

Varchar(10)

终点站

Varchar(10)

发车时间

Datetime

停靠站

Varchar(10)

到站时间

Datetime

票种

Varchar(10)

表6火车票表

字段名称

字段类型

主键

外键

是否为空

默认信息

票种

Varchar(10)

车次

Varchar(10)

张数

Varchar(10)

1

5.1.3数据表的应用

当客户端登录时,后台服务器查找数据库,匹配相应的用户名和密码,若未找到,则返回错误信息。

登录订票系统,用到售票员表,通过每一个售票员来操作每一个终端,通过对客户需求(即:

客户买票的要求填写订单信息表,包括火车票表)。

若要查询统计功能则需要以管理员身份登录,用到管理员信息表,管理员可以修改列车时刻表。

5.2模块设计

本火车售票下系统主要有登录/注册、查询、售票、退票、改签、修改车次、统计信息这些功能,设计时按这些功能设计模块就可以了。

其详细功能图如下:

5.2.1登录/注册模块

本火车售票下系统有客户、售票员、系统管理员三种用户,其中客户可以自己注册账户登录,而售票员和系统管理员则直接由相关部门授权给定账号密码登录。

其程序流程图如下所示:

 

格式错误

格式正确格式正确

 

匹配失败

匹配成功

是否

客户登录/注册模块流程图

 

格式错误

格式正确

 

匹配失败

匹配成功

售票员/管理员登录模块流程图

5.2.2查询模块

客户与售票员成功登录后,都具有查询车票信息的权限,其享有的操作是一样的。

查询可分为按车次查询与站点查询,客户或售票员通过输入待查询车次或者站点查询车票的相关信息,包括票价,时刻,剩余票数等信息。

若用户输入的车次或者站点错误,系统会提示输入错误。

能够对客户要求的大部分查询类型都能够查询,每个查询功能键都一目了然,能快速精确的显示要查询的信息。

要求单次的查询系统的处理时间在2秒以内。

查询功能时序图如下图:

查询功能时序图

输入项目:

车次号或者站名。

输出项目:

车次号、站点、发车时间、到站时间、剩余票数、车票价格、旅程历时。

该模块通过访问数据库查询车票信息,提取客户或售票员输入的车次或者站名,封装成SELECT语句,到数据库中查询车票信息,将信息返回到用户界面。

若输入错误,弹出错误提示框。

其程序流程图如下图:

 

 

格式错误

格式正确

 

无车票

有车票

 

查询功能流程图

5.2.3售票模块

客户成功登录后,享有购票服务;售票员成功登录后,享有售票权限。

购票与售票实质上是同一中操作,只不过是操作主体不同,下面对售票员的售票模块进行说明。

根据客户的需求如发车日期、发车时间、车票类型(学生票、军人票…)等,客售票员查询相关的车票信息,选择客户所需要的车次,下订单,然后结算。

单次售票任务在25秒之内完成,系统的反应时间在3秒之内;保证多台机器同时运行该系统不会有过高延时。

售票时序图如下图所示:

售票功能时序图

输入项目:

车次、站点、日期。

输出项目:

车票信息、剩余票数。

售票员输入客户预购车票的相关信息,调用查询模块,到数据库中查询是否有票,若有,则选择需要的票数和车次,并将卖出票数写入数据库,数据库中对应车次剩余票数刷新,储存,售票员选择打印火车票给客户;若无则提示车票已售完,回到输入信息界面,重复上边的算法流程。

售票算法流程图如下图:

 

 

无车票

 

有车票

 

售票算法流程图

5.2.4退票模块

客户与售票员登录后,均有退票的权限,下面对售票员的退票情景进行分析。

处理客户由于某种情况需要退回车票的情况,客户要在车站指定的时间内进行退票。

超过指定时间,只能改签,不能退票。

系统及时的记录下所退回的车票,更新数据库。

退票时序图如下图所示:

退票时序图

输入项目:

车票编号。

输出项目:

确认车票界面、警告提示、退票款、数据修改成功。

售票员扫描客户欲退车票的条形码,获得车票编号,售票员点击退票按钮,将车票编号交给退票模块。

退票模块到数据库中查询此票是否已售出,若匹配则点击确认退票,退票模块修改数据库,售票员返还退票款;若不匹配则会提示售票员此票未售出。

退票算法流程图如下图所示:

 

 

无记录

有记录(已卖出)

 

 

 

退票算法流程图

5.2.5改签模块

客户与售票员登录后,均有改签的权限,下面对售票员的改签情景进行分析。

计划临时变更需要更改出发日期,或者退票不成功,可以选择改签服务。

售票员收回客户车票,返还票款。

若客户需要日期的票有剩余,则重新卖给客户一张票;若票已售完,则退出。

改签时序图如下图所示:

改签时序图

输入项目:

车次、日期

输出项目:

警告提示、新车票

售票员扫描车票条形码,输入到改签界面,改签模块进入数据库中确认该车票确实售出。

若确实售出,则返还退票款,并根据乘客需求另售一张指定日期车票;若没有售出,警告提示售票员车票有误。

改签算法流程图如下图所示:

 

 

 

 

改签算法流程图

5.2.6修改车次模块

系统管理员通过该模块修改需要变更的车次信息,包括车次修改、票价修改、站点修改。

车次修改包括增加车次,减少车次,车次的临时调度和临时路线更改。

票价修改为节假日、春运等特殊时段或某些特殊地域需要适量增加或减少票价。

站点修改可是某些车次增加或减少一些站点。

其时序图如下图所示:

修改车次时序图

管理员输入要修改的车次,提交给修改模块,修改模块根据管理员输入的信息进入数据库查询到相关表中数据,并修改,修改成功后给管理员显示修改之后的信息内容。

5.2.7统计信息模块

主要是统计车票的销售情况以及销售额等。

同时通过车票统计还可得知不同日期车流量的情况,为列车调度提供第一手资料。

统计时序图如下图所示:

统计时序图

售票员将要统计的车次号输进到统计界面,控制器提取数据,进入数据库查询统计表,返回给售票员,售票员根据车次的售票情况作出销售额、客流情况统计表。

统计算法流程图如下图所示:

 

不存在

存在

 

统计算法流程图

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

当前位置:首页 > 职业教育 > 其它

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

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