

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 題目:倉庫管理系統(tǒng)的設計與實現</p><p><b> 倉庫管理系統(tǒng)</b></p><p><b> 摘要</b></p><p> 21世紀是一個信息化的時代,企業(yè)只有敏捷的獲取生產信息和市場信息,才能置身于國際大舞臺,這就離不開先進的企業(yè)管理系統(tǒng)——ERP。而倉庫管理系統(tǒng)正是ERP中一個
2、最重要的組成部分,也是企業(yè)生產過程的一個重要組成部分。企業(yè)要在現代化國內外市場取得一席之地,就必須使其倉庫管理體系達到現代化水平,也即使倉庫管理從原始的手工階段走向方便快捷的計算機實現階段。選擇合理的倉庫管理方法,不僅會促進銷售,改善生產秩序,做到均衡生產,而且會降低庫存的占用資金,最終使企業(yè)獲得更好的經濟效益。</p><p> 本倉庫管理系統(tǒng)是針對的實際需求,從實際工作出發(fā),在分析目前倉庫管理系統(tǒng)中存在的問
3、題的基礎上,結合管理信息系統(tǒng)開發(fā)的概念、結構及系統(tǒng)開發(fā)的基本原理和方法,并利用計算機運算速度快、存儲信息容量大、處理邏輯問題強、功能強大的優(yōu)勢,采用目前流行的B/S結構和流行框架SSH(Struts +Spring+Hibernate)和MVC設計模式。通過Internet/Intranet實現對物資進行管理,特別是對物資基本信息管理、物資調配信息等進行完整的監(jiān)控而開發(fā)出來的。從查詢與決策信息的管理需求出發(fā),針對性強,功能齊備,旨在通過
4、幫助該庫存管理實現信息化、網絡化,以提高管理的效率。</p><p> 本倉庫管理信息系統(tǒng)主要包括“入庫管理”、“出庫管理”、“基本信息管理”和“系統(tǒng)用戶管理”等模塊。它主要對物資的出入庫進行統(tǒng)計和核算,及時準確地掌握商品庫存情況,并動態(tài)反映物資的增減變動,為的決策提供基礎數據。</p><p> 關鍵詞:倉庫管理系統(tǒng);B/S;SSH;MVC </p><p>
5、 WMS-Warehouse Management System</p><p><b> Abstract</b></p><p> 21 century is an informative ERP.Enterprises which could activate in the international community must dependent on
6、 the acquisition of the manufacture and marketing information. This needs advanced enterprise management system---ERP. And warehouse management system is a most important part of ERP.To obtain a place in the inner and in
7、ternational market, the warehouse management system of enterprises must modernize. Namely, the management of warehouse must transmit from primitive handmade stage to </p><p> How to reduce the cost,improve
8、work efficiency is materials store managers need to solve a practical problem.This material management information system is aimed at the actual demand,from actual conditions, and on the analysis of the current material
9、management information system based on the problems existing in the information system development,management concept,structure and system development,the basic principle and methods,and use of computer operation speed a
10、nd storage capacity and proce</p><p> This material management information system mainly include "material inventory management",and "material outbound management" and "material&quo
11、t; and "the basic information management system user management",etc.It mainly supplies for the enterprise to make statistics and accounting, timely and accurately grasp the dynamic inventory goods,and reflects
12、 the changes,enterprise or business the decision to provide basic data.</p><p> Key Words: WMS-Warehouse Management System;B/S;SSH;MVC;目錄</p><p><b> 摘要I</b></p><p>
13、AbstractII</p><p><b> 目錄1</b></p><p><b> 1 緒論1</b></p><p> 1.1 課題設計的背景1</p><p> 1.2 課題設計的目的和意義1</p><p> 1.3 課題的主要研究工作2&
14、lt;/p><p> 1.4 論文結構安排2</p><p> 2 課題涉及的關鍵技術3</p><p> 2.1 MVC設計模式簡介3</p><p> 2.2 JSP技術簡介3</p><p> 2.2.1 JSP工作原理4</p><p> 2.2.2 JSP體系結構
15、4</p><p> 2.2.3 JSP的特點5</p><p> 2.3 SSH框架簡介5</p><p> 2.3.1 定義5</p><p> 2.3.2 Struts26</p><p> 2.3.3 Spring6</p><p> 2.3.4 Hibernate
16、7</p><p> 2.4 Sql Server數據庫簡介8</p><p> 2.4.1 SQL Server2005簡介8</p><p> 2.4.2 “結構化查詢語言”(SQL)簡介8</p><p> 3 系統(tǒng)需求分析10</p><p> 3.1 可行性分析10</p>
17、<p> 3.1.1 技術可行性10</p><p> 3.1.2 經濟可行性10</p><p> 3.2 功能需求分析10</p><p> 3.3 數據需求分析11</p><p> 3.5 性能需求分析13</p><p> 4 系統(tǒng)概要設計14</p>&
18、lt;p> 4.1 系統(tǒng)功能設計14</p><p> 4.2 數據庫的設計15</p><p> 4.2.1 E-R圖的設計15</p><p> 4.2.2 數據庫表的設計17</p><p> 5 系統(tǒng)的詳細設計與實現20</p><p> 5.1 登陸頁面的設計與實現20<
19、/p><p> 5.2 系統(tǒng)安全管理的實現22</p><p> 5.3 系統(tǒng)用戶管理26</p><p> 5.5 基礎信息維護27</p><p> 5.5 物資入庫出庫管理29</p><p> 5.6 系統(tǒng)配置時的一些關鍵代碼31</p><p> 5.6.1 Stru
20、ts.xml配置31</p><p> 5.6.2 web.xml配置34</p><p> 6 系統(tǒng)測試37</p><p> 6.1 測試概述37</p><p> 6.2 數據庫測試37</p><p> 6.3 測試實例38</p><p><b>
21、7 總結41</b></p><p><b> 參考文獻42</b></p><p><b> 致 謝43</b></p><p> 畢業(yè)設計(論文)知識產權聲明44</p><p> 畢業(yè)設計(論文)獨創(chuàng)性聲明45</p><p><b
22、> 附 錄46</b></p><p><b> 1 緒論</b></p><p> 1.1 課題設計的背景</p><p> 當今社會是一個信息社會,一個知識經濟時代。自世界上第一臺計算機ENINC(Electronic numerical integrator and calculator)于1946年在美國問
23、世到現在,計算機業(yè)飛速發(fā)展,技術淘汰指標高的驚人,價格下降以及軟件應用的快速擴展引發(fā)了以信息處理計算機化為標志的“微機革命”,隨之而來的是以全球信息網絡普及和全球信息共享為標志的“全球信息網絡革命”的蓬勃興起??梢姡澜缫堰M入在計算機信息管理領域中激烈競爭的時代,計算機已經變得普通得不能再普通的工具,如同我們離不開的自行車、汽車一樣。</p><p> 隨著企業(yè)規(guī)模的擴大,管理信息系統(tǒng)也發(fā)揮越來越重要的作用。作
24、為企業(yè)管理信息系統(tǒng)關鍵組成部分的倉庫管理系統(tǒng)的應用給企業(yè)帶來巨大的效益。采用倉庫管理系統(tǒng)將使企業(yè)改變其傳統(tǒng)的手工記錄模式,應用數據庫技術使海量數據的存儲與處理成為很方便的事情,這樣可大幅縮短主要業(yè)務流程的處理時間,提高對市場的響應能力。</p><p> “物流服務最初起源于軍事上的運用”,“物流”這一概念起源于二戰(zhàn)期間的美國,英文稱之為Logistics或者Physical Distribution,前者的使
25、用率更高一些。物流一詞最早被描述為泛指軍隊運輸、補給和屯駐,后來被廣泛用來描述商品實體的物理性流通活動,成為流通經濟學中的術語。</p><p> 隨著經濟的全球化以及中國經濟改革的逐漸深化,各面臨著越來越多激烈的競爭。我們應該承認,誰掌握的知識多,信息量大,信息處理速度快,批量大,誰的效率就高,誰就能在各種競爭中立于不敗之地。庫存管理是一般工業(yè)、商業(yè)生產管理環(huán)節(jié)中重要的一環(huán),所以,有效地進行物資基本信息管理、
26、物資調配信息等進行完整的監(jiān)控已經成為了各生存和發(fā)展的頭等要事。</p><p> 本倉庫管理信息系統(tǒng)就是在這樣的信息技術廣泛應用的時代背景下,本著用戶的需求,借助于現代化的管理方法和信息技術開發(fā)出來的。</p><p> 1.2 課題設計的目的和意義</p><p> 基于給管理者與物資創(chuàng)造一個能夠及時進行信息交互的平臺,倉庫管理系統(tǒng)就孕育而生了,希望通過它可
27、以將管理者和物資緊密相連起來,實現便捷管理的目標。該系統(tǒng)繼承了傳統(tǒng)的管理方法使得管理者更加便捷、迅速、準確的掌握倉庫信息,通過該倉庫管理系統(tǒng)得到信息的反饋,同時也可以進行一系列的操作來對物資進行入庫和出庫等信息登記。這大大的縮短了工作時間,且提高了工作效率。倉庫管理系統(tǒng)的投入,將使倉庫的管理更加正規(guī)化,為產品的出入庫管理部</p><p> 門和銷售部門提供了方便,降低了倉庫的損耗。企業(yè)可以對售出的產品進行跟蹤
28、服務,同時也免去了銷售人員按以往慣例親自前往用戶處去核實貨物情況的麻煩,提高了辦事效率,節(jié)省了費用,而且還避免了不必要的業(yè)務糾紛,維護了企業(yè)長期與用戶建立的良好信譽。</p><p> 1.3 課題的主要研究工作</p><p> 該系統(tǒng)采用了現在技術界很流行的Java語言來做開發(fā)實現,運用各種性能均良好的數據庫MYSQL,頁面流行語言JSP,主流的三個框架SSH(Struts+Spr
29、ing+Hibernate),熱門的設計模式MVC。將整個系統(tǒng)有機的聯(lián)系起來,使其運行流暢,簡單易懂。Java不僅是一個很好的編程工具還是一個很好的平臺,封裝性非常好,良好的面向對象編程思想,Sqlserver關系型數據庫的優(yōu)勢,加上安全性能好,使系統(tǒng)的可用性大大提高了。</p><p> 1.4 論文結構安排</p><p> 本論文以標準的倉庫管理模式為藍本,根據軟件工程的理論,開
30、發(fā)出基于Java EE的適用于中小單的位倉庫管理系統(tǒng)。</p><p> 論文首先研究了系統(tǒng)開發(fā)的可行性,然后進行了需求分析,并將需求分析以文檔的形式反饋給用戶,并和用戶進行交流進一步確認需求,然后根據需求分析采用了結構化分析方法進行了系統(tǒng)分析設計,并進行了數據庫的建模工作,根據模型構建了數據庫。后臺數據庫采用SqlServer2005完成。基于開放的開發(fā)架構Java EE,實現了系統(tǒng)登錄模塊、主窗口模塊、倉庫
31、人員管理模塊、入庫模塊、出庫模塊等。最后對全文進行了總結,對今后的工作提出了展望</p><p> 本論文共有七章,具體組織如下:</p><p> 第一章:通過分析,提出倉庫管理系統(tǒng)開發(fā)的目的和意義,此次研究的主要任務,以及本次論文的組織。</p><p> 第二章:主要介紹開發(fā)本系統(tǒng)所采用的相關技術。</p><p> 第三章:系
32、統(tǒng)需求分析,在此章節(jié)主要進行用戶需求分析和性能需求分析以及系統(tǒng)開發(fā)環(huán)境的要求。</p><p> 第四章:系統(tǒng)概要設計,在這個階段要得到數據庫的設計以及系統(tǒng)整個流和每個功能模塊的設計。</p><p> 第五章:系統(tǒng)的詳細設計與實現,主要通過界面形式展現出來。</p><p> 第六章:進行系統(tǒng)測試包括測試的任務及目標、測試方案和測試用例。</p>
33、<p> 第七章:對全文以及整個系統(tǒng)的實現過程進行了總結,給出了系統(tǒng)設計的體會與收獲。</p><p> 2 課題涉及的關鍵技術</p><p> 2.1 MVC設計模式簡介</p><p> MVC(Model-View-Controller),即模型、視圖、控制器。它是Java應用中比較熱門的一種編程思想,通過將一個應用的輸入、處理、輸出
34、的應用程序進行分離,使得這樣一個應用被分為三層--模型層、視圖層、控制層,從而使得整個應用清晰化、簡潔化,更易于程序員編碼。該模式的關系狀態(tài)圖如下2.1所示:</p><p> 圖2.1 MVC狀態(tài)關系圖</p><p><b> 該模型的優(yōu)點:</b></p><p> 1)MVC具備多個視圖對應一個模型的能力。在目前用戶需求的快速變化
35、下,</p><p> 可能有多種方式訪問應用的要求。</p><p> 2)模型返回的數據不帶任何顯示格式,因而這些模型也可直接應用于面向</p><p><b> 接口編程。</b></p><p> 3)一個應用被分離為三層,有些情況下只需改變其中一層就能滿足應用的</p><p>
36、 改變??刂茖涌梢园脩粽埱髾嘞薜目刂啤?lt;/p><p> 4)有利于軟件工程化管理。由于不同的層各司其職,每一層不同的應用具</p><p> 有某些相同的特征,有利于通過工具產生并管理程序代碼。</p><p><b> 該模型的缺點:</b></p><p> 它增加了系統(tǒng)結構和實現的復雜性、視圖域控制
37、器間連接往往過于緊密、試圖對模型數據訪問效率降低等。</p><p> 2.2 JSP技術簡介</p><p> JSP(Java Server Page服務器網頁)是從1998年開始出現的新技術。由Sun公</p><p> 司倡導、許多公司參與一起建立的一種動態(tài)網頁技術標準,是基于JavaServlet</p><p> 以及整個
38、Java體系的web開發(fā)技術。在傳統(tǒng)的網頁HTML文件(*.htm,*.html)中加入腳本片段和JSP標記(Tag),構成JSP網頁(*.jsp)。JSP技術為創(chuàng)建顯示動態(tài)生成內容的web頁面提供了簡便的方法。JSP作為Java家族的一員,承襲了Java的特點,即跨平臺的特性,也即一次編譯,到處運行。</p><p> 在國外,己經大量使用JSP作為網絡應用程序的開發(fā)工具,而在國內,盡管JSP還不是主流開發(fā)技
39、術,但是由于JSP的強大優(yōu)勢,許多網站都已經準備轉向JSP,利用JSP來開發(fā)動態(tài)網站。 </p><p> 2.2.1 JSP工作原理</p><p> JSP是面向服務器的,因此支持任何瀏覽器。當Web服務器和JSP引擎遇到訪問JSP網頁的請求時,JSP引擎將請求對象發(fā)送給服務器端的相關組件,比如JavaBean組件、Servlet或EJB等,然后由服務器端組件處理這些請示,可能需要
40、從數據庫或數據存儲中檢索信息,然后服務器端組件再將響應對象返回JSP引擎。JSP引擎將響應對象傳遞給JSP頁面,根據JSP頁面的HTML格式完成數據編排,最后Web服務器和JSP引擎將格式化后的JSP頁面以HTML格式返回客戶瀏覽器。這就是當前網站構建中廣泛采用的瀏覽器——Web服務器——后臺數據庫的三層架構模式。因為JSP所有程序操作都在服務器端執(zhí)行,網絡上傳送給客戶端的僅是得到的結果。</p><p> 2
41、.2.2 JSP體系結構</p><p> JSP網站開發(fā)標準給出了兩種使用JSP的技術,可以歸納為模式一、模式二。</p><p> 模式一:JSP+JavaBeans技術在這種模式中,JSP頁面獨自響應請求并將處理結果返回給客戶。Bean處理所有數據訪問,JSP實現頁面的表現,以實現內容生成與顯示相分離。當處理復雜的大型應用時,頁面被嵌入大量的腳本或Java代碼段,當需要處理的商業(yè)
42、邏輯復雜時,這種情況會變得非常糟糕,大量的內嵌代碼使得頁面程序變得復雜,對于前端界面設計人員,這是不可思議的事情。所以模式一可用于小型應用,不能夠滿足大型應用的需要。</p><p> 模式二:JSP+Servlet+JavaBeans技術Servlet技術是一種采用Java技術來實現CGI功能的一種技術,Servlet技術非常適于服務器端的處理和編程,并且Servlet會長期駐留在內存。</p>
43、<p> 從開發(fā)的觀點看,模式二具有更清晰的頁面表現,清楚的開發(fā)者角色劃分,在大規(guī)模項目開發(fā)中,模式二更被采用,模式二也更符合當前流行的MVC結構(Model/view/controller),其中Servlet對應controller,處于控制者的位置,處理HTTP請求,負責生成JSP中使用的Beans組件或對象,并判斷應將請求傳遞給哪個JSP等,JSP對應view,負責生成最終的動態(tài)網頁并返回給瀏覽器。而JavaBea
44、ns對應的是Model,實現各個具體的應用邏輯與功能。</p><p> 2.2.3 JSP的特點</p><p><b> 簡化的頁面生成技術</b></p><p> JSP頁面用標準的HTML或XML命令來處理頁面的格式化和布局設計,而用類似HTML、XML的標記和Java語言編寫的腳本程序生成頁面內容。這使得頁面形式與頁面內容互相
45、獨立,非常有利于大型項目的分工合作。</p><p> 與Java平臺有機集成</p><p> JSP技術是Java 2平臺的重要組成部分,JSP使用Java語言作為它的腳本語言。在JSP頁面中可以使用幾乎所有的Java組件和Java API,這就能充分發(fā)揮出Java語言的強大功能。使用JSP技術可以創(chuàng)建具有高度可伸縮性和可靠性的Web應用程序。</p><p&g
46、t; 硬件平臺和服務器無關性</p><p> JSP作為Java家族的一員,秉承了Java技術的“一次編寫,隨處可用(Write Once,Rum Anywhere)”的特性,可以運行于大多數流行的操作系統(tǒng)平臺及Web服務器,這種與服務器硬件和操作系統(tǒng)平臺的無關性是JSP相對于其它動態(tài)網頁技術最大的一個優(yōu)點。</p><p><b> 功能可擴展性</b>&l
47、t;/p><p> 如同Microsoft的JSP技術可以通過ActiveX/COM組件來擴展功能一樣,JSP可以通過JavaBean和EJB(Enterprise JavaBean)以及自定義的標記來擴展功能。</p><p> JSP可以通過JDBC,與諸如Oracle、SQL Server這樣的大型關系數據庫進行連接。</p><p> JSP提供了一些隱含
48、對象。這些隱含對象在JSP頁面中可以直接引用,而不必首先聲明。利用JSP提供的這些隱含對象,可以使腳本功能更加強大,并且編程更加容易、方便。例如,利用request對象,可以很容易地接收用戶在HTML表單中提交的信息。</p><p> 2.3 SSH框架簡介</p><p><b> 2.3.1 定義</b></p><p> 集成SS
49、H框架的系統(tǒng)從職責上分為四層:表示層、業(yè)務邏輯層、數據持久層和域模塊層,以幫助開發(fā)人員在短期內搭建結構清晰、可復用性好、維護方便的Web應用程序。其中使用Struts作為系統(tǒng)的整體基礎架構,負責MVC的分離,在Struts框架的模型部分,控制業(yè)務跳轉,利用Hibernate框架對持久層提供支持,Spring做管理,管理Struts和Hibernate。具體做法是:用面向對象的分析方法根據需求提出一些模型,將這些模型實現為基本的Java對
50、象,然后編寫基本的DAO(Data Access Objects)接口,并給出Hibernate的DAO實現,采用Hibernate架構實現的DAO類來實現Java類與數據庫之間的轉換和訪問,最后由Spring做管理,管理Struts和Hibernate。</p><p> 系統(tǒng)的基本業(yè)務流程是:在表示層中,首先通過JSP頁面實現交互界面,負責接收請求(Request)和傳送響應(Response),然后Str
51、uts根據配置文件(struts-config.xml)將ActionServlet接收到的Request委派給相應的Action處理。在業(yè)務層中,管理服務組件的Spring IoC容器負責向Action提供業(yè)務模型(Model)組件和該組件的協(xié)作對象數據處理(DAO)組件完成業(yè)務邏輯,并提供事務處理、緩沖池等容器組件以提升系統(tǒng)性能和保證數據的完整性。而在持久層中,則依賴于Hibernate的對象化映射和數據庫交互,處理DAO組件請求的
52、數據,并返回處理結果。</p><p> 采用上述開發(fā)模型,不僅實現了視圖、控制器與模型的徹底分離,而且還實現了業(yè)務邏輯層與持久層的分離。這樣無論前端如何變化,模型層只需很少的改動,并且數據庫的變化也不會對前端有所影響,大大提高了系統(tǒng)的可復用性。而且由于不同層之間耦合度小,有利于團隊成員并行工作,大大提高了開發(fā)效率。</p><p> 2.3.2 Struts2</p>
53、<p> Struts對Model,View和Controller都提供了對應的組件。</p><p> ActionServlet,這個類是Struts的核心控制器,負責攔截來自用戶的請求。</p><p> Action,這個類通常由用戶提供,該控制器負責接收來自ActionServlet的請求,并根據該請求調用模型的業(yè)務邏輯方法處理請求,并將處理結果返回給JSP頁面顯
54、示。</p><p><b> Model部分:</b></p><p> 由ActionForm和JavaBean組成,其中ActionForm用于將用戶的請求參數封裝成ActionForm對象,該對象被ActionServlet轉發(fā)給Action,Action根據ActionForm里面的請求參數處理用戶的請求。</p><p> J
55、avaBean則封裝了底層的業(yè)務邏輯,包括數據庫訪問等。</p><p><b> View部分:</b></p><p> 該部分采用JSP(或HTML、PHP……)實現。</p><p> Struts提供了豐富的標簽庫,通過標簽庫可以減少腳本的使用,自定義的標簽庫可以實現與Model的有效交互,并增加了現實功能。對應上圖的JSP部分
56、。</p><p> Controller組件:</p><p> Controller組件有兩個部分組成——系統(tǒng)核心控制器,業(yè)務邏輯控制器。</p><p> 系統(tǒng)核心控制器,對應上圖的ActionServlet。該控制器繼承了HttpServlet類,因此可以配置成標注的Servlet。該控制器負責攔截所有的HTTP請求,然后根據用戶請求決定是否要轉給業(yè)務
57、邏輯控制器。</p><p> 業(yè)務邏輯控制器,負責處理用戶請求,本身不具備處理能力,而是調用Model來完成處理。對應Action部分。</p><p> 2.3.3 Spring</p><p> Spring是一個開源框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應用開發(fā)的復雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由E
58、JB完成的事情。然而,Spring的用途不僅限于服務器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益。</p><p> 目的:解決企業(yè)應用開發(fā)的復雜性。</p><p> 功能:使用基本的JavaBean代替EJB,并提供了更多的企業(yè)應用功能。</p><p> 范圍:任何Java應用。</p>&l
59、t;p> 簡單來說,Spring是一個輕量級的控制反轉(IoC)和面向切面(AOP)的容器框架。</p><p> 輕量——從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應用中的對象不依賴于Spring的特定類。</p>&l
60、t;p> 控制反轉——Spring通過一種稱作控制反轉(IoC)的技術促進了松耦合。當應用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進來,而不是這個對象自己創(chuàng)建或者查找依賴對象。你可以認為IoC與JNDI相反——不是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。</p><p> 面向切面——Spring提供了面向切面編程的豐富支持,允許通過分離應用的業(yè)務邏輯與
61、系統(tǒng)級服務(例如審計(auditing)和事務(transaction)管理)進行內聚性的開發(fā)。應用對象只實現它們應該做的——完成業(yè)務邏輯——僅此而已。它們并不負責(甚至是意識)其它的系統(tǒng)級關注點,例如日志或事務支持。</p><p> 容器——Spring包含并管理應用對象的配置和生命周期,在這個意義上它是一種容器,你可以配置你的每個bean如何被創(chuàng)建——基于一個可配置原型(prototype),你的bean
62、可以創(chuàng)建一個單獨的實例或者每次需要時都生成一個新的實例——以及它們是如何相互關聯(lián)的。然而,Spring不應該被混同于傳統(tǒng)的重量級的EJB容器,它們經常是龐大與笨重的,難以使用。</p><p> 框架——Spring可以將簡單的組件配置、組合成為復雜的應用。在Spring中,應用對象被聲明式地組合,典型地是在一個XML文件里。Spring也提供了很多基礎功能(事務管理、持久化框架集成等等),將應用邏輯的開發(fā)留給
63、了你。</p><p> 所有Spring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測試的代碼。它們也為Spring中的各種模塊提供了基礎支持。</p><p> 2.3.4 Hibernate</p><p> Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思
64、維來操縱數據庫。Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任。</p><p> Hibernate的核心接口一共有5個,分別為:Session、SessionFactory、Transaction、Query和Confi
65、guration。這5個核心接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進行存取,還能夠進行事務控制。下面對這五個核心接口分別加以介紹。</p><p> Session接口:Session接口負責執(zhí)行被持久化對象的CRUD操作(CRUD的任務是完成與數據庫的交流,包含了很多常見的SQL語句。)。但需要注意的是Session對象是非線程安全的。同時,Hibernate的session不同于JSP
66、應用中的HttpSession。這里當使用session這個術語時,其實指的是Hibernate中的session,而以后會將HttpSession對象稱為用戶session。</p><p> SessionFactory接口:SessionFactory接口負責初始化Hibernate。它充當數據存儲源的代理,并負責創(chuàng)建Session對象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕
67、量級的,因為一般情況下,一個項目通常只需要一個SessionFactory就夠,當需要操作多個數據庫時,可以為每個數據庫指定一個SessionFactory。</p><p> Configuration接口:Configuration接口負責配置并啟動Hibernate,創(chuàng)建SessionFactory對象。在Hibernate的啟動的過程中,Configuration類的實例首先定位映射文檔位置、讀取配置,
68、然后創(chuàng)建SessionFactory對象。</p><p> Transaction接口:Transaction接口負責事務相關的操作。它是可選的,開發(fā)人員也可以設計編寫自己的底層事務處理代碼。</p><p> Query和Criteria接口:Query和Criteria接口負責執(zhí)行各種數據庫查詢。它可以使用HQL語言或SQL語句兩種表達方式。</p><p&g
69、t; 2.4 Sql Server數據庫簡介</p><p> 2.4.1 SQL Server2005簡介</p><p> SQL SERVER 是Microsoft在關系數據庫管系統(tǒng)(RDBMS)方面的開發(fā)成果。其主要目的是盡可能快地存儲、管理和檢索大量數據。我們將使用SQL SERVER存儲與知識系統(tǒng)網站相關的所有信息,這些信息會由應用程序邏輯動態(tài)放置在網頁中。</p&
70、gt;<p> SQL Server是Microsoft 公司推出的SQL Server 數據庫管理系統(tǒng)的最新版本該版本繼承了SQL Server 7.0 版本的優(yōu)點同時又比它增加了許多更先進的功能具有使用方便可伸縮性好與相關軟件集成程度高等優(yōu)點可跨越從運行Microsoft Windows 2000 的膝上型電腦到運行Microsoft Windows XP的大型多處理器的服務器等多種平臺使用。</p>
71、<p> 2.4.2 “結構化查詢語言”(SQL)簡介</p><p> SQL全稱是“結構化查詢語言(Structured Query Language)”,最早是IBM的圣約瑟研究實驗室為其關系數據庫管理系統(tǒng)SYSTEM R開發(fā)的一種查詢語言,它的前身是SQUARE語言。SQL語言結構簡潔,功能強大,簡單易學,所以自從IBM公司1981年推出以來,SQL語言得到了廣泛的應用。目前,SQL語言已被
72、確定為關系數據庫系統(tǒng)的國際標準,被絕大多數商品化關系數據庫系統(tǒng)采用,如Oracle、Sybase、DB2、Informix、SQL Server這些數據庫管理系統(tǒng)都支持SQL語言作為查詢語言。</p><p> 結構化查詢語言SQL是一種介于關系代數與關系演算之間的語言,其功能包括查詢、操縱、定義和控制四個方面,是一個通用的功能極強的關系數據庫標準語言。在SQL語言中不需要告訴SQL如何訪問數據庫,只要告訴SQ
73、L需要數據庫做什么。</p><p> SQL廣泛地被采用正說明了它的優(yōu)點,使全部用戶,包括應用程序員、DBA管理員和終端用戶受益非淺。</p><p><b> 3 系統(tǒng)需求分析</b></p><p><b> 3.1 可行性分析</b></p><p> 所謂開發(fā)的可行性,就是指在整
74、個系統(tǒng)開發(fā)工程中,解決“做什么”的問題,把要解決哪些問題,滿足用戶哪些具體的信息需求調查分析清楚,從邏輯上或說從信息處理的功能需求上提出系統(tǒng)的方案,即邏輯模型,為下一階段進行物理方案設計,解決怎么辦提供依據。它是信息開發(fā)系統(tǒng)中的一個重要階段,是建立系統(tǒng)模型的第一步。其核心是目標分析與需求分析,最后提出系統(tǒng)的邏輯方案。</p><p> 3.1.1 技術可行性</p><p> 該系統(tǒng)所
75、需硬件設備,如服務器、PC機、打印機及網絡配件等,這些設備在性能上已經有了很大提高,價格又相對較低,能滿足系統(tǒng)功能需求。軟件上,操作系統(tǒng)采用WINDOWSXP,數據庫管理系統(tǒng)采用SQL SERVER,這些軟件在MIS開發(fā)中已被大量應用,技術上都比較成熟。本系統(tǒng)采用WEB技術來實現,使用JSP可以創(chuàng)建動態(tài)、交互的Web服務器應用程序,JSP頁面可以使用腳本語言(如Vbscript、Javascript等)因此技術上是可行的。</p&
76、gt;<p> 3.1.2 經濟可行性</p><p> 倉庫管理系統(tǒng)屬于一個工具型的系統(tǒng),它可以節(jié)省工作人員大量數據收集、錄入、整理、查詢、修改等手工操作,而且迅速準確,能夠極大地提高工作效率,最大限度的降低用戶和管理員的工作量,使庫存管理盡量簡便,同時促進業(yè)務的規(guī)范化、程序化,及時給各級領導提供必要的信息統(tǒng)計。系統(tǒng)開發(fā)所需的費用是比較低的,由于系統(tǒng)并不復雜,其運行與培訓費用也不會占用很多資金
77、,可以預見系統(tǒng)完成后可以帶來較大的經濟效益。</p><p> 綜上所述,實施MIS在技術上、經濟上都是可行的,因此,開發(fā)倉庫管理系統(tǒng)是可行的。</p><p> 3.2 功能需求分析</p><p> 需求分析主要是對收集到的需求進行提煉、分析和仔細審查,以確保所有的風險承擔者都明白其含義并找出其中的錯誤、遺漏和其他不足的地方形成完整的分析模型。</p
78、><p> 長期以來,庫存管理工作中的信息管理是采用人工的方式,要付出大量人力,</p><p> 填寫各種表格、憑證、賬冊、卡片和文件。由于信息是隨著時間不斷變化的,各業(yè)務部門對信息的使用要求也各不相同,所以要按照不同的分類經常不斷地匯</p><p> 總、統(tǒng)計,往往要做許多重復登記和轉抄。這種手工操作的管理方式,不僅浪費人力,而且存在許多缺點:</p&
79、gt;<p> 1)處理速度慢,影響信息及時性。</p><p> 2)易出現錯誤,影響信息精確性。</p><p><b> 3)不便于查詢。</b></p><p> 4)缺乏綜合性,不能起控制作用。</p><p> 由于這些缺點,大大降低了信息的利用價值,顯然越來越不適應現代庫存管理工作的
80、需要。因此,發(fā)展以電子計算機為基礎的倉庫管理系統(tǒng)已是十分迫切和必要。</p><p> 為了將庫存管理納入規(guī)范化、現代化管理的軌道,針對現有庫存管理中存在的問題和管理的實際需要,我們將理順管理體制、建立各種管理規(guī)范與開發(fā)信息系統(tǒng)有機地結合起來。通過建立專門的倉庫管理系統(tǒng)來實施對物資進行統(tǒng)一管理。所以,為了順應用戶需求,特推出了基于WEB的倉庫管理系統(tǒng)。</p><p> 倉庫管理系統(tǒng)需
81、要實現系統(tǒng)用戶管理,基礎數據管理,物資出庫(入庫)等幾個部分功能,下面分別闡述這幾個部分的功能需求。</p><p> 1)系統(tǒng)用戶管理模塊</p><p> 用戶的添加:可以對用戶添加,從而實現其它用戶來訪問系統(tǒng)的權限。</p><p> 用戶的刪除:進行的用戶過期用戶的刪除,從而節(jié)省存儲空間。</p><p> 2)基礎數據管理模
82、塊</p><p> 物資信息的管理:進行物資添加、修改、刪除、查找操作。</p><p> 供應商信息的管理:進行供應商的添加、修改、刪除、查找操作。</p><p> 3)物資出庫(入庫)管理模塊</p><p> 物資入庫:進行基本的物資入庫操作。</p><p> 物資出庫:進行基本的物資出庫操作。&
83、lt;/p><p> 物資查看:可以查看倉庫里面的物資信息。</p><p> 庫存報警:當存儲達到一定數量時提醒用戶,用戶可以進行相關的操作。</p><p> 3.3 數據需求分析</p><p> 通過前面對系統(tǒng)功能需求的分析,可以了解到倉庫管理系統(tǒng)主要實現的功能,包括基本信息維護、入庫信息記錄、出庫信息記錄、物資信息查詢和系統(tǒng)用戶
84、管理。</p><p> 倉庫管理系統(tǒng)所涉及的主要數據包括庫存記錄、入庫記錄、出庫記錄、庫存物資和用戶記錄,下面分別分析這些數據需求。</p><p><b> 1)庫存記錄</b></p><p> 庫存記錄是物資管理中建立的庫存基本信息。</p><p> 庫存基本信息供庫存入庫、庫存出庫和庫存管理使用,即整
85、個庫存管理信息系統(tǒng)的數據是以庫存記錄為基礎的。</p><p><b> 2)入庫記錄</b></p><p> 入庫記錄是物資入庫的信息,在進行物資入庫登記時,需要記錄是物資信息,負責人,入庫時間。</p><p> 入庫記錄由庫存產生,需要用到庫存基本信息,形成的入庫信息可以在庫存管理中使用。</p><p>
86、<b> 3)出庫記錄</b></p><p> 出庫記錄是庫存出庫的信息,與入庫類似,在進行物資出庫記錄時,也要記錄庫存信息,負責人,出庫時間以。</p><p><b> 4)庫存物資</b></p><p> 庫存物資是動態(tài)的出倉庫物資信息,它可以通過入庫記錄和出庫記錄的總匯數據得到。當需要查看庫存時,只要按
87、照各種庫存統(tǒng)計其累計入庫和累計出庫,累計出庫和累計入庫的差就是庫存數量。</p><p> 物資管理中只要使用物資基本信息,物資入庫信息和物資出庫信息,然后通過簡單地加工處理,就可以形成庫存物資數據。</p><p><b> 5)用戶記錄</b></p><p> 用戶記錄是用戶管理中建立的用戶基本信息??梢圆榭吹降卿涍^的用戶的登錄日子
88、。</p><p><b> 6)庫存報警</b></p><p> 當庫存到了一定的程度就無法再繼續(xù)進行物資入庫了,系統(tǒng)將會自動進行庫存報警功能。</p><p> 通過對系統(tǒng)數據需求的分析,可以得到如下圖3.1所示的系統(tǒng)數據流圖。該圖簡明地表示了倉庫管理系統(tǒng)的主要數據流向。</p><p> 圖3.1系統(tǒng)數據
89、流圖</p><p> 3.5 性能需求分析</p><p> 根據畢業(yè)設計倉庫管理系統(tǒng)的需求進行開發(fā)設計,主要實現如下目標:界面設計友好、美觀、大方、數據要準確、安全、可靠。強大查詢功能,方便用戶瀏覽自己課程的相關信息。設計用戶登陸功能,保證用戶個人信息的安全性。實現對物資等信息的添加、修改,便于更改。系統(tǒng)最大限度地實現易維護性和易操作性。操作簡易,實用性強。因此操作的簡易實用性就體
90、現的尤其重要,在此系統(tǒng)的開發(fā)中就很好的體現了這一點。本系統(tǒng)的界面美觀、典雅、充滿了人性化,用戶操作起來也容易上手。對于一個倉庫管理系統(tǒng)系統(tǒng)而言測評信息是很多的,而且存儲量大,所以對系統(tǒng)的安全性有比較高的要求;對于數據庫,要設置不同用戶的權限,數據的修改必須由合法用戶操作;數據的添加、修改必須是合法的有效的。</p><p> 下面對系統(tǒng)的性能方面做了一些規(guī)定如下:</p><p> 數
91、據精確度:輸出結果為雙精度。</p><p><b> 時間特性:</b></p><p> 1)連接服務器時間 3毫秒;</p><p> 2)更新處理時間為24小時;</p><p> 3)服務器連接速度20488 Kbps ;</p><p> 4)運行時間30秒;</p&g
92、t;<p><b> 4 系統(tǒng)概要設計</b></p><p> 4.1 系統(tǒng)功能模塊設計</p><p> 系統(tǒng)后臺主要是,普通用戶在系統(tǒng)后臺可以看到自己的基本信息,維護自己的信息,可看到倉庫信息,物資信息,系統(tǒng)超級管理員可以對系統(tǒng)中用戶的角色,權限和用戶進行增刪改的操作,系統(tǒng)管理員是對物資的添加、修改、供應商管理以及登陸信息,主要功能。<
93、;/p><p> 在對本系統(tǒng)進行了需求分析,如下是各個系統(tǒng)的功能設計。</p><p> 表4.1 系統(tǒng)功能模塊設計</p><p> 由上述系統(tǒng)的功能模塊設計可以得到如圖4.1所示的系統(tǒng)功能模塊圖。</p><p> 圖4.1 系統(tǒng)功能模塊圖</p><p> 在得到系統(tǒng)功能模塊圖之后分析得到,用戶還需要權限管
94、理,如圖4.2是權限管理功能模塊圖。</p><p> 圖4.2權限管理功能模塊圖</p><p> 4.2 數據庫的設計</p><p> 4.2.1 E-R圖的設計</p><p> 根據需求分析,系統(tǒng)中涉及到的實體主要有:用戶,供應商,物資。</p><p> 用戶實體有用戶名、密碼、地址、年齡、級別、
95、電話屬性,從而得到如下的用戶實體屬性圖,如圖4.3所示。</p><p> 圖4.3 用戶實體屬性圖</p><p> 供應商實體有供應商名稱、地址、供應商編碼、聯(lián)系電話、Email屬性,如下是供應商實體的屬性圖,如圖4.4所示。</p><p> 圖4.4 供應商實體屬性圖</p><p> 物資實體有物資編號、物資單價、物資名稱和
96、數量屬性,如下是物資實體屬性圖,如圖4.5所示。</p><p> 圖4.5 物資實體屬性圖</p><p> 用戶、物資和供應商三個之間也存在著相關聯(lián)系,物資和用戶對應關系為n對n的關系,物資和供應商對應關系為1對n的關系。這樣一來就得到了用戶、物資和供應商三個實體之間的E-R圖,如圖4.6所示。</p><p> 圖4.6 總體E-R圖</p>
97、<p> 4.2.2 數據庫表的設計</p><p> 1)用戶表 表名:t_user,結構如下表4.2所示。</p><p><b> 表4.2 用戶表</b></p><p> 2)物資表 表名:t_wuzi,結構如下表4.3所示。</p><p><b> 表4.3 物資表<
98、/b></p><p> 3)供應商表 表名:t_server,結構如下4.4所示。</p><p><b> 表4.4 供應商表</b></p><p> 4)物資入庫表 表名:t-inku,結構如下4.4所示。</p><p> 表4.4 物資入庫表</p><p> 5)物資
99、出庫表 表名:t-outku,結構如下4.5所示。s</p><p> 表4.5 物資出庫表</p><p> 6)用戶日志表 表名:t_log,結構如下4.6所示。</p><p> 表4.6 物資出庫表</p><p> 5 系統(tǒng)的詳細設計與實現</p><p> 5.1 登陸頁面的設計與實現</
100、p><p> 此界面是本系統(tǒng)的主界面用戶進入后臺管理的唯一通道,輸入正確的用戶名、密碼確認無誤后點擊登入按鈕,即可跳轉到相應的界面。如果用戶信息輸入錯誤,則給出提示,重新輸入正確信息登陸系統(tǒng)。實現過程如圖5.1所示。</p><p> 圖5.1 登陸模塊流程圖</p><p> 1)該部分實現的核心代碼:</p><p> <scr
101、ipt language="javascript"></p><p> function check()</p><p> { </p><p> if(doc
102、ument.ThisForm.username.value=="")</p><p><b> {</b></p><p> alert("請輸入用戶名");</p><p> document.ThisForm.username.focus();</p><p> ret
103、urn false;</p><p><b> }</b></p><p> if(document.ThisForm.password.value=="")</p><p><b> {</b></p><p> alert("請輸入密碼");<
104、;/p><p> document.ThisForm.password.focus();</p><p> return false; }}function aa()</p><p> { </p><p><b> }</b></p><p><b> aa
105、();</b></p><p><b> </script></b></p><p> 2)登錄過濾器filter</p><p> public class safeFileter implements Filter {</p><p> public void destroy()<
106、;/p><p><b> {</b></p><p><b> }</b></p><p> public void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2) throws IOException, ServletExcep
107、tion </p><p><b> {</b></p><p> HttpServletRequest request=(HttpServletRequest)arg0;</p><p> HttpServletResponse response=(HttpServletResponse)arg1;</p><p&g
108、t; if(request.getSession().getAttribute("admin")==null)</p><p><b> {</b></p><p> String path=request.getContentType();</p><p> response.sendRedirect(path+&
109、quot;/error1.html");</p><p><b> }</b></p><p><b> else</b></p><p> {arg2.doFilter(request,response);</p><p><b> }</b></p&
110、gt;<p><b> }</b></p><p> /*web.xml的配置</p><p><b> <filter></b></p><p> <filter-name>safeFileter</filter-name></p><p&g
111、t; <filter-class>com.bookstore.util.safeFilter</filter-class></p><p><b> </filter></b></p><p> <filter-mapping></p><p> <filter-name>sa
112、feFileter</filter-name></p><p> <url-pattern>/jsp</url-pattern></p><p> </filter-mapping>*/</p><p> public void init(FilterConfig arg0) throws ServletExc
113、eption </p><p><b> {</b></p><p><b> }}</b></p><p> 3)陸界面運行時的效果實現</p><p><b> 圖5.2 登陸界面</b></p><p> 用戶進入登陸界面后,會清楚地看到
114、后臺管理給出的各個功能模塊。該用戶登陸后的界面及其功能實現如圖5.3所示。</p><p> 圖5.3 登陸后的主界面</p><p> 5.2 系統(tǒng)安全管理的實現</p><p> 系統(tǒng)登陸成功后進入系統(tǒng)管理界面,在此可以進行用戶安全的管理,通過密碼的修改來實現。</p><p> 圖5.4 系統(tǒng)安全管理模塊流程圖</p>
115、;<p> 圖5.5 系統(tǒng)安全管理運行界面</p><p><b> 安全管理核心代碼:</b></p><p> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"></p><p><b> <ht
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 倉庫管理系統(tǒng)的設計與實現畢業(yè)設計
- 畢業(yè)設計---倉庫貨物管理系統(tǒng)的設計與實現
- 畢業(yè)設計(論文)倉庫貨物管理系統(tǒng)設計與實現
- 倉庫管理系統(tǒng)畢業(yè)設計
- 畢業(yè)設計---倉庫管理系統(tǒng)
- 畢業(yè)設計--倉庫管理系統(tǒng)的信息采集接口設計和實現
- 物流倉庫管理系統(tǒng)畢業(yè)設計
- 倉庫管理系統(tǒng)畢業(yè)設計(全面)
- 倉庫管理系統(tǒng)畢業(yè)設計論文
- 倉庫管理系統(tǒng)畢業(yè)設計論文
- 倉庫管理系統(tǒng)畢業(yè)設計論文
- 倉庫管理系統(tǒng)課題畢業(yè)設計
- 倉庫管理系統(tǒng)畢業(yè)設計(論文)
- 倉庫管理系統(tǒng)文檔畢業(yè)設計
- 倉庫管理系統(tǒng)畢業(yè)設計8
- 畢業(yè)論文---倉庫管理系統(tǒng)的設計與實現
- 畢業(yè)設計管理系統(tǒng)的設計與實現
- 畢業(yè)設計管理系統(tǒng)的設計與實現
- 畢業(yè)設計-----管理系統(tǒng)的設計與實現
- 畢業(yè)設計管理系統(tǒng)的設計與實現
評論
0/150
提交評論