免费预览已结束,剩余57页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计(论文) 课 题 名 称 基于 c公交查询系统设计与开发 学 生 姓 名 学 号 系、年级专业 指 导 教 师 职 称 年 月 日 i 摘 要 我国城市公交查询系统的发展处于一个较落后的水平,广大乘客可以获得信息的 方式很少,为了解决这种问题,加快发展城市公交信息化,设计一个城市公交查询系 统是具有一定实际应用意义的。在此背景下,本文运用(asp.net)c#语言开发了 一个邵阳市公交查询系统。 本论文首先考虑了公交运营的实际情况和不同公交乘客的实际要求,分析了此 系统应该具有的功能;其次对系统的主要功能模块进行了详细地描述,其中主要包 括查询模块(包括按线路查询、按站点查询和按两站点查询)和管理更新模块(包 括公交站点管理、公交线路管理和消息新闻的管理)。最后结合系统开发阶段和调 试阶段发现的问题,做出了相应的改正。 总的来说,本次的毕业设计还算比较成功,系统也较好的实现了预定的功能, 并且还增加了本站的投票模块,让用户对该网站进行评价。 关键词: asp.net ;线路查询;b/s 结构 ii abstract the development of the passenger information system is in a level that fall behind of the city in our country. the large part of passengers can acquire few ways of the information. so its practical for us to develop citys bus passenger information system in order to resolving this problem. for this purpose, the article design this application procedure-bus search system of shaoyang city. from this design, firstly, i analyzed the present condition of the bus passenger information and different peoples needs, in order to know what functions this equipment should contain. second, these functions can be divided in to two parts-search system(according to the line search、station search and between two stations search) and management update system(bus station management and bus line management). at last according to the problems that happened in the peorid of using, make a corresponding rectification. generally speaking, the graduation design is successful, and the system is also better realized the function which schedule in advance, and also increased the vote module, let users to evaluaten the network station. key words:asp.net;line search;structure of b/s 目 录 摘 要 .i abstract .ii 第 1 章 绪论 1 1.1 项目背景介绍 1 1.2 研究现状 1 1.3 实现该项目的意义 2 1.4 系统功能介绍 3 1.5 期望目标 3 第 2 章 相关技术介绍 5 2.1 b/s 系统介绍 .5 2.2 asp.net 技术介绍 .6 2.3 c# 介绍 .7 2.4 visual studio.net 2005 平台 .9 2.5 ado.net 介绍 10 2.6 数据库管理系统(dbms)介绍 .11 第 3 章 需求分析 .13 3.1 公交查询系统性能需求分析 .13 3.2 应用需求分析 .14 3.3 时间性能需求分析 .14 3.4 系统数据库设计 .14 第 4 章 概要设计 .18 4.1 数据库逻辑设计 .18 4.2 数据库表 .18 4.3 系统功能模块划分 .20 第 5 章 详细设计及实现 .21 5.1 查询模块的功能实现 .21 5.2 管理功能的实现 .28 5.2 删除 .31 5.3 修改 .32 结束语 35 参考文献 36 致 谢 .37 附录 39 1 第 1 章 绪论 1.1 项目背景介绍 这些年城市里面买私家车的人是越来越多,但是对于生活在这个城市里面的绝大 多数人来说,上下班也好,出行也好,还是要依靠那些公共交通工具的,比如说公交车。 在极力保证城市可持续发展之路与还不很发达的交通路线的情况下,如何让人 们方便地出门成了各个城市管理部门所最关心的问题。我国城市公交乘客信息系统 的发展处于一个落后的水平,广大乘客可以获得信息的方式很少,公交信息的完整性 和准确性得不到保证,而且还没有专门的机构负责信息的发布和管理。 我国经济的持续发展必然加快城市化、机动化速度,更何况我国城市化水平本 来就低于相应的经济发展水平。汽车进入家庭、城市扩张可能带来的郊区化趋势, 与城市化一起成为 21 世纪我国城市交通发展的大背景。我国私人汽车的迅速发展给 城市交通系统带来了严重的影响如何考虑私人小汽车和公共交通系统的竞争关系并 建立一个有竞争力的公共交通系统;如何选择交通政策等,都影响这个城市的交通 模式、城市建设。 城市的各种交通政策的选择和实施必须考虑城市的特性和资源、代价和效果。 因此必要在可持续发展的目标下,借鉴国外城市的成功经验和失败教训,重新检查 城市交通系统的规划和建设。 乘客可以获得的公交信息很少,而且方式主要是常规手段。我国乘客一般获得公 交信息的方式局限于电话,交通图,向熟人问讯等常规方式。除去线路,站点等基本信 息以外,有关班次,车辆到离站时间的信息基本上没有。 我国实施城市的可持续发展之路,包括城市交通的可持续发展。所以大力提倡 改善客运结构,大力发展公共交通。 1.2 研究现状 乘客出行中获得信息困难,基本上没有实时信息。除去在杭州,上海等少数几个 城市,乘客可以通过分布于城市中的若干电子站牌获得一些公交车辆的运营信息以外,在 其它城市“出行中”的乘客无法获得任何实时信息。在我国一些城市中,有不少装饰 华美的公交站台,但在这些站台上却找不到实用的城市交通图。总而言之,我国乘客 在出行中无论是“静态线路信息”还是“动态实时信息”都很难获得。 2 缺乏专门的交通信息发布管理机构,乘客获得的信息准确性得不到保证。目前, 我国大多数城市对于交通信息的发布没有专门的管理机构和规章制度。在城市交通 信息服务需求小的情况下尚可应付。但随着城市交通信息服务需求的增长,从事交通 信息服务的人员和企业数量的增加,需要有专门的管理机构和制度。当前的城市交通 信息服务存在着混乱和低效的问题,有些甚至是对乘客的误导。 借助现代信息技术和管理理论,建立管理信息系统是当今社会的重要趋势对人 民生活而言,全面开发和应用计算机管理信息系统就是近期不能回避的问题。我的毕 业论文选择了公交车查询系统,我选择了一个较为贴近生活和我比较了解的公交车 系统。 中国大城市产生交通拥堵及“交通梗塞”的地点及范围正在逐步增加,产生的 次数也曾增加趋势。所以许多城市的决策者和工程技术人员都在大力提倡城市公共 交通的发展,降低城市拥堵的现象。 我国公交乘客信息系统与网络的结合还是低层次的。在我国一些城市出现了基 于网络的公交信息服务系统(例如中国公交查询网,它可提供全国大约七十多个城市 的公交系统信息查询),但总体上还是处于一个较低的层次。这些信息系统还处于一 种静态的公交信息查询系统,还不能作到为乘客的出行自动地生成出行计划或方案。 我国实施城市的可持续发展之路,包括城市交通的可持续发展。所以大力提倡 改善客运结构,大力发展公共交通。鉴于中国目前的经济发展状况,中国人出行还 是以公交车为主,所以每个城市的公交系统都比较庞大发达。公交查询系统是近两 年出现的新生事物,每个城市的发展状况也是良莠不齐。 1.3 实现该项目的意义 如果能够提供一种服务, 为市民特别是外来旅游、出差、就医等急需了解本地 道路情况的人们提供快捷、经济、高效地利用公交线路的方案, 将更加方便人们的 出行和生活。在西方国家(如美国) , 在城市公交网络系统上投人了极大的财力, 构 建了利用计算机网络和先进的通信系统的智能运输系统its ( intelligence transport system ) , 从而实现了大范围内全方位的实时、准确、高效的运输综合 管理。在许多方面都能让乘客感受到太原公交的细心关怀。但是在这样一个高度信 息化的时代, 在这样一个庞大的公交网面前, 我们需要一个好的公交查询系统来指 导乘客选择正确的线路, 方便的查找站点, 和选择最优方案等等。使人、车、路密 切配合, 和谐统一。我们对乘客的出行心理进行了调查分析, 其结果表明,“换乘次 数”及“票价”是大部分乘客在选择出行方案时首先考虑的因素。基于以上的分析, 3 本文讨论了以换乘次数最少及花费最少为目标的公交换乘方案, 并进行了公交查询 系统的实现。 1.4 系统功能介绍 本系统在操作系统windows xp上开发,以visual studio.net 2005作为开 发平台 1 ,c#作为开发语言,sql server 2000作为数据库服务器管理系统 2。 采用browser /server模式进行设计: 在服务器上运行 web发布服务器、数据库程 序,服务器操作系统为windows nt/2000/xp/2003 server,客户机操作为 windows 9/ nt/2000/xp/2003,其上运行浏览器程序,服务器和客户机可为同 一设备。主要实现了基于浏览器(b/s模式)的公交线路分类查询和数据的录入、 修改、添加、删除 3。 1.5 期望目标 随着科学技术的迅猛发展,计算机已经得到了广泛的应用。几乎各行各业都有 关于计算机的使用,这使得计算机已成为社会中普遍存在的事物。由于计算机的使 用,使得人们在管理、应用及服务等各个领域使用数据方面变得更加简洁,更加方 便,大大提高了工作效率,产生了以计算机为主体,以人为辅助的局面。在此我所 设计的公交车查询系统就是为了方便人员在数据查询方面的操作,使得他们在日常 生活中都会达到事半功倍的效果,减轻了人力的负担,方便了数据的存储,增加了 安全性。 本研究设想以某人去某陌生城市办事,想乘坐该城市的公交车去目的地f,通过 本查询系统,可以让此人直观地知道因该乘哪路公交车可以到达目的地f。如果没有 直达目的地f的公交车,通过本系统也可以查询到相应的转车信息,使此人以转最少 的车,用最短的时间到达目的地f。 城市公交是专门服务于市民出行的客运企业。它是城市社会和经济活动的重要 组成部分。伴随着国民经济和城市建设的快速发展,城市经济的繁荣,人口的增加, 城市必须解决好人们出行的需求。城市公交直接关系着城市的经济发展和居民生活, 对城市经济具有全局性、先导性的影响,城市公交以其方便、快捷、容量大而成为 城市交通的主体。但是随着公交系统的庞大,人们很难得到准确的公交信息,这样 给一些人的出行就带来了不便。因此,急需一个方便、快捷的公交信息查询方式, 本系统通过浏览器查询,实现中心控制、自动更新、更多的查询方式等等更多更强 大的功能。 4 考虑到邵阳市的公交路线不是很多,数据库并不大,所以对算法的要求并不会很高, 该系统只重于实现相应的功能,对于优化的算法并不做过多研究。 5 第 2 章 相关技术介绍 2.1 b/s 系统介绍 b/s(browser/server ,简称b/s )模式,即浏览器/服务器模式,它是基于 intranet 的需求而出现并发展的。intranet 是应用 tcp/ip协议建立的企事业单位内 部专用网络,它采用诸如tcp/ip、http、smtp和htm l等internet 技术和标准, 能为企事业单位内部交换信息提供服务。同时,它具有连接internet 的功能和防止 外界入侵的安全措施。另一方面,由于数据库具有强大的数据存储和管理能力,并 且能够动态地进行数据输入和输出,如果把数据库应用于intranet上,不仅可以实 现大量信息的网上发布,而且能够为广大用户提供动态的信息查询和数据处理服务, 进而加强企事业单位内部部门之间、上级部门与下级部门之间、企事业单位员工之 间、企事业单位与客户之间以及企事业单位与企事业单位之间的信息交流,降低企 事业单位的日常工作成本,提高企事业单位的经济效益。 b/s 模式,是一种从传统的二层 c/s 模式发展起来的新的网络结构模式,它通 常采用三层结构:浏览器web 服务器数据库服务器。 在 intranet 框架中,browser/server 模型的处理方式如下: (1) 用户打开计算机中的浏览器。 (2) 输入或自动启动主页的 url (uniform resource locator),浏览器生 成一个 http 请求并把它发给指定的 internet 服务器。 (3) 服务器发回主页的 html (hypertext markup language)页面。浏览器 将其显示在屏幕上。 (4) 用户在主页面上进行操作(如:点击、键入等)。 (5) 浏览器生成相应的 http 要求,发送给相应的服务器。 (6) 服务器收到请求后,查看本站点是否拥有这个文档。如果有,就将它放入 响应信息中返回给浏览器。 (7) 浏览器收到响应,查看头文件的格式,判断能否直接显示。如果否,就调 浏览器 web 服务 器 数据库服 务器 http 请求 数据传入 http 响应 数据导出 图 2.1 b/s 结构模型图 6 用对应的帮助应用程序或外挂程序处理显示。 2.2 asp.net 技术介绍 asp.net 是一种将各种 web 元素组合在一起的服务器技术 4,是一个统一 的 web 开发平台,它提供了生成一个完整的 web 应用程序所必须要的各种服务。 与以前的开发模型相比较,它提供了以下数个重要的优点: (1) 增强的性能。 asp.net 是在服务器上运行的编译好的公共语言运行库代 码。与被解释的前辈不同,asp.net 可利用早期绑定、实时编译、本机优化和盒 外缓存服务。这相当于在编写代码之前便显著提高了性能。 (2) 世界级的工具支持。asp.net 框架补充了 visual studio 集成开发环境 中的大量工具箱和设计器。wysiwyg 编辑、拖放服务器控件和自动部署只是这 个强大的工具所提供功能中的少数几种。 (3) 威力和灵活性。由于 asp.net 基于公共语言运行库,因此 web 应用 程序开发人员可以利用整个平台的威力和灵活性。.net 框架类库、消息处理和数 据访问解决方案都可从 web 无缝访问。asp.net 也与语言无关,所以可以选择 最适合应用程序的语言(如c#),或是跨多种语言分割应用程序。另外,公共语言 运行库的交互性保证在迁移到 asp.net 时保留基于 com 的开发中的现有投资。 (4) 简易性。 asp.net 使执行常见任务变得容易,从简单的窗体提交和客户 端身份验证到部署的站点配置。例如,asp.net 页框架使您可以生成将应用程序 逻辑与表示代码清楚分开的用户界面,和在类似 visual basic 的简单窗体处理模 型中处理事件。另外,公共语言运行库利用托管代码服务(如自动引用计数和垃圾 回收)简化了开发。 (5) 可管理性。 asp.net 采用基于文本的分层配置系统,简化了将设置应用 于服务器环境和 web 应用程序。由于配置信息是以纯文本形式存储的,因此可以 在没有本地管理工具帮助的情况下应用新设置。此“零本地管理”哲学也扩展到了 asp.net 框架应用程序的部署。只需将必要的文件复制到服务器,即可将 asp.net 框架应用程序部署到服务器。不需要重新启动服务器,即使是在部署或 替换运行的编译代码时。 (6) 可缩放性和可用性。asp.net 在设计时考虑了可缩放性,增加了专门用 于在聚集环境和多处理器环境中提高性能的功能 5。另外,进程受到 asp.net 运行库的密切监视和管理,以便当进程行为不正常(泄漏、死锁)时,可就地创建 7 新进程,以帮助保持应用程序始终可用于处理请求。 (7) 自定义性和扩展性。asp.net 随附了一个设计周到的结构,它使开发人 员可以在适当的级别“插入”代码。实际上,可以用自己编写的自定义组件扩展或 替换 asp.net 运行库的任何子组件。实现自定义身份验证或状态服务一直没有 变得更容易。 (8) 安全性。借助内置的 windows 身份验证和基于每个应用程序的配置,可 以保证应用程序是安全的。 2.3 c# 介绍 最近微软宣布了它的最新编程语言c#,这是一种面向对象的编程语言,它将作 为visual studio中的一部分推出。c#(发音为“c-sharp” )既保持了c+中熟悉 的语法,并且还包含了大量的高效代码和面向对象特性 6。据微软产品经理透露, 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+的某个版本。 (1) c#的特性 现在,微软仍在一边继续反驳其竞争对手sun控告它改变了java 语言的诉讼, 一边在对美国反垄断指控顽抗到底,但与此同时,微软的天才程序员们也在技术上 进行着一场补救的措施。那就是他们已经开发出来的c#语言,这是一种非常类似于 java的语言,微软深知即便是微软阵营中也有着相当一部分人喜欢java语言,所以 这次干脆就用c #来满足他们的愿望,这是一种非常完美的语言,适用于各种操作系 统,并且与windows紧密地结合在一起。微软表示这种新的程序设计语言并不针对 java,但它将是c+的革新。而这正是java 所追求的两个主要目标之一(另一目标 当然就是可移植性) 。微软一直梦想着能开发出能与java在windows nt 系统上抗 衡的语言。c #的自动内存管理以及和java 一样都使用的c语言语法,似乎让这个理 想成为现实。 8 微软称c#是由c 和c+ 派生而来的一种 “简单、流行、面向对象、类型安全”的 程序设计语言,c#意在综合visual basic的高效率和 c+的强大功能。但这种说法 是否准确呢?由于c#的结构很像visual basic的activex,它显然是冲着rad开 发者来的。但同时, “c#提供了c+的强大功能”这种说法也稍嫌夸张,将来很可能变 成空头支票。 对某一对象接口的更新,微软称之为“继承” ,当然 “继承”是就“ 对象”而言的。 但是,虽然“ 对象” 这个词我们经常碰到,却很少有人真正理解了它的含义。微软的 用户,甚至它自己的员工都经常把“对象” 和“接口” 弄混。所以微软干脆就用接口来 定义各种对象,结果导致了“面向对象编程” (oop)被微软弄得乱七八糟。现在, 微软又在大踏步地前进了(虽然它内心还是很小心) ,它把它建立在接口基础上的 “对象”集成到了开发工具里。不过它走得实在过了头,它甚至把对另一对象接口的 更新称之为“ 继承” 。 这个“继承”给程序员们带来的好处就是语言无关 只要接口维持其兼容性, 用visual basic写成的对象在c#和c+中也可以良好地运行。但此特性是以真正的 oop技术和平台的可移植性为代价的。每个对象都被编译和注册到windows 子系 统,只要你能访问这个子系统,你就能访问这个对象。来吧!欢迎来到.net和 ngws的世界!windows平台从来没有完完全全地让人产生这样完整的依赖 性。他们的动机当然要遭到全世界对微软有偏见的人的怀疑,当然,完全依靠此技 术的c #也不例外。 事实上,c#将是完全依靠windows的最完美的产物。那些困绕java sdk, mfc 和set的数据库已成为过去。你想放入c# 的任何东西(无论何种语言) ,只 要在windows 的.net 子系统下建立和包装的都可以使用windows的运行库。 (2)用msil 进入.net 当人们访问usenet或一些新闻组时,会有一些诸如新语言和平台有效性之类的 问题。什么时间和努力能解决这些问题呢?当然,如没有牢固的事实和有说服力的 证据,即使是最有帮助的响应者,权威机构也会对他的断言持保留意见。我没有参 加今年的专业开发者会议(pdc) ,因此我的发现都是基于那些与会者的反馈。 人们对微软过去几周的大肆宣传,最基本的错误理解就是c#只是visual c+ 的改进版本。完全不是这么回事。c#和java 没有直接联系。它的特征设定是从java 获得的灵感。它的语法同java一样,源自c和c+ ,但它的执行是完全新的,只依 靠.net结构。 c#也并非字节码(bytecode ) 。微软一位员工罗伯特.舒密特详细描 9 述道:“c#编译程序产生的是微软中间语言(msil) ,但虚拟机或其他类似的技 术则不能用于解释这种中间语言(il) 。相反地,每当应用程序载入或jit编译程序 需要编译它时,il就会被转换成本地代码。一旦这种转换完成,可以执行的代码实 际上是本地代码。 ”实质上,虽然这种方案有点像 java程序通过一个jil 编译程序,但 这里最终的jit编译是100%的本地代码,而java的jit 产生的结果是不同的。 (3) c#的不足 这个方案也暴露了微软对c#和.net介绍中的一些有趣的漏洞。msil是.net 提供的一个新特性,允许很流行的程序设计语言编译到一个单独的公用语言。 (.net支持的语言种类是相当惊人的) 。这些语言都要服从一种叫“通用语言规范 (cls ) ”的构架。微软称之为“cls兼容语言和类库之间可互操作的通用语言 ”。 编译所有的语言到一个单一的公用语言上,能让“继承” 通过多重语言真正执行。 这轻而易举的扫除了c#可能遇到的错误概念。.net组件使用com的idispatch, 它只允许接口执行。它比先前c#被评定为一种oop语言的看法容易接受得多。它 在程序设计上或许像java 一样是面向对象的。但不幸的是cls这种包括msil的共 享语言基础,只让rad开发者受益,而损害了硬件的核心开发者,有人认为创造一 种新程序设计语言的目的就是有能力充分运用它和服务于可微调的执行能力,这一 点在cls 世界里是做不到的。老实说,加速充分利用从来不是许多语言的唯一目标。 许多语言的唯一目标(最瞩目的是像visual basic和java的rad语言)是加速和美 化开发和展开能力,而不仅仅是运行时刻的速度。 你可以用c+指定.net,并在你的代码中运用所有c+特性。同时,因为. net在运行时刻不能检验c+代码是否安全,此语言并不遵从 cls规范,里面所书 写的程序也受到限制。作为应对,微软往visual c+里添加非标准管理的扩展。用 这些扩展写的代码能符合cls规范。 c#将把微软领向何方就一目了然了。因为所有项目编写会只依靠msil和cls jit编译程序。这样c#或任何msil前端语言比java任何时候都快。但很不幸,程 序设计和编译程序级的优化不能在非微软的平台上充分利用,想在非windows平台 上展开.net ,再充分运用它们也是不现实的。 2.4 visual studio.net 2005 平台 visual studio.net 2005是一个功能强大、高效并且可扩展的编程环境。有 许多激动人心的新功能,提供统一的集成开发环境,支持在同样的开发环境里用 visual basic、visual c+、visual c#、visual j#和其他数十种编程语言,编 10 写、调试和部署各种应用程序。它充分展现了应用程序的开发潜能、并提供了生成 应用程序的所需要的工具和技术。这些应用程序给当今的企业、机构提供了强大的 支持,为开发下一代以xml web服务为中心的应用程序而设计,并推动下一代基 于xml web服务软件的发展,是有始以来功能最强大、最受欢迎的软件开发工具。 c#(发音为“c sharp”)是一门简单,现代,优雅,面向对象,类型安全,平 台独立的一门新型组件编程语言。它虽然是一种新语言,但是却很难在这种语言中 找到新的概念,其语法风格不仅源自c/c+家族,而且融合了visual basic的高效 和c/c +强大,因此是微软为奠定其下一互联网霸主地位而打造的microsoft.net 平台的主流语言。在我看来,优点不外忽以下两方面,其一:对于花了很多时间学 会c 、 c+语言的程序员来说,可以不必丢弃以前的知识,就开始使用这种新的语 言开发程序,尽管有些新概念、新技术和新的函数名需要学习,但一般而言它的语 言及其语法是跟c、c +类似的,而且曾经用c+ 编写好的代码也可被重用,因为 c#具有调用已有代码和系统库中的库函数的机制;其二:组件编程已经成为当今世 界软件业面向下一代程序开发的一致选择,是90年代面向对象编程的深度发展。c# 生逢其时,占尽天时地利, “第一等的面向组件编程的支持”也决不是简单说说那么 轻松。实际上,组件特性已经深深植入c#语言的各个层面,可为是c #锐利 (sharp)之处。 2.5 ado.net 介绍 ado.net并不是ado 的升级版本,它是全新的面向对象模型。比ado更 适应于分布式及internet等大型应用程序环境,为了多人同时存取更具扩展性, ado.net的数据存取采用的是离线存取模式,可说是专门为 .net平台设计的数 据存取结构。它具有简单地访问关系数据、可扩展性、支持多层应用程序、统一 xml和关系数据访问的特点 7。 (1) 简单地访问关系数据。 ado.net的主要目标是提供对关系数据的简单访问功能。坦白的说,易于 使用的类描述关系数据库中的表、列和行。另外,ado.net 引入了dataset类, 它代表来自封装在一个单元中的关联表中的一组数据,维持他们之间完整的关系。 这是在ado.net中的新概念,可以显著的扩展数据访问接口的功能。 (2) 可扩展性。 ado.net可以扩展它为插件.net数据提供者(也称为可管理提供者) 11 提供了框架,这些提供者被构建,以便从任何数据源读取和写入数据。ado.net 提供了两种内置的.net数据提供者,一种用于ole db数据源,另一种用于 microsoft sql server。可以通过ole db访问数据格式(比如microsoft access) 、第三方数据库和非关系数据。另外,microsoft最近预演了用于 ado.net的odbc .net数据提供者,它允许.net访问更多的旧的数据格式和 第三方数据库。 (3) 支持多层应用程序。ado.net用于多层应用程序。这是当今商业和电子 商务应用程序最常见的体系结构。在多层体系结构中,应用逻辑的不同部分运行在 多个服务器或进程中,每一部分就称为一层。ado.net 使用开放的internet 标准 xml格式在层之间通信,允许数据通过internet 防火墙来传递,并允许以非 microsoft技术来实现一层或多层。 那么在visual studio.net中ado.net 访问数据库分为二种。一种是sql server数据库,另一种是其它任何类型的数据库。本系统的后台数据库为sql server 2000,因此是通过 sqlconnection、sqlcommand、sqldataadapter、dataset等几个主要的数 据访问对象来访问数据的。 2.6 数据库管理系统(dbms)介绍 数据库管理系统(dbms)是指数据库系统中管理数据的软件系统。 dbms是数 据库系统的核心组成部分 8。对数据库的一切操作,包括定义、查询、更新及各种 控制,都是通过dbms进行的。在不同的计算机系统中,由于缺乏统一的标准,即 使同种数据模型的dbms,它们在用户接口、系统功能方面也常常是不相同的。用 户对数据库进行操作,是由dbms把操作从应用程序带到外部级、概念级、再导向 内部级,进而操作存储器中的数据。dbms的主要目标,是使数据作为一种可管理 的资源处理。 dbms的主要功能为: (1) 数据库定义功能: dbms提供数据定义语言(ddl)定义数据库的三级结 构,包括外模式、概念模式、内模式及基相互之间的映象,定义数据的完整性、安 全控制等约束。因此,在dbms中应包括ddl的编译程序。 (2) 数据库的操纵功能:dbms提供数据操纵语言( dml)实现对数据库中 数据的操作。基本的数据操作分成两类四种:检索(查询) 、更新(插入、删除、修 改) 12 (3) 数据库的保护功能:数据库中的数据是信息社会的战略资源,对数据的保 护是至关重要的大事。dbms对数据库的保护主要通过四个方面实现: (4) 数据库的恢复:在数据库被破坏或数据不正确时,系统有能力把数据库恢 复到正确的状态。 (5) 数据库的并发控制:dbms 的并发控制子系统能防止错误发生,正确处 理好多用户、多任务环境下的并发操作。 (6) 数据库的完整性控制:保证数据库中数据及语义的正确性和有效性,防止 任何对数据造成错误的操作。 (7) 数据库的安全性控制:防止未经授权的用户蓄谋或无意地存取数据库中的 数据,以免数据的泄露、更改或破坏。 (8) 数据库的存储管理:把各种dml语句转换成低层的文件系统命令,起到数 据的存储、检索和更新的作用。 (9) 数据库的维护功能:数据装载程序、备份程序、文件重组织程序、性能监 控程序。 (10) 数据字典:数据库系统中存放三级结构定义的数据库称为数据字典(dd) 。 对数据库的操作都要通过访问dd 才能实现,通常 dd中还存放数据库运行时的统计 信息。 13 第 3 章 需求分析 3.1 公交查询系统性能需求分析 为了保证系统能够长期、安全、稳定、可靠、高效地运行,公交查询系统应该 满足以下性能需求: (1) 系统处理的准确性和及时性 系统处理的准确性和及时性是系统的必要性能。查询时应保证查全率,所有相 应域包含查询关键字的记录都应能查到。在系统设计和开发过程中,要充分考虑系 统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足系统管理 员对信息处理的需求。响应时间,更新处理时间都比较迅速,完全满足用户要求。 一般操作的响应时间应在 1-2s 内,对数据的导入、导出的操作也应在可接受的时间 内完成。 (2) 系统的开放性和系统的可扩充性 系统在开发过程中,应该充分考虑以后的可扩充性。例如,用户查询的需求也 会不断地更新和完善。这就要求系统提供足够的手段进行功能的调整和扩充。而要 实现这一点,应通过系统的开放性来完成,即系统应是一个开放系统,只要符合一 定的规范,可以简单地加入和减少系统的模块,配置系统的硬件。通过软件的修补、 替换,完成系统的升级和更新换代。 (3) 系统的易用性和易维护性 系统是直接面对使用人员的,而使用人员往往对计算机并不是非常熟悉。这就要求 系统能够提供良好的用户接口,易用的人机交互界面。所以在系统开发的时候就考 虑到了这一点,只要用户知道本系统的网址就可以直接使用本系统的查询模块而无 须用户注册及登陆,充分节约了用户查询的方便及随意性。其次,要实现本系统的 易用性就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能 出现的使用问题,要提供足够的在线帮助,在本系统中专门设置了“联系我们”这 一网址链接,从而缩短用户对系统熟悉的过程,也可以让用户对本系统的不足之处 让设计者知道,使系统更加完善。 14 3.2 应用需求分析 要设计一个良好的公交查询系统,就必须首先明确该应用环境对系统的要求。 公交查询系统的应用背景为:方便市民搭乘公交车出行;因此,该系统需满足以下 几方面需求: (1) 查询功能:提供几种不同方式查询手段,以实现灵活方便地管理整个系统。 公交线路查询: 用户输入公交车次号码,启动查询,可获得该路车属性(包括该路公交车:服 务类型:有无人售票;车型:普通空调车;收发车时间。其中,服务类型和车型 缺省为有人售票和普通车)及沿线站点信息。 站点查询: 用户输入站点(以任意方式),启动查询,可获得经过该站所有公交车次及其 属性。 乘车方案查询: 用户输入起点、终点(以任意方式),系统经过查询返回所有相关站点,用户 分别确认后,查询启动。用户可获得所有可达线路的路线信息(所有直达转乘的方 案)。 (2) 数据的维护: 新增:允许管理员级用户对数据进行新增操作,保证数据库的真实性与实时性; 更新:允许管理员级用户对数据进行更新操作,保证数据库的真实性与实时性; 删除:允许管理员级用户对数据进行删除操作,保证数据库的真实性与实时性。 (3) 打印输出(暂未实现):将用户查询到内容动态地生成报表,并打印输出。 3.3 时间性能需求分析 根据人机交互的实际性,当用户做出动作后,反应的页面时间不能超过十五秒, 这就要求我们的数据库的设计要合理,并且算法也不能太慢,用户的电脑硬件配置 也不能太差。 15 3.4 系统数据库设计 概念设计的目标是产生反映城市公交查询系统需求的数据库概念结构,即概念 模式。概念模式是独立于数据库逻辑结构,独立于支持数据库的 dbms,不依赖于 计算机系统的 9。 (1) e-r模型 e-r模型是对现实世界的一种抽象。它的主要成分是实体、联系和属性。使用 这三种成分,我们可以建立许多应用环境的e-r模型。 (2) e-r 模型的操作 在利用 e-r 模型进行数据库概念设计的过程中,常常需要对 e-r 图进行种种 变换。这些变换又称为 e-r 模型的操作,包括实体类型、联系类型和属性的分裂、 合并和增删等等。 (3) 利用 e-r 方法的数据库概念设计 利用 e-r 方法进行数据库的概念设计,可以分成三步进行:首先设计局部 e- r 模式,然后把各局部 e-r 模式综合成一个全局 e-r 模式,最后对全局 e-r 模式 进行优化,得到最终的 e-r 模式,即概念模式。 通常,一个数据库系统都是为多个不同用户服务的。各个用户对数据的观点可 能不一样,信息处理需求也可能不同。在设计数据库概念结构时,为了更好地模拟 现实世界,一个有效的策略是“分而治之”,即先分别考虑各个用户的信息需求, 形成局部概念结构,然后再综合成全局结构。在 e-r 方法中,局部概念结构又称为 局部 e-r 模式,其图形表示称为 e-r 图。 实体和属性的定义如下: 站名表(站名编号,站名) 车次表(车次,车线类型) 线路表(线路编号,车次,站名,次序) 车辆表(车辆编号,车次,车辆类型,服务类型,票价,ic 卡类型,运行区间) 冬季/夏季发车时间表(车次,首班时间,末班时间) 具体实体属性的关系图如图 3.1、3.2 所示: 16 图 3.1 关系图 图 3.2 关系图 (4)联系定义 e-r 模型的 “联系”用于刻画实体之间的关联。一种完整的方式是对局部结构 中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之 间是否存在联系。若有联系,进一步确定是 1:n, m:n,还是 1:1 等。还要考察一 个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之 间是否存在联系,等等。 本系统的 e-r 模型如图 3.3 所示 线 路 车 次 车 辆 站 名时 间 1:n1:1 1:n 1:1 图 3.3 e-r 模型图 17 (5)设计全局 e-r 模式 所有局部 e-r 模式都设计好了后,接下来就是把它们综合成单一的全局概念结 构。全局概念结构不仅要支持所有局部 e-r 模式,而且必须合理地表示一个完整、 一致的数据库概念结构。 确定公共实体类型 为了给多个局部 e-r 模式的合并提供开始合并的基础,首先要确定各局部结构 中的公共实体类型。在这一步中我们仅根据实体类型名和键枕认定公共实体类型。 一般把同名实体类型作为公共实体类型的一类候选,把具有相同键的实体类型作为 公共实体类型的另一类候选。 局部 e-r 模式的合并 合并的原则是:首先进行两两合并;先和合并那些现实世界中有联系的局部结 构;合并从公共实体类型开始,最后再加入独立的局部结构。 消除冲突 冲突分为三类:属性冲突、结构冲突、命名冲突。 设计全局 e-r 模式的目的不在于把若干局部 e-r 模式形式上合并为一个 e-r 模式,而在于消除冲突,使之成为能够被所有用户共同理解和接受的同一的概念模 型。 全局 e-r 模式的优化 在得到全局 e-r 模式后,为了提高数据库系统的效率,还应进一步依据处理需 求对 e-r 模式进行优化。一个好的全局 e-r 模式,除能准确、全面地反映用户功 能需求外,还应满足下列条件:实体类型的个数要尽可能的少;实体类型所含属性 个数尽可能少;实体类型间联系无冗余。 18 第 4 章 概要设计 4.1 数据库逻辑设计 由于概念设计的结果是 e-r 图,dbms 一般采用关系型,因此数据库的逻辑 设计过程就是把 e-r 图转化为关系模式的过程。由于关系模型古有的优点,逻辑设 计可以充分运用关系数据库规范化理论,使设计过程形式化地进行。设计结果是一 组关系模式的定义。 (1) 导出初始关系模式 (2) 关系子模式 子模式是用户所用到的那部分数据的描述。除了指出用户用到的数据外,还应 指出数据与概念模式中相应数据的联系,即指出概念模式与子模式之间的对应性。 4.2 数据库表 (1) 管理员(logintable) 管理员表存放登陆系统所需要的用户名和密码,修改密码时也同样需要访问此 表。 表 3.1 管理员表 字段名 数据类型 可否为空 loginid(主键) nvarchar not null loginpwd int not null loginname nvarchar not null (2) 公交车线路表 公交车线路表存放线路的数据,修改线路同样需要访问此表。 表 3.2 公交车线路表 字段名 数据类型 可否为空 编号(主键) nvarchar not null 车次 int not null 站点 nvarchar not null 19 (3) 车辆表 表 3.3 车辆表 字段名 数据类型 可否为空 车辆编号(主键) nvarchar not null 车次 int not null 车辆类型 nvarchar not null 服务类型 nvarchar not null 票价 nvarchar not null 运行区间 nvarchar not null (4) 发车时刻表 发车时刻表存放发车的时间,修改发车时间同样需要访问此表。 表 3.4 发车时刻表 字段名 数据类型 可否为空 编号(主键) int not null 车次 int not null 首班时间 nvarchar not null 末班时间 nvarchar not null (5) 最新动态表 最新动态表存放新闻标题和内容,修改新闻标题和内容同样需要访问此表。 表 3.5 最新动态表 字段名 数据类型 可否为空 编号(主键) int not null 标题 nvarchar not null 内容 nvarchar not null (6) 投票表 投票表存放用户对每个该网站评价的每个类型的票数,查看投票结果同样需要 访问此表。 20 表 3.6 投票表 字段名 数据类型 可否为空 编号 int not null 类型 nvarchar not null 4.3 系统功能模块划分 (1) 查询系统模块 该模块实现公交查询功能和新闻查询功能。 公交查询:可实现按线路查询、站点查询和起点终点查询查询三种查询 方式。 新闻查询:在最新动态里面可以查询该系统的相关新闻。 (2) 入系统模块 该模块实现数据的新增、修改、删除功能 系统模块图如图 4.1 所示: 城市公交查询系统 查询 后台管理 按线路查询 按站点查询 两站点间换乘查询 新增 修改 删除 线路 车辆参数 发车时间表 车次 站名 图 4.1 系统模块图 21 第 5 章 详细设计及实现 5.1 查询模块的功能实现 5.1.1 系统界面 (1)功能说明: 登陆界面如图所,点击公交线路查询就可以进入查询模块,点击最新动态可以 查看新闻,评价本站可以为本站投票和给出建议。当用户在使用该网站时有什么建 议或是不懂的地方可以点击下方的“联系我们”来跟本站管理员取得联系,以解决 相关问题。 (2)界面设计: 图5.1 系统界面 5.1.2 查询界面 (1)功能说明: 该界面中包含了公交线路号查询,是按线路查询的,站点名是按站点查询的, 而最下面一行是按输入的起点站和终点站执行站与站的查询,包括直达线和换乘线 路,换乘一般只做了二次换乘。 22 (2)界面设计: 图5.2 查询界面 5.1.3 按线路查 (1) 功能说明: 用户进入系统后,在线路查询模块的输入框中输入要查询的线路,点击查询按 钮,系统首先检查用户所查询的线路是否存在,如果不存在给出出错提示,如果存 在给出这条线路的相关信息。 (2) 界面设计: 图5.3 线路查询 (3) 算法流程图: 23 开始 用户录入车次信息 在公交车线路表中查询该线路 所对应的信息 显示乘车线路的相关信息 结束 图5.4 算法流程图 (4) 核心代码: public partial class showstationnam
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高校行政招聘试题及答案
- 基因工程行业市场分析与技术动向
- 公务员面试模板男士面试题及答案
- 公务员面试矛盾模板面试题及答案
- 华东医药秋招笔试题及答案
- 公务员面试联系实际面试题及答案
- 恒丰银行秋招面试题及答案
- 海康威视校招笔试题及答案
- 国家开发投资校招笔试题及答案
- 广药集团校招笔试题及答案
- 2025年度食品安全员考试试题(答案+解析)
- DL∕T 1732-2017 电力物联网传感器信息模型规范
- 特种设备(每周)安全排查治理报告
- 钢筋混凝土梁承载能力一览表
- MOOC 运筹学-北京科技大学 中国大学慕课答案
- 第五章 中国特色社会主义理论体系的形成发展(一)
- 可重复使用诊疗器械、器具、物品处理流程S
- DB53∕T 1032-2021 公路隧道超前地质预报技术规程
- 新版食品安全管理HACCP体系V1.0内审检查表
- AutoCAD 中文版室内设计实例教程(AutoCAD 2020)课件 第1、2章 初识 AutoCAD 2020 中文版、绘图设置
- 互联网宗教信息服务审核员考试报名表
评论
0/150
提交评论