校园导游咨询系统设计.doc
《校园导游咨询系统设计.doc》由会员分享,可在线阅读,更多相关《校园导游咨询系统设计.doc(31页珍藏版)》请在沃文网上搜索。
1、校园导游咨询 【摘 要】随着高校校园的逐渐扩建,来访校园的各界人士逐渐增多,为了提高学校的知名度,需要给来访者提供校园景点信息查询服务,利用计算机建立一个自动的导游系统可以很好的解决这个问题,此系统的咨询过程为:当客人来访时,系统能根据用户指定的景点提供相关的信息,并能提供任意景点间的问路查询,即根据给定的起点和终点,查询两者之间的一条最短的简单路径。 本系统设计侧重于软件工程规范的分析、设计及测试,采用了结构化程序设计思想,通过功能模块分级实现系统功能。 【关键词】校园导游 Dijkstra算法 Java 数据库 Campus Guide Consulting 【Abstract】With
2、the gradual expansion of campus, visiting the campus community have gradually increased, in order to enhance the schools reputation, need to provide campus visitors attractions information inquiry service, a computer automatic tour guide system can solve this problem, this The consultation process f
3、or the system: When guests visit, the system according to user-specified sites provide relevant information, and can provide any attractions between the query to ask the way, that according to the given start and end, between a query the shortest simple path. The system design focuses on the analysi
4、s of software engineering specification, design and testing, using a structured programming ideas, through the functional module classification system functions.【key words】Campus Guide Dijkstra algorithm java Database目 录绪论11问题描述21.1题目内容21.2研究背景21.3研究思路21.4技术介绍21.4.1 Java简介21.4.2 Swing简介41.4.3 Dijkst
5、ra算法51.5数据要求61.5.1定义无向网的存储方式为邻接表61.5.2用Dijkstra算法计算出任意两点间最短距离的思路72分析与设计82.1功能描述82.2 程序流程图的设计82.2.1 Dijkstra算法82.2.2 数据库插入92.3 数据库结构描述102.3.1 数据库设计102.3.2 设置数据源102.4 测试数据及期望结果102.4.1 地图显示102.4.2 节点信息查询102.4.3 任意两个节点之间最短路径及距离查询112.4.4 将查询结果存储到数据库112.4.5 浏览历史记录112.5 模块结果及各个模块实现方式描述122.5.1 地图显示122.5.2 节
6、点信息查询132.5.3 任意两个节点之间最短路径及距离查询142.5.4 将查询结果存储到数据库152.5.5 浏览历史记录152.5.6界面显示163源代码选摘183.1 地图显示183.2 Dijkstra算法实现183.3 最短路径查询结果插入数据库243.4 历史记录查询25结论27参考文献29致 谢3029绪论 建院四年来,我们锦江学院各项工作开展迅速,正朝着建设现代大学方向迈进。现代大学的一个突出特点就是具有开放性。开放,就意味着对外交流日益增多。为了方便来访者参观、办事,同时提高学院的知名度,我们有必要设计一个界面简洁美观、功能齐全、操作方便的校园导游咨询系统。目前流行的导游系
7、统,多存在以下几大严重问题: (1)侧重于多媒体的演示 ,虽然界面丰富 ,但缺少景点间的地理位置的分析和应用。 (2)即使使用地图来说明景点间的相对位置关系 ,但无法选择景点间的最短路径和求景点间最短距离 。 (3)即使使用电子地图 ,能进行简单的整体放大 、缩小 、移动操作 ,但对局部的地理区域 、地理对象的操作 ,如景点的查询等 ,则难以完成 ,因此缺少了灵活性。根据以上缺陷 ,我将以程序化的语言来编译一个校园导游系统 ,其主要实现地图显示、景点信息查询、及任意两点间最短路径以及距离的查询。此外,我还将建立数据库,把查询结果完整保存,并可随时查询历史记录。该系统主要针对旅游者来设计 ,系统
8、界面友好 ,简单易用。 1问题描述1.1题目内容1功能描述:设计你的学校的校园平面图,所含景点不少于10个。以图中顶点表示学校各景点,存放景点名称,代号,简介等信息;以边表示路径,存放路径长度等相关信息。2为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。3为来访客人提供图中任意景点相关信息的查询。1.2研究背景随着高校校园的逐渐扩展,校园透明度的逐渐提高,来访校园的人士逐渐增多,以前封闭或者半封闭的校园状况随之改变,派生出它积极的迎接挑战的状态。高校校园旅游在掀起“羞答答的头盖”后 ,正悄然走向市场,一个完整的校园导游系统必不可少。它具有很强的实用性,可以作为
9、一种校园旅游的导游业务管理系统,更是可以用作校园介绍。它将是一个校园的第一招牌。1.3研究思路我采用结构化程序设计思想,通过功能模块分级实现其功能。我们的系统功能模块主要由地图显示、节点信息查询、任意两个节点间的最短路径及距离查询、最短路径查询结果保存到数据库、查询历史记录五大部分组成 ,它们能基本满足游客对校园景点信息查询的需要。将锦江学院校园平面图抽象为一个无向带权图 ;其次 ,选择最短路径算法,我采用Dijkstra算法,它可方便的求出从始点到终点的最短路劲,且它的时间复杂度比较低。1.4技术介绍1.4.1 Java简介 Java,是由Sun Microsystems公司于1995年5月
10、推出的Java程序设计语言和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。 Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平
11、台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。 Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。Java分为三个体系JavaSE(Java2 Platform Standard Edition,java平台标准版),JavaEE(Java 2 Platform,Enterprise Edition,java平台企业版),JavaME(Java 2 Platform Micro Edition,java平台微型版)。Java主要特性1、Ja
12、va语言是简单的。Java语言的语法与C语言和C+语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C+ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。2、Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C+ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面
13、向对象程序设计语言。3、Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。4、Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。5、Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安
14、全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。6、Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件), 然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。7、Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格
15、规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。8、Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式, 然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。9、Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C+。10、Java语言是多线程的
16、。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable) 的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。 Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。11、Java语言是动态的。J
17、ava语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子
18、商务应用系统提供了有关技术和丰富的类库。1.4.2 Swing简介Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。AWT是Swing的基础,而Swing是AWT的改进。Swing产生的主要原因就是AWT不能满足图形化用户界面发展的需要。AWT设计的初衷是支持开发小应用程序的简单用户界面。AWT缺少剪贴板、打印支持、键盘导航等特性;AWT功能较弱,它甚至不包括弹出式菜单或滚动窗格等基本元素。此外,AWT
19、体系结构还存在着其他一些严重的缺陷。Swing组件几乎都是轻量级组件,与AWT相对的重量级组件相比,Swing没有本地的对等组件,不像重量级组件那样要在它们自己本地的不透明窗体中绘制,轻量级组件会在它们的重量级组件的窗口中绘制。Swing的体系结构,见图1.1: 图1.1Swing的主要特性:1. Swing是由100%纯Java实现的,Swing组件是用Java实现的轻量级(light-weight)组件,没有本地代码,不依赖操作系统的支持,这是它与AWT组件的最大区别。由于AWT组件通过与具体平台相关的对等类(Peer)实现,因此,Swing比AWT组件具有更强的实用性。Swing在不同的
20、平台上表现一致,并且有能力提供本地窗口系统不支持的其他特性。2. Swing采用了一种MVC的设计范式,即“模型-视图-控制器”(Model-View-Controller),其中,模型用来保存内容,视图用来显示内容,控制器用来控制用户输入。3. Swing采用可插入的外观感觉(Pluggable Look and Feel,PL&F)。相对而言,在AWT组件中,由于控制组件外观的对等类与具体平台相关,使得AWT组件总是只有与本机相关的外观。而Swing使得程序在一个平台上运行时能够有不同的外观,用户可以选择自己习惯的外观。1.4.3 Dijkstra算法 Dijkstra(迪杰斯特拉)算法是
21、典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。Dijkstra一般的表述通常有两种方式,一种用永久和临时标号方式,一种是用OPEN, CLOSE表的方式。注意该算法要求图中不存在负权回路。1.5数据要求1.5.1定义无向网的存储方式为邻接表在邻接表中,对网中每个顶点建立一个单链表,第i个单链表中的结点表示依附于顶点vi的边(对有向网是以顶点vi为尾的弧)。每个结点由三个域组成,其中邻接点域(adj
22、vex)指示与顶点vi邻接的点在网中的位置,链域(nextarc)指示下一条边或弧的结点;数据域(info)存储和边或弧相关的信息,如权值等。每个链表上附设一个表头结点,包含链域(firstarc)指向链表中第一个结点,还设有存储顶点vi的名或其它有关信息的数据域(data)。如: 表节点 adjvexnextarcinfo 头节点datafirstarc方法如下:public class GraphAdjList /类GraphAdjList的每一个对象对应一个结点的邻接链表。 NextAdjNode firstNode = null; /与此结点邻接的第一个结点信息。 public Gra
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 校园 导游 咨询 系统 设计