公交车乘车指南系统的设计与实现.docx

上传人:b****7 文档编号:9065326 上传时间:2023-02-03 格式:DOCX 页数:34 大小:373.52KB
下载 相关 举报
公交车乘车指南系统的设计与实现.docx_第1页
第1页 / 共34页
公交车乘车指南系统的设计与实现.docx_第2页
第2页 / 共34页
公交车乘车指南系统的设计与实现.docx_第3页
第3页 / 共34页
公交车乘车指南系统的设计与实现.docx_第4页
第4页 / 共34页
公交车乘车指南系统的设计与实现.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

公交车乘车指南系统的设计与实现.docx

《公交车乘车指南系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《公交车乘车指南系统的设计与实现.docx(34页珍藏版)》请在冰豆网上搜索。

公交车乘车指南系统的设计与实现.docx

公交车乘车指南系统的设计与实现

NORTHEASTERNUNIVERSITY

辽宁省高等教育自学考试计算机软件专业(本科段)

 

毕业设计(论文)

 

GRADUATEDESIGN(THESIS)

 

设计(论文)题目公交车乘车指南系统的设计与实现

 

学生王欣华

指导教师田佰杰

 

准考证号020*********

2011年3月20日

摘要

本文主要是研究城市公交的线路选择问题。

针对此问题,我们根据查询者的不同需求,建立了公交线路优化选择模型。

随着公交网络的复杂化,为了帮助广大乘客解决公交线路优化选择问题,我考虑了乘客选择公交线路决策的因素,建立了基于时间价值和费用价值的合理公交线路选择模型。

该模型采用B/S结构,使用轻量级的ASP+XML语言设计出这个公交车乘车指南系统,使大家深入了解城市的公交线路,减少不必要的损失。

第一章讨论了本课题的设计背景,并对所开发的软件要实现的功能特点进行了介绍。

第二章通过对公交系统的需求分析,全面验证了系统开发的可行性,为下一步设计工作打下坚实基础。

第三章进行了具体的系统设计,其中包括应用系统设计、模块设计及数据设计。

本章还通过数据流图和模型,完善了系统框架的建造。

第四章进行了具体的详细设计,图文结合,对系统的各个子模块设计进行了详尽的分析设计。

第五章描述了关于本系统系统测试目的,测试环境,以及具体的测试方法和内容。

通过严谨、细致的测试为系统平稳可靠的运行和实现,提供了全面的保障。

关键字:

公交网络,B/S,ASP,XML

Abstract

Withthecomplicationoftransportationnetwork,forhelpingvastypassengerstoresolvetheproblemofthetransportationlineoptimizedselected,Iconsideredthefactorthatpassengersselecttransportationlinedecision-making,foundbasedof

timevalueandchargevaluereasonabletransportationlinechoicemodel,designsothistransportationridemanualsystem,thatembeddedrealizethetransportationlineofcitys,reducetheunnecessaryloss.

Hereisabriefdescriptionofthechapterscontainedinthearticle:

Chapter1:

Thischapterdiscussthedesignbackgroundoftheproblem,andintroducethattheempolderedsoftwareimplementfunctiontrait.

Chapter2:

Throughrequirementanalysisoftrafficsystem,generalvalidatethefeasibilityofthesystemexploitationwhichbuildsthestabilitybasementofthenextstepdesignwork.

Chapter3:

Thischaptermakematerialsystemdesign,includingapplicationsystemdesign,datadesignandsystemmoduledesign.Alsothroughdataflowchartandmoduleperfectthatsystemframebuilded.

Chapter4:

Thischapterintroducestheveryimportantpart-detailedsystemdesignspecification,combinepictureandcharacter,putupexhaustiveanalysedesign.

Chapter5:

Thischapterdescribesthefollowingaboutthesystemtest:

Testgoal,testenvironments,aswellasmaterialtestwaysandtestcontent.Throughprecisemeticuloustestprovidegeneralensureforsystemreposefuldependablerunningandactualizing.

Keywords:

busnetwork,B/S,ASP,XML

摘要I

序言

1.11.1前言

在互联网普及,电子计算机技术发展日新月异的今天,计算机软件的应用早已深入到了各行各业,并发挥着它们巨大的潜力。

随着社会建设的发展,公交网络也日趋完善并且复杂化;交通信息服务的电子化是必然趋势。

为了使大家出门方便,为了能够为市民,特别是为外来旅游、出差、就医、求职等急需了解本地的公交路线的人提供高效、方便、快捷的公交信息查询,让他们得到自己所需要的各种相关信息,以便减少各种可能产生不必要的交通流量,提高公交车的有效使用率,公交查询系统起着举足轻重的作用。

1.21.2国内现状

随着城市人口的迅猛增加和面积的不断扩大,城市建设步伐也逐步加快,城市公共交通也得到了迅速发展。

公交线路越来越多,公交车的数量在不断增加;交通工具的革新,距离不再是人们足迹的羁绊,庞大复杂的交通网几乎覆盖了世界的每一个角落,使人们可以到达任何一个想去的地方。

公交线路日益增多,给人们的交通带来了很大的方便,使广大市民和外地游客的出行更为方便快捷。

但是由于我国城市公交乘客信息系统的发展处于一个落后的水平,在公交系统的管理上,与之相关的管理设备和手段大都处于落后的手工操作上,与其快速发展步伐不相适应。

广大乘客可以获得信息的方式很少,公交信息的完整性和准确性得不到保证,而且还没有专门的机构负责信息的发布和管理。

我国公交乘客信息系统的现状特点如下:

1.乘客可以获得的公交信息很少,而且方式主要是常规手段。

我国乘客一般获得公交信息的方式局限于电话,交通图,向熟人问讯等常规方式。

乘客可以获得的公交信息很少,除去线路,站点等基本信息以外,有关班次,车辆到离站时间的信息基本上没有。

2.乘客出行中获得信息困难,基本上没有实时信息。

除去在北京,上海等少数几个城市,乘客可以通过分布于城市中的若干电子站牌获得一些公交车辆的运营信息以外,在其它城市“出行中”的乘客无法获得任何实时信息。

在我国一些城市中,有不少装饰华美的公交站台,但在这些站台上却找不到实用的城市交通图。

总而言之,我国乘客在出行中无论是“静态线路信息”还是“动态实时信息”都很难获得。

3.缺乏专门的交通信息发布管理机构,乘客获得的信息准确性得不到保证。

目前,我国大多数城市对于交通信息的发布没有专门的管理机构和规章制度。

在城市交通信息服务需求小的情况下尚可应付。

但随着城市交通信息服务需求的增长,从事交通信息服务的人员和企业数量的增加,需要有专门的管理机构和制度。

当前的城市交通信息服务存在着混乱和低效的问题,有些甚至是对乘客的误导。

4.我国公交乘客信息系统与网络的结合还是低层次的。

在我国一些城市出现了基于网络的公交信息服务系统(例如中国公交查询网,它可提供全国大约七十多个城市的公交系统信息查询),但总体上还是处于一个较低的层次。

这些信息系统还处于一种静态的公交信息查询系统,还不能作到为乘客的出行自动的生成出行计划或方案。

1.31.3设计背景

目前,随着我国城市建设发展越来越快的速度,公交网络正在蓬勃发展,使广大人民群众的出行变得更为方便快捷。

然而,公交车车次多,线路复杂,广大乘客,尤其是外地乘客,面对如此复杂的交通网络,如果出行时仅仅通过看站牌或问人,往往会出现一些失误,比如坐了不合适的车,或者是换乘错误等等。

轻则会损失大量的时间以及金钱,重则误事。

为了帮助广大乘客解决上述这些问题,在指导老师的指导下,我设计出了这个公交车乘车指南系统,使大家在乘车时可以提前了解城市的公交线路,上车时做到心中有数,尽可能地避免了因乘坐公交车失误而出现的损失。

在整个设计过程中,我首先对公交乘客出行心理特征进行了详尽的分析,并亲自模拟实验,多次进行选择,比较,考虑了乘客选择公交线路决策的各种因素,建立了基于时间价值和费用价值的公交线路选择合理的模型。

在此基础上,进行程序关键部分的框架设计,理清程序设计思路;之后是程序关键部分的具体实现,包括关键程序原代码。

最后完成功能介绍和使用说明。

针对大连市的公交线路设计,并进行了模拟实验。

本次设计的软件可预先建立缓存,使之查询速度非常快,公交数据可跨平台多软件共享,有较强的实际应用价值。

1.41.4可行性分析

为了找到实现本系统行之有效的解决方案,我对技术的可行性和实现条件的可行性这两方面进行了论证。

首先是技术上的分析,公交车乘车指南系统提供给用户的核心功能共有三

 

个。

一是显示各个车次路经的站点,二是显示各个站点所经过的车次,三是查询两个站点之间最符合要求的路线并显示。

这些功能的实现,只需简单划分模块,组织好储存的数据,即可实现。

其次我还从实现条件的可行性进行了分析,因为当今公交车网络蓬勃发展,拥有私家车的人毕竟是少数。

多数人出行的首选还是公交车。

在能否为用户提供服务角度来说,本系统有其很大的使用价值。

在系统运行后就用户方而言,由于用户使用本系统时,不会也不必关心系统内部的结构及实现方法,即对用户来说是透明的。

程序使用数据缓冲,程序预先提取所有站名,用户不需要知道各个站名,只需简单的用鼠标点击界面上各个按钮并进行选择就能执行相应的功能。

所以本系统对用户而言,是定位在界面友好、操作方便的原则上的。

就开发者而言,关心的是如何改进算法,快速选择符合用户需求的路线,然后提供给用户什么样的方便。

而以上的这些功能,都能够用所选择的开发工具来实现。

综上所述,本系统的开发是可行的。

1.51.5公交查询系统的特点

公交查询系统的特点:

主要表现在以下几个方面。

首先,是保证信息的实时性。

由于采用B/S结构设计,只需简单维护后台,便可使数据时刻随公交公司的调整而更新。

做到保证在线路调整后第一时间更新数据,使用户能查询到最新的公交信息。

其次,乘车方案选择的多样性。

系统在提供查询结果时,要充分考虑用户需求,提供基于时间考虑和基于价格考虑的多重选择,为不同需求的用户提供便利。

第三,将复杂的公交网络简单化。

面对庞大的公交网络,本系统应以将复杂的问题简单化为目的,将问题抽象化,并采用数据缓冲方式提取车次和站点名,使最终用户无需记忆众多站名,只要点几下鼠标即可轻松查询到想要的信息。

 

第2章系统需求

2.12.1系统现状分析

随着城市交通网络日趋复杂化,如何提供给用户快捷准确丰富的公交车信息,已成为信息查询系统的最大考虑问题。

2.22.2用户需求

公交查询系统需要满足两个方面的需求。

一是普通用户的需求,二是数据维护人员的需求。

普通用户的需求是需要查询系统能提供用户指定的公交车信息,公交站点信息和准确的乘车方案。

数据维护人员的需求是需要系统提供数据的常规维护功能,如添加,修改,删除等操作。

根据以上用户提出的实际需求,结合整理的需求内容如下:

1.信息流程:

信息的流程是数据维护人员→公交数据→普通用户。

如图2.1所示。

图2.1信息流图(DFD)

2.信息内容

提供公交车的基本信息。

包括公交车次,始发站,终点站,途经站点等。

3.系统功能

车次查询:

提供每条公交线路的始末车时间,途经站点等信息。

车站查询:

提供各车站所经过的所有车次信息。

站站查询:

提供两站点之间的合理乘车方案。

数据维护:

可对车辆信息进行增添、修改、删除操作。

数据缓存:

对现有数据进行整理并形成缓存,提取各种信息供用户点选。

 

第3章概要设计

3.13.1整体结构

软件整体划分为两个大模块:

管理模块和查询模块。

管理模块提供数据的显示、增加、修改、删除和数据缓存的生成及更新。

由数据维护人员使用。

查询模块提供车辆信息、指定站点经过车辆和两站点之间的乘车方案。

由普通用户使用。

结构如图3.1所示:

图3.1功能结构图

管理模块分为三个子模块:

数据显示、数据修改、数据缓存。

数据修改模块提供了新车辆数据的添加,现有车辆数据的修改和删除车辆信息的功能。

程序首先通过新数据添加,输入车次和站点列表,建立XML数据文件。

之后可通过数据增加修改和删除来维护XML数据文件。

为了减轻服务器负担并提高查询速度,本人借鉴了一些优秀的公交查询网站,并套用了其开发者免费提供的数据缓存模块。

在更新XML数据文件之后,可通过此模块预先提取每个车次的信息,所有站点名称和每个站点所经过的车

 

次,并生成单独的列表页面。

在提供车辆信息,站点经过车次等固定反馈结果的信息时,可直接定向到预先生成的静态页面,而无需占用更多服务器资源进行查询运算。

由于使用定向数据缓存的方式,使车辆信息查询模块和站点经过车次查询模块的设计大大简化,用户输入数据只需和数据缓存索引进行对比,如发现相应数据则定向到对应的预先生成的静态页面,如未发现则表示没有此数据,返回没有查询结果即可。

两站点之间的查询结果数据量比较大,如使用数据缓存的话生成的页面过多,不利于小型网站的建设维护。

因此,本查询模块直接对XML文件中数据进行运算,即时生成查询结果并显示。

模块划分及关系图如图3.2:

图3.2模块划分及关系图

3.23.2数据格式

XML数据格式的设计

数据结构设计的好坏对查询性能有很大影响,设计应保证数据的高聚合,低冗余,结构易于查询。

经过考虑我设计如下结构:

 

<车次>路数

<起点站>站名1

<终点站>站名N

<各站名称>

<站名>站名1

<站名>站名2

<站名>站名N

通过每个bus字段可储存并统计出对应公交车运行的经过车站数,每站名称,并最终汇总生成每个车站经过的车次。

 

3.33.3E-R图

图3.3ER图

3.43.4路线查询方法分析

路线查询模块是本系统核心功能中最重要也是实现技术难度最高的模块,两站之间存在直达和转乘到达两种情况。

由于公交乘客出行路径选择心理的复杂性,往往单一的乘车路径并不能满足所有乘客的需要。

例如,一些乘客希望选择换乘次数最少的乘车路径,而另外一些乘客则倾向于选择出行距离更短的乘车路径。

即使是被出行者选中的路径方案,在实际中也可能由于公交车辆满载或道路交通拥挤而被放弃。

因此,一个先进、有效的公交乘客信息系统不能只为用户提

 

供单一的最优化路线方案,还应提供一定数量的合理备选路径供出行者根据实际情况进行选择。

我经过考虑设计出了如下查询方法:

假设查询从甲地到乙地的乘车路线

1.查询经过甲地的所有公交车组成集合B1,经过乙地的所有公交车组成B2

2.B1,B2取交集得到的公交车集合就是所有的直达车。

若B1,B2交集为空(即没有直达),则:

3.取集合B1中所有车从甲地到终点站途径的所有站点集合P1,取车集合B2中所有车从始发站到乙地途径的所有站点得集合P2,取P1,P2的交集组成的车站集合P3就是转乘站点的集合。

4.假设P3集合中,有一个站点是青泥洼桥站,取B1中在此停车的车组成集合B3,取B2中在此停车的车组成集合B4,那么B3中的任一辆车与B4中的任一辆车组合就是可以从甲地经青泥洼桥倒车到乙地的方案。

5.按4中方法罗列p3集合中每个站点的转乘方案。

最后比较所有的转乘方案,选出最佳推荐方案和合理备选方案。

3.53.5开发平台、技术和工具的选择

我使用流行的操作系统MicrosoftWindowsVistaSP1+VisualStudio2008作为开发环境。

流程图采用比较流行的思维管理软件MindManager开发语言选择了比较简易且跨平台的ASP,而公交数据的储存我选择了XML。

相比于其他各种数据库来说,XML具有轻量级,查询快,树形结构,易于跨平台支持等优点。

为将来的多平台多软件数据共享奠定基础,如单机查询系统,触摸屏终端等。

3.5.13.5.1B/S结构

B/S(Browser/Server)结构即浏览器和服务器结构。

它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。

在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。

这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。

以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。

它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。

 

3.5.23.5.2开发环境及工具介绍

MicrosoftWindowsVista:

   Vista是微软新一代操作系统,以前叫做Longhorn(微软当初内部的代号)。

微软对外宣布正式名称是Windows Vista。

作为微软的最新操作系统,Windows Vista第一次在操作系统中引入了“Life Immersion”概念,即在系统中集成许多人性的因素,一切以人为本。

使得操作系统尽最大可能贴近用户,了解用户的感受,从而方便用户。

 

VisualStudio2008:

VisualStudio是一套完整的开发工具集,用于生成ASP.NETWeb应用程序、XMLWebServices、桌面应用程序和移动应用程序。

VisualBasic、VisualC++、VisualC#和VisualJ#全都使用相同的集成开发环境(IDE),利用此IDE可以共享工具且有助于创建混合语言解决方案。

另外,这些语言利用了.NETFramework的功能,通过此框架可使用简化ASPWeb应用程序和XMLWebServices开发的关键技术。

MindManager

MindManager是一个创造、管理和交流思想的通用标准,其可视化的绘图软件有着直观、友好的用户界面和丰富的功能,这将帮助您有序地组织您的思维、资源和项目进程。

3.5.33.5.3选用的开发语言简介

ASP:

Activeserverpags(动态服务器主页,简称ASP),内含于InternetInformation

Server(IIS)当中,提供一个服务器端(server-side)的scripting环境,让你产生和执行动态,交互式,高效率的站点服务器的应用程序。

你不必担心浏览器是否能执行你设计出来的ActiveServerPages,你的站点服务器会自动将ActiveServerPages的程序码,解释为标准HTML格式的主页内容,在送到用户端的浏览器上显示出来。

用户端只要使用常规可执行HTML码的浏览器,即可浏览ActiveServerPages所设计的主页内容。

XML:

 

XML代表ExtensibleMarkupLanguage(eXtensibleMarkupLanguage的缩写,意为可扩展的标记语言)。

与HTML相似,XML是一种显示数据的标记语言,它能使数据通过网络无障碍地进行传输,并显示在用户的浏览器上。

XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。

它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言。

XML最大的优势在于对各种数据的管理。

任何系统都可以通过XML的解析器来读取XML数据,因此它的数据可以通行各处,而不用担心系统不支持的问题。

第4章系统实现

我首先将通用操作所需的各个函数提取出来,封装为单个处理过程文件funciton.asp,并在每个文件头进行引用。

操作函数如下

1.objXML负责打开并读取XML数据文件

2.getBusidList()生成公交车名称列表

3.getBusStateList()生成公交车站点列表

4.getInfoByBusID(busID)得到指定车次的详细信息

5.getBusIDInfoByStation(Station)得到经过指点站点的车次列表

6.isPassTheStation(Station,BusID)判断指定车次是否经过指定的站点

7.addBus(arrBusInfo)增加一趟车次信息

8.delBus(busID)删除指定车次

9.getBusIndexByBusID(BusID)由车次名称得到车次索引号

4.14.1管理模块

管理模块包括三大功能:

数据显示,数据修改,生成数据缓存。

4.1.14.1.1数据修改模块

数据修改模块是程序数据来源的保证。

模块功能包括数据的添加、修改和删除。

数据添加

admin_add.asp

 

图4.1增加车次界面

窗体中form内提供三个text输入框。

Text1负责接收车次名,text2负责接收每个站点名称,text3为站点列表,并通过两个按钮函数addItem()和delItem()进行维护。

关键代码如下:

functionaddItem(){

vart2=document.form1.text2;

vart3=document.form1.text3;

varflag=false;

if(t2.value!

=""){

for(i=0;i

if(t2.value==t3.options[i].text){

flag=true;

break;

 

}

}

if(flag){

alert("添加的站点名称已经存在");

}else{

t3[t3.length++].text=t2.value;

}

t2.value="";

t2.focus();

}

}

functiondoCheck(){

varf=document.form1;

if(f.text1.value==""){

alert("请填写车次!

");

f.text1.focus();

}elseif(f.text3.length<2){

alert("至少要输入两个站点");

f.text2.focus();

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

当前位置:首页 > 解决方案 > 学习计划

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

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