APP下载

多终端阅览室桌位预约系统设计

2018-05-30侯立端邝小飞

物联网技术 2018年5期
关键词:阅览室终端数据库

侯立端,邝小飞

(杭州电子科技大学,浙江 杭州 310018)

0 引 言

随着科技的快速发展,人们对知识的需求更加热切。但是由于人数众多,阅览室内位置有限,不能保证每个人的阅览需求得到满足,同时,传统的阅览室管理规则也不能满足现代高校的要求。因此,文中设计了包括Web端和微信(WeChat)端的多终端阅览室桌位预约系统,以提高阅览室的桌位利用率。

1 相关技术介绍

1.1 Spring Boot框架和MVC模式

Spring Boot是一个由Pivotal团队开发的全新框架[1]。传统的SSH框架在使用之前要进行复杂的配置,如XML配置,Annotation配置,即使使用Spring MVC减少了部分配置,但使用中依旧要进行大量配置,如果出现配置错误,则很难找出原因。Spring Boot框架可以解决配置繁琐的问题,最大化地实现约定优于配置(Convention over Configuration)。其特性包括创建独立的Spring应用程序、嵌入式Tomcat服务器、Jetty容器,无需部署WAR包、自动配置Spring等。

MVC[2]是一种软件架构模式,分为三个基本部分:模型层(Model)、视图层(View)和控制层(Controller)。这种设计模式可简化程序的复杂度,使程序结构更加直观,减少程序代码之间的耦合,在使程序分离的同时赋予各部分不同的功能,层与层之间的访问通过接口实现,极大地提高了代码灵活性。Controller层是应用程序中处理用户交互的部分,负责从视图中读取数据并向模型发送。View层是界面设计人员进行图形界面设计的部分,该部分视图通常根据模型数据创建。Model层是应用程序中用于处理应用程序数据逻辑的部分,通常模型对象负责在数据库中存取数据。

1.2 MySQL数据库与JDBC技术

随着信息技术的发展,特别是20世纪90年代以后,数据库[3]技术得到了飞速发展。数据库不仅用于存储和管理数据,也是用户所需各种数据的管理方式,通常分为层次式数据库、网络式数据库和关系式数据库三种,本设计使用关系式MySQL数据库存储数据。MySQL数据库用于开放源代码,可在General Public License的许可下下载并根据个性化的需要对其修改,MySQL数据解压后即可使用[4,5]。此外,MySQL的平台移植性能够支持迄今出现的绝大多数操作系统,因此,基于MySQL数据库建立的应用程序便可在各操作系统之间移植。

Java数据库连接(Java DataBase Connectivity,JDBC)是数据库与Java语言[6]程序之间的中间层,通过JDBC可为多种数据库提供统一的数据访问方式。连接池技术可有效提高软件的稳定性,减少每次建立数据库连接和断开操作时的时间消耗。

1.3 微信端开发技术

目前移动端APP开发发展迅速,相对于传统的基于操作系统的APP对移动设备的要求较高,安装大量软件导致设备处理运行减缓。而基于WeChat端[7]的二次开发就可有效避免此类问题,其基本原理为:WeChat本身的服务相当于转发服务器[8],移动终端采用HTTP通信协议[9],首先将数据以XML格式发送到WeChat服务器,其次将请求转发给自定义的服务器进行数据业务处理,自定义服务器处理结束后再经过微信服务器将最终结果发送到移动端显示。

2 系统概述

本文设计的多终端阅览室桌位预约系统通过两个终端完成对阅览室的桌位预约,系统预约流程如图1所示。系统各模块功能如下。

(1)后台监控模块:后台系统可实现管理,同时监控其他模块的管理情况;更新数据并在前台模块显示。

(2)前台预约模块:用于登录进行身份验证后预约时间,选择桌位号,完成最终预约。

(3)用户管理模块:主要对用户角色进行管理,包括管理员普通用户权限的管理,用户的增删改查等。

(4)登录模块:主要通过Web端或WeChat端登录后预约桌位。其中,通过Web端的登录操作可使用RFID卡直接验证身份,而通过WeChat端登录需输入账号密码进行验证。

图1 预约系统流程图

3 系统设计

3.1 系统架构设计

本系统是由Web端,WeChat端构成的完整的多终端阅览室桌位预约系统。系统整体逻辑结构如图2所示。

图2 系统整体逻辑结构示意图

3.1.1 Web端功能架构

Web端多终端阅览室桌位预约系统主要包括登录管理、用户管理、数据统计管理三部分。登录管理业务提供用户的身份验证,管理用户注册。用户通过RFID卡刷卡登录,首次登录的用户通过手机验证完成注册,并通过手机信息提醒其及时签到。用户管理业务提供管理员用户和普通用户的权限设置服务,并分配不同的操作权限,只有管理员用户有操作数据库的全部权限。数据统计管理业务提供了对桌位信息数据的统计功能,包括现有桌位状态统计和普通用户状态统计两种:桌位状态包括可选、已选、关闭、暂离状态;用户状态包括签到、违约状态。

3.1.2 WeChat端功能架构

WeChat端的多终端阅览室桌位预约系统的主要参与者是普通用户。其主要功能是登录管理、预约管理、涂鸦墙模块等。登录管理包括登录、注销、账号管理;预约管理主要是对桌位进行预约,包括查看桌位预约情况、发送信息、网上报修、取消预约、签到功能等;涂鸦墙模块主要包括学习心得、心情发布、意见反馈和备忘录等。

3.2 各模块具体设计

本系统采用Java语言作为Web端与WeChat端的开发语言,采用MySQL数据库对数据进行持久性存储。

3.2.1 Web端系统设计

Web端多终端阅览室桌位预约系统主要包括登录管理、用户管理和数据统计管理三个模块。Web端的前端页面主要使用JSP页面[10]实现与后台页面的交互,在JSP页面中将用户填写的数据封装成JavaBean对象后以Form表单的形式发送到后台进行业务处理。Web端使用MVC设计模式实现,可有效降低代码之间的耦合,提高代码的可维护性。前端页面对应MVC设计模式中的视图层(View),在后台系统的设计中分为模型层(Model)和控制层(Controller)。为进一步解耦,代码实现中将模型层分为业务逻辑层(Service)、数据访问层(DAO)和实体类(Entity)。Web端多终端阅览室桌位预约系统的包结构主要有:com.web.ylsyy.action,存放接受请求的类;com.web.ylsyy.entity,存放实体的类;com.web.ylsyy.service,存放业务逻辑相关的类;com.web.ylsyy.dao,存放访问数据库及交互相关的类;com.web.ylsyy.util,存放工具类代码的冗余;com.web.ylsyy.exception,存放自定义的类。Web端系统时序图如图3所示。

3.2.2 WeChat端系统设计

WeChat端终端阅览室桌位预约系统主要涵盖了登录管理、预约管理、涂鸦墙功能,WeChat端的开发是基于WeChat接口的二次开发,主要获取WeChat小程序的 APP ID,启用WeChat公众平台开发模式。其他包结构与Web端的开发相似,在此不再赘述。WeChat端系统工作流程如图4所示。

图4 WeChat端系统工作流程图

3.2.3 数据库设计

对于数据库的设计,首先根据需求分析抽象出概念结构,并以此为核心对逻辑结构和物理结构进行设计;然后对数据库系统进行性能考核;再依据考核结果对概念结构、逻辑结构及物理设计进行反复修改探寻,直至满意为止。本系统中的数据库主要包括用户表、桌位表和房间表,各表之间通过外键相关联。为了更好地发挥数据库的性能,在编写SQL语句时先投影后连接,在多表查询中字段少的表写在查询条件的最后,尽量减少不必要的索引的使用。在选择字段后只返回需要的字段,从而提高性能。

4 结 语

本文设计了多终端阅览室桌位预约系统,该系统由Web端、WeChat端组成,使用Spring Boot框架实现Web端的设计,极大地精简了开发前的配置工作,提高了开发效率。使用WeChat端系统极大地降低了系统对硬件的要求,无需下载专门的APP即可运行。

[1] HAN S L, BO H J, HUI J K, et al.Plossom : Web-based project management system using spring boot[J].2016,2(3):17-24.

[2] 朱三元.软件工程技术概论[M].北京:科学出版社,2002.

[3] 王珊,陈红.数据库系统原理教程[M].北京:清华大学出版社,1998.

[4] WILLIAMS H E,LANE D.Web database applications with PHP and MySQL[M].USA:O’Reilly & Associates,2002.

[5] 哈林顿.SQL语言详解[M].吴骅,王学昌,译.北京:清华大学出版社,2011.

[6] ECKEL B.Thinking in Java (4th Edition)[M].USA:Prentice Hall PTR,2005.

[7] 柳峰.微信公众平台应用开发:方法、技巧与案例[M].北京:机械工业出版社,2014.

[8] 王千祥.应用服务器原理与实现[M].北京:电子工业出版社,2003.

[9] COMER D E.Internetworking with TCP/IP[M].北京:人民邮电出版社,2002.

[10] 黄理.JSP高级编程[M].北京:北京希望电子出版社,2001.

猜你喜欢

阅览室终端数据库
原创童书阅览室
原创童书阅览室
原创童书阅览室
X美术馆首届三年展:“终端〉_How Do We Begin?”
通信控制服务器(CCS)维护终端的设计与实现
多功能北斗船载终端的开发应用
三年实现电子阅览室全覆盖 有效发挥育人作用
ABB Elastimold 10kV电缆终端及中间接头