1、第1章 引 言1.1课题背景城市交通是城市发展的标志,公交公司在信息化方面做出了很多措施:先后推出了IC卡、电子站牌、电子调度系统等。但是还是会有种种不方便的迹象,例如:乘客无法查询去哪如何乘车,公交改线市民不能及时了解 ,丢失东西,无法发布寻物启事 ,捡到了东西 ,无法让失主来领,市民投诉问题等等。公交公司经过讨论,决定开发一套公交管理系统来解决公交公司目前碰到的问题。此系统采用B/S架构,项目完成后发布到互联网上,供所有Internet用户访问。系统分为前台和后台,前台能够供所有上网用户访问,后台由公交公司管理人员进行维护。实施此项目后,公交公司可以随时把公交最新信息发布到网上,乘客可以在
2、其他城市随时查询公交信息,也可以让乘客随时发布一些信息,以便为乘客提供一些便民服务,也便于乘客提供一些好的意见与建议。系统的核心功能为公交车信息的查询,查询分为车次查询、站点查询与线路查询。车次查询用户输入车次,查询出此车次的详细信息;站点查询用户输入站点名称,查询出经过此站点的所有车次,并能够查看车次的详细信息;线路查询用户输入起止站点,查询出如何乘车到达,要求能够查询出所有直达车次与二次转乘可到达的车次。城市公交是专门服务于市民出行的客运企业。它是城市社会和经济活动的重要组成部分。伴随着国民经济和城市建设的快速发展,城市经济的繁荣,人口的增加,城市必须解决好人们出行的需求。城市公交直接关系
3、着城市的经济发展和居民生活,对城市经济具有全局性、先导性的影响,城市公交以其方便、快捷、容量大而成为城市交通的主体。但是随着公交系统的庞大,人们很难得到准确的公交信息,这样给一些人的出行就带来了不便。因此,急需一个方便、快捷的公交信息查询方式,本系统通过浏览器查询,实现中心控制、自动更新、更多的查询方式等等更多更强大的功能。随着城市经济的发展、规模的扩大以及人口的增长,城市交通问题日益突出。降低出行时间将使所有的公交利用者产生效益,快速的交通、更好的信息及更好的市场可以提高公交的形象,能够增加公交乘坐者。城市公共交通运输以其覆盖面广、经济、快捷的特点,成为绝大多数出行者的首选方式,也是各地城市
4、政府大力发展的一种交通方式。本地市民特别是外来旅游、出差、就医等急需了解本地道路情况的人可以利用本系统方便快捷的查询出所有符合他们要求的公交路线,对他们的出行和生活提供帮助。 我国城市公交乘客信息系统的发展处于一个落后的水平,广大乘客可以获得信息的方式很少,公交信息的完整性和准确性得不到保证,而且还没有专门的机构负责信息的发布和管理。出于这个目的,在老师的指导下,我设计了这个城市公交线路查询系统。在对公交乘客出行心理特征进行分析的基础上,考虑乘客选择公交线路决策的因素,进行程序关键部分的框架设计。现阶段,人们的出入方式主要还是来源于城市公交,特别是对于那些到外地出差、打工,进行商业有关或其他事
5、情需要在外地进行短暂停留的人而言,公交对他们是必不可少的,但是对于那个不属于自己所熟悉的城市,坐公交也是一个很大的难题,因此,开发一个公交查询系统就显得非常的重要。本系统的核心是对选择好的车次进行路线的查询,或者输入所要查询的车站名,点击“查询”按钮,查询所有含有该站的车次及相应的停靠站。此处既可以“精确查询”也可以是“模糊查询”,“模糊查询”主要方便那些对站名不是很清楚,但知道其中的一部分的乘客,系统可以帮助他们快速的查出。1.1.1读者范围用户、系统设计人员、项目测试人员,以及程序开发人员。1.2论文的研究内容公交查询系统是一个取代过去由人工查询的查询系统。其目标是开发一个公交管理系统。该
6、系统主要用于公交公司对公交相关信息和员工的管理、并为上网用户提供查询相关信息该项目为B/S结构。 为用户提供的主要功能为:登录、注册、会员密码找回、会员信息维护、车次查询、站点查询、公交换乘、发布寻物启事、发布失物招领、公交动态浏览、失物查询、招领查询、用户投诉、友情链接。为公交公司提供的主功能为:车次维护、站点维护、车次/站点关系维护、路线查询、寻物启事信息审核、失物招领信息审核、投诉管理、会员管理、平台信息维护、管理员维护。本论文论述了一个基于浏览器/服务器(B/S,Browser/Server)模式的公交查询系统的研究和实现的过程。 论文从开发平台和工具谈起,对ASP.NET服务器所提供
7、的组件及其属性和方法做了一般介绍,更重要的是阐述了ASP.NET的数据库访问组件ADO.NET的使用方法。最后,详细介绍了如何创建“公交查询系统”的全部过程。1.3论文的组织结构第2章是系统的开发工具与环境概述,介绍了该系统设计开发使用的Visual Studio 2008中的ASP.NET开发语言和系统在数据库的设计开发中使用的数据库连接技术ADO.NET,并介绍了系统开发所需要的计算机环境。第3章是系统的需求分析,包括系统需求,性能分析,数据库总体设计等。第4章是系统概要设计,包括系统的模块划分,数据库的概念结构设计和数据库的逻辑结构设计。第5章是系统的详细设计和实现,包括系统各个界面设计
8、和相关重要注释。第6章是系统测试和维护。最后是结论、致谢、参考文献及附录。第2章 系统的开发工具与环境2.1 ASP.NET简介ASP.NET 是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.NET提供许多比现在的Web开发模式强大的的优势。ASP.NET 建立在 .NET Framework 的编程类之上,它提供了一个 Web 应用程序模型,并且包含使生成 ASP Web 应用程序变得简单的控件集和结构。ASP.NET 包含封装公共 HTML 用户界面元素(如文本框和下拉菜单)的控件集。但这些控件在 Web 服务器上运行,并以 HTML 的形式将
9、它们的用户界面推送到浏览器。在服务器上,这些控件公开一个面向对象的编程模型,为 Web 开发人员提供了面向对象的编程的丰富性。ASP.NET 还提供结构服务(如会话状态管理和进程回收),进一步减少了开发人员必须编写的代码量并提高了应用程序的可靠性。另外,ASP.NET 使用这些同样的概念使开发人员能够以服务的形式交付软件。使用 XML Web services 功能,ASP.NET 开发人员可以编写自己的业务逻辑并使用 ASP.NET 结构通过 SOAP 交付该服务。Visual Studio 2008 是一套完整的开发工具,用于生成 ASP Web 应用程序、XML Web services
10、、桌面应用程序和移动应用程序。Visual Basic 2008、Visual C+ .NET、Visual C# .NET 和 Visual J# .NET 全都使用相同的集成开发环境 (IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,此框架提供对简化 ASP Web 应用程序和 XML Web services 开发的关键技术的访问。2.1.1 ASP.NET技术的优点ASP.NET是一种将各种Web元素组合在一起的服务器技术,是一个统一的Web开发平台,它提供了生成一个完整的Web应用程序所必须要的各种服务。与以前
11、的开发模型相比较,它提供了以下数个重要的优点: 分层设计的优势:1.增强的性能,开发人员可以只关注整个结构中的其中某一层。ASP.NET 是在服务器上运行的编译好的公共语言运行库代码。与被解释的前辈不同,ASP.NET 可利用早期绑定、实时编译、本机优化和盒外缓存服务。这相当于在编写代码之前便显著提高了性能。2.可以很容易的用新的实现来替换原有层次的实现,世界级的工具支持。ASP.NET 框架补充了 Visual Studio 集成开发环境中的大量工具箱和设计器。WYSIWYG 编辑、拖放服务器控件和自动部署只是这个强大的工具所提供功能中的少数几种。3.可以降低层与层之间的依赖,威力和灵活性。
12、由于 ASP.NET 基于公共语言运行库,因此 Web 应用程序开发人员可以利用整个平台的威力和灵活性。.NET 框架类库、消息处理和数据访问解决方案都可从 Web 无缝访问。ASP.NET 也与语言无关,所以可以选择最适合应用程序的语言(如C#),或是跨多种语言分割应用程序。另外,公共语言运行库的交互性保证在迁移到 ASP.NET 时保留基于 COM 的开发中的现有投资。4.简易性。ASP.NET 使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署的站点配置。例如,ASP.NET 页框架使您可以生成将应用程序逻辑与表示代码清楚分开的用户界面,和在类似 Visual Basic 的
13、简单窗体处理模型中处理事件。另外,公共语言运行库利用托管代码服务(如自动引用计数和垃圾回收)简化了开发。5.可管理性, ASP.NET 采用基于文本的分层配置系统,简化了将设置应用于服务器环境和 Web 应用程序。由于配置信息是以纯文本形式存储的,因此可以在没有本地管理工具帮助的情况下应用新设置。此“零本地管理哲学”也扩展到了 ASP.NET 框架应用程序的部署。只需将必要的文件复制到服务器,即可将 ASP.NET 框架应用程序部署到服务器。不需要重新启动服务器,即使是在部署或替换运行的编译代码时,利于各个层逻辑的复用,概括来说,分层式设计可以达至如下目的:分散关注、松散耦合、逻辑复用、标准定
14、义。一个好的分层式结构,可以使得开发人员的分工更加明确。一旦定义好各层次之间的接口,负责不同逻辑设计的开发人员就可以分散关注,齐头并进。例如UI人员只需考虑用户界面的体验与操作,领域的设计人员可以仅关注业务逻辑的设计,而数据库设计人员也不必为繁琐的用户交互而头疼了。每个开发人员的任务得到了确认,开发进度就可以迅速的提高。松散耦合的好处是显而易见的。如果一个系统没有分层,那么各自的逻辑都紧紧纠缠在一起,彼此间相互依赖,谁都是不可替换的。一旦发生改变,则牵一发而动全身,对项目的影响极为严重。降低层与层间的依赖性,既可以良好地保证未来的可扩展,在复用性上也是优势明显。每个功能模块一旦定义好统一的接口
15、,就可以被各个模块所调用,而不用为相同的功能进行重复地开发。进行好的分层式结构设计,标准也是必不可少的。只有在一定程度的标准化基础上,这个系统才是可扩展的,可替换的。而层与层之间的通信也必然保证了接口的标准。6. 可缩放性和可用性。ASP.NET 在设计时考虑了可缩放性,增加了专门用于在聚集环境和多处理器环境中提高性能的功能。另外,进程受到 ASP.NET 运行库的密切监视和管理,以便当进程行为不正常(泄漏、死锁)时,可就地创建新进程,以帮助保持应用程序始终可用于处理请求。7.自定义性和扩展性。ASP.NET 随附了一个设计周到的结构,它使开发人员可以在适当的级别“插入”代码。实际上,可以用自
16、己编写的自定义组件扩展或替换 ASP.NET 运行库的任何子组件。实现自定义身份验证或状态服务一直没有变得更容易。8.安全性。借助内置的 Windows 身份验证和基于每个应用程序的配置,可以保证应用程序是安全的。2.1.2 .NET Framework概述.NET Framework 是用于生成、部署和运行 XML Web services 和应用程序的多语言环境。它由以下几个主要部分组成:公共语言运行库 运行库实际上在组件的运行时和开发时操作中都起到很大的作用,尽管名称中没有体现这个意思。在组件运行时,运行库除了负责满足此组件在其他组件上可能具有的依赖项外,还负责管理内存分配、启动和停止线
17、程和进程,以及强制执行安全策略。在开发时,运行库的作用稍有变化;由于做了大量的自动处理工作(如内存管理),运行库使开发人员的操作非常简单,尤其是与今天的 COM 相比。特别是反射等功能显著减少了开发人员为将业务逻辑转变为可重用组件而必须编写的代码量。统一编程类 该框架为开发人员提供了统一的、面向对象的、分层的和可扩展的类库集 (API)。目前,C+ 开发人员使用 Microsoft 基础类,而 Java 开发人员使用 Windows 基础类。框架统一了这些完全不同的模型并且为 Visual Basic 程序员同样提供了对类库的访问。通过创建跨所有编程语言的公共 API 集,公共语言运行库使得跨
18、语言继承、错误处理和调试成为可能。C+ 的所有编程语言具有对框架的相似访问,开发人员可以自由选择它们要使用的语言。2.2 ADO.NET概述ADO.NET并不是ADO的升级版本,它是全新的面向对象模型。比ADO更适应于分布式及Internet等大型应用程序环境,为了多人同时存取更具扩展性,ADO.NET的数据存取采用的是离线存取模式,可说是专门为.NET平台设计的数据存取结构。它具有简单地访问关系数据、可扩展性、支持多层应用程序、统一XML和关系数据访问的特点。ADO.NET的主要目标是提供对关系数据的简单访问功能。坦白的说,易于使用的类描述关系数据库中的表、列和行。另外,ADO.NET引入了
19、DataSet类,它代表来自封装在一个单元中的关联表中的一组数据,维持他们之间完整的关系。这是在ADO.NET中的新概念,可以显著的扩展数据访问接口的功能。ADO.NET可以扩展它为插件.NET数据提供者(也称为可管理提供者)提供了框架,这些提供者被构建,以便从任何数据源读取和写入数据。ADO.NET提供了两种内置的.NET数据提供者,一种用于OLE DB数据源,另一种用于Microsoft SQL Server。可以通过OLE DB访问数据格式(比如Microsoft Access)、第三方数据库和非关系数据。另外,Microsoft最近预演了用于ADO.NET的ODBC.NET数据提供者,
20、它允许.NET访问更多的旧的数据格式和第三方数据库。ADO.NET用于多层应用程序。这是当今商业和电子商务应用程序最常见的体系结构。在多层体系结构中,应用逻辑的不同部5分1运a行s在p多x个服务器或进程中,每一部分就称为一层。ADO.NET使用开放的Internet标准XML格式在层之间通信,允许数据通过Internet防火墙来传递,并允许以非Microsoft技术来实现一层或多层。那么在Visual Studio.NET中ADO.NET访问数据库分为二种。一种是SQL Server数据库,另一种是其它任何类型的数据库。本系统的后台数据库为SQL Server 2005,因此是通过SQLCon
21、nection、SqlCommand、SqlDataAdapter、DataSet等几个主要的数据访问对象来访问数据的。2.3系统的开发要求本次开发的公交查询系统对操作系统的要求如下:硬件要求:1.CPU:最低Intel Pentium II 500 MHz。2.磁盘空间:250MB(完全安装),155MB(快速安装)。3.内存:512MB(最好1GB以上)。4.显示:1024*768,256色。软件要求:1.操作系统:Windows 2000以上的操作系统。2.开发平台:Visual Studio 2008,Microsoft SQL Server 2005。第3章 需求分析3.1系统需求分
22、析随着我国经济的高速发展,人们生活水平的提高,越来越多的人开始热衷于到外地旅游。那么对于这些外来旅游者,首先搞清这个城市的公交路线显的很重要!我的家乡沈阳,作为一个旅游城市,每年都要吸引大量的游客,为了满足这些游客熟悉公交路线的需求,特以公交查询系统为设计课题。本软件不仅能给游客带来方便,也能给广大市民提供方便。我认为这样的系统应该具有很好的实用性!开发本系统的目标就是立足广大乘客的实际,着眼于公交业的未来发展,规范公交管理,提高服务质量,方便乘客查询,并为此设计该系统。人们生活水平的提高,越来越多人喜欢旅游,但是第一次来一个陌生的城市,肯定对公交路线不熟悉,所以必定需要一个能查看具体公交线路
23、的公交系统。有些只知道一个站的某几个字或一个车次的某几个数字,所以本系统将给出站点的模糊查询,方便用户的查询,有些只知道车次或某个站点,本系统也给出了公交线路查询、公交站点查询、公交换乘查询,进一步方便大家的出行,但也有用户什么都查不到,想留言问问人,所以再搞个留言板很有必要,方便大家交流以及解答各种疑难问题!本系统采用结构化设计的方法来实现系统总体功能,提高系统的各项指标,即将整个系统合理的划分成各个功能模块,正确地处理模块之间和模块内部的联系以及和数据库的联系,定义各模块的内部结构,通过对模块的设计和模块之间关系的系统来实现整个系统的功能。前台主要有3个模块,线路查询、站点查询、公交换乘模
24、块和后台管理模块:功能名称:线路查询功能概述:可以获得要查询公交所通过的各个站点。站点查询通过输入的指定站点查询经过该站点的公交。公交换乘查询分为公交直达、公交一次换乘,主要体现那些不可直达需要转车的路线的所有换法。(如果用户输入的起始点和终点,有一条及一条以上的公交线可以直达的,则为公交直达;如果输入的起始点和终点,没有一条公交线可以直接到的,系统将会给出一次换乘的方案,则为公交一次换乘)。后台管理用于管理员登陆,添加、修改、删除公交线路,修改信息资料、安全密码,回复留言板等功能。本系统提供了的车次查询功能,乘客可以方便的进行查询,以防乘错车次。当然有些功能的智能化不是很强,系统有待进一步来
25、完善。3.2 数据库需求分析数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。数据库技术是由传统的文件系统发展而来的,从层次模型、网状模型发展到关系模型。数据库技术是数据管理的最新技术,是计算机科学的一个重要分支,它能指导我们正确地设计数据库系统,它的出现极大地促进了计算机应用的发展。采用数据库技术的原理和方法可以有效地设计实用的数据库系统。一个完整的数据库系统包括数据库管理系统(DBMS),数据库管理员(DBA)、数据库(DB)、应用程序和相应的硬件设施。目前许多数
26、据库管理系统都基于关系模型,关系模型的主要特点是用表格结构表达实体,用键表示实体与实体之间的联系。与层次模型和网状模型相比,关系模型比较简单,容易为初学者接受。关系模型是由若干个关系模式组成的集合,关系模式相当于记录类型,它的实例称为关系。每个关系是一张表格。表格简单,用户易懂,用户只需用简单的查询语句就可以对数据库进行数据操作,并不涉及到存储结构,访问技术等细节。关系模型是数学化的模型,要用到集合论,离散数学等知识。SQL语言是关系数据库的代表性语言,已经得到广泛应用。在设计数据库时,应注意数据的安全性,保证数据的安全,防止非法用户访问数据库,以免泄露重要信息,同时也能51防A止s非px法用
27、户的蓄意破坏,有许多保护数据的方法,如采用用户标识,口令和密码或访问控制等方法。一个成功的数据库应用系统应具有用户标识,每一个合法用户具有一个用户名和相应的口令,进入数据库应用系统前必须输入正确的口令,否则无法进入系统,这就保证了只有合法的用户才能操作数据库系统。为了保证数据的合法语义,必须对数据库的数据进行完整性约束,即防止用户输入不合语义的数据。在设计应用软件时,应严格按照软件工程学的方法进行设计,传统的方法采用瀑布模型,从问题定义、可行性分析、需求分析、概念设计、总体设计、系统实现、编码和软件测试、运行和维护等软件生命周期内,每一阶段均在前一阶段的基础上进行设计,并在每一阶段有相应的文档资料。设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。数据库设计一般包括如下几个步骤:数据库需要分析,数据库概念结构设计,数据库逻辑结构设计。公交查询系统所涉及企业的组织结构: 图3-1 组织结构图公交查询系统的直接使用者:角色名称职责描述超级管理员管理员信息维护。系统管理员车次维护、站点维护、车次/站点关系维护、路
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1