999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于移動(dòng)端高校圖書館選座系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2019-03-14 12:42:40陳子楊何允恒李木子陳夢(mèng)仙王云鸞呂友波
電腦知識(shí)與技術(shù) 2019年1期

陳子楊 何允恒 李木子 陳夢(mèng)仙 王云鸞 呂友波

摘要:圖書館對(duì)于高校學(xué)生,不僅是借閱書籍,查閱資料的設(shè)施,還是自主學(xué)習(xí)的場(chǎng)所。伴隨著移動(dòng)互聯(lián)網(wǎng)的迅猛發(fā)展,以移動(dòng)端為代表的終端異軍突起。它給人們帶來了全新的移動(dòng)溝通體驗(yàn),在學(xué)生中應(yīng)用頗為普遍,影響力非常廣,信息的時(shí)效性非常顯著。因而該文描述了一套針對(duì)圖書館座位管理的移動(dòng)端可視化選座系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。使用了python語言中的flask框架來實(shí)現(xiàn)web端的搭建。而數(shù)據(jù)庫所需數(shù)據(jù)是通過輕量級(jí)數(shù)據(jù)庫sqlite儲(chǔ)存的。該系統(tǒng)可以讓用戶在移動(dòng)端上就能實(shí)現(xiàn)圖書館選座,續(xù)座退座等功能,有極大的便利效果。

關(guān)鍵詞:移動(dòng)端;選座系統(tǒng);flask

中圖分類號(hào):TP311? ? ?文獻(xiàn)標(biāo)識(shí)碼:A? ? ? 文章編號(hào):1009-3044(2019)01-0075-03

The Design and Implementation of a University Library Selection System Based on Mobile

CHEN Zi-yang, HE Yun-heng, LI Mu-zi, CHEN Meng-xian, WANG Yun-luan,LV You-bo

(School of Computer and Information Engineering, Harbin Commercial University, Harbin 150028, China)

Abstract: The library is not only a library for borrowing books, accessing materials, but also a place for self-learning. Along with the rapid development of the mobile Internet, the terminal represented by the mobile terminal has sprung up. It brings people a new mobile communication experience, which is quite popular among students, has a wide influence, its information is Timeliness. Therefore, this paper describes the design and implementation of a mobile terminal visualization system for library seat management. The web side is built by the flask framework of the python language. The data required by the database is stored by the lightweight database sqlite. The system allows the user to 'select the seat', 'Extend seat occupancy time', and 'Leave the seat' on the mobile terminal, which has great convenience.

Key words: mobile terminal; Selection System; flask

1 背景

圖書館對(duì)于高校學(xué)生,不僅是借閱書籍,查閱資料的設(shè)施,還是自主學(xué)習(xí)的場(chǎng)所。伴隨著移動(dòng)互聯(lián)網(wǎng)的迅猛發(fā)展,以移動(dòng)端為代表的終端異軍突起。它給人們帶來了全新的移動(dòng)溝通體驗(yàn),在學(xué)生中應(yīng)用頗為普遍,影響力非常廣,信息的時(shí)效性非常顯著。自從我校圖書館出現(xiàn)了選座設(shè)備,便很好地杜絕了學(xué)生用書本、物品占座的現(xiàn)象。但是目前我校的圖書館原有的選座設(shè)備依然存在很多需要完善的方面:1)該選座設(shè)備給想要選座的同學(xué)限定了座位的使用時(shí)間,卻無法提醒該座位過期的時(shí)間,且若需要“續(xù)座”須得在使用時(shí)間到期前半小時(shí)去往選座系統(tǒng)“續(xù)座”,從而嚴(yán)重影響了學(xué)生學(xué)習(xí)的集中性和積極性。2)由于未在規(guī)定時(shí)間內(nèi)“續(xù)座”或完全離開,則會(huì)被系統(tǒng)記錄一次,累積三次后就會(huì)在一段時(shí)間內(nèi)無法選座。但是系統(tǒng)記錄的次數(shù)只會(huì)在超過三次后才能清零,可能會(huì)導(dǎo)致學(xué)生不能選座的問題

針對(duì)這些問題,我們研究了以網(wǎng)絡(luò)為媒介建立的手機(jī)移動(dòng)端圖書館選座系統(tǒng),并實(shí)現(xiàn)了“網(wǎng)上訂座”“逾期提醒”等功能,做到設(shè)備需求來源于師生,設(shè)備服務(wù)于師生。

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

2.1 系統(tǒng)總體設(shè)計(jì)

選座系統(tǒng)主要目的是實(shí)現(xiàn)用戶在移動(dòng)端完成圖書館座位的“即時(shí)選座”,“提前預(yù)定”以及“即時(shí)退座”等功能。整個(gè)系統(tǒng)可分為三個(gè)層次,如圖1所示。分別為:一、視圖界面,主要通過bootstrap來設(shè)計(jì)。二、數(shù)據(jù)庫模塊,通過SQLite用于系統(tǒng)的數(shù)據(jù)存儲(chǔ)處理。三、通過flask框架搭建后臺(tái)功能模塊。三個(gè)層次互相聯(lián)系,協(xié)同運(yùn)作。

2.2 視圖界面先

2.2.1 系統(tǒng)流程呈現(xiàn)

如圖2所示,對(duì)于用戶而呈現(xiàn)的有基礎(chǔ)的登陸注銷界面,選座界面以及三個(gè)基本功能的按鈕。完成一次“選座”,“預(yù)定”或者是“退訂”即完成一次流程。

如圖3所示,整個(gè)視圖頁面的邏輯模塊分為登陸注銷模塊和選座功能模塊。從選座界面開始,倘若未登錄就跳轉(zhuǎn)到登陸界面,通過驗(yàn)證回到了選座界面。倘若驗(yàn)證失敗則會(huì)彈出flash提示組件。在已登陸的情況下就擁有了兩個(gè)功能,選擇或者預(yù)定,執(zhí)行“選座”或者“預(yù)定”時(shí)向服務(wù)器發(fā)起請(qǐng)求并得到反饋后便擁有了“退訂”的功能。

2.2.2 視圖實(shí)現(xiàn)方式

該選座系統(tǒng)的視圖界面是基于前端框架Bootstrap設(shè)計(jì)的。前端開發(fā)框架是指一系列產(chǎn)品化的HTML/CSS/JavaScript組件的集合。其UI組件樣式簡(jiǎn)潔,配備有一些JavaScript插件以及其柵格系統(tǒng),這讓我們的視圖界面能夠更便捷的開發(fā)并呈現(xiàn)出來。Bootstrap能夠很好地實(shí)現(xiàn)響應(yīng)式網(wǎng)頁設(shè)計(jì),在屏幕分辨率,尺寸各異的移動(dòng)端,甚至是電腦端可以響應(yīng)出不同的設(shè)圖界面,使頁面更富有彈性化兼容不同移動(dòng)設(shè)備,減少了開發(fā)量。

除此之外,JQuery也是該視圖界面的重要框架。JQuery是一個(gè)簡(jiǎn)潔,快速,輕量級(jí)的JavaScript庫。不僅僅Bootstrap的腳本部分是基于JavaScript框架JQuery的,并且該視圖頁面的特定邏輯也是通過JQuery腳本實(shí)現(xiàn)的,極大地簡(jiǎn)化了 JavaScript 編程。

日期選擇插件Datepicker是一個(gè)配置靈活的插件,該視圖使用了Datepicker實(shí)現(xiàn)了座位選擇在時(shí)間上選擇限定的可視化工具,圖4移動(dòng)端的視圖頁面。

ECharts(Enterprise Charts)是百度的一個(gè)開源的數(shù)據(jù)可視化工具,一個(gè)純Javascript的圖表庫。該視圖使用echarts控件渲染了一個(gè)小型插件,實(shí)現(xiàn)座位時(shí)間上的可視化。如下圖5。

2.3 功能模塊概述

該系統(tǒng)軟件基于Flask框架設(shè)計(jì)開發(fā),是基于Linux平臺(tái)開發(fā),因?yàn)槠浠贐/S方式因而用戶可以跨平臺(tái)使用該系統(tǒng)軟件。Flask是一個(gè)使用Python語言編寫的輕量級(jí)Web應(yīng)用框架,使用Jinjia2渲染模板。

該系統(tǒng)由Nginx接入用戶的HTTP連接,將用戶的請(qǐng)求轉(zhuǎn)發(fā)給uwsgi進(jìn)程,uwsgi根據(jù)WSGI協(xié)議構(gòu)建進(jìn)程池并調(diào)度Flask服務(wù)進(jìn)程。

當(dāng)用戶打開了瀏覽器,呈現(xiàn)出來的是一個(gè)指定樓層指定區(qū)域的座位矩陣。而這個(gè)座位矩陣對(duì)應(yīng)了現(xiàn)實(shí)世界下的圖書館自習(xí)座位。座位矩陣如圖6。

該座位通過jinjia2模板遍歷產(chǎn)生,并通過數(shù)據(jù)庫內(nèi)信息設(shè)置好矩陣元素屬性,如(a。未被選中;b。被選中;c。已被使用d。已被預(yù)約;e暫離)。

用戶通過點(diǎn)擊按鈕生成一個(gè)請(qǐng)求,并后臺(tái)邏輯加工成為一個(gè)信息集S{用戶信息,座位信息,請(qǐng)求需求}。緊接著Flask后臺(tái)則將信息集轉(zhuǎn)交給了數(shù)據(jù)庫。數(shù)據(jù)庫調(diào)整后做出響應(yīng)后再返回信息作用于頁面上的座位矩陣。

2.3.1 ORM映射模塊

面向?qū)ο箝_發(fā)是當(dāng)前開發(fā)的主流,幾乎所有的應(yīng)用程序都需要一個(gè)持久化的存儲(chǔ)系統(tǒng)。而關(guān)系數(shù)據(jù)庫仍然是許多人都青睞的持久信息儲(chǔ)存方法,于是該系統(tǒng)采用了ORM映射將對(duì)象的狀態(tài)關(guān)系到關(guān)系數(shù)據(jù)庫的數(shù)據(jù)上。用以提高開發(fā)效率、降低開發(fā)成本和問題復(fù)雜度,最重要的目的還是消除編寫低級(jí)數(shù)據(jù)庫訪問代碼。最終使用了SQLAlchemy這個(gè)python中最知名的ORM工具,用以Flask后臺(tái)和數(shù)據(jù)庫的連接。

2.3.2 任務(wù)調(diào)度模塊

用戶可以選擇指定位置,但是用戶的座位占用時(shí)間是限定的,到了一定時(shí)間用戶就會(huì)從有座位的狀態(tài)到無座位的狀態(tài)。而數(shù)據(jù)庫是相對(duì)靜態(tài)的,不能自發(fā)的修改本身內(nèi)容。因此該系統(tǒng)使用了APScheduler,APScheduler (Advanced Python Scheduler) 是基于Quartz的一個(gè)Python定時(shí)任務(wù)框架。可以安排稍后執(zhí)行的python代碼,無論是一次或者說還是定期執(zhí)行。設(shè)置好定時(shí)任務(wù),通過簡(jiǎn)單的數(shù)據(jù)庫操作,實(shí)現(xiàn)座位狀態(tài)的改變,實(shí)現(xiàn)多用戶同一座位使用。

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

一個(gè)選座系統(tǒng),首先確定的兩個(gè)實(shí)體是座位和選座人員。一個(gè)選座人員可以選定一個(gè)座位,而一個(gè)位置也只能被一個(gè)選座人員使用,于是相應(yīng)的一對(duì)一關(guān)系就出現(xiàn)了。選座人員可以對(duì)座位進(jìn)行選座也可以進(jìn)行預(yù)定,統(tǒng)稱二者為‘綁定,那么需要一個(gè)記錄和存儲(chǔ)這個(gè)綁定關(guān)系信息的容器。

對(duì)于選座人員這個(gè)實(shí)體可以確定主體為學(xué)生,先暫時(shí)不考慮教職工的選座功能。對(duì)于學(xué)生可以模擬出學(xué)生姓名,身份找號(hào),性別,學(xué)號(hào),年級(jí),專業(yè)等等屬性。學(xué)生的屬性只有學(xué)號(hào)和身份證號(hào)是唯一的,為了區(qū)別于學(xué)生和其他社會(huì)人員,并且考慮到數(shù)據(jù)庫的儲(chǔ)存,學(xué)號(hào)是適合作為學(xué)生關(guān)系的唯一標(biāo)識(shí)符。

為了更加精確便捷地便于學(xué)生找到座位,對(duì)于座位這個(gè)實(shí)體,要不斷細(xì)化分類。對(duì)不同樓層,不同區(qū)域的位置進(jìn)行分組,因此關(guān)系模型的設(shè)計(jì)就設(shè)置區(qū)域?qū)傩浴N恢脜^(qū)域這些屬性是對(duì)于座位實(shí)際存在的,同時(shí)也應(yīng)該存在一些邏輯上設(shè)置的屬性。因此為了區(qū)別座位是否被學(xué)生選座,而設(shè)置座位的狀態(tài)(是否選座,是否預(yù)定等等)。同時(shí)考慮到前端視圖的映射,指定區(qū)域的一批座位也需要進(jìn)行編號(hào)。

對(duì)于綁定關(guān)系分為選座和預(yù)定,前者只需要學(xué)生和座位兩個(gè)實(shí)體的唯一標(biāo)識(shí)符,但是考慮到預(yù)定功能,需滿足不同時(shí)刻而設(shè)置了開始時(shí)間和結(jié)束時(shí)間。

2.4.1 數(shù)據(jù)庫模型結(jié)構(gòu)

如下圖7滿足項(xiàng)目需求而設(shè)計(jì)的數(shù)據(jù)庫實(shí)體關(guān)系圖:

根據(jù)ER圖并去除傳遞關(guān)系可以得出的關(guān)系有:

1)學(xué)生(學(xué)號(hào),姓名,身份證號(hào),性別,專業(yè)代碼,年級(jí)代碼)

2)專業(yè)(專業(yè)代碼,專業(yè))

3)年級(jí)(年級(jí)代碼,年級(jí))

4)座位(座位id,座位編號(hào),區(qū)域碼,位置狀態(tài),桌子代碼)

5)區(qū)域位置(區(qū)域代碼,方向,高度)

6)位置狀態(tài)(位置狀態(tài),位置狀態(tài)值)

7)桌子(桌子代碼,區(qū)域碼)

8)選座集合(位置ID,學(xué)號(hào),開始時(shí)間,結(jié)束時(shí)間)

整個(gè)數(shù)據(jù)庫的數(shù)據(jù)表包括了座位信息,被選座位集,學(xué)生信息,桌子信息,(自習(xí)區(qū))位置信息,專業(yè)信息和年級(jí)信息,而實(shí)際在數(shù)據(jù)庫上的表如圖8。

2.4.2 數(shù)據(jù)庫安全性

僅有管理員才能獲取數(shù)據(jù)庫的所有權(quán)限,包括創(chuàng)建新的用戶,創(chuàng)建基本表和視圖,擁有對(duì)所有數(shù)據(jù)庫對(duì)象的存取權(quán)限,并授權(quán)給其他一般用戶。

而一般用戶,諸如學(xué)生只能查詢到本人的個(gè)人信息和座位信息,有限地修改座位狀態(tài)。

2.4.3 數(shù)據(jù)集完整性

數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。該數(shù)據(jù)庫的數(shù)據(jù)是符合現(xiàn)實(shí)世界語義、反映當(dāng)前實(shí)際情況的,而且該數(shù)據(jù)庫內(nèi)的內(nèi)部關(guān)系也是符合邏輯的。

2.4.4 數(shù)據(jù)庫規(guī)范性

范式(paradigm)的概念和理論是美國(guó)著名科學(xué)哲學(xué)家托馬斯·庫恩(Thomas Kuhn) 提出并在《科學(xué)革命的結(jié)構(gòu)》(The Structure of Scientific Revolutions)(1970)中系統(tǒng)闡述的。常見范式有1NF,2NF,3NF,BCNF(Boyce Codd Normal Form)。而一個(gè)低一級(jí)范式的關(guān)系模式通過模式分解可以轉(zhuǎn)換為若干個(gè)高一級(jí)的關(guān)系模式的集合,這種過程稱作規(guī)范化。

對(duì)于學(xué)生關(guān)系R1(學(xué)號(hào),姓名,身份證號(hào),性別,專業(yè),年級(jí)),擁有著年級(jí)和專業(yè)的屬性,倘若出現(xiàn)了新的專業(yè)或者新的年級(jí),而尚無對(duì)應(yīng)學(xué)生時(shí),則無法存儲(chǔ)這個(gè)專業(yè)或者年級(jí),存在插入異常。因此將學(xué)生關(guān)系分解為三個(gè)關(guān)系學(xué)生關(guān)系R1(學(xué)號(hào),姓名,身份證號(hào),性別,專業(yè)碼,年級(jí)碼),專業(yè)關(guān)系R2(專業(yè)碼,專業(yè)),年級(jí)關(guān)系R3(年級(jí)碼,年級(jí))。此時(shí)三個(gè)關(guān)系符合BCNF,即修正的第三范式。

對(duì)于座位關(guān)系R4(座位ID,座位編號(hào),方向,樓層,座位狀態(tài),桌子號(hào)),各個(gè)屬性都是必需的且不相互依賴,包含碼,因此符合BCNF。但考慮到前端映射效率問題分解成區(qū)域位置關(guān)系R5(區(qū)域代碼,方向,樓層),桌子關(guān)系R6(桌子號(hào),區(qū)域碼),考慮到存取設(shè)置R7(位置狀態(tài),狀態(tài)情況)。R5,R6,R7都符合BCNF,但此時(shí)的R4(座位ID,座位編號(hào),區(qū)域號(hào),座位狀態(tài)碼,桌子號(hào))因桌子號(hào)和區(qū)域號(hào)具有傳遞的情況,只符合2NF。

對(duì)于選座集合關(guān)系R8(學(xué)號(hào)。座位ID,開始時(shí)間,結(jié)束時(shí)間)符合BCNF。

3 結(jié)束語

該文通過對(duì)該校圖書館情況的觀察和思考,立足于該校的學(xué)生情況,結(jié)合所學(xué)知識(shí)提出和實(shí)現(xiàn)了一系列功能用于服務(wù)。從用戶的角度正確了解到了用戶的需求而為其提供服務(wù),把視圖頁面,后臺(tái)的實(shí)現(xiàn),數(shù)據(jù)庫的設(shè)計(jì)都一一介紹闡述,完成了一個(gè)智能,服務(wù),便捷的圖書館選座系統(tǒng)。

參考文獻(xiàn):

[1] 王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概論[M].5版.北京: 高等教育出版社,1983.

[2] 胡鑫,劉紅,葉小亮.一種圖書館可視化智能選座引導(dǎo)系統(tǒng)的研究與實(shí)現(xiàn)[J].物聯(lián)網(wǎng)技術(shù), 2016(2):71-72.

[3] 代琳娜. 高校圖書館占座現(xiàn)象的技術(shù)緩解策略[J].科技資訊,2015(20):205-206.

[4] 郭小平. 大數(shù)據(jù):基于微信移動(dòng)端的教務(wù)信息公眾平臺(tái)[J].亞太教育,2016(25):289.

主站蜘蛛池模板: 亚洲欧美日本国产综合在线| 无遮挡国产高潮视频免费观看| 九色视频在线免费观看| 午夜免费小视频| 国产亚洲精品资源在线26u| 伊人色婷婷| 国产在线拍偷自揄观看视频网站| 国产精品一区二区国产主播| 激情综合五月网| 狠狠色丁香婷婷| 国产精品欧美激情| 亚洲精品午夜天堂网页| 欧美日韩在线成人| 国产一区亚洲一区| 国产大全韩国亚洲一区二区三区| 亚洲二区视频| 在线高清亚洲精品二区| 丁香五月婷婷激情基地| 色亚洲成人| 2021天堂在线亚洲精品专区| 久久久久久久久18禁秘| 久久美女精品| 国模沟沟一区二区三区| 欧美一级在线| 久久久久久久久18禁秘| 免费三A级毛片视频| 色国产视频| 中文国产成人精品久久一| 国产高颜值露脸在线观看| 精品91自产拍在线| 色妞www精品视频一级下载| 国产免费福利网站| 欧美成人影院亚洲综合图| 露脸一二三区国语对白| 强奷白丝美女在线观看| 国产成人精品亚洲77美色| 91口爆吞精国产对白第三集 | 亚洲成a∧人片在线观看无码| 99热这里只有精品2| 日韩大乳视频中文字幕| 2021无码专区人妻系列日韩| 91在线国内在线播放老师 | 亚洲色图欧美在线| 亚洲第一成网站| 欧洲亚洲一区| 国产在线啪| a天堂视频在线| 亚洲 欧美 日韩综合一区| 秘书高跟黑色丝袜国产91在线| 亚洲色图欧美视频| 国产精品13页| 在线精品视频成人网| 毛片久久久| 男女性午夜福利网站| 欧美午夜久久| 国产国语一级毛片在线视频| 91久草视频| 欧美精品亚洲日韩a| 国产成人亚洲精品无码电影| 亚洲中文制服丝袜欧美精品| 亚洲无码日韩一区| 国产精品对白刺激| 亚洲黄色片免费看| 三上悠亚在线精品二区| 福利视频一区| 婷婷伊人五月| 日韩黄色精品| 久久久久久久久亚洲精品| 欧美www在线观看| 亚洲男人天堂2020| 亚洲精品综合一二三区在线| 东京热一区二区三区无码视频| 一级毛片在线免费看| 久久精品人人做人人爽电影蜜月| 欧美在线伊人| 黄片一区二区三区| 国产精品妖精视频| 久久久久人妻一区精品色奶水 | 一区二区在线视频免费观看| 中文字幕av一区二区三区欲色| 国产精品亚洲综合久久小说| 久久这里只有精品23|