城市公交查询系统设计与实现_第1页
城市公交查询系统设计与实现_第2页
城市公交查询系统设计与实现_第3页
城市公交查询系统设计与实现_第4页
城市公交查询系统设计与实现_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEI城市公交查询系统设计与实现摘要随着科技的进步和时代的发展,为了体现我国以人为本、为民服务的宗旨。提高国民生活质量生活水平,城市公交系统的更加完善和人性化成为建设现代化城市的重心。改善人民出行体验,提高工作效率.此次依托计算机技术从而让旅客出行更加科学化和准确化。从而加强公交系统在出行方式中的竞争力。本课题是以MicrosoftSQLServer2005作为后台支持的数据库开发而来的,以VisualStudio2008作为数据的背景开发平台,开发是基于ASP.NET的城市公交查询系统。设计的该系统主要包括以下功能模块:用户前台查询和管理者后台管理两大模块。用户前台查询包括换乘站点查询、线路查询、各路线站点查询、评价统计,后台管理模块则通过管理员者登录后依次对实现的站点、线路的增添、移除、更改,并且本论文详细整理和分析了各个模块的设计与其如何实现等问题。关键词:公交;ASP.NET;查询;数据库

目录22669第一章绪论 1313711.1研究背景 1299211.1.1社会背景 1181441.1.2课题研究的意义 210256第二章控制系统的开发工具与状态 3287762.1控制系统的开发工具 3162172.2系统的开发要求 322406第三章需求分析 6187353.1乘客的需求分析 6107783.2公交查询系统的结构化框架 6308093.3数据库设计 7170333.3.1数据库概念结构设计 8280043.3.2数据库内部结构的设计 96144第四章详细设计与实现 8824.1关于数据库操作 845764.2功能实现 8135284.2.1主界面 8244364.2.2站点查询 855734.2.3换乘查询 9159624.3后台管理 9225784.3.1管理员登录 9116004.3.2添加、修改、删除站点 10280854.3.3添加、修改、删除车次 2013885第五章测试 2593895.1开发过程遇到问题 1245285.2进一步研究工作 1312380结束语 2814125参考文献 29中国石油大学(北京)现代远程教育毕业设计(论文)第一章绪论1.1研究背景随着人类社会的进步和发展,科学技术以及信息技术越来越渗透到人们方方面面的生活中,大到天文科技,小到人们日常生活中使用的手机终端软件,都对计算机信息科技的发展提出了更高要求,计算机科技要为人类创造更美好更智能快捷的生活,促进人类社会的进步和发展。1.1.1社会背景首先,在中国现代化建设的发展进程中,国家在交通运输建设上的投入是有目共睹的,在中国建国初期,我国国民的出行交通方式大多以公交车和自行车为主,并没有更多可以选择的出行方式,在20世纪60年代我国才有了第一条地铁,宣告了中国没有地铁历史的结束,然而为什么地铁出现的如此晚是有原因的,地铁和公交车相比下,建设起来需要的人力物力财力资源要比公交车多出几倍,所以在社会高速发展的今天公交车依然是人们在日常生活中选择最多的出行方式,并且多地的公交路线也开通了许多条,公交车的数量在每个城市都是一个庞大的数字,而以往的公交车和如今的公交车相比,现在的公交车向着智能、便民、交互方向发展,因此人们对公交系统的智能交互提出了更高的要求和期望。其次,在人民对美好生活的向往的需求下,人们对生活品质的要求也越来越高,这体现在方方面面,例如出行方式上,以前坐公交车只有单一的载人功能,而如今在智能化信息化的时代下,人们不仅仅希望公交车可以带我们到达目的地,更需要在乘坐前知道它的行驶路线,到站时间以及各站点的实时跟踪,方便人们选择公家路线或是更换出行方式,大大的提高工作效率及出行时间,而在如今公交系统中,此方面的功能并不是跟完善。1.1.2课题研究的意义此课题的研究希望完善更加便捷快速的公交查询系统,让人们的出行更加智能化交互化,此系统的完善和普及对于交通运输业的智能化发展也具有重要的意义,对人们的出行,公交的搭乘,路线查询等都有着重要的意义。因此在这样的背景下,作者将课题研究定为此方向,虽然在作者之前已经有了许多优秀的前辈和行业进行了研究和尝试,作者本人会更努力地研究,为交通查询系统设计贡献绵薄之力。第二章控制系统的开发工具与状态2.1控制系统的开发工具使用它可以使界面和逻辑分离开来,编写调试程序相对简单易用,容易上手.ASP.NET是在服务器层面就对代码改变这就大大提高了代码编写过程中的实现效率和性能.作为一款世界级的工具框架,它的全面和多样性让程序运行的更加稳定和流畅.由于ASP.NET是建立于公共语言运行库,所以在开发过程中它的灵活性和多样性更高.执行消息访问和处理数据问题都可以无缝对接.ASP.NET也与语言无关,是最适合应用程序的语言.简便性:ASP.NET执行力更高更用易上手,例如窗口提交和客户端身份验证和网站的域名配置等等.可管理性:由于配置信息是由纯文本形式储存的,就可以实现在本地更新设置和配置.可操作性:便于开发人员和维护人员调整代码结构和代码执行率.安全性:可以利用windows身份验证结合的方式配置每个应用.综上所述选择ASP.NET是最佳的用于开发公交查询系统设计的方式,他的稳定和安全性是保证程序平顺运行最大的优点。其本身具备了创建多种语言共存的方法.另外,这些语言利用了.NETFramework的功能,此框架提供对简化ASPWeb应用程序和XMLWebservices均可以做到友好的访问。2.2系统的开发要求该公交查询系统对操作系统的要求如下:硬件要求:1.CPU:最低IntelPentiumII250MHz2.磁盘空间:500MB,300MB。3.内存:256MB(最好1GB以上)。4.显示:1024*1080,256色。软件要求:1.操作系统:Windows7以上的操作系统。2.开发平台:

IDE

Java

Basic

Studio

Tool

Microsoft

C#

开发工具

VB。第三章需求分析3.1乘客的需求分析为了方便乘客的出游和旅行做出以下需求分析,我也亲身考察了当地的实际情况,在大同市中心地段公交站点为例,在站点蹲点观察来往车流量和客流量,有极大部分旅客是抵达站点观察到站情况和信息,查看公交路线情况和到站地点,但是大部分的公交站台并没有到站时间展示,有的公交路线会等待许久才来一趟,大部分是由于路线较长和旅客人数少,公交站发行的车辆较少造成的.这就造成了绝大部分人出行会选择别的交通工具和方式,这样会给旅客造成许多不便的情况.这样就造成了旅客的流逝,带来情感上不好的体验.对公交运输行业造成较大的波动和动荡. 以我本身为例,我选择去另一个城市旅行或出差,大部分出行方式会选择公交来作为主要交通工具,但是我大部分却要借用各种地图软件来查询公交路线和换成方式,例如运用高德地图来查询到站和换成路线,往往查询出来都是一些静态的站点信息,队友到站时间和车辆即时运行情况并没有更多的信息,不够人性化不够即时性,这样就会大大影响旅客的出行体验,会造成旅客对公交运行情况产生不好的体验和观感.3.2公交查询系统的结构化框架这套系统构成就是把它具体化结构化从而实现我们想达到的功能.将系统拆分成不同的模块.作用于解决版块和版块之间的矛盾冲突和关系.运用版块和模块之间的关系,来让系统的功能可以得到完美的呈现和实行.整个系统版块分为前台和后台两大版块.前台的版块有:公交站点、公交线路、换乘查询和旅客评价版块.后台的模块有分成不同的等级管理员用于实现不同级别人员对站点实行增加和修改的功能.图3-1前台主要向使用者展示转乘查询、站点查询、车次查询等检索情况,实际实现如下功能:1.转乘查询:使用者输入起始站名或终点站名,系统会弹出所有的公交线路方案;2.车次查询:使用者输入已知的车次,操作系统将会显示该车次经过的站点名;3.站点查询:使用者输入已知的站点名,操作系统会显示出经过该站点的车次。数据库会给予,线路的添加、移除、改动。操作系统模块如图3-1所示:提供给用户全部的信息,用户可以根据自己的出行情况进行选择,另外,用户可以在系统界面中对出行的观感投出自己宝贵一票,系统将对结果进行统计分类,实现旅客与公交公司的良好互动。3.3数据库设计通过对需求分析的规划和清点,初步设定该系统的在设计阶段分为五个关键数据:公交车次、公交路线、公交站台、管理员、用户评价.这些关键数据都按照用户使用中的输出和输入数据设定,在数据表的建立中把这五类关键词设定为数据表的关键词.如:公交车次表、公交站台表、不同路线表、管理员等级表、评价统计表.3.3.1数据库概念结构设计概念结构设计的含义就是将用户需求和出行情况转化为信息结构.概念结构是各种数据库版块的基础,只有很好的定义了数据概念,在建立数据库的时候才能使其更加具有逻辑和条理性,避免功能的冲突和重复使用.概念结构设计的特点:1.为了把抽象的数据转化成计算机中使用的语言和实现方式.2.更加直观,把冷冰冰的数据和现实调查的情况反应到电脑中,实现人机交互的体验,让用户积极参与评价用于统计数据.3.便于更改,当用户出行情况有变化,更加容易对数据进行修改和添加.4.便于向关系、层次、网状等各种数据模型转换.在开始系统设计时,首先规划如何用数据模型来定义数据库的结构和名词,从而实现从抽象到具体的转化.“实体联系模型”(E-R模型)是在计算机系统中应用较为广的一种模型.在此次设计中也运用了这种方式.E-R模型就是将现实世界的数据和计算机数据结合的一种模型.运用E-R图来展示数据模型,是由于它更加直观和美观,让人们一目了然便于阅读.使用户更容易接受更容易读懂.它只是数据库设计的一环.E-R图是表示概念的模型工具,它有三个组成部分:1.矩形框,传达实体类型(描述问题的对象)。2.菱形框,传达关联类型(实体之间的联系)。3.椭圆形框,传达实体的属性。该系统实体和特性的含义如下:管理员表E-R图(登录ID,登录密码,登录姓名)图3-2管理者表E-R图各站集合表E-R图(站名ID,站名)图3-3各站集合表E-R图各条线路表E-R图(站名ID,次序,站名)图3-4各条线路表E-R图各条线路集表E-R图(车辆ID,车次,始发站,末站,运行区间,线路描述,IC卡类型,票价,首班车时间,服务类型,末班车时间)图3-5各条线路集表E-R图评价表E-R图(评价程度,票数)图3-6评价表E-R图3.3.2数据库内部结构的设计控制系统选用MicrosoftSQLServer2005数据库管理系统,控制系统能满足数据处理系统和商业网站站点储存数据的需求.还可以为中小型企业共享用于资料存储的服务.使用MicrosoftSQLServer2005的意义在于它是一个更加全面等级更高的企业级集成商业数据库平台.,在MicrosoftSQLServer2005数据库中引擎是关系型数据和系统化数据库,从而获取了更安全稳定的存储功能.可以让用户搭设更必要和高效率的数据应用程序.本系统搭建的SQL数据库命名为城市公交查询系统,并将数据文件和日志副本存放在APP_DATA文档夹中。此数据库包含5类表,分别是管理者表、路表、各站集合表以及各条线路表、各条线路集合表、用户评价表。第四章详细设计与实现4.1关于数据库操作在动态网站中,数据库的数据调用是十分活跃和频繁的,为了保证数据库的安全性,这次我们调用数据库时的操作封装到DBConnect类中并放于DBConnect.cs文件中。开发人员在完成其他功能时,可以重新定义函数然后调用,避免数据的重复和反复调用数据库.本系统的数据库的连接代码如下:为了避免重复调用数据库,记录了一些基本信息,声明了以下成员变量:4.2功能实现4.2.1主界面旅客和用户都可以登录公交查询这个主界面进行查询.该界面简洁、轻便,更加直观、一目了然可以看到三大主要查询模板、管理员登录模板、用户评论模板,为用户使用提供了便利.主界面见下图5-1:图5-1主界面图4.2.2站点查询用户们都可以登录该公交查询网站进行站点查询。用户需要输入站点的全称,点击查询,系统就会在数据库中检索测试该站点是否存在,如存在,就会显示经过此站点所有的公交路线情况,如果检索不到将提示该站点不存在。该线路查询界面如图5-3所示:图5-3线路查询图该功能构建的是,首先从dropdownlist提供线路名称linename,接着从该线路集合表中得到该线路的数据存于数组sLineTotal中,并使用线路集合表LineID,获得该路线的所有站点信息,存于数组line中,将count用于汇总该线路所有站点信息的个数。主要实现代码如下:4.2.3换乘查询只要有需求查询站点信息。那么在该公交查询网站都可以进行换乘查询。用户输入出发站或是到达站,系统将会自动检测是否存在该站点,若存在则会检测想要到达的地点中两个站点是否有直达车,如果没有就会进行一次或多次换乘。该换乘查询界面如图5-4所示:图5-4换乘查询图该系统首先从textbox里得到启程站点名StartSite和抵达站点名EndSite,然后推断是不是存在这两个中间站名称,若不存在,则给出提示信息,反之,就会分别搜索包含StartSite、EndSite的线路储存于临时数组StartSiteLineId和EndSiteLineId中。分两种类型来讨论,1.直达,遍历两条线路的所有情况,判断,如果存在于路线相同的,则表示可直接抵达。2.需要换乘一次公交车,在遍历两条线路的所有情况的前提下,若经过StartSite的路线中存在有经过EndSite的路线有相同的站点,则表示可换乘一次到达。主要实现代码如下://count用作记录方案个数其中-1指示不存在StartSite站点,-2表示不存在EndSite-3表示直达//Line[m,]m是表示使用者换乘的方案个数的数量,Line[m,0]车次1抵达,Line[m,1]StartSite到中转站点的站数,Line[m,2]中转站点,Line[m,3]车次2抵达,Line[m,4]中转站点到EndSite的站数4.3后台管理4.3.1管理员登录这个模块是用于管理员登录后台服务器,管理员必须输入正确的用户名称、密码方可登录后台,从而对数据库进行修改和调整.界面如图5-5所示:图5-5管理员登录图该功能实现方式为,首先分别从textbox中获取ID信息存入id,密码信息存入pass,判断数据非空的情况下查询管理员表,ID、密码全部一致的情况下允许进入后台管理。主要实现代码如下:4.3.2添加、修改、删除站点对于站点需要更新和修改的情况时,本系统具有添加功能,对于站点名字的重新修改,本系统具备有更改功能,对于旧站点的撤除,该系统具备移除功能.管理员在登录后台之后,可以通过添加、删除、修改操作对各站点集合表进行管理.实现方式相同,只展示添加界面.界面如下图5-6所示:图5-6添加站点图1.站点添加功能把输入textbox的站点名称存入数组name、站点内容存入数组SiteDescribe,然后数据信息添加到总站点表中,记录站点信息总个数的变量SiteCount要+1。实现的主要代码如下:2.删除站点功能把textbox中输入的数据存入数组name中,从站点总表中删除该站点线路,SiteCount要-1,同时遍历所有线路表,若此中含有该站点名称也要移除,具体代码如下:改动站点的方式,将textbox中读写的旧站点名称存入数组oldname中,新站点名称存入数组newname中,对站点总表和各线路表中的站点名称分别进行修改,具体代码如下:4.3.3添加、修改、删除车次对于新增添的一些路线,该系统兼具添加功能;对于旧车次变更后的修改,本系统具有修正功能;对于旧站点的移除,该系统具有删减功能。管理者登录后台界面后,可以通过添加、修改、删除操作对各车次的表进行调整。添加、改动车次的用户界面类似,只展示添加车次的界面,界面如下图5-7所示:图5-7添加车次图1.添加车次用string[]addcheci留存用户界面上输入的一些数据,包含车次ID、运行区间、服务类型、IC卡类型、票价、首末班车时间、途经站点等等,然后传入数据库5.1.3模板及砖质量通病的预防,添加车次函数,完成添加功能。数据库添加数据时,首先在LineTotal中添加车次信息,然后建立数据表,存储站点次序等信息。其中若要添加的站点在Site表中没有,还要进行站点名称添加操作,保持站点名一致。站点名的添加操作是动态的,在途经站点输入要添加的站点名,点击“添加”按钮,则下方会动态显示站点,直到点击确定键完成添加操作。//“添加”按钮功能staticintnLabelCount=5;//static是关键,每触发一个时间页面都会刷新一次,变量会重新赋值,但是static修饰的变量可以直到页面结束,生命周期才结束,这样可以实现用来动态显示输入的站点//车次添加2.修改车次修改车次功能和添加车次方式类似,就是该路线表是存在的,不需要建立新表,然后其他的和添加类似。3.删除车次删除车次功能则只需从dropdownlist选择要删除的车次,首先从Linetotal中选取删除车次信息,然后删除这个车次表。图形显示,常见的:点状图、饼图、柱状图、曲线图、面积图、排列图等等,同时也支持3D样式的图表显示,支持在图形上各个点的属性操作,它可以定义图形上各个点、标签、图形的提示信息(Tooltip)以及超级链接。评价功能界面如下图5-8,统计饼图如下图5-9:图5-8用户评价图图5-9饼图实现图用户可以选择在界面中“很好”、“还可以”、“一般”、“仍需改进”、“很差”四个选项,进行评价.如图5-8用户可以在图5-9上查看实时的评价结果,可以有多种显示方式.饼图,同心圆,3D等等。由于数据库操作简单,只是数据的添加功能,所以此处代码省略。MsChart属性定义的相关代码如下:第五章测试5.1开发过程遇到问题1.在实现添加路线功能时,最初,要实现在textbox内输入一个站点名称,下表中可以动态显示刚才输入的站点名。但是出现了每按一次“添加”都只展示当前站点名的问题,无法记录之前的站点名。经过查看代码逻辑,询问老师后,发现由于用于记录站点数的变量nLabelCount,在声明时是“intnLabelCount=5”。每点击一次“添加”就刷新一次,变量则会重新赋值,达不到预期的结果.即nLabelCount永远等于5。若用static修饰,则变量nLabelCount可以运行直到页面结束.变量的生命周期才结束.这样可以用来动态显示输入的站点。如下图6.1站点名添加所示:图6-1站点添加2.以管理员身份登录后台,解决了GetAdminName的难题后,但是在构建跨页面传值时,然而动态显示管理员登录时遇到了更艰巨的问题.最后通过查阅专业资料及文档、询问老师,所以尝试了三种不同办法。第一种:则是使用QueryString,这种方法解决最为简单,但是存在会将传递的值显示在浏览器的地址栏上的缺点,非常不安全不美观。第二种:使用Cookie对象变量,此方法是针对每一个用户而言,Cookie变量存放在客户端里,需配合ASP.NET内置对象Request(请求)来使用。最后一种情况是,使用Session变量,此方法可以将系统组件中的值存储起来放在Session变量中,然后在另一个网页中使用它,可以达到不同网页间做到值传递的目的。因为Session变量储存于服务器端,所以当其存储较多的数据时会损耗较多的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论