1、 大学学院毕业论文课题名称: 基于 Google Map 的电子地图设计学生姓名:学 院:专业年级:摘要2指导教师:完成日期: 二一一年六月十日摘要I 摘 要Google Map API 为用户提供向 Google 地图添加各种个性化内容的功能,用户在此基础上进行二次开发,可实现各类网络地图服务。本设计使用 Google Map API 开发技术、JSP、access 数据库开发以实现,地图缩放、地理编码查询、距离测量、鹰眼定位等电子地图的各项基本功能以及石河子公交查询、旅游资讯、留言板维护等功能。关 键 词:Google Map API;电子地图;石河子公交查询摘要IIABSTRACTGoo
2、gle Map API to Google Maps to provide users with added features all kinds of personalized content, users on this basis, the secondary development, enabling all kinds of Web Map Service. The design development technology using the Google Map API, JSP, access database development to implementation, th
3、e map scale, geocoding query, distance measurement, Eagle Eye positioning of the basic functions of electronic map, and Shihezi bus information, travel information, message board maintenance function.KEY WORDS: Google Map API; Electronic map; Shihezi public transport inquiry目录III 目录1 绪论 11.1 题目 .11.
4、2 课题背景 .11.3 课题研究目的及意义 .11.3.1 研究目的 .11.3.2 研究意义 .11.4 设计时间 .21.5 课题内容及分工 21.5.1 课题内容 21.5.2 课题分工 21.5.3 设计成果 22 相关技术原理及开发运行环境 .32.1 相关技术原理 32.1.1Google Map API32.1.2JPS 基本技术 32.2 开发环境 42.2.1 系统硬件环境 42.2.2 系统开发工具 43 需求分析 63.1 引言 .63.2 可行性分析 .73.2.1 技术可行性 73.2.2 经济可行性 73.2.3 操作可行性 73.3 功能需求 83.4 系统操作
5、流图 84 系统概要设计 104.1 系统整体模块设计 .104.1.1 引言 104.1.2 系统整体模块设计 104.2 系统部分模块分析 .104.2.1 石河子电子地图模块 104.2.2 管理员模块 115 系统详细设计 125.1 概述 .125.2 系统整体模块详细设计 125.3 系统部分模块详细设计 13目录IV5.3.1 石河子电子地图模块 135.3.2 管理员模块 165.4 部分功能模块流程图 175.4.1 石河子公交查询模块流程图 175.4.2 管理员登录模块流程图 186 数据库设计 196.1 系统数据表及其用途 196.2 概念设计 196.3 数据库设计
6、 207 系统测试 227.1 编写目的 227.2 背景 227.3 测试概要 227.3.1 测试方法 227.3.2 具体测试设计 237.3.3 测试结果 257.4 对软件功能的评价 .258 总结与展望 268.1 知识的获取 268.2 知识的获取 268.3 困难与不足 268.4 致谢 27参考文献 281 绪论1 1 绪论1.1 题目基于 Google Map 的电子地图设计1.2 课题背景电子地图是利用成熟的网络技术、通信技术、GIS(地理信息系统)技术,实现的一种新的地图服务方式。如今,世界上许多综合国力强大的国家,电子地图的开发和研究都达到了相当高的水平,电子地图的开
7、发和研究都达到了相当高的水平,电子地图在西方国家一方面为政府部门提供服务,另一方面也迅速普及,在社会的各个领域得到了广泛的应用。本课题实现了基于 Google Map 的的电子地图设计,可以方便用户查询石河子市的地理信息,比如距离测量、公交查询等,而且用户可以进行留言。虽然在此之前 Google 爱好者也开发过相关的系统,例如石河子市交通旅游电子地图,但是太过复杂,不方便用户使用。1.3 课题研究目的及意义1.3.1 研究目的本课题实现了基于 Google Map 的电子地图设计,可以方便用户查询石河子市的地理信息,比如距离测量、公交查询等,而且用户可以进行留言。虽然在此之前 google 爱
8、好者也开发过相关的系统,例如石河子市交通旅游电子地图,但是太过复杂,不方便用户使用。1.3.2 研究意义Google 提供了基于 JavaScript 技术的 API 接口,使得我们可通过这一接口对 Google Map 进行二次开发。通过研究开发基于 Google Map 的电子地图设计,我们对 Google Map API 和 JSP 语言有了深层次的理解,而且在美化系统界面和写论文的过程中,我们对大学四年所学习的知识有了更牢固的掌握,而且我们对软件开发的具体过程也有了更深层次的了解。石河子大学本科生毕业设计论文21.4 设计时间2011 年 2 月至 2011 年 5 月即 11 周。1
9、.5 课题内容及分工1.5.1 课题内容分析系统的可行性,并给出系统定义;对系统需求做出较为全面的规定;给出系统的约束条件以及某些数据格式。1.5.2 课题分工共同合作:搜集资料,需求分析,系统测试,用户手册编写,论文编写。张小丽:开题报告编写,数据库设计,界面框架设计,公交查询功能实现。丛莉莉:文献综述编写,地图操作功能实现,留言板功能实现,答辩 ppt。1.5.3 设计成果本系统软件及清单一套包括:1)系统可执行程序一套2)系统源程序一份3)系统开发文档一套及毕业论文一份 用户手册 石河子大学信息科学与技术学院毕业设计论文2 相关技术原理及开发运行环境3 2 相关技术原理及开发运行环境2.
10、1 相关技术原理Google Map API 为用户提供向 Google 地图添加各种个性化内容的功能,用户在此基础上进行二次开发,可实现各类网络地图服务。本系统是基于 google map 的电子地图设计,调用 Google Maps API,显示石河子电子地图,实现电子地图基本操作地图缩放、地理编码查询、距离测量、鹰眼定位等功能。本系统用 JSP 实现石河子市公交车次查询、提供旅游资讯、完成用户留言等功能。2.1.1Google Map APIGoogle 地图可显示地图图像、地形图以及卫星影像,可实现全球地理位置搜索、距离测量等功能。在此基础上 Google 还提供了 API 接口,Go
11、ogle Maps API 是一个基于 JavaScript 技术的 API,主要用于 web 应用程序的开发。Google Map 集合了电子地图、卫星地图、混合地图三种模式。并完全基于 AJAX技术实现,有相当好的用户体验。用户可通过这一接口对 Google Map 进行二次开发。通过二次开发可实现强大的各种电子地图功能,为地图用户提供海量信息的全方位多角度服务。在本系统的电子地图模块,实现起来相对复杂的功能是距离测量,Google Maps 自带实例多点测距尺实现的功能就是可以根据用户标出的任意多点,从而返回计算得到的各个点之间的距离。也就是说,计算出了一条折线的长度是在地理上的实际距离
12、。从代码可以看到似乎实现比较容易,不过就是向创建的地图中添加一系列控件,GLargeMapControl、GScaleControl、GOverviewMapControl、GRulerControl,其中,GRulerControl 控件是一个自定义控件。实际上,这个实例的经典之处在于一个 GRulerControl 控件的实现,可以从引入的 ruler.js 文件中看到实现过程。2.1.2JPS 基本技术JSP 全称是 JavaServer Pages,此语言用于制作动态网页。JSP 就是 Java,只是它是一个特别的 Java 语言,加入了一个特殊的引擎,这个引擎将石河子大学本科生毕业设
13、计论文4HTTPServlet 这个类的一些对象自动进行初始化好让用户使用,而用户不用再去操心前面的工作。同时这个引擎又引入了Java Servlet Code(.java 文件)-Java Runtime Bin Code(.class 文件),这就是为什么我们第一次运行 JSP 时 CPU运行能达到很高的原因,它实际上是调用了 JSP 引擎来生成 java 文件,再用javac 来编译它到 class 文件,这才能去执行它。同时也说明了在第一次运行以后,速度为什么那么快的原因,只要这个 JSP 文件不改变哪么这个操作就不再会进行了(除非你删除了 class 文件) 。java 有什么 JS
14、P 就有什么样的功能,与ASP 一样,JSP 的真正力量是我们永远看不到头的。2.2 开发环境2.2.1 系统硬件环境建议配置:CPU: P4 1.5GHZ 以上。内存: 512MB 以上,建议最好为 1G。最低配置: CPU:PII800MHZ 以上。内存:256MB。2.2.2 系统开发工具本系统所用的开发工具有:Tomcat 5.5Microsoft Office Access Dreamweaver CS3 对开发工具的介绍如下:1)Tomcat 简介Tomcat 是 Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目
15、,由 Apache、Sun 和其他一些公司及个人共同开发而成。由于有了 Sun 的参与和支持,最新的 Servlet 和 JSP 规范总是能在 Tomcat 中得到体现,Tomcat 5 支持最新的 Servlet 2.4 和 JSP 2.0 规范。因为 Tomcat 技术先进、性能稳定,而且免费,因而深受 Java 爱好者的喜爱并2 相关技术原理及开发运行环境5 得到了部分软件开发商的认可,成为目前比较流行的 Web 应用服务器。我们用的是版本是 5.5。2)Microsoft Office Access 简介Microsoft Office Access 是由微软发布的关联式数据库管理系统
16、。它结合了Microsoft Jet Database Engine 和图形用户界面两项特点,是 Microsoft Office 的系统程式之一。Access 能够存取 Access/Jet、Microsoft SQL Server、Oracle ,或者任何ODBC 兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的“进阶用户” 则能使用它来开发简单的应用软件。虽然它支持部分面向对象技术,但是未能成为一种完整的面向对象开发工具。3)Dreamweaver CS3 简介Dreamweaver CS3 是 Adobe 公司收购 Macromed
17、ia 公司后最新推出的Creative Suite3 设计套装中用于网页设计与制作的组件。作为全球最流行,最优秀的所见即所得的网页编辑器,Dreamweaver 可以轻而易举地制作出跨操作系统平台,跨浏览器的充满动感的网页,是目前制作 Web 页站点,Web 页和Web 应用程序开发的理想工具。石河子大学本科生毕业设计论文63 需求分析3.1 引言 在当今社会,电子信息的发展十分迅速,人们对信息的需求也越来越多,越来越严谨。电子地图是利用成熟的网络技术、通信技术、GIS(地理信息系统)技术,实现的一种新的地图服务方式。电子地图的应用范围很广泛,从欧美市场来看,电子地图最有价值的应用是在汽车、手
18、机和互联网等领域。与以往人们需要购买纸质地图产品不同,未来人们可能并不需要直接购买地图产品,而是通过购买汽车、手机或上网等途径使用电子地图产品。国外研究现状计算机技术的出现和广泛应用,使地图学家认识到地图学与计算机科学结合的巨大发展潜力,对电子赌徒的研究受到越来越多的学者和专家的关注。随着可视化技术及数字地图制图技术的发展,电子地图从传统的模拟地图中脱离出来。并进一步发展成为基于屏幕表达的模拟地图,在地图可视化表达的理论、技术和方法上都有了显著地变化。20 世纪 80 年代中期,随着计算机技术和计算机制图技术的发展,加拿大的计算机制图专家在计算机制图与地图数据库基础上,集合地理信息系统技术,提
19、出了电子地图的概念。1993 年在德国科隆召开的国际地图学协会(ICA)第 16 界学术讨论会上成立了“可视化工作组”,该工作组于 1996 年与美国计算机协会图形学专业组进行了跨学科的合作,开始一个名为“Carto-Project”的研究项目。该项目研究的主要目的是,一方面从信息科学的角度探索计算机图形学理论与技术如何有效地应用于空间数据分析可视化;另一方面则从地图学的角度探讨如何利用地图学的理论和技术促进计算机图形学的发展,促进计算机可视化与地图可视化的链接和交流。 1994 年,Taylor 介绍了透视图在地图可视化中的应用。1998 年 8 月加拿大渥太华举办的 ICA 第 19 届学
20、术讨论会上, Elzakker 指出,现在已有越来越多的用户自己使用计算机制作地图,为了向这些用户提供3 需求分析7 他们需要的地图可视化工具,地图学者者需要了解用户脑中发生的认知过程中更深层的信息。Bidoshi 等人认为,空间认知是智能多媒体可视化研究中的首要问题。 Fuhrmann 和 Kuhn 论述了电子地图空间认知研究的重要性及其研究内容。如今,世界上许多综合国力强大的国家,电子地图的开发和研究都达到了相当高的水平,电子地图的开发和研究都达到了相当高的水平,电子地图在西方国家一方面为政府部门提供服务,另一方面也迅速普及,在社会的各个领域得到了广泛的应用。国内研究现状国内,对电子地图的
21、理论研究最初也是从地图可视化开始,并已取得了一系列进展。地图可视化是地图学与可视化技术结合的结果,将地图形状从传统的纸质地图拓展到屏幕显示的电子地图,这是个巨大的技术飞跃。成为现代地图学发展的支柱。1995 年江斌等提出地图视觉化是现代地图学的核心。并研究了地图视觉化的特点和技术层次。并研究了地图视觉化是现代地图学的核心。并研究了地图视觉化的特点和技术层次,从理论上对地图可视化问题进行了探讨,1996 年,王建华从理论和技术两方面对地图可视化中媒体的描述和表达进行了研究,论述了多媒体地图研究的理论与实际意义。Google Maps 提供的在线地图服务以其出色的交互界面、多种形式的地图图层,以及
22、美观快速的地图显示,为用户带来舒适的网络地图浏览体验。3.2 可行性分析本课题的可行性分析可从以下三方面进行分析。3.2.1 技术可行性本设计是基于 Google Map API 二次开发,学习并能调用 Google Map API的函数来完成电子地图中功能。网络上有相关技术资料我们已经学习过数据库的开发和应用和 dreamweaver 网页制作的相关课程,而且都接触过 JSP 语言,并且张小丽在实习的时候曾接触过电子地图的开发,并且图书馆里有相关详细的资料书,因此本课题在技术方面是可行的。3.2.2 经济可行性我们所需的源基本数据只需调用 Google Map 服务器中的数据,只需调用Goo
23、gle Map API 中给第二次开发的函数对象,即可获得电子地图数据。不需要其他资源,所以它在经济上也是可行的。3.2.3 操作可行性石河子大学本科生毕业设计论文8本系统要求在联网的环境下运行,我们都在宿舍做设计,可以联网,所以操作方面可行。3.3 功能需求在目前网络资源下,设计一个基于 Google Map 的电子地图系统,系统能够按需求完成电子地图查看、公交查询、旅游资讯、用户留言板等功能。用户可以通过联网计算机查询石河子的多种旅游信息。比如查询两地之间的距离。要求系统运行稳定,操作界面友好。1)电子地图模块:生成石河子电子地图,实现电子地图基本操作,如地图缩放、地理编码查询、距离测量、
24、鹰眼定位等功能。2) 公交查询模块:此模块功能是提供石河子公交车次查询,有三种查询方法公交车次查询、公交站点查询和精确查询。3) 旅游资讯模块:此模块调用数据库中的数据动态提供石河子相关的旅游资讯,让网站的信息可随时更新。4)用户留言板模块:此模块可实现用户的留言及查看所有的留言。使系统和用户有更多的交互。5)管理员登录模块:对网站中的公交、旅游资讯、留言板进行 web 页面的管理维护。3.4 系统操作流图系统操作流图如图 3-1 所示3 需求分析9 数据库系统登录 用户需求判断GoogleMapAPI留言删除修改公交车次信息修改公交车次信息删除公交车次信息添加公交新车次显示所有站点旅游资讯添
25、加旅游资讯修改旅游资讯删除管理员管统需求1需求6需求5电子地图公交查询旅游咨询需求2需求3鹰眼定位地点搜索地图显示站点查询精确查询车次查询新闻快递最新公告留言板查看留言我要留言需求4距离测量管理员登录身份验证图 3-1 系统操作流图石河子大学本科生毕业设计论文104 系统概要设计4.1 系统整体模块设计4.1.1 引言系统模块分析,对系统的设计起到至关重要的作用。在系统模块分析过程中,我们可以更加清楚系统的功能系统应该实现的操作和管理。4.1.2 系统整体模块设计整个系统分为五个模块。分析系统的整体架构如图 4-1 所示。图 4-1 基于 Google Map 的电子地图设计功能结构图4.2
26、系统部分模块分析4.2.1 石河子电子地图模块石河子电子地图管理员登录最新公告新闻快递用户留言板查看留言用户留言石河子旅游咨讯石河子公交查询车次查询站点查询精确查询基于 Google Map 的电子地图设计4 系统概要设计11 石河子电子地图模块如图 4-2 所示。图 4-2 石河子电子地图模块4.2.2 管理员模块管理员模块具有管理石河子公交、旅游资讯、留言板,如图 4-3 所示。图 4-3 管理员登录模块地图缩放距离测量鹰眼定位图片显示地图位置搜索石河子电子地图模块修改旅游资讯管理员须知添加公交新车次管理员登录显示公交站点修改公交车次删除旅游资讯添加旅游资讯用户留言板维护删除公交车次管理员
27、模块石河子大学本科生毕业设计论文125 系统详细设计5.1 概述随着电子地图越来越广泛地被应用,它的商业价值也越来越大,人们在外出旅行的时候都习惯了上网查询相关信息。Google Map API 的种类也越来越多,开发者都希望能够尽可能充分利用 Google 地图 API 对电子地图进行二次开发。对于电子地图的使用者来说,他们更希望能够方便快捷地查询到自己想要得到的信息,所以系统在设计的过程中在达到功能全面实用的同时还要方便用户的操作。5.2 系统整体模块详细设计系统整体设计界面如图 5-1 所示。图 5-1 系统整体设计整个系统分为五个模块。分析系统的整体架构见图 4-1 所示,具体功能包括
28、:1)石河子电子地图:根据用户的操作在地图上显示相应信息,地图上会出现相应的操作提示以方便用户使用。2)石河子公交查询:根据用户选择的方式显示相应公交路线以及该路公交车经过的所有站点。4 系统概要设计13 3)石河子旅游资讯:根据用户需要显示系统中相应的公告或新闻。4)用户留言板:根据用户选择显示已存在的留言或增加留言。5)管理员登录:管理员登录之后对系统数据库的维护。5.3 系统部分模块详细设计5.3.1 石河子电子地图模块石河子电子地图显示结果如图 5-2 所示。图 5-2 石河子电子地图(1) 注册 API Key。要想使用 Google Maps API ,首先需要从 Google 那
29、里申请一个相应的 API Key ,其 URL 网址为 http :/www. google. com/apis/maps/signup. html 。注册时,需要提供网站的 URL ,而且每个不同的URL 都必须申请一个专门的 API Key。当申请到 API Key 之后,就可以将Google Maps 嵌入到网页了。(2)地图定位。使用 Google Maps API 的 GMap2 创建一个地图对象,并利用setCenter 类方法设定地图中心坐标实现地图显示区域的定位。如下程序代码中,map. setCenter (new GLatLng(44.30,86.08),13)将地图的中心
30、点定在北纬 44.30和西经 86.08,地图缩放等级为 13。Google maps 的缩放等级是 0 17共 18 个等级,比例尺与缩放等级是成反比的。f unction load () if ( GBrowserIsCompatible () ) var map = new GMap2 ( document . getElementById (map) ) ;map. setCenter ( new GLatLng (44.30,86.08),13) ;石河子大学本科生毕业设计论文14(3) 添加地图控件。成功地创建一幅地图后,若要进行放大、缩小、切换卫星影像等操作,需要在地图上添加一些
31、控件,如平移和缩放工具、地图比例尺、以及一组按钮允许用户在矢量地图和卫星影像之间进行切换,可以使用 addControl () 方法来添加这些控件,如下所示:map. addControl ( new GLargeMapControl () ) ;map. addControl ( new GMapTypeControl () ) ;Google Maps API 提供了 5 种地图控制控件:GLargeMapControl :放大、缩小、缩放调节杆和 4 个方向位置调节按钮;GSmallMapControl :去掉了缩放的调节杆,保留了缩放按钮和位置调节按钮 ;GSmallZoomContr
32、ol :只有放大和缩小按钮;GMapTypeControl :提供矢量地图和卫星影像的切换功能;GScaleControl :显示地图比例尺。map.addControl(new GOverviewMapControl();缩略图控件(4) 地图中加入标记。 Google Maps API 并不仅仅用来显示一幅地图,还能够配置更具动态的地图,如在地图中添加“overlay”(覆盖图) 。Overlay 是一些对象,它们被显示为地图上的某些位置,并且用户能够与其进行交互。overlay 的一个典型的使用是把一个标记放在一个给定位置以指示一些特殊位置或地址,如:var point = new GL
33、atLng (411283 , - 851227) ;marker = new GMarker ( point) ;map. addOverlay ( marker) ;在 map 对象中使用 GMarker 类,可以在地图上显示多个点,甚至可以用自定义的 icon 来显示。(5) 显示消息窗口。 Google Maps 提供了一个简单的“消息窗口”,可以在地图上方的浮动窗口显示一段 HTML 内容。当用户点击相应位置的标记时, 把一个监听器添加到标记上并且调用openInfoWindowHtml () 方法,就会出现一个信息提示框 ,表明相关位置信息。var marker = new GMa
34、rker ( point) ;map. addOverlay ( marker) ;GEvent . addListener ( marker ,click, f unction () marker. openInfoWindowHtml (pMore details/p) ;4 系统概要设计15 ) ;1)地理编码查询地点经纬度function showAddress(address) if (geocoder) geocoder.getLatLng(address,function(point) if (!point) alert(“不能解析: “ + address); else map
35、.setCenter(point, 13);var marker = new GMarker(point);map.addOverlay(marker);/ As this is user-generated content, we display it as/ text rather than HTML to reduce XSS vulnerabilities.marker.openInfoWindow(document.createTextNode(address); ); 2)距离测量功能距离测量功能如 4-3 距离测量功能模块图所示。其实现是通过在网页中添加自定义控件 GRulerC
36、ontrol()进行的。(1)算法原理:创建地图控件 GRulerControl(),并添加一些基本的控件(2)具体实现:在初始化标尺控件的函数 GRulerControl.prototype.initialize = function(map)中初始化“启用/禁用”按钮GRulerControl.prototype.setEnabled = function(value)中设置当前的GRulerControl 控件的禁用/启用状态。在启用状态加上:me.mapClickHandle_ = GEvent.addListener(me.map_, click, me.onMapClick_);和
37、 me.updateDistance_();以监听鼠标动作并及时更新距离。返回控件是否已启用函数 GRulerControl.prototype.isEnabled = function()来判断当前的 GRulerControl 控件是否可以使用。在初始化标尺控件的函数 GRulerControl.prototype.initialize = function(map)中初始化内部变量,即定义链表。在事件处理函数 GRulerControl.prototype.onMapClick_ = function(marker, latlng)中创建标记并将标记添加到链表中,以生成折线。统计总距离,
38、并显示在网页中 。先初始化长度单位。即时刷新地图函数GRulerControl.prototype.updateDistance_ = function(),计算总的距离 var len = 石河子大学本科生毕业设计论文16me.getDistance();并在地图上显示出来 me.txtInfo_.innerHTML = me.formatDistance_(len)。用统计总距离函数 GRulerControl.prototype.getDistance = function(),遍历链表来计算折线表示的总距离for (var m = me.head_; m != me.tail_; m
39、= m.next_) if (m.prev_ 点击生成的地标可以出现信息窗口,为信息窗口创建 DOM 对象,包括标记的坐标和“删除 ”按钮。为标记添加事件处理函数 GEvent.addListener(newMarker, click,function()newMarker.openInfoWindow(me.createInfoWindow_(newMarker););单击标记时要显示信息窗口在 GRulerControl.prototype.createInfoWindow_ = function(marker)中为信息窗口创建 DOM 对象,包括标记的坐标和“删除”按钮,并在其中为“ 删
40、除”按钮添加事件处理函数 lnk.onclick =function(),调用 removePoint() 并重新计算距离。用户增加或拖动地标的时候自动更新与该地标相连的折线。添加 GEvent.addListener(newMarker, dragend,function(),拖拽标记时要更新连接线段和距离。单击该按钮可以删除地标,及与该地标相连接的折线。调用事件处理函数GRulerControl.prototype.removePoint_ = function(marker)当用户选择删除标记时被调用,这里要删除与该标记连接的线段先从地图上删除该标记me.map_.removeOverl
41、ay(marker);对于中间结点,还要把它的前驱和后继用线段连接起来清除所有标记,根据用户操作可以将所有的折线和地标删除,重新开始计算用重置函数 GRulerControl.prototype.reset = function()清除当前地图上显示的所有标记(GMarker ),在重置函数 GRulerControl.prototype.reset = function()中初始化(重置)链表。5.3.2 管理员模块管理员模块实现对石河子市公交、旅游资讯的增删改查以及留言板的查询、删除功能。实现 web 页面管理员的管理系统。如图 5-3 所示。4 系统概要设计17 图 5-3 管理员模块管
42、理员模块是本系统开发的难点之一。具体功能包括:1)管理员须知:显示管理员应该知道的内容。2)显示公交站点:显示在数据库中存储所有的公交站点。3)添加公交新车次:根据需要添加新的公交车及所经过的站点。4)修改公交车次:根据需要修改公交车及所经过的站点。5)删除公交车次:根据需要删除公交车及所经过的站点。6)增加旅游资讯:添加公告或新闻7)修改旅游资讯:修改公告或新闻8)删除旅游资讯:删除公告或新闻9)用户留言板维护:对留言板模块进行增加删除修改的维护10)管理员登录:根据系统中存在的管理员登录的用户名和密码,相符合就可以登录进入,并可以对系统进行维护。5.4 部分功能模块流程图5.4.1 石河子
43、公交查询模块流程图石河子公交查询模块流程图如图 5-4 所示。石河子大学本科生毕业设计论文18是开始用户选择需要的公交查询方式车次查询?否站点查询?否精确查询?是是否查公交车次查公交站点站点与站点结束显示查询结果图 5-4 石河子公交查询模块流程图5.4.2 管理员登录模块流程图管理员登录模块流程图如图 5-5 所示。是开始输入用户名和密码密码是否正确否入用户名和密码登录成功结束图 5-5 管理员登录模块流程图6 数据库设计19 6 数据库设计6.1 系统数据表及其用途系统数据表及其用途如表 6-1 所示。表 6-1 系统数据及其用途表数据表名称 数据表用途bus 表 保存公交路线、车次以及启
44、发终止的时间Manager 表 保存管理员的姓名、密码及 ID 等基本信息Messages 表 保存留言用户的昵称、留言标题内容及留言时间等News 表 存放新闻 ID、标题、内容及时间等6.2 概念设计部分 E-R 图,如下图 6-1 至 6-4 所示。BusBusID DetailSortT_Value W_STimeA_ETimeA_STimeW_ETime图 6-1bus 实体 E-R 图石河子大学本科生毕业设计论文20ManagerManagerIDPassword CommentTrueName图 6-2Manager 实体 E-R 图MessagesTitleMessageIDP
45、ostTimeContentUserName图 6-3 Messages 实体 E-R 图NewsTitleNewsIDPostTimeContentType图 6-4 News 实体 E-R 图6.3 数据库设计根据实际需要,将部分数据表详细字段设计描述如下:用户表详细字段如表 6-2 至 6-5 所示。表 6-2 bus6 数据库设计21 段字名 说明 类型BusID 公交车次 Varchar(20)Detail 公交站点 Varchar(20)A_STime 夏季始发时间 Varchar(20)W_STime 冬季始发时间 Varchar(20)A_ETime 夏季终止时间 Varcha
46、r(20)W_ETime 冬季终止时间 Varchar(20)T_Value 公交车票价格 IntSort 其他 Int学生表详细字段如下:表 6-3 Manager字段名 说明 类型ManagerID 管理员 ID Varchar(20)TrueName 管理员真实姓名 Varchar(20)Password 密码 Varchar(50)Comment 职务 Varchar(50)教师表详细字段如下:表 6-4 Messages字段名 说明 类型MessageID 留言 ID IntTitle 留言标题 Varchar(20)UserName 留言用户昵称 Varchar(20)Conten
47、t 留言内容 Varchar(50)PostTime 留言时间 Varchar(20)学生选题表详细字段如下:表 6-5 News字段名 说明 类型NewsID 新闻 ID IntTitle 新闻标题 Varchar(20)Content 新闻内容 IntPostTime 新闻发布时间 Varchar(20)Type 新闻类型 int石河子大学本科生毕业设计论文227 系统测试7.1 编写目的系统测试是为了发现错误而执行程序的过程,为了更好的对本软件的正确性做出客观公正的评价,为了更进一步的对本软件进行验证,为了能给用户一个满意的软件,让用户更好的使用本软件,从而提高用户的工作效率。为此本测试
48、组对此软件做了详细的测试。本报告最终的用户是此软件的开发者以及此软件的最终维护者,为软件以后升级和修改提供参考。7.2 背景被测试软件的名称为:基于 Google Maps 的电子地图设计基于 Google Maps 的电子地图设计系统已经调试成功,在未正式运行之前,完全有必要进行全面的测试,以检验软件的可靠性,正确性,及稳定性。这也是开发项目的最基本规范。软件的测试数据为教务处的真实数据,所以本测试报告有较强的说服力。7.3 测试概要7.3.1 测试方法本软件主要采用黑盒测试方法。黑盒测试(Black-box Testing ,又称为功能测试或数据驱动测试)是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品 的内部结构和处理过程。采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。 黑盒测试注重于测试软件的功能性需求,也即黑盒测试使软件工程师派生出执行程序所有功能需求的输入条件。黑盒测试并不是白盒测试的替代品,而是用于辅助白 盒测试发现其他类型的错误。黑盒测试