物流業(yè)是近些年快速發(fā)展的一大熱門行業(yè), 美國將其稱為發(fā)展經(jīng)濟(jì)的兩大工具之一, 人們也可以切身體會到在日常生活中已經(jīng)越來越頻繁地參與到物流活動的各個環(huán)節(jié)中。對于物流企業(yè)來說, 大到各家快遞公司、超級市場, 小到個體商店、小型超市, 都需要面對一個重要的問題就是貨物的倉儲管理。在科技水平日新月異的今天, 人們可以借助信息化手段脫離原先的手寫筆記的繁瑣人工勞動, 帶來更加先進(jìn)、更加高效的工作模式。
以信息技術(shù)和自動化手段為基礎(chǔ)的自動識別技術(shù), 對現(xiàn)代物流中倉儲管理環(huán)節(jié)有著重要影響, 經(jīng)過自動識別采集的數(shù)據(jù)信息相較于紙張記錄或人工腦力記憶更加準(zhǔn)確, 并且借助于計算機對應(yīng)軟件系統(tǒng)的支持也更加易于進(jìn)行高效快捷的管理。目前物流業(yè)中最常使用的自動識別技術(shù)是射頻識別技術(shù)和條碼識別技術(shù)。射頻識別技術(shù)需要依靠專門的設(shè)備進(jìn)行信息采集, 一個完整的射頻識別系統(tǒng)包括電子標(biāo)簽、 讀寫器和天線, 利用射頻信號通過空間耦合實現(xiàn)非接觸信息傳遞[1], 從而達(dá)到信息采集的目的, 這種方式在很大程度上提高了倉儲管理的精細(xì)化水平, 然而由于其成本較高, 也導(dǎo)致目前該技術(shù)多應(yīng)用在大規(guī)模的倉儲管理活動中; 條碼識別技術(shù)通過掃描平面上黑白相間的圖形符號來獲取其記錄的數(shù)據(jù)信息[2]。由于成本十分低廉、信息準(zhǔn)確率高, 使得條碼技術(shù)得到了普遍應(yīng)用, 如零售業(yè)中的一維條碼。隨著二維條碼的提出和應(yīng)用, 條碼表示的信息量大大提高, 常用的二維碼有QR、Data Matrix等。利用二維碼技術(shù)構(gòu)建的倉儲管理系統(tǒng)通?;贐/S模式, 由客戶端及服務(wù)器組成, 通過Windows操作系統(tǒng)搭建, 利用SQL Serv- er、Oracle等大型數(shù)據(jù)庫進(jìn)行業(yè)務(wù)數(shù)據(jù)處理, 考慮到小規(guī)模的物流企業(yè)數(shù)據(jù)交互時效性要求高、業(yè)務(wù)數(shù)據(jù)處理量小的特點, 現(xiàn)有的B/S模式業(yè)務(wù)系統(tǒng)略顯龐大。
本文介紹的倉儲管理系統(tǒng)是針對小型規(guī)模物流企業(yè)的貨物入庫、出庫環(huán)節(jié)所設(shè)計, 基于IOS平臺進(jìn)行開發(fā), 通過IOS設(shè)備對貨物QR二維碼的信息采集, 完成倉儲管理中的相關(guān)操作, 由于其系統(tǒng)本身的代碼不開源, 從而確保了貨物信息的安全性和穩(wěn)定性。
IOS平臺作為當(dāng)前主流的移動設(shè)備系統(tǒng)平臺之一, 以其自身獨特的架構(gòu)方式, 確保了在智能手機應(yīng)用程序開發(fā)過程中的競爭優(yōu)勢, 這也是本系統(tǒng)選擇IOS平臺的原因所在。
IOS平臺于2007年1月9日由美國蘋果公司在Macworld大會上發(fā)布, 最早用于其公司的iphone智能手機系列操作系統(tǒng), 之后沿用到其陸續(xù)推出的ipad、itouch等設(shè)備上, 截止到2013年3月, 根據(jù)Ap- plication發(fā)布的智能手機市場份額顯示, IOS平臺市場占有率為61. 41%。IOS的平臺架構(gòu)主要分為4層, 自下向上依次為核心操作系統(tǒng)層、核心服務(wù)層、多媒體層和觸摸控制層。核心操作系統(tǒng)層是個多任務(wù)的Unix內(nèi)核, 該層提供了網(wǎng)絡(luò)、文件系統(tǒng)、Socket、安全機制等, 這些API都是Unix代碼; 核心服務(wù)層面向?qū)ο? 并提供了很多底層服務(wù), 如本系統(tǒng)使用的SQLite數(shù)據(jù)庫就在該層; 多媒體層的相關(guān)代碼貫徹了整個IOS平臺, 可以認(rèn)為核心服務(wù)層都是多媒體層的API; 觸摸控制層也就是用戶平常接觸做多的各種按鈕、滾動條、眾多的控件等[3]。由于IOS平臺不開放源代碼, 確保了用戶信息以及業(yè)務(wù)數(shù)據(jù)的安全性, 另外IOS設(shè)備借助Apple A系列處理器優(yōu)越的性能, 帶來了良好的用戶體驗, 這些優(yōu)勢為本系統(tǒng)構(gòu)建在IOS平臺上提供了有力保障。
IOS平臺下的應(yīng)用程序需要通過系統(tǒng)接口才能和硬件設(shè)備實現(xiàn)交互, 因此, IOS平臺正是連接底層硬件與各種軟件應(yīng)用程序的中間環(huán)節(jié)。為了便于第三方進(jìn)行IOS應(yīng)用開發(fā), 蘋果公司于2008年2月免費開放IOS SDK供第三方開發(fā)人員對IOS設(shè)備下的應(yīng)用程序進(jìn)行開發(fā)以及測試。IOS SDK包括開發(fā)、安裝、運行自制應(yīng)用程序所需的一切工具、資源和接口, 目前支持2種類型的應(yīng)用程序開發(fā)。一種是本地應(yīng)用程序, 也就是通過App Store下載的應(yīng)用程序, 而驅(qū)動、系統(tǒng)框架或者動態(tài)鏈接庫的代碼是不支持的; 另一種是Web應(yīng)用程序開發(fā), 用于實現(xiàn)應(yīng)用程序與Web服務(wù)器交互的目的, 能夠在網(wǎng)絡(luò)間傳輸, 運行在IOS平臺下的Safari瀏覽器內(nèi)。本地應(yīng)用程序?qū)W(wǎng)絡(luò)連接的需求并不絕對, 本文構(gòu)建的倉儲管理系統(tǒng)正是運行在無網(wǎng)絡(luò)的環(huán)境下。
IOS系統(tǒng)是從蘋果的PC機系統(tǒng)MAC OS X演變來的, 因此IOS系統(tǒng)下應(yīng)用程序的開發(fā)工具采用XCode, 本系統(tǒng)開發(fā)環(huán)境是通過虛擬機裝載Mac OS Mountain Lion 10. 8. 4系統(tǒng)后, 并安裝XCode4. 6來搭建的。XCode是一個集成開發(fā)環(huán)境, 提供各種工具方便開發(fā)者創(chuàng)建和管理項目[4], 在這個過程中XCode工具集中有2個工具起到了重要作用, 一個是Inter- face Builder, 用于實現(xiàn)應(yīng)用程序的用戶界面可視化操作, 可以直接拖拽組件到程序窗口的各個位置, 并能夠通過查看器修改組件的屬性, 當(dāng)界面符合設(shè)計要求時可以選擇將當(dāng)前狀態(tài)保存為nib文件, 以供下次創(chuàng)建相同對象時直接使用存儲構(gòu)成用戶界面的窗口和視圖的歷史版本信息, Interface Builder節(jié)省了創(chuàng)建、 配置和定位構(gòu)成用戶界面對象所需要的定制代碼; 另外一個工具是Instruments, 用于分析所開發(fā)的應(yīng)用程序在IOS設(shè)備上運行的性能情況, Instruments從運行中的應(yīng)用程序獲取數(shù)據(jù)信息, 將過程中的內(nèi)存使用率、磁盤占有率、網(wǎng)絡(luò)吞吐量等性能數(shù)據(jù)反映在時間線圖形上, 開發(fā)者通過自帶的分析工具將多次收集的時間線圖形進(jìn)行分析, 尋找應(yīng)用程序性能提升的原因所在, 從而達(dá)到確保應(yīng)用程序有最好的用戶體驗的目的。XCode提供了基本的源代碼開發(fā)環(huán)境, 是開發(fā)IOS平臺下應(yīng)用程序必不可少的工具。
本文設(shè)計實現(xiàn)的小型倉儲管理系統(tǒng)是基于IOS平臺, 通過對貨物外包裝上的QR二維碼標(biāo)簽進(jìn)行掃描, 完成出庫、入庫的操作, 能夠?qū)ω浳镌趲烨闆r進(jìn)行管理。由于本系統(tǒng)是針對小型規(guī)模的倉儲場景, 貨物信息數(shù)據(jù)并不是十分龐大, 因此通過二維碼標(biāo)簽錄入的貨物數(shù)據(jù)信息存儲在IOS設(shè)備的本地數(shù)據(jù)庫中, 以確保操作的方便快捷, 提高貨物信息管理的時效性。
經(jīng)過對系統(tǒng)的業(yè)務(wù)邏輯進(jìn)行分析后可以將系統(tǒng)的業(yè)務(wù)流程概括如下:
( 1) 將貨物的標(biāo)準(zhǔn)信息依據(jù)企業(yè)規(guī)定的格式和版本信息生成二維碼標(biāo)簽, 并將此標(biāo)簽嵌于貨物外包裝指定位置;
( 2) 當(dāng)貨物要進(jìn)行入庫時, 選擇“入庫管理”按鈕, 用裝有本軟件系統(tǒng)的IOS設(shè)備對標(biāo)簽上的貨物信息進(jìn)行采集, 貨物信息自動錄入軟件業(yè)務(wù)系統(tǒng), 確認(rèn)后完成入庫操作;
( 3) 對在庫貨物的信息進(jìn)行維護(hù), 整合管理倉庫中貨物的儲備情況;
( 4) 當(dāng)收到出庫申請時, 對貨物信息查詢找到需要出庫的貨物信息;
( 5) 選擇“出庫管理”按鈕, 用裝有本軟件系統(tǒng)的IOS設(shè)備對標(biāo)簽上的貨物信息進(jìn)行掃描, 確認(rèn)后完成出庫操作。
業(yè)務(wù)流程如圖1所示。
本小型倉儲管理系統(tǒng)屬于標(biāo)準(zhǔn)的MVC工作模式, 即模型 ( model) - 視圖 ( view) - 控制器 ( control- ler) 模式, 是一種典型的將業(yè)務(wù)邏輯和數(shù)據(jù)顯示分離的方法[5]。本系統(tǒng)的模型 ( model) 是基于小型倉儲業(yè)務(wù)活動, 通過對貨物二維碼標(biāo)簽的掃描完成一系列的入庫出庫等操作獲取數(shù)據(jù)信息; 視圖 ( view) 在本系統(tǒng)中包括IOS設(shè)備上采集二維碼信息的后置攝像頭和軟件界面上的按鈕、視窗等, 用于發(fā)出各種業(yè)務(wù)操作的行為; 控制器 ( controller) 作為中間環(huán)節(jié)能夠接收視圖 ( view) 發(fā)出的一系列業(yè)務(wù)操作行為, 將其通知給模型 ( model) 進(jìn)行數(shù)據(jù)解析, 之后從model獲取業(yè)務(wù)邏輯, 將其在view屏幕上顯示出來。本系統(tǒng)作為一個典型的MVC模型, 其系統(tǒng)模型如圖2所示。
本小型倉儲管理系統(tǒng)功能可以劃分為貨物QR碼標(biāo)簽采集模塊、貨物信息查詢模塊、業(yè)務(wù)操作模塊、 貨物信息管理模塊、系統(tǒng)配置項模塊這5個部分, 如圖3所示。
( 1) 貨物QR碼標(biāo)簽采集模塊。
貨物QR碼標(biāo)簽采集模塊由IOS設(shè)備后置8. 0MP攝像頭和軟件系統(tǒng)中QR碼采集部分程序組成。通過攝像頭對標(biāo)簽區(qū)域的QR碼圖片進(jìn)行掃描[6], 采集的圖片信息經(jīng)過譯碼后將獲得的貨物信息顯示在軟件視圖界面區(qū)域中。
( 2) 貨物信息查詢模塊。
貨物信息查詢模塊的功能包括對貨物入庫、出庫操作的查詢以及在庫情況的查詢, 支持按照多字段、 多條件查詢, 支持模糊查詢。
( 3) 業(yè)務(wù)操作模塊。
業(yè)務(wù)操作模塊在軟件系統(tǒng)界面上包括“入庫管理”和“出庫管理”2個按鈕, 貨物的入庫和出庫操作是通過掃描貨物QR碼標(biāo)簽, 對在視圖界面顯示的信息進(jìn)行確認(rèn)后完成。
( 4) 貨物信息管理模塊。
貨物信息管理模塊的功能是對采集的貨物信息所自動生成的表單進(jìn)行管理, 通過對貨物代碼的查詢, 獲得貨物名稱、數(shù)量、生產(chǎn)廠商、生成日期等相關(guān)信息。
( 5) 系統(tǒng)配置項模塊。
系統(tǒng)配置項模塊用于對軟件操作日志進(jìn)行查詢, 包括操作時間、貨物狀態(tài)、成功與否的情況。另外, 由于本系統(tǒng)針對的是小型規(guī)模的物流企業(yè), 所獲取的貨物信息所生成的一系列表單在本地IOS設(shè)備中進(jìn)行備份, 方便需要時進(jìn)行查看。
SQLite作為一種輕量級的嵌入式數(shù)據(jù)庫, 被廣泛應(yīng)用于IOS、Android以及一些移動設(shè)備的小型Web應(yīng)用系統(tǒng)[7], 支持Windows、Linux、Unix等主流操作系統(tǒng), 能夠與Java、PHP、C#等多種編程語言結(jié)合, 提供ODBJ接口。SQLite是MySQL數(shù)據(jù)庫的精簡版[8], 處理速度快, 并且占用內(nèi)存資源很少, 無需服務(wù)器也能完成數(shù)據(jù)庫操作, 與本文所設(shè)計的小型倉儲管理系統(tǒng)契合度很高, 這十分符合本系統(tǒng)采用通過QR碼標(biāo)簽獲取貨物數(shù)據(jù)信息后將其存儲在本地的方式。由于IOS平臺在其核心服務(wù)層集成了SQLite數(shù)據(jù)庫[9], 因此IOS平臺上的應(yīng)用程序可以使用SQLite數(shù)據(jù)庫[10], 這也為數(shù)據(jù)庫設(shè)計帶來了很大的方便。
本小型倉儲管理系統(tǒng)擁有貨物信息表、入庫明細(xì)表、出庫明細(xì)表、入庫主表、出庫主表這5個數(shù)據(jù)庫表。 下面給出主要的數(shù)據(jù)表結(jié)構(gòu), 如表1 ~表3所示。
本系統(tǒng)QR碼掃描模塊是借助一個開放源代碼的條碼圖形處理庫ZXing來實現(xiàn)的[11], ZXing可以通過設(shè)備自帶的攝像頭完成條碼圖像的掃描及解碼[12]。為了便于進(jìn)行系統(tǒng)測試, 將工程文件打包生成一個ZXingDemo. app的文件, 再將此. app文件通過iTunes工具生成ZXingDemo. ipa應(yīng)用程序, 以供IOS設(shè)備進(jìn)行測試。按照數(shù)據(jù)解析規(guī)則編寫一個測試用例貨物信息如表4所示[13-14], 并通過二維碼編碼軟件生成一張相對應(yīng)的QR碼貨物標(biāo)簽圖片如圖4所示。
對該貨物信息進(jìn)行入庫測試, 打開IOS設(shè)備上的應(yīng)用程序后選擇“入庫管理”按鈕, 將掃描框?qū)?zhǔn)測試用QR碼標(biāo)簽, 采集完信息后會在軟件界面的上方視圖窗口進(jìn)行顯示, 此時點選“確認(rèn)”按鈕即可完成貨物的入庫操作, 如圖5所示, 出庫操作步驟類似, 在此不做展示。
結(jié)果顯示入庫操作正常完成, 貨物信息成功入庫, 儲存在本地數(shù)據(jù)庫中, 方便進(jìn)行實時的查詢和管理操作。
本文設(shè)計實現(xiàn)的基于IOS平臺的小型倉儲管理系統(tǒng), 著眼于物流活動中小規(guī)模的物流企業(yè), 如個體商店、小型超市、餐館供貨商等小型受眾群體, 對于這部分的物流企業(yè)來說, 在倉儲管理過程中并不需要面對龐大的貨物信息進(jìn)行管理, 因此本系統(tǒng)以掃描二維碼的方式來進(jìn)行貨物的入庫和出庫操作, 通過這種良好的用戶體驗方式采集的信息存儲在本地設(shè)備中, 確保了倉儲管理的準(zhǔn)確性和時效性。筆者下一步的工作側(cè)重點是實現(xiàn)該系統(tǒng)的統(tǒng)計分析功能, 對目前存在本地的貨物信息進(jìn)行分析, 統(tǒng)計得出貨物的庫存狀態(tài)信息、銷售信息、利潤信息等業(yè)務(wù)數(shù)據(jù), 為倉儲管理人員提供一個更加方便、高效和安全的倉儲管理系統(tǒng)。
權(quán)所有©:上海陽合儲運
專業(yè)承接上海倉庫租賃、上海倉儲配送物流、上海電商倉儲企業(yè)服務(wù)與微笑同在"的先進(jìn)理念不斷發(fā)展壯大。