汪楷 廖慶涵 何澤鵬 呂晴陽
摘要:在信息大爆炸的今天,人們的閱讀習慣逐漸發生了改變,閱讀的大部分時間都被微博、微信、新聞App等手機軟件所占用,能在圖書館借閱一本書慢慢品讀顯得彌足珍貴。而圖書館書籍種類多、借閱流程復雜,讀者需要耗費較長的時間來找到一本自己想要的書,這些問題給讀者帶來了極大的不便,設計一個智能圖書借閱平臺正好解決了這個難題。該系統以.NET為開發平臺、SQL Server作為數據庫,實現了書籍搜索、借閱書籍、退還書籍、書籍預定、圖書推薦、到期提醒等功能。經測試,該平臺簡化了圖書借閱流程、為讀者帶來更為貼心的借閱體驗。
關鍵詞:圖書館;智能借閱;借閱平臺;智能圖書;圖書推薦
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)28-0069-03
Design and Implementation of Smart Lending Platform
WANG Kai, LIAO Qing-han, HE Ze-peng, LV Qing-yang
(Wuhan University of Science and Technology, Wuhan 430065, China)
Abstract: In today's big information explosion, people's reading habits have gradually changed. Most of the time of reading has been occupied by mobile phone software such as Weibo, WeChat, news App, etc., and they can borrow a book in the library and slowly read it. Its precious. The library has many kinds of books, and the borrowing process is complicated. The readers need to spend a long time to find a book they want. These problems bring great inconvenience to the readers. Designing a smart book lending platform can solve the problem precisely. The system uses .NET as the development platform and SQL Server as the database, which realizes the functions of book search, borrowing books, returning books, book reservations, book recommendation, and expiration reminders. After testing, the platform simplifies the book lending process and provides readers with a more intimate lending experience.
Key words: library; smart lending; lending platform; smart books; book recommendation
1 背景
智能手機已經普及,人們早已習慣于每天使用手機來瀏覽資訊新聞,不管身在何處,都可以隨時拿起手機來閱讀信息,但實際上,人們每天都處于一種被各種短新聞“洗腦”的狀態,這種長期處于略讀、跳讀的狀態讓人們的閱讀理解能力弱化[1],加上圖書館需要辦卡、充值、刷卡等流程才能進行借閱,這給想要借書閱讀的人帶來了極大的不便,也是現在紙質閱讀低迷的原因之一,簡化借閱流程對推動紙質化閱讀、提高讀者的閱讀理解能力至關重要。
智能圖書借閱平臺能夠簡化書籍借閱的流程。從傳統的圖書館的借閱方式來看,用戶必須辦理讀者證,借書還書時必須攜帶,且借書必須親自到圖書館尋找相關的書籍信息。而通過智能圖書借閱平臺,用戶可直接在手機上進行書籍篩選、收藏、借閱等操作,無論在家還是在圖書館,都能在第一時間借閱或預約到自己喜歡的書籍。該平臺加入推薦閱讀、推薦書友等個性化功能,讓用戶不再只是枯燥的借閱,而是在大數據的支撐下快速找到自己喜歡的書籍,促進讀者多進行紙質閱讀,通過網絡共享的方式,分享自己喜歡的書籍,推進全民閱讀的目標,提升讀者的內涵修養,這樣既節省了讀者借閱書籍的時間,也提高了圖書館書籍的借閱率。
2 智能圖書借閱平臺的設計
2.1 主要功能模塊
2.1.1 圖書檢索
當用戶需要搜索書籍時,可以通過搜索書名,關鍵詞,首字母拼音,ISBN等信息進行檢索。搜索結果中展示有書籍的縮圖、標題、作者、可借副本、書籍評分等信息。搜索時,搜索欄將自動顯示最近的搜索歷史,點擊歷史搜索詞即可直接跳轉到相關搜索詞的結果頁面。
2.1.2 瀏覽書籍詳情
在書籍詳情頁面,用戶可以查看基本信息,如書籍的標題、出版社、封面、藏書地址、書籍簡介、書籍目錄、讀者評價等。也可以收藏書籍,對書籍進行評論,對好的評論可以進行點贊,也可以將書籍加入自己創建的個人書單。點擊加入預訂欄按鈕,可以開始預定書籍。點擊掃碼借閱按鈕,開啟掃一掃功能,用戶掃描書籍的條形碼即可開始進行借閱下單操作。
2.1.3 書籍評論
在書籍詳情頁面,用戶可以查看其他用戶對該書籍的評論,可以對評論進行點贊、回復等操作,熱門的評論也會出現在年度神評欄目中。
2.1.4 智能書籍推薦
系統可以根據用戶長期的借閱記錄及一段時間的多次搜索習慣,定期為用戶個性化推薦書籍。用戶可以在個人中心的推薦頻率功能區設置推薦頻率,如果用戶覺得困擾,可以設置為不推薦。
2.1.5 在線預訂
當要預訂的書籍在圖書館有館藏副本時,用戶可以在圖書詳情頁面,點擊加入借閱欄,并選擇預約去圖書館取書的時間,完成微信支付押金操作后,該圖書會被圖書管理員預留保存,等待用戶在預約時間前前往圖書館進行借閱確認操作,即可完成借書流程。
2.1.6 書籍借閱
用戶通過掃碼功能掃描書籍上的條形碼,在圖書信息頁面確認后,即可將書籍加入借閱欄。在借閱欄頁面,可以選擇這次自己想要借閱的圖書。提交借閱訂單后,會自動發起微信支付,完成押金支付流程,用戶會收到支付成功提醒,系統將生成借書確認二維碼,并通過自定義加密算法生成密匙進行驗證,二維碼每分鐘自動刷新,確保用戶信息安全。圖書管理員打開App掃碼確認后,微信端會自動收到借閱成功提醒,借書流程結束。
2.1.7 書籍歸還
當用戶到圖書館找管理員還書時,打開訂單頁面,找到需要歸還書籍的訂單,點擊二維碼圖標生成還書二維碼,管理員掃碼確認歸還書籍無誤后,點擊確認歸還,用戶會自動收到還書成功提醒,并收到退款成功提醒。
2.2 系統結構設計
智能圖書借閱平臺由微信公眾號端、管理員App端構成。微信公眾號端為用戶提供書籍瀏覽、借閱服務,管理員App端在用戶借閱、歸還書籍時及時進行掃碼確認。系統結構設計圖如圖1所示。
2.3 數據庫設計
智能圖書借閱平臺數據庫一共31張數據表,基本表有用戶表、書籍表、書籍條形碼表、訂單表等,整個數據庫的字段結構精簡,盡可能地降低了數據的冗余,通過表與表之間的外鍵連接,盡可能保證數據的一致性。數據庫部分表的表結構設計如表1所示。
3 智能圖書借閱平臺的實現
3.1 采用的技術框架
智能圖書借閱平臺基于.NET編寫,數據庫采用SQL Server 2008進行管理,數據操作工具采用.NET Entity Framework進行實體映射,方便對數據進行增刪改查操作,提高開發效率。該平臺結合服務器的計劃任務,每天夜間自動進行應用池垃圾回收,確保服務器時刻緩存最新數據,時刻處在熱啟動的狀態。
3.2 業務邏輯的實現
智能圖書借閱平臺的業務邏輯較為復雜,每個功能模塊盡量提取共有的抽象功能為基礎,面向接口編程,降低數據層與邏輯層之間的耦合度,使用恰當的軟件設計模式實現程序的復用,為軟件后期的更新維護工作打好基礎[2]。例如,在很多情況下,需要給用戶發送消息模板,如用戶支付成功后、預約成功后、還書成功后都需要給用戶發送消息提醒,所以該平臺專門實現了SendWechat類,將10個消息模板的ID編寫成類的Static變量,并且通過編寫幾個基礎的構造函數,用來適配所有消息模板的內容構造。僅僅三個構造函數,便可支持數十種消息模板的發送。平臺整體上通過區分不同的業務模塊,盡可能地提高類的復用性并且降低耦合度。
3.3 協同過濾算法的實現
由于在搜索某一本書時,需要推薦用戶一些相關的書籍,如果按書籍大類來進行選擇推薦,最終能真正符合用戶需求的不多,而協同過濾算法就能基于用戶之間的喜好來相互進行推薦,當用戶量足夠大時,對于有相同借書喜好特征的用戶,相互推薦的結果較為準確,算法實現原理如下:
1)當A用戶查找X書籍時,系統開始搜索借閱過、收藏過X書籍的用戶作為第一次篩選的用戶集。
2)比較A用戶的借閱歷史,當第一次篩選的用戶集中有一B用戶也借閱過A曾借閱過的書籍,那么將B用戶放入到第二次篩選的用戶集。
3)在第二次篩選的用戶集中,對比X書籍以及用戶集的借閱收藏歷史,通過計算書籍之間的歐幾里得距離評價進行排序,排序靠前的書籍進行推薦。
3.4 界面設計
在前端頁面的設計上,該平臺采用了主流的響應式設計,通過Bootstrap響應式布局,讓界面布局效果整體統一,兼容不同屏幕大小的移動設備,為用戶帶來良好的交互體驗[3]。在配色方面,整體采用色號#00CC99作為主題色,整體顏色全部采用Web安全色進行搭配,樣式采用扁平化的設計理念,提高了用戶瀏覽信息的效率[4],同時大量使用陰影、圓角等特效,確保整體的UI統一美觀。由于微信端有多處需要彈出窗口對用戶的操作進行提醒,該平臺統一采用了柔和色調的彈出窗口并加上動畫效果,讓每個跳轉操作都生動有趣。由于部分頁面需要進行數據渲染的元素較多,該平臺通過動態加載的方式來一次加載多個頁面的內容,摒棄了傳統的iFrame選項卡的形式進行頁面的加載,而是通過js文件動態的添加HTML代碼來渲染表格信息的形式,節省了大量重復加載js、css文件所花費的時間。經測試,頁面渲染效率高,加載速度快,界面美觀。部分功能界面如圖2、圖3。
4 結束語
隨著互聯網時代的快速發展,手機上的信息量越來越大,越來越少的人會選擇靜下心來捧一本書閱讀,智能圖書借閱平臺呼吁用戶走進圖書館,鼓勵讀者參與到全民紙質閱讀的浪潮中。該平臺的設計與實現基于微信公眾平臺,用戶無需下載App即可借閱書籍,很好地解決了傳統圖書館借書流程煩瑣、找書難的問題,幫助讀者更快定位書籍信息,更懂用戶。書籍上架提醒、圖書到期提前通知等人性化提醒,也讓用戶借的放心,感受到圖書館“無微不至”的呵護,讓平臺成為用戶的貼心伴侶。
參考文獻:
[1] 袁曦臨, 王駿, 劉祿. 紙質閱讀與數字閱讀理解效果實驗研究[J]. 中國圖書館學報, 2015, 41(219): 35-46.
[2] 黃光芳. 面向接口編程在三層架構系統中的設計與應用[J]. 計算機應用與軟件, 2009, 26(6): 133-135.
[3] 李穎. 基于響應式設計的Web App界面布局研究[J]. 安慶師范大學學報: 自然科學版, 2017, 23(3): 62-67.
[4] 宋方, 金錦虹, 逯新輝. 析“扁平化”手機界面設計[J]. 包裝工程, 2012, 33(14): 60-63.
【通聯編輯:謝媛媛】