![[小学教育]金武的毕业论文.doc_第1页](http://file.renrendoc.com/FileRoot1/2019-1/19/d4d1bf3c-8d0e-4512-a948-b707948ebe55/d4d1bf3c-8d0e-4512-a948-b707948ebe551.gif)
![[小学教育]金武的毕业论文.doc_第2页](http://file.renrendoc.com/FileRoot1/2019-1/19/d4d1bf3c-8d0e-4512-a948-b707948ebe55/d4d1bf3c-8d0e-4512-a948-b707948ebe552.gif)
![[小学教育]金武的毕业论文.doc_第3页](http://file.renrendoc.com/FileRoot1/2019-1/19/d4d1bf3c-8d0e-4512-a948-b707948ebe55/d4d1bf3c-8d0e-4512-a948-b707948ebe553.gif)
![[小学教育]金武的毕业论文.doc_第4页](http://file.renrendoc.com/FileRoot1/2019-1/19/d4d1bf3c-8d0e-4512-a948-b707948ebe55/d4d1bf3c-8d0e-4512-a948-b707948ebe554.gif)
![[小学教育]金武的毕业论文.doc_第5页](http://file.renrendoc.com/FileRoot1/2019-1/19/d4d1bf3c-8d0e-4512-a948-b707948ebe55/d4d1bf3c-8d0e-4512-a948-b707948ebe555.gif)
已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业论文本科毕业论文 城市公交查询系统城市公交查询系统 THE CITY PUBLIC TRANSPORT QUERY SYSTEM 学院(部):计算机科学与工程学院 专业班级: 信息安全 06-1 学生姓名: 金 武 指导教师: 廖 涛 2010 年 6 月 1 日 安徽理工大学毕业设计 I 城市公交查询系统 摘要 城市公共交通(简称“公交” )是与出行人员生产生活息息相关的重要基础设施。 提供良好的公交服务是建设和谐社会的基本要求。以信息化为基础,促进乘客、车 辆、站点设施以及交通环境等要素之间的良性互动,推动公交系统建设。鉴于中国 目前的经济发展状况,中国人出行还是以公交车为主,每个城市的公交系统都比较 庞大发达。因此开发一个城市公交路线查询系统就显得十分必要,也更加适应现代 社会的需求。 本设计主要针对公交路线查询而开发设计的,使用了 B/S 模式,利用开发工具 MyEclipse 结合 Java 编程语言来完成了功能和界面设计,实现了公交路线的查询功 能(包括按线路查询、按站点查询、换乘查询等) ;使用了 Java 中一些 web 控件编 写数据库连接、更新数据,从而实现了公交信息的管理功能(包括对路线、站点等 信息的添加、删除、修改)和访客的留言信息的查看、删除功能。 关键词:城市公交,公交查询,线路查询,站点查询,换乘查询关键词:城市公交,公交查询,线路查询,站点查询,换乘查询 安徽理工大学毕业设计 II The City Public Traffic Lines Query System ABSTRACTABSTRACT City public traffic (CPT for short) is an important infrastructure closely interconnected with production and our daily life. Providing good CPT service is a basic requirement for constructing a harmonious society. Informatization as the basis, promoting the interaction between the passenger, vehicle, station infrastructure and traffic circumstance. and promoting the construction of CPT system. Whereas Chinese actual economy developing complexion, people mainly take a bus going out, the CPT system of every cities is so enormous and developed. So developing a CPT bus line query system is greatly necessary, and more meeting the modern societys need.In allusion to the CPT bus line query, the design is developed and designed. It use B/S mode, and use development tool MyEclipse and programming language Java to completed the function and the design of interface, and realized the query of the CPT bus lines (including query by line, query by stop, change line query). Use of Java in the preparation of a number of web controls to connections database and update the data, in order to achieve the public transport information management capabilities (including routes, sites and other information to add, delete, modify) and visitor message information to view, delete function. KEYWORDS:public inquiry, bus station query, bus lines for inquiries, bus transfer inquiry 安徽理工大学毕业设计 III 目录 摘要 I ABSTRACTABSTRACT.II 1 绪论.1 1.1 国内外研究现状及其研究意义1 1.2 本文的主要研究内容.2 1.3 本章小结.2 2 技术背景和分析.3 2.1 JSP 技术介绍3 2.1.1 JSP 运行环境.3 2.1.2 JSP 页面示例.3 2.2 B/S 系统介绍5 2.2.1 B/S 架构具备极大的优越性.6 2.2.2 采用 JAVA 语言实现.6 2.2.3 开发中使用的工具7 2.3 J2EE 体系结构介绍9 2.3.1 J2EE 提出的背景.9 2.3.2 J2EE 的概念.9 2.3.3 J2EE 的四层模型.10 2.3.4 本系统主要应用到的 J2EE 的 API.11 2.4 本章小结.12 3 需求分析.13 3.1 用例分析.13 3.2 系统需求.13 3.3 功能需求.14 3.4 性能要求.14 3.5 应用需求分析15 3.6 系统功能模块划分15 3.7 系统数据库设计15 3.8 本章小结.17 4 总体设计.18 安徽理工大学毕业设计 ii 4.1 基本设计概念.18 4.2 系统层次.18 4.3 层次设计.18 4.4 表结构实现.19 4.5 存储过程21 4.5.1 存储过程的概念.21 4.5.2 存储过程的优点.22 4.5.3 存储过程实现.22 4.6 业务逻辑层.24 4.7 为什么要用 web service24 4.8 换乘算法介绍.24 4.8.1 研究方法、手段及步骤25 4.8.2 详细算法25 4.9 本章小结.26 5 系统实现.27 5.1 查询的实现.27 5.1.1 线路查询的实现27 5.1.2 站点查询的实现27 5.1.3 换乘查询的实现28 5.2 Web 系统前台28 5.3 后台数据管理.30 5.3.1 查看30 5.3.2 新增31 5.3.3 修改31 5.3.4 删除32 5.3.5 查看留言33 5.4 本章小结.33 总结34 参考文献35 致谢36 安徽理工大学毕业设计 1 1 绪论 1.1 国内外研究现状及其研究意义 随着现代社会的发展,交通也越来越发达,人们也开始不断外出旅游了, 当我们去一个不熟悉的城市时,以前我们只能打电话咨询,看交通地图,向 熟人打听等传统方式查询公交信息,这样会浪费我们很多时间、精力和财力, 而且得到的信息也不一定是可靠的。这是公交网络系统还不发达的过去会出 现的情况,虽然我国的公交网络系统起步较晚,不过近几年来正在不断的发 展,公交查询系统也在此环境下发展兴起。 随着运筹学,图论等学科的不断发展,在1959 年,荷兰计算机科学家 艾滋格.迪克斯发现了 Dijkstara 算法,该算法在公交线路查询中是一种比 较常用、方便的算法,但它的复杂度为节点数平方的数量级。当网络模型中 节点数和边数较多的情况下,算法的计算量较大,时间发费较多,因此, Dijkstara 算法在理论上 是正确的,但在实际应用中不尽人意。 1968 年人们开发出 A*算法,该算法是一种启发式搜索方法,它特别适 用于公交查询系统,它是利用已有的一些经验知识来解决空间进行搜索。由 于已经有了问题的一些经验知识,因此 A*算法往往比较一些遍历搜索方法 在计算时间上要快的多,但他不能像 Dijkstra 算法一样搜索到的一定是最 短的路径,只是相对短的路径。 在 20 世纪 90 年代初意大利学者 D.origo,V.Maniezzo,A.Colorni 等 通过模拟蚂蚁搜索路径的行为,发明出蚂蚁算法。该算法可以带记忆功能, 选择某路径的次数最多,说明此路径是比较优的路径,其信息素的值也越大, 为以后选择路径提供必要的信息。系统使用的时间越长,为乘客提供的信息 越全面,越准确,系统也越智能化。 城市公交是专门服务于市民出行的客运企业。它是城市社会和经济活动 的重要组成部分。伴随着国民经济和城市建设的快速发展,城市经济的繁荣, 人口的增加,城市必须解决好人们出行的需求。城市公交直接关系着城市的 经济发展和居民生活,对城市经济具有全局性、先导性的影响,城市公交以 其方便、快捷、容量大而成为城市交通的主体。但是随着公交系统的庞大, 人们很难得到准确的公交信息,这样给一些人的出行就带来了不便。因此, 急需一个方便、快捷的公交信息查询方式,本系统通过浏览器查询,实现中 心控制、自动更新、更多的查询方式等等更多更强大的功能。 当今是一个以网络为中心的信息化世界,计算机已成为广大市民不可缺 安徽理工大学毕业设计 2 少的工具。由于我国城市化进程的推进,目前城市不断地在向郊区延伸,边 缘不断扩大,和郊区的边界甚至开始变得模糊化,城市公交路线不断地增多, 加之众多公交路线时常调整,目前众多市民,特别是一些大中型城市的市民, 对各条公交路线的信息不清楚或掌握得不准确。并且当今各大城市的家庭轿 车相继增多,使城市交通出现拥堵现象。而公共交通与其它交通方式相比具 有人均占用道路少、能源消耗低、运输成本低、污染相对较小、客运量大, 运送效率高等优点,它是解决大、中城市交通拥堵等交通问题,所以各大城 市都在积极地发展公共交通的运用。本毕业设计主要的目的就是实现公交查 询以及信息发布。 1.2 本文的主要研究内容 基于网络环境下的 B/S 公交换乘系统将是今后几年类的城市公交建设发 展和研究的方向,在该项查询技术成熟并运用的的时间内,亦有可以在 B/S 公交换乘系统的基础上设计出的实时的系统,为人们的出行提供便利, 对人们了解公交现况和城市道路发展规模提供了必不可少的平台。本系统 主要的研究内容如下 : 1.了解出行者在出行时以哪些因素为首要的考虑因素 。 2.了解并分析目前公交网络的设计以何种理论为依托。 3.思考如何才是公交换乘最短路径概念。 4.了解并分析国内外目前已有的公交路线查询系统的理论及设计方法。 5.如何将集合,广度和深度优先搜索的思想应用于B/S 模式下公交换乘 系统中去。 6.结合传统的公交查询方法和国内外先进的公交线路算法理论,设计出 一套适用于我国城市的最佳公交换乘路线查询系统。 本设计实现的主要功能 是:此系统能够使用户简单的查询出他们自己想 要的车次经过哪些站点,在哪一站可以转乘,然后继续换乘哪路车;也可以 预先知道可以通过哪些车次可以到达目的地。管理员可以通过对公交线路系 统信息站点、线路、留言等等进行一系列的操作。 1.3 本章小结 本章主要是了解城市公交查询系统的研究现状,通过查看现行的公交查 询系统,了解了现行的系统的优缺点。 同时指导自己在它们的基础上可以加 强的地方,改进系统的新的功能,这也就是研究 公交查询系统的意义所在, 通过学习和研究他人的相关研究课题,在它们的基础上自己的所要研究的内 容,加强新的功能,优化系统的性能。 安徽理工大学毕业设计 3 2 2 技术背景和分析技术背景和分析 2.1 JSP 技术介绍 在 Sun 正式发布 JSP(JavaServer Pages)之后,这种新的 Web 应用开 发技术很快引起了人们的关注。 JSP 为创建高度动态的 Web 应用提供了一 个独特的开发环境。按照 Sun 的说法, JSP 能够适应市场上包括 Apache WebServer、IIS4.0 在内的 85% 的服务器产品。 2.1.1 JSP 运行环境 Sun 公司的 JSP 主页上可以下载 JSP 规范,这些规范定义了供应商在 创建 JSP 引擎时所必须遵从的一些规则。 在运行 JSP 示例页面之前,要注意安装 JSWDK 的目录,特别是 “work”子目录下的内容。执行示例页面时,可以在这里看到 JSP 页面如 何被转换成 Java 源文件,然后又被编译成 class 文件(即 Servlet) 。 JSWDK 软件包中的示例页面分为两类,它们或者是JSP 文件,或者是包含一 个表单的 HTML 文件,这些表单均由 JSP 代码处理。与 ASP 一样,JSP 中的 Java 代码均在服务器端执行。因此,在浏览器中使用 “查看源文件”菜单 是无法看到 JSP 源代码的,只能看到结果 HTML 代码。 2.1.2 JSP 页面示例 下面分析一个简单的 JSP 页面。可以在 JSWDK 的 examples 目录下 创建另外一个目录存放此文件,文件名字可以任意,但扩展名必须为. jsp。从下面的代码清单中可以看到, JSP 页面除了比普通 HTML 页面多一 些 Java 代码外,两者具有基本相同的结构。 Java 代码是通过 符号加入到 HTML 代码中间的,它的主要功能是生成并显示一个从 0 到 9 的字符串。在这个字符串的前面和后面都是一些通过HTML 代码输出的文本。 JSP 页面 安徽理工大学毕业设计 4 JSP 输出之前。 JSP 输出之后。 这个 JSP 页面可以分成几个部分来分析。 首先是 JSP 指令。它描述的是页面的基本信息,如所使用的语言、是 否维持会话状态、是否使用缓冲等。 JSP 指令由 结束。 在本例中,指令 “ ”只简单地定义了本例 使用的是 Java 语言(当前,在 JSP 规范中 Java 是唯一被支持的语言)。 接下来的是 JSP 声明。 JSP 声明可以看成是定义类这一层次的变量和 方法的地方。 JSP 声明由 结束。如本例中的 “ ”定义了一个字符串变量。在每一项声明的后面都必 须有一个分号,就象在普通 Java 类中声明成员变量一样。 位于 之间的代码块是描述 JSP 页面处理逻辑的 Java 代 码,如本例中的 for 循环所示。 最后,位于 之间的代码称为 JSP 表达式,如本例中的 “ ”所示。 JSP 表达式提供了一种将 JSP 生成的数值嵌入 HTML 页面的简单方法。 会话状态维持是 Web 应用开发者必须面对的问题。有多种方法可以用 来解决这个问题,如使用 Cookies 、隐藏的表单输入域,或直接将状态信 息附加到 URL 中。 Java Servlet 提供了一个在多个请求之间持续有效的 会话对象,该对象允许用户存储和提取会话状态信息。 JSP 也同样支持 Servlet 中的这个概念。 在 Sun 的 JSP 指南 中可以看到许多有关隐含对象的说明(隐含的含 义是,这些对象可以直接引用,不需要显式地声明,也不需要专门的代码创 建其实例) 。例如 request 对象,它是 HttpServletRequest 的一个子类。 该对象包含了所有有关当前浏览器请求的信息,包括 Cookies , HTML 表 单变量等等。 session 对象也是这样一个隐含对象。这个对象在第一个 JSP 页面被装载时自动创建,并被关联到 request 对象上。与 ASP 中的 会话对象相似, JSP 中的 session 对象对于那些希望通过多个页面完成一 安徽理工大学毕业设计 5 个事务的应用是非常有用的。 为说明 session 对象的具体应用,接下来我们用三个页面模拟一个多 页面的 Web 应用。第一个页面( q1.html )仅包含一个要求输入用户名 字的 HTML 表单,代码如下: 请输入您的姓名: 第二个页面是一个 JSP 页面( q2.jsp ) ,它通过 request 对象提取 q1.html 表单中的 thename 值,将它存储为 name 变量,然后将这个 name 值保存到 session 对象中。 session 对象是一个名字 / 值对的集 合,在这里,名字 / 值对中的名字为 “ thename ” ,值即为 name 变量的 值。由于 session 对象在会话期间是一直有效的,因此这里保存的变量对 后继的页面也有效。 q2.jsp 的另外一个任务是询问第二个问题。下面是它 的代码: 您的姓名是: 主要任务是显示问答结果。它从 session 对象提取 thename 的值并 显示它,以此证明虽然该值在第一个页面输入,但通过 session 对象得以 保留。 q3.jsp 的另外一个任务是提取在第二个页面中的用户输入并显示它: 安徽理工大学毕业设计 6 您的姓名是: 2.2 B/S 系统介绍 传统的 C/S 架构(客户机 /服务器,Client/Server)方式中,业务逻辑 位于客户端,每完成一项事务,都要频繁地访问数据库,使得网络上数据流 量非常大,对于慢速连接的用户,甚至无法使用。 为弥补上述 C/S 架构的缺陷,人们 发展出了三层或多层架构:客户机 中间件(应用服务器) 数据库服务器 (ClientMiddle ware Database Server)。在这种架构中,业务逻辑放置于中间件服务器上,大量 的数据流也位于中间件和数据库之间,而客户机只是简单地发出请求,中间 件接受请求后进行事务处理并将处理的结果返回给客户机,这一类型的客户 机也称之为“廋客户” 。B/S 架构实际上是三层架构的一种,所不同的是客户 端就是目前几乎每台电脑中都有的网络浏览器,而中间件则是Web 应用服 务器。注意到主要的业务逻辑均由位于 Web 应用服务器上的 Servlet 和 JSP 程序或 EJB 来处理。 2.2.1 B/S 架构具备极大的优越性 1.面向电子商务时代的技术 将来所有的应用系统几乎都在互联网或 企业内部广域网上运行,发展电 子商务成为企业不可避免的信息化道路。 B/S 架构的软件正是电子商务的基 石,正是这类软件使得移动办公和分布式协同工作真正成为现实。无论在世 界的那个角落,只需要一台可以联网的设备(计算机、 PDA 甚至手机)都可 以方便地与客户联系和与他人协同工作。 2.软件操作、维护和升级方式的革命 软件系统的改进和升级越来越频繁, B/S 架构的产品在维护和升级方面 具备显著的优势。无论用户的规模有多大,有多少分支机构都不会增加任何 维护升级的工作量,所有的操作只对服务器进行,通过远程连接服务器,异 地的运维人员甚至于可以做到远程维护和升级,这对人力、时间、费用的节 省是相当惊人的。 所有的客户端只是浏览器,所有的操作都和上网浏览网页类似,使用者 接受的培训也仅限于业务逻辑而无需将大量精力浪费学习软件操作上。 3.系统整合 无论是办公自动化( OA)系统,人力资源( HR)系统,客户关系管理 (CRM)系统,ERP 等等,发展的趋势是不断融合。而采用统一的B/S 结构 开发的产品无论是现在还是将来都是最好的选择,它提供了真正意义上无缝 安徽理工大学毕业设计 7 地与其它系统进行整合的方案。 2.2.2 采用 JAVA 语言实现 1.跨越平台的限制 尽管目前 Windows 桌面系统一统天下,但是服务器系统采用的操作系统 却具有多样性,包括 Linux、Unix、Windows NT/2000Server 等系统都可以 实现企业级应用。即便是桌面系统, 中国政府出于安全和国家战略的考虑, 希望有自己的操作系统, Linux 的出现使这种想法变成了现实。 传统的 C/S 架构的软件需要针对不同的操作系统开发不同版本的软件, 面对众多的操作系统和软件快速的升级换代,采用这一架构开发软件,对于 企业的 IT 投资无疑是一种巨大的风险。而采用 Java 语言实现的 B/S 架构 的软件产品真正做到了 “一次编写处处运行 (Write Once, Run Anywhere)” ,对企业而言,可以规避将来更换操作系统所带来的风险。 2.健壮的系统 Java 语言实现的软件具有天然的健壮性。这是Java 语言自身的特性保 证的。利用 Java 写成的软件几乎不可能造成系统崩溃,这正是安全性要求 很高的企业级应用所不可或缺的特性。 Java 语言取消了指针的概念,而且 是自动的内存管理,这样使在应用程序中提供了安全机制的保障。 3.分布式 Java 语言是一种面向 5tr 网络的高级语言, Java 语言的应用程序编程 接口具有支持超文本传输协议( Hypertext transfer protocol,HTTP)和 文本传输协议( File transfer protocol,FTP)的 TCP/IP 的类库,Java 应用程序可以通过统一资源定位器( Uniform Resources Locator,URL) 地址直接访问 Internet 上的各种对象,就如同访问本地的对象。 Java 的 小应用程序( applet) 是跨平台的网络应用程序,它被嵌入到超文本标记 语言(Hypertext Markup Language,HTML)文件中,通过主页发布到 Internet。用户访问到服务器的 Applet 程序时,它们将从 Internet 上传 输,然后在支持 Java 的浏览器上运行。 2.2.3 开发中使用的工具 1.数据库 MySql MySql 是一种小型的关系型数据库管理与分析系统,它提供了功能全面、 操作简单的图形界面。 MySql 具有较好的可伸缩性和可靠性,提供了以Web 标准为基础的扩展数据库编程功能,可以满足电子商务和企业应用程序的要 求。MySql 支持 XML 和 Internet 标准,具有基于 Web 的分析能力,允许使 安徽理工大学毕业设计 8 用内置的存储过程。有专门针对 SQL Server 2005 的数据应用类库供用户使 用,方便了用户对数据的操作。 2.开发环境 MyEclipse MyEclipse 企业级工作平台( MyEclipse Enterprise Workbench ,简 称 MyEclipse) 是新一代的 J2EE 开发工具,它是构建下一代互联网应用的 优秀工具。由于 MyEclipse 通过提供一个统一的集成开发环境及工具,包括 了完备的编测试和发布功能、完整支持 HTML、Struts、JSF、CSS、Javascript、SQL,Hibernate。大大提高了开发 者的效率,十分方便的 web 程序的创建和调试,所以 MyEclipse 是开 J2EE 应用程序的常用工具。在 MyEclipse 中用户可以直接使用它里面的组件来创 建 web 应用程序,同时它也是一个功能丰富的编程环境,集成了多种语言支 持(如:JavaScript、Html、Jsp,servlet 等) ;简化了服务器端的开发; 提供了高效地创建和使用网络服务的方法等等。当用MyEclipse 创建一个 J2EE 工程时,可以配置各种不同的服务器应用,用户直接在MyEclipse 中 启动应用即可。 3.服务器 Tomcat Tomcat 是 java 领域最著名的开源 Web 容器,简单,易用,稳定性极好, 既可以作为个人学习之用,也可以作为商业产品发布。 因为 Tomcat 完全是纯 java 实现的,因此他也是平台无关的,在任何平 台上运行完全相同,而且在 windows 和 Linux 平台上的安装和配置基本相同。 虽然 Tomcat 是一个小型的而且是免费的 Web 服务器,但也是提供了图形界 面控制台,通过控制台,用户可以和方便的部署Web 应用、监控 Web 应用 的状态等 Tomcat 是一个免费的开源的 Serlvet 容器,它是 Apache 基金会的 Jakarta 项目中的一个核心项目,由 Apache,Sun 和其它一些公司及个人 共同开发而成。由于有了 Sun 的参与和支持,最新的 Servlet 和 Jsp 规范 总能在 Tomcat 中得到体现。 Tomcat 被 JavaWorld 杂志的编辑选为 2001 年 度最具创新的 java 产品,可见其在业界的地位。 在 Tomcat 中,应用程序的部署很简单,你只需将你的WAR 放到 Tomcat 的 webapp 目录下,Tomcat 会自动检测到这个文件,并将其 解压。你在浏 览器中访问这个应用的 Jsp 时,通常第一次会很慢,因为 Tomcat 要将 Jsp 转化为 Servlet 文件,然后编译。编译以后,访问将会很 快。另外 Tomcat 也提供了一个应用: manager,访问这个应用需要用户名和密码,用 户名和密码存储在一个 xml 文件中。通过这个应用,辅助于 Ftp,你可以 安徽理工大学毕业设计 9 在远程通过 Web 部署和撤销应用。当然本地也可以 Tomcat 不仅仅是一个 Servlet 容器,它也具有传统的 Web 服务器的功 能:处理 Html 页面。但是与 Apache 相比,它的处理静态 Html 的能力就不 如 Apache。我们可以将 Tomcat 和 Apache 集成到一块,让 Apache 处理静态 Html,而 Tomcat 处理 Jsp 和 Servlet。这种集成只需要修改一下 Apache 和 Tomcat 的配置文件即可。 基于 Tomcat 的开发其实主要是 Jsp 和 Servlet 的开发,开发 Jsp 和 Servlet 非常简单,你可以用普通的文本编辑器或者IDE,然 后将其打包 成 WAR 即可。我们这里要提到另外一个工具 Ant,Ant 也是 Jakarta 中的一 个子项目,它所实现的功能类似于 Unix 中的 make。你需 要写一个 build.xml 文件,然后运行 Ant 就可以完成 xml 文件中定义的工作,这个工 具对于一个大的应用来说非常好,我们只需在xml 中写很少的东 西就可以 将其编译并打包成 WAR。事实上,在很多应用服务器的发布中都包含了 Ant。另外,在 Jsp1.2 中,可以利用标签库实现 Java 代码与 Html 文件的 分离,使 Jsp 的维护更方便。 2.3 J2EE 体系结构介绍 2.3.1 J2EE 提出的背景 1.企业级应用框架的需求 在许多企业级应用中,例如数据库连接、邮件服务、事务处理等都是一 些通用企业需求模块,这些模块如果每次再开发中都由开发人员来完成的话, 将会造成开发周期长和代码可靠性差等问题。于是许多大公司开发了自己的 通用模块服务。这些服务性的软件系列统称为中间件。 2.为了通用必须要提出规范,不然无法达到通用 在上面的需求基础之上,许多公司都开发了自己的中间件,但其与用户 的沟通都各有不同,从而导致用户无法将各个公司不同的中间件组装在一块 为自己服务。从而产生瓶颈。于是提出标准的概念。其实J2EE 就是基于 JAVA 技术的一系列标准。 2.3.2 J2EE 的概念 J2EE Java2 平台企业版( Java 2 Platform,Enterprise Edition) 。 J2EE 是一套全然不同于传统应用开发的技术架构,包含许多组件,主要 可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。 安徽理工大学毕业设计 10 J2EE 核心是一组技术规范与指南,其中所包含的各类组件、服务架构及 技术层次,均有共通的标准及规格,让各种依循J2EE 架构的不同平台之间, 存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容, 企业内部或外部难以互通的窘境。 目前,Java 2 平台有 3 个版本,它们是适用于小型设备和智能卡的 Java 2 平台 Micro 版(Java 2 Platform Micro Edition,J2ME) 、适用于 桌面系统的 Java 2 平台标准版( Java 2 Platform Standard Edition,J2SE) 、适用于创建服务器应用程序和服务的 Java 2 平台企业版 (Java 2 Platform Enterprise Edition,J2EE) 。J2EE 是一种利用 Java 2 平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。 J2EE 技术的基础就是核心 Java 平台或 Java 2 平台的标准版, J2EE 不仅巩 固了标准版中的许多优点,例如 “编写一次、随处运行 “的特性、方便存取 数据库的 JDBC API、CORBA 技术以及能够在 Internet 应用中保护数据的安 全模式等等,同时还提供了对 EJB(Enterprise JavaBeans) 、Java Servlets API、JSP(Java Server Pages)以及 XML 技术的全面支持。其 最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。 J2EE 体系结构提供中间层集成框架用来满足无 性、高可靠性以及可扩 展性的应用的需求。通过提供统一的开发平台, J2EE 降低了开发多层应用 的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持 Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持, 增强了安全机制,提高了性能。 需太多费用而又需要高可用 2.3.3 J2EE 的四层模型 J2EE 使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应 用组件根据他们所在的层分布在不同的机器上。事实上, sun 设计 J2EE 的 初衷正是为了解决两层模式 (client/server)的弊端,在传统模式中,客户 端担当了过多的角色而显得臃肿,在这种模式中,第一次部署的时候比较容 易,但难于升级或改进,可伸展性也不理想,而且经常基于某种专有的协议, 通常是某种数据库协议。它使得重用业务逻辑和界面逻辑非常困难。现在 J2EE 的多层企业级应用模型将两层化模型中的不同层面切分成许多层。一个 多层化应用能够为不同的每种服务提供一个独立的层, 图 2-1 是 J2EE 典 型的四层结构 : 安徽理工大学毕业设计 11 图 2-1 J2EE 四层结构模型 1.运行在客户端机器上的客户层组件 J2EE 应用程序是由组件构成的 .J2EE 组件是具有独立功能的软件单元, 它们通过相关的类和文件组装成 J2EE 应用程序,并与其他组件交互。应用 客户端程序和 applets 是客户层组件 。 2.运行在 J2EE 服务器上的 Web 层组件 Java Servlet 和 JavaServer Pages(JSP)是 web 层组件。J2EE web 层 组件可以是 JSP 页面或 Servlets。按照 J2EE 规范,静态的 HTML 页面和 Applets 不算是 web 层组件。 所以 web 层可能包含某些 JavaBean 对象来处理用户输入,并把输入发 送给运行在业务层上的 enterprise bean 来进行处理。 3. 运行在 J2EE 服务器上的业务逻辑层组件 业务层代码的逻辑用来满足银行,零售,金融等特殊商务领域的需要, 由运行在业务层上的 enterprise bean 进行处理。下图表明了一个 enterprise bean 是如何从客户端程序接收数据,进行处理 (如果必要的话 ), 并发送到 EIS 层储存的,这个过程也可以逆向进行。 有三种企业级 的 bean:会话(session)beans,实体(entity)beans,和消 息驱动(message-driven)beans。会话 bean 表示与客户端程序的临时交互 。 当客户端程序执行完后 ,会话 bean 和相关数据就会消失 。相反,实体 bean 表示数据库的表中一行永久的记录 。当客户端程序中止或服务器关闭时 ,就 会有潜在的服务保证实体 bean 的数据得以保存 。消息驱动 bean 结合了会 话 bean 和 JMS 的消息监听器的特性 ,允许一个业务层组件异步接收 JMS 消 息。 4.运行在 EIS 服务器上的企业信息系统 (Enterprise information system)层软件 企业信息系统层处理企业信息系统软件包括企业基础建设系统例如企业 资源计划(ERP), 大型机事务处理 , 数据库系统,和其它的遗留信息系统 . 例如,J2EE 应用组件可能为了数据库连接需要访问企业信息系统 。 安徽理工大学毕业设计 12 2.3.4 本系统主要应用到的 J2EE 的 API J2EE 平台由一整套服务( Services) 、应用程序接口( APIs)和协议构 成,它对开发基于 Web 的多层应用提供了功能支持,下面对 J2EE 中的 13 种技术规范进行简单的描述 (限于篇幅,这里只能进行简单的描述 ): 1.JDBC(Java Database Connectivity) JDBC API 为访问不同的数据库提供了一种统一的途径,象ODBC 一样, JDBC 对开发者屏蔽了一些细节问题,另外, JDCB 对数据库的访问也具有平 台无关性。 JDBC 是一种可用于执行 SQL 语句的 JavaAPI(Application Programming Interface,应用程序设计接口)。它由一些 Java 语言编写的 类和界面组成。 JDBC 为数据库应用开发人员和数据库前台工具开发人员提供 了一种标 准的应用程序设计接口,使开发人员可以用纯Java 语言编写完 整的数据库应用程序。 通过使用 JDBC,开发人员可以很方便地将 SQL 语句传送给几乎任何一 种数据库。也就是说,开发人员可以不必 写一个程序访问 Oracle,写另一 个程序访问 MySQL,再写一个程序访问 SQL Server。用 JDBC 写的程序能够 自动地将 SQL 语句传送给相应的数据库管理系统( DBMS) 。不但如此,使用 Java 编写的应用程序可以在任何支持 Java 的平台上运行,不必在不同的平 台上编写不同的应用。 Java 和 JDBC 的结合可以让开发人员在开发数据库应 用时真正实现 “一次编写,处处运行 ” 。 2.JSP(Java Server Pages) JSP 页面由 HTML 代码和嵌入其中的 Java 代码所组成。服务器在页面被 客户端所请求以后对这些 Java 代码进行处理,然后将生成的 HTML 页面返 回给客户端的浏览器。 3.Java Servlet Servlet 是一种小型的 Java 程序,它扩展了 Web 服务器的功能。作为 一种服务器端的应用,当被请求时开始执行,这和CGI Perl 脚本很相似。 Servlet 提供的功能大多与 JSP 类似,不过实现的方式不同。 JSP 通常是大 多数 HTML 代码中嵌入少量的 Java 代码,而 servlets 全部由 Java 写成并 且生成 HTML。 4.XML(Extensible Markup Language) XML 是一种可以用来定义其它标记语言的语言。它被用来在不同的商务 过程中共享数据。 XML 的发展和 Java 是相互独立的,但是,它和 Java 具有 的相同目标正是平台独立性。通过将 Java 和 XML 的组合,可以得到一个完 安徽理工大学毕业设计 13 美的具有平台独立性的解决方案。 2.4 本章小结 本章主要介绍了公交查询系统的所使用的技术和开发时所使用的工具, 主要以 Jsp(servlet)为页面表示形式,以 Java 编写业务逻辑层和数据库的 连接,以 MyEclipse 为 J2EE 开发工具,它拥有强大的功能,能方便开发本 系统;以 MySql 为数据库,Tomcat 为服务器。 3 需求分析 虽然近年来公交查询系统发展迅速,不过发展的同时也存在着一些问题, 还需要不断的规范和完善。 1有一部分公交查询系统,它们只是把各条线 路和线路的信息一一罗列在页面上,让用户自己一页一页的翻看查找,这样 的公交查询根本不方便不快捷。一个真正完善的公交查询系统应该实现用户 输入想查询的内容,系统自动查询出结果,而不是让用户手动去翻找查询; 2也有一部分公交查询系统,它们的系统功能不完善,只实现了站点的查询 和线路的查询,而没有实现站点到站点的查询和转乘的功能,这不能完全满 足用户的需求; 3还有一部分公交查询系统,它们系统功能还算完善,但 是页面结构复杂,而且页面上布满了广告和各种与公交查询无关的信息,这 样使用户查询一点都不方便,而且影响美观度,也影响了系统在用户心目中 的良好形象。因此公交查询系统的发展还有待进一步的规范和改进。 3.1 用例分析 站点查询查询者可以执行线路查询、站点查询、换乘查询(包括:一次 换乘、二次换乘)的操作。查询者的用例分析如图3-1 所示: 安徽理工大学毕业设计 14 图 3-1 访客用例分析 管理员可以新增、修改、删除数据记录,以保证公交车线路的是正确可 用的,管理员的用例分析如图 3-2 所示。 3.2 系统需求 根据查询系统的业务流程,以及所需要实现的目标,我们拟定出一下诉 求目标: 1.建立线路查询,实现查询出目标线路所经过的所有站点。 2.建立站点查询,实现查询出经过目标站点的所有公交线路。 3.建立换乘查询,实现两站点之间的所有换乘线路的查询(包括:直达, 一次换乘、二次换乘查询)。 4.实现公交线路的管理。 5.访客可以对查询的结果评价和报错 。 图 3-2 管理员用例分析 3.3 功能需求 随着城市的高速发展,公交线路的不断扩充,人们要从错中复杂的公交 线路中找出到达目的地的理想线路,不是一件容易的事。从而基于计算机的 公交车查询系统应运而生。 该系统打破的传统查询的弊端,实现了自动的线路查询、站点查询、换 乘查询、线路站点的管理等功能。具体包括: 1.线路查询:方便用户了解到最快最新的线路信息,如 :此线路经过哪 些站点,和站点在线路中的位置等。 2.站点查询:用户如果对线路不清楚,只知道自己要去的地方,那么站 点查询会帮你快速找出可以搭乘哪些线路的公交车到达此地 ,和各线路的相 关信息,并注明了此站点在相应线路中的顺序,方便用户了解该站点在线路 中所处的位置。 安徽理工大学毕业设计 15 3.换乘查询:如果没有直达线路,则找出转乘的最短公交路线。用户输 入起始站和终点站作为查询关键字,即可查询到二次转车内到达目的地址的 公交线路。可以为用户节省更多的时间,也提高了效率。 4.公交线路管理:包括了对公交线路和站点的增加、删除、修改。也包 括管理员的创建、删除。 5.访客可以对查询的结果 评价或者对查询出来的错误结果报错 ,这样 能够通过群众来 使系统更完善,数据更准确, 能使查询公交的用户 更满意。 3.4 性能要求 在最低配置的情况下,系统的性能不尽如人意,现在的硬件性能已经相 当出色,而且价格也很便宜,因此可以给服务器端配置高性能的硬件。 最低硬件配置如下: 1.处理器:Pentium III 1G 2.内存:512MB 3.硬盘空间:1G 软件环境: 1.操作系统:Windows XP; 2.软件:JDK , MyEclipse; 3.数据库:Mysql 4.Tomcat 的服务器 3.5 应用需求分析 要设计一个良好的公交查询系统,就必须首先明确该应用环境对系统的 要求。公交查询系统的应用背景为:方便市民搭乘公交车出行;手动(目前) 、自动(将来) 、及时更新查询数据。因此,该系统需满足以下几方面需求: 1.查询功能: 系统需要提供几种不同方式的查询手段,以实现灵活方便地管理整个系 统。 2.数据的更新修改: 更新:系统允许管理员级别的用户对数据进行更新、修改并且存盘操作; 编辑:系统允许管理员级别的用户对数据进行编辑、删除的操作,保证 现库的真实性与实时性。 安徽理工大学毕业设计 16 3.6 系统功能模块划分 公交查询系统功能划分模块如下: 查询系统模块 :该模块实现公交查询功能。可实现按起点中转站终 点查询查询和按线路查询两种查询方式。 录入系统模块 :该模块实现数据的录入、修改、删除功能。 3.7 系统数据库设计 概念设计的目标是产生反映城市公交查询系统需求的数据库概念结构, 即概念模式。概念模式是独立于数据库逻辑结构,独立于支持数据库的 DBMS,不依赖于计算机系统的。 1.ER 模型 ER 模型是对现实世界的一种抽象。它的主要成分是实体、联系和属性。 使用这三种成分,我们可以建立许多应用环境的ER 模型。 2.ER 模型的操作 在利用 ER 模型进行数据库概念设计的过程中,常常需要对ER 图进行 各种变换。这些变换又称为 ER 模型的操作,包括实体类型、联系类型和属 性的分裂、合并和增删等等。 3.利用 ER 方法的数据库概念设计 利用 ER 方法进行数据库的概念设计,可以分成三步进行:首先设计局部 ER 模式,然后把各局部 ER 模式综合成一个全局 ER 模式,最后对全局 ER 模式进行优化,得到最终的 ER 模式,即概念模式。 4.设计局部的 ER 模式 通常,一个数据库系统都是为多个不同用户服务的。各个用户对数据的 观点可能不一样,信息处理需求也可能不同。在设计数据库概念结构时,为 了更好地模拟现实世界,一个有效的策略是 “分而治之” ,即先分别考虑各 个用户的信息需求,形成局部概念结构,然后再综合成全局结构。在ER 方 法中,局部概念结构又称为局部 ER 模式,其图形表示称为 E/R 图。 实体和属性的定义如下: 站点(站点编号,站点名称,站点类别) 线路(线路编号,始发时间,终发时间,备注) 线路站点对应(线路编号,站点名称) 安徽理工大学毕业设计 17 图 3-3 数据库 E/R 图 4.联系定义 ER 模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部 结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个 实体类型之间是否存在联系。若有联系,进一步确定是1:N,M:N,还是 1:1 等。还要考察一个实体类型内部是否存在联系,两个实体类型之间是否 存在联系,多个实体类型之间是否存在联系等等。 3.8 本章小结 本章主要是根据现行的公交查询系统,分析了公交查询系统的主要的各 方面的需求,从系统角色来看,包括了用户需求、管理员需求;从系统性 能上分析包括硬件和软件的需求分析。还有系统的整体功能分析和数据库的 需求分析。 安徽理工大学毕业设计 18 4 总体设计 4.1 基本设计概念 首先介绍了城市公交查询系统的应用背景、开发环境以及选用的开发工 具与数据库的关系 ;从特点和功能入手,介绍 Java、Java Web 开发;并且 介绍了 B/S 模式的概念、特点 ;用软件工程的方法分析城市公交查询系统, 对整个系统进行了需求分析、功能模块划分,并通过ER 图对数据库进行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 录音专业面试题及答案
- 风险管理专业试题及答案
- 专业认知试题及答案
- 护理专业实务试题及答案
- 运筹专业试题及答案
- 甘肃省金太阳2026届高三9月开学联考(26-1002C)生物(含答案)
- 配电运行专业试题及答案
- 贵州省惠水民族中学2025-2026学年高二上学期开学检测化学试卷(含答案)
- 美国农场施工方案
- 女性穿搭活动方案策划
- 2025保安员考试基础知识应知应会试题+答案
- DL-T 2563-2022 分布式能源自动发电控制与自动电压控制系统测试技术规范
- 大学英语四级考试高频词汇1500
- 高职《高等数学》说课稿
- 预防青少年犯罪课件
- TSZUAVIA 009.1-2019 多旋翼无人机系统实验室环境试验方法 第1部分:通用要求
- GB/T 13993.2-2002通信光缆系列第2部分:核心网用室外光缆
- 综合布线系统-第2版第3章-接续设备
- 五年级上册英语课件-Unit 4《Hobbies》|译林版
- 国际商务文化与礼仪课件
- 人工智能导论课件
评论
0/150
提交评论