公交查询系统的设计与实现论文.doc

上传人:精*** 文档编号:833700 上传时间:2023-09-07 格式:DOC 页数:25 大小:569.78KB
下载 相关 举报
公交查询系统的设计与实现论文.doc_第1页
第1页 / 共25页
公交查询系统的设计与实现论文.doc_第2页
第2页 / 共25页
公交查询系统的设计与实现论文.doc_第3页
第3页 / 共25页
公交查询系统的设计与实现论文.doc_第4页
第4页 / 共25页
公交查询系统的设计与实现论文.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、 摘要:我国城市公交乘客信息系统的发展处于一个较落后的水平,广大乘客可以获得信息的方式很少,为了解决这种问题,加快发展城市公交信息化,设计一个城市公交查询系统是具有一定实际应用意义的。在此背景下,我开发了这个应用程序-城市公交查询系统。本次设计,首先我考虑了公交运营的实际情况和不同公交乘客的实际要求,分析了此系统应该具有的功能;其次对系统的主要功能模块进行了详细地描述,其中主要包括二个模块-查询模块(包括按线路查询、按站点查询和按两站点查询)和管理更新模块(包括公交站点管理和公交线路管理)。关键词: ASP.NET,公交查询,数据库目录1. 引 言11.1课题背景11.2 论文的研究内容12.

2、 系统的开发工具与环境22.1 ASP.NET简介22.2 ADO.NET概述42.3 系统的开发要求53. 需求分析53.1 系统需求分析53.2 数据库需求分析63.3 性能需求74. 系统概要设计84.1 概述84.2 功能模块划分94.3 数据库设计105. 详细设计与实现145.1 前台功能的实施145.2 后台管理功能的实现176. 总结与展望22参考文献23231 引言1.1课题背景城市公交是专门服务于市民出行的客运企业。它是城市社会和经济活动的重要组成部分。伴随着国民经济和城市建设的快速发展,城市经济的繁荣,人口的增加,城市必须解决好人们出行的需求。城市公交直接关系着城市的经济

3、发展和居民生活,对城市经济具有全局性、先导性的影响,城市公交以其方便、快捷、容量大而成为城市交通的主体。但是随着公交系统的庞大,人们很难得到准确的公交信息,这样给一些人的出行就带来了不便。因此,急需一个方便、快捷的公交信息查询方式,本系统通过浏览器查询,实现中心控制、自动更新、更多的查询方式等等更多更强大的功能。随着城市经济的发展、规模的扩大以及人口的增长,城市交通问题日益突出。城市公共交通运输以其覆盖面广、经济、快捷的特点,成为绝大多数出行者的首选方式,也是各地城市政府大力发展的一种交通方式。本地市民特别是外来旅游、出差、就医等急需了解本地道路情况的人可以利用本系统方便快捷的查询出所有符合他

4、们要求的公交路线,对他们的出行和生活提供帮助。 我国城市公交乘客信息系统的发展处于一个落后的水平,广大乘客可以获得信息的方式很少,公交信息的完整性和准确性得不到保证,而且还没有专门的机构负责信息的发布和管理。出于这个目的,在老师的指导下,我设计了这个城市公交线路查询系统。在对公交乘客出行心理特征进行分析的基础上,考虑乘客选择公交线路决策的因素,进行程序关键部分的框架设计。现阶段,人们的出入方式主要还是来源于城市公交,特别是对于那些到外地出差、打工,进行商业有关或其他事情需要在外地进行短暂停留的人而言,公交对他们是必不可少的,但是对于那个不属于自己所熟悉的城市,坐公交也是一个很大的难题,因此,开

5、发一个公交查询系统就显得非常的重要。本系统的核心是对选择好的车次进行路线的查询,或者输入所要查询的车站名,点击“查询”按钮,查询所有含有该站的车次及相应的停靠站。1.2论文的研究内容公交查询系统是一个取代过去由人工查询的查询系统。本论文论述了一个基于浏览器/服务器模式的公交查询系统的研究和实现的过程. 论文从开发平台和工具谈起,对ASP.NET服务器所提供的组件及其属性和方法做了一般介绍,更重要的是阐述了ASP.NET的数据库访问组件ADO.NET的使用方法。最后,详细介绍了如何创建“公交查询系统”的全部过程。2 系统的开发工具与环境2.1 ASP.NET简介ASP.NET 是一种建立在通用语

6、言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.NET提供许多比现在的Web开发模式强大的的优势。ASP.NET 建立在 .NET Framework 的编程类之上,它提供了一个 Web 应用程序模型,并且包含使生成 ASP Web 应用程序变得简单的控件集和结构。ASP.NET 包含封装公共 HTML 用户界面元素(如文本框和下拉菜单)的控件集。但这些控件在 Web 服务器上运行,并以 HTML 的形式将它们的用户界面推送到浏览器。在服务器上,这些控件公开一个面向对象的编程模型,为 Web 开发人员提供了面向对象的编程的丰富性。ASP.NET 还提供结构服务(如会

7、话状态管理和进程回收),进一步减少了开发人员必须编写的代码量并提高了应用程序的可靠性。另外,ASP.NET 使用这些同样的概念使开发人员能够以服务的形式交付软件。使用 XML Web services 功能,ASP.NET 开发人员可以编写自己的业务逻辑并使用 ASP.NET 结构通过 SOAP 交付该服务。Visual Studio .NET 是一套完整的开发工具,用于生成 ASP Web 应用程序、XML Web services、桌面应用程序和移动应用程序。Visual Basic .NET、Visual C+ .NET、Visual C# .NET 和 Visual J# .NET 全

8、都使用相同的集成开发环境 (IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,此框架提供对简化 ASP Web 应用程序和 XML Web services 开发的关键技术的访问。2.1.1 ASP.NET技术的优点ASP.NET是一种将各种Web元素组合在一起的服务器技术,是一个统一的Web开发平台,它提供了生成一个完整的Web应用程序所必须要的各种服务。与以前的开发模型相比较,它提供了以下数个重要的优点:(1)增强的性能。ASP.NET 是在服务器上运行的编译好的公共语言运行库代码。与被解释的前辈不同,ASP.NET

9、可利用早期绑定、实时编译、本机优化和盒外缓存服务。这相当于在编写代码之前便显著提高了性能。(2)世界级的工具支持。ASP.NET 框架补充了 Visual Studio 集成开发环境中的大量工具箱和设计器。WYSIWYG 编辑、拖放服务器控件和自动部署只是这个强大的工具所提供功能中的少数几种。(3)威力和灵活性。由于 ASP.NET 基于公共语言运行库,因此 Web 应用程序开发人员可以利用整个平台的威力和灵活性。.NET 框架类库、消息处理和数据访问解决方案都可从 Web 无缝访问。ASP.NET 也与语言无关,所以可以选择最适合应用程序的语言(如C#),或是跨多种语言分割应用程序。另外,公

10、共语言运行库的交互性保证在迁移到 ASP.NET 时保留基于 COM 的开发中的现有投资。(4)简易性。ASP.NET 使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署的站点配置。例如,ASP.NET 页框架使您可以生成将应用程序逻辑与表示代码清楚分开的用户界面,和在类似 Visual Basic 的简单窗体处理模型中处理事件。另外,公共语言运行库利用托管代码服务(如自动引用计数和垃圾回收)简化了开发。(5)可管理性。ASP.NET 采用基于文本的分层配置系统,简化了将设置应用于服务器环境和 Web 应用程序。由于配置信息是以纯文本形式存储的,因此可以在没有本地管理工具帮助的情况

11、下应用新设置。此“零本地管理”哲学也扩展到了 ASP.NET 框架应用程序的部署。只需将必要的文件复制到服务器,即可将 ASP.NET 框架应用程序部署到服务器。不需要重新启动服务器,即使是在部署或替换运行的编译代码时。(6)可缩放性和可用性。ASP.NET 在设计时考虑了可缩放性,增加了专门用于在聚集环境和多处理器环境中提高性能的功能。另外,进程受到 ASP.NET 运行库的密切监视和管理,以便当进程行为不正常(泄漏、死锁)时,可就地创建新进程,以帮助保持应用程序始终可用于处理请求。(7)自定义性和扩展性。ASP.NET 随附了一个设计周到的结构,它使开发人员可以在适当的级别“插入”代码。实

12、际上,可以用自己编写的自定义组件扩展或替换 ASP.NET 运行库的任何子组件。实现自定义身份验证或状态服务一直没有变得更容易。(8)安全性。借助内置的 Windows 身份验证和基于每个应用程序的配置,可以保证应用程序是安全的。2.1.2 .NET Framework概述.NET Framework 是用于生成、部署和运行 XML Web services 和应用程序的多语言环境。它由以下几个主要部分组成:公共语言运行库 运行库实际上在组件的运行时和开发时操作中都起到很大的作用,尽管名称中没有体现这个意思。在组件运行时,运行库除了负责满足此组件在其他组件上可能具有的依赖项外,还负责管理内存分

13、配、启动和停止线程和进程,以及强制执行安全策略。在开发时,运行库的作用稍有变化;由于做了大量的自动处理工作(如内存管理),运行库使开发人员的操作非常简单,尤其是与今天的 COM 相比。特别是反射等功能显著减少了开发人员为将业务逻辑转变为可重用组件而必须编写的代码量。 统一编程类 该框架为开发人员提供了统一的、面向对象的、分层的和可扩展的类库集 (API)。目前,C+ 开发人员使用 Microsoft 基础类,而 Java 开发人员使用 Windows 基础类。框架统一了这些完全不同的模型并且为 Visual Basic 和 JScript 程序员同样提供了对类库的访问。通过创建跨所有编程语言的

14、公共 API 集,公共语言运行库使得跨语言继承、错误处理和调试成为可能。从 JScript 到 C+ 的所有编程语言具有对框架的相似访问,开发人员可以自由选择它们要使用的语言。2.2 ADO.NET概述ADO.NET并不是ADO的升级版本,它是全新的面向对象模型。比ADO更适应于分布式及Internet等大型应用程序环境,为了多人同时存取更具扩展性,ADO.NET的数据存取采用的是离线存取模式,可说是专门为.NET平台设计的数据存取结构。它具有简单地访问关系数据、可扩展性、支持多层应用程序、统一XML和关系数据访问的特点。ADO.NET的主要目标是提供对关系数据的简单访问功能。坦白的说,易于使

15、用的类描述关系数据库中的表、列和行。另外,ADO.NET引入了DataSet类,它代表来自封装在一个单元中的关联表中的一组数据,维持他们之间完整的关系。这是在ADO.NET中的新概念,可以显著的扩展数据访问接口的功能。ADO.NET可以扩展它为插件.NET数据提供者(也称为可管理提供者)提供了框架,这些提供者被构建,以便从任何数据源读取和写入数据。ADO.NET提供了两种内置的.NET数据提供者,一种用于OLE DB数据源,另一种用于Microsoft SQL Server。可以通过OLE DB访问数据格式(比如Microsoft Access)、第三方数据库和非关系数据。另外,Microso

16、ft最近预演了用于ADO.NET的ODBC.NET数据提供者,它允许.NET访问更多的旧的数据格式和第三方数据库。ADO.NET用于多层应用程序。这是当今商业和电子商务应用程序最常见的体系结构。在多层体系结构中,应用逻辑的不同部5分1运a行s在p多x个服务器或进程中,每一部分就称为一层。ADO.NET使用开放的Internet标准XML格式在层之间通信,允许数据通过Internet防火墙来传递,并允许以非Microsoft技术来实现一层或多层。那么在Visual Studio.NET中ADO.NET访问数据库分为二种。一种是SQL Server数据库,另一种是其它任何类型的数据库。本系统的后台

17、数据库为SQL Server 2005,因此是通过SQLConnection、SqlCommand、SqlDataAdapter、DataSet等几个主要的数据访问对象来访问数据的。2.3系统的开发要求本次开发的公交查询系统对操作系统的要求如下:硬件要求:CPU:最低Intel Pentium II 500 MHz。磁盘空间:250MB(完全安装),155MB(快速安装)。内存:512MB(最好1GB以上)。显示:1024*768,256色软件要求:操作系统:Windows 2000以上的操作系统。开发平台:Visual Studio.NET 2005,Microsoft SQL Server

18、 2005。3 需求分析3.1 系统需求分析随着我国经济的高速发展,人们生活水平的提高,越来越多的人开始热衷于到外地旅游。那么对于这些外来旅游者,首先搞清这个城市的公交路线显的很重要!我的家乡沈阳,作为一个旅游城市,每年都要吸引大量的游客,为了满足这些游客熟悉公交路线的需求,特以公交查询系统为设计课题。本软件不仅能给游客带来方便,也能给广大市民提供方便。我认为这样的系统应该具有很好的实用性!开发本系统的目标就是立足广大乘客的实际,着眼于公交业的未来发展,规范公交管理,提高服务质量,方便乘客查询,并为此设计该系统。人们生活水平的提高,越来越多人喜欢旅游,但是第一次来一个陌生的城市,肯定对公交路线

19、不熟悉,所以必定需要一个能查看具体公交线路的公交系统。有些只知道一个站的某几个字或一个车次的某几个数字,所以本系统将给出站点的模糊查询,方便用户的查询,有些只知道车次或某个站点,本系统也给出了公交线路查询、公交站点查询、公交换乘查询,进一步方便大家的出行,但也有用户什么都查不到,想留言问问人,所以再搞个留言板很有必要,方便大家交流以及解答各种疑难问题!本系统采用结构化设计的方法来实现系统总体功能,提高系统的各项指标,即将整个系统合理的划分成各个功能模块,正确地处理模块之间和模块内部的联系以及和数据库的联系,定义各模块的内部结构,通过对模块的设计和模块之间关系的系统来实现整个系统的功能前台主要有

20、3个模块,线路查询、站点查询和后台管理模块功能名称:线路查询功能概述:可以获得要查询公交所通过的各个站点。功能名称:站点查询功能概述:通过输入的指定站点查询经过该站点的公交。功能名称:后台管理功能概述:用于管理员登陆,添加、修改、删除公交线路,修改信息资料、安全密码。3.2 数据库需求分析数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。数据库技术是由传统的文件系统发展而来的,从层次模型、网状模型发展到关系模型。数据库技术是数据管理的最新技术,是计算机科学的一个重要分

21、支,它能指导我们正确地设计数据库系统,它的出现极大地促进了计算机应用的发展。采用数据库技术的原理和方法可以有效地设计实用的数据库系统。一个完整的数据库系统包括数据库管理系统(DBMS),数据库管理员(DBA)、数据库(DB)、应用程序和相应的硬件设施。目前许多数据库管理系统都基于关系模型,关系模型的主要特点是用表格结构表达实体,用键表示实体与实体之间的联系。与层次模型和网状模型相比,关系模型比较简单,容易为初学者接受。关系模型是由若干个关系模式组成的集合,关系模式相当于记录类型,它的实例称为关系。每个关系是一张表格。表格简单,用户易懂,用户只需用简单的查询语句就可以对数据库进行数据操作,并不涉

22、及到存储结构,访问技术等细节。关系模型是数学化的模型,要用到集合论,离散数学等知识。SQL语言是关系数据库的代表性语言,已经得到广泛应用。在设计数据库时,应注意数据的安全性,保证数据的安全,防止非法用户访问数据库,以免泄露重要信息,同时也能防止非法用户的蓄意破坏,有许多保护数据的方法,如采用用户标识,口令和密码或访问控制等方法。一个成功的数据库应用系统应具有用户标识,每一个合法用户具有一个用户名和相应的口令,进入数据库应用系统前必须输入正确的口令,否则无法进入系统,这就保证了只有合法的用户才能操作数据库系统。为了保证数据的合法语义,必须对数据库的数据进行完整性约束,即防止用户输入不合语义的数据

23、。在设计应用软件时,应严格按照软件工程学的方法进行设计,传统的方法采用瀑布模型,从问题定义、可行性分析、需求分析、概念设计、总体设计、系统实现、编码和软件测试、运行和维护等软件生命周期内,每一阶段均在前一阶段的基础上进行设计,并在每一阶段有相应的文档资料。设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。数据库设计一般包括如下几个步骤:数据库需要分析,数据库概念结构设计,数据库逻辑结构设计。3.3 性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行,城市公交查询系统应该满足以下的性能需求:3.3.1 系统处理的准确性和及时性系统处理的准确性和及时性是

24、系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足企业对信息处理的需求。3.3.2 系统的开放性和系统的可扩充性公交查询系统在开发过程中,应该充分考虑以后的可扩充性。例如网上查询的用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。3.3.3 系统的易用性和易维护性公交查询系统是直接面对使用人员的,而使用人员往往

25、对计算机并不时非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。3.3.4 系统的标准性系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。所有这些都要符合主流国际、国家和行业标准。例如在开发中使用的操作系统、网络系统、开发工具都必须符合通用标准。如规范的数据库操纵界面、作为业界标准的TCP/IP网络协议及ISO9002标准所要求的质量规范等;同时,在自主开发本系统时,要进行良好的设计工作,制订行之有效的软件工程规范,保证代码的易读

26、性、可操作性和可移植性。3.3.5 系统的先进性目前计算系统的技术发展相当快,做为公交查询系统工程,应该保证系统在下个世纪仍旧是先进的,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。另一方面,在系统设计和开发的过程中,应在考虑成本的基础上尽量采用当前主流并先进且有良好发展前途的产品。3.3.6 系统的响应速度公交查询系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。在进行统计分析时,根据所需数据量的不同而从秒级到分钟级,原则是保证操作人员不会因为速度问题而影响工作效率。4系统概要设计4.1概

27、述本阶段设计的基本目标是解决系统如何实现问题,也叫做概要设计,本阶段主要任务是划分出系统的物理元素及设计软件的结构,完成软件定义时期的任务之后就应该对系统进行总体设计,即根据系统分析产生的分5析1结果AS来PX确定这个系统由哪些系统和模块组成,这些系统和模块又如何有机的结合在一起,每个模块的功能如何实现。系统设计的目标是使系统实现拥有所要求的功能,同时,力争达到高效率、高可靠性、可修改性,并且容易掌握和使用。模块化理论的几个重要概念如下:抽象。抽象就是抽象出事物的本质特性而暂时不考虑它们的细节。处理复杂系统唯一有效的方法是用层次的方式构造和分析它。一个复杂的动态系统首先可以用一些高级的抽象概念

28、构造和理解,这些高级概念又可以用一些较低级的理解,直到最低层次的具体元素。信息隐蔽和局部化。信息隐蔽是指在设计和确定模块时,应使得一个模块内包含的信息对于不需要这些信息的模块来说,是不能访问。局部化是指把一些关系密切的软件元素物理的放得彼此靠近。局部化有助于实现信息隐蔽。信息隐蔽原理和局部化有助于在测试期间以及软件维护期间修改软件。因为绝大多数数据和过程对于软件的其它部分而言是隐蔽的,从而由疏忽引入的错误就很少可能传播到软件的其它部分。逐步求精的模块化概念。逐步求精和模块化的抽象是密切相关的。软件结构每一层中模块表示对软件抽象层次的次细化。用自顶向下,逐步求精的方法由抽象到具体的方式分配控制,

29、简化了软件设计和实施,提高了软件的可理解性和可测试性,并使得软件更容易维护。模块独立性。模块的划分要使模块间尽可能的相互独立,独立模块较易维护。度量模块的独立程度有两个标准:内聚和耦合。耦合是对一个软件结构内不同模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数。4.2 功能模块划分查询系统模块该模块实现公交查询功能。可实现按线路查询、站点查询和起点终点查询三种查询方式。录入系统模块该模块实现数据的新增、修改、删除功能。系统模块图如图4.1所示:图4.1 系统功能框图4.3 数据库设计数据库技术是在文件系统的基础上发展起来的一种高效的数据管理技

30、术,它能保持系统数据的整体性,完整性和共享性。在数据库系统中提供了对数据的访问机制,能有组织的存储相关的数据,具有合理的存储方式,快速的查询效率和最小的数据冗余等特性。另外数据的存储和应用程序彼此独立,不仅便于数据的管理与控制而且有利于应用程序的编写与调试。数据库类似于一个数据的大仓库,能很好地实现数据共享,能维护数据的一致性。数据库设计是系统设计的一个重要内容,其设计质量的好坏直接影响系统开发的成败,系统的质量,系统效率及可维护性。4.3.1 数据库概念结构设计在系统设计的开始,我首先考虑的是如何用数据模型来数据库的结构与语义,以对现实世界进行抽象。目前广泛使用的数据模型可分为两种类型,一种

31、是独立于计算机系统的“概念数据模型”,如“实体联系模型”;另一种是直接面向数据库逻辑结构的“结构数据模型”。在本系统中我采用“实体联系模型”(ER模型)来描述数据库的结构与语义,以对现实世界进行第一次抽象。ER模型直接从现实世界抽象出实体类型及实体间联系,然后用ER图来表示数据模型。它有两个明显的优点:接近于人的思维,容易理解;与计算机无关,用户容易接受。但它只是数据库设计的第一步。实体和属性的定义如下:管理员表(登陆ID,登录姓名,登录密码)站名表(站名编号,站名)车辆线路编号表(车次,车线类型)线路表(线路编号,车次,站名,次序)车辆表(车辆编号,车次,车辆类型,服务类型,票价,IC卡类型

32、,运行区间)冬季发车时间表(车次,编号,首班时间,末班时间)夏季发车时间表(车次,编号,首班时间,末班时间)4.3.2数据库逻辑结构设计本系统采用的数据库管理系统是Microsoft公司的SQL Server 2005。该管理系统由一系列产品组成,不仅能够满足最大的数据处理系统和商业 Web 站点存储数据的需要,还能为个人或小企业提供易于使用的数据存储服务。Microsoft SQL Server 2005 的特性包括: (1)企业数据管理在当今的互联世界中,数据和管理数据的系统必须始终为用户可用且能够确保安全。有了 SQL Server 2005,组织内的用户和信息技术 (IT) 专家将从减

33、少的应用程序停机时间、提高的可伸缩性及性能、更紧密而灵活的安全控制中获益。SQL Server 2005 也包括了许多新的和改进的功能来帮助 IT 工作人员更有效率地工作。SQL Server 2005 包含几个在企业数据管理中关键的增强:易管理性、可用性、可伸缩性、安全性。(2)SQL Server Management StudioSQL Server 2005 通过提供一个集成的管理控制台来监视和管理 SQL Server 关系数据库、Integration Services、Analysis Services、Reporting Services、Notification Servic

34、es 以及在数量众多的分布式服务器和数据库上的 SQL Server Mobile Edition,从而简化了管理工作。数据库管理员能够同时执行多个任务,例如,编写和执行查询,查看服务器对象,管理对象,监视系统活动和查看联机帮助。(3)SQL 管理对象SQL 管理对象 (SMO) 是一个新的可编程对象集,它可实现所有 SQL Server 数据库的管理功能。事实上,Management Studio 就是构建在 SQL 管理对象之上的。SMO 是作为 Microsoft .NET Framework 程序集实现的。(4)可用性在高可用性技术、额外的备份和恢复功能,以及复制增强上的投资使企业能够

35、构建和部署高可用的应用程序。在高可用性上的创新有:数据库镜像、故障转移群集、数据库快照和增强的联机操作,这有助于最小化停机时间,并确保可以访问关键的企业系统。本节将详细介绍这些增强特性。(5)数据库镜像数据库镜像允许事务日志以连续的方式从源服务器传递到单台目标服务器上。当主系统出现故障时,应用程序可以立即重新连接到辅助服务器上的数据库。辅助实例几秒钟内即可检测到主服务器发生了故障,并能立即接受数据库连接。本系统创建的SQL数据库名称为城市公交查询系统。并将数据文件和日志文件保存在公交查询系统APP_DATA文件夹中。此数据库包含7个表:管理员表(LoginTable)管理员表存放登陆系统所需要

36、的用户名和密码,登录后台时需要访问此表。 表4.2 管理员表字段名数据类型长度是否为空是否为主键说明LoginIdint4否是登陆IDLoginPwdvarchar50否否登陆密码Loginnamevarchar50否否登陆姓名站名表站名表存放站名等数据,修改站名需要访问此表。表4.3 站名表字段名数据类型长度是否为空是否为主键说明站 编号int4否是站名编号站名varchar50否否站名车辆线路编号表车辆线路编号表存放线路编号等数据,修改车辆线路编号将要访问此表。表4.4 车辆线路编号表字段名数据类型长度是否为空是否为主键说明车次int4否是车次车线类型varchar50否否车线类型线路表线

37、路表存放公交车线路的数据,修改车辆线路需要访问此表。表4.5线路表字段名数据类型长度是否为空是否为主键说明线路编号int4否是线路编号车次int4否是车次站名varchar50否否站名次序int4否否次序车辆表车辆表存放车辆的相关信息,修改车辆等相关信息需要访问此表。表4.6 车辆表字段名数据类型长度是否为空是否为主键说明车辆编号int4否是车辆编号车次int4否是车次车辆类型varchar50否否车辆类型服务类型varchar50否否服务类型票价varchar50否否票价IC卡类型varchar50否否IC卡类型运行区间varchar50否否运行区间夏季发车时刻表夏季发车时刻表存放夏季发车的

38、时间,修改夏季发车时间需要访问此表。表4.7 夏季发车时刻表字段名数据类型长度是否为空是否为主键说明编号int4否是编号车次int4否否车次首班时间varchar50否否首班时间末班时间varchar50否否末班时间冬季发车时刻表冬季发车时刻表存放冬季发车的时间,修改冬季发车时间需要访问此表。表4.8 冬季发车时刻表字段名数据类型长度是否为空是否为主键说明编号int4否是编号车次int4否否车次首班时间varchar50否否首班时间末班时间varchar50否否末班时间5、 详细设计与实现5.1 前台功能的实施5.1.1连接数据库的包含文件在动态网站中,调用数据库中的数据是十分频繁的,为了避免

39、编写重复的代码。编写一个数据库连接文件是非常重要的。DB.cs文件中包含了本系统中的数据库的连接代码。本系统的数库的连接代码如下:public static SqlConnection createConnection()SqlConnection con=new SqlConnection(server=.;database=城市公交查询系统;uid=sa;pwd=123;);return con;5.1.2按线路查询线路查询模块:用户进入系统后,在线路查询模块的输入框中输入要查询的线路,点击查询按钮,系统首先检查用户所查询的线路是否存在,如果不存在给出出错提示,如果存在给出这条线路的相关信

40、息,如:双向早晚车的工作时间,票价,经过的站点。如线路存在,进入线路界面如图5.1所示:图5.1线路查询主要实现代码如下:SqlCommand cmdsj=new SqlCommand(cmdstring,con);SqlDataReader sdrsj=cmdsj.ExecuteReader();while(sdrsj.Read()string linetemp1=sdrsj首班时间.ToString();string linetemp2=sdrsj末班时间.ToString();line+=(首班时间为:+linetemp1+ ;line+=末班时间为:+linetemp2+);SqlCo

41、mmand cmd=new SqlCommand(select * from 公交车线路表where 车次=+num+order by 次序ASC,con);SqlDataReader sdr=cmd.ExecuteReader();trywhile(sdr.Read()line+=sdr站名.ToString();line=line.Replace(sdr站名.ToString(),+sdr站名.ToString()+);line+=-;finallydr.Close();con.Close();int i;i=Convert.ToInt32(line.Length);line=line.S

42、ubstring(0,i-3); 5.1.3按站点查询站点查询模块:用户进入系统后,按站点的确切信息也就是完全匹配查询,此时用户要给出站点的全称,当点击查询按钮后,系统会在数据库中检测该站点是否存在,如果存在,系统显示这个站点的相关信息。比如:经过这个站点共有哪些线路,这些线路又各经过哪些站点,即可查询,如图5.2。 图5.2 站点查询主要实现代码如下:SqlCommand cmd=new SqlCommand(SELECT 车次FROM 公交车线路表 WHERE 站名=+a+,con);SqlDataReader sdr=cmd.ExecuteReader();while(sdr.Read(

43、)alS.Add(sdr.GetValue(0);cmd.CommandText=SELECT 车次FROM 公交车线路表WHERE 站名=+b+;SqlDataReader sdr1=cmd.ExecuteReader();while(sdr1.Read()alE.Add(sdr1.GetValue(0);for(int i=0;ialS.Count;i+)for(int j=0;jalE.Count;j+)if(alSi.ToString()=alEj.ToString()alNum.Add(alEj); 5.1.4按两站点查询两站点查询模块:用户进入系统后,在主页面的换乘查询模块中,用户

44、可以在起点站输入框中输入自已的出发点,然后在终点站输入框输入出行的终点,系统会给出相关提示,显示出所需乘坐的公交车线路。如图5.3图5.3 两点查询主要实现代码如下:if(cixuScixuE) zhanmNum=cixuE-cixuS+1;cmd.CommandText=SELECT 站名FROM 公交车线路表WHERE 次序BETWEEN +cixuS+ AND +cixuE+ AND 车次=+alNumk.ToString()+ ORDER BY 次序ASC;elsezhanmNum=cixuS-cixuE+1;cmd.CommandText=SELECT 站名FROM 公交车线路表WH

45、ERE 次序BETWEEN +cixuE+ AND +cixuS+ AND 车次=+alNumk.ToString()+ ORDER BY 次序DESC;str+=+alNumk.ToString()+;str+=路(总共经过+zhanmNum.ToString()+个站);5.2后台管理功能的实现5.2.1新增车次线路此模块为管理员操作,如当地出现新的公交线路,或原有公交车线路有新的站点加入,管理员可以登陆此表,及时添加线路和站点的信息,以保证车次线路的及时更新,方便用户查询。添加的界面如图5.4,5.5所示:图5.4 新增线路站名图5.5新增车次主要实现代码如下:if(Check()int maxChelNo=GetMaxChelNo();SqlConnection con=DB.createConnection();con.Open();SqlCommand cmd=new SqlCommand(INSERT INTO 车辆线路编号表(车次,车线类型)VALUES(车次,车线类型),con);SqlParameter para=new SqlParameter(车次,SqlDbType.Int,4);para.Value=Convert.ToInt32(this.txtChec

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文 > 大学论文

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922