忻州市公交车线路查询系统的设计与实现Word文档下载推荐.docx
《忻州市公交车线路查询系统的设计与实现Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《忻州市公交车线路查询系统的设计与实现Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
出于这个目的,在老师的指导下,设计了这个城市公交线路查询系统。
在对公交乘客出行心理特征进行分析的基础上,考虑乘客选择公交线路决策的因素,进行程序关键部分的框架设计。
嘰觐詿缧铴嗫偽純铪锩。
现阶段,人们的出入方式主要还是来源于城市公交,特别是对于那些到外地出差、打工,进行商业有关或其他事情需要在外地进行短暂停留的人而言,公交对他们是必不可少的,但是对于那个不属于自己所熟悉的城市,坐公交也是一个很大的难题,因此,开发一个公交查询系统就显得非常的重要。
熒绐譏钲鏌觶鷹緇機库。
1.2网站简介
本系统在对忻州市公交进行调查后,得出线路及站点数据录入数据库。
在以公交查询为主,又介绍了该地区的景点、住宿、特产。
起到了宣传的效用。
鶼渍螻偉阅劍鲰腎邏蘞。
系统分两大模块:
用户查询模块和管理员模块。
用户查询模块实现公交的查询具体包括公交线路查询、站点查询、换乘查询。
管理员模块包括对管理员的添加、修改、删除的功能及对公交线路站点的添加、修改、删除功能。
1.3网站开发环境
硬件环境:
①处理器PIII以上,主频至少2.0G;
②内存512M以上;
③显卡:
TNT2显示适配器;
④硬盘40G以上。
纣忧蔣氳頑莶驅藥悯骛。
软件环境:
MicrosoftWindowsXP操作系统;
IIS服务器;
Microsoftaccess2003数据库软件;
Dreamweaver8应用软件;
Photoshop7.0图片处理软件。
颖刍莖蛺饽亿顿裊赔泷。
2需求分析
开发忻州市公交车线路查询系统的第一步是进行需求分析,需求分析是介于网站分析和设计阶段之间的重要桥梁。
需求分析的好坏直接决定着网站能否真正满足用户的需要,指导开发网站进一步深入。
本网站的总体目标是为忻州市民及旅客提供便捷的公交查询服务,减免由于对路线的不熟悉而导致时间的延误。
濫驂膽閉驟羥闈詔寢賻。
2.1用户需求描述
忻州市公交线路查询系统进行需求分析时,考虑以下几个方面:
系统用户、网络要求、系统要求、数据需求。
系统用户主要是出行前和出行途中的查询者,针对这种情况,开发网络程序应发布在地方网站及公交网站上,例如公交公司局域网、忻州公交网。
借助网络的功能,能够提升忻州市公交查询系统的效率。
系统要求包括硬件配置要求、软件配置要求两方面。
鉴于主要针对公交信息的查询,设计与开发时,需要忻州市的公交站点和公交路线的数据信息,例如:
公交站点通车的早晚时间、票价的安排等等。
銚銻縵哜鳗鸿锓謎諏涼。
查询者能够通过输入相应查询条件,得到自己满意的答复。
查询者通过选择某个公交线路的名称后了解该线路的基本信息,例如票价、早晚发车时间等,并且选择该线路上的公交站点,确定自己在哪一站下车。
反而言之,在选择了某个具体的公交站点后应该了解到该站点的路过公交线路。
如果查询者所查询的站点没有公交直达,系统会给出换乘方案,供用户参考。
系统管理者具有普通查询者的权限,还通过有效权限登录,对系统的空间数据和属性数据进行管理,例如:
更改、删除、添加等等。
挤貼綬电麥结鈺贖哓类。
忻州市公交车线路查询系统网站的数据流程图如图2.1所示。
忻州市公交线路查询
显示器
用户
图2.1“忻州市公交车线路查询网站”的顶级DFD
2.2可行性分析
1、经济可行性:
忻州市公交车线路查询系统网站包括硬件投资、软件开发费用及其它费用。
它为出行人员提供所需的信息,方便出行人员的路途及时间,使得查询更加公开准确。
由于开发此网站所需的成本比较低,因此在经济上完全可行。
赔荊紳谘侖驟辽輩袜錈。
2、技术可行性:
Access是一种简单,界面友好的数据库,ASP是设计动态网页的一种最新技术,所以技术方面也是完全可以的。
塤礙籟馐决穩賽釙冊庫。
3、管理可行性:
到目前为止,我市的公交查询工作还依靠在站牌前查询,因此开发本系统在管理上势在必行。
由以上经济、技术、管理三方面的分析可以看出,本网站的开发时机成熟,从多角度考虑都是可行的。
2.3网站需求分析
本系统采用结构化设计的方法来实现系统总体功能,提高系统的各项指标,即将整个系统合理的划分成各个功能模块,通过对模块的设计和模块之间的系统关系来实现整个系统的功能。
裊樣祕廬廂颤谚鍘羋蔺。
前台主要有线路查询、站点查询、换乘查询3个模块。
功能名称:
线路查询
功能概述:
可以获得要查询公交所通过的各个站点。
站点查询
通过输入的指定站点查询经过该站点的公交。
换乘查询
主要体现那些不可直达需要转车的路线的换法。
(如果用户输入的起始点和终点,有一条及一条以上的公交线可以直达的,则为公交直达;
如果输入的起始点和终点,没有一条公交线可以直接到的,系统将会给出一次换乘的方案,则为公交一次换乘)仓嫗盤紲嘱珑詁鍬齊驁。
后台管理。
用于管理员登陆,添加、修改、删除公交线路,修改信息资料、安全密码,回复留言等功能。
3网站设计
3.1网站功能设计
忻州市公交车线路查询系统是以ASP和ACCESS为核心开发的,该系统界面简单友好,所有操作十分简单。
该系统主要包括线路查询模块,住宿查询模块,景点查询模块,特产查询模块,主要模块具备以下功能:
绽萬璉轆娛閬蛏鬮绾瀧。
一、线路查询
1、公交线路查询:
可以获得要查询公交线路所通过的各个站点。
2、公交站点查询:
通过输入的指定站点查询经过该站点的公交线路。
3、公交换乘查询:
4、管理员登陆:
用于管理员对后台数据库的管理。
5、留言薄:
专为旅客留言或路线报错设计。
二、住宿查询:
提供忻州市周围酒店宾馆联系方式及地点。
三、景点查询:
忻州市及所属各县名胜古迹。
四、特产查询:
忻州市及所属各县特产小吃。
根据以上功能描述,得出该网站的功能模块图如图3.1所示。
留言管理
图3.1网站功能模块图
3.2数据库分析和设计
3.2.1数据库需求分析
1、信息需求:
通过调研了解到忻州市公交具体线路及站点停靠位置。
数据库中包括公交车车次线路、公交车停靠站点、乘车价格和发车时间。
骁顾燁鶚巯瀆蕪領鲡赙。
2、处理方法:
一般用户无法操作数据库以及后台,只有管理员可以登录该网站后台或直接进入库中对信息进行修改。
瑣钋濺暧惲锟缟馭篩凉。
3、安全性要求:
除管理员外,一般用户只能按照网站程序提示对线路进行查询,不能修改任何数据,这样可以保证数据库真实、可靠。
鎦诗涇艳损楼紲鯗餳類。
3.2.2数据库逻辑结构设计
本网站所涉及到的主要实体数据表有:
1、车辆资料信息表:
用来存放车辆的各种参数,包括车辆线路号、票价、首尾班时间。
2、管理员表:
用来存放管理员的账号及密码。
3、路线表:
用来存放车辆线路数量、名称、站点。
4、站点表:
用来存放车辆所经过的站点汇总。
本系统的总体E-R图如图3.2所示。
包含
表3.1Bus表和字段名称数据类型
字段名称
数据类型
字段说明
qmbus_id
自动编号
一
qmbus_name
文本
公交车线路号
qmbus_rate
乘车价格
qmbus_ratebz
备注
time
日期时间
首尾班时间
表3.2Admin表字段名称数据类型
qmadmin_user
管理员登陆账号
qmadmin_pass
管理员登陆密码
表3.3Route表字段名称数据类型
qmroute_id
记录路线数量
qmroute_name
记录线路名称
qmroute_address
记录线路各站点
表3.4Station表字段名称数据类型
qmstation_id
qmstation_name
公交车站点名
qmstation_bus
过站点的车线路
qmstation_addupdate
添加/修改时间
qmstation_char
站点字母
3.3数据库连接
在动态网站中,调用数据库中的数据是十分频繁的,为了避免编写重复的代码。
编写一个数据库连接文件是非常重要的。
conn.asp文件中包含了本系统中的数据库的连接代码。
本系统的数库库的连接代码如下:
栉缏歐锄棗鈕种鵑瑶锬。
dimconn
dimconnstr
dimdb
db="
/xzbus/data/busdata.mdb"
Setconn=Server.CreateObject("
ADODB.Connection"
)
Setconn1=Server.CreateObject("
)辔烨棟剛殓攬瑤丽阄应。
connstr="
Provider=Microsoft.Jet.OLEDB.4.0;
DataSource="
&
Server.MapPath(db)峴扬斕滾澗辐滠兴渙藺。
conn.Openconnstr
conn1.Openconnstr
IfErrThen
err.Clear
response.write("
数据库连接出错,请检查连接字串。
"
4网站实现
4.1用户登录模块的实现
图4.1网站主页
忻州市公交线路查询系统登录界面如图4.1所示,该界面简单友好,易于操作。
用户可在该主页下选择所需要的服务。
詩叁撻訥烬忧毀厉鋨骜。
4.2线路查询模块的实现
线路查询模块是本网站所实现的主要功能,包括线路查询、站点查询、换乘查询三个模块。
主界面如图4.2所示。
则鯤愜韋瘓賈晖园栋泷。
图4.2线路查询模块图
<
divclass="
header"
>
公交线路查询<
/div>
content"
线路名称:
<
inputtype="
hidden"
name="
k"
value="
pp"
inputmaxlength="
100"
size="
40"
q"
inputtype=submitvalue="
线路查询"
胀鏝彈奥秘孫戶孪钇賻。
formaction="
qm.asp"
method="
get"
qm1"
autocomplete="
off"
鳃躋峽祷紉诵帮废掃減。
search"
公交站点查询<
站点名称:
p"
inputid="
q2"
maxlength="
站点查询"
稟虛嬪赈维哜妝扩踴粜。
br/>
选择输入:
selectname="
char"
id="
onchange="
GetStationByChar(this.value);
陽簍埡鲑罷規呜旧岿錟。
<
optionvalue="
请先选择站点分类<
/option>
再选择站点名称<
公交换乘查询<
起点名称:
p2p"
q3"
换乘查询"
沩氣嘮戇苌鑿鑿槠谔應。
选择输入:
GetStationByChar3(this.value);
钡嵐縣緱虜荣产涛團蔺。
4.2.1公交线路查询
用户进入系统后,在线路查询模块的输入框中输入要查询的线路,点击线路查询按钮,系统首先检查用户所查询的线路是否存在,如果不存在给出错误提示。
如果存在给出这条线路的相关信息。
界面如图4.3所示。
懨俠劑鈍触乐鹇烬觶騮。
图4.3线路查询图
%
qmroute_name=request.QueryString("
ifrequest.Form.count>
0then
qmroute_name1=request.Form("
qmroute_name"
ifqmroute_name1="
then
callShowErr("
请选择要查询的线路!
"
1"
endif
response.Redirect("
qmroute_show.asp?
q="
&
qmroute_name1&
)謾饱兗争詣繚鮐癞别瀘。
endif
response.Write("
divid='
div_1'
所有与公交线路"
spanstyle='
color:
#FF0000'
qmroute_name&
/span>
有关的信息<
)呙铉們欤谦鸪饺竞荡赚。
sqlstr="
select*from[Route]whereqmroute_namelike'
%"
qmroute_name&
%'
莹谐龌蕲賞组靄绉嚴减。
rs.opensqlstr,conn,1,3
ifnotrs.eofthen
%>
4.2.2公交站点查询
用户进入系统后,在站点查询模块中可以有二种选择:
第一,按站点的确切信息查询,即完全匹配查询。
此时用户要给出站点的全称,点击查询按钮后,系统会在数据库中检测该站点是否存在,如果存在,系统显示这个站点的相关信息。
如经过这个站点共有哪些线路,这些线路又各经过哪些站点。
第二,站点的模糊查询,即不完全匹配查询。
此时用户只需输入站点名称和部分字符信息,系统便会给出与此相关的所有站点信息。
公交站点查询界面如图4.4。
麸肃鹏镟轿騍镣缚縟糶。
图4.4站点查询图
station_name=request.QueryString("
station_name1=request.Form("
station_name"
ifstation_name1="
then
请选择站点查询!
station_show.asp?
station_name1&
)納畴鳗吶鄖禎銣腻鰲锬。
所有与公交站点"
station_name&
)風撵鲔貓铁频钙蓟纠庙。
select*from[Station]whereqmstation_namelike'
station_name&
灭嗳骇諗鋅猎輛觏馊藹。
4.2.3公交换乘查询
用户进入系统后,在主页面的换乘查询模块中有两种选择,第一是直达,第二个是一次换乘。
用户可以在起点站输入框中输入自已的出发点,然后在终点站输入框输入出行的终点,如果选择直达,系统便会检测这两个站点间是否有直达车,如果没有直达车,系统会给出相关提示,那么用户便可以选择一次换乘,系统会检测是否有一次换乘方案,如果有系统会给出所换乘方案。
铹鸝饷飾镡閌赀诨癱骝。
图4.5换乘查询图
station1=request.QueryString("
station2=request.QueryString("
q1"
station_1_new=request.Form("
station1"
station_2_new=request.Form("
station2"
ifstation_1_new="
orstation_2_new="
请选择站点进行查询!
response.Redirect("
bus_show.asp?
station_1_new&
q1="
station_2_new&
)攙閿频嵘陣澇諗谴隴泸。
4.3住宿查询模块的实现
住宿查询模块为静态网站,为本系统的辅助功能。
界面如图4.6所示。
图4.6住宿查询图
4.4景点查询模块的实现
景点查询模块为本系统的辅助功能,界面如图4.7所示。
图4.7景点查询图
4.5特产查询模块的实现
特产查询模块为本系统的辅助功能,界面如图4.8所示。
图4.8特产查询图
4.6管理员模块的实现
输入管理员账号admin及密码admin即可对后台进行管理,如图4.9所示。
图4.9管理员模块图
ifsession("
qmadmin_user"
)="
response.Write("
script>
alert('
请先登录!
'
)<
/script>
Login.asp"
ip=Request.ServerVariables("
HTTP_X_FORWARDED_FOR"
)'
读取ip地址趕輾雏纨颗锊讨跃满賺。
ifip="
REMOTE_ADDR"
)
response.cookies("
buyok_user_ip"
)=ip
dimqmadmin_user,qmadmin_pass
qmadmin_user=HTMLEncode(trim(request.Form("
name"
)))夹覡闾辁駁档驀迁锬減。
qmadmin_pass=HTMLEncode(trim(request.Form("
password"
)))视絀镘鸸鲚鐘脑钧欖粝。
ChkNum=HTMLEncode(trim(request.Form("
CheckN