


上海交通信息网上管理系统的研发上海交通信息网上管理系统的研发摘摘 要要当前我国交通网上信息系统的发展处于一个较落后的水平,广大乘客可以获得信息的方式很少,通常依赖于火车飞机时刻表,而汽车只能到车站查询为了解决这种问题,加快发展交通信息化,设计一个交通信息网上查询系统是具有一定实际应用意义的在此背景下,本文基于 ASP.NET 设计开发了一套 B/S 结构的交通信息网上查询系统本文中首先考虑了我国交通的现状和不同乘客的实际要求,分析了此系统应该具有的功能;其次对系统的主要功能模块进行了详细地描述,其中主要包括查询模块和管理更新模块,最后结合系统开发阶段和调试阶段发现的问题,提出了系统需要完善的地方,总结了开发此系统所取得的经验和体会 关键词关键词:交通;ASP.NET;查询;B/S 结构;数据库 591 论文网 www.591LW.comThe Design and Implementation of Online Traffic Information Inquiry SystemAbstractNowadays, the development of online traffic information system in China is in a lower level. The way, in which most passengers can gain information, is too limited. So they are often dependent on the train or aircraft schedules, which can only be queried in the station. To solve this problem and speed up the development of transport information, designing an online traffic information query system is a practical application. In this paper, based on ASP.NET development platform, a set of B/S structured online traffic information query system has been designed and developed. The paper firstly considers our present traffic status and different requirements of passengers, analyses the required function of the system. And then a detailed description of the main functional modules has been given, mainly including the query module and the update & management module.In the end, according to the problems which have been found in the development and debugging phase, what the system should be improved has been proposed and the development experience has been sum up. Key words: Transportation; ASP.NET; Query; B/S; Database 591 论文网 www.591LW.com目目 录录论文总页数:24 页1引言.11.1课题背景.11.2国内研究现状.11.3本课题研究的意义.11.4本课题的研究方法.11.5本文所做工作.12设计环境.22.1计算机网络.22.2系统运行环境.22.3系统开发工具.22.4开发工具介绍.22.4.1Dreamweaver 介绍.22.4.2SQL2000 介绍.23设计理论依据.23.1数据库技术.23.1.1数据库的体系结构.33.1.2数据库管理系统(DBMS).33.2ASP.NET 语言介绍.43.2.1A 与 asp 的区别.43.2.2ASP.NET 的工作原理.53.3B/S 结构介绍.54系统构架.74.1系统概述.74.2系统功能简述.75数据库设计.85.1概念设计.85.2表的设计.106各功能模块的详细说明.116.1查询模块功能设计.116.1.1直达查询.126.1.2一次转乘查询.136.1.3二次转乘查询.14 591 论文网 www.591LW.com6.1.4高级查询.156.1.5城市查询.156.1.6路线查询.156.2后台管理模块功能设计.166.2.1管理员信息管理.176.2.2交通信息修改功能.176.2.3城市信息修改功能.197软件测试.21结 论.21参考文献.22致 谢.23声 明.24第 1 页 共 24 页1 1 引言引言1.11.1 课题背景课题背景交通信息网上查询,就是将各类交通班次的出发时间、经过城市、所需价格等相关信息放在 WEB 服务器中,并通过网络上的计算机终端通过特定的条件将其检索出来。
随着国内经济的不断发展,交通条件的发展呈现出无法比拟的优势:数量上的海量化、繁多的种类、分布开放、时效性、高增值性等目前类似的时刻表都只是列出了相关车次的信息,并不能按要求检索,还需要旅客自己在返回的信息中去比对和选择,而返回的信息可能是海量的,一个时刻表查询平台只提供一种交通工具,要考虑多种交通工具往往还需要查询几个平台1.21.2 国内研究现状国内研究现状通过互联网查询的资料来看,国内目前类似的系统比较多的是公交查询系统,而城际之间的交通查询系统并不过见,较多的仍然是以时刻表为基础的查询系统,其缺点在于不能根据特定条件进行检索,转乘查询也不支持,由于交通工具单一,一个系统只支持火车或飞机,加之服务与成本意识较为薄弱,使城际间的交通信息查询常常给旅客带来困绕1.31.3 本课题研究的意义本课题研究的意义旅客是交通体系赖以生存和发展的根本,尊重旅客,以旅客的需求为中心,不只是一句口头上的空话,而要付诸行动因此希望通过此次调查研究,设计出一个更适合旅客的交通信息查询系统,在有限的成本范围内提高旅客的满意度,在侧面完善我国的交通体制并逐步形成一个完整的交通信息查询体制,方便以后旅客的查询和相关部门的统计。
1.41.4 本课题的研究方法本课题的研究方法通过访问现有网上的火车时刻查询系统、公交查询系统等,做出分析报告,然后通过.net 语言和 SQL2000 来进行开发在设计中以需求分析为基础,写出系统开发计划、实现流程及相关问题的实现方法,然后用这个流程进行本次开发1.51.5 本文所做工作本文所做工作首先介绍了交通信息网上查询系统的开发环境以及选用的开发工具与数据库的关系,阐明了计算机互联网络的概念并对数据库的体系结构、DBMS 进行了介绍;从工作原理入手,介绍 ;并且介绍了 B/S 模式的概念、特点;用软件工程的方法分析交通信息网上查询系统,对整个系统进行了需求分析、功能模块划分,并通过 ER 图对数据库进行概念设计;对交通信息网上查询系统的具体设计,描述了查询、录入模块的实现过程最后,在结束语的总结部分第 2 页 共 24 页指出了系统的亮点以及不足之处,简单介绍了自己开发过程中的体会与心得:在摸索中实践,在实践中摸索2 2设计环境设计环境2.12.1 计算机网络计算机网络计算机网络是指将多台具有独立功能的计算机,通过通信线路和通信设备连接起来,在网络软件的支持下实现数据通信和资源共享的计算机系统。
计算机网络的规模有大有小,大的可以覆盖全球,小的仅局限于一个办公室现在一般按照网络覆盖的地理范围将计算机网络分为三类:局域网(LAN)、城域网(MAN)、广域网(WAN)2.22.2系统运行环境系统运行环境该系统采用Browser/Server模式进行设计:在服务器上运行Web发布服务器、数据库程序,服务器操作系统为WindowsNT/2000/XP/2003 server,客户机操作为Windows9/ NT/2000/XP/2003,其上运行浏览器程序,服务器和客户机可为同一设备2.32.3 系统开发工具系统开发工具该系统采用.NET环境,运用Dreamweaver进行开发,数据库服务器为SQL2000,WEB发布服务器为Windows 2003 Server;客户端使用浏览器运行程序,整个系统调试成功2.42.4开发工具介绍开发工具介绍2.4.12.4.1 DreamweaverDreamweaver 介绍介绍Dreamweaver 是美国 MACROMEDIA 公司开发的集网页制作和管理网站于一身的所见即所得网页编辑器,它是第一套针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页。
DREAMWEAVER 特点:最佳的制作效率、网站管理、无可比拟的控制能力2.4.22.4.2 SQL2000SQL2000 介绍介绍SQL Server 2000 是 Microsoft 公司推出的 SQL Server 数据库管理系统的最新版本,该版本继承了 SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行 Microsoft Windows 98 的膝上型电脑到运行 Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用 3 3设计理论依据设计理论依据3.13.1 数据库技术数据库技术数据库技术作为数据管理技术,是计算机软件领域的一个重要分支,产生第 3 页 共 24 页于 60 年代末现已形成相当规模的理论体系和实用技术优秀的数据库设计是应用成功的基石万万丈高楼平地起,数据库设计如同高楼的基石,是开发高品质应用的前提3.1.13.1.1 数据库的体系结构数据库的体系结构数据的体系结构分成三级:内部级(Internal),概念级(Conceptual)和外部级(External)。
这个三级结构有时也称为“三级模式结构”外部级:最接近用户,是单个用户所能看到的数据特性单个用户使用的数据视图的描述称为“外模式”概念级:涉及到所有用户的数据定义、是全局的数据视图全局视图的描述称为“概念模式”内部级:最接近于物理存储设备,涉及到实际数据存储的结构物理存储数据视图的描述称为“内模式”数据库的三级模式结构是数据的三个抽象级别它把数据的具体组织留给DBMS 去做,用户只要抽象地处理数据,而不必关心数据在计算机中的表示和存储,这样就减轻了用户使用系统的负担3.1.23.1.2 数据库管理系统(数据库管理系统(DBMSDBMS)数据库管理系统(DBMS)是指数据库系统中管理数据的软件系统DBMS 是数据库系统的核心组成部分对数据库的一切操作,包括定义、查询、更新及各种控制,都是通过 DBMS 进行的在不同的计算机系统中,由于缺乏统一的标准,即使同种数据模型的DBMS,它们在用户接口、系统功能方面也常常是不相同的用户对数据库进行操作,是由 DBMS 把操作从应用程序带到外部级、概念级、再导向内部级,进而操作存储器中的数据DBMS 的主要目标,是使数据作为一种可管理的资源处理DBMS 的主要功能为:数据库定义功能:DBMS 提供数据定义语言(DDL)定义数据库的三级结构,包括外模式、概念模式、内模式及其相互之间的映象,定义数据的完整性、安全控制等约束。
因此,在 DBMS 中应包括 DDL 的编译程序数据库的操纵功能:DBMS 提供数据操纵语言(DML)实现对数据库中数据的操作基本的数据操作分成两类四种:检索(查询)、更新(插入、删除、修改)数据库的保护功能:数据库中的数据是信息社会的战略资源,对数据的保护是至关重要的大事DBMS 对数据库的保护主要通过四个方面实现:第 4 页 共 24 页数据库的恢复:在数据库被破坏或数据不正确时,系统有能力把数据库恢复到正确的状态数据库的并发控制:DBMS 的并发控制子系统能防止错误发生,正确处理好多用户、多任务环境下的并发操作数据库的完整性控制:保证数据库中数据及语义的正确性和有效性,防止任何对数据造成错误的操作数据库的安全性控制:防止未经授权的用户蓄谋或无意地存取数据库中的数据,以免数据的泄露、更改或破坏数据库的存储管理:把各种 DML 语句转换成低层的文件系统命令,起到数据的存储、检索和更新的作用数据库的维护功能:它有许多实用程序提供给数据库管理员:数据装载程序备份程序文件重组织程序性能监控程序数据字典:数据库系统中存放三级结构定义的数据库称为数据字典(DD)对数据库的操作都要通过访问 DD 才能实现,通常 DD 中还存放数据库运行时的统计信息。
3.23.2 ASP.NETASP.NET 语言介绍语言介绍3.2.13.2.1 AA 与与 aspasp 的区别的区别1. 效率Asp 是一个脚本编程环境,只能用 VBScript 或者 JavaScript 这样的非模块化语言来编写当 ASP 程序完成之后,在每次请求的时候解释执行这就意味着它在使用其他语言编程写大量组件的时候会遇到困难,并且无法实现对操作系统的低层操作ASP.NET 则是建立在.NET Framework 之上的,他可以使用Visual Basic、C+这样的模块化程序设计语言,并且它在第一次执行时进行编译,之后的执行不需要重新编译就可以直接运行,所以速度和效率比 ASP 提高很多2. 可重用性在编写 ASP 应用程序的时候,ASP 代码和 HTML 混合在一起只要需要,就可以在任意的一个位置插入一段代码来实现特定的功能这样方法表面上看起来很方便,但在实际的工作中会产生大量繁琐的页面,很难读懂,导致代码维护很困难ASP.NET 则可以实现代码和内容的完全分离,使得维护方便3. 代码量第 5 页 共 24 页ASP 对所有要实现的功能均需要通过编写代码来实现在 ASP.NET 中,程序员只要预先说明,ASP.NET 就可以自动实现这样的功能。
所以相对来说,要实现同样的功能,使用 ASP.NET 比使用 ASP 的代码量要少的多3.2.23.2.2 ASP.NETASP.NET 的工作原理的工作原理ASP.NET 的工作原理是:首先,客户端浏览器有一个 HTTP 请求发送到 Web服务器,要求访问一个 Web 网页然后,Web 服务器通过分析客户 HTTP 请求来定位所请求网页的位置如果所请求的网页的文件名后缀是 aspx,那么就把这个文件传诵 aspnet_isapi.dll 进行处理,由 aspnet_isapi.dll 把 ASP.NET 代码提交给 CLR如果以前没有执行过这个程序,那么就由 CLR 编译并执行,得到纯 HTML 结果;如果已经执行过这个程序,那么就直接执行编译好的程序并得到纯 HTML 结果最后,把这些纯 HTML 结果传回到浏览器作为 HTTP 响应,浏览器收到这个响应之后,就可以显示 Web 网页图 1 .NET 的组成部分3.33.3 B/SB/S 结构介绍结构介绍B/S 结构,即 Browser/Server(浏览器/服务器)结构,是随着 Internet 技术的兴起,对 C/S 结构的一种变化或者改进的结构。
在这种结构下,用户界面完全通过 WWW 浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓 3-tier 结构B/S 结构,主要是利用了不断成熟的WWW 浏览器技术,结合浏览器的多种 Script 语言(VBScript、JavaScript)和Microsoft.NET操作系统(Windows.NET/2000/NT/XP/Me/9x)Internet/Intranet上的远程系统Internet/Intranet上的远程用户本地用户.NET Framework通用语言运行环境.NET Framework 类库ASP.NETWindows FormsASP.NET 应用程序服务Web FormsWeb ServicesWindows 应用程序服务ControlsDrawing通用类型系统内存管理生命周期监控XMLThradingCollections其他ADO.NETNETSecurityDiagnostics第 6 页 共 24 页ActiveX 技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
随着 Windows 98/Windows 2000 将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构显然 B/S 结构应用程序相对于传统的 C/S 结构应用程序将是巨大的进步图 2 B/S 结构图B/S 结构采用星形拓扑结构建立企业内部通信网络或利用 Internet 虚拟专网(VPN) 前者的特点是安全、快捷、准确后者则具有节省投资、跨地域广的优点须视企业规模和地理分布确定企业内部通过防火墙接入 Internet,在整个网络采用 TCP/IP 协议B/S 架构具备极大的优越性1、 面向电子商务时代的技术将来所有的应用系统几乎都在互联网或企业内部广域网上运行,发展电子商务成为企业不可避免的信息化道路B/S 架构的软件正是电子商务的基石,正是这类软件使得移动办公和分布式协同工作真正成为现实无论在世界的那个角落,只需要一台可以联网的设备(计算机、PDA 甚至手机)都可以方便地与客户联系和与他人协同工作2、 软件操作、维护和升级方式的革命软件系统的改进和升级越来越频繁,B/S 架构的产品在维护和升级方面具备显著的优势无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只对服务器进行,通过远程连接服务器,异地的运维人员甚至于可以做到远程维护和升级,这对人力、时间、费用的节省是相当惊人的。
所有的客户端只是浏览器,所有的操作都和上网浏览网页类似,使用者接受的培训也仅限于业务逻辑而无需将大量精力浪费学习软件操作上3、 系统整合第 7 页 共 24 页无论是办公自动化(OA)系统,人力资源(HR)系统,客户关系管理(CRM)系统,ERP 等等,发展的趋势是不断融合而采用统一的 B/S 结构开发的产品无论是现在还是将来都是最好的选择,它提供了真正意义上无缝地与其它系统进行整合的方案4 4系统构架系统构架4.14.1 系统概述系统概述本系统是在全国城际交通路线基础上,将各交通信息进行整合查询的系统,是为了方便旅客了解各交通路线情况而开发设计的本系统根据录入的数据,根据不同的要求,可以查询出各时段、班次、城市的交通信息另外,要达到对不能直达的城市进行转乘查询的目的功能范围有:按城市查询、按班次查询、普通查询、管理员对交通、城市、及管理员信息的管理根据这些,构成了该系统4.24.2 系统功能简述系统功能简述1) 交通信息查询功能:a) 普通查询:输入最简洁的查询方式,用户只需要输入出发城市和终点城市就可进行交通信息查询,查询结果为所有符合条件的公路、铁路及航空信息的综合显示b) 城市查询:输入想要了解的城市名称,即可查询出所有经过该城市的所有交通信息,以及相关的城市介绍。
c) 班次查询:在知道班次的前提下,可以对该班次进行详细的查询d) 高级查询:用户可根据自己特定的条件,在系统上查询交通信息如相关时间、价格等2) 交通信息更新功能:a)修改信息:在原有信息的基础上,对已改变的信息进行修改,以达到正确性和时效性b)添加信息:当有新的交通信息出现后,需要及时正确的添加该信息,确保系统的时效性c)删除信息:当某交通信息被废弃时,应及时的删除该信息,以免对查询的结果产生错误的影响和对数据库造成不必要的负担3) 城市信息修改功能:城市的添加是在添加交通信息的时候自动添加的,故此功能里面只有修改城市信息、修改城市名称和删除城市的功能当城市尚有交通工具抵达的时候,不可将该城市删除4) 管理员信息管理功能:第 8 页 共 24 页管理员登陆管理页面以后,可以根据需要,修改自己的个人资料,以方便初始管理员联系,也可修改自己的登陆密码初始管理员除了可以修改自己的资料以外,还可以帮助其他管理员修改资料当其他管理员遗失密码后,可由初始管理员将其密码改回以下为功能构成图和查询流程图图 3 系统功能构成图图 4 查询流程图开始输入查询信息查询方式城市查询输出信息结束输出信息结束路线查询有无结果站站查询有输出信息结束无N2N=N+1yn输出无信息结束注:n代表n转查询第 9 页 共 24 页5 5数据库设计数据库设计5.15.1 概念设计概念设计实体和属性的定义如下:城市(城市编号,城市名称,城市介绍)线路(线路编号,种类,车型,频率,班次)交通关系(线路编号,城市编号,交通关系编号,出发时间,到达时间,到达顺序,价格 1价格 15)图 5 E-R 图图 6 城市属性图图 7 路线属性图图 8 交通关系属性图5.25.2 表的设计表的设计数据库中建立了 4 张表,用于记录各项信息。
首先建立了管理员资料表 users.dbf,用来存储管理员等登陆信息以及相关个人资料,具体字段如下:城市路线交通关系mn城市城市ID城市名城市介绍路线路线ID种种类类车型班次频率第 10 页 共 24 页表 1 users 表字段名关键字设置数据类型字段说明ID主关键字Int管理员编号loginIDVarchar登陆 IDPasswordVarchar登陆密码NameVarchar名称SexVarchar性别EmailVarcharemail然后,建立了城市信息表 ctxx.dbf,用来存储城市的相关信息,字段如下:表 2 ctxx 表字段名关键字数据类型字段说明cityID主关键字Int城市 IDCitynameVarchar城市名CityjsVarchar城市介绍接下来,是交通工具信息表 jtgjxx.dbf,用来存储交通工具的相关信息,字段如下:表 3 jtgjxx 表字段名关键字数据类型字段说明TID主关键字Int交通工具 IDZlVarchar种类BcVarchar班次CxVarchar型号PlVarchar频率最后,建立了交通关系表 bus.dbf,用来存储交通工具与城市的对应关系,字段如下: 表 4 bus 表字段名关键字数据类型字段说明ID主关键字Int交通关系 ID TID外关键字Int交通工具 ID第 11 页 共 24 页cityID外关键字Int城市 IDStopsInt到达顺序GettimeDatetime到达时间GotimeDatetime出发时间C1Varchar到达第 1 个城市的价格C2Varchar到达第 2 个城市的价格C3Varchar到达第 3 个城市的价格C4Varchar到达第 4 个城市的价格C5Varchar到达第 5 个城市的价格C6Varchar到达第 6 个城市的价格C7Varchar到达第 7 个城市的价格C8Varchar到达第 8 个城市的价格C9Varchar到达第 9 个城市的价格C10Varchar到达第 10 个城市的价格C11Varchar到达第 11 个城市的价格C12Varchar到达第 12 个城市的价格C13Varchar到达第 13 个城市的价格C14Varchar到达第 14 个城市的价格C15Varchar到达第 15 个城市的价格6 6各功能模块的详细说明各功能模块的详细说明6.16.1 查询模块功能设计查询模块功能设计本模块机能是从数据库中,根据所要求的查询条件以及查询方法,在数据库中进行交通信息的查询和筛选,并以表格的方式表现出来。
查询的总体思路为:由于交通班次具有方向性,所以在交通关系表中特别设定了 stops 关键字,用来存放交通信息的到达顺序,并且在每次查询的时候都加入查询条件start.stopsB.stops and a.tid=b.tid当查询到交通路线时,进行需要返回的相关信息查询并显示;若没有,则返回“无班次到达”的结果,并输出超连接,可连接到 chaxun2.aspx 页面进行一次转乘查询第 13 页 共 24 页6.1.26.1.2 一次转乘查询一次转乘查询在一次转乘查询中,可以查询到从起点城市出发到终点城市,其间要经过的一个城市,以及要乘坐的 2 个交通工具的基本信息和中转城市的到达时间以及出发时间通过查询总体思路的派生,一次转乘查询的主要查询方法简化为以起点城市和终点城市作为结点,分别查询出连通该 2 个结点的通路,然后在这些通路的基础上,查找他们交汇的结点,此时,这些结点就为我们一次转乘的中转城市,而分别连通起点和终点结点的通路即为我们需要查询的交通路线当用户以一次转乘查询提交或者在直达查询后通过超连接跳转到 chaxun2.aspx 页面在 chaxun2.aspx 中,后台首先测试其中转城市是否存在,其 SQL 语句为:select cityid,cityname from ctxx where cityid in / 将所有经过起点城市的交通信息作为子集 a(select b.cityid from (select * from bus where cityid=(select cityid from ctxx where cityname=start)a,/将所有经过起点城市的车的信息(主要查询到达城市)作为子集 b(select * from bus where tid in(select tid from bus where cityid=(select cityid from ctxx where cityname=start)b,/将所有经过终点城市的车的信息(主要查询到达城市)作为子集 c(select * from bus where tid in(select tid from bus where cityid=(select cityid from ctxx where cityname=ends)c,/将所有经过终点城市的交通信息作为子集 d(select * from bus where cityid=(select cityid from ctxx where cityname=ends)d/起点和终点能到达的城市中相同的城市where A.stops B.stops and a.tid=b.tid and c.stops d.stops and c.tid=d.tid and b.cityid=c.cityid) 若存在,则首先查询出中转城市名,即我们查询出通路的交叉结点,用dataset 对象的 table 属性将返回结果保存起来。
然后利用 for 循环,每次循环首先输出起点到中转城市的交通信息,然后再输出中转城市到终点城市的交通信息否则返回“无班次到达”的结果,并输出超连接,转到 2 转查询的chaxun3.aspx 页面6.1.36.1.3 二次转乘查询二次转乘查询在二次转乘查询中,可以查询到从起点城市出发到终点城市,其间要经过的 2 个城市,以及要乘坐的 3 个交通工具的基本信息和中转城市的到达时间以及出发时间通过查询总体思路的派生,二次转乘查询的主要查询方法简化为以起点城第 14 页 共 24 页市和终点城市作为结点,分别查询出连通该 2 个结点的所有通路再利用集合的方法,将连通起点城市结点的通路连通的所有城市设为集合 A,将连通终点城市结点的通路连通的所有城市设为集合 B,这样,我们就只需要将集合 A 的城市作为起点结点,将集合 B 的城市作为终结点,进行直达查询算法,若查询有结果,就表示我们二次转乘查询成功为了不让我们的查询结果中出现循环的现象,在查询条件中还需要加上所有的中转城市与起点和终点城市不相同的条件进入 chaxun3.aspx 页面后,还是进行查询结果测试,其 SQL 语句为:select a.cityid, b.tid,b.cityid,bus.tid ,c.cityid,c.tid,d.cityid from bus,/将所有经过起点城市的交通信息作为子集 a(select * from bus where cityid=(select cityid from ctxx where cityname=start)a,/将所有经过起点城市的车的信息(主要查询到达城市)作为子集 b(select * from bus where tid in(select tid from bus where cityid=(select cityid from ctxx where cityname=start)b,/将所有经过终点城市的车的信息(主要查询到达城市)作为子集 c(select * from bus where tid in(select tid from bus where cityid=(select cityid from ctxx where cityname=ends)c,/将所有经过终点城市的交通信息作为子集 d(select * from bus where cityid=(select cityid from ctxx where cityname=ends)d/从起点城市能到达的所有城市where A.stops B.stops and a.tid=b.tid and /从终点城市能到达的所有城市c.stops d.stops and c.tid=d.tid/在子集合 b 和子集 c 中有交通关系存在and bus.tid in (select bus.tid from bus where cityid=b.cityid) and bus.tid in (select bus.tid from bus where cityid=c.cityid) and bus.stops=1 /经过的 4 个城市各不相同。
and a.cityidb.cityid and a.cityidc.cityid and a.cityidd.cityid and b.cityidc.cityid and b.cityidd.cityid and c.cityidd.cityid 若查询有结果,则利用 dataset 对象中的 table 属性将需要的信息保存下来,然后再根据其信息进行各交通工具和城市信息的查询和输出;若查询无结果,则执行输出:“现有条件查询不到符合要求的结果”并结束第 15 页 共 24 页6.1.46.1.4 高级查询高级查询通过高级查询的超连接,可以跳转到高级查询页面 gjcx.aspx在此页面,用户除了可以输入起点城市和终点城市以外,还可以根据自己的需要,选择性的输入需要限定的时间、价格等信息,如下图所示:图 10 高级查询当用户在高级查询页面提交查询后,首先测试是否有从起点城市到达终点城市的交通路线,其 SQL 语句与直达查询相同当查询到交通路线时,进行需要返回的相关信息查询并显示;若没有,则返回“无班次到达”的结果在此页面中,在测试路线的 SQL 语句是在直达查询的 SQL 语句的基础上,整合了页面提交的限定条件,并根据条件查询和输出结果。
6.1.56.1.5 城市查询城市查询在主页面中,还有城市查询的功能,其主要功能是查询所有抵达该城市的交通路线的基本信息及该交通路线以后可以抵达的城市、另外还有城市简介在跳转到城市查询 city.aspx 页面后,后台程序会调用 session 变量中的城市名进行是否有交通路线连通的测试,其 SQL 语句为:select * from jtgjxx where tid in ( select tid from bus where cityid=(select cityid from ctxx where cityname=city) 若没有,则输出:“尚无该城市信息” ;若有,则首先在 ctxx.dbf 中查询出该城市的简介,然后输出,最后查询交通路线的相关信息,依次输出6.1.66.1.6 路线查询路线查询在主页面中,还有城市查询的功能,其主要功能是查询指定交通路线的信息,输出信息包括种类、班次、车型、频率、经过城市名、在该城市的出发时间以及抵达该城市的时间第 16 页 共 24 页在路线查询 line.aspx 中,其功能比较简单,多数与 city.aspx 的功能相似,只是查询的数据表和输出内容差异,故在此不多做介绍了。
6.26.2 后台管理模块功能设计后台管理模块功能设计7 7软件测试软件测试模块编程完结之后,编写测试文档,对界面外观和功能等进行检测首先针对一个模块测试,由于有部分参数是需要从其它模块传递过来的,因此,先要把需要传递的参数赋予固定的值,然后才继续后续步骤模块测试时,检验模块每个功能是否都能正常使用,包括界面的按钮、线条、表格等的形状、大小、颜色是否符合规范;还有检测程序内部的主执行通路是否都能按预定要求正常工作,能按正确输出测试过程中,发现 BUG 时及时修正模块测试完后,先把在模块测试时固定了的需要与其它模块进行参数传递的接口改正过来,连接好各模块之间的接口,把各个模块整合成一个系统,整合过程中可能会出现很多问题,因此,还需要集成测试即在把模块按照设计要求组装起来的同时进行测试,主要目标是发现与接口有关的问题,测试每个功能是否都能正常工作这是一个“测试修改再测试再修改”的过程,直到整个系统能正常运行,所有功能都能正常实现在测试过程中,出现过一些不符合标准和达不到功能要求的情况,经过修改及以后的调试,现已能够完成正常的功能由于经验欠缺或其它某些原因,本次完成的软件不可能是完美无缺的测试只能尽量避免错误的产生和消除已经产生的错误,使程序中的错误密度达到尽可能低的程度,减少错误的引入,但是不可能完全杜绝软件中的错误。
经过测试,本模块基本能符合要求,也能实现各功能结结 论论本次毕业设计是以 ASP.net 和 SQL Server2000 为基础,开发的一套基于B/S 模式的交通信息网上查询系统本次设计完成了系统的基本功能,能够通过本系统实现对交通信息的普通查询、转乘查询和条件查询,使用户能够随时方便的进行有效的交通信息查询;完成了管理员对交通信息的管理功能,让系统信息能够及时的得到更新;同时还设计了初始管理员对管理员身份的一个管理,让系统的安全性得到大大的提高本系统操作简单,性能良好,能够完成交通信息查询的基本工作本次毕业设计由于时间和能力有限,系统功能上不够完善,查询时没能用视图来优化查询速度也是不完善的因素之一在以后的开发过程中,可根据具体需要扩展系统功能,使系统更加实用、更加完善第 17 页 共 24 页参考文献参考文献1 吉根林.ASP.NET 程序设计教材M.北京:电子工业出版社,20052 陈湘.ASP .NET 与网站开发编程实战M.北京:清华大学出版社,20033 王易.ASP.NET 网站设计实例通M.北京:清华大学出版社,20034 陈惠珍.ASP.NET 程序设计M.北京:中国铁道出版社,2003。
5 方睿.网络数据库原理及应用M.成都:四川大学出版社,20056 郑建峰,董国平.SQL SERVER 开发答疑M.北京:人民邮电出版社,20057 余金山,林慧.SQL Server 2000/2005 数据库开发实例入门与提高M.北京:电子工业出版社,2005。