李佳昌,張晨星,宋丕偉,顧 鼎,李佳美,陳雨浩,王 紅
(大連科技學(xué)院,遼寧 大連 116000)
隨著我國經(jīng)濟(jì)的快速發(fā)展,人們的消費(fèi)水平逐漸提高,很多超市、商場(chǎng)、圖書館的人流量越來越大,因此,自助儲(chǔ)物柜成為不可或缺的設(shè)施。以超市儲(chǔ)物柜為例,目前,超市最常用的是打印帶有條形碼的小紙片并通過掃描對(duì)應(yīng)條形碼打開儲(chǔ)物柜。在使用傳統(tǒng)儲(chǔ)物柜時(shí),經(jīng)常會(huì)出現(xiàn)顧客不小心丟失小紙片無法打開自助儲(chǔ)物柜的情況,只能向超市或商場(chǎng)的工作人員尋求幫助,耗費(fèi)了人力物力。此類儲(chǔ)物柜打印的開柜憑證小票小而薄,易損易破易丟失,同時(shí),由于紙張回收困難,造成了一定程度的紙張資源浪費(fèi)。因此,我們?cè)O(shè)計(jì)了一款無需紙張、不耗費(fèi)人力、自助存儲(chǔ)、由手機(jī)微信小程序控制的智能儲(chǔ)物柜,在減少儲(chǔ)物柜空間浪費(fèi)的同時(shí)也減少了人力物力的浪費(fèi)。
該系統(tǒng)采用MVC(Model-View-Controller)架構(gòu)模式,該模式把系統(tǒng)分成了儲(chǔ)物柜系統(tǒng)模型(Model)、用戶界面(View)和控制器(Controller)三部分。
Model:主要負(fù)責(zé)處理應(yīng)用程序數(shù)據(jù)邏輯。通過創(chuàng)建一個(gè)或多個(gè)監(jiān)聽事件來控制模型封裝與處理應(yīng)用程序的業(yè)務(wù)邏輯相關(guān)數(shù)據(jù)。當(dāng)模型數(shù)據(jù)發(fā)生變化時(shí),模型會(huì)將信息發(fā)給關(guān)聯(lián)的視圖。
View:視圖的主要功能是向用戶可視化數(shù)據(jù)模型和接收用戶輸入,視圖既是模型的外表,也是用戶與應(yīng)用程序交互的平臺(tái)。當(dāng)模型數(shù)據(jù)發(fā)生變化,相應(yīng)信息將顯示在用戶界面。
Controller:這是處理人機(jī)交互應(yīng)用程序的一部分,即處理用戶輸入信息??刂破饔糜诙x用戶界面對(duì)用戶輸入的響應(yīng)能力,在不同層次上扮演組織角色,并控制應(yīng)用程序的流程??商幚碛脩粜袨楹蛿?shù)據(jù)模型更改事件。
儲(chǔ)物柜系統(tǒng)流程如圖1所示。
圖1 儲(chǔ)物柜系統(tǒng)流程
通常,程序中的模塊可以執(zhí)行對(duì)應(yīng)功能。因此,需要將模塊鏈接在一起形成良好的層次結(jié)構(gòu)。頂層模塊通過調(diào)用底層模塊實(shí)現(xiàn)程序的各種功能。在這個(gè)過程中,每個(gè)子模塊都向更下層的子模塊發(fā)出指令。最低級(jí)別的模塊執(zhí)行最具體的功能。本軟件采用以Java語言為基礎(chǔ)的JSP技術(shù)完成,如圖2所示。
圖2 儲(chǔ)物柜架構(gòu)
了解系統(tǒng)功能需求之后,通過分析系統(tǒng)功能定義系統(tǒng)包含的實(shí)體。以學(xué)校圖書館作為使用場(chǎng)景,對(duì)智能儲(chǔ)物柜進(jìn)行介紹。在系統(tǒng)中實(shí)體為學(xué)生與學(xué)校,定義實(shí)體后,還要定義實(shí)體的屬性。E-R圖如圖3所示。
圖3 E-R圖
智能儲(chǔ)物柜控制過程:當(dāng)用戶掃描微信小程序中的二維碼并輸入學(xué)號(hào)時(shí),系統(tǒng)將學(xué)號(hào)與數(shù)據(jù)庫進(jìn)行匹配。當(dāng)用戶在用戶視圖上輸入學(xué)號(hào)、姓名試圖打開儲(chǔ)物柜時(shí),系統(tǒng)會(huì)在解析命令后,查詢本地?cái)?shù)據(jù)庫,匹配成功后發(fā)送命令,控制電控鎖將柜門彈開。同時(shí),將數(shù)據(jù)傳輸給服務(wù)器,服務(wù)器在解析數(shù)據(jù)后,儲(chǔ)物柜的使用記錄同步更新到云端服務(wù)器。用戶掃描儲(chǔ)物柜屏幕上的二維碼即可打開微信小程序,輸入學(xué)號(hào)、姓名,微信小程序把登錄開柜操作信息通過微信服務(wù)器發(fā)送給服務(wù)器,服務(wù)器查詢用戶及儲(chǔ)物柜狀態(tài)是否符合條件,從而發(fā)出對(duì)應(yīng)的執(zhí)行指令,并記錄更新信息,并且每天生成更新日志。當(dāng)條件符合時(shí),向下級(jí)儲(chǔ)物柜終端發(fā)送開箱命令,使智能儲(chǔ)物柜進(jìn)行相應(yīng)開箱操作,具體過程如圖4所示。
圖4 儲(chǔ)物柜操作流程
通過MVC架構(gòu)的智能儲(chǔ)物柜具有低耦合性、高重用性以及可適用性等特點(diǎn)。系統(tǒng)用戶端和開發(fā)端可分離編寫,因此在進(jìn)行用戶界面的升級(jí)和修改時(shí)無需重新編譯控制器和業(yè)務(wù)層模型,若想改變判定規(guī)則也無需改動(dòng)用戶界面和控制器,僅僅需要對(duì)模型重新進(jìn)行修改和添加即可,升級(jí)更新功能更加便利。下一步,我們將研究如何將智能儲(chǔ)物柜向智能家居方向推廣,給人們提供更多便利。
物聯(lián)網(wǎng)技術(shù)2022年10期