基于JavaEE的倉庫管理系統(tǒng)設(shè)計論文_第1頁
基于JavaEE的倉庫管理系統(tǒng)設(shè)計論文_第2頁
基于JavaEE的倉庫管理系統(tǒng)設(shè)計論文_第3頁
基于JavaEE的倉庫管理系統(tǒng)設(shè)計論文_第4頁
基于JavaEE的倉庫管理系統(tǒng)設(shè)計論文_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、畢業(yè)設(shè)計(論文)題 目: 基于Java EE的倉庫管理系統(tǒng) 論 文 摘 要2隨著經(jīng)濟的不斷繁榮以及加入WTO后市場環(huán)境的變化,對企業(yè)的生產(chǎn)經(jīng)營提出了更高的要求,企業(yè)必須綜合利用各種先進制造技術(shù),在網(wǎng)絡(luò)與信息技術(shù)的支持下,改進現(xiàn)在的生產(chǎn)經(jīng)營模式和組織結(jié)構(gòu),才能在市場競爭中贏得更多的份額。隨著企業(yè)規(guī)模的擴大,倉庫管理系統(tǒng)將發(fā)揮越來越重要的作用。高效方便的倉庫管理系統(tǒng),可以為生產(chǎn)經(jīng)營提供堅強的后盾和有力的支持。倉庫管理系統(tǒng)主要提供一個倉庫業(yè)務(wù)及其作業(yè)管理的信息存儲和檢索系統(tǒng)。通過入庫管理、出庫管理、報表生成管理、倉庫人員管理、倉庫位置信息管理等功能模塊來實現(xiàn)倉庫的綜合管理。本論文以標(biāo)準(zhǔn)的倉庫管理模式

2、為藍本,基于Java EE開發(fā)出一個可以用于一般單位的倉庫管理系統(tǒng),實現(xiàn)了倉庫管理的高效性與安全性。本系統(tǒng)可以方便快捷地實現(xiàn)庫管理中的貨物登記、出庫入庫、庫房管理等操作,使企業(yè)的倉庫管理井井有條,為企業(yè)的健康發(fā)展創(chuàng)造良好的條件。關(guān)鍵詞:倉庫管理系統(tǒng),Java EE,模塊化設(shè)計,軟件工程AbstractWith the continuous economic prosperity and accession to the WTO after the market environment changes, the production and operation of enterprises ha

3、ve set higher requirements, enterprises must comprehensive utilization of advanced manufacturing technology, the Internet and information technology, improving the existing production Business model and organizational structure, in order to win more market competition in the share. With the expansio

4、n of business scale, warehouse management system will play an increasingly important role. Facilitate the efficient warehouse management system, can provide a strong production and management backing and strong support. Warehouse management system to provide a major warehouse operations and its oper

5、ations management information storage and retrieval system. Through storage management, to the management, report generation management, storage management, storage location information management module to achieve integrated management of the warehouse. This paper to the warehouse management standa

6、rds based on the model, based on the Java EE can be used to develop a unit of General warehouse management system, warehouse management to achieve the efficiency and security. This system can quickly and easily achieve the management of goods registered to the stock and the treasury management opera

7、tion, the enterprise storage management orderly, for the healthy development of enterprises to create good conditions.Key Words:Warehouse management system, Java EE, modular design, software engineering目 錄論文摘要目錄一、引言 1.1 倉庫管理系統(tǒng)的背景與意義 1.2 Java EE簡介 1.3 本文的主要工作 二、相關(guān)技術(shù)介紹 2.1 Java EE相頭原理及技術(shù)簡介 2.1.1 Servl

8、et 2.1.2 JSP簡介 2.1.3 EJB 2.2 Struts 2.2.1 STRUTS 的由來和發(fā)展 2.2.2 MVC簡介 2.2.3 Struts 優(yōu)缺點 2.2.4 Struts 的工程流程 2.3 Hibernate 三、系統(tǒng)分析與設(shè)計 3.1 引言 3.2 系統(tǒng)分析 3.2.1 系統(tǒng)可行性研究 3.2.2 系統(tǒng)使用環(huán)境 3.2.3 系統(tǒng)需求分析 1.系統(tǒng)功能概述 2.貨物入庫和出庫的管理 3.出庫入庫記錄的查詢及報表 4.貨物信息的管理 5.其它信息的管理 3.3 系統(tǒng)功能設(shè)計 四、數(shù)據(jù)庫設(shè)計 4.1 引言 4.2 E-R圖 4.3 數(shù)據(jù)表 五、系統(tǒng)界面與功能實現(xiàn) 5.1

9、頁面流程圖 5.2 創(chuàng)建系統(tǒng)登陸模塊 5.2.1 系統(tǒng)登陸模塊的功能 5.2.2 設(shè)計登陸窗口 5.3 創(chuàng)建主窗口模塊 5.3.1 主窗口模塊的功能 5.3.2 主窗口的設(shè)計5.4 倉庫人員管理模塊 5.4.1 倉庫人員管理模塊的功能 5.5 入庫模塊的實現(xiàn) 5.5.1 入庫模塊的功能 5.6 出庫模塊的實現(xiàn) 5.6.1 出庫模塊的功能 5.7 移庫模塊的實現(xiàn) 5.7.1 移庫模塊的功能 5.8 盤點模塊的實現(xiàn) 5.8.1 盤點模塊的功能 5.9 倉庫設(shè)置模塊的實現(xiàn) 5.9.1 倉庫設(shè)置模塊的功能 5.10 計量單位設(shè)置模塊的實現(xiàn) 5.10.1 計量單位設(shè)置模塊的功能 5.11 部門信息設(shè)置模

10、塊的實現(xiàn) 5.11.1 部門信息設(shè)置模塊的功能 5.12 操作類型設(shè)置模塊的實現(xiàn) 5.12.1 操作類型設(shè)置模塊的功能 5.13 期初設(shè)置模塊的實現(xiàn) 5.13.1 期初設(shè)置模塊的功能 5.14 貨物存儲信息查詢模塊的實現(xiàn) 5.14.1 貨物存儲信息查詢模塊的功能與布局 5.15 幫助模塊的實現(xiàn) 5.15.1 幫助模塊的功能與布局 六、Hibernate設(shè)計61Hibernate 簡介62 Hibernate 生成 6.2.1連接數(shù)據(jù)庫63 Hibernate的映射文件和類的生成 6.3.1生成對應(yīng)的映射文件 6.3.2類及方法的生成七、總結(jié)參考文獻一、引言1.1 倉庫管理系統(tǒng)的背景與意義隨著企

11、業(yè)規(guī)模的擴大,管理信息系統(tǒng)也發(fā)揮越來越重要的作用。作為企業(yè)管理信息系統(tǒng)關(guān)鍵組成部分的倉庫管理系統(tǒng)的應(yīng)用給企業(yè)帶來巨大的效益。采用倉庫管理系統(tǒng)將使企業(yè)改變其傳統(tǒng)的手工記錄模式,應(yīng)用數(shù)據(jù)庫技術(shù)使海量數(shù)據(jù)的存儲與處理成為很方便的事情,這樣可大幅縮短主要業(yè)務(wù)流程的處理時間,提高對市場的響應(yīng)能力。 “物流服務(wù)最初起源于軍事上的運用”, “物流”這一概念起源于二戰(zhàn)期間的美國,英文稱之為Logistics或者Physical Distribution,前者的使用率更高一些。物流一詞最早被描述為泛指軍隊運輸、補給和屯駐,后來被廣泛用來描述商品實體的物理性流通活動,成為流通經(jīng)濟學(xué)中的術(shù)語。 物流(Logisti

12、c)到目前還沒有一個統(tǒng)一的定義,綜合各種物流的定義可以得出,物流是有形物品從出發(fā)點到最終消費點的流動存儲活動,具體包括運輸、保管、包裝、裝卸、搬運、流通加工及信息處理,從職能上可以分為:供應(yīng)物流、生成物流、銷售物流、回收物流和廢棄物流五個職能。從70年代開始,計算機技術(shù)開始應(yīng)用到物流領(lǐng)域。隨著物流市場和物流信息化的發(fā)展,物流軟件市場也應(yīng)運而生并迅速發(fā)展起來,國內(nèi)外出現(xiàn)了一大批物流軟件供應(yīng)商和物流軟件?!拔锪鬈浖鳛楣芾碥浖?,較其它應(yīng)用軟件呈現(xiàn)先進性、高效性、可靠性和安全性等特點;較其它管理軟件,如ERP(Enterprise Resource Planning),具有以下特點:實施風(fēng)險小,實施

13、迅速;效益顯著、見效快。根據(jù)物流軟件結(jié)構(gòu)分類,就目前物流軟件所使用的應(yīng)用范圍來說,物流軟件包括如下幾個子系統(tǒng):WMS(Warehouse Management System,倉庫管理系統(tǒng))、TMS(Transportation Management System,運輸管理系統(tǒng)。OMS(Order Management System,定單管理系統(tǒng))、SMS(Service Management System,服務(wù)管理系統(tǒng))。其中,WMS主要提供了一整套倉庫業(yè)務(wù)以及作業(yè)管理系統(tǒng)。通過倉庫管理系統(tǒng)可以實現(xiàn)庫位分配自動化和智能化;提高倉庫作業(yè)效率和速度,提供準(zhǔn)確的庫存信息,并使之與實際庫存變化同步。根

14、據(jù)中國物流與采購聯(lián)合會統(tǒng)計,2001年,中國與物流相關(guān)的年總支出為19000億元人民幣,物流成本占GDP的比重為20%左右。我國企業(yè)的物流支出成本約占總成本的30%,而國外企業(yè)的物流支出成本僅為7%。物流成本的巨大差距,抵消了我國企業(yè)在原材料和人工上的成本優(yōu)勢,降低了我國企業(yè)的競爭力。國內(nèi)的很多企業(yè),由于信息的記錄、收集、匯總、處理分析還處于比較低的水平,記錄中信息分散、格式隨意、應(yīng)用單一,收集中不及時、不全面、不完善、保留不科學(xué),匯總時口徑不一、主題多元、結(jié)果不一,處理分析方法落后、效率低下、只有短期,難以支持趨勢等。倉庫管理系統(tǒng)是通過入庫業(yè)務(wù)、出庫業(yè)務(wù)、庫存調(diào)撥、庫存調(diào)整,結(jié)合批次管理、物

15、料對應(yīng)、庫存盤點、質(zhì)檢管理、實時庫存管理等功能綜合運用的管理系統(tǒng),對庫存業(yè)務(wù)的物流和成本管理全過程進行有效控制和跟蹤,實現(xiàn)完善的企業(yè)倉庫信息管理。倉庫管理系統(tǒng)的投入,將使倉庫的管理更加正規(guī)化,為產(chǎn)品的出入庫管理部門和銷售部門提供了方便,降低了倉庫的損耗。企業(yè)可以對售出的產(chǎn)品進行跟蹤服務(wù),同時也免去了銷售人員按以往慣例親自前往用戶處去核實貨物情況的麻煩,提高了辦事效率,節(jié)省了費用,而且還避免了不必要的業(yè)務(wù)糾紛,維護了企業(yè)長期與用戶建立的良好信譽。1.2 Java EE簡介企業(yè)級多層應(yīng)用系統(tǒng)的開發(fā)一直面臨著重大挑戰(zhàn)。開發(fā)商和廣大程序員一直在努力推動和殷切期待一個成熟的、標(biāo)準(zhǔn)的企業(yè)級應(yīng)用平臺來簡化和

16、規(guī)范企業(yè)級應(yīng)用系統(tǒng)的開發(fā)和部署。Java技術(shù)的出現(xiàn),尤其是J2EE(Java2 Platform Enterprise Edition)平臺的推出正是這種努力的結(jié)果,也使得企業(yè)級應(yīng)用系統(tǒng)的開發(fā)由此變得更加快速和方便。需要指出的是,J2EE本身是一個標(biāo)準(zhǔn),它為不同廠商創(chuàng)建平臺產(chǎn)品提供了標(biāo)準(zhǔn),使不同J2EE平臺產(chǎn)品之間的交互成為可能。SUN及其合作方將J2EE 1.5改名為Java EE 5,但是其架構(gòu)跟改名前的J2EE沒有區(qū)別。只是通過增強一些技術(shù)使得我們更快、更容易、更簡單地開發(fā)企業(yè)應(yīng)用程序1.3本文的主要工作本論文以標(biāo)準(zhǔn)的倉庫管理模式為藍本,根據(jù)軟件工程的理論,開發(fā)出基于Java EE的適用

17、于中小單的位倉庫管理系統(tǒng)。論文首先研究了系統(tǒng)開發(fā)的可行性,然后進行了需求分析,并將需求分析以文檔的形式反饋給用戶,并和用戶進行交流進一步確認(rèn)需求,然后根據(jù)需求分析采用了結(jié)構(gòu)化分析方法進行了系統(tǒng)分析設(shè)計,并進行了數(shù)據(jù)庫的建模工作,根據(jù)模型構(gòu)建了數(shù)據(jù)庫。后臺數(shù)據(jù)庫采用MYSQL完成?;陂_放的開發(fā)架構(gòu)Java EE,實現(xiàn)了系統(tǒng)登錄模塊、主窗口模塊、倉庫人員管理模塊、入庫模塊、出庫模塊、入庫報表生成模塊、出庫報表生成模塊等。最后對全文進行了總結(jié),對今后的工作提出了展望。二、相關(guān)技術(shù)介紹2.1 Java EE相關(guān)原理及技術(shù)簡介 Java EE規(guī)范定義了一個完善的應(yīng)用組件技術(shù)框架,作為企業(yè)級應(yīng)用系統(tǒng)基本

18、構(gòu)造模塊的組件就是建立在這個框架之上。從簡單的Web應(yīng)用到復(fù)雜的分布式企業(yè)級應(yīng)用,幾乎所有的業(yè)務(wù)應(yīng)用,都可以在此技術(shù)框架基礎(chǔ)上構(gòu)造。本文中使用的組件技術(shù)主要有三種類型:JSP網(wǎng)頁、servlet和Enterprise JavaBean。2.1.1 Servlet Servlet是一些用來擴展Web服務(wù)器功能的Web組件,它基于請求/響應(yīng)機制。Servlet從客戶端(例如Web瀏覽器)獲得請求,然后,將響應(yīng)結(jié)果返回客戶端。Servlet的這種特點使它非常適合于Web應(yīng)用。Servlet和EJB組件的區(qū)別在于EJB組件所提供的服務(wù)器端組件特性并不能全部適用于Servlet,Servlet更適合于處

19、理簡單的請求/響應(yīng)任務(wù),而且它不需要應(yīng)用服務(wù)器所提供的復(fù)雜服務(wù)的支持。2.1.2 JSP簡介JSP(Java Server Pages)是由Sun Microsystems 公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),JSP技術(shù)在Servlet技術(shù)基礎(chǔ)上發(fā)展起來的,它正在飛速發(fā)展中,現(xiàn)已成為Java服務(wù)器編程的重要組成部分。它雖然還未成型,但是它必將和J2EE(Java 2 Enterprise Edition)一起發(fā)展。JSP是結(jié)合markup(HTML和XML)和Java代碼來處理一種動態(tài)頁面。每一頁第一次被調(diào)用時,通過JSP引擎自動被編譯成Servlet,然后被執(zhí)行,以后每次調(diào)

20、用時,執(zhí)行編譯過的Servlet。JSP提供了多種方式訪問Java class、Servlet、Applets和Web Server,因此,Web應(yīng)用的功能可以分成多個明確定義公用接口的組件,通過JSP將它們結(jié)合在一起.2.1.3 EJBEJB(Enterprise JavaBeans)是J2EE平臺的核心,也是J2EE得到業(yè)界廣泛關(guān)注和支持的主要原因。我們知道,J2EE的一個主要目標(biāo)就是簡化企業(yè)級多層應(yīng)用系統(tǒng)的開發(fā),使得程序員將主要精力放在業(yè)務(wù)邏輯的開發(fā)上。EJB正是基于這種思想的服務(wù)器端技術(shù),它本身也是一種規(guī)范,該規(guī)范定義了一個可重用的組件框架來實現(xiàn)分布式的、面向?qū)ο蟮臉I(yè)務(wù)邏輯。EJB的核

21、心思想是將業(yè)務(wù)邏輯與底層的系統(tǒng)邏輯分開,使開發(fā)者只需關(guān)心業(yè)務(wù)邏輯,而由EJB容器實現(xiàn)目錄服務(wù)、事務(wù)處理、持久性、安全性等底層系統(tǒng)邏輯。根據(jù)功能不同,規(guī)范中定義了三種Enterprise JvavaBean:會話Bean(Session Bean)、實體Bean(Entity Bean)和消息驅(qū)動Bean(MessageDriven Bean)。會話Bean分為無狀態(tài)和有狀態(tài)兩種。一般無狀態(tài)的會話Bean模擬商業(yè)邏輯,比如計算價格等。有狀態(tài)的會話Bean通常模擬一個客戶會話,它會臨時保存客戶信息,根據(jù)客戶要求調(diào)用其它Bean來存取數(shù)據(jù)。兩種會話Bean都不保存狀態(tài)信息或者數(shù)據(jù),當(dāng)客戶斷開連接或者

22、服務(wù)器關(guān)閉時,會話Bean也就隨之消失。一個會話Bean的典型例子是網(wǎng)站上的購物車。實體Bean模擬業(yè)務(wù)數(shù)據(jù),它表示一個數(shù)據(jù)存儲,可以是狀態(tài)信息或者數(shù)據(jù)庫中的一條記錄。實體Bean在客戶斷開連接或者服務(wù)器關(guān)閉后,仍有服務(wù)保證其數(shù)據(jù)得以保存。消息驅(qū)動Bean在行為上很象會話Bean。不同的就是僅在需要向這些Bean發(fā)送消息時才調(diào)用消息驅(qū)動Bean,比如在需要的時候發(fā)送用戶確認(rèn)信息等。2.2 Struts2.2.1 STRUTS的由來和發(fā)展Struts 框架工具是 Apache 基金會 Jakarta 項目中推出的一個子項目。 Struts 在英文中是支架、支撐的意思,這也體現(xiàn)出 Struts 在

23、開發(fā) Web 應(yīng)用程序過程所起到的重要作用, Struts 為 Web 應(yīng)用提供了通用的框架,讓開發(fā)人員可以把主要精力集中在如何解決實際業(yè)務(wù)問題上,與此同時 Struts 框架也允許開發(fā)人員根據(jù)實際需要進行擴展和定制,從而可以更好的適應(yīng)用戶的需求。采用 Struts 可以簡化遵循 MVC 設(shè)計模式的 Web 應(yīng)用的開發(fā)工作,很好地實現(xiàn)代碼重用,使開發(fā)人員從一些繁瑣的工作中解脫出來,快速開發(fā)能夠充分發(fā)揮 JSP/Servlet 優(yōu)點、并具有強可擴展性的 Web 應(yīng)用??傊?Struts 的出現(xiàn)使得 Web 應(yīng)用的開發(fā)過程大大簡化,從而能夠縮短開發(fā)周期、提高開發(fā)效率。 Struts 架構(gòu)一經(jīng)推出

24、,即受到 Java 開發(fā)群體的廣泛重視,從 2004 年開始逐漸升溫,并日漸成為 Java 創(chuàng)建 Web 應(yīng)用開發(fā)的最流行的框架工具,在目前 Java Web 程序員的招聘要求中,幾乎都提出了對 Struts 的要求,精通 Struts 架構(gòu)已經(jīng)成為 Java Web 程序員必備的技能。2.2.2 MVC簡介模型-視圖-控制器(MVC)是80年代Smalltalk-80出現(xiàn)的一種軟件設(shè)計模式,現(xiàn)在已經(jīng)被廣泛的使用。 1、模型(Model) 模型是應(yīng)用程序的主體部分。模型表示業(yè)務(wù)數(shù)據(jù),或者業(yè)務(wù)邏輯.2、視圖(View) 視圖是應(yīng)用程序中用戶界面相關(guān)的部分,是用戶看到并與之交互的界面。 3、控制器

25、(controller) 控制器工作就是根據(jù)用戶的輸入,控制用戶界面數(shù)據(jù)顯示和更新model對象狀態(tài)。MVC 式的出現(xiàn)不僅實現(xiàn)了功能模塊和顯示模塊的分離,同時它還提高了應(yīng)用系統(tǒng)的可維護性、可擴展性、可移植性和組件的可復(fù)用性早期的程序中,如果不注意對數(shù)功能和顯示的解耦合,常常會導(dǎo)致程序的復(fù)雜及難以維護。很多VB,Delphi等RAD程序都有這種問題。甚至現(xiàn)在的C#,Java有時候也會出現(xiàn)把業(yè)務(wù)邏輯寫在顯示模塊中的現(xiàn)象管MVC設(shè)計模式很早就提出,但在Web項目的開發(fā)中引入MVC卻是步履維艱。主要原因:一是在早期的Web項目的開發(fā)中,程序語言和HTML的分離一直難以實現(xiàn)。CGI程序以字符串輸出的形式

26、動態(tài)地生成HTML內(nèi)容。后來隨著腳本語言的出現(xiàn),前面的方式又被倒了過來,改成將腳本語言書寫的程序嵌入在HTML內(nèi)容中。這兩種方式有一個相同的不足之處即它們總是無法將程序語言和HTML分離。二是腳本語言的功能相對較弱,缺乏支持MVC設(shè)計模式的一些必要的技術(shù)基礎(chǔ)。直到基于J2EE的JSP Model 2問世時才得以改觀。它用JSP技術(shù)實現(xiàn)視圖的功能,用Servlet技術(shù)實現(xiàn)控制器的功能,用JavaBean技術(shù)實現(xiàn)模型的功能JSP Model 1 與 JSP Model 2圖1-3-1 MVC組件模型的關(guān)系和功能圖圖1-3-2 JSP Model 1圖1-3-3 JSP Model 2 SUN在JS

27、P出現(xiàn)早期制定了兩種規(guī)范,稱為Model1和Model2。雖然Model2在一定程度上實現(xiàn)了MVC,但是它的應(yīng)用用并不盡如人意model2 容易使系統(tǒng)出現(xiàn)多個Controller,并且對頁面導(dǎo)航的處理比較復(fù)雜,有些人覺得model2仍不夠好,于是Craig R. McClanahan 2000年5月 提交了一個WEB framework給Java Community.這就是后來的Struts。2001年7月,Struts1.0,正式發(fā)布。該項目也成為了Apache Jakarta的子項目之一 Struts實質(zhì)上就是在Model2的基礎(chǔ)上實現(xiàn)的一個MVC架構(gòu)。它只有一個中心控制器,他采用XML定

28、制轉(zhuǎn)向的URL。采用Action來處理邏輯2.2.3 Struts 優(yōu)缺點 優(yōu)點:Struts跟Tomcat、Turbine等諸多Apache項目一樣,是開源軟件,這是它的一大優(yōu)點。使開發(fā)者能更深入的了解其內(nèi)部實現(xiàn)機制。 除此之外,Struts的優(yōu)點主要集中體現(xiàn)在兩個方面:Taglib和頁面導(dǎo)航。Taglib是Struts的標(biāo)記庫,靈活動用,能大大提高開發(fā)效率。另外,就目前國內(nèi)的JSP開發(fā)者而言,除了使用JSP自帶的常用標(biāo)記外,很少開發(fā)自己的標(biāo)記,或許Struts是一個很好的起點。關(guān)于頁面導(dǎo)航,我認(rèn)為那將是今后的一個發(fā)展方向,事實上,這樣做,使系統(tǒng)的脈絡(luò)更加清晰。通過一個配置文件,即可把握整個

29、系統(tǒng)各部分之間的聯(lián)系,這對于后期的維護有著莫大的好處。尤其是當(dāng)另一批開發(fā)者接手這個項目時,這種優(yōu)勢體現(xiàn)得更加明顯。 缺點: Taglib是Struts的一大優(yōu)勢,但對于初學(xué)者而言,卻需要一個持續(xù)學(xué)習(xí)的過程,甚至還會打亂你網(wǎng)頁編寫的習(xí)慣,但是,當(dāng)你習(xí)慣了它時,你會覺得它真的很棒。 Struts將MVC的Controller一分為三,在獲得結(jié)構(gòu)更加清晰的同時,也增加了系統(tǒng)的復(fù)雜度。 Struts從產(chǎn)生到現(xiàn)在還不到半年,但已逐步越來越多運用于商業(yè)軟件。雖然它現(xiàn)在還有不少缺點,但它是一種非常優(yōu)秀的J2EE MVC實現(xiàn)方式。2.2.4 Struts的工作流程下圖是Struts的工作流程,所有的請求都提交

30、給ActionServlet來處理。圖1-3-4 Struts 工作流程圖ActionServlet是一個FrontController,它是一個標(biāo)準(zhǔn)的Servlet,它將request轉(zhuǎn)發(fā)給RequestProcessor來處理, ActionMapping是ActionConfig的子類,實質(zhì)上是對struts-config.xml的一個映射,從中可以取得所有的配置信息 RequestProcessor根據(jù)提交過來的url,如*.do,從ActionMapping 中得到相應(yīng)的ActionForn和Action。然后將request的參數(shù)對應(yīng)到ActionForm中,進行form驗證。如果

31、驗證通過則調(diào)用Action的execute()方法來執(zhí)行Action,最終返回ActionFoward。 ActionFoward是對mapping中一個foward的包裝,對應(yīng)于一個url ActionForm使用了ViewHelper模式,是對HTML中form的一個封裝。其中包含有validate方法,用于驗證form數(shù)據(jù)的有效性。ActionForm是一個符合JavaBean規(guī)范的類,所有的屬性都應(yīng)滿足get和set對應(yīng)。對于一些復(fù)雜的系統(tǒng),還可以采用DynaActionForm來構(gòu)造動態(tài)的Form,即通過預(yù)制參數(shù)來生成Form。這樣可以更靈活的擴展程序。 ActionErrors是對

32、錯誤信息的包裝,一旦在執(zhí)行action或者form.validate中出現(xiàn)異常,即可產(chǎn)生一個ActionError并最終加入到ActionErrors。在Form驗證的過程中,如果有Error發(fā)生,則會將頁面重新導(dǎo)向至輸入頁,并提示錯誤。 Action是用于執(zhí)行業(yè)務(wù)邏輯的RequsestHandler。每個Action都只建立一個instance。Action不是線程安全的,所以不應(yīng)該在Action中訪問特定資源。一般來說,應(yīng)改使用 Business Delegate 模式來對Business tier進行訪問以解除耦合。 Struts提供了多種Action供選擇使用。普通的Action只能通

33、過調(diào)用execute執(zhí)行一項任務(wù),而DispatchAction可以根據(jù)配置參數(shù)執(zhí)行,而不是僅進入execute()函數(shù),這樣可以執(zhí)行多種任務(wù)。如insert,update等。LookupDispatchAction可以根據(jù)提交表單按鈕的名稱來執(zhí)行函數(shù)。2.3 Hibernate Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hib

34、ernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。Hibernate的核心接口一共有5個,分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個核心接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進行存取,還能夠進行事務(wù)控制。 三、 系統(tǒng)分析與設(shè)計3.1引言在設(shè)計軟件系統(tǒng)之前,首先必須確定用戶究竟要求軟件系統(tǒng)完成什么任務(wù),所以分析階段的基本任務(wù)是了解用戶的需求,并將用戶的需求用書面形式表達出來。這個階段還不是確定系統(tǒng)怎樣完成它的工作,而僅僅是確定系統(tǒng)必須完成哪些工作,也就是對目標(biāo)系統(tǒng)提

35、出完整、準(zhǔn)確、清晰、具體的要求。系統(tǒng)分析的結(jié)果是系統(tǒng)開發(fā)的基礎(chǔ),關(guān)系到工程的成敗和軟件產(chǎn)品的質(zhì)量。在全面客觀的系統(tǒng)分析的基礎(chǔ)上,根據(jù)用戶提出的系統(tǒng)功能進行相應(yīng)的功能設(shè)計。3.2系統(tǒng)分析 3.2.1系統(tǒng)可行性研究1.技術(shù)可行性 根據(jù)客戶提出的系統(tǒng)功能、性能及實現(xiàn)系統(tǒng)的各項約束條件,根據(jù)新系統(tǒng)目標(biāo)來衡量所需的技術(shù)是否具備,本系統(tǒng)是一個數(shù)據(jù)庫管理和查詢的系統(tǒng),現(xiàn)有的技術(shù)以較為成熟,硬件、軟件的性能要求、環(huán)境條件等各項條件良好,估計利用現(xiàn)有技術(shù)條件應(yīng)完全可以達到該系統(tǒng)的功能目標(biāo)。同時考慮給予的開發(fā)期限也較為充裕,預(yù)計系統(tǒng)是可以在規(guī)定期限內(nèi)完成開發(fā)。本系統(tǒng)基于Java EE架構(gòu),采用了較為成熟的開發(fā)模式

36、。前端用Struts1.2,業(yè)務(wù)邏輯采用EJB3.0 的無狀態(tài)會話Bean,持久映像層采用hibernate 1.3模式,應(yīng)用服務(wù)器使用了使用最廣泛的BEA Weblogic Server。 2.經(jīng)濟可行性 估算新系統(tǒng)的成本效益分析,其中包括估計項目開發(fā)的成本,開發(fā)費用和今后的運行、維護費用,估計新系統(tǒng)將獲得的效益,估算開發(fā)成本是否回高于項目預(yù)期的全部經(jīng)費。并且,分析系統(tǒng)開發(fā)是否會對其它產(chǎn)品或利潤帶來一定影響。(1)支出:基礎(chǔ)投資:硬件設(shè)備:PC機軟件設(shè)備:WINDOWS 2000、BEA Weblogic Server 10其它一次性支出:軟件設(shè)計和開發(fā)費用經(jīng)常性支出:軟件維護費用、軟件使用

37、費用。 (2)效益: 系統(tǒng)的效益可以從經(jīng)濟效益和社會效益兩方面考慮。對于倉庫管理系統(tǒng)則應(yīng)著重分析其社會效益。例如,系統(tǒng)投入運行后可以使倉庫管理實現(xiàn)科學(xué)化、規(guī)范化。曾強了工作人員對倉庫管理能力、提高了工作效率。 3.運行可行性 新系統(tǒng)的研制和開發(fā)是充分得考慮工作人員對倉庫的易于管理,管理者方便查詢設(shè)備信息效率。從而能完全滿足使用者的要求。 4.法律可行性 新系統(tǒng)的研制和開發(fā),將不會侵犯他人、集體和國家的利益,不會違反國家政策和法律。3.2.2系統(tǒng)使用環(huán)境本系統(tǒng)的使用的最低配置要求:硬件環(huán)境:服務(wù)器:CPU:2.4G或以上;內(nèi)存:1G RAM或以上;硬盤:80G或以上;客戶端:CPU:1G;內(nèi)存:

38、64MB以上內(nèi)存或更高;硬盤:20G或以上。軟件開發(fā)環(huán)境:操作系統(tǒng):WindowsXP or Windows2000 server;所用工具:MyEclipse 6.0,BEA Weblogic Server 10;數(shù)據(jù)庫:MYSQL;軟件運行環(huán)境:操作系統(tǒng):WindowsXP or Windows2000server;應(yīng)用服務(wù)器:BEA Weblogic Server 10;數(shù)據(jù)庫:MYSQL。3.2.3系統(tǒng)需求分析1系統(tǒng)功能概述庫存管理貨物管理員工管理倉 庫 管 理 系 統(tǒng)編碼設(shè)置出庫 操作移庫 操作盤點信息錄入入庫操作期初設(shè)置計量單位設(shè)置部門設(shè)置操作類型設(shè)置倉庫設(shè)置貨物信息查詢貨物信息查

39、詢貨物信息錄入刪除用戶查詢用戶添加用戶基礎(chǔ)數(shù)據(jù)2貨物入庫和出庫的管理倉庫是用來存放貨物的,貨物進入倉庫要進行登記記錄,貨物從倉庫出庫也要進行登記記錄,這是倉庫管理的主要內(nèi)容。貨物進入倉庫,從入庫申請的人員向執(zhí)行貨物入庫的倉庫保管員提交貨物開始。入庫申請人向倉庫管理員提交貨物和入庫申請單,入庫申請單記錄本次入庫的貨物名稱、數(shù)量、提交貨物的單位、執(zhí)行提交貨物的人員以及貨物注意事項等信息。庫管依據(jù)送貨人員提供的入庫申請單對待入庫貨物進行檢查。若待入庫貨物與入庫申請單信息一致,則允許入庫;若不一致,則禁止入庫,請?zhí)峤回浳锏膯挝恢匦鲁鼍呷霂焐暾垎巍υ试S入庫的貨物,執(zhí)行庫管要對貨物的信息進行登記,這些信

40、息包括入庫貨物名稱、入庫數(shù)量、入庫時間、送貨入庫人員的信息、執(zhí)行貨物入庫的執(zhí)行人。進行登記后,將貨物存入倉庫。貨物存入倉庫后,執(zhí)行入庫操作的庫管給提出入庫申請的入庫人員開具入庫單,入庫流程結(jié)束。貨物從倉庫中出庫,是從需求貨物的出庫單位出庫人員向執(zhí)行出庫操作的庫管提交出庫申請開始的。首先,出庫人員向庫管提交出庫申請單。出庫申請記錄申請出庫的貨物名稱、申請出庫的數(shù)量、申請出庫的單位、執(zhí)行出庫申請的人員等信息。執(zhí)行出庫的庫管首先對出庫單的真?zhèn)芜M行檢驗。對有效的出庫單,依據(jù)其要求出庫的貨物名稱查找倉庫庫存貨物的信息和此貨物的庫存數(shù)量。如果有此貨物,并且其庫存數(shù)量滿足出庫申請單的數(shù)量,則執(zhí)行出庫操作的庫

41、管保存出庫申請單并進行出庫登記。在出庫登記中,執(zhí)行庫管要記錄出庫貨物的名稱、出庫數(shù)量、出庫后剩余數(shù)量、出庫時間、貨物去向、出庫的倉庫、執(zhí)行出庫的庫管名稱等信息。進行出庫登記后,將貨物出庫。出庫結(jié)束后,執(zhí)行庫管給提出出庫申請的出庫人員開具出庫單,出庫流程結(jié)束。3出庫入庫記錄的查詢及報表倉庫的管理人員要對倉庫存儲的貨物信息、入庫記錄和出庫記錄等及時掌握,這樣才能及時了解倉庫的運行現(xiàn)狀,才有可能會使倉庫處在良好的運行狀態(tài)。所以,一般倉庫管理過程中要能提供倉庫的入庫、出庫記錄的查詢功能,并且能夠?qū)⒊鰩?、入庫記錄生成報表,供管理人員使用,所以,對入庫、出庫記錄的查詢并將這些信息生成報表是倉庫管理系統(tǒng)的重

42、要功能之一。4貨物信息的管理倉庫要存放貨物,關(guān)于這些貨物本身的信息,對貨物的正常存儲是非常重要的,例如,哪些貨物需要防潮,哪些貨物需要輕搬輕放等,所以,對貨物本身的信息的登記、管理是倉庫管理的重要內(nèi)容。5其他信息的管理除了以上提到的一些功能外,倉庫管理系統(tǒng)還應(yīng)該能對一些其他的信息進行管理。例如,對每個倉庫來說,都有一些存儲位置用來存放貨物,倉庫管理過程中包括對這些存儲位置進行的管理;每個倉庫都有一些倉庫管理員,對這些倉庫管理員的管理也是倉庫管理系統(tǒng)的功能之一。3.3系統(tǒng)功能設(shè)計根據(jù)倉庫管理系統(tǒng)的一般需求,設(shè)計了如下一些功能模塊: 1.倉庫管理人員的管理模塊 此功能模塊方便對人員的管理以及數(shù)據(jù)安

43、全性,如(新增員工)。 2. 貨物信息管理模塊 此模塊提供了貨物基礎(chǔ)數(shù)據(jù)的錄入、貨物信息查詢等功能,方便及時了解庫存信息。3.入庫功能模塊入庫功能是倉庫管理系統(tǒng)的基本功能之一。入庫功能主要是實現(xiàn)登記入庫記錄的功能。這些信息應(yīng)包括入庫單據(jù)信息、入庫數(shù)量和入庫時間信息、執(zhí)行入庫操作的操作員信息和貨物存放倉庫的信息等。入庫登記功能產(chǎn)生貨物的入庫記錄,為以后進行入庫貨物的查詢和生成報表以及出庫操作產(chǎn)生操作數(shù)據(jù),供管理人員掌握倉庫內(nèi)存儲的貨物情況。4出庫功能模塊出庫功能是倉庫管理系統(tǒng)的基本功能之二。出庫功能主要是實現(xiàn)登記出庫貨物信息的功能。這些出庫記錄包括出庫申請單據(jù)信息、出庫數(shù)量和出庫時間信息、執(zhí)行出

44、庫操作的庫管信息和貨物剩余信息等。出庫功能依據(jù)入庫登記功能產(chǎn)生的入庫記錄產(chǎn)生貨物的出庫記錄,將出庫記錄存入系統(tǒng),為以后的出庫記錄查詢以及掌握倉庫貨物存儲情況作基礎(chǔ)。 5.盤點功能模塊 此模塊通過定期對倉庫信息做清點,有效的了解了貨物的流通情況和倉庫貨物的損耗情況。方便對貨物信息的管理。6.移庫功能模塊 此模塊是針對貨物在內(nèi)部進行調(diào)動的詳細記載,從而對庫存信息達到更方便的管理。四、數(shù)據(jù)庫設(shè)計4.1引言數(shù)據(jù)庫是一種存儲數(shù)據(jù)并對數(shù)據(jù)進行操作的工具。數(shù)據(jù)庫的作用在于組織和表達信息,即數(shù)據(jù)庫就是相關(guān)信息的集合。本章從E-R模型的分析設(shè)計為切入點,重點介紹了數(shù)據(jù)庫的設(shè)計。根據(jù)倉庫管理系統(tǒng)的功能,將其E-R

45、圖轉(zhuǎn)化為個數(shù)據(jù)庫表,為系統(tǒng)的實現(xiàn)奠定了基礎(chǔ)。4.2 ER圖實體聯(lián)系圖1:實體聯(lián)系圖2:實體聯(lián)系圖3:實體聯(lián)系圖4:4.3 數(shù)據(jù)表 1.倉庫表(WH)列名數(shù)據(jù)類型長度允許空默認(rèn)值說明whIDchar4倉庫編號Namevarchar20倉庫名whPersonvarchar10負(fù)責(zé)人whAddrvarchar100倉庫地址2.貨物信息表 (GDMESS)列名數(shù)據(jù)類型長度允許空默認(rèn)值說明goodsIDchar8貨物編號goodsNamevarchar30貨物名稱shortNamevarchar20NULL貨物簡稱goodsClassvarchar10貨物種類goodsStdvarchar20貨物規(guī)格型

46、號Pricedouble8貨物單價Weightdouble8NULL單位重量Volumedouble8NULL單位體積unitIDchar8計量單位Vendorvarchar20默任供應(yīng)商lowQuantityint8最低庫存量highQuantityint8最高庫存量safeQuantityint8安全庫存whIDchar8倉庫編號highPricedouble8最高進價lowPricedouble8最低售價Buildervarchar10建檔人modiPersonvarchar10NULL更改人modiTimedatetime8NULL更改時間nowQuantityint8當(dāng)前數(shù)量chec

47、kCycleint8盤點周期lastCleckTimedatetime8NULL上次盤點時間 3.貨物存儲表 GDST列名數(shù)據(jù)類型長度允許空默認(rèn)值說明goodsIDchar8貨物編號whIDcahr8倉庫編號Quantityint8數(shù)量4. 操作類型表 OPST列名數(shù)據(jù)類型長度允許空默認(rèn)值說明opeTypeIDchar8操作類型編碼opeTypeNavarchar20操作類型名稱5. 庫存記錄主表 MSTOCK列名數(shù)據(jù)類型長度允許空默認(rèn)值說明Codechar8單據(jù)號opeTypeIDchar8操作類型vouchTypechar8單據(jù)類型whIDchar8倉庫編號Departchar20所屬部門Clerkvarchar20NULL業(yè)務(wù)員Operatorvarchar20操作員opTimedatetime8時間Vendorvarchar20NULL供應(yīng)商Customer

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論