列车查询系统.docx
- 文档编号:27583453
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:46
- 大小:588.01KB
列车查询系统.docx
《列车查询系统.docx》由会员分享,可在线阅读,更多相关《列车查询系统.docx(46页珍藏版)》请在冰豆网上搜索。
列车查询系统
第一章问题的定义1
第二章可行性研究2
第三章项目开发计划3
3.1开发内容3
3.2开发目标3
3.3开发环境3
第四章需求分析4
第五章概要设计错误!
未定义书签。
5.1数据流程5
5.2数据字典6
5.3系统功能模块图错误!
未定义书签。
第六章数据库设计12
6.1数据库的逻辑设计12
6.2数据库的物理设计14
第七章详细设计16
7.1程序流程图16
7.2.1游客子模块流程图16
7.2.2管理员子模块流程图17
7.2.3车次信息查询模块流程图18
7.2.4录入车次信息模块流程图19
7.2.5删除车次信息模块流程图20
7.2.6修改车次信息模块流程图21
第八章测试报告23
8.1测试工具23
8.2测试对象23
8.3管理员录入测试23
8.4游客按车次查询测试25
第九章用户手册27
9.1管理员手册27
9.2游客使用手册27
附录28
第一章问题的定义
为了加强铁路运输信息建设,以及为广大旅客更好地旅客服务,让广大旅客能够及时有效地得到客、货运输信息,有必要开发出一块小巧方便的列车查询系统方便旅客及时准确的了解列车信息,从而方便购票、退票。
列车时刻查询系统是便民类的系统。
该系统能够为用户提供有关列车时刻充足的信息和快捷的查询手段。
在计算机普及的信息时代,用电脑软件来查询列车时刻已经替代了一直以来人们使用传统的方式查询列车时刻,用传统的方式存
在着许多缺点。
使用电脑软件进行查询,方便快捷。
因此有利于人们快速、方便的查找到所需的相关列车时刻信息。
列车信息量的不断增大,使得列车信息管理人员的工作变得越来越复杂且容易出错,急需更好的方式管理列车信息,计算机技术不断发展,使得利用计算机软件管理列车信息变成可能,而且会节省人力物力,带来更好的经济效益,给人们提供方便。
旅客关注的一般是列车的车次、发车时间、到站时间、全部运行时间等一些列车的基本数据,根据这些需求,把列车的基本信息统一由管理员录入计算机并及时更新、修改和删除一些车次的列车信息,从而动态的维护信息的更新。
软件的目的是使用性强,不论工作人员还是旅客都要能方便使用软件,这就要求软件要操作简单,不能有繁琐难懂的操作方法。
对于管理员来说,要有录入列车车次信息功能、修改车次信息功能、删除信息功能等管理员有权力进入并进行操作的功能。
而对于游客,则可以根据列车的车次和火车站等联系来查询列车信息。
这款软件是为了方便人们出行的火车查询系统,为非盈利性软件,所以开发时间有限,但所要求的功能都是按质按量完成,在时间有限的情况下也注重了效率的重要。
第二章可行性研究
通过对市场长时间的调查发现,研发一款列车查询系统是非常有必要的。
而且根据现在的技术水平完全有能力支持者款系统的研发成功。
在技术日趋成熟的今天,我们可以通过多种编程语言来对着款系统进行编写开发,在现在的windows操作系统中对系统进行检测,多种算法可提供选择来实现数据库设计。
说以在技术上是完全可行的。
由于本款系统小巧简便,不会需要很多经费,不会带来很多的经济负担,
而且这款系统是在现在的操作系统中实现所以不需要额外的硬件需求,从而减少
了经济投入,在经济方面是完全可行的。
这款软件是方便人们出行乘坐火车的查询系统,所以操作上一定要简单易懂,同时要方便管理员的管理,只要根据说明书进行操作熟悉了之后就会很简单,所以应用可行性是行的通的。
通过这几方面的研究发现列车查询系统的研发是可行的。
第三章项目开发计划
3.1开发内容
在本项目的开发为期三周中,开发时首先要编写好开发文档,包括可行性研究报告、项
目开发计划、需求分析说明书、概要设计说明书、详细设计说明书、用户手册,确保开发过程按部就班完成,同时方便客户的应用。
其次就是编写代码、测试的工作,以及日后系统维
护的工作。
3.2开发目标
本列车查询系统主要实现以下功能:
1•管理员可以方便录入新的列车信息。
2•在应用过程中管理员可以方便调用和修改、删除列车信息。
3•旅客可以方便的根据车次或站名查询自己需要查询的信息。
3.3开发环境
开发环境:
WindowsXP
开发工具:
VisualBasic6.0
数据库管理系统:
SQLServer2000
数据库服务器:
SQLServer2000桌面引擎
第四章需求分析
4.1项目分析
随着人们生活水平的提高和信息化时代的到来,管理系统的作用已越来越重要,列车时刻查询系统是个小型管理系统,用C++语言实现。
所有数据都要利用文件系统保存,使用文件输入输出流保存文件信息,以备系统下次运行时使用。
列车时刻查询和决策工作是一项琐碎、繁杂的工作,由于列车时刻在各种节日休假时期经常性的调整,导致列车时刻表必须经常修改,以确保准确无误的向用户及时的提供列车时刻信息。
几十年前的那种传统的方式存在着许多缺点,如:
效率低、时间长、繁琐,给用户带来了诸多不便。
在计算机普及的信息时代,使用电脑软件进行查询,使查询更加迅速、方便、清晰。
此列车时刻查询决策系统软件,能帮助人们利用计算机快速方便的查询列车时刻。
本软件集列车基本数据、车次管理、列车查询于一身,目的在于能够使管理人员更加方便快捷的对列车时刻进行更新和管理。
同时使用户更加方便快速的查询列车时刻信息。
此列车时刻查询决策系统使列车时刻信息的查询工作更系统化、规范化、自动化。
从而在一方面提高了管理人员的工作效率,减少了传统人工管理方式所带来的人力,物力的浪费,另一方面由于本软件具有查找方便、
可靠性高、存储量大等优点,所以实现了列车时刻信息查询及管理的自动化。
4.2数据流程
根据需求分析的得到列车查询系统处理流程,根据不同的用户需求,首先确定目标系统
的业务流程,其数据流图如图5.1。
图4.2火车票查询系统数据流程图
对数据流图所示功能描述:
1•用户登录:
管理员和游客都可定义为用户并合法登录
2•火车信息删除:
对已有过时的信息进行删除
3•火车信息录入:
对需要增加的火车信息更新录入。
4•火车信息修改:
对库中的火车信息进行局部修改。
5•信息查询:
游客可以根据自己的需要进行相应查询。
6.车次信息库:
包含所有车次信息,方便管理员的管理和游客的查询。
4.3数据字典
数据流图对系统的整个过程进行了大体描述,对整体的描述还远远不能
更具体的表述出系统的数据内容,同时还要有数据字典加以辅助,才能对体统跟
清楚的理解。
具体数据字典如下:
表4-1车次数据项
名称:
车次
别名:
trnu
描述:
显示列车的编号
定义:
由数字或字母组成
输入:
管理员
输出:
列车信息库
表4-2出站时间数据项
名称:
出站时间
别名:
trst
描述:
规定列车的出站时间
定义:
由数字和时间符号组成
输入:
管理员
输出:
列车信息库
表4-3车次信息数据项
名称:
车次信息
别名:
trin
描述:
列车的基本信息属性
定义:
车次信息=车次+列车类型+里程+出站时间+进站时间+始发站+终点站+总运行时间
输入:
管理员
输出:
列车信息库
表4-4信息管理数据项
名称:
信息管理
别名:
inad
描述:
管理员对列车信息管理的过程
定义:
信息管理=车次+管理员编号+登录密码+管理员姓名
输入:
管理员
输出:
列车信息库
表4-5信息查询数据项
名称:
信息查询
别名:
inch
描述:
游客的查询过程
定义:
信息查询=游客姓名+车次+站名+游客编号
输入:
游客
输出:
列车信息库
表4-6列车类型数据项
名称:
列车类型
别名:
trty
描述:
列车所属种类定义:
由大写字母表示
输入:
管理员
输出:
列车信息库
表4-7管理员编号数据项
名称:
管理员编号
别名:
adnu
描述:
对管理员的数据标号
定义:
有数字组成
输入:
管理员
输出:
列车信息库
表4-8游客编号数据项
名称:
游客编号
别名:
vinu
描述:
对游客进行的数据标号
定义:
由数字组成
输入:
游客
输出:
列车信息库
表4-9登录密码数据项
描述:
管理员对系统操作时的登录密码
定义:
由数字组成
输入:
管理员
输出:
列车信息库
表4-10登录密码数据项
名称:
总运行时间
别名:
neti
描述:
列车整体过程中需要运行的时间
定义:
由数字和时间表示符号组成
输入:
列车信息库
输出:
列车信息库
表4-11状态数据项
名称:
状态
别名:
trsta
描述:
列车当前的运行状态
定义:
由汉字显示列车状态
输入:
列车信息库
输出:
列车信息库
表4-12始发站数据项
名称:
始发站
别名:
trss
描述:
列车的驶出站的站名
定义:
由字母组成
输入:
管理员
输出:
列车信息库
第五章概要设计
5.1系统功能模块图
根据需求分析阶段得到的数据流图,并结合软件工程所需的知识,根据用
户的要求,给出列车查询系统功能模块图如图5.1所示
列车查询系统
游客子模块
管理员子模块
图5.1列车查询系统功能模块图
5.2模块功能
录入列车信息模块:
该部分功能主要是用于系统管理员输入列车的各种信息,加强系统的可扩展性和延续性,使系统信息保持更新。
查询列车信息模块:
查询列车时刻信息,以及相关资料,查询分两种方式,一种是按列车号查询,另一种是按终点站查询。
两种查询想辅助。
使用户更快捷的查询到有关信息。
删除列车信息模块:
删除列车时刻信息功能主要用于更新列车信息数据,对于不必要的信息和错误的过时的信息进行相关处理,有利于简化系统,对于系统的运行速度的提升有着良好的加速效果。
此功能是管理员专用功能,游客用户无权调用。
修改列车信息模块:
此功能用于修改列车信息,使用权限仅限于管理员。
进行列车信息的相关修改对于系统的正常运行有着显著的作用。
游客子模块:
此功能用于游客等登录保证游客对车次的查询。
管理员子模块:
用于管理员的登录,使得管理员进入系统管理层。
第六章数据库设计
6.1数据库的逻辑设计
根据对系统的数据分析和该阶段所建立的概念模型,已经得出能够满足系统设计要求的
几个关系描述,先阶段的主要工作就是把前一阶段的成果转化为具体的数据库。
下面给出初
步E-R图如图6.1所示。
实体:
车次信息(车次,状态,里程,列车类型,总运行时间,出站时间,进站时间,始发站,终点站);
管理员(管理员编号,管理员姓名,登录密码);
游客(游客编号,游客姓名);
联系:
信息管理(车次,管理员编号,登录密码);
信息查询(车次,站名);
6.2数据库的物理设计
基于数据库的原理,结合数据库逻辑设计的基本E-R图,本着程序设计尽可能言简意赅的原则我们采用创建一个列车信息库,并在库中建立相应的数据表,具体数表如下所示:
1车次信息数据表具体如下图所示:
表6-1车次信息数据表
字段名
数据类型
约束
描述
trnu
int
主键
车次
trty
char
不为空
列车类型
trio
char
不为空
里程
trst
data
不为空
出站时间
tren
data
不为空
到站时间
neti
char
不为空
总运行时间
trss
char
不为空
始发站
tras
char
不为空
终点站
trsta
char
不为空
状态
2管理员数据表具体如下图所示:
表6-2管理员数据表
字段名
数据类型
约束
描述
adnu
int
主键
管理员编号
adna
char
不为空
管理员姓名
pass
char
不为空
登录密码
3游客数据表具体如下图所示:
表6-3游客数据表
字段名
数据类型
约束
描述
vinu
int
主键
游客编号
vina
char
不为空
游客姓名
4信息管理数据表具体如下图所示:
表6-4信息管理数据表
字段名
数据类型
约束
描述
trnu
int
主键
车次
adnu
int
不为空
管理员编号
pass
char
不为空
登录密码
5信息查询数据表具体如下图所示:
表6-5信息查询数据表
字段名
数据类型
约束
描述
trnu
int
主键
车次
stna
char
不为空
站名
第七章详细设计
7.1程序模块图
根据本系统的内容得到的具体数据流图在本次设计中起到了系统整体描述的作用,根据数据流图的描述可以把每个过程抽象成模块形式,再根据每个模块
的具体方案结合所学C++知识进行功能模块的编写,具体功能模块结合在一起构成整个数据流程图所要实现的功能。
721游客子模块流程图
游客子模块是游客进行查询操作登录时必须拥有的模块,实现了游客等登录,从而为
以后的查询奠定基础。
具体流程图如图7.1所示。
图7.1游客子模块程序流程图
722管理员子模块流程图
管理员子模块是管理员登录的模块,为管理员进行以后的操作作准备体流程图如图7.2所示。
图7.2管理员模块程序流程图
7.2.3车次信息查询模块流程图
车次信息查询模块是游客在系统中操作的关键模块,本模块实现的功能是帮助游客查询到其想要查询的列车信息,具体流程图如图7.3所示。
幵始
游客豊录
关同车次信息表
结束
图7.3车次信息查询模块程序流程图
724录入车次信息模块流程图
录入车次信息模块是管理员操作的模块,它实现了把新的车次信息录入到
系统中,保证能够及时更新车次信息,方便旅客查询。
具体流程图如图7.4所示。
开始
管理员登录
车次信息管理
图7.4录入车次信息模块程序流程图
725删除车次信息模块流程图
删除车次信息模块是对已经过时的车次信息进行清除,减少对旅客造成不必要的麻烦,同时减少信息库的资源浪费。
具体流程图如图7.5所示。
管理员登录
车次信息管理
打开车次信,良表
删除相应车次信息
关闭车次信息表
图7.5删除车次信息模块程序流程图
726修改车次信息模块流程图
修改信息模块是对车次信息进行局部微调的模块,不用直接删除再全部输入,减少了管理员的工作量。
具体流程图如图7.6所示。
关同车袂信息
结束
图7.6修改车次信息模块程序流程图
第八章测试报告
8.1测试工具
一台完备的电脑和VisualC++6.0运行环境
8.2测试对象
列车查询系统各个模块是否能正常运行
8.3管理员录入测试
测试方法:
1、管理员在登录界面登录,并输入密码进入管理员操作界面;
2、按提示进入录入车次信息功能模块;
3、输入一组列车基本信息,并保存;
4、返回并选择查看车次信息,对照是否正确录入并保存到车次信息库中;
5.退出系统。
测试目的:
通过对管理员录入模块的测试了解系统是否能正常的录入更新车次信息,并间接观察其他相关功能能否配合所测试功能完成相应操作。
测试结果:
1管理员登录如图8.1所示
2014-01-1514:
46
请选择用户名<「管理员汐-游客〉:
1
请输入管理员密码:
图8.1管理员登录
2进入录入功能模块并录入信息如图8.2所示
■C:
\Users'yAcIministrator\Desktop\苛建文徘夹\Dsbug\Cppl.exe
«欢迎使用列车时刻查询系统”
图8.2管理员录入信息
3录入结果查询如图8.3所示
■C:
\Users\Administrator\Desktop诺蔭文件夹\Debug\Cppl・exe
«欢迎使用列车时刻查询系统”
2014-01-1514:
54
图8.3录入结果查询验证
8.4游客按车次查询测试
测试方法:
1、游客在登录界面进入游客查询界面;
2、按提示选择按车次查询;
3、观察是否显示所查询的车次信息;
4、查询完毕退出系统。
测试目的:
通过按车次查询的方法直接明了的观察了查询模块是否能正常运行,女口果一切正常则说明此次列车查询系统所要完成的功能基本达成,如果不能正常显示说明还要加以改进。
测试结果
1游客登录并进入查询界面如图8.4所示
■C:
\Users\AdminIstrator\Desktop'賦建文件夹bug\Cppl.exe
[」回I—M
2014-01-1515:
03
沥左爭賈理员z游客卅2也蟲麗選鹭掳列车终点站查找:
■
图8.4游客登录查询界面
2游客按车次查询并观察所示信息如图8.5所示
■C:
\Urs\Administrator\Desk±op\齐建丈件夹、Debug\Cpp1.exe
<<欢迎使用列车时刻査询系统R
图8.5游客按车次查询结果
«欢迎使用列车时刻查询系统"
第九章用户手册
为了用户方便快捷的是用列车查询系统管理和查询相关信息,特别编写了用
户手册,为用户详细介绍了系统如何运行,其中管理员和游客不同用户是如何使用系统的相关功能都用介绍。
9.1管理员手册
1管理员通过登录界面进入管理界面,进入前需要输入密码,初始密码默认为
123456;
2进入管理员界面后,管理员可以选择相关的功能加以操作;
3录入或修改完列车信息后要及时保存,以免遗漏;
4管理员可以对单个车次的车次信息进行修复同时也要保存修改后的信息;
5完成对相关功能的操作后,请按提示安全退出。
9.2游客使用手册
1游客使用时按提示进入查询界面;
2查询时给出不同的查询方式,可以按车次查询同时也可以按站名查询;
3查询完相关信息后可以继续查询其他车次信息,如结束查询请按提示安全退出。
附录
#include
//数据流输入/输出
#include
〃文件输入/输出
#include
〃字符串操作
#includeviomanip>
//参数化输入/输出
#include
〃时间库函数
#includevwindows.h>
//windows文件调节字体颜色和背
景颜色
usingnamespacestd;
〃命名空间
classtrain」nfor
{private:
staticinttrain_No;
〃静态数据成员,统计当前所有的
train」nfor对象的数目
charstart[20];
//起点站
charend[20];
//终点站
inttrain_order;
//班次号
intHour_start,Minute_start;
//发车时间
floatGoHour;
〃行车时间
public:
train_infor();
~train」nfor();
train」nfor*next;
voidinput();
〃录入函数
voidinput(ifstream&is);
〃读取函数
voidoutput();
〃输出函数
voidoutput(ofstream&os);
//写入函数
voidGetTime_start();
〃获取发车时间函数
boolGetTime();
〃判断当前班次状况函数
intGet_train_order(){returntrain_order;
}//返回班次号
stringGet_end()const;
//返回终点站的字符串
};
inttrain」nfor:
:
train_No=1;train」nfor:
:
train」nfor()
{一一
train_No++;
train」nfor:
:
~train」nfor()
{
train_No--;
}_
voidtrain」nfor:
:
input()〃车次信息输入
{_
cout«"\t\t\t按提示输入:
"< cout«"请输入班次: "; while (1) { cin>>train_order; if(cin.fail())//判断输入的数据 类型是否有错 { cout<<"\n班次输入错误,请重新输入: "; cin.clear();〃cin.clear()方 法很重要,如果不调用,则cin异常不会终止,那么程序就进入了死循环 cin.get();//一般情况下, cin自动跳过输入的空格,如果你要把键盘上输入的每个字符包括空格和回车键都作为一个输入字符给字符型变量时,必须使用函数cin.get() } else break; } GetTime_start(); coutvv"请输入行车时间: "; while (1) { cin>>GoHour; if(cin.fail())〃判断输入的数据类型是否有错 { cout<<"\n行车时间输入错误,请重新输入: "; cin.clear(); cin.get(); } else break; } coutvv"请输入起始站与终点站(始发站/终点站): "; cin>>start;cin>>end; voidtrain」nfor: : input(ifstream&is) { is>>train_order>>Hour_start>>Minute_start>>start>>end>>GoHour; is.get(); } voidtrain」nfor: : output() {_ coutvv""vvtrain_order if(Minute_start==O)〃判断发车时的 分钟时刻,若为分则在后面多显示个,以符合时间格式 { cout< "< }一一 else { cout< "< } cout< if(! GetTime()) cout<<"\t此班列车已出发"< else cout<<"\t此班列车未出发"< } voidtrain」nfor: : output(ofstream&os) {_ os< 输出宽度 < < < <
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 列车 查询 系统