国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

多終端閱覽室桌位預(yù)約系統(tǒng)設(shè)計(jì)

2018-05-30 13:12:56侯立端鄺小飛
物聯(lián)網(wǎng)技術(shù) 2018年5期
關(guān)鍵詞:閱覽室終端數(shù)據(jù)庫(kù)

侯立端,鄺小飛

(杭州電子科技大學(xué),浙江 杭州 310018)

0 引 言

隨著科技的快速發(fā)展,人們對(duì)知識(shí)的需求更加熱切。但是由于人數(shù)眾多,閱覽室內(nèi)位置有限,不能保證每個(gè)人的閱覽需求得到滿足,同時(shí),傳統(tǒng)的閱覽室管理規(guī)則也不能滿足現(xiàn)代高校的要求。因此,文中設(shè)計(jì)了包括Web端和微信(WeChat)端的多終端閱覽室桌位預(yù)約系統(tǒng),以提高閱覽室的桌位利用率。

1 相關(guān)技術(shù)介紹

1.1 Spring Boot框架和MVC模式

Spring Boot是一個(gè)由Pivotal團(tuán)隊(duì)開(kāi)發(fā)的全新框架[1]。傳統(tǒng)的SSH框架在使用之前要進(jìn)行復(fù)雜的配置,如XML配置,Annotation配置,即使使用Spring MVC減少了部分配置,但使用中依舊要進(jìn)行大量配置,如果出現(xiàn)配置錯(cuò)誤,則很難找出原因。Spring Boot框架可以解決配置繁瑣的問(wèn)題,最大化地實(shí)現(xiàn)約定優(yōu)于配置(Convention over Configuration)。其特性包括創(chuàng)建獨(dú)立的Spring應(yīng)用程序、嵌入式Tomcat服務(wù)器、Jetty容器,無(wú)需部署WAR包、自動(dòng)配置Spring等。

MVC[2]是一種軟件架構(gòu)模式,分為三個(gè)基本部分:模型層(Model)、視圖層(View)和控制層(Controller)。這種設(shè)計(jì)模式可簡(jiǎn)化程序的復(fù)雜度,使程序結(jié)構(gòu)更加直觀,減少程序代碼之間的耦合,在使程序分離的同時(shí)賦予各部分不同的功能,層與層之間的訪問(wèn)通過(guò)接口實(shí)現(xiàn),極大地提高了代碼靈活性。Controller層是應(yīng)用程序中處理用戶交互的部分,負(fù)責(zé)從視圖中讀取數(shù)據(jù)并向模型發(fā)送。View層是界面設(shè)計(jì)人員進(jìn)行圖形界面設(shè)計(jì)的部分,該部分視圖通常根據(jù)模型數(shù)據(jù)創(chuàng)建。Model層是應(yīng)用程序中用于處理應(yīng)用程序數(shù)據(jù)邏輯的部分,通常模型對(duì)象負(fù)責(zé)在數(shù)據(jù)庫(kù)中存取數(shù)據(jù)。

1.2 MySQL數(shù)據(jù)庫(kù)與JDBC技術(shù)

隨著信息技術(shù)的發(fā)展,特別是20世紀(jì)90年代以后,數(shù)據(jù)庫(kù)[3]技術(shù)得到了飛速發(fā)展。數(shù)據(jù)庫(kù)不僅用于存儲(chǔ)和管理數(shù)據(jù),也是用戶所需各種數(shù)據(jù)的管理方式,通常分為層次式數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)式數(shù)據(jù)庫(kù)和關(guān)系式數(shù)據(jù)庫(kù)三種,本設(shè)計(jì)使用關(guān)系式MySQL數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù)。MySQL數(shù)據(jù)庫(kù)用于開(kāi)放源代碼,可在General Public License的許可下下載并根據(jù)個(gè)性化的需要對(duì)其修改,MySQL數(shù)據(jù)解壓后即可使用[4,5]。此外,MySQL的平臺(tái)移植性能夠支持迄今出現(xiàn)的絕大多數(shù)操作系統(tǒng),因此,基于MySQL數(shù)據(jù)庫(kù)建立的應(yīng)用程序便可在各操作系統(tǒng)之間移植。

Java數(shù)據(jù)庫(kù)連接(Java DataBase Connectivity,JDBC)是數(shù)據(jù)庫(kù)與Java語(yǔ)言[6]程序之間的中間層,通過(guò)JDBC可為多種數(shù)據(jù)庫(kù)提供統(tǒng)一的數(shù)據(jù)訪問(wèn)方式。連接池技術(shù)可有效提高軟件的穩(wěn)定性,減少每次建立數(shù)據(jù)庫(kù)連接和斷開(kāi)操作時(shí)的時(shí)間消耗。

1.3 微信端開(kāi)發(fā)技術(shù)

目前移動(dòng)端APP開(kāi)發(fā)發(fā)展迅速,相對(duì)于傳統(tǒng)的基于操作系統(tǒng)的APP對(duì)移動(dòng)設(shè)備的要求較高,安裝大量軟件導(dǎo)致設(shè)備處理運(yùn)行減緩。而基于WeChat端[7]的二次開(kāi)發(fā)就可有效避免此類問(wèn)題,其基本原理為:WeChat本身的服務(wù)相當(dāng)于轉(zhuǎn)發(fā)服務(wù)器[8],移動(dòng)終端采用HTTP通信協(xié)議[9],首先將數(shù)據(jù)以XML格式發(fā)送到WeChat服務(wù)器,其次將請(qǐng)求轉(zhuǎn)發(fā)給自定義的服務(wù)器進(jìn)行數(shù)據(jù)業(yè)務(wù)處理,自定義服務(wù)器處理結(jié)束后再經(jīng)過(guò)微信服務(wù)器將最終結(jié)果發(fā)送到移動(dòng)端顯示。

2 系統(tǒng)概述

本文設(shè)計(jì)的多終端閱覽室桌位預(yù)約系統(tǒng)通過(guò)兩個(gè)終端完成對(duì)閱覽室的桌位預(yù)約,系統(tǒng)預(yù)約流程如圖1所示。系統(tǒng)各模塊功能如下。

(1)后臺(tái)監(jiān)控模塊:后臺(tái)系統(tǒng)可實(shí)現(xiàn)管理,同時(shí)監(jiān)控其他模塊的管理情況;更新數(shù)據(jù)并在前臺(tái)模塊顯示。

(2)前臺(tái)預(yù)約模塊:用于登錄進(jìn)行身份驗(yàn)證后預(yù)約時(shí)間,選擇桌位號(hào),完成最終預(yù)約。

(3)用戶管理模塊:主要對(duì)用戶角色進(jìn)行管理,包括管理員普通用戶權(quán)限的管理,用戶的增刪改查等。

(4)登錄模塊:主要通過(guò)Web端或WeChat端登錄后預(yù)約桌位。其中,通過(guò)Web端的登錄操作可使用RFID卡直接驗(yàn)證身份,而通過(guò)WeChat端登錄需輸入賬號(hào)密碼進(jìn)行驗(yàn)證。

圖1 預(yù)約系統(tǒng)流程圖

3 系統(tǒng)設(shè)計(jì)

3.1 系統(tǒng)架構(gòu)設(shè)計(jì)

本系統(tǒng)是由Web端,WeChat端構(gòu)成的完整的多終端閱覽室桌位預(yù)約系統(tǒng)。系統(tǒng)整體邏輯結(jié)構(gòu)如圖2所示。

圖2 系統(tǒng)整體邏輯結(jié)構(gòu)示意圖

3.1.1 Web端功能架構(gòu)

Web端多終端閱覽室桌位預(yù)約系統(tǒng)主要包括登錄管理、用戶管理、數(shù)據(jù)統(tǒng)計(jì)管理三部分。登錄管理業(yè)務(wù)提供用戶的身份驗(yàn)證,管理用戶注冊(cè)。用戶通過(guò)RFID卡刷卡登錄,首次登錄的用戶通過(guò)手機(jī)驗(yàn)證完成注冊(cè),并通過(guò)手機(jī)信息提醒其及時(shí)簽到。用戶管理業(yè)務(wù)提供管理員用戶和普通用戶的權(quán)限設(shè)置服務(wù),并分配不同的操作權(quán)限,只有管理員用戶有操作數(shù)據(jù)庫(kù)的全部權(quán)限。數(shù)據(jù)統(tǒng)計(jì)管理業(yè)務(wù)提供了對(duì)桌位信息數(shù)據(jù)的統(tǒng)計(jì)功能,包括現(xiàn)有桌位狀態(tài)統(tǒng)計(jì)和普通用戶狀態(tài)統(tǒng)計(jì)兩種:桌位狀態(tài)包括可選、已選、關(guān)閉、暫離狀態(tài);用戶狀態(tài)包括簽到、違約狀態(tài)。

3.1.2 WeChat端功能架構(gòu)

WeChat端的多終端閱覽室桌位預(yù)約系統(tǒng)的主要參與者是普通用戶。其主要功能是登錄管理、預(yù)約管理、涂鴉墻模塊等。登錄管理包括登錄、注銷、賬號(hào)管理;預(yù)約管理主要是對(duì)桌位進(jìn)行預(yù)約,包括查看桌位預(yù)約情況、發(fā)送信息、網(wǎng)上報(bào)修、取消預(yù)約、簽到功能等;涂鴉墻模塊主要包括學(xué)習(xí)心得、心情發(fā)布、意見(jiàn)反饋和備忘錄等。

3.2 各模塊具體設(shè)計(jì)

本系統(tǒng)采用Java語(yǔ)言作為Web端與WeChat端的開(kāi)發(fā)語(yǔ)言,采用MySQL數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)進(jìn)行持久性存儲(chǔ)。

3.2.1 Web端系統(tǒng)設(shè)計(jì)

Web端多終端閱覽室桌位預(yù)約系統(tǒng)主要包括登錄管理、用戶管理和數(shù)據(jù)統(tǒng)計(jì)管理三個(gè)模塊。Web端的前端頁(yè)面主要使用JSP頁(yè)面[10]實(shí)現(xiàn)與后臺(tái)頁(yè)面的交互,在JSP頁(yè)面中將用戶填寫(xiě)的數(shù)據(jù)封裝成JavaBean對(duì)象后以Form表單的形式發(fā)送到后臺(tái)進(jìn)行業(yè)務(wù)處理。Web端使用MVC設(shè)計(jì)模式實(shí)現(xiàn),可有效降低代碼之間的耦合,提高代碼的可維護(hù)性。前端頁(yè)面對(duì)應(yīng)MVC設(shè)計(jì)模式中的視圖層(View),在后臺(tái)系統(tǒng)的設(shè)計(jì)中分為模型層(Model)和控制層(Controller)。為進(jìn)一步解耦,代碼實(shí)現(xiàn)中將模型層分為業(yè)務(wù)邏輯層(Service)、數(shù)據(jù)訪問(wèn)層(DAO)和實(shí)體類(Entity)。Web端多終端閱覽室桌位預(yù)約系統(tǒng)的包結(jié)構(gòu)主要有:com.web.ylsyy.action,存放接受請(qǐng)求的類;com.web.ylsyy.entity,存放實(shí)體的類;com.web.ylsyy.service,存放業(yè)務(wù)邏輯相關(guān)的類;com.web.ylsyy.dao,存放訪問(wèn)數(shù)據(jù)庫(kù)及交互相關(guān)的類;com.web.ylsyy.util,存放工具類代碼的冗余;com.web.ylsyy.exception,存放自定義的類。Web端系統(tǒng)時(shí)序圖如圖3所示。

3.2.2 WeChat端系統(tǒng)設(shè)計(jì)

WeChat端終端閱覽室桌位預(yù)約系統(tǒng)主要涵蓋了登錄管理、預(yù)約管理、涂鴉墻功能,WeChat端的開(kāi)發(fā)是基于WeChat接口的二次開(kāi)發(fā),主要獲取WeChat小程序的 APP ID,啟用WeChat公眾平臺(tái)開(kāi)發(fā)模式。其他包結(jié)構(gòu)與Web端的開(kāi)發(fā)相似,在此不再贅述。WeChat端系統(tǒng)工作流程如圖4所示。

圖4 WeChat端系統(tǒng)工作流程圖

3.2.3 數(shù)據(jù)庫(kù)設(shè)計(jì)

對(duì)于數(shù)據(jù)庫(kù)的設(shè)計(jì),首先根據(jù)需求分析抽象出概念結(jié)構(gòu),并以此為核心對(duì)邏輯結(jié)構(gòu)和物理結(jié)構(gòu)進(jìn)行設(shè)計(jì);然后對(duì)數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行性能考核;再依據(jù)考核結(jié)果對(duì)概念結(jié)構(gòu)、邏輯結(jié)構(gòu)及物理設(shè)計(jì)進(jìn)行反復(fù)修改探尋,直至滿意為止。本系統(tǒng)中的數(shù)據(jù)庫(kù)主要包括用戶表、桌位表和房間表,各表之間通過(guò)外鍵相關(guān)聯(lián)。為了更好地發(fā)揮數(shù)據(jù)庫(kù)的性能,在編寫(xiě)SQL語(yǔ)句時(shí)先投影后連接,在多表查詢中字段少的表寫(xiě)在查詢條件的最后,盡量減少不必要的索引的使用。在選擇字段后只返回需要的字段,從而提高性能。

4 結(jié) 語(yǔ)

本文設(shè)計(jì)了多終端閱覽室桌位預(yù)約系統(tǒng),該系統(tǒng)由Web端、WeChat端組成,使用Spring Boot框架實(shí)現(xiàn)Web端的設(shè)計(jì),極大地精簡(jiǎn)了開(kāi)發(fā)前的配置工作,提高了開(kāi)發(fā)效率。使用WeChat端系統(tǒng)極大地降低了系統(tǒng)對(duì)硬件的要求,無(wú)需下載專門(mén)的APP即可運(yùn)行。

[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] 朱三元.軟件工程技術(shù)概論[M].北京:科學(xué)出版社,2002.

[3] 王珊,陳紅.數(shù)據(jù)庫(kù)系統(tǒng)原理教程[M].北京:清華大學(xué)出版社,1998.

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

[5] 哈林頓.SQL語(yǔ)言詳解[M].吳驊,王學(xué)昌,譯.北京:清華大學(xué)出版社,2011.

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

[7] 柳峰.微信公眾平臺(tái)應(yīng)用開(kāi)發(fā):方法、技巧與案例[M].北京:機(jī)械工業(yè)出版社,2014.

[8] 王千祥.應(yīng)用服務(wù)器原理與實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2003.

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

[10] 黃理.JSP高級(jí)編程[M].北京:北京希望電子出版社,2001.

猜你喜歡
閱覽室終端數(shù)據(jù)庫(kù)
原創(chuàng)童書(shū)閱覽室
學(xué)與玩(2022年9期)2022-10-31 02:53:52
原創(chuàng)童書(shū)閱覽室
學(xué)與玩(2022年8期)2022-10-31 02:42:14
原創(chuàng)童書(shū)閱覽室
學(xué)與玩(2022年6期)2022-10-28 09:18:48
X美術(shù)館首屆三年展:“終端〉_How Do We Begin?”
通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計(jì)與實(shí)現(xiàn)
數(shù)據(jù)庫(kù)
多功能北斗船載終端的開(kāi)發(fā)應(yīng)用
電子制作(2016年15期)2017-01-15 13:39:14
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
漳州市| 邹城市| 乌海市| 利川市| 新沂市| 灌阳县| 沁水县| 普定县| 浦城县| 富民县| 长丰县| 新和县| 庆云县| 南岸区| 循化| 昌黎县| 张家界市| 漠河县| 松阳县| 武安市| 新源县| 荔波县| 榕江县| 渝北区| 井冈山市| 军事| 青龙| 建始县| 龙胜| 莒南县| 隆化县| 思茅市| 宝山区| 凯里市| 赞皇县| 衢州市| 百色市| 祁阳县| 柘荣县| 印江| 始兴县|