公交车查询系统.docx
- 文档编号:9197840
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:21
- 大小:492.89KB
公交车查询系统.docx
《公交车查询系统.docx》由会员分享,可在线阅读,更多相关《公交车查询系统.docx(21页珍藏版)》请在冰豆网上搜索。
公交车查询系统
计算机工程系
课程设计
郭丽娜
123054202
C++程序设计(上)
学生姓名:
学号:
公交车查询系统
课程:
题目:
2013年06月
一、系统分析与设计目的
1、课程设计任务:
公交车信息包括车次、起点站、首发时间、末班车时间、途径站点、终点站、里程数、票价、所属公司等。
2、课程设计基本要求:
系统功能要求:
(1)公交车信息的录入
(2)公交车信息的浏览
(3)公交车信息的修改
(4)公交车信息的删除
(5)公交车信息的查询(可按车次、起点站、终点站、途径站点查询)
如果没有直达车则输出先乘车次、中转站名、中转车次。
、公交查询系统的流程图。
根据分析整个系统主要划分为2个功能模块,用户使用查询模块和管理员管理木块,分别执行要求中的功能。
数据管理中实现对公交车的线路进行站点查询、站站查询、线路查询和临近查询和管理者对公交车的线路进行修改、删除、新增功能。
图1用户使用数据流图
图2管理者数据流图
线路实体属性图,如图3所示
站点实体属性图,如图4所示
图4站点实体属性图
管理员实体属性图,如图5所示
图5管理员实体属性图
功能模块图如图6所示
3、需求分析
3.1引言
在当今社会中,交通问题已经成为很重要的社会性问题,而公交成为解决交通问题的一个关键因素。
大力发展公共交通是解决城市交通拥挤问题的首选措施。
但是一种公交是不能满足所有人的出行需求的,人们可能无法通过乘坐一辆公交车到达目的地,这时候就需要换乘来解决该问题,经调查路程最短和换乘次数是人们最关心的问题。
根据这些问题,需要开发一套公交查询系统,从而方便人们出行前进行查询
3.2信息描述
2.1对象描述
用例图
普通用户
整体结构图
4、概要设计
4.1系统结构
系统结构大致如下:
公交车查询系统大致可以划分为以下模块:
在整体设计中,我们将公交车查询系统分为四个大的模块:
线路查询模块、站点查询模块、站站查询模块、在线更新模块。
每个模块将实现不同的功能。
下面将具体进行介绍。
4.1线路查询模块:
输入公交的线路,可以获得要查询公交所通过的各个站点。
4.2站点查询模块
用户输入单个站点,启动查询,可以获得该站公交车次
4.3站站查询
用户输入起点和终点,系统经过查询返回所有相关站点,用户确认后,查询启动,用户可以获得所有可达线路的路线信息。
5详细设计
本节主要介绍后台数据库的结构设计。
结构设计是重要阶段,是数据库设计的重要组成部分。
下面给出下列表基本的数据结构。
管理员信息表
主要记载管理员的用户名和密码图7所示:
列名
数据类型
NULL
约束
说明
UserID
Varchar(50)
Notnull
Primarykey
用户名
UserPassword
Varchar(50)
Notnull
密码
图7管理员信息表图
线路表
主要记载车次编号、上行线、下行线和线路类型。
图8所示:
列名
数据类型
NULL
约束
说明
BusID
Varchar(50)
Notnull
Primarykey
车次编号
UpLine
Varchar(100)
Notnull
上行线
DownLine
Varchar(100)
Notnull
下行线
LineType
Varchar(100)
Notnull
线路类型
图8线路表表图
车次信息表
主要记载这次编号、所属公司、票价和运营时间。
图9所示:
列名
数据类型
NULL
约束
说明
BusID
Varchar(50)
Notnull
Primarykey
车次编号
Company
Varchar(50)
所属公司
Price
Varchar(50)
票价
WorkTime
Varchar(50)
运营时间
图9车次信息表表图
站点信息表
主要记载站点名和临近建筑物。
图10所示:
列名
数据类型
NULL
约束
说明
Station
Varchar(50)
Notnull
Primarykey
站点名
NearBuild
Varchar(50)
临近建筑物
图10站点信息表表图
4.详细设计
4.1数据库连接
数据库连接首先创建MicrosoftSQLServer数据源,然后安装server数据库驱动,接着输入所建数据库名字和选择服务器local,之后一直点下一步,直到最后一步测试数据库连接是否成功,如成功点击确定,否则检验一下自己导入的数据库是否正确,再按如上操作进行连接。
4.2各功能模块设计与实现
4.2.1用户查询系统模块
用户查询管理模块主要是对数据库中的公交线路基本信息进行线路查询、站点、站站查询和临近查询。
建立用户查询管理模块时,首先建立一个新窗体,根据添加的数据库内容字段建立相应的文字,在文字下面建立相对应的文本框与字段一一对应,文本框内不与数据库进行连接。
(1)车次查询,在用户查询理界面中输入你想要查询的公交车线路次过程要判断是否存在改线路,存在就显示在对应的界面种,如果不存在就提示你查询的线路不存在。
如图11所示:
图11线路查询流程图
(2)站点查询,首先判断输入站点是否存在,如存在就输出经过该站点的所有公交车编号,如果不存在则输出你查询的站点不存在,请重新输入。
如图12所示:
图12站点查询流程图
(3)站站查询,首先判断输入的两个站点是否存在,如果都存在则根据线路和两个表所形成的视图来查询出最佳的换成路线,如果不存在则输出你输入的站点有有错误,请重新输入。
如图13所示:
图13站站查询流程图
临近查询,首先判断输入站点是否存在,如存在就输出经过该站点的临近建筑物,如果不存在则输出你查询的站点不存在,请重新输入。
如图13所示:
图14临近查询流程图
4.2.2管理员管理模块
管理员管理模块主要是对数据库中的公交车线路的基本信心进行添加、修改和删除。
建立管理员管理理模块时,首先在VC中建立一个新窗体,根据添加的数据库内容字段建立相应的文字,在文字下面建立相对应的文本框与字段一一对应,文本框内不与数据库进行连接。
(1)添加操作,在管理员管理管理界面中公交车线路的信息,其中包括每一条公交车的编号和所经过的所有站点和该站点的临近建筑物,如图15所示:
图15添加公交车信息流程图
(2)修改操作,首先输入公交车编号判断该编号是否存在,如存在就输入对应想要改的属性后,单击确定键,所改信息就添加到数据库表中,同时在界面中显示出来;否者弹出该编号不存在,如图16所示:
图16修改公交车线路流程图
(3)删除操作,首先找到要删除的编号或者站点,然后判断该编号或者站点是否存在,若存在就直接删除,否则弹出该编号或站点不存在,如图17所示:
图17删除站点和线路流程图
6、调试分析、测试结果
6.1测试方案
考虑到各种因素和条件的限制,我们决定采用黑盒测试方案。
即我们不考虑所编写程序的具体结构,而是根据软件所需要的输入数据的格式以及应该完成的功能,设计一些合法的测试用例和不合法的测试用例,特别是根据边界条件设计一些边界测试用例。
以检查系统是否能正确的完成预订功能,得到希望的输出。
或者是对不合法的输入和操作能够正确的识别和防御。
6.2测试项目
在本系统中虽然从总体上分为了线路查询模块,站点查询模块,站站查询模块三大功能模块。
主界面如下:
6.2.1线路查询模块
输入的公交线路存在,则输出该线路的站点。
如下图:
若输入的线路不存在,则应该输出不存在该线路或是相关的参考线路。
如下图:
6.2.2站点查询模块
输入公交站点,若系统有经过该站点的线路,则输出线路名称,否则提示无该线路信息。
6.2.3站站查询模块
输入出发站点和目标站点名称,若两个站点能够到达,则输出线路的信息,若是不可到达,则提示相关信息。
7、结论及改进设想
调试是软件开发过程中的一个重要环节,也是最复杂,对软件开发者者来说也是最艰巨的任务。
调试的任务是及时改正测试过程中发现的软件错误。
具体地说,调试过程由两个步骤组成,它从表示程序中存在错误的某迹象开始,首先确定错误的准确位置,也就是找出哪个模块或哪个语句引起的错误。
然后仔细研究推断代码以确定问题的原因,并设法改正。
调试过程主要是运行编制好的程序,然后遇到错误后根据系统的提示,找到相关的问题所在。
本系统调试过程中遇到问题、原因和解决方法如下面介绍。
(1)程序不能运行
编译正确,但程序不能运行,这是个逻辑错误,错误在于JAVA界面中涉及的变量类型与数据库相对应数据变量类型不一致,把它们改成一致的程序就能正确运行了。
(2)数据库中要删除的属性列不能删除
原因是该属性的约束条件没有删除。
(3)数据库连接测试失败
原因是连接数据库所要用到的服务器选择错误。
8设计结论:
目前我设计青岛市线路查询系统能实现的功能有:
a)能查询建立数据库里面的全部线路、站点;
b)能查询其中一条线路途经过的所有站点;
c)只要输入您要去的起点站、终点站就能查询有几条路线供你选择;
d)只要你输入你要去的站点,其就能显示你要去的地方有几条路线经过;
e)还能生成报表、点击结束就能退出查询界面、还有实现滚动字幕等功能。
由于自身知识有限,自己设计的系统能实现的功能差不多和上面所述几点功能一样。
但是设计的查询系统功能还有很多可以改进的的地方,如不能及时更新线路数消息、不能实现中途换乘、基于浏览器(B/S模式)的公交线路查询、系统的美观方面等功能。
8.2 心得体会:
1、通过此次课程设计让我了解了Visual Basic和access的一些基本功能,也了解了公交线路查询系统的一些基本信息,从刚刚开始的什么都不懂,甚至连什么是Visual Basic都不知道,到现在可以自己编写一些简单的程序实现公交线路查询系统。
2、从这次课程设计真的学到了很多,同时也感觉到自己专业知识掌握的不够,在设计中走了很多弯路,刚开始是根本无从下手,不知道要干嘛,如果平时课余时间多加强对这些专业知识的学习,那么在这次课程设计中将会少走很多的弯路。
3、在课程设计中感觉到自己对以前所学知识已经开始渐渐的忘记,像这次的Visual Basic编程其实就是和以前大一学的C语言其实是差不多的,如果平时有花点时间去复习这方面的内容,那么这次的课程设计可以相对来说是很简单的,基本上都是一些基本的语句就可以实现这些查询的功能,从而可以少走很多弯路,也节省了时间来更好的完善整体的实验效果。
4、在设计中也认识到做一个真正的公交查询系统的繁琐性,现在我们只是做一个城市中的
20条公交线路的查询系统,但是如果是设计整个省份,甚至整个国家的查询系统,那么对语句的要求就更高了,就要求用最少的语句实现最强大的功能,在这次的课程设计中有很多语句都是让计算机做同样的动作,让计算机循环去做,这样在小系统中式不会发现有什么大问题,但是如果在大的系统中
24 对这些语句的要求就比较高了,他就要求用最省时间和内存的语句,要有效的防止计算机做没有用的工作。
这就要求我们继续加强对这些软件和算法的学习。
5、刚要做此次的课程设计时心里很是担心,因为那时看到老师在讲解Visual Basic时,自己就蒙了,因为连Visual Basic都不懂得。
在边做课程设计时,自己也通过看Visual Basic的视屏教程、看Visual Basic相关的书和通过老师的帮助,慢慢的自己对Visual Basic的一些相关知识有了很明显的提高。
总而言之,通过这次的课程设计不仅使我认识到自己许多不足之处,而且对Visual Basic的一些基本知识有了更深的了解。
参考文献
[1]田金兰. Visual Basic 6使用指南.电子工业出版社,2002.
[2]Jeffrey. Visual Basic 6数据库访问技.机械工业出版社,2003.
[3]潘锦平. 软件开发技术.西安电子科技大学出版社,1999.
[4]王珊,萨师宣.数据库系统概论.高等教育出版社,2001.
[5]陆丽娜.软件工程.经济科学出版社,2000.
[6]周国民.Visual Basic+Access数据库项目开发实践,中国铁道出版社,2005.
[7] 何玉洁.数据库原理与应用教程, 机械工业出版社,2003.
[8] Hector Garcia-Molina Jeffrey D.ULLman Jennifer Widom,译者:
杨冬青、徐其钧、唐世渭, Database System Implementation数据库系统实现,机械工业出版社,2001.
[9]郑荣贵,黄平,谷会东.Visual Basic6.0数据库开发与应用,中科多媒体电子出版社,2002.
[10] 韩亚萍.Visual Basic6.0基础培训百例,机械工业出版社,2006
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 公交车 查询 系统