![基于大數(shù)據(jù)的物料倉儲系統(tǒng)的設(shè)計與實現(xiàn)_第1頁](http://file4.renrendoc.com/view11/M03/0E/09/wKhkGWWs6EiAdi4AAAGSn03Nxeg983.jpg)
![基于大數(shù)據(jù)的物料倉儲系統(tǒng)的設(shè)計與實現(xiàn)_第2頁](http://file4.renrendoc.com/view11/M03/0E/09/wKhkGWWs6EiAdi4AAAGSn03Nxeg9832.jpg)
![基于大數(shù)據(jù)的物料倉儲系統(tǒng)的設(shè)計與實現(xiàn)_第3頁](http://file4.renrendoc.com/view11/M03/0E/09/wKhkGWWs6EiAdi4AAAGSn03Nxeg9833.jpg)
![基于大數(shù)據(jù)的物料倉儲系統(tǒng)的設(shè)計與實現(xiàn)_第4頁](http://file4.renrendoc.com/view11/M03/0E/09/wKhkGWWs6EiAdi4AAAGSn03Nxeg9834.jpg)
![基于大數(shù)據(jù)的物料倉儲系統(tǒng)的設(shè)計與實現(xiàn)_第5頁](http://file4.renrendoc.com/view11/M03/0E/09/wKhkGWWs6EiAdi4AAAGSn03Nxeg9835.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
緒論1.1系統(tǒng)的開發(fā)背景及意義當前,隨著信息技術(shù)的不斷發(fā)展和進步,互聯(lián)網(wǎng)也越來越成為人們生活和生產(chǎn)工作中不可缺少的一部分。通過網(wǎng)絡技術(shù),人們之間高效的進行溝通、團隊協(xié)同工作和內(nèi)容共享都非常簡捷。網(wǎng)絡信息應用服務已日益廣泛地被應用于經(jīng)濟各個領(lǐng)域。在此市場背景推動下,電子商務概念應運而生,并因此迅速地被發(fā)展成熟起來。近年來,隨著人們生活水平的提高,以及互聯(lián)網(wǎng)公司的飛速發(fā)展。在線支付和在線購物逐漸成為主流,隨之而來的就是數(shù)量龐大的貨物,并且由于新冠病毒的影響,也加劇了這一趨勢。但是隨著貨物的增加,傳統(tǒng)的倉儲管理方式無法滿足這種每天數(shù)以千計的貨物,所以需要計算機的輔助進行相關(guān)管理。傳統(tǒng)的倉儲管理一般要經(jīng)過入庫登記、人工揀貨、出庫登記等操作。隨著貨物的不斷增加以及出入庫的次數(shù)不斷增加,采用人工的方式登記非常繁瑣且非常容易出錯。并且采用紙質(zhì)的登記也存在著一個非常大的隱患,紙質(zhì)登記表不但占空間且隨著時間的推移紙質(zhì)可能會存在一定的損傷,如果未來客戶想要查詢某天的貨單,可能存在丟失或者破損的情況。因此,使用計算機的倉儲管理系統(tǒng)的優(yōu)勢就凸顯了出來,不僅不需要考慮紙質(zhì)存檔的丟失,而且便于工作人員操作,提升出入庫的效率,每次操作記錄都會存儲在數(shù)據(jù)庫中,便于未來客戶查詢,降低了貨單丟失的風險,還可以避免貨物丟失的風險。每次出入庫的操作都會被記錄下來,防止篡改記錄偷取貨物。倉儲管理系統(tǒng)的出現(xiàn)極大的簡化了傳統(tǒng)紙質(zhì)的成本,并且提升了工作效率,即使貨物再多,工作人員也能快速的處理[1-5]。物聯(lián)網(wǎng)的出現(xiàn),使得我們需要處理的數(shù)據(jù)是海量的,海量的數(shù)據(jù)成為上G甚至于T級別的數(shù)據(jù),單獨的計算機的資源總是有限的,對于如此龐大的數(shù)據(jù)量,單獨的計算機很難進行處理,傳統(tǒng)的計算方法已經(jīng)不能滿足在速度和性能上的需求。在這種情況下,分布式系統(tǒng)和并行計算應運而生,分布式的系統(tǒng)可以通過加入多臺計算機,從而提高系統(tǒng)的總資源,以滿足在資源上的需求,同時,在分布式系統(tǒng)上進行計算,在不同的機器上同時運行同一個任務,從而提高系統(tǒng)的運算性能。本文設(shè)計開發(fā)了一個基于SSM框架的Hadoop倉儲管理系統(tǒng),以解決當前以在線購物為主流的情況下,產(chǎn)生的大量貨物,大量數(shù)據(jù)難以管理問題。本文主要實現(xiàn)了庫存管理,出入庫管理,人員管理,基礎(chǔ)數(shù)據(jù)管理,系統(tǒng)維護等功能。1.2國內(nèi)外研究現(xiàn)狀1.國內(nèi)研究現(xiàn)狀近年來,我國的制造業(yè)、零售業(yè)以及物流行業(yè)都得到了長足的發(fā)展,并且隨著人們生活質(zhì)量的提高,對貨物的要求也不斷增加。網(wǎng)上購物逐漸成為主流,貨物越來越多,導致存放物料的倉儲設(shè)備也就隨之增加,但是這也暴露出很多問題。各個部門都在建立自己的倉儲,這導致倉儲數(shù)量多且分布廣泛,布局十分不合理,這使得工作人員管理起來十分困難,倉儲的自動化程度很低,無法高效的完成工作。大數(shù)據(jù)物料倉儲管理系統(tǒng)的出現(xiàn)不僅可以讓對倉儲的管理更加精細化,同時也能解決調(diào)控的問題。這些年倉儲管理系統(tǒng)的研究主要關(guān)注的是如何節(jié)省人力資源,更便捷的進行倉儲的管理,從最開始的桌面應用到現(xiàn)在的基于SSM框架的聯(lián)網(wǎng)倉儲管理,倉儲管理系統(tǒng)已經(jīng)逐步的成為企業(yè)不可缺少的一部分[6-7]。2.國外研究現(xiàn)狀在外國,倉儲物料管理和在線服務形式已是開展得的時間都已經(jīng)比較之早,隨著現(xiàn)代電子商務及物流網(wǎng)絡的快速發(fā)展普及,現(xiàn)代電子商務中網(wǎng)上訂單式交易也越發(fā)普及,這種倉儲管理模式隨著社會的進步也越發(fā)成熟。相比于國內(nèi)的管理,國外針對倉儲的管理已經(jīng)相對來說非常成熟了,如日本,美國等。在日本,日本的企業(yè)廣泛的應用倉儲管理系統(tǒng)對零售庫存進行管理,而在美國,美國的企業(yè)在1980年就已經(jīng)開始了解并研究倉儲管理的相關(guān)理論知識,同時開發(fā)出了配套的管理軟件。進過幾十年的發(fā)展,國外的國家已經(jīng)有了非常成熟的倉儲管理系統(tǒng)的設(shè)計團隊,供應團隊以及維護團隊,并且這一領(lǐng)域已經(jīng)逐步成為一個行業(yè)。1.3主要內(nèi)容及結(jié)構(gòu)緒論介紹研究了倉儲物料管理系統(tǒng)開發(fā)的整體研究及背景,分析評價了開展該服務系統(tǒng)研發(fā)的整體研究工作意義何在和巨大發(fā)展空間潛力,并分別通過實證分析相關(guān)結(jié)果最終確定開展了哪些主要系統(tǒng)的開發(fā)研究及內(nèi)容選擇和應用開發(fā)工作,最后進行了總結(jié)。系統(tǒng)需求分析本章主要針對功能需求、系統(tǒng)總體設(shè)計、系統(tǒng)功能模塊設(shè)計、數(shù)據(jù)庫設(shè)計以及相關(guān)技術(shù)這幾個方面進行介紹,最后對本章進行總結(jié)。系統(tǒng)總體設(shè)計本章主要介紹了本系統(tǒng)總體設(shè)計,以及每個模塊的主要功能。系統(tǒng)詳細設(shè)計與實現(xiàn)本章主要介紹系統(tǒng)的實現(xiàn),主要包括運行環(huán)境、主界面的實現(xiàn)、登錄模塊的實現(xiàn)、倉儲管理模塊的實現(xiàn)、出入庫管理模塊的實現(xiàn)、基礎(chǔ)信息維護模塊的實現(xiàn)和系統(tǒng)維護模塊的實現(xiàn),最后進行了總結(jié)。系統(tǒng)測試本章進行了黑盒測試,主要針對不同功能模塊輸入不同數(shù)據(jù)進行測試。總結(jié)本章對論文總體進行了總結(jié),以及對未來進行了展望。1.4本章總結(jié)本章主要針對倉儲管理系統(tǒng)的選題背景和選題意義進行分析,并且分析了倉儲管理系統(tǒng)與傳統(tǒng)人工方式相比所帶來的好處,最后總述文章主要內(nèi)容和結(jié)構(gòu)。
2系統(tǒng)需求分析2.1可行性分析可行性分析是計算機應用開發(fā)必備的步驟。在正式開發(fā)之前,我們需要預測在未來開發(fā)中可能碰到的問題,同時要評估倉儲管理系統(tǒng)對倉庫所帶來的收益和風險,并且需要計算項目成本。如果不進行這一步,預算不夠的話,項目開發(fā)到一半時發(fā)現(xiàn)資金無法支撐整個項目的開發(fā),這會對倉庫造成巨大的損失。因此,本節(jié)主要對系統(tǒng)的技術(shù)層面、操作層面、已經(jīng)經(jīng)濟層面進行可行性分析。從技術(shù)層面來說,本文開發(fā)的倉儲管理系使用的框架都是目前較為流行的框架,并且本文開發(fā)的系統(tǒng)所使用的都是較為輕量工具如Mysql。并且使用ssm框架來實現(xiàn)MVC模式中的業(yè)務層、視圖層和持久層。本次開發(fā)面向的是倉儲,因此使用Tomcat服務器完全可以滿足日常需求,由于正常用戶量最多500,所以Mysql數(shù)據(jù)庫完全夠用,其完全免費,體積好可以降低成本。本系統(tǒng)開發(fā)周期短,可以快速上線使用,因此在技術(shù)層面上是完全可行的。從操作層面來說,本系統(tǒng)為了工作人員快速上手,所以設(shè)計的界面簡單易懂,清楚明了,沒有復雜的操作,通過簡單的培訓就可以快速入手。日常的操作只需要幾步就可以完成,這樣可以有效的提高員工工作效率。對于不同角色本系統(tǒng)提高不同的權(quán)限,以此來防止某些誤操作,同時系統(tǒng)中所有的操作都會被記錄,如果出現(xiàn)問題可以快速定位解決問題。本系統(tǒng)操作簡單,界面友好,所以在操作層面上是可行的。從經(jīng)濟層面來說,本軟件的實現(xiàn)只需要開發(fā)費用和運營費用,但是對比傳統(tǒng)的倉儲管理方式來說,軟件可以幫助提升工作人員的效率,并且可以減少發(fā)生錯誤的可能性,從而提升倉庫的存儲能力。所以從經(jīng)濟層面上來說,本軟件的開發(fā)也是可行的。2.2功能需求分析根據(jù)對實際倉庫的需求的考察,倉儲管理系統(tǒng)主要由管理員控制,具體需求如下表所示。表2-1功能需求列表編號功能名稱功能描述輸入內(nèi)容輸出內(nèi)容1管理員信息錄入管理員錄入后可以進行本系統(tǒng)所有操作姓名,、性別、電話、地址等錄入的結(jié)果(提醒“倉庫管理員的系統(tǒng)初始密碼為該ID”)2管理員登錄管理員登錄倉儲管理系統(tǒng)用戶名、密碼用戶登錄是否成功3入庫管理員對貨物進行入庫供應商、貨物名稱、數(shù)量等貨物入庫是否成功4出庫管理員對貨物進行出庫供應商、貨物名稱、數(shù)量等貨物出庫是否成功5供應商信息添加添加供應商信息供應商名稱、負責人、電話、地址等提示添加的結(jié)果6客戶信息添加添加客戶信息客戶名稱、負責人、電話、地址等提示添加的結(jié)果7貨物信息添加添加貨物信息貨物相名稱、貨物類型、貨物尺寸、貨物價值提示添加的結(jié)果8倉庫信息添加添加倉庫信息倉庫地址、倉庫面積、倉庫狀態(tài)、倉庫面試提示添加的結(jié)果9貨物查詢查詢貨物相關(guān)信息貨物ID、倉庫顯示所有貨物10更改密碼管理員密碼更改原密碼新密碼是否修改成功11系統(tǒng)日志顯示所有管理員的操作無顯示所有操作日志12登錄日志顯示所有管理員的登錄IP無顯示所有登錄IP13管理員查詢顯示所有管理員無顯示所有管理員2.3數(shù)據(jù)流圖管理員和超級管理員都可以通過登錄系統(tǒng)的界面來進入系統(tǒng),如下圖所示:圖2-1數(shù)據(jù)流圖用戶在倉儲管理調(diào)試系統(tǒng)時,系統(tǒng)通過賬號和密碼判斷登錄的是超級管理員還是管理員,再根據(jù)登錄的角色跳轉(zhuǎn)到不同的頁面上,用戶在系統(tǒng)內(nèi)操作時,根據(jù)操作的不同數(shù)據(jù)會從頁面流向Mysql數(shù)據(jù)庫,再從數(shù)據(jù)庫中拿到數(shù)據(jù)反饋給用戶。2.4相關(guān)技術(shù)介紹2.4.1MyBatis框架介紹文使用MyBatis作為持久層框架,該框架有很多優(yōu)勢,主要可以根據(jù)sql語句動態(tài)配置來對數(shù)據(jù)庫進行相應操作,該框架同時包含數(shù)據(jù)庫的高級特性如觸發(fā)器,函數(shù),存儲過程等。MyBatis使用配置文件的方式記錄數(shù)據(jù)庫連接參數(shù)實現(xiàn)連接,不需要采用傳統(tǒng)的Jdbc模式就能拿到存儲在數(shù)據(jù)庫中的數(shù)據(jù),采用這種連接方式能有效的減少創(chuàng)建數(shù)據(jù)表和銷毀數(shù)據(jù)表時的開銷。此外,該框架以配置文件的形式實現(xiàn)SQL語句進而操縱數(shù)據(jù)庫,Java的類映射成數(shù)據(jù)庫中的數(shù)據(jù)。Mybatis框架主要分為接口層、數(shù)據(jù)處理層、基礎(chǔ)支撐層這三層架構(gòu),如下圖所示。圖2-2Mybatis結(jié)構(gòu)圖Mybatis的結(jié)構(gòu)概述:(1)第一層接口:api接口層提供相關(guān)功能的接口,服務層調(diào)用這些接口后。實際處理業(yè)務層只需要使用這些接口就可以獲得相應的功能,從而完成對數(shù)據(jù)庫的操作。當系統(tǒng)調(diào)用某一接口后,Mybatis框架就可以獲取配置文件中對應的sql語句對數(shù)據(jù)庫進行相應增刪改查。
(2)第二層數(shù)據(jù):當服務層調(diào)用接口層的接口后,數(shù)據(jù)層會找到相應的配置文件中的sql語句對數(shù)據(jù)庫進行增刪改查,操作數(shù)據(jù)庫后數(shù)據(jù)庫會返回相應數(shù)據(jù)。數(shù)據(jù)層主要是將原始操作封裝為接口以便調(diào)用,當其他層調(diào)用這些接口后可以非常簡單的對數(shù)據(jù)庫進行相應增刪改查。(3)第三層支撐:基礎(chǔ)支撐層主要上存儲連接數(shù)據(jù)庫操作數(shù)據(jù)庫的基本的參數(shù),例如操作數(shù)據(jù)庫的驅(qū)動,數(shù)據(jù)庫的用戶名及密碼等。2.4.2Spring框架概要本文使用Spring框架作為主要設(shè)計層框架,該框架是目前較為流行的開源層框架,該框架主要負責業(yè)務層和其它層的耦合問題,該框架主要是采用接口解決耦合問題,雖然有一定弊端,但是可以解決一部分耦合問題。在任何TomCat和JBoss這類服務器中,Spring框架可以承受不同環(huán)境的影響,使用基礎(chǔ)功能。同時Spring框架不會受到特定的服務器限制,不會將自身和指定項目和對象相綁定,這一特性展現(xiàn)了Spring框架的優(yōu)勢:在Spring框架中已經(jīng)配置好的對象可以在不同的項目和不同環(huán)境中執(zhí)行。所以Spring框架可以被不同服務器重用,降低耦合性,增加可擴展性。Spring框架的體系結(jié)構(gòu)如下圖所示。圖2-3Spring體系結(jié)構(gòu)在Spring框架中每個模塊或組件都是獨立的,他們可以單一的被調(diào)用,或者多個聯(lián)合被調(diào)用。主要包括核心容器、Sprisng上下文和SpringAOP。(1)Spring中最基本的功能模塊(特性)由核心容器實現(xiàn)。該容器采用對象工廠來創(chuàng)建、加載實例。該容器的功能主要利用控制反轉(zhuǎn)對資源進行操作,將原本資源控制權(quán)限從雙方控制轉(zhuǎn)變?yōu)橛蒘pring的核心容器來控制,進而減弱了JAVA對象的耦合度,從而讓實現(xiàn)功能時主要關(guān)注使用對象而不是創(chuàng)建對象。(2)Spring上下文主要是通過Spring-content.xml這一配置文件保存框架功能的相關(guān)參數(shù)信息,當工程啟動時Spring框架可以自動讀取Spring-content.xml該配置文件并對所有模塊進行初始化。在Spring-content.xml配置文件中的Spring-content標簽中配置相關(guān)功能,例如檢驗輸入字段的有效性,管理程序異常等。(3)Spring框架中除了IOC功能外之外,該框架還有另外一個叫做AOP的功能也十分強大。該功能本質(zhì)上是一個阻斷器,主要的功能是操作某些將要執(zhí)行或者已經(jīng)執(zhí)行完成的方法。使用該功能,我們可以將倉儲管理系統(tǒng)中設(shè)計的核心功能和一些通用的方法分開,易于實現(xiàn)日志管理,數(shù)據(jù)庫基本信息的管理從而減少代碼冗余,將核心代碼和通用代碼更加具體、清晰的表現(xiàn)出來。2.4.3SpringMVC框架介紹SpringMVC框架主要核心思想的采用一個分發(fā)器來處理用戶的各個請求,當有一個請求進來后,該分發(fā)器會將這個請求分配給相應的程序進行處理,此外,該框架還可以進行地址映射、數(shù)據(jù)庫視圖分析、程序參數(shù)檢驗、對文件進行便捷的上傳下載等功能。該框架主要采用注解的方式來表示不同功能,通過Controller注解來獲取所有請求,拿到請求后用RequestMapping注解來處理請求。該框架的主要的體系結(jié)構(gòu)如下圖所示。圖2-4Spring體系結(jié)構(gòu)Spring-mvc主要由七個核心部件組成,共同完成從請求到響應再獲取數(shù)據(jù)庫數(shù)據(jù),再到返回數(shù)據(jù)這一流程。在這里我們主要介紹前端控制器(DispatcherServlet)、處理器映射器(HandlerMapping)、處理器(Handler)、處理器適配器(HandlAdapter)、:視圖解析器(ViewResolver)和視圖(View)。(1)前端控制器(DispatcherServlet)主要處理用戶的請求,當用戶的請求到達后,該控制器作為MVC設(shè)計模式中的controller來控制整體的數(shù)據(jù)流動,該組件可以協(xié)同其它組件完成用戶請求,采用分發(fā)器的形式來減少組件之間的耦合度。(2)處理器映射器(HandlerMapping)主要是根據(jù)用戶不同的相應,將任務分配給不同處理器,主要采用配置文件實現(xiàn)接口和注解的不同映射。(3)處理器(Handler)主要功能是控制后端程序,根據(jù)DispatcherServlet分發(fā)的不同請求處理器進而處理用戶的不同請求,改模塊通常是由程序員根據(jù)業(yè)務進行自定義,因此該模塊可塑性很強。(4)處理器適配器(HandlAdapter)主要上用來針對Handler無法處理的某些請求,DispatcherServlet分發(fā)任務后發(fā)現(xiàn)沒有handler可以解決,這時會發(fā)送到該模塊上進行處理。(5)視圖解析器(ViewResolver)主要是將handler處理后的結(jié)果轉(zhuǎn)化為View視圖,主要流程上首先將邏輯視圖轉(zhuǎn)化為頁面,然后生成對象,最后對該視圖進行渲染,然后根據(jù)靜態(tài)資源CSS配置后顯示給用戶。(6)視圖(View)主要包括jsp頁面、html頁面和xml頁面等。該功能模塊主要上根據(jù)具體的不同業(yè)務進行具體的開發(fā)。2.4.4Hadoop技術(shù)本系統(tǒng)使用Hadoop技術(shù)作為倉庫的集群。Hadoop是一個使用Java語言編寫的大數(shù)據(jù)管理平臺,該技術(shù)采用MapReduce作為分布式架構(gòu)。本架構(gòu)是最基礎(chǔ)的架構(gòu),允許用戶依靠該技術(shù)進行簡單的模型編程,對數(shù)據(jù)進行分布式處理,其設(shè)計模式可以從單一的服務器到數(shù)千臺機器,每個服務器都能提供本地的存儲功能。本文開發(fā)的倉儲物料管理系統(tǒng)中,每個倉庫可以當做一個獨立的服務器進行部署,最后將所有數(shù)據(jù)匯總,這樣可以并行的處理海量的數(shù)據(jù)。Hadoop是Apache開源組織的一個分布式計算開源框架,是一個包含有很多子項目的大家族,圖1顯示了Hadoop整個家族的各個子項目。圖2-5Hadoop整體結(jié)構(gòu)MapReduce是一種編程模式,主要分兩部分:map函數(shù)、reduce函數(shù)。MapReduce編程中,主要就是實現(xiàn)這兩個函數(shù),其執(zhí)行過程見圖2-6。圖2-6Mapreduce模型MapReduce是一種主從結(jié)構(gòu),它有一個JobTracker和多個TaskTracker,通過JobTracker把任務分成多份,分別讓多個TaskTracker并行執(zhí)行,這樣可以加快任務執(zhí)行速度,提高系統(tǒng)的性能。HDFS是分布式文件系統(tǒng),是AHC項目的一部分。圖2-7HDFS結(jié)構(gòu)圖圖2-7是HDFS的體系結(jié)構(gòu)圖,下面介紹主從結(jié)構(gòu)的組成。(1)NameNote:主節(jié)點。(2)DataNode:負責存儲文件,在這里,把一個文件被分割成很多的block存放在Linux系統(tǒng)中,為了保證文件的安全性,文件有很多的冗余副本。HBase的索引是RowKey、ColumnFamily、以及時Timestamp,每個值是一個未經(jīng)解析的支付串。其結(jié)構(gòu)見圖2-8。圖2-8HBase結(jié)構(gòu)圖2.4.5Mysql數(shù)據(jù)庫隨著計算機技術(shù)的發(fā)展,傳統(tǒng)的采取文件存儲數(shù)據(jù)的方式不再適用與現(xiàn)代計算機的需求,所以工程師設(shè)計了數(shù)據(jù)庫來解決計算機數(shù)據(jù)存儲的問題。數(shù)據(jù)庫的出現(xiàn),使計算機的發(fā)展邁進了一大步,有了良好的數(shù)據(jù)管理軟件,計算機的程序免去了針對復雜數(shù)據(jù)的設(shè)計。MySQL是一款目前較為流行的輕量級開源的數(shù)據(jù)庫軟件,由于其免費的特性得到很多人的青睞,是目前使用人數(shù)最多的數(shù)據(jù)庫。在命令提示符下操作MySQL數(shù)據(jù)庫的方式不太方便,所以本文使用的MySQL圖形化管理工具是NavicatforMySQL,該工具界面清晰明了,操作相對簡單,便于用戶對數(shù)據(jù)庫中的數(shù)據(jù)進行管理,它使用的圖形化用戶界面可以讓用戶使用和管理更為簡潔和明了。Mysql數(shù)據(jù)庫可以以獨立的進程運行,這使得程序員可以輕易的根據(jù)其所提供的接口進行數(shù)據(jù)操作。通常數(shù)據(jù)庫接口采用驅(qū)動進行連接,這些驅(qū)動通常由數(shù)據(jù)庫廠商提供。2.4.6JSP技術(shù)本系統(tǒng)使用JSP頁面進行編寫,JSP是一種網(wǎng)頁開發(fā)技術(shù),是動態(tài)的技術(shù),該技術(shù)可以讓Java代碼嵌入在HTML網(wǎng)頁中,動態(tài)的修改網(wǎng)頁上的數(shù)據(jù),達到動態(tài)可視化的目的。JSP本質(zhì)上是Java中的servlet,主要是用于Javaweb程序中用戶界面與服務器界面的交互,該技術(shù)除了可以在HTML頁面中嵌入Java代碼,還可以在XHTML和XML中進行相同的操作。JSP頁面主要是通過網(wǎng)頁中提交表單的形式,獲取用戶的數(shù)據(jù),對數(shù)據(jù)庫進行相應的操作,當數(shù)據(jù)庫響應后再動態(tài)的創(chuàng)建HTML頁面。JSP有很多標簽,每個標簽的功能都不相同,如有訪問數(shù)據(jù)庫的,有記錄用戶選擇的等等。2.5本章總結(jié)本章主要針對倉儲管理系統(tǒng)的功能需求、可行性分析、數(shù)據(jù)庫設(shè)計和相關(guān)技術(shù)幾個方面展開,利用圖表的形式展示了系統(tǒng)中各個部分的設(shè)計情況,并配有文字詳細描述了各個功能模塊的設(shè)計使用情況。
3系統(tǒng)總體設(shè)計3.1系統(tǒng)總體設(shè)計倉儲管理系統(tǒng)由管理員進行管理,具體功能模塊如下圖所示。圖3-1系統(tǒng)功能圖倉儲管理系統(tǒng)系統(tǒng)其中主要包括庫存管理,出入庫管理,人員信息管理,基礎(chǔ)數(shù)據(jù)和系統(tǒng)維護功能。其中基礎(chǔ)數(shù)據(jù)主要是管理倉管、供應商等信息。3.2系統(tǒng)功能模塊設(shè)計(1)登錄功能模塊該模塊的主要功能是判斷管理員是否登錄,只有登錄后才可以使用本系統(tǒng)的相關(guān)功能在賬號與密碼驗證成功的情況下,跳轉(zhuǎn)到主界面,該模塊是整個系統(tǒng)的入口。(2)出入庫功能模塊該模塊主要包含出庫功能和入庫功能,本功能只有登錄后才能使用,當貨物被運送到倉庫后,管理員使用入庫功能,將貨物的基本信息錄入。當貨物被提走后,管理員需要使用出庫功能,錄入相關(guān)信息。(3)人員管理功能模塊該功能模塊主要是使用超級管理員賬號,為倉庫管理員添加信息,建立賬號,管理倉庫。(4)基礎(chǔ)數(shù)據(jù)功能模塊該模塊的主要功能是完善倉庫信息,貨物信息,供應商信息以及客戶信息。簡化管理員的工作步驟,不用每次入庫時都對貨物信息進行錄入,直接查看現(xiàn)有的是否已經(jīng)存在,如果不存在再進行錄入。(5)系統(tǒng)維護功能模塊改模塊主要是記錄管理員的各種操作,以及登錄IP地址,防止貨物丟失,防止貨物被盜。3.3數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫模型的分析設(shè)計的實現(xiàn)能力主要指基于對數(shù)據(jù)庫實體類數(shù)據(jù)表的模型設(shè)計的分析研究能力與具體分析模型設(shè)計的實現(xiàn)的結(jié)果,本節(jié)在文章結(jié)構(gòu)中還將會盡量主要詳細地提出從數(shù)據(jù)庫分析設(shè)計中的最主要的概念模型設(shè)計出發(fā)并將給出ER圖,并也將具體給出最主要的類型的數(shù)據(jù)表型設(shè)計的一些詳細分析設(shè)計內(nèi)容。倉儲管理系統(tǒng)采用Mysql數(shù)據(jù)庫,本系統(tǒng)主要包括系統(tǒng)管理員表、客戶表、供應商表、倉庫表、貨物表、操作動作表、入庫表、出庫表、登錄日志表等11個表,每個表的具體設(shè)計情況如下所示。數(shù)據(jù)庫E-R圖如下所示。圖3-1全局E-R圖管理員內(nèi)容表(admin)用來存儲平臺管理員的基本內(nèi)容,表字段內(nèi)容如表3-1所示。表3-1系統(tǒng)管理員表序號字段名稱字段類型大小允許為空最大長度備注1USER_IDInt4自增10
2USER_USERNAMEVarChar50是255
3USER_PASSWORDVarChar50是255
系統(tǒng)管理員角色表(admin_role)用來存儲平臺管理員的角色信息,表字段內(nèi)容如表3-2所示。表3-2系統(tǒng)管理員角色表序號字段名稱字段類型大小允許為空最大長度備注1ROLE_IDInt4是10
2USER_IDVarChar4是10
系統(tǒng)供應商表(supplier)用來存儲倉儲系統(tǒng)供應商信息表字段內(nèi)容如表3-3所示。表3-3供應商表序號字段名稱字段類型大小允許為空最大長度備注1SUPPLIER_IDInt4自增10
2SUPPLIER_NAMEVarChar50是255
3SUPPLIER_PERSONVarChar50是255
4SUPPLIER_TELVarChar50是255
5SUPPLIER_EMAILVarChar50是255
6SUPPLIER_ADDRESSVarChar500是255
系統(tǒng)操作記錄表(action)用來存儲平臺管理員操作表字段內(nèi)容如表3-4所示。表3-4操作記錄表序號字段名稱字段類型大小允許為空最大長度備注1ACTION_IDInt4是10
2ROLE_IDInt4是10
倉庫表(repo)用來存儲倉儲系統(tǒng)中倉庫表字段內(nèi)容如表3-5所示。表3-5倉庫表序號字段名稱字段類型大小允許為空最大長度備注1REPO_IDInt4自增10
2REPO_ADDRESSVarChar50是255
3REPO_STATUSVarChar50是255
4REPO_AREAVarChar50是255
5REPO_DESCVarChar50是255
存儲表(record)用來存儲倉儲系統(tǒng)中庫存信息的內(nèi)容,存儲表字段內(nèi)容如表3-6所示。表3-6存儲表序號字段名稱字段類型大小允許為空最大長度備注1RECORD_IDInt4是10
2RECORD_REPOSITORYInt4是10
3RECORD_NUMBERInt4是10
入庫表(record_in)用來存儲倉儲系統(tǒng)中入庫信息的內(nèi)容,入庫表字段內(nèi)容如表3-7所示。表3-7入庫表序號字段名稱字段類型大小允許為空最大長度備注1RECORD_IDInt4自增10
2RECORD_SUPPLIERIDInt4是10
3RECORD_GOODIDInt4是10
4RECORD_NUMBERInt4是10
5RECORD_TIMEDateTime0是0
6RECORD_PERSONVarChar50是255
7RECORD_REPOSITORYIDInt4是10出庫表(record_out)用來存儲倉儲系統(tǒng)中出庫信息的內(nèi)容,出庫表字段內(nèi)容如表3-8所示。表3-8出庫表序號字段名稱字段類型大小允許為空最大長度備注1RECORD_IDInt4自增10
2RECORD_CUSTOMERIDInt4是10
3RECORD_GOODIDInt4是10
4RECORD_NUMBERInt4是10
5RECORD_TIMEdatetime0是0
6RECORD_PERSONVarChar50是255
7RECORD_REPOSITORYIDInt4是10
貨物表(good)用來存儲倉儲系統(tǒng)中存儲貨物的信息,貨物表字段內(nèi)容如表3-9所示。表3-9貨物表序號字段名稱字段類型大小允許為空最大長度備注1GOOD_IDInt4自增10
2GOOD_NAMEVarChar50是255
3GOOD_RYPEVarChar50是255
4GOOD_SIZEVarChar50是255
5GOOD_VALUEVarChar50是255
客戶表(record_out)用來存儲倉儲系統(tǒng)中客戶信息的內(nèi)容,出客戶表字段內(nèi)容如表3-10所示。表3-10客戶表序號字段名稱字段類型大小允許為空最大長度備注1CUSTOMER_IDInt4自增編號10
2CUSTOMER_NAMEVarChar50是255
3CUSTOMER_PERSONVarChar50是255
4CUSTOMER_TELVarChar50是255
5CUSTOMER_EMAILVarChar50是255
6CUSTOMER_ADDRESSVarChar50是2553.4本章總結(jié)本章主要介紹了本系統(tǒng)總體設(shè)計,以及每個模塊的主要功能。
4系統(tǒng)實現(xiàn)4.1安裝Hadoop先在master機器上安裝:(1)關(guān)閉防火墻。(2)解壓并重命名hadoop-1.1.2.targz為hadoop(3)配置hadoop環(huán)境變量。在/etc/profle中加入環(huán)境變量:exportHADOOP_HOME=/usr/local/hadoop(4)編輯SHADOOP_HOME/conf/hadoop-env.sh文件。#配置Java環(huán)境ExportJAVA_HOME=/usr/lacal/jdk/(5)編輯$HADOOP_HOME/conf/core-sit.xml,詳見圖6。圖4-1core.site.xml配置(6)編輯$HADOOP_HOME/conf/hdfs-sit.xml,詳見圖4-2。圖4-2hdfs.site.xml配置(7)編輯mapred-site.xml,詳見圖4-3所示。圖4-3mapred-.site.xml配置(8)編輯master,將master添加進去。(9)編輯slaves,將slave1和slave2添加進去。(10)安裝好后拷貝至如上兩位置。同時對slave1和slave2上的/etc/profile文件進行相應的修改。(11)驗證Hadoop是否安裝成功在master上執(zhí)行start-all.sh命令,然后執(zhí)行jps查看java進程,如果界面如圖4-4所示,則表示安裝成功。圖4-4master上Hadoop效果4.2主界面的實現(xiàn)本文實現(xiàn)的是一個倉儲管理系統(tǒng),該系統(tǒng)包含庫存管理模塊、出入庫管理模塊、人員管理模塊、基礎(chǔ)信息管理模塊、系統(tǒng)管理模塊和系統(tǒng)管理模塊,主界面如圖所示。圖4-5系統(tǒng)主界面4.3登錄模塊的實現(xiàn)用戶登錄分為超級管理員、普通管理員。首先用戶輸入賬號和密碼,點擊登錄后系統(tǒng)調(diào)取數(shù)據(jù)庫的數(shù)據(jù)進行比對,首先對比賬號密碼是否正確,如果正確則返回用戶的權(quán)限,然后系統(tǒng)進入相應的主界面。登錄模塊流程圖如下圖所示。圖4-6登錄流程圖登錄界面如下圖所示。圖4-7登錄界面4.4出入庫管理模塊的實現(xiàn)當管理員登錄后,可以進行出庫入庫操作,如果想要入庫操作,首先選擇倉庫,輸入對應供應商和入庫貨物以及入庫數(shù)量,出庫的操作類似,如果供應商和貨物不存在則需要先添加相關(guān)信息。出入庫管理流程圖如下圖所示。圖4-8出入庫管理流程圖入庫頁面如下圖所示。圖4-9入庫界面出庫頁面如下圖所示。圖4-10出庫頁面4.5基礎(chǔ)數(shù)據(jù)管理模塊的實現(xiàn)在管理員已經(jīng)登錄的情況下,管理員點擊基礎(chǔ)數(shù)據(jù),可以對供應商,客戶,倉庫,貨物等信息進行錄入、更新修改、查詢及刪除?;A(chǔ)數(shù)據(jù)管理流程圖如下所示。圖4-11基礎(chǔ)數(shù)據(jù)管理流程圖由于篇幅顯示,在這里只展示基礎(chǔ)數(shù)據(jù)管理中供應商部分,界面如下圖所示。圖4-12基礎(chǔ)數(shù)據(jù)供應商管理頁面4.6系統(tǒng)維護模塊的實現(xiàn)當管理員成功登錄后,可以點擊系統(tǒng)維護進行相關(guān)操作。該界面可以查詢倉庫管理員的操作以及登錄IP等信息。圖4-13系統(tǒng)維護模塊管理流程圖系統(tǒng)維護模塊如下圖所示。圖4-14系統(tǒng)維護模塊界面4.7修改密碼在用戶成功登陸系統(tǒng)后,可以點擊左側(cè)修改密碼選項。點擊后跳轉(zhuǎn)到修改密碼界面,在改頁面中需要填寫原始密碼,以及兩次新密碼。如果兩次新密碼不一致,則系統(tǒng)會彈出“對不起,兩次密碼不一至,請重新輸入”的信息。如果原密碼不正確,則系統(tǒng)會彈出“原密碼輸入錯誤”的信息,如果修改成功則會退出系統(tǒng),重新登錄。修改密碼模塊流程圖如下所示。圖4-15修改密碼流程圖 修改密碼界面如下圖所示。圖4-16修改密碼界面圖4.8本章總結(jié)本章針對倉儲管理系統(tǒng)主要介紹了系統(tǒng)的幾個核心部分的功能實現(xiàn)以及所需要的運行環(huán)境,核心功能主要主界面的實現(xiàn)、登錄模塊的實現(xiàn)、出入庫管理模塊的實現(xiàn)、基礎(chǔ)數(shù)據(jù)管理模塊的實現(xiàn)、系統(tǒng)維護模塊的實現(xiàn)與修改密碼模塊的實現(xiàn)。為了便于理解,本章在每個核心功能介紹部分附上了流程圖、系統(tǒng)頁面以及核心代碼。
5系統(tǒng)測試5.1測試目的為了倉儲管理系統(tǒng)的穩(wěn)定性與可用性,需要進行一定程度的測試來檢驗系統(tǒng),本章主要針對系統(tǒng)的界面以及功能性進行測試,目的是保證倉儲管理系統(tǒng)在部署到生產(chǎn)環(huán)境下可以正常,有效的運轉(zhuǎn)。分析倉儲物料管理系統(tǒng),確定要測試的內(nèi)容并制定測試計劃,本系統(tǒng)在Windows1064位專業(yè)版上運行只進行功能測試。本文只進行功能測試,未進行壓力測試。測試主要分倉儲物料管理系統(tǒng)的功能模塊測試。執(zhí)行測試,準備搭建測試環(huán)境,并記錄測試內(nèi)容。提交并解決測試中的bug。本次測試主要針對Web端的使用以及后臺調(diào)用數(shù)據(jù)庫是否正常進行測試,Web端主要對出入庫管理、基礎(chǔ)信息管理和系統(tǒng)功能維護功能進行測試,測試其是否正常運行,以及可能會出現(xiàn)的問題[8-10]。5.2測試方案5.2.1界面測試本文采用黑盒測試Web端的界面,主要測試字體,窗口,以及其他元素是否正常。Web端界面測試項目如下表所示。表5-1用戶界面測試表檢查項測試人測試結(jié)果窗口切換、移動、改變大小時正常嗎?本人正常各種界面元素的文字正確嗎?(如標題、提示等)本人正常各種界面元素的狀態(tài)正確嗎?(如有效、無效、選中等狀態(tài))本人正常各種界面元素支持鍵盤操作嗎?本人正常數(shù)據(jù)項能正確回顯嗎?本人正常執(zhí)行有風險的操作時,有“確認”、“放棄”等提示嗎?本人正常有聯(lián)機幫助嗎?本人正常各種界面元素的布局合理嗎?美觀嗎?本人正常5.2.2功能測試(1)用戶登錄測試當用戶以超級管理員身份登錄,輸入賬號或密碼為空時,提示框會提示右側(cè)會出現(xiàn)“用戶名不能為空”。當輸入錯誤的賬號或密碼時,會彈出提示框顯示“用戶名或密碼錯誤”。圖5-1用戶登錄測試界面當用戶使用正確的賬號和密碼登錄時,系統(tǒng)會彈出提示框顯示“登陸成功!”。這時頁面會自動跳轉(zhuǎn)到相應的角色主界面。圖5-2用戶登錄測試界面(2)系統(tǒng)用戶信息管理測試對系統(tǒng)用戶信息管理進行測試時,采用黑盒測試法中的等效性法和邊界值法相結(jié)合的測試方法對功能進行測試,例如輸入錯誤的數(shù)據(jù),輸入非法的字段或者輸入超越輸入框規(guī)定范圍的數(shù)字(如年齡、手機號、QQ號和銀行賬號等)。系統(tǒng)用戶信息管理測試表如下表所示。表5-2系統(tǒng)用戶信息管理測試功能A描述以管理員身份登錄,添加、修改、查詢用戶信息用例目的是否能夠正確修改信息前提條件用戶安全登錄系統(tǒng)界面輸入/動作輸入實際情況示例:典型值…年齡5353示例:邊界值…年齡—10輸入數(shù)據(jù)有誤示例:異常值…年齡a輸入數(shù)據(jù)有誤如果輸入的測試數(shù)據(jù)完全正確,則彈出對話框顯示“倉庫管理員添加成功”,這時表示系統(tǒng)添加用戶成功,具體對話框如下圖所示。圖5-3錄入用戶信息成功界面(3)部分功能測試為了驗證系統(tǒng)功能的有效性及完整性,本文做了大量黑盒測試。下表展示了部分測試實例。表5-3部分測試用例表模塊用例描述預期結(jié)果備注管理員登錄用戶名文本框中不輸入任何數(shù)據(jù)提示“請?zhí)顚懲暾男畔ⅰ睖y試用戶名是否為空在密碼文本框中輸入“123”三個字符提示“密碼長度最少為6位”測試密碼位數(shù)是否正確密碼修改在密碼文本框和確認密碼文本框中分別輸“123456”和“258769”提示“兩次輸入的密碼不匹配”測試用戶兩次輸入的密碼是否匹配在用戶管理中修改密碼,原始密碼若輸入不正確提示“原始密碼錯誤”測試原始密碼是否正確添加客戶客戶信息內(nèi)容為空系統(tǒng)提示客戶信息內(nèi)容為空,客戶信息添加失敗測試客戶信息是否為空輸入客戶信息系統(tǒng)提示客戶信息添加成功測試客戶信息是否成功添加供應商直接點擊添加系統(tǒng)提示請輸入相關(guān)信息測試添加供應商功能是否可用輸入供應商信息系統(tǒng)提示添加成功測試添加供應商功能是否可用5.3測試結(jié)果進過一系列的測試后,倉儲管理系統(tǒng)基本可以按照開發(fā)需求正常運行,能夠滿足倉庫的基本需求。本次測試項目主要針對系統(tǒng)日常使用進行測試,由于條件有限只進行了界面測試和系統(tǒng)測試,在未來可以嘗試對系統(tǒng)進行一定程度的壓力測試,檢驗系統(tǒng)的承載能力。5.4本章總結(jié)本章主要針對倉儲管理系統(tǒng)設(shè)計開發(fā)完成后進行一些列的黑盒測試,目的是在系統(tǒng)交付給倉庫時,可以真正的直接部署在生產(chǎn)環(huán)境中。雖然本系統(tǒng)經(jīng)過了界面測試和系統(tǒng)測試,但是
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度船舶建造與設(shè)計合同年度更新
- 2025年度跨境電商代理記賬與稅務合規(guī)支持協(xié)議
- 2025年度人工智能技術(shù)研發(fā)合作協(xié)議(全新版)
- 2025年度創(chuàng)意產(chǎn)業(yè)園區(qū)租賃合同及創(chuàng)業(yè)支持協(xié)議
- 2025年度租賃合同范本(含違約責任)
- 持續(xù)反饋機制的建立與實施計劃
- 加強數(shù)據(jù)安全管理的實施措施計劃
- 2025年CO2氣體保護藥芯焊絲合作協(xié)議書
- 定期舉辦學術(shù)交流活動計劃
- 生產(chǎn)計劃科學制定
- 2025年益陽醫(yī)學高等??茖W校高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2024年臨床醫(yī)師定期考核試題中醫(yī)知識題庫及答案(共330題) (二)
- 醫(yī)用氣體施工方案
- 2024 年陜西公務員考試行測試題(B 類)
- 2025-2030年中國反滲透膜行業(yè)市場發(fā)展趨勢展望與投資策略分析報告
- 湖北省十堰市城區(qū)2024-2025學年九年級上學期期末質(zhì)量檢測道德與法治試題 (含答案)
- 幼兒園師德師風培訓內(nèi)容
- 住宅小區(qū)消防設(shè)施檢查方案
- 《榜樣9》觀后感心得體會四
- 沈陽市地圖課件
- 2025年山東省濟寧高新區(qū)管委會“優(yōu)才”招聘20人歷年高頻重點提升(共500題)附帶答案詳解
評論
0/150
提交評論