城市公交线路查询系统毕业论文设计.docx
《城市公交线路查询系统毕业论文设计.docx》由会员分享,可在线阅读,更多相关《城市公交线路查询系统毕业论文设计.docx(18页珍藏版)》请在冰点文库上搜索。
城市公交线路查询系统毕业论文设计
安徽大学江淮学院
本科毕业论文(设计)
题 目:
公交线路查询系统的设计
学生姓名:
郭强祥学号:
JB084241
系别:
计算机科学与电子技术系
专业:
计算机科学与技术
入学时间:
2008年9月
导师姓名:
段震职称/学位:
讲师/博士
公交线路查询系统的设计
摘要
本文结合《合肥市公交线路查询系统》的实际需要,通过对ASP(ActiveServerPage)服务器端脚本编写环境、HTML语言、IIS(InternetInformationServices)信息服务、Access数据库以及SQL语言的深入学习及实践,主要完成了对合肥市《公交查询系统设计》的需求分析、数据库设计、查询模块、管理模块的设计。
主要分为两个部分,包括使用者查询部分以及管理员登陆部分,分别实现了车次查询、车站查询、站-站查询。
以及管理员添加、修改、删除线路的功能。
以及对首发时间的修改。
并且添加了联系作者部分,方便用户联系作者以便系统的不断改进。
最后完成了关于本篇公交查询系统的设计。
关键词:
ASP;HTML语言;公交查询;SQL语言
Businquiresthesystem
Abstract
Thisarticleunifies"HeFeiPublictransportationOnlineInquirySystem"theactualneed,ASP(ActiveServerPage)theserverendscriptcompilationenvironment,theHTMLlanguage,IIS(InternetInformationServices)theinformationservice,theAccessdatabaseaswellastheSQLlanguagethoroughstudyandthepractice,hasmainlycompletedto"HeFeiPublictransportationOnlineInquirySystem"thedemandanalysis,。
Theprimarycontentofthisarticleisdividedintotwoparts,Includesuserinquiresandlandedinpartoftheadministrator,Thetraininquiresrealizedrespectively。
Stationinquires。
Stand-standinquires。
Andadministratorsadded。
Contacttheauthorpart。
Modificationanddeletionofthefunctionoftheline。
hedatabasedesign,theinquirymodule,theadministrationmoduledesignwork.
KeyWords:
ASP;HTMLlanguage;Businquires;SQLlanguage
公交线路查询系统的设计
1.引言
1.1背景介绍及选题意义
鉴于目前中国的经济发展状况,中国人出行还是以公交车为主,所以每个城市的公交系统都比较庞大发达。
而且无法迅速,准确地查到所需要目的地以及各个车次所经过站点的信息,带来了很大的不便。
因此结合实际操作,开发出适合与公交查询的管理软件,不仅可以让管理员从现有繁重的信息手工录入、查询中解放出来,提高工作效率。
合肥市是一个拥有708万人口的大型省会城市,目前,全市共有3家公交公司,公交线路110余条,营运公交2700余辆。
公交查询系统是近两年出现的新生事物,每个城市的发展状况也是良莠不齐。
《合肥市公交线路查询系统》(以下简称“本系统”),基本上具备以下功能:
采用车站站点查询、车次查询、站-站查询三种查询形式。
同时设有管理员管理界面,负责添加、修改、删除指定的公交线路信息,使本系统更加完善,能更好的为用户所利用。
1.2公交查询系统需求分析和可行性分析
随着公路规模的不断扩大,公交数量的急剧增加,有关公交管理的各种信息量也在不断增长,面对庞大的信息量,就需要有公交信息管理系统来提高公交车管理工作的效率,通过这样的系统,我们可以做到信息的规范管理和快速查询,从而减少了工作量。
目前,我国各省市公交查询工作还没完全实现数字化,整个过程既浪费能源又浪费资源,最后导致浪费时间,无法按时到达目的地。
因此要设计一个良好的公交查询系统,就必须首先明确该应用环境对系统的要求。
公交查询系统的应用背景为:
方便市民搭乘公交车出行,及时更新查询数据。
因此,该系统需满足以下几方面需求:
查询功能:
系统需要提供几种不同方式的查询手段,以实现灵活方便地管理整个系统。
其中包括车次查询,用户通过主页上的车次查询,可以通过查询车次名称,可在返回页面上获得该线路的首末车时间及各个停靠站的名称。
车站查询,用户通过主页上的车站查询,通过查询车站名称,可在返回页面上获得经过该车站所有线路的车次、首末车时间及各个停靠站的名称。
站-站查询,用户通过主页上的站-站查询,通过查询用户所在车站及目的地车站名称,在返回页面上获得车站所有满足查询条件的车次、首末车时间及各个停靠站的名称.
数据的更新修改:
更新:
系统允许管理员级别的用户对数据进行更新、修改;以便与实时公交线路走势图达到一致。
编辑:
系统允许管理员对数据进行编辑、删除,保证现存线路的真实性与实时性。
系统的总体目标:
本系统在使用上比较方便、简单;界面设计上美观大方;后期维护上比较容易,如果要对功能模块方面做修改,则无需进行整个系统的重新架构。
以通信功能作为界面设计的核心人机界面设计的关键是使人与计算机之间能够准确的交流信息。
一方面,人像计算机输入信息时应当尽量采取自然的方式;另一方面,计算机向人传递的信息必须准确,不至于引起误解或混乱。
另外,不要把内部的处理、加工与人机界面混在一起,以免互相干扰,影响速度。
界面始终一致统一的人机界面不至于会增加用户的负担,让用户始终用同一种方式思考和操作。
最忌讳的是每换一个屏幕用户就要换一套操作命令和操作方法。
界面必须使用户随时掌握任务的进展情况人机界面应该能够告诉用户软件运行的进度。
特别是在需要较长时间的等待时,必须让用户了解工作的进展情况。
如可以设计已经完成了百分之几的任务进度条等。
目前,windows下的应用软件无论大小,其安装程序几乎均做到了这一点,开发软件时,这一点很值得借鉴。
界面友好,使用方便
总之,所开发的系统在使用过程汇总,应使用户的数据输入量降至最低限度少于用户的干预量。
实践证明,用户干预越少,系统的满意度程度越高。
1.3技术可行性分析
1.3.1独立开发
独立开发适用于有较强管理信息系统分析与设计队伍和程序设计人员、系统维护使用队伍的组织和单位,如大学、研究所、计算机公司、高科技公司等单位。
独立开发的优点是开发费用少,实现开发后的系统能够适应本单位的需求且满意度较高,最为方便的是系统维护工作。
缺点是由于不是专业开发队伍,容易受业务工作的限制,系统优化不够,开发水平较低,经历有限等等因素的限制。
因此,一方面需要大力加强领导,实行“一把手”原则,另一方面可向专业开发人员进行咨询。
1.3.2委托开发
委托开发方式适合于使用单位务管理信息系统分析、设计及软件开发人员或开发队伍力量较弱、但资金较为充足的单位。
双方应签订管路信息系统开发项目协议,明确新系统的目标和功能、开发时间和费用、系统标准和验收方式、人员培训等内容。
委托开发方式的优点是省时、省事,开发的系统技术水平较高。
缺点是费用较高,系统维护需要开发单位的长期支持、此种开发方式需要使用单位的业务骨干参与系统的论证工作,开发过程中需要开发单位和使用单位双方及时沟通,进行协调和检查。
1.3.3合作开发
合作开发方式适合于使用单位有一定的管理信息系统分析、设计和软件开发人员,但开发队伍力量较弱,希望通过管理信息系统的开发简历完善和提高自己的技术队伍,便于系统维护工作的单位,双方共享开发成果,实际上是一种办委托的开发工作,优点是相对于委托开发方式而言节约了资金,并可以培养,增强使用单位的技术力量,便于系统维护工作,系统技术水平较高,缺点是双方在合作中沟通易出现问题,需要双方及时达成共识,进行协调和检查。
总之,不同的开发方式有不同的长处和短处,需要根据使用单位的实际情况进行选择也可以综合使用各种开发方式。
本系统是一个典型的数据库应用程序,现有的数据库应用程序开发技术已非常成熟,利用现有技术完全可以实现预定的功能,ASP语言简单、功能强大并容易掌握,其脚本语言有VRScript和javaScript。
而SQL是一个非常优秀的小型数据库管理软件,方便使用,性能稳定。
于是,采用ASP+SQL技术完全能够实现本系统的开发。
1.4论文思想及研究方法
通过对省市公交线路进行了解,以及对省会公交的调查,确定了本系统将要实现的功能。
本文首先介绍了本系统所选用的开发语言及数据库技术,阐明了计算机互联网络的概念。
并对数据库的体系结构;介绍关系型数据库的基本概念,着重说明了几个关键概念的定义;然后对SQL语言作了一个介绍说明;从特点和功能入手,介绍ASP语言;对本系统的具体设计,描述了查询、管理模块的实现过程。
后期通过网上搜索了一些关于合肥市公交线路走势图,填入到本系统中。
由于合肥是一个发展的城市。
道路变化日新月异,所以可能会有所不足。
具体的在最后结束语的总结部分指出了系统的亮点以及不足之处,简单介绍了自己开发过程中的体会与心得:
在摸索中实践,在实践中摸索。
2.总体设计
2.1系统开发工具介绍
本系统采用的是ASP开发。
2.1.1ASP
ASP(ActiveSeverPages动态网页)是Microsoft公司推出的一种用以取代CGI(CommonGatewayInterface)技术。
ASP的特点:
任何开发工具皆可发展ASP,只要使用一般的文书编辑程序,如Windows记事本,就可以编辑。
当然,其他网页发展工具,例如,FrontPageExpress、FrontPage等也都可以.其特点是易于操控数据库。
ASP可以轻易地通过ODBC(OpenDatabaseConnectivity)驱动程序连接各种不同的数据库.
2.1.2SQL
SQL全称是“结构化查询语言(StructuredQueryLanguage)”,其特点是:
非过程化语言,SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。
统一的语言,SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户。
基本的SQL命令只需很少时间就能学会,最高级的命令在几天内便可掌握。
SQL为许多任务提供了命令.
是所有关系数据库的公共语言,由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个。
所有用SQL编写的程序都是可以移植的。
2.2总体框架及说明
本系统分为两个大的模块,一是用户查询模块,其次是管理员模块。
在用户查询中包括:
线路查询、车站查询、站-站查询三个部分。
其次的管理员模块包括:
添加线路、修改线路、删除线路三个部分。
图1:
系统结构图
本系统主要功能由两大模块组成:
用户查询模块、管理员模块(如上)。
2.2.1用户查询模块
用户查询模块是由线路车次查询、车站查询、站-站查询等查询方式,用于不用要求的查询方法。
用户可通过查询界面输入所需要的线路、所在就近车站、起点站-终点站的信息,经过数据库内数据的筛选,可以得到所查询的结果。
2.2.2管理员模块
通过输入管理员帐号及密码可进入管理员模块。
该模块由添加线路、修改线路、删除线路三个功能组成,管理员可通过不同的界面对本系统的数据进行修改。
添加线路:
其中包括添加车次、添加首末车时间、添加停靠站等有关信息,方便于用户查阅。
修改线路:
修改已存在的车次,首末车时间,停靠站等相关信息,节省工作时间,提高效率。
修改时间:
修改已经存在的公交车始末时间,方便用户及时了解相关信息。
删除线路:
删除不需要或更改的线路,方便管理员删除多条线路。
同时在本系统中,还相应的添加了用户留言模块,用户只需在最终显示界面首页右方或者下面点击“联系作者”便可以显示出本人的电子邮箱,如在使用过程中遇到任何问题或者建议,欢迎提出建议以便改进。
2.3总体设计
本系统操作界面简洁、模块明确,方便用户查询和管理员管理本系统。
操作简便,功能齐全,可以使用户在最短的时间内查询到所需的公交信息,从而节省宝贵的时间。
具体的系统流程图如下:
图2:
查询车次结构图
图3:
车站查询结构图
通过以上的结构图,可以简明的交接到关于用户使用模块的工作方式
3.公交查询系统应用程序设计
3.1查询模块部分
3.1.1车次查询
在此部分,用户可以通过主页上的车次查询,可以通过查询车次名称,可在返回页面上获得该线路的首末车时间及各个停靠站的名称。
图4:
关于输入车次界面的显示图
具体查询代码如下:
ifrequest.Form("select")=""then
sql="select*from[bus]"
else
line=request.form("select")
sql="select*from[bus]where[line]="&line‘查询所选择的线路
'response.Writesql
'response.end()
endif
setrs=server.createobject("adodb.recordset")
rs.opensql,conn,1,1
%>
通过以上程序的实现,得出的结果如下:
图5:
车次显示结果图
3.1.2车站查询
用户通过主页上的车站查询,通过查询车站名称,可在返回页面上获得经过该车站所有线路的车次、首末车时间及各个停靠站的名称。
如图6所示
图6:
输入车站图示
具体查询代码如下:
<%
station1=request.form("text2")
sql="select*from[bus]where[station]like'%"&station1&"%'"‘查询经过所输入车站的所有车次
setrs=server.createobject("adodb.recordset")
rs.opensql,conn,1,1
%>
<%
dowhilenotrs.eof
%>
<%=rs("line")%>
<%=rs("time")%>
<%=rs("station")%>
|
<%
rs.movenext
loop
rs.close
%>
通过以上程序输入站点之后便可以实现相关功能。
3.1.3站-站查询
用户通过主页上的站-站查询,通过查询用户所在车站及目的地车站名称,在返回页面上获得车站所有满足查询条件的车次、首末车时间及各个停靠站的名称。
具体查询代码如下:
<%
sql="select*from[bus]where[station]like'%"&station1&"%'and'%"&station2&"%'"‘查询所有经过所在车站
及目的车站的车次
setrs=server.createobject("adodb.recordset")
rs.opensql,conn,1,1
%>
<%
dowhilenotrs.eof
%>
<%=rs("line")%>
<%=rs("time")%>
<%=rs("station")%>
|
<%
rs.movenext
loop
rs.close
%>
经过以上程序段的实现,可以快速的查询出站点与站点之间所经过的车次。
3.2管理员模块部分
3.2.1添加线路
管理员通过该功能,添加新的线路,保持本系统的更新如上图所示。
具体代码及界面如下:
图7:
管理员添加线路图
<%
title1=request("T1")
title2=request("T2")
title3=request("T3")
'session("t1")=title1
iftitle1=""then
response.write""&chr(13)&"alert('请输入线路!
');history.back()"
Response.End
endif‘如果“线路”为空,系统将提示输入
iftitle2=""then
response.write""&chr(13)&"alert('请输入首末车时间!
');history.back()"
Response.End
endif‘如果“首末车时间”为空,系统将提示输入
iftitle3=""then
response.write""&chr(13)&"alert('请输入停靠站!
');history.back()"
Response.End
endif‘如果“停靠站”为空,系统将提示输入
Setadd=Server.CreateObject("Adodb.Recordset")
Sql="Select*From[bus]Where[ID]isNull"
add.OpenSql,Conn,1,3
add.addnew
add("line")=title1
add("time")=title2
add("station")=title3
add.Update
add.Close
Setadd=Nothing
Update
Response.Redirect"admin_dele.asp"
%>‘添加新的线路
3.2.2修改线路
管理员通过该功能修改已存在的线路,保持本系统的更新。
可单独修改车次、首末车时间及停靠站,操作方便,节省时间。
具体代码如下:
<%
title1=request("T1")
title2=request("T2")
title3=request("T3")
iftitle1=""then
response.write""&chr(13)&"alert('请输入线路!
');history.back()"
Response.End
endif‘如果“线路”为空,系统将提示输入
iftitle2=""then
response.write""&chr(13)&"alert('请输入首末车时间!
');history.back()"
Response.End
endif‘如果“首末车时间”为空,系统将提示输入
iftitle3=""then
response.write""&chr(13)&"alert('请输入停靠站!
');history.back()"
Response.End
endif‘如果“停靠站”为空,系统将提示输入
sql="select*frombuswhereid="&request("id")&""
setrs=server.CreateObject("adodb.recordset")
rs.opensql,conn,1,3
rs("line")=title1
rs("time")=title2
rs("station")=title3
rs.update
rs.close
setrs=nothing
conn.close
setconn=nothing
Response.Redirect"admin_dele.asp"%>‘修改已存在的线路
通过以上程序实现的功能如下:
图8:
管理员修改公交线路图示
3.2.3删除线路
管理员通过该功能删除已存在的线路,该功能支持多条线路同时删除功能。
具体代码如下:
<%
sql="deletefrombuswhereidin("&request("answer")&")"
conn.execute(sql)
response.redirect"admin_dele.asp"‘删除所选的线路
%>
通过以上程序实现便可以简单的实现管理员对过时线路的删除。
管理员在后台操作时,必须事先将某个城市的相关公交线路信息录入到后台数据库中,只有这样,才能实现出以上各个不同的查询功能
经过以上程序段(部分)的实现,基本上实现了用户模块的车次查询、车站查询、站-站查询。
以及管理员模块的修改、添加和删除线路。
在显示界面,由于编者水平有限,当输入查询经过某个站点的所有车次时,同时会显示所有的公交线路以及这些线路所经过的其他站点,用户可能会觉得多余。
同时由于目前合肥市拥有公交线路110多条,新的公交线路正在不断建设投入使用中,数据量较为庞大,本人一时难以全部录入,所以选择了市区内几条公交线路。
基本上实现了上述三大功能。
后期,我将继续完善程序以及数据,努力做到完美。
争取可以将次系统应用到现实当中。
结束语:
一个应用程序设计开发的好坏,与设计人员对开发工具的掌握程度息息相关。
在本系统的开发设计过程中,由于本人对开发工具的掌握有限,遇到了非常多的困难,可以说整个的开发过程是一边摸索一边实践出来的。
但令人高兴的是,通过这样一个边学习边应用的过程,最终完成了公交查询系统的开发工作,并实现了该应用程序背景所要求的功能。
但总的来说,程序仍然存在许多不足之处,在整个开发过程中我一直本着认真、虚心、刻苦、积极的态度,坚持自己独立完成设计,并基本达到了应用设计的功能要求。
希望该系统在日后能够得到不断改进,发挥出它应有的作用。
主要参考文献
[1]黄明,梁旭.Asp信息系统设计与开发实例[M].北京:
机械工业出版社,2004。
[2]黄斯伟.HTML4.0动态网页制作[M].北京:
人民邮电出版社,1999。
[3]孙丽君,吴红普.ASP编程基础及应用实例集锦[