APP下载

校园智能导游系统的设计与实现

2021-11-03黄秋凤廖明惠李孟欢杨丽高茂兰

电子技术与软件工程 2021年16期
关键词:起点顶点页面

黄秋凤 廖明惠 李孟欢 杨丽 高茂兰

(安顺学院电子与信息工程学院 贵州省安顺市 561000)

《校园智能导游系统》(以安顺学院为例)的整体概念设计目的是为帮助新入学的同学和来校访问的客人,提供一个更加方便的参观平台,并且它是区别于普通导航软件的计算方式和区域显示,这个系统能够在短时间内计算出两个地方的最短路径,和能够很好的了解区域建筑及构造,系统也使用单页面的形式能够让用户更方便直观感受和了解。

1 系统整体设计

本系统是将学校的校园平面图抽象为数据结构中的图,校园平面图所含景点10-15 个。图中顶点表示校园内各景点(教学楼),存放景点(教学楼)名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。

本系统主要从数据库表、实体类、Dao 层、Service 层、测试Service 层代码、Controller 层、页面编写等几个方面来设计开发,数据库设计主要是使用MySQL 存储数据,持久层设计主要是使用Spring Data JPA 框架实现,服务器端主要是使用的是Spring Boot整合Spring MVC 实现,浏览器端主要是使用jQuery 异步访问服务器,然后在页面上生成SVG 展示图形实现,详细设计如下:

1.1 数据库设计

系统的数据存储使用MySQL 数据库,将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就提高了数据访问的速度及灵活性。

在数据库中使用两个表保存图的数据(表1、表2):t_node保存顶点信息、t_edge 保存边信息。把所有的顶点和所有的边的数据取出并放在两个集合中,这两个集合就表示图。

表1:顶点表t_node

表2:边表t_edge

1.2 持久层设计

持久层采用Spring Data JPA 框架实现,Spring Data JPA 是Spring 基于ORM 框架、JPA 规范的基础上封装的一套JPA 应用框架,可以使开发者使用极简的代码实现对数据库的访问和操作。它提供了包括增删改查等在内的基本功能,且易于扩展。

访问数据库采用ORM,这样可以把对数据库的操作转变为对Java 对象的操作只需关注业务逻辑,不需关注数据库细节。

1.3 服务器端设计

服务器端用Spring Boot 整合Spring MVC 实现,Spring Boot 是一个基于Java 的开源框架,用于创建微服务。用于构建独立的生产就绪Spring 应用。

Spring MVC 是一个模型-视图-控制器(MVC)Web 框架,建立在中央前端控制器servlet,它负责发送每个请求到合适的处理程序,使用视图来最终返回响应结果的。Spring MVC 是Spring 产品组合的一部分,它享有Spring IoC 容器紧密结合Spring 松耦合等特点,因此它有Spring 的所有优点。

1.4 浏览器端设计

浏览器端采用jQuery 异步访问服务器,然后在页面上生成SVG 展示图形;jQuery 是一个快速、简洁的JavaScript 框架,它封装JavaScript 常用的功能代码,提供一种简便的JavaScript 设计模式,优化HTML 文档操作、事件处理、动画设计和Ajax 交互。

SVG 是W3C 推出的基于XML 的二维矢量图形标准。SVG 可以提供高质量的矢量图形渲染,同时由于支持JavaScript 和文档对象模型,SVG 图形通常具有强大的交互能力。另一方面,SVG 作为W3C 所推荐的基于XML 的开放标准,能够与其他网络技术进行无缝集成。

1.5 算法设计

本系统的目的是寻找校园内任意两点之间的最短路径,采用的是Dijkstra 算法。首先,在图上确定起点和终点,并把起点进行标记;其次,在所有已标记顶点的相邻未标记顶点中,依次计算起点到顶点的权,查找距离起点最近的顶点并标记,不断重复以上步骤;最后,当终点被标记,则找到从指定起点到终点之间的最短路径。

2 系统实现

本系统使用Dijkstra 算法,基于Spring Boot 三层架构,通过Spring Data JPA 框架访问数据库,Spring Boot 整合Spring MVC 完成的。在浏览器端,使用jQuery 异步访问服务器,然后在页面上生成SVG 展示图形来实现的。实现效果图如图1。

图1:系统实现效果图

3 测试方法

测试方法:采用JUnit 测试Service 类中的方法,利用双重for循环把所有的起止点都测试一遍。顶点数据如表3。

表3:顶点数据

4 调试结果

测试结果(如表4):第一列为起点顶点id,第一行为终点顶点id,数据单位为分钟。

表4:测试结果

5 结语

大多数的导航系统,它的规划区域范围太广,对于一些特定区域做不到实际的分析路径,而本系统的开发,弥补了这一缺陷,它能够更好的服务于小型区域,让用户更详细的对这块区域进行查看和了解。单页面的形式,更好的让用户使用,简单易操作的方式也更适合多类型人群的使用和多年龄层段的人使用。系统的实现帮助新入校的学生及来校访问客人用最短的时间熟悉校园环境、欣赏校园风光的同时;系统还可以推广到求一个旅游风景区任意两个景点的最短路径、一个城市中任意两个不同地点之间的最短路径、多个城市中任意两个城市之间的最短路径,具体一定的实际意义及使用价值,能够成为大多数人的使用。

猜你喜欢

起点顶点页面
刷新生活的页面
过非等腰锐角三角形顶点和垂心的圆的性质及应用(下)
关于顶点染色的一个猜想
弄清楚“起点”前面有多少
起点
我的“新”起点
网站结构在SEO中的研究与应用
浅析ASP.NET页面导航技术