畢業(yè)設(shè)計報告(論文)_第1頁
畢業(yè)設(shè)計報告(論文)_第2頁
畢業(yè)設(shè)計報告(論文)_第3頁
畢業(yè)設(shè)計報告(論文)_第4頁
畢業(yè)設(shè)計報告(論文)_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、/畢業(yè)設(shè)計報告(論文)題目: 基于web的智能倉庫管理系統(tǒng)基于web的智能倉庫管理系統(tǒng)摘 要本系統(tǒng)主要完成對倉庫的庫存管理,包括入庫、出庫、庫存,員工信息,供應(yīng)商信息以及密碼管理等六個方面。系統(tǒng)可以完成對各類信息的瀏覽、查詢、添加、刪除、修改、報表等功能。 本系統(tǒng)由四大模塊構(gòu)成,分別是:系統(tǒng)設(shè)置,單據(jù)填開,庫存查詢,報表導(dǎo)出。其中系統(tǒng)設(shè)置包括:管理員的增加,修改,刪除,以及權(quán)限管理;倉庫內(nèi)貨物的基本資料的增加,修改,刪除;工人,客戶等的基本資料的增加,修改,刪除。單據(jù)填開模塊包括:出庫單,入庫單,派工單,等單據(jù)的填開及作廢操作。庫存查詢系統(tǒng)包括:庫存情況的查詢,各項明細(xì)的查詢,工人工資的查詢,

2、以及按月,按季度,按年的報表導(dǎo)出功能。 該系統(tǒng)是對倉庫的智能管理,并進(jìn)行相應(yīng)的采購管理、入庫管理、出庫管理、報表管理等一些倉庫方面的管理。關(guān)鍵字:數(shù)據(jù)庫 SQL語言 MyEclipse 數(shù)據(jù)庫組件 倉庫管理 III Intelligent Database SystemAbstractThesystemmainlyreferstowarehousingmanagement,whichincludesthefollowingfields:stockinandout,inventory,staffdata,suppliersdataandpasswordmanagement.Italsooffer

3、sthefunctionsasdatabrowse,adding,deleting,modificationandreport,etc.Itcontains3modules,systemmanagement,receiptsmanagementandinventoryquery.Systemmanagementmoduleisusedtoconductoperateradding,modification,deletingandauthoirtiesassignment,inaddition,inventory,staffandcustomerdataadding,modificationan

4、ddeleting;thesecondpartreferstostockinandout,receiptsfill-inandcancellation;thelastmodulecontendstowarehousingquery,staffsalaryquery,monthly,quarterly,yearlyreportqueryandexport.Asstatedpreviously,thesystemisanintelligentwarehousingmanagementsolution,whichincludes:purchasingmanagement,stockinandoutm

5、anagement,reportmanagement,etc.Key words: database; SQL; Eclipse;Database module; Database managementPAGE X 目 錄 TOC o 1-3 h z u HYPERLINK l _Toc263943691 第一章前 言 PAGEREF _Toc263943691 h 1 HYPERLINK l _Toc263943692 1.1背景情況介紹 PAGEREF _Toc263943692 h 1 HYPERLINK l _Toc263943693 1.2 系統(tǒng)整體設(shè)計 PAGEREF _Toc26

6、3943693 h 2 HYPERLINK l _Toc263943694 第二章 系統(tǒng)的總體設(shè)計 PAGEREF _Toc263943694 h 3 HYPERLINK l _Toc263943695 2.1 模塊 PAGEREF _Toc263943695 h 3 HYPERLINK l _Toc263943696 2.1.1 模塊劃分 PAGEREF _Toc263943696 h 3 HYPERLINK l _Toc263943697 2.1.2 功能概述 PAGEREF _Toc263943697 h 3 HYPERLINK l _Toc263943698 2.2 實現(xiàn)技術(shù) PAGE

7、REF _Toc263943698 h 6 HYPERLINK l _Toc263943699 2.2.1 jsp-extjs PAGEREF _Toc263943699 h 6 HYPERLINK l _Toc263943700 2.2.2 javabean及Hibernate PAGEREF _Toc263943700 h 6 HYPERLINK l _Toc263943701 2.2.3 Struts2、MVC和Spring PAGEREF _Toc263943701 h 7 HYPERLINK l _Toc263943702 2.2.4數(shù)據(jù)庫MySQL PAGEREF _Toc2639

8、43702 h 10 HYPERLINK l _Toc263943703 2.2.5開發(fā)工具M(jìn)yEclipse7.1 PAGEREF _Toc263943703 h 12 HYPERLINK l _Toc263943704 第三章 系統(tǒng)分析 PAGEREF _Toc263943704 h 13 HYPERLINK l _Toc263943705 3.1 可行性分析 PAGEREF _Toc263943705 h 13 HYPERLINK l _Toc263943706 3.1.1 技術(shù)可行性 PAGEREF _Toc263943706 h 13 HYPERLINK l _Toc26394370

9、7 3.1.2 運(yùn)行可行性 PAGEREF _Toc263943707 h 13 HYPERLINK l _Toc263943708 3.2 系統(tǒng)流程分析 PAGEREF _Toc263943708 h 14 HYPERLINK l _Toc263943709 3.2.1 操作員登記(Operator表) PAGEREF _Toc263943709 h 14 HYPERLINK l _Toc263943710 3.2.2 系統(tǒng)登陸 PAGEREF _Toc263943710 h 14 HYPERLINK l _Toc263943711 3.2.3 原料類型設(shè)置(material表等) PAGE

10、REF _Toc263943711 h 15 HYPERLINK l _Toc263943712 3.2.4 原料(成品)入庫(materialturnover表等) PAGEREF _Toc263943712 h 15 HYPERLINK l _Toc263943713 3.2.5 原料(成品)出庫(materialturnover表等) PAGEREF _Toc263943713 h 15 HYPERLINK l _Toc263943714 3.2.6 派工單(working表等) PAGEREF _Toc263943714 h 16 HYPERLINK l _Toc263943715 3

11、.2.7 單據(jù)作廢 PAGEREF _Toc263943715 h 16 HYPERLINK l _Toc263943716 3.2.8 明細(xì)查詢 PAGEREF _Toc263943716 h 16 HYPERLINK l _Toc263943717 3.2.9 報表導(dǎo)出 PAGEREF _Toc263943717 h 17 HYPERLINK l _Toc263943718 第四章 算法描述 PAGEREF _Toc263943718 h 18 HYPERLINK l _Toc263943719 4.1 數(shù)據(jù)結(jié)構(gòu) PAGEREF _Toc263943719 h 18 HYPERLINK l

12、 _Toc263943720 4.1.1 表結(jié)構(gòu)設(shè)計 PAGEREF _Toc263943720 h 18 HYPERLINK l _Toc263943721 4.1.3 程序結(jié)構(gòu)圖 PAGEREF _Toc263943721 h 20 HYPERLINK l _Toc263943722 4.2 系統(tǒng)流程圖 PAGEREF _Toc263943722 h 22 HYPERLINK l _Toc263943723 4.2.1 原料入庫 PAGEREF _Toc263943723 h 22 HYPERLINK l _Toc263943724 4.2.2 原料出庫 PAGEREF _Toc26394

13、3724 h 22 HYPERLINK l _Toc263943725 4.2.3 成品入庫 PAGEREF _Toc263943725 h 23 HYPERLINK l _Toc263943726 4.2.4 成品出庫 PAGEREF _Toc263943726 h 23 HYPERLINK l _Toc263943727 4.2.5 派工單 PAGEREF _Toc263943727 h 24 HYPERLINK l _Toc263943728 4.3 部分實現(xiàn)算法 PAGEREF _Toc263943728 h 24 HYPERLINK l _Toc263943729 4.3.1 權(quán)限算

14、法 PAGEREF _Toc263943729 h 24 HYPERLINK l _Toc263943730 4.3.2 分頁算法 PAGEREF _Toc263943730 h 24 HYPERLINK l _Toc263943731 4.3.3 驗證算法 PAGEREF _Toc263943731 h 25 HYPERLINK l _Toc263943732 4.3.4 預(yù)警算法 PAGEREF _Toc263943732 h 25 HYPERLINK l _Toc263943733 4.4 算法分析 PAGEREF _Toc263943733 h 25 HYPERLINK l _Toc2

15、63943734 4.4.1 正確性 PAGEREF _Toc263943734 h 25 HYPERLINK l _Toc263943735 4.4.2 可讀性 PAGEREF _Toc263943735 h 25 HYPERLINK l _Toc263943736 4.4.3 健壯性 PAGEREF _Toc263943736 h 25 HYPERLINK l _Toc263943737 4.4.4 效率與低存儲量需求 PAGEREF _Toc263943737 h 25 HYPERLINK l _Toc263943738 第五章 系統(tǒng)實現(xiàn) PAGEREF _Toc263943738 h

16、26 HYPERLINK l _Toc263943739 5.1 前臺jsp-extjs PAGEREF _Toc263943739 h 26 HYPERLINK l _Toc263943740 5.1.1 設(shè)計與實現(xiàn)思路 PAGEREF _Toc263943740 h 26 HYPERLINK l _Toc263943741 5.1.2 實現(xiàn)部分 PAGEREF _Toc263943741 h 27 HYPERLINK l _Toc263943742 5.1.3 代碼部分 PAGEREF _Toc263943742 h 30 HYPERLINK l _Toc263943743 5.2 jav

17、abean及Hibernate PAGEREF _Toc263943743 h 32 HYPERLINK l _Toc263943744 5.2.1 設(shè)計思路 PAGEREF _Toc263943744 h 32 HYPERLINK l _Toc263943745 5.2.2 實現(xiàn)部分 PAGEREF _Toc263943745 h 32 HYPERLINK l _Toc263943746 5.2.3 代碼部分 PAGEREF _Toc263943746 h 33 HYPERLINK l _Toc263943747 5.3 Struts2、MVC和Spring PAGEREF _Toc2639

18、43747 h 35 HYPERLINK l _Toc263943748 5.3.1 設(shè)計與實現(xiàn)思路 PAGEREF _Toc263943748 h 35 HYPERLINK l _Toc263943749 5.3.2 代碼部分 PAGEREF _Toc263943749 h 35 HYPERLINK l _Toc263943750 5.4 數(shù)據(jù)庫MySQL PAGEREF _Toc263943750 h 39 HYPERLINK l _Toc263943751 5.4.1 設(shè)計及實現(xiàn)思路 PAGEREF _Toc263943751 h 39 HYPERLINK l _Toc263943752

19、 5.4.2 代碼部分 PAGEREF _Toc263943752 h 39 HYPERLINK l _Toc263943753 5.5 開發(fā)工具M(jìn)yEclipse7.1 PAGEREF _Toc263943753 h 39 HYPERLINK l _Toc263943754 5.5.1 工具選擇 PAGEREF _Toc263943754 h 39 HYPERLINK l _Toc263943755 5.5.2 界面截圖 PAGEREF _Toc263943755 h 40 HYPERLINK l _Toc263943756 第六章 測試及性能分析 PAGEREF _Toc263943756

20、 h 41 HYPERLINK l _Toc263943757 6.1 測試 PAGEREF _Toc263943757 h 41 HYPERLINK l _Toc263943758 6.1.1 測試用例 PAGEREF _Toc263943758 h 41 HYPERLINK l _Toc263943759 6.1.2 測試結(jié)果 PAGEREF _Toc263943759 h 41 HYPERLINK l _Toc263943760 6.2 性能分析 PAGEREF _Toc263943760 h 42 HYPERLINK l _Toc263943761 第七章 結(jié)束語 PAGEREF _T

21、oc263943761 h 43 HYPERLINK l _Toc263943762 致 謝 PAGEREF _Toc263943762 h 44 HYPERLINK l _Toc263943763 參考文獻(xiàn) PAGEREF _Toc263943763 h 45前 言背景情況介紹這是一個互聯(lián)網(wǎng)的時代,所有企業(yè)都面臨著互聯(lián)網(wǎng)浪潮的強(qiáng)力沖擊,電子商務(wù)無論從技術(shù)實現(xiàn)還是社會大背景都日益成熟。企業(yè)對企業(yè)之間的信息化如何解決?企業(yè)電子商務(wù)如何實現(xiàn)?這些都是擺在企業(yè)企業(yè)管理者和信息部門負(fù)責(zé)人面前實實在在的問題。借助于信息技術(shù)手段的創(chuàng)新,規(guī)范業(yè)務(wù)流程,強(qiáng)化倉庫管理,對于企業(yè)信息化來說是一次良好契機(jī)。在計算機(jī)

22、的應(yīng)用日益普及的今天,在計算機(jī)軟件漸漸成為生活一部分的時代,在現(xiàn)代企業(yè)倉庫物流需要電子化管理的現(xiàn)在,一個基于web的智能倉庫管理系統(tǒng)呼之欲出。這個系統(tǒng),既可以減輕倉庫管理員的工作負(fù)擔(dān),又能企業(yè)更好的掌握庫存情況,及時調(diào)整營銷戰(zhàn)略,取得更大利益。智能倉庫管理系統(tǒng),是當(dāng)代企業(yè)運(yùn)作體系中,不可或缺的一部分,也是整個企業(yè)管理軟件家族中,舉足輕重的一員。從70年代開始,計算機(jī)技術(shù)開始應(yīng)用到物流領(lǐng)域。 隨著物流市場和物流信息化的發(fā)展,物流軟件市場也應(yīng)運(yùn)而生并迅速發(fā)展起來,國內(nèi)外出現(xiàn)了一大批物流軟件供應(yīng)商和物流軟件。“物流軟件作為管理軟件,較其它應(yīng)用軟件呈現(xiàn)先進(jìn)性、高效性、可靠性和安全性等特點(diǎn);較其它管理軟

23、件,如ERP(Enterprise Resource Planning),具有以下特點(diǎn):實施風(fēng)險小,實施迅速;效益顯著、見效快。根據(jù)倉庫管理軟件結(jié)構(gòu)分類,就目前倉庫管理軟件所使用的應(yīng)用范圍來說,倉庫管理包括如下幾個子系統(tǒng):WMS(Warehouse Management System,倉庫管理系統(tǒng))、TMS(Transportation Management System,運(yùn)輸管理系統(tǒng)。OMS(Order Management System,定單管理系統(tǒng))、SMS(Service Management System,服務(wù)管理系統(tǒng))。其中,WMS主要提供了一整套倉庫業(yè)務(wù)以及作業(yè)管理系統(tǒng)。通過倉庫

24、管理系統(tǒng)可以實現(xiàn)庫位分配自動化和智能化;提高倉庫作業(yè)效率和速度,提供準(zhǔn)確的庫存信息,并使之與實際庫存變化同步。在研究過程中,我發(fā)現(xiàn),國內(nèi)及國外對于倉庫的管理系統(tǒng)軟件不在少數(shù),但是具備智能化的就寥寥無幾,有些倉庫管理軟件功能強(qiáng)大,但不實用;有些實用,但是軟件界面不夠友好;有些界面華麗,但是性能不夠穩(wěn)定。所以,現(xiàn)實應(yīng)用需要編寫一套,實用,界面友好,性能穩(wěn)定的智能倉庫管理系統(tǒng)。操作本系統(tǒng)的客戶并不是專業(yè)的計算機(jī)從業(yè)人員,他們對于軟件的初步認(rèn)識就是,外觀,所以,我在jsp技術(shù)上選擇了比較動態(tài),美觀大方的extjs系統(tǒng)架構(gòu),該架構(gòu)對于用戶的提示友好,性能強(qiáng)大,動態(tài)性好,充分滿足前臺頁面的實際需求。而一款

25、軟件有一件漂亮的外衣還是不夠的,他還需要強(qiáng)大的內(nèi)心,這個內(nèi)心就是Spring,他的骨架就是Struts2,他的血液就是Hibernate。這樣組成的軟件才能成為一款優(yōu)秀的智能倉庫管理系統(tǒng)。1.2 系統(tǒng)整體設(shè)計本文主要對智能倉庫管理系統(tǒng)整個開發(fā)過程和開發(fā)方式做大體的介紹。該系統(tǒng)主要采用MVC 模式把系統(tǒng)分成view層,model層,control層,視圖層采用AJAX的EXTJS框架,模型層使用了JAVABEAN,控制層采用了Spring+Struts2。本系統(tǒng)是基于WEB的B/S架構(gòu),動態(tài)性能比較高,而且采用了AJAX-EXTJS+JSP+JAVABEAN+Spring+Struts2+Hib

26、ernate技術(shù),數(shù)據(jù)庫采用MySql5.5進(jìn)行開發(fā)的。智能倉庫管理系統(tǒng)的核心是入庫、庫存和出庫三者之間的聯(lián)系,每一個表的修改都將聯(lián)動的影響其它的表,當(dāng)完成入庫或出庫操作時系統(tǒng)會自動地完成庫存的修改。查詢功能也是系統(tǒng)的核心之一,在系統(tǒng)中即有單條件查詢和多條件查詢,也有精確查詢和模糊查詢,系統(tǒng)不僅有靜態(tài)的條件查詢,也有動態(tài)生成的條件查詢,其目的都是為了方便用戶使用。系統(tǒng)有完整的用戶添加、刪除和密碼修改功能,并具備報表打印功能。主要介紹了本課題的開發(fā)背景,所要完成的功能和開發(fā)的過程。重點(diǎn)的說明了系統(tǒng)設(shè)計的重點(diǎn)、設(shè)計思想、難點(diǎn)技術(shù)和解決方案。第二章 系統(tǒng)的總體設(shè)計2.1 模塊2.1.1 模塊劃分本系

27、統(tǒng)由四大模塊構(gòu)成,分別是:系統(tǒng)設(shè)置,單據(jù)填開,庫存查詢,報表導(dǎo)出。其中:系統(tǒng)設(shè)置包括:管理員的增加,修改,刪除,以及權(quán)限管理;倉庫內(nèi)貨物的基本資料的增加,修改,刪除;工人,客戶等的基本資料的增加,修改,刪除。單據(jù)填開模塊包括:出庫單,入庫單,派工單,等單據(jù)的填開及作廢操作。庫存查詢系統(tǒng)包括:庫存情況的查詢,各項明細(xì)的查詢,工人工資的查詢,正在加工產(chǎn)品查詢等。報表導(dǎo)出模塊包括:按月,按季度,按年的報表導(dǎo)出功能。2.1.2 功能概述系統(tǒng)功能劃分和描述如下(如圖2-1所示):A.系統(tǒng)設(shè)置A.1操作員管理 A.2工資標(biāo)準(zhǔn)管理A.3原料類型管理 A.4成品類型管理A.5工人資料設(shè)置 A.6客戶資料管理B

28、單據(jù)填開B.1原料入庫單 B.2原料出庫單B.3成品入庫單 B.4成品出庫單(送貨單)B.5派工單 B.6單據(jù)作廢C明細(xì)查詢C.1原料庫存查詢 C.2成品庫存查詢C.3原料出入明細(xì)查詢 C.4成品出入明細(xì)查詢C.5工人工資查詢 C.6正在加工產(chǎn)品查詢D報表導(dǎo)出D.1原料庫存月報表 D.2原料庫存季報表D.3原料庫存年報表 D.4成品庫存月報表D.5成品庫存季報表 D.6成品庫存年報表D.7工人工資月報表統(tǒng)首先進(jìn)入登錄界面,登錄時系統(tǒng)會根據(jù)登陸的賬號自動確認(rèn)用戶所擁有的權(quán)限。登錄成功后,根據(jù)不同的目的進(jìn)行不同的操作,超級管理員能操作所有的功能,一般管理員能操作除權(quán)限管理外的功能,采購員能操作查看

29、和入庫功能,出庫員能操作查看和出庫的功能,一般觀察者只能操作查看功能。系統(tǒng)設(shè)置單據(jù)填開明細(xì)查詢報表導(dǎo)出基于web智能倉庫管理系統(tǒng)操作員管理工資標(biāo)準(zhǔn)設(shè)置原料類型設(shè)置成品類型設(shè)置工人資料設(shè)置客戶資料設(shè)置原料庫存月報原料庫存季報原料庫存年表成品庫存月報成品庫存季報成品庫存年報工人工資月報原料入庫單原料出庫單成品入庫單成品出庫單派工單單據(jù)作廢原料庫存查詢成品庫存查詢原料進(jìn)出查詢成品進(jìn)出查詢工人工資查詢正在加工查詢圖2-1系統(tǒng)結(jié)構(gòu)連接圖2.2 實現(xiàn)技術(shù)2.2.1 jsp-extjsJSP(Java Server Pages)是由Sun Microsystems 公司倡導(dǎo)、多家公司參與一起建立的一種動態(tài)網(wǎng)

30、頁技術(shù)標(biāo)準(zhǔn),JSP技術(shù)在Servlet技術(shù)基礎(chǔ)上發(fā)展起來的,它正在飛速發(fā)展中,現(xiàn)已成為Java服務(wù)器編程的重要組成部分。雖然還未成型,但是它必將和J2EE(Java 2 Enterprise Edition)一起發(fā)展。3JSP是結(jié)合markup(HTML和XML)和Java代碼來處理一種動態(tài)頁面。每一頁第一次被調(diào)用時,通過JSP引擎自動被編譯成Servlet,然后被執(zhí)行,以后每次調(diào)用時,執(zhí)行編譯過的Servlet。JSP提供了多種方式訪問Java class、Servlet、Applets和Web Server,因此,Web應(yīng)用的功能可以分成多個明確定義公用接口的組件,通過JSP將它們結(jié)合在一

31、起。 ext是一個強(qiáng)大的js類庫,以前是基于YAHOO-UI,現(xiàn)在已經(jīng)完全獨(dú)立了,主要包括data,widget,form,grid,dd,menu,其中最強(qiáng)大的是grid了,編程思想是基于面向?qū)ο缶幊?oop),擴(kuò)展性相當(dāng)?shù)暮???梢宰约簩憯U(kuò)展。自己定義命名空間.web應(yīng)用可能類庫太大。不過您可以根據(jù)需要按需加載您想要的類庫就可以了。主要包括三個大的文件ext-all.css,ext-base.js,ext-all.js(包括所有的類庫,您可以根據(jù)需要進(jìn)行刪減。官方網(wǎng)站提供這一接口),在引用ext類庫的時候。這三個文件必不可少。它提供了豐富的,非常漂亮的外觀體驗,成為眾多界面層開發(fā)人員的追捧!

32、其核心的組件基本覆蓋了我們構(gòu)建富客戶端的常用的組件。2.2.2 javabean及HibernateHibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。Hibernate的核心接口一共有5個,分別為:Session、SessionFactory、Trans

33、action、Query和Configuration。這5個核心接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。Hibernate 中提供了兩級Cache,第一級別的緩存是Session級別的緩存,它是屬于事務(wù)范圍的緩存。這一級別的緩存由hibernate管理的,一般情況下無需進(jìn)行干預(yù);第二級別的緩存是SessionFactory級別的緩存,它是屬于進(jìn)程范圍或群集范圍的緩存。這一級別的緩存可以進(jìn)行配置和更改,并且可以動態(tài)加載和卸載。 Hibernate還為查詢結(jié)果提供了一個查詢緩存,它依賴于第二級緩存。4Hibernate對象關(guān)系映射提供延遲的與非延遲

34、的對象初始化。非延遲加載在讀取一個對象的時候會將與這個對象所有相關(guān)的其他對象一起讀取出來。這有時會導(dǎo)致成百的(如果不是成千的話)select語句在讀取對象的時候執(zhí)行。這個問題有時出現(xiàn)在使用雙向關(guān)系的時候,經(jīng)常會導(dǎo)致整個數(shù)據(jù)庫都在初始化的階段被讀出來了。當(dāng)然,你可以不厭其煩地檢查每一個對象與其他對象的關(guān)系,并把那些最昂貴的刪除,但是到最后,我們可能會因此失去了本想在ORM工具中獲得的便利。2.2.3 Struts2、MVC和Spring模型-視圖-控制器(MVC)是80年代Smalltalk-80出現(xiàn)的一種軟件設(shè)計模式,現(xiàn)在已經(jīng)被廣泛的使用。 1、模型(Model) 模型是應(yīng)用程序的主體部分。模

35、型表示業(yè)務(wù)數(shù)據(jù),或者業(yè)務(wù)邏輯。2、視圖(View) 視圖是應(yīng)用程序中用戶界面相關(guān)的部分,是用戶看到并與之交互的界面。 3、控制器(controller) 控制器工作就是根據(jù)用戶的輸入,控制用戶界面數(shù)據(jù)顯示和更新model對象狀態(tài)。5MVC 式的出現(xiàn)不僅實現(xiàn)了功能模塊和顯示模塊的分離,同時它還提高了應(yīng)用系統(tǒng)的可維護(hù)性、可擴(kuò)展性、可移植性和組件的可復(fù)用性。很多VB,Delphi等RAD程序都有這種問題。甚至現(xiàn)在的C#,Java有時候也會出現(xiàn)把業(yè)務(wù)邏輯寫在顯示模塊中的現(xiàn)象管MVC設(shè)計模式很早就提出,但在Web項目的開發(fā)中引入MVC卻是步履維艱。主要原因:一是在早期的Web項目的開發(fā)中,程序語言和HT

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

37、truts2流程示意圖當(dāng)接收到一個httprequest請求時, Interceptor會做一些攔截或者初始化的工作。當(dāng)外部的httpservletrequest請求到來時,它會被初始到servlet容器中, 并傳遞給一個標(biāo)準(zhǔn)的過濾器鏈,而ActionContextCleanUp在集成插件方面非常有用。Other filters(SitMesh,etc)調(diào)用FilterDispatecher會去查找相應(yīng)的ActionMapper,如果找到了相應(yīng)的ActionMapper,它將會將控制權(quán)限交給ActionProxy。ActionProxy將會通過ConfigurationManager來查找配置

38、struts.xml。下一步將會 通過ActionInvocation來負(fù)責(zé)命令模式的實現(xiàn)(包括調(diào)用一些攔截Interceptor框架在調(diào)用action之前),一旦action返回,會查找相應(yīng)的Result。Result類型可以是 jsp或者freeMark 等。這些組件和ActionMapper一起返回給請求的url(注意攔截器的執(zhí)行順序)響應(yīng)的返回是通過我們在web.xml中配置的過濾器,如果ActionContextCleanUp是當(dāng)前使用的,則FilterDispatecher將不會清理sreadlocalActionContext,如果ActionContextCleanUp不使用,

39、則將會去清理sreadlocals。如圖5-9所示。8Spring是一個開源框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。 目的:解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性 功能:使用基本的JavaBean代替EJB,并提供了更多的企業(yè)應(yīng)用功能 范圍:任何Java應(yīng)用 簡單來說,Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。 2輕量從大小與開銷兩方

40、面而言Spring都是輕量的。完整的Spring框架可以在一個大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應(yīng)用中的對象不依賴于Spring的特定類。 控制反轉(zhuǎn)Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進(jìn)了松耦合。當(dāng)應(yīng)用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進(jìn)來,而不是這個對象自己創(chuàng)建或者查找依賴對象。你可以認(rèn)為IoC與JNDI相反不是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。 面向切面Spring提供了面向切面編程的豐富支持,允許通過分離應(yīng)用的業(yè)務(wù)

41、邏輯與系統(tǒng)級服務(wù)(例如審計(auditing)和事務(wù)(transaction)管理)進(jìn)行內(nèi)聚性的開發(fā)。應(yīng)用對象只實現(xiàn)它們應(yīng)該做的完成業(yè)務(wù)邏輯僅此而已。它們并不負(fù)責(zé)(甚至是意識)其它的系統(tǒng)級關(guān)注點(diǎn),例如日志或事務(wù)支持。 容器Spring包含并管理應(yīng)用對象的配置和生命周期,在這個意義上它是一種容器,你可以配置你的每個bean如何被創(chuàng)建基于一個可配置原型(prototype),你的bean可以創(chuàng)建一個單獨(dú)的實例或者每次需要時都生成一個新的實例以及它們是如何相互關(guān)聯(lián)的。然而,Spring不應(yīng)該被混同于傳統(tǒng)的重量級的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用。 框架Spring可以將簡單的組件配置、組

42、合成為復(fù)雜的應(yīng)用。在Spring中,應(yīng)用對象被聲明式地組合,典型地是在一個XML文件里。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等等),將應(yīng)用邏輯的開發(fā)留給了你。 所有Spring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測試的代碼。它們也為Spring中的各種模塊提供了基礎(chǔ)支持。2.2.4數(shù)據(jù)庫MySQL1.使用C和C+編寫,并使用了多種編譯器進(jìn)行測試,保證源代碼的可移植性 2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng) 3.為多種編

43、程語言提供了API。這些編程語言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。 4.支持多線程,充分利用CPU資源 5.優(yōu)化的SQL查詢算法,有效地提高查詢速度 6.既能夠作為一個單獨(dú)的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名 7.提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑 8.提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具 9.可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫(1)減少數(shù)據(jù)的重復(fù)(Red

44、undancy can be reduced)當(dāng)在一個非數(shù)據(jù)庫系統(tǒng)當(dāng)中,每一個應(yīng)用程序都有屬于他們自己的文件,由于無法有系統(tǒng)建立的數(shù)據(jù),因此常常會造成存儲數(shù)據(jù)的重復(fù)與浪費(fèi)。例如:在一家公司當(dāng)中,人事管理程序與工資管理程序或許都會使用到職員與部門的信息或文件,而我們可以運(yùn)用數(shù)據(jù)庫的方法,把這兩個文件整理起來,以減少多余的數(shù)據(jù),過度地占用存儲空間。(2)避免數(shù)據(jù)的不一致(Inconsistency can avoid)本項的特色,可以說是延伸前項的一個特點(diǎn),要說明這樣的一個現(xiàn)象,我們可以從下面這個實例來看:若是在同一家公司當(dāng)中,職員甲在策劃部門工作,且職員甲的記錄同時被存放在數(shù)據(jù)庫的兩個地方,而數(shù)

45、據(jù)庫管理系統(tǒng)卻沒有對這樣重要的情況加以控制,當(dāng)其中一條數(shù)據(jù)庫被修改時,便會造成數(shù)據(jù)的不一致,但是,對于一個健全的數(shù)據(jù)庫管理系統(tǒng)而言,將會對這樣的情況加以控制,但有時并不需要刻意消除這種情形,應(yīng)當(dāng)視該數(shù)據(jù)庫的需求與效率來決定。 (3)數(shù)據(jù)共享(Data shared)對于數(shù)據(jù)共享的意義,并不是只有針對數(shù)據(jù)庫設(shè)計的應(yīng)用程序,可以使用數(shù)據(jù)庫中的數(shù)據(jù),對于其他撰寫好的應(yīng)用程序,同樣可以對相同數(shù)據(jù)庫當(dāng)中的數(shù)據(jù)進(jìn)行處理,進(jìn)而達(dá)到數(shù)據(jù)共享的目的。(4)強(qiáng)化數(shù)據(jù)的標(biāo)準(zhǔn)化(Standard can be enforced)由數(shù)據(jù)庫管理系統(tǒng),對數(shù)據(jù)做出統(tǒng)籌性的管理,對于數(shù)據(jù)的格式與一些存儲上的標(biāo)準(zhǔn)進(jìn)行控制,如此一

46、來,對于不同的環(huán)境的數(shù)據(jù)交換(Data Interchange)上將有很大的幫助,也能提高數(shù)據(jù)處理的效率。(5)實踐安全性的管理(Security restriction can be applied)通過對數(shù)據(jù)庫完整的權(quán)限控制,數(shù)據(jù)庫管理者可以確認(rèn)所有可供用戶存取數(shù)據(jù)的合法途徑渠道,并且可以事先對一些較重要或關(guān)鍵性的數(shù)據(jù)進(jìn)行安全檢查,以確保數(shù)據(jù)存取時,能夠?qū)⑷魏尾划?dāng)損毀的情形降至最低。(6)完整性的維護(hù)(Integrity can be maintained)所謂完整性的問題,就是要確認(rèn)某條數(shù)據(jù)在數(shù)據(jù)庫當(dāng)中,是正確無誤的。正如(2)所述,若是無法控制數(shù)據(jù)的不一致性,便會產(chǎn)生完整性不足的問題,

47、所以,我們會發(fā)現(xiàn),當(dāng)數(shù)據(jù)重復(fù)性高的時候,數(shù)據(jù)不完整的情形也會增加,當(dāng)然,若是數(shù)據(jù)庫的功能完整,將會大大地提高數(shù)據(jù)完整性,也會增加數(shù)據(jù)庫的維護(hù)能力與維護(hù)簡便性。(7)需求沖突會獲得平衡(Conflicting requirements can be balance)在一個較大型的企業(yè)當(dāng)中,用戶不同的需求,往往會造成系統(tǒng)或數(shù)據(jù)庫在設(shè)計上的困擾,但是一個合適的數(shù)據(jù)庫系統(tǒng),可以通過數(shù)據(jù)庫管理員的管理,將會有效地整理各方面的信息,對于一些較重要的應(yīng)用程序,可以適時地提供較快速的數(shù)據(jù)存取方法與格式,以平衡多個用戶在需求上的沖突。92.2.5開發(fā)工具M(jìn)yEclipse7.1MyEclipse企業(yè)級工作平臺(

48、MyEclipse Enterprise Workbench ,簡稱MyEclipse)是對Eclipse IDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。 在結(jié)構(gòu)上,MyEclipse的特征可以被分為7類: 1. JavaEE模型 2. WEB開發(fā)工具 3. EJB開發(fā)工具 4. 應(yīng)用程序服務(wù)器的連接器 5. JavaEE項目部署服務(wù) 6.

49、數(shù)據(jù)庫服務(wù) 7. MyEclipse整合幫助 對于以上每一種功能上的類別,在Eclipse中都有相應(yīng)的功能部件,并通過一系列的插件來實現(xiàn)它們。MyEclipse結(jié)構(gòu)上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對任一模塊進(jìn)行單獨(dú)的擴(kuò)展和升級。10 簡單而言,MyEclipse是Eclipse的插件,也是一款功能強(qiáng)大的JavaEE集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯,MyEclipse6.0以前版本需先安裝Eclipse。MyEclipse6.0以后版本安裝時不需安裝Eclipse。第三章 系統(tǒng)分析3.1 可行性分析3.1.1 技術(shù)可行性1.java是種跨平臺的語言,具有多種優(yōu)勢

50、,其面向?qū)ο蟮奶攸c(diǎn)非常符合本系統(tǒng)的要求,所以選擇java作為開發(fā)語言。2.同時,B/S架構(gòu)很好的解決了客戶端的問題,用戶只要有瀏覽器就能使用該系統(tǒng),不需要進(jìn)行升級(瀏覽器版本升級除外),所有業(yè)務(wù)功能均由服務(wù)器完成。3.在局域網(wǎng)中可以聯(lián)動,同時兼具安全性。4.Hibernate對JDBC的封裝是十分到位的,由于本系統(tǒng)對于數(shù)據(jù)的批量處理要求不是特別的高,而對多表聯(lián)動查詢有較高需求,Hibernate的延遲加載功能非常符合系統(tǒng)要求。15.Mysql是一個經(jīng)過大多數(shù)用戶認(rèn)可的可靠的數(shù)據(jù)庫,其性能完全能夠滿足本系統(tǒng)的設(shè)計需求,其免費(fèi)的特性,使得系統(tǒng)的版權(quán)問題得以解決。6.Spring+ struts2的

51、模式架構(gòu),是穩(wěn)定,安全,高效的,配置方便,以后系統(tǒng)維護(hù)與升級留有更大空間,是本系統(tǒng)的不二選擇。27.MyEclipse作為一款強(qiáng)大的開發(fā)軟件,已經(jīng)成熟,并且得到業(yè)界承認(rèn),是開發(fā)系統(tǒng)時,不可或缺的重要工具。綜上所述,本系統(tǒng)采用java作為開發(fā)平臺,使用MyEclipse作為開發(fā)工具,采用B/S作為架構(gòu),Mysql作為數(shù)據(jù)庫,所用技術(shù)有:Hibernate,Spring ,struts2。3.1.2 運(yùn)行可行性本系統(tǒng)對于系統(tǒng)的要求不是非常高,一般企業(yè)的pc機(jī)完全可以自由使用本軟件,故,運(yùn)行可行性非常高。用戶界面:本系統(tǒng)完全使用AJAX的EXTJS設(shè)計界面,使界面與桌面系統(tǒng)基本一致用戶上手十分容易。

52、硬件接口:本系統(tǒng)不需要硬件接口進(jìn)行支撐。軟件接口:本系統(tǒng)運(yùn)用Myeclipse+ Dreamweaver+Spket+Tomcat服務(wù)器開發(fā),在Windows操作平臺下運(yùn)行。故障處理:內(nèi)部故障處理:在開發(fā)階段可以隨即修改數(shù)據(jù)庫里的相應(yīng)內(nèi)容。b)外部故障處理:對編輯的程序進(jìn)行重裝時,第一次裝載認(rèn)為錯,修改,第二次,在需求調(diào)用時出錯,有錯誤提示,重試。3.2 系統(tǒng)流程分析以下是對倉庫管理系統(tǒng)基本功能的說明,它們將作為后面軟件功能模塊創(chuàng)建的基本依據(jù)。3.2.1 操作員登記(Operator表)功能用途:登記或設(shè)置工作人員的身份標(biāo)識、密碼、操作權(quán)限等個人信息。操作權(quán)歸屬:擁有系統(tǒng)設(shè)置權(quán)限的操作員。主要

53、數(shù)據(jù): 操作員ID、姓名、密碼、權(quán)限、備注等內(nèi)容?;静僮鳎禾砑佑涗?、刪除記錄、更新數(shù)據(jù)、設(shè)置權(quán)限。所在位置:系統(tǒng)設(shè)置模塊。其他說明:擁有該權(quán)限的操作員可以修改登陸名和密碼及權(quán)限,但是操作員ID將不能修改,因為操作員ID為主鍵,對應(yīng)數(shù)據(jù)庫表Operator。權(quán)限限制為0-15的整數(shù)。詳細(xì)權(quán)限算法將在第四章描述。3.2.2 系統(tǒng)登陸功能用途:系統(tǒng)安全通道。這是信息系統(tǒng)最常使用的安全防范機(jī)制。操作權(quán)歸屬:需要進(jìn)入系統(tǒng)的所有人員。輸入數(shù)據(jù):用戶名、密碼。返回數(shù)據(jù):權(quán)限。內(nèi)部操作數(shù)據(jù):判斷輸入數(shù)據(jù)的合法性?;静僮鳎旱卿浶畔⑤斎?、確定登錄、取消登錄。所在位置:系統(tǒng)啟動過程中的系統(tǒng)登錄對話框。其他說明:

54、系統(tǒng)登錄的過程也就是對工作人員是否進(jìn)行過合法登記,而進(jìn)行的身份驗證的過程。由此可以防止非法用戶進(jìn)入系統(tǒng)。3.2.3 原料類型設(shè)置(material表等)功能用途:登記或設(shè)置原料類別標(biāo)識、說明。使原料能夠分類管理,以方便物品的檢索。操作權(quán)歸屬:擁有系統(tǒng)設(shè)置權(quán)限的操作員。輸入數(shù)據(jù):原料ID、原料名稱、原料類型、說明等內(nèi)容?;静僮鳎禾砑佑涗?、刪除記錄、更新數(shù)據(jù)。所在位置:系統(tǒng)設(shè)置模塊。其他說明:原料類型的設(shè)置,可以對原料進(jìn)行一定的修改。 (成品類型設(shè)置,工人工資設(shè)置,客戶資料設(shè)置,工資標(biāo)準(zhǔn)設(shè)置與原料類型設(shè)置類似,在此不再贅述)3.2.4 原料(成品)入庫(materialturnover表等)功能

55、用途:進(jìn)行原料(成品)入庫處理操作。操作權(quán)歸屬:具有單據(jù)填開權(quán)限的操作員顯示數(shù)據(jù):單據(jù)號、原料(成品)名稱、單價、說明、庫存量等。輸入數(shù)據(jù):單據(jù)號、原料(成品)名稱、單價、客戶名稱、說明等?;静僮鳎簡釉希ǔ善罚┤霂焯幚怼K谖恢茫簡螕?jù)填開模塊其他說明:成品入庫可能為兩種情況:生產(chǎn)成功直接進(jìn)入成品庫,另一種是采購成品進(jìn)行入庫。 3.2.5 原料(成品)出庫(materialturnover表等)功能用途:進(jìn)行原料(成品)出庫處理操作。操作權(quán)歸屬:具有單據(jù)填開權(quán)限的操作員顯示數(shù)據(jù):單據(jù)號、原料(成品)名稱、單價、說明、庫存量等。輸入數(shù)據(jù):單據(jù)號、原料(成品)名稱、單價、客戶名稱、說明等。基本

56、操作:啟動原料(成品)出庫處理。所在位置:單據(jù)填開模塊其他說明:需要判斷庫存是否滿足要求,達(dá)到一定值時進(jìn)行警告。這里沒有運(yùn)用頁面判斷,而是通過后臺action進(jìn)行判斷,具體設(shè)計情況,見第五章。3.2.6 派工單(working表等)功能用途:進(jìn)行派工單處理操作。操作權(quán)歸屬:具有單據(jù)填開權(quán)限的操作員顯示數(shù)據(jù):單據(jù)號、原料(成品)名稱、單價、客戶、工人、工資標(biāo)準(zhǔn)等。輸入數(shù)據(jù):單據(jù)號、原料(成品)名稱、單價、客戶、工人、工資標(biāo)準(zhǔn)等?;静僮鳎簡优晒翁幚?。所在位置:單據(jù)填開模塊其他說明:派工單是原料出庫單及工人工作單的集合,進(jìn)行完該操作后,進(jìn)入正在加工環(huán)節(jié),待加工完成后,原料轉(zhuǎn)換為一定成品入成品庫

57、,為生產(chǎn)模式入庫。 3.2.7 單據(jù)作廢功能用途:進(jìn)行單據(jù)作廢處理操作。操作權(quán)歸屬:具有單據(jù)填開權(quán)限的操作員顯示數(shù)據(jù):單據(jù)號、原料(成品)名稱、單價、說明、庫存量等。輸入數(shù)據(jù):單據(jù)號?;静僮鳎簡訂螕?jù)作廢處理。所在位置:單據(jù)填開模塊其他說明:單據(jù)作廢時將數(shù)據(jù)庫中相應(yīng)數(shù)據(jù)進(jìn)行修改,并注意數(shù)據(jù)是否合法,如作廢入庫單時,庫存是否滿足數(shù)量等判斷。 3.2.8 明細(xì)查詢功能用途:查詢原料與成品等具體情況。操作權(quán)歸屬:具有明細(xì)查詢權(quán)限的操作員 主要數(shù)據(jù):原料ID,原料類型,原料數(shù)量,出入庫單據(jù)號等具體數(shù)據(jù)。 基本操作:通過樹形搜索按所需要的值范圍查詢庫存,明細(xì)等情況。所在位置:明細(xì)查詢模塊其他說明:本查

58、詢具有數(shù)據(jù)庫設(shè)置主鍵索引,分頁器效率高,查詢采用模糊查詢方式,并且采用參數(shù)形式進(jìn)行搜索,防止js注入或sql注入入侵,提高系統(tǒng)安全性。 3.2.9 報表導(dǎo)出功能用途:匯總并導(dǎo)出相關(guān)信息。操作權(quán)歸屬:具有報表導(dǎo)出權(quán)限的操作員 輸入數(shù)據(jù):匯總?cè)掌诜秶?、匯總方式。匯總數(shù)據(jù):原料(成品)ID原料(成品)名稱、進(jìn)庫量進(jìn)庫價值、出庫量出庫價值、單據(jù)信息等?;静僮鳎哼x取日期范圍、匯總方式。所在位置:報表導(dǎo)出模塊其他說明:匯總統(tǒng)計是一種含有更復(fù)雜計算的特殊查詢操作。例如:求總和、求平均值等。為方便查看匯總結(jié)果,本系統(tǒng)考慮提供月報表、季報表,年報表等三種匯總結(jié)果顯示方式。第四章 算法描述4.1 數(shù)據(jù)結(jié)構(gòu)4.1

59、.1 表結(jié)構(gòu)設(shè)計圖4-1 表結(jié)構(gòu)1圖4-2 表結(jié)構(gòu)2表結(jié)構(gòu)設(shè)計思路:根據(jù)需求,確定每個對象的屬性,及對象間關(guān)系,包括(1:1,1:N,M:N等)考慮系統(tǒng)效率,修改表結(jié)構(gòu),使其滿足第二,第三范式,追求效率與數(shù)據(jù)冗余量的最優(yōu)化組合,同時設(shè)計索引的位置及個數(shù)。將一個多對多關(guān)系拆分成兩個一對多關(guān)系,設(shè)計中間表,設(shè)計主外鍵,在此需要說明的是,本系統(tǒng)并沒有使用數(shù)據(jù)庫的數(shù)據(jù)依賴,而是使用程序在進(jìn)行操作時進(jìn)行同步,這樣做出于以下考慮:本系統(tǒng)并未完全修善完畢,時常需要修改表結(jié)構(gòu),使用數(shù)據(jù)庫依賴會使修改表結(jié)構(gòu)變得異常復(fù)雜,牽一發(fā)而動全身,而數(shù)據(jù)庫依賴對于性能上消耗也比較多,對于部分適當(dāng)提高效率的冗余無法處理,所以

60、權(quán)衡再三,并沒有對表關(guān)系進(jìn)行數(shù)據(jù)庫層依賴,而是依靠代碼進(jìn)行控制。4.1.3 程序結(jié)構(gòu)圖圖4-6 jar包示意圖如圖4-6,本系統(tǒng)采用的java EE 5的主體框架,jdk版本是1.6版本,這個版本相對是目前比較穩(wěn)定的jdk版本之一,圖上所示是jre包,系Myeclipse自帶,而擴(kuò)展后使用的是jdk1.6版本。Hibernate版本則是3.2版,而本項目還使用了Hibernate的擴(kuò)展包,使項目對數(shù)據(jù)庫的操作更加靈活。SQL文件是用于存放sql腳本的文件,包括建表,表結(jié)構(gòu)修改等一系列對數(shù)據(jù)庫的操作。圖4-7 jsp頁面結(jié)構(gòu)圖及配置文件圖如圖4-7所示,css包用來存放css樣式表文件,而ima

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論