摘 要
智能公交查询系统首先考虑了公交运营的实际情况和不同公交乘客的实际要求,分析了此系统应该具有的功能;其次对系统的主要功能模块进行了详细地描述,其中前台包括线路查询、站点查询和两站点换乘线路查询,后台管理包括车次信息的添加、删除和修改,最后结合系统开发阶段和调试阶段发现的问题,找到了系统需要完善的地方,总结了开发此系统所取得的经验。
根据系统所需功能,决定以Microsoft Visual Studio2005为开发平台,采用SQL server 2005做后台数据库,.NET Framework开发框架,C#开发语言。本系统在开发过程中,注意使其符合操作的业务流程,并力求系统的全面性,通用性,使得本系统适用于公交公司和乘客。在开发方法的选择上,选择了生命周期法与原型法相结合的方法,遵循系统调查研究,系统分析,系统设计和系统实施四个主要阶段进行设计,而在具体的设计上,采取了演化式原型法,随着用户的使用以及对系统的了解的不断加深,对某一部分或几部分进行重新分析,设计,实施。
关键词:智能公交查询,ASP.NET ,B/S结构,SQL Server数据库
ABSTRACT
Intelligent transportation system first inquiries into account the actual situation and the practical requirements for bus passengers bus operators, the analysis of this system should have the functionality; Secondly, the main function modules of the system are described in detail, which includes the reception line query, the query site and two-site transfer line query, background information management, including trips to add, delete and modify the final stages of system development combined with problems discovered and commissioning phase, the system needs to find the perfect place to summarize the experience of the development of this system is achieved.
The system according to the desired function, decide to Microsoft Visual Studio2005 development platform, using SQL server 2005 database to do the background,. NET Framework Development Framework, C # development language. The system in the development process, pay attention to the operation of business
目录
processes to conform and seek a comprehensive, universal system, making the system suitable for the bus company and the passengers. In the choice of development methods, choose the life-cycle method and prototype method are combined, follow the system research, system analysis, system design and system implementation to design four main stages, and in particular the design, took Evolutionary prototyping, as well as the user's understanding of the system continues to deepen, in part or several parts of a re-analysis, design and implementation.
Key words: Intelligent transportation inquiry, ASP.NET, B / S structure, SQL Server
database
学院本科毕业设计
1 绪论
1.1 课题背景
《关于城市优先发展公共交通的指导意见》提出“城市公共交通具有集约高效、节能环保等优点,优先发展公共交通是缓解交通拥堵、转变城市交通发展方式、提升人民群众生活品质、提高基本公共服务水平的必然要求,是构建资源节约型、环境友好型社会的战略选择”[1].
城市公交是专门服务于市民出行的客运企业。它是城市社会和经济活动的重要组成部分。伴随着国民经济和城市建设的快速发展,城市经济的繁荣,人口的增加,城市必须解决好人们出行的需求。城市公交直接关系着城市的经济发展和居民生活,对城市经济具有全局性、先导性的影响,城市公交以其方便、快捷、容量大而成为城市交通的主体。但是随着公交系统的庞大,人们很难得到准确的公交信息,这样给一些人的出行就带来了不便。因此,急需一个方便、快捷的公交信息查询方式,本系统通过浏览器查询,实现中心控制、自动更新、更多的查询方式等等更多更强大的功能。
现今,城市的公交车交通网日益完善,公交车几乎可以满足市民到达城市的任何角落,且得到安全,快捷,优质的公交车服务。对乘客来说,若要到达目的地是一个陌生的地方,要选择一个最便利,最低廉的乘车方式,这时公交车线路管理系统就可以通过乘客的站点查询,显示出所有乘客可选用的乘车方案。公交网的扩大,公交线路的增加,很多线路不为市民所熟知,开发与之适应的管理系统有必要性:方便市民对公交车线路的了解,更展示了城市公交网的风貌。
1.2 智能公交查询系统的现状
1.2.1国内现状研究
智能公交查询系统是公民出行的必备软件,国内现有最大的也最流行智能公交查询网站有百度地图和谷歌地图。
1.2.2国外现状研究
在西方国家(如美国、日本等),在城市公交网络系统上投入了极大的财力,构建了利用计算机网络和先进的通信系统的智能运输系,从而实现了大范围内全方位发挥的实时、准确、高效的运输综合管理,使人、车、路密切配合,和谐统一,
智能公交查询系统
大大改善了交通环境等。
1.3 课题研究内容
本系统采用的是Microsoft Visual Studio2005、ASP.Net 、SQL Server 2005数据库相结合的方法,将所有收集的数据信息按其属性分类存储到数据库中,再通过程序调用这些数据信息实现各种查询及管理,即所谓的\"程序设计数据化,数据管理程序化\"思想。
基于这种思想的查询系统的理论及技术已日趋成熟,加之这些软件的应用性和移植性都非常优秀而且其发展也到了较成熟的阶段,这就保障了日后的系统维护工作,并可不断更新。
所以本系统在技术上是绝对可行的。而且该系统对于操作环境的要求不高,现在普遍使用的计算机都可以运行该系统。
主要研究内容包括:城市交通信息管理,包括出租车、公交、地铁等线路信息管理;
用户提交交通站点信息然后查询出行的线路信息。随着城市的公交车交通网日益完善,公交车几乎可以满足市民到达城市的任何角落,且得到安全,快捷,优质的公交车服务。那么对乘客来说,若要到达目的地是一个陌生的地方,要选择一个最便利,最低廉的乘车方式,这时公交车线路管理系统就可以通过乘客的站点查询,显示出所有乘客可选用的乘车方案,借此,特开发此公交车线路管理系统,该系统实现了公交车线路一览化,查询线路清晰化。公交车线路管理系统是一个一体化集成系统,进行信息管理是从总体出发,全面考虑,保证各种职能部门共享数据,减少数据的冗余度,保证数据的兼容性和一致性。严格地说只有信息的集中统一,信息才是资源。公交网的扩大,公交线路的增加,很多线路不为市民所熟知,开发与之适应的管理系统有必要性和可行性。
1.4 论文结构
本论文结构如下:
第一章 绪论部分:主要介绍了系统的开发背景,分析了系统的国内外现状,提出了课题研究的内容。
第二章 介绍系统设计的相关技术,B/S架构、ASP.NET , 开发语言C#,SQL Server 2005数据库。
第三章 对可行性、功能需求、用户需求进行分析。
学院本科毕业设计
第四章 介绍了智能公交查询系统的总体架构设计、数据库设计和功能详细设计。
第五章 智能公交查询系统各功能模块如前台用户登录注册、公交查询模块与后台管理员登录、管理公交信息模块的实现。
第六章 智能公交系统的测试。 第七章 对系统开发的总结
智能公交查询系统
2 相关技术介绍
2.1 asp.net介绍
ASP.NET是建立在通用语言运行时刻库(CLR)上的应用程序框架。它用来在服务器端构建功能强大的web应用程序。ASP.NET提供了几个超越以前web开发模式的优点:
增强的性能。ASP.NET是运行在服务器端的编译后的CLR代码,而不是像ASP那样解释执行。 ASP.NET利用提前绑定,即时编译,本地优化和缓存服务来提高性能。所有这一切,性能远远大于你以往写的每一行代码。
世界级水平的开发工具支持。在Visual Studio .net的集成开发环境(IDE)中,ASP.NET框架由工具箱和设计器组成。所见即所得的(WYSIWYG)编辑方式、拖放服务器控件、以及自动部署,仅仅是这一强大工具所提供的一少部分功能。
2.2 C#语言介绍
最近微软宣布了它的最新编程语言C#,这是一种面向对象的编程语言,它将作为Visual Studio中的一部分推出。C#(发音为“C-Sharp”)既保持了C++中熟悉的语法,并且还包含了大量的高效代码和面向对象特性。据微软产品经理透露,C#语言将在保持C/C++灵活性的基础上为程序员带来更高效的RAD开发方式。它不仅能用于WEB服务程序的开发,并且还能开发强大的系统级程序。
微软还没有正式宣布这一新语言技术,该技术将以测试形式出现在微软打算在7月中旬在专业开发会议上分发的Visual Studio 7中。Visual Studio 7将于明年某个时候正式发售。
Layman介绍说C#包含使XML编程更为轻松的技术。微软将使它的下一代工具软件、操作系统和应用支持XML技术。
新的编程语言还将包含虚拟机设备。微软已经公开表示C#技术和该公司去年开发的 Java竞争技术Cool没有关联。微软拒绝回答是否计划在Visual Studio 7中提供微软设计的视窗版Java Visual J++的某个版本。
2.3 B/S架构
B/S结构(Browser/Server结构)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作
学院本科毕业设计
界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、速度快、效果优。
2.4 SQL Server数据库介绍
数据库(DB)是指按照不同的数据模型长期存储在计算机内,能为多个用户所共享,且与应用程序彼此的数据集合,其作为数据管理的新方法和技术,产生于20世纪60年代中期,至今已形成了较成熟的理论体系和实用技术。数据库系统是管理数据的工具,它是由外模式、模式、内模式三级构成。其中,外模式是指数据库用户看见和使用的局部数据逻辑结构和特征的描述,是数据库用户的数据视图,是最接近用户的一级;模式也称概念模式,是指数据库中全体数据的逻辑结构和特征描述,是所有用户的公共数据视图,一个数据库中只有一个模式;内模式也称存储模式,最接近物理存储设备。数据库系统的三级模式把数据的具体组织让DBMS管理,用户只需逻辑且抽象地处理数据即可,无需关心数据在计算机中具体的表示方式及存储方式。
Microsoft SQL Server现今是一个全面的数据库平台,是一个分布式关系型数据库管理系统,具备客户机/服务器体系结构,采用了T-SQL语言客户机与服务器间传递客户机请求与服务器处理结果(SQL)进行数据库管理。它具有易用性、分布式组织的伸缩性、决策支持数据仓库、与许多其服务器软件紧密关联的集成性、良好性价比等优点。
本系统使用的是目前比较新的Microsoft SQL Server 2005这一版本。
智能公交查询系统
3 需求分析
3.1可行性分析
本论文建立的是一个智能公交查询的网站,目的是方便用户查询及交流,应用现代信息技术,解决出行不知路线的困惑,提高公交查询效率,建立一个查询与交流的信息平台。
1、经济可行性
本系统现阶段的建立是针对榆林地区的市民,在其功能上市场寿命长,本着交流与查询的网站平台,更能随时的了解公交动态及更新情况,给市民提供一个轻松且经济的交流平台。
2、技术可行性
根据系统功能、性能、实现系统的各项约束条件,来分析技术是否能够顺利完成。本系统主要是根据软硬件来判断,基于现有的技术水平完全能够满足要求,随着科技的不断发展,硬件更新速度很快,硬件性能也在极速发展,在电脑成本越来越低的情况下,各家庭装配的电脑也完全达到本系统网站的要求。
硬件方面:2G以上内存,奔腾Ⅲ以上的CPU,30G以上硬盘空间均可以达到要求。 软件方面:Microsoft Visual Studio2005、ASP.Net 、SQL Server 2005等开发工具及技术已相当成熟,这一点极大方便操作人编码开发,调试测试。
3、操作可行性
本系统一般用户只需要有一个可以使用的浏览器软件,就可以使用了;管理员也只需要有一台适宜的电脑就可以进行后台管理。本系统操作简单、便捷,是用户容易接受,故是可行的。
3.2性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行, 智能公交查询系统应该满足以下的性能需求:
1.系统处理的准确性和及时性
系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足企业对信息处理的需求。
由于智能公交查询系统的查询功能对于整个系统的功能和性能完成举足轻重。其准确性很大程度上决定了 智能公交查询系统的成败。在系统开发过程中,必须采用一定的方法保证
系统的准确性。
2.系统的开放性和系统的可扩充性
智能公交查询系统在开发过程中,应该充分考虑以后的可扩充性。例如网上查询的用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。
3.系统的易用性和易维护性
智能公交查询系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。
智能公交查询系统中涉及到的数据是公交公司的相当重要的信息,系统要提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,系统意外崩溃时数据的恢复等工作。
智能公交查询系统
3.3功能需求分析
我开发的智能公交查询系统按角色分为前台功能和后台2个功能模块。 前台主要功能模块包括:用户登录,用户注册,新闻公告,线路查询,站点查询,区间查询等功能模块,主要实现了用户在网站上面查询线路信息。
后台主要功能模块包括:新闻公告管理,线路管理,站点管理,运行线路管理,会员管理,生活信息管理等功能模块。
智能公交查询系统前台功能模块后台功能模块用户注册用户登录新闻信息路线查询站点查询区间查询会员管理线路信息管理站点信息管理账号管理运行线路管理新闻信息管理
图3-6 系统管理模块功能分析图
3.4用户需求分析
用户:普通用户、管理员。
智能公交查询系统的用例图如图3-7所示:
账号管理< 图3-7智能公交查询系统用例分析图 智能公交查询系统 4系统的设计 4.1网站总体架构设计 业务逻辑层数据访问层数据访问层接口Web表现层数据库 图4-1 系统总体架构设计图 各个结构层的具体描述如下: 1.数据库是系统的最底层,它存储系统的所有数据。 2.数据访问层接口并不实现具体的方法而是为数据访问层提供访问数据库的抽象接口。 3.数据访问层建立在数据库之上应用程序通过该层访问数据库。数据访问层一般封装操作数据库的选择、添加、更新和删除等操作。 4.2数据库设计 当开发网站的时候,不但要考虑网站的功能、安全性,也要考虑网站的可维护性,现今,使用数据库技术能够很容易地达到该目的。利用数据库技术,可以实现在线维护网站,且不需要每次遇到修改问题都通过打开HTML源文件来进行操作,利用数据库技术可以有效的避免人为失误,也可以很容易的进行管理维护,这样,将大大提高系统的运行效率,并保证了系统运行的稳定性。 智能公交查询系统作为一个公交信息查询和交流的平台,需要动态的读写数据,在本系统中使用的是SQL Server2005 数据库来管理、保存数据。 合理设计数据库能够有效地提高数据库存储的效率,数据库设计一般包括以下几个部分。 4.2.1 数据库需求分析 需求分析是数据库设计的起点,需求分析结果反应着用户实际要求的准确性,进而影响到后面的各个设计阶段,并影响到设计的结果是否合理,是否实用。 本次数据库的设计是基于智能公交查询系统,在满足这一系统的线路查询、站点查询、乘车区间查询这些查询功能模块中,在加入用户信息交流模块,分析 得出,数据库必须满足一下信息的存储: (1)记录管理员帐号相关信息 (2)记录一条运行线路的相关信息 (3)记录公交线路相关信息 (4)记录新闻相关信息 (5)记录站点相关信息 (6)记录会员相关信息 4.2.2 数据库概念结构设计 概念结构是于任何一种数据模型的,也于所使用的具体数据库管理系统。E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系方法。 实体型:具有相同属性的实体即具有相同的特性和性质,用实体名及其属性名集合来抽象和刻画同类实体,用矩形表示。 属性:实体所具有的某一特性,一个实体可由若干个属性来刻画,用椭圆形表示。 联系方法:指组成实体的各属性之间的联系,用菱形表示。 主要的E-R图模型如下。 管理员的实体图如图4-2。 编号管理员账号密码 图4-2管理员实体图 线路实体图如图4-3。 智能公交查询系统 线路信息新闻信息线路编号编号线路名称运营时间线路区间 图4-3线路实体图 会员信息实体图如图4-4。 编号会员信息新闻信息登录账号注册时间登录密码姓名电话 图4-4会员信息实体图 站点的实体图如图4-5。 编号站点信息站点名称 图4-5站点实体图 新闻公告实体图如图4-6. 编号新闻公告新闻信息标题发布时间内容 图4-6新闻公告实体图 4.2.3 数据库逻辑结构设计 数据库逻辑结构设计就是把概念结构设计好的基本E-R图转换为与选用的 DBMS产品所支持的数据模型相符合的逻辑结构。在本系统中,是要将其转换为关系模式。 (1)帐号信息表(帐户编号,登录帐号,登录密码)。 (2)运行线路信息表(运行编号,线路编号,站点名称,站点顺序)。 (3)线路信息表(线路编号,线路区间,线路距离)。 (4)新闻信息表(新闻编号,标题,内容,发布时间,类别名称,类别编号)。 (5)站点信息表(站点编号,站点名称)。 (6)用户信息表(用户编号,登录密码,登录帐号,用户性别,真实姓名,密码问题, 密码答案,电子邮件,用户地址,邮政编码,注册时间)。 4.2.4 数据库物理结构设计 数据库的设计通常是以一个已经存在的数据库管理系统为基础的,常用的数据库管理系统有Access,MySQL,SQL Server, Oracle等。我采用了SQL server2005数据库管理系统,建立的数据库名为ZhiNengGongJiao。 本次项目采用了6张表,主要表的内容和功能在下面显示出来。 (1)Admin (帐号信息表) 主要用于保存帐号信息的基本信息,该表的结构如表4-1所示。 表4-1 Admin (帐号信息表) 列 名 id Username UserPwd 说 明 帐户编号 登录帐号 登录密码 类 型 ( 长 度 ) Int (4) nnvarchar(50) nnvarchar(50) 备 注 不允许空,主键 不允许空 不允许空 (2)AutoRunLine (运行线路信息表) 主要用于保存运行线路的基本信息,该表的结构如表4-2所示。 表4-2 AutoRunLine (运行线路信息表) 字 段 autoID lineID site_name 说 明 运行编号 线路编号 站点名称 类型(长度) Int(4) Int(4) Nvarchar(50) Int(4) 备注 不允许空,主键 不允许空 不允许空 不允许空 site_order 站点顺序 (3)LineInfo (线路信息表) 主要用于保存线路的基本信息,该表的结构如表4-3所示。 表4-3 LineInfo (线路信息表) 智能公交查询系统 字 段 lineID line_space 说 明 线路编号 线路区间 类型(长度) Int(4) Nvarchar(50) Nvarchar(50) 备注 不允许空,主键 不允许空 不允许空 Line_Langth 线路距离 (4)news_inf (新闻信息表) 主要用于保存新闻的基本信息,该表的结构如表4-4所示。 表4-4 news_inf (新闻信息表) 字 段 news_id news_title news_content news_date newstype 说 明 新闻编号 标题 内容 发布时间 类别名称 类型(长度) Int(4) Nvarchar(50) Nvarchar(50) Nvarchar(50) Nvarchar(50) Int(4) 备注 不允许空,主键 不允许空 不允许空 不允许空 不允许空 不允许空 newstypeid 类别编号 (5)SiteInfo (站点信息表) 主要用于保存站点的基本信息,该表的结构如表4-5所示。 表4-5 SiteInfo (站点信息表) 字 段 siteID 说 明 站点编号 类型(长度) Int(4) Nvarchar(50) 备注 不允许空,主键 不允许空 site_name 站点名称 (6)users (用户信息表) 主要用于保存用户的基本信息,该表的结构如表4-6所示。 表4-6 users (用户信息表) 字 段 user_Id user_pwd user_name user_sex User_realName user_Answer user_Answer2 user_email user_add 说 明 用户编号 登录密码 登录帐号 用户性别 真实姓名 密码问题 密码答案 电子邮件 用户地址 类型(长度) Int(4) Nvarchar(50) Nvarchar(50) Nvarchar(50) Nvarchar(50) Nvarchar(50) Nvarchar(50) Nvarchar(50) Nvarchar(50) 备注 ,主键 不允许空 不允许空 不允许空 不允许空 不允许空 不允许空 不允许空 不允许空 user_code user_Time 邮政编码 注册时间 Nvarchar(50) Nvarchar(50) 不允许空 不允许空 4.3功能详细设计 4.3.1前台详细设计 4.3.2后台详细设计 智能公交查询系统 5系统的实现<******以下内容应为类图及少量核心代码> 5.1 前台详细设计 前台主要功能模块包括:用户登录,用户注册,新闻公告,线路查询,站点查询,区间查询等功能模块,主要实现了用户在网站上面查询线路信息的功能。 5.1.1 用户登录 用户登录模块是前台的一个重要模块,用户注册后输入正确的帐号和密码才能登录系统,登录成功后用户可以点击注销,可以修改登录密码等功能。 用户登录界面如图5.1。 图5.1 用户登录界面 用户登录的关键代码如下: protected void ImageButton1_Click(object sender, ImageClickEventArgs e){ string sql = \"select * from users where [user_name]='\" + txname.Value + \"' and user_pwd='\" + txtpwd.Value + \"' \"; SqlDataReader dr = data.GetDataReader(sql); if (dr.Read()){ Session[\"username\"] = dr[\"user_name\"].ToString(); Session[\"id\"] = dr[\"user_Id\"].ToString(); Session[\"User_realName\"] = dr[\"User_realName\"].ToString(); Alert.AlertAndRedirect(\"登录成功\ } else{ Alert.AlertAndRedirect(\"登录失败\ } } 5.1.2 用户注册 用户注册功能模块提供了一个用户注册的功能模块,用户注册信息包括登录帐号,登录密码,用户性别,真实姓名,电话,电子邮件,住址等信息。 用户注册界面如图5.2。 图5.2 用户注册 图5-4发送刊物序列图 用户注册的关键代码如下: protected void btnTest_Click(object sender, EventArgs e){ SqlDataReader dr; dr = data.GetDataReader(\"select * from users where user_name='\" + txtLoginName.Text + \"'\"); if (dr.Read()){ lblmessage.Text = \"已经存在不能重复\"; return; } else{ lblmessage.Text = \"可以注册\"; return; 智能公交查询系统 } } protected void btnRegister_Click(object sender, EventArgs e){ data.RunSql(\"insert into users(user_pwd,user_name,user_sex,User_realName,user_Answer,user_Answer2,user_phone,user_email,user_add,user_code,user_Type)values('\" + txtPwd.Text + \"','\" + txtLoginName.Text + \"','\" + DropDownList1.SelectedItem.Text + \"','\" + TextBox3.Text + \"','\" + TextBox4.Text + \"','\" + TextBox5.Text + \"','\" + txtphone.Text + \"','\" + txtemail.Text + \"','\" + TextBox8.Text + \"','\" + txtpostcode.Text + \"','普通用户')\"); Alert.AlertAndRedirect(\"注册成功\} 5.1.3 公交查询 公交查询是系统的最重要的功能模块,公交查询提供了三种方式进行查询,分别是公交线路查询,按照站点查询,按照公交站点区间查询。 点击线路查询之后用户选择公交线路信息然后点击查询就能显示该条公交线路的路线信息。 点击站点查询只有用户选择自己想要去的站点,然后点击查询,系统会显示所有包括该站点信息的公交线路信息以及公交换乘信息。 用户点击区间查询,点击起始站,然后选择终点站信息,然后点击查询,系统会提供相关的线路信息。 线路信息查询界面如图5.3。 图5.3 公交线路信息查询界面 按照站点信息查询界面如图5.4。 图5.4 按照公交站点信息查询 按照站点区间信息查询界面如图5.5。 智能公交查询系统 图5.5 按照站点区间信息查询 区间查询的关键代码如下: private void getInfo(){ string sitename1 = Request.QueryString[\"sitename1\"]; string sitename2 = Request.QueryString[\"sitename2\"]; ArrayList alStartLine = new ArrayList();//存储经过起点站的路线号 ArrayList alEndLine = new ArrayList();//存储经过终点站的路线号 ArrayList alSEtogether = new ArrayList();//存储经过终点站和起始站的公共路线号 ArrayList alStartSite = new ArrayList();//存储经过起点站路线的站点 ArrayList alEndSite = new ArrayList();//存储经过终点站路线的站点 ArrayList alSESite = new ArrayList();//存储经过起点站和终点站共同的站点 string getStartLine = \"select lineID from AutoRunLine where site_name='\" + sitename1 + \"'\"; string getEndLine = \"select lineID from AutoRunLine where site_name='\" + sitename2 + \"'\"; myDataBase.dbRead(getStartLine); while (myDataBase.dr.Read()){ alStartLine.Add(myDataBase.dr.GetValue(0)); } myDataBase.dr.Close(); myDataBase.dbRead(getEndLine); while (myDataBase.dr.Read()) { alEndLine.Add(myDataBase.dr.GetValue(0)); } myDataBase.dr.Close(); for (int i = 0; i < alStartLine.Count; i++){ for (int j = 0; j < alEndLine.Count; j++){ if (alStartLine[i].ToString() == alEndLine[j].ToString()) { alSEtogether.Add(alEndLine[j]); } } } if (alSEtogether.Count > 0){ for (int k = 0; k < alSEtogether.Count; k++){ int lineID = Convert.ToInt32(alSEtogether[k].ToString()); if (k == 0) { Label la = new Label(); la.Text = \"方案\" + (k + 1).ToString() + lineID.ToString() + \"路 智能公交查询系统 int sitenum = getSite.Rows.Count; for (int x = 0; x < sitenum; x++) { Label lb = new Label(); if (x == sitenum - 1) { lb.Text = (string)getSite.Rows[x][0]; lb.Font.Bold = true; lb.Font.Size = 16; Panel1.Controls.Add(lb); } else { lb.Text = (string)getSite.Rows[x][0] + \" ---> \"; lb.Font.Bold = true; lb.Font.Size = 16; Panel1.Controls.Add(lb); } } } } else { int num = 0; int lineIDS = 0; int lineIDE = 0; string tt = null; for (int i = 0; i < alStartLine.Count; i++) { for (int j = 0; j < alEndLine.Count; j++) { lineIDS = Convert.ToInt32(alStartLine[i].ToString()); lineIDE Convert.ToInt32(alEndLine[j].ToString()); string getStartSite = \"select site_name from AutoRunLine where lineID='\" + lineIDS + \"'\"; string getEndSite = \"select site_name from AutoRunLine where lineID='\" + lineIDE + \"'\"; ArrayList aa = new ArrayList(); myDataBase.dbRead(getStartSite); while (myDataBase.dr.Read()) { alStartSite.Add(myDataBase.dr.GetValue(0)); } myDataBase.dr.Close(); myDataBase.dbRead(getEndSite); while (myDataBase.dr.Read()) { alEndSite.Add(myDataBase.dr.GetValue(0)); } myDataBase.dr.Close(); for (int x = 0; x < alStartSite.Count; x++) { for (int y = 0; y < alEndSite.Count; y++) { if alEndSite[y].ToString()) { alSESite.Add(alStartSite[x]); } } } alSESite.Sort(); (alStartSite[x].ToString() == = 智能公交查询系统 foreach (string t in alSESite.ToArray()){ if (tt != t) { tt = t; aa.Add(t); } } alSESite = aa; } if (alSESite.Count > 0) { num += 1; Label la = new Label(); string str = null; for (int k = 0; k < alSESite.Count; k++) { if (k == 0) { str = str + alSESite[k].ToString(); } else { str = str + \"/\" + alSESite[k].ToString(); } } if (num == 1) { la.Text = \"方案\" + num.ToString() + \":您可以从 \" + sitename1 + \" 坐 \" + lineIDS + \" 到 \" + str + \" 下车再坐 \" + lineIDE + \" 到 \" + sitename2; la.Font.Size = 20; Panel1.Controls.Add(la); } else { la.Text = \" 后台主要功能模块包括:新闻公告管理,线路管理,站点管理,运行线路管理,站点距离管理,会员管理等功能模块。 5.2.1 管理员登录 管理员登录的功能实现了管理员登录后台的功能,只有管理员才能登录后台进行后台管理的功能。 管理员登录界面如图5.7。 智能公交查询系统 图5.7 管理员登录 管理员登录的关键代码如下: protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { if (UserName.Text == \"\" && PassWord.Text == \"\") { Alert.AlertAndRedirect(\"没有输入账号和密码!\ } else { dr = data.GetDataReader(\"select * from [Admin] where Username='\" + UserName.Text + \"'and UserPwd='\" + PassWord.Text.Trim() + \"'\"); if (dr.Read()) { Session[\"User\"] = dr[\"Username\"].ToString(); Session[\"Userid\"] = dr[\"id\"].ToString(); Session[\"Roule\"] = \"管理员\"; Response.Redirect(\"AdminIndex.aspx\"); } else { Alert.AlertAndRedirect(\"账号或者密码不对请重新登陆!\\"Login.aspx\"); } } } 5.2.2 基本信息管理 后台基本信息管理的功能包括线路信息管理,站点信息管理,站点距离管理,运行线路管理,线路距离管理。 线路信息管理的界面如图5.8。 图5.8线路信息管理 线路管理的关键代码如下: protected void btn_Submit_Click(object sender, EventArgs e) { SqlHelper data = new SqlHelper(); data.RunSql(\"insert into LineInfo(line_space,Line_Langth)values('\" + TextBox1.Text + \"','\"+TextBox2.Text+\"')\"); Alert.AlertAndRedirect(\"添加成功!\} 5.2.3 新闻信息管理 新闻信息管理包括添加公告,修改公告,管理功能等功能。 添加新闻信息的界面如图5.7。 智能公交查询系统 图5.7添加公告信息 添加新闻信息的关键代码如下: protected void btn_Submit_Click(object sender, EventArgs e){ string sql = \"insert into news_inf values('\" + TextBox1.Text.Trim() + \"','\" + TextBox3.Text.Trim()+\"','\"+TextBox2.Text.Trim()+\"','\"+ ddlNewsType.SelectedItem.Text+\"','\"+ddlNewsType.SelectedValue+\"')\"; data.RunSql(sql); Alert.AlertAndRedirect(\"添加成功继续添加\ } 5.2.4 会员信息管理 会员信息管理是管理员对会员信息进行管理的功能,会员信息包括登陆账号,用户性别,用户性别,联系电话,电子邮件,联系地址等信息。 会员管理的界面如图5.8。 图5.8会员信息管理界面 会员信息管理的关键代码如下: public DataSet GetCodeBy(int iCount){ SqlHelper date = new SqlHelper(); string strTop = \"\"; if (iCount > 1){ strTop = \"top \" + iCount.ToString(); } string sql = \"select \" + strTop + \" * from [users]\"; SqlConnection con = new SqlConnection(SqlHelper.connstring); SqlCommand cmd = new SqlCommand(sql, con); SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = null; try{ con.Open(); ds = new DataSet(); da.Fill(ds); } catch (SqlException ex){ throw ex; } catch (Exception ex){ throw ex; } finally{ con.Close(); } return ds; } 6系统的测试 智能公交查询系统 6.1测试目的和方法 软件测试简单的讲就是为了发现错误而执行的一个程序或者系统的过程。软件测试的目的是为了保证软件产品的最终质量。它不仅是软件开发阶段的有机组成部分,而且在整个软件工程中占据相当大的比重。 测试的目的主要有以下3点 (1)测试是程序的执行过程,其目的在于发现错误; (2)好的测试用例很可能会发现至今尚未察觉的错误; 。 (3)成功的测试是发现至今尚未察觉的错误的测试[17]。 软件测试基本技术包含:白盒测试和黑盒测试。 一种被广泛使用的逻辑测试技术当属白盒测试,它测试的对象是源程序,是通过程序内部的逻辑为基础的测试技术。白盒测试针对性强,可以对程序的每一条语句进行测试,若时间充足,白盒测试会使得测试的覆盖程度达到较高的水平 相对于针对程序内部逻辑的白盒测试,黑盒测试针对的是程序的外部结构,即对软件的界面及功能进行测试,其主要的依据是规格说明书及用户手册。 本系统结合了白盒测试和黑盒测试两种技术,通过功能测试用例,来开展测试工作。 6.2前台功能测试 6.2.1用户登录 1.登录页面:登录页面测试用例 如表6-2-1-1所示,登录成功界面如图6-2-1-2所示: 用例编号 测试标题 测试输入 操作步骤 预期结果 001 测试登录页面,输入合法的用户名和密码以及不合法的用户名和密码时系统的反应。 用户名:111 密码:111 输入以上信息后,点击“用户登录”按钮 登录成功 表6-2-1-1 登录页面测试用例 图6-2-1-2登录成功界面 6.2.2用户注册 1.注册页面:注册页面测试用例 如表6-2-2-1所示,注册成功界面 如图6-2-2-2所示: 智能公交查询系统 用例编号 测试标题 测试输入 操作步骤 预期结果 002 测试注册页面,输入合法的登录账号,密码,重置密码,性别,真实姓名,密码问题,密码提示答案,电话,email,住址,邮编 输入以上信息后,点击“注册”按钮 注册成功 表6-2-2-1 注册页面测试用例 图6-2-2-2注册成功界面 6.2.3公交查询 1.线路查询:线路查询测试用例 如表6-2-3-1所示,线路查询结果界面 如图6-2-3-2所示: 用例编号 测试标题 测试输入 操作步骤 预期结果 测试线路功能 在线路查询后的下拉菜单中选择线路,如“一路” 点击“乘车查询”按钮 线路查询成功 003 表6-2-3-1 线路查询测试用例 图6-2-3-2 线路查询结果界面 2.站点查询:站点查询测试测试用例 如表6-2-3-3所示,站点查询结果界面如图6-2-3-4所示: 智能公交查询系统 用例编号 测试标题 测试输入 操作步骤 预期结果 004 测试站点查询功能,输入存在的站点以及不存站点时系统的反应。 在站点查询后输入“水利商场” 输入以上信息后,点击“乘车查询”按钮 该站点所在的所有线路显示出来 表6-2-3-3 站点查询测试用例 图6-2-3-4 站点查询结果界面 3.乘车区间查询:乘车区间查询测试测试用例 如表6-2-3-5所示,乘车区间查询结果界面 如图6-2-3-6所示: 用例编号 测试标题 测试输入 操作步骤 预期结果 005 测试乘车区间查询功能,输入存在的始发站和终点站以及不存在始发站和终点站时系统的反应。 始发站:麻地湾 终点站:榆林学院附中 输入以上信息后,点击“乘车查询”按钮 查询出乘车方案 表6-2-3-5乘车区间查询测试用例 图6-2-3-6 乘车区间查询结果界面 6.3后台功能测试 6.3.1管理员登录 智能公交查询系统 6.3.2基本信息管理 6.3.2新闻信息管理 6.3.3会员信息管理 总结 7总结 几个月来忙碌紧张而又有条不紊的毕业设计,使我有机会对本专业的基本理论、专业知识和基本技术有了更深入的了解和体会,使我在四年中所学到的知识得到了系统和升华,真正达到了学以致用。 在设计的过程中,我掌握了很多了很多关于本系统的编程知识,并对这种成熟并广泛应用的技术进行了深入的学习。设计的过程也是一个再学习的过程,在遇到问题的时候我尽量自己想办法解决,这在很大程度上激发了我们的自学能力;在没有办法解决的情况下,认真的向老师请教,从老师那里我学到了很多的知识,老师对我的指导起到了画龙点睛的作用。 以往我们曾经有过多次设计的体会,但只是设计一个模块或一个小系统,而这一次毕业设计是综合所学的管理和计算机的知识来设计一个适合运行管理的系统软件。要想设计使用户满意,就需要我们付出更多的努力。我在设计中经常出现一些问题不知该如何解决,在此时许多同学给予了我们帮助。在设计的过程中增加了于实际接触的机会,不仅培养了我的自学和编程能力,让我在即将离开学校进入社会之前有了一定的资本,提高了我与人沟通的能力。 总结 参考文献 [1] 关于城市优先发展公共交通的指导意见 国发[2012]号 2012年12月29日 [2] 郑阿奇.SQL Server实用教程(第3版)[M]. 电子工业出版社.2009年 [3] 沈士根,汪承焱,许小东.Web程序设计-ASP.NET实用网站开发[M].清华大学出版社.2009年 [4] 王珊、萨师煊.数据库系统概论[M].北京.高等教育出版社.2008 [5] 马骏.C#网络应用编程基础[M].人民邮电出版社.2006年 [6] 唐政,房大伟等.C#项目开发全程实录[M].清华大学出版社.2008年 [7] 求是科技.ASP.NET信息管理系统开发实例导航[M].人民邮电出版社.2008年 [8] 赵致格.数据库系统与应用编著[M].清华大学出版社2007年 [9] 陈漫红.数据库系统原理与应用技术[M].机械工业出版社.2010年 [10] 王晟,马里杰.SQL Server数据库开发经典案例解析[M].清华大学出版社.2006年 [11] 王小科等.C#开发实战宝典.清华大学出版社[M].2010年 [12] 夏江林.C/S结构与B/S结构技术特点比较.电脑学习.2001(5) P35-36 [13] 朱忱,宋顺林.基于.net的Web应用框架的设计与实现[J].计算机工程与设计,2006(8) [14] 黄杰.基于Browser/Sever模式下的在线网上考试系统.DI.武汉大学硕士学位论文,2004 [15] 石庆明,余超.基于.net网上考试系统设计与开发.DI.河南新乡计算机与工程信息,2009 [16] 陈娴 ,雒海涛编著,ASP信息化系统建设案例,北京:北京人民邮电出版社, 2006年,458-509 [17]佟伟光.软件测试[M].北京:人民邮电出版社,2013.6:13-15. 总结 致 谢 大学的四年的学习生活即将结束之际,毕业论文就成了我们这四年来学习成果的检验和总结,同时也是对我们能力的一种测试。首先我要特别感谢专业课的所有老师们,是他们在我的专业课的学习过程中无私的教授给我许多专业知识和技能,使我能够在论文写作的过程中顺利解决难题和疑问。 其次,在这次论文写作过程中,非常感谢老师给予我的耐心指导和帮助。同时,我也要感谢三年来所有赐予我知识和帮助的老师们,是你们共同帮助我成长,促使我进步的。 我知道老师们最大的心愿就是让自己的学生能够有能力在未来的社会中有所成就,为国家贡献自己的最大力量。在今后的日子里,我一定会牢记老师的教诲,努力做一个对社会有用的人。 至此,在论文完成之际,向计算机软件专业的全体老师们献上我最真挚的祝福和谢意,祝各位老师身体健康工作顺利! 最后请允许我再说一声:“老师,您辛苦了!” 因篇幅问题不能全部显示,请点此查看更多更全内容
\"; la.Font.Bold = true; la.Font.Size = 20; la.Visible = true; Panel1.Controls.Add(la); } else{ Label la = new Label(); la.Text = \"
方案\" + (k + 1).ToString() + lineID.ToString() + \"路
\"; la.Font.Bold = true; la.Font.Size = 20; la.Visible = true; Panel1.Controls.Add(la); } string strselsite = \"select site_name from AutoRunLine where lineID='\" + lineID + \"' order by site_order asc\"; DataTable getSite = myDataBase.getSLB(strselsite);
方案\" + num.ToString() + \":您可以从 \" + sitename1 + \" 坐 \" + lineIDS + \" 到 \" + str + \" 下车再坐 \" + lineIDE + \" 到 \" + sitename2; la.Font.Size = 20; Panel1.Controls.Add(la); } } alSESite.Clear(); tt = null; } } } 5.2 后台详细设计
Copyright © 2019- ovod.cn 版权所有 湘ICP备2023023988号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务