課程設(shè)計報告物流配送系統(tǒng)商務(wù)網(wǎng)站設(shè)計_第1頁
課程設(shè)計報告物流配送系統(tǒng)商務(wù)網(wǎng)站設(shè)計_第2頁
課程設(shè)計報告物流配送系統(tǒng)商務(wù)網(wǎng)站設(shè)計_第3頁
課程設(shè)計報告物流配送系統(tǒng)商務(wù)網(wǎng)站設(shè)計_第4頁
課程設(shè)計報告物流配送系統(tǒng)商務(wù)網(wǎng)站設(shè)計_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

商務(wù)網(wǎng)站模擬與實現(xiàn)題目:物流配送系統(tǒng)商務(wù)網(wǎng)站設(shè)計院系專業(yè)班級學(xué)號姓名指導(dǎo)教師2009年6月課程設(shè)計任務(wù)書課程設(shè)計時間:年月日至年月日課程設(shè)計地點(diǎn)課程設(shè)計內(nèi)容及要求:設(shè)計題目物流配送系統(tǒng)商務(wù)網(wǎng)站設(shè)計總體目標(biāo)、設(shè)計目標(biāo)及要求設(shè)計目標(biāo):物流配送系統(tǒng)的作用就是為了給客戶提供物流配送信息發(fā)布的平臺。使用ASP技術(shù)設(shè)計的物流配送系統(tǒng)可以使物流配送的管理變得很輕松。管理員只需設(shè)置訂單號、出發(fā)地點(diǎn)和目的地等運(yùn)單信息元素就可以了,系統(tǒng)將自動生成對應(yīng)得運(yùn)送。而使用Access數(shù)據(jù)庫,將減輕維護(hù)人員的工作量,使系統(tǒng)便于維護(hù)和管理。本物流信息網(wǎng)分為前臺和后臺兩個部分進(jìn)行設(shè)計。前臺主要用于客戶瀏覽站內(nèi)信息,并了解本公司和物流行業(yè)的相關(guān)信息;后臺主要用于管理員對管理員信息、公司簡介、倉庫服務(wù)、運(yùn)輸服務(wù)、配送服務(wù)、運(yùn)單管理、聯(lián)系我們等模塊的管理。(二)系統(tǒng)目標(biāo)如下:該物流配送系統(tǒng)是針對中小型企業(yè)的運(yùn)營管理過程進(jìn)行設(shè)計的,主要實現(xiàn)如下目標(biāo):操作簡單方便、界面簡潔美觀。網(wǎng)站整體結(jié)構(gòu)和操作流程合理順暢,實現(xiàn)人性化設(shè)計。向客戶全面展示該系統(tǒng)的各項業(yè)務(wù)。提供貨物運(yùn)單信息添加功能。提供密碼修改功能。為管理員提供登錄窗口。通過后臺,管理員可以對運(yùn)單信息進(jìn)行全面管理。系統(tǒng)最大限度的實現(xiàn)了易維護(hù)和易操作。9、系統(tǒng)運(yùn)行穩(wěn)定、安全可靠(三)、設(shè)計完成后,應(yīng)提交設(shè)計結(jié)果及設(shè)計說明書,設(shè)計結(jié)果以光盤形式提交,設(shè)計說明以A4紙打印好提交。設(shè)計說明書應(yīng)體現(xiàn)設(shè)計思想、設(shè)計過程、設(shè)計創(chuàng)意及資料來源等還說明設(shè)計結(jié)果在應(yīng)用時的應(yīng)用時的注意事項、局限性、適宜的應(yīng)用環(huán)境條件等。設(shè)計內(nèi)容網(wǎng)站設(shè)計的策劃主題:物流配送系統(tǒng)商務(wù)網(wǎng)站設(shè)計網(wǎng)站要提供對管理員信息、倉庫管理、運(yùn)輸管理、配送管理、運(yùn)單管理等模塊的管理。確定網(wǎng)站名稱及網(wǎng)站虛擬域名。網(wǎng)站總體設(shè)計網(wǎng)站CI設(shè)計符合規(guī)范、版面整潔樸素。網(wǎng)站以淺紫色為背景顏色及視覺效果。網(wǎng)頁基本要素設(shè)計。網(wǎng)頁布局及版面設(shè)計、欄目設(shè)計。網(wǎng)站導(dǎo)航圖用自己設(shè)計的圖片作為導(dǎo)航。網(wǎng)頁層次設(shè)計網(wǎng)站文件有效保存設(shè)計(存在“曾巖網(wǎng)站”的文件夾)網(wǎng)站分步設(shè)計主頁的設(shè)計制作·頁面設(shè)計·頁面圖片設(shè)計制作·頁面文檔設(shè)計排版·超鏈接設(shè)計·表單設(shè)計·動態(tài)圖標(biāo)、文字、層的設(shè)計·其他相關(guān)信息設(shè)計次級頁面設(shè)計·頁面結(jié)構(gòu)設(shè)計(框架網(wǎng)頁、共享邊框)·超鏈接及信息項表設(shè)計·與主頁協(xié)調(diào)的風(fēng)格設(shè)計·次級頁面圖片、文檔的布局設(shè)計網(wǎng)站數(shù)據(jù)庫及網(wǎng)站管理設(shè)計(可選)網(wǎng)站統(tǒng)計分析計數(shù)系統(tǒng)設(shè)計(可選)相關(guān)服務(wù)器擴(kuò)展功能設(shè)計設(shè)計環(huán)境要求硬件要求586以上多媒體電腦軟件環(huán)境·Windows98/2000(操作系統(tǒng))·office97/2000(字處理軟件)·Dreamweaver4.0(專業(yè)網(wǎng)頁制作工具)·Fireworks5.0(網(wǎng)頁圖像處理軟件)·Flash5.0(網(wǎng)頁圖像處理軟件)·MicrosoftVisio(繪圖工具)設(shè)計時間安排·網(wǎng)站設(shè)計總體策劃(定題)、基礎(chǔ)資料收集加工1周·網(wǎng)站設(shè)計制作1周·網(wǎng)站測試調(diào)整、網(wǎng)站設(shè)計說明書撰寫、提交及通過測試的網(wǎng)站1周目錄TOC\o"1-2"\u前言 1一.XXXXX策劃書 2二.網(wǎng)站功能需求設(shè)計分析 3三、網(wǎng)站概要設(shè)計 7四、網(wǎng)站詳細(xì)設(shè)計 15五、網(wǎng)站測試設(shè)計 19六、網(wǎng)站開發(fā)總結(jié)性報告 29結(jié)束語 31一.選題背景在市場競爭的激烈的時代,建立科學(xué),規(guī)范,高效管理體系是非常重要的。隨著經(jīng)濟(jì)的快速發(fā)展,對庫存的高效管理十分重要,高效的庫存管理離不開信息技術(shù),信息技術(shù)的飛速發(fā)展也為庫存管理提供了廣闊的舞臺,采用現(xiàn)代化的手段管理庫存,可以及時準(zhǔn)確地反映庫存狀況,保證庫存的數(shù)量保持在合理的水平,在滿足客戶的需要的同時最大限度地減少庫存占用,從而在競爭中保持優(yōu)勢。傳統(tǒng)的庫存管理靠人工完成,需要大量的人力物力,人工管理方式有許多缺點(diǎn)和不便的地方,易出錯,不能及時地把庫存信息反映出來,大量的文件和數(shù)據(jù)不利于查找更新和維護(hù)。利用信息技術(shù)開發(fā)信息管理系統(tǒng)對庫存進(jìn)行管理,可以方便地實現(xiàn)快速查詢,入庫出庫方便,可靠性高。因此,建立庫存管理系統(tǒng),對庫存進(jìn)行優(yōu)化存儲、管理,從而提高企業(yè)的科學(xué)管理水平,節(jié)省開支,使企業(yè)在競爭中立于不敗之地。二.解決方案的選擇(一)系統(tǒng)說明設(shè)計和實現(xiàn)庫存管理系統(tǒng),使庫存管理的工作系統(tǒng)化、規(guī)范化和自動化,從而達(dá)到提高管理效率的目的。1.利用計算機(jī)系統(tǒng)實現(xiàn)商品庫存管理。2.流程符合庫存管理要求。3.查詢方便,無論是按商品名稱、倉庫、區(qū)域、貨位、時間、操作員其中任一項都可以進(jìn)行有效查詢。4.系統(tǒng)擴(kuò)充容易,有很多地方還需要更好地完善。5.友好的用戶界面,既面向系統(tǒng)開發(fā)者,又面向用戶。(二)系統(tǒng)初步調(diào)查庫存管理需要有:產(chǎn)品相關(guān)信息設(shè)置,產(chǎn)品入庫、出庫、移庫、采購、庫存盤點(diǎn)、庫存查詢等功能。應(yīng)有入庫信息的輸入窗口,出庫信息輸入窗口,移庫信息輸入窗口、采購信息的輸入窗口,產(chǎn)品相關(guān)信息設(shè)置的輸入窗口,并且界面要自然、簡便,要有充分的提示和幫助,以便于操作人員學(xué)習(xí)使用和掌握。對輸入的錯誤又有好的措施,并隨時掌握任務(wù)的進(jìn)展情況,輸出的形式要易于理解,結(jié)果要正確。當(dāng)然了,對于用戶來說,界面就是系統(tǒng)本身。用戶特別關(guān)心能否有效地使用軟件來解決問題,用戶對軟件功能的理解都在界面上表現(xiàn)出來。人機(jī)界面體現(xiàn)了系統(tǒng)的功能,以及操作的方便程度是否符合使用的要求與工作習(xí)慣??傊?,應(yīng)使管理部門及時掌握產(chǎn)品庫存全面情況,并通過這樣的系統(tǒng),做到信息的規(guī)范管理,科學(xué)統(tǒng)計和快速查詢,從而減少管理方面的工作量。根據(jù)用戶提出的建議,為了開發(fā)出有效的庫存管理系統(tǒng),遵循以下原則:1.滿足用戶需要。之所以開發(fā)新系統(tǒng)是因為舊系統(tǒng)存在問題,束縛著組織的發(fā)展,不能適應(yīng)用戶的需要。系統(tǒng)必須能被用戶接受,實現(xiàn)用戶的初衷。2.功能更完善。功能是否完整,是指能否覆蓋組織的主要業(yè)務(wù)管理范圍。同時,還表現(xiàn)在各部分接口是否完備,數(shù)據(jù)采集和存儲格式是否統(tǒng)一,各部分是否協(xié)調(diào)一致。3.技術(shù)更先進(jìn)。正確認(rèn)識各種先進(jìn)技術(shù)的優(yōu)劣長短,從而根據(jù)組織的實際情況和未來得發(fā)展將其合理的運(yùn)用到庫存管理系統(tǒng)的開發(fā)中去。要努力發(fā)揮其高速度、高精度、高密度的優(yōu)點(diǎn),也要避免其缺乏靈活性,不便于處理意外情況的缺點(diǎn)。同時,不要為了一味的先進(jìn),而忽視了技術(shù)本身的成熟性。4.實現(xiàn)輔助決策。許多組織的決策任務(wù)非常復(fù)雜、耗時,而決策關(guān)系到組織的興衰。因此,所有的組織都需要能夠幫助他們做出最佳的決策支持系統(tǒng)。(三)可行性研究可行性分析研究的目的就是用最小的代價在盡可能短的時間里確定問題是否能解決,通過研究與此類似的系統(tǒng)后,我們具體從下面三方面考慮。1.經(jīng)濟(jì)可行性庫存管理系統(tǒng)是一個小型的管理系統(tǒng),在開發(fā)時需要軟件開發(fā)人員花費(fèi)一定的時間和精力,因此需要一定的資金。但它給企業(yè)帶來的利潤是不可估量的,節(jié)省了許多人力,物力上的開支,使庫存管理工作變繁為簡,使其更加合理化、規(guī)范化。工作效率的提高就意為著整體水平的提高,是非常值得投資的。2.操作可行性系統(tǒng)采用了可視化面向?qū)ο蟮墓ぞ唛_發(fā),其窗口、界面簡潔易懂,所以系統(tǒng)在操作上是可行的。隨著計算機(jī)知識的普及和推廣,越來越多的人掌握了計算機(jī)的基本使用方法和基本。目前,公司的管理人員已經(jīng)具備了一定的計算機(jī)基礎(chǔ)知識和實際操作經(jīng)驗。對于局域網(wǎng)、WINDOWS等環(huán)境下的軟件使用比較熟悉,對于新系統(tǒng)的開發(fā),用戶表現(xiàn)出極大的興趣和熱情,提出了各種很好的建議和要求。(四)對設(shè)計工具和相關(guān)技術(shù)的說明系統(tǒng)是采用JavaBean,Servlet,JSP開發(fā),以MyEclipse,Dreamweaver作為開發(fā)工具,以SQLServer開發(fā)數(shù)據(jù)庫,以Tomcat為服務(wù)器。系統(tǒng)開發(fā)技術(shù)(1)JSP技術(shù)介紹JSP(JavaServerPages)是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似技術(shù),它是在傳統(tǒng)的網(wǎng)頁文件(*.htm,*.html)中插入程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。JSP技術(shù)的強(qiáng)勢:=1\*GB3①一次編寫,到處運(yùn)行。在這一點(diǎn)上Java比更出色,除了系統(tǒng)之外,代碼不用做任何更改。=2\*GB3②系統(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是顯而易見的。=3\*GB3③強(qiáng)大的可伸縮性。從只有一個小的文件就可以運(yùn)行Servlet/JSP,到由多臺服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺Application進(jìn)行事務(wù)處理,消息處理,一臺服務(wù)器到無數(shù)臺服務(wù)器,Java顯示了一個巨大的生命力。=4\*GB3④多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺之下。(2)JavaBean技術(shù)介紹JavaBean是一種寫成的可重用組件。用戶可以使用JavaBean將功能、處理、值、數(shù)據(jù)庫訪問和其他任何可以用java代碼創(chuàng)造的對象進(jìn)行打包,并且其他的開發(fā)者可以通過內(nèi)部的JSP頁面、Servlet、其他JavaBean、applet程序或者應(yīng)用來使用這些對象。用戶可以認(rèn)為JavaBean提供了一種隨時隨地的復(fù)制和粘貼的功能,而不用關(guān)心任何改變。(3)Servlet技術(shù)介紹Servlet是一種獨(dú)立于平臺和協(xié)議的服務(wù)器端的應(yīng)用程序,可以生成動態(tài)的頁面。它擔(dān)當(dāng)Web瀏覽器或其他客戶程序發(fā)出請求,與HTTP服務(wù)器上的或應(yīng)用程序之間的中間層。Servlet是位于Web服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動的Java應(yīng)用程序不同,Servlet由Web服務(wù)器進(jìn)行加載,該Web服務(wù)器必須包含支持Servlet的Java。系統(tǒng)開發(fā)環(huán)境和相關(guān)開發(fā)工具(1)Tomcat介紹Tomcat服務(wù)器是一個免費(fèi)的開放源代碼的Web應(yīng)用服務(wù)器。Tomcat是Apache軟件基金會(ApacheSoftwareFoundation)的Jakarta項目中的一個核心項目,由Apache、Sun和其他一些公司及個人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和JSP規(guī)范總是能在Tomcat中得到體現(xiàn),Tomcat5支持最新的Servlet2.4和JSP2.0規(guī)范。因為Tomcat技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web應(yīng)用服務(wù)器。Tomcat是一個小型的輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP程序的首選。Tomcat和IIS、Apache等Web服務(wù)器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨(dú)立的Servlet容器是Tomcat的默認(rèn)模式。不過,Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。(2)MyEclipse介紹MyEclipse企業(yè)級工作平臺是對EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫和J2EE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的J2EE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML,CSS,JavaScript,SQL,,Struts,Hibernate等。(3)Dreamweaver介紹Dreamweaver是公司開發(fā)的集網(wǎng)頁制作和管理網(wǎng)站于一身的所見即所得網(wǎng)頁編輯器,它是第一套針對專業(yè)網(wǎng)頁設(shè)計師特別發(fā)展的視覺化網(wǎng)頁開發(fā)工具,利用它可以輕而易舉地制作出跨越平臺限制和跨越瀏覽器限制的充滿動感的網(wǎng)頁。系統(tǒng)開發(fā)中,MyEclipse負(fù)責(zé)后臺數(shù)據(jù)、業(yè)務(wù)邏輯的開發(fā),而Dreamweaver負(fù)責(zé)前臺網(wǎng)頁的開發(fā)及美化。三、系統(tǒng)設(shè)計(一)系統(tǒng)設(shè)計原則(1)簡單性:在達(dá)到預(yù)定的目標(biāo)、具備所需要的功能前提下,系統(tǒng)應(yīng)盡量簡單,這樣可減少處理費(fèi)用,提高系統(tǒng)效益,便于實現(xiàn)和管理。(2)靈活性和適應(yīng)性:以便適應(yīng)外界的環(huán)境變化。可變性是現(xiàn)代化企業(yè)的特點(diǎn)之一,是指其對外界環(huán)境的變化的適應(yīng)能力。作為企業(yè)的管理信息系統(tǒng)也必須具有相當(dāng)?shù)撵`活性,以便適應(yīng)外界環(huán)境的不斷變化,而且系統(tǒng)本身也需不斷修改和改善。因此,在這里系統(tǒng)的可變性是指允許系統(tǒng)被修改和維護(hù)的難易程度。一個可變性好的系統(tǒng),各個部分獨(dú)立性強(qiáng),容易進(jìn)行變動,從而可提高系統(tǒng)的性能,不斷滿足對系統(tǒng)目標(biāo)的變化要求。(3)一致性和完整性:一致性是指系統(tǒng)中信息編碼、采集、信息通信要具備一致性設(shè)計規(guī)范應(yīng)標(biāo)準(zhǔn);完整性是指系統(tǒng)作為一個統(tǒng)一的整體而存在,系統(tǒng)功能應(yīng)盡量完整。(4)可靠性:系統(tǒng)的可靠性指系統(tǒng)硬件和軟件在運(yùn)行過程中抵抗異常情況的干擾及保證系統(tǒng)正常工作的能力。衡量系統(tǒng)可靠性的指標(biāo)是平均故障間隔時間和平均維護(hù)時間。前者指平均的前后兩次發(fā)生故障的時間,反映了系統(tǒng)安全運(yùn)行時間,后者指故障后平均每次所用的修復(fù)時間,反映系統(tǒng)可維護(hù)性的好壞。只有可靠的系統(tǒng),才能保證系統(tǒng)的質(zhì)量并得到用戶的信任,否則就是沒有使用價值。(5)經(jīng)濟(jì)性:系統(tǒng)的經(jīng)濟(jì)性是指系統(tǒng)的收益應(yīng)大于系統(tǒng)支出的總費(fèi)用。系統(tǒng)支出費(fèi)用包括系統(tǒng)開發(fā)所需投資的費(fèi)用與系統(tǒng)運(yùn)行維護(hù)費(fèi)用之和;系統(tǒng)收益除有貨幣指標(biāo)外,還有非貨幣指標(biāo)。系統(tǒng)應(yīng)該給用戶帶來相應(yīng)的經(jīng)濟(jì)效益。系統(tǒng)的投資和經(jīng)營費(fèi)用應(yīng)當(dāng)?shù)玫窖a(bǔ)償。需要指出的是,這種補(bǔ)償有時是間接的或不能定量計算的。(二)總體設(shè)計通過對庫存信息流程的詳細(xì)調(diào)查分析,弄清了庫存管理工作的業(yè)務(wù)流程和管理功能,符號定義如下:圖3.1系統(tǒng)符號定義圖系統(tǒng)業(yè)務(wù)流程圖如下:圖3.2基礎(chǔ)數(shù)據(jù)管理圖圖3.3庫存管理圖(三)系統(tǒng)數(shù)據(jù)字典的創(chuàng)建為了對數(shù)據(jù)流程圖中的各個元素做出詳細(xì)的說明,有必要建立數(shù)據(jù)字典。數(shù)據(jù)字典的內(nèi)容主要是對數(shù)據(jù)流程圖中的數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、處理邏輯、數(shù)據(jù)存儲和外部實體等六個方面進(jìn)行具體的定義。表3.1數(shù)據(jù)項的定義數(shù)據(jù)項編號數(shù)據(jù)項名稱簡述類型及其寬度U-01用戶編號用戶的編碼數(shù)值型U-02用戶名用戶的名稱字符型,20位U-03用戶密碼用戶登錄時的密碼字符型,16位U-04用戶級別用戶使用權(quán)限數(shù)值型U-05用戶Email用戶的電子郵件字符型,20位U-06用戶手機(jī)用戶的手機(jī)號碼字符型,11位W-01倉庫編號倉庫的編號數(shù)值型W-02倉庫名倉庫的名稱字符型,50位W-03最大區(qū)域數(shù)允許的最大區(qū)域數(shù)數(shù)值型W-04地址倉庫所在的地址字符型,100位A-01區(qū)域編號倉庫的編號數(shù)值型A-02區(qū)域名倉庫的名稱字符型,50位A-03最大貨位數(shù)允許的最大貨位數(shù)數(shù)值型A-04所在倉庫區(qū)域所在的倉庫數(shù)值型S-01貨位編號貨位的編號數(shù)值型S-02貨位名貨位的名稱字符型,50位S-03最大貨物數(shù)允許的最大貨物數(shù)數(shù)值型S-04所在區(qū)域貨位所在的區(qū)域數(shù)值型ST-01類別編號類別的編號數(shù)值型ST-02類別名類別的名稱字符型,50位G-01貨物編號貨物的編號數(shù)值型G-02貨物名貨物的名稱字符型,50位G-03類別貨物所屬的類別數(shù)值型G-04最大庫存允許存儲的最大貨物數(shù)數(shù)值型G-05最小庫存允許存儲的最小貨物數(shù)數(shù)值型G-06價格貨物的價格數(shù)值型表3.2數(shù)據(jù)結(jié)構(gòu)的定義數(shù)據(jù)結(jié)構(gòu)編號數(shù)據(jù)結(jié)構(gòu)名稱簡述數(shù)據(jù)結(jié)構(gòu)組成DS-01用戶表記錄用戶信息U-01+U-02+U-03+U-04DS-02倉庫表記錄倉庫信息W-01+W-02+W-03+W-04DS-03區(qū)域表記錄區(qū)域信息A-01+A-02+A-03+A-04DS-04貨位表記錄貨位信息W-01+W-02+W-03+W-04DS-05類別表記錄類別信息ST-01+ST-02+ST-03+ST-04DS-06貨物表記錄貨物信息G-01+G-02+G-03+G-04+G-05+G-06表3.3數(shù)據(jù)流的定義數(shù)據(jù)流編號數(shù)據(jù)流名稱簡述數(shù)據(jù)流來源數(shù)據(jù)流去向數(shù)據(jù)流組成D-01入庫單用戶入庫填寫的單據(jù)用戶入庫管理模塊商品名稱,數(shù)量,倉庫,區(qū)域,貨位,備注D-02出庫單用戶出庫時填寫的單據(jù)用戶出庫管理模塊商品名稱,數(shù)量,倉庫,區(qū)域,貨位,備注D-03移庫單用戶移庫時填寫的單據(jù)用戶移庫管理模塊商品名稱,數(shù)量,移入倉庫,移入?yún)^(qū)域,移入貨位,移出倉庫,移出區(qū)域,移出貨位,備注D-04采購單用戶采購時填寫的單據(jù)用戶采購管理模塊商品名稱,數(shù)量,備注表3.4處理邏輯的定義處理邏輯編號處理邏輯名稱簡述輸入的數(shù)據(jù)流處理輸出的數(shù)據(jù)流P1入庫處理向入庫表中添加信息,更新庫存信息入庫單查收貨物要入庫的貨物,判斷庫存量是否滿足入庫量,登記入庫信息,更新庫存信息入庫單P2出庫處理向出庫表中添加信息,更新庫存信息出庫單查收貨物要出庫的貨物,判斷出庫后庫存是否低于安全庫存,登記出庫信息,更新庫存信息出庫單P3移庫處理向移庫表中添加信息,更新庫存信息移庫單查收貨物要移庫的貨物,登記移庫信息,更新庫存信息移庫單P4采購處理向采購表中添加信息,更新庫存信息采購單查收貨物要采購的貨物,登記采購信息,更新庫存信息采購單表3.5數(shù)據(jù)存儲的定義數(shù)據(jù)存儲的編號數(shù)據(jù)存儲的名稱簡述數(shù)據(jù)存儲的組成關(guān)鍵字F1用戶表存儲用戶信息用戶編號,用戶名,密碼,級別,電子郵件,用戶手機(jī)用戶編號F2倉庫表存儲倉庫信息倉庫編號,倉庫名,最大區(qū)域數(shù),地址倉庫編號F3區(qū)域表存儲區(qū)域信息區(qū)域編號,區(qū)域名,最大貨位數(shù),倉庫區(qū)域編號F4貨位表存儲貨位信息貨位編號,貨位名,最大貨物數(shù),區(qū)域貨位編號F5類別表存儲類別信息類別編號,類別名類別編號F6貨物表存儲貨物信息貨物編號,貨物名,類別,最大庫存,最小庫存,價格貨物編號F7庫存表存儲庫存信息庫存編號,貨物名,數(shù)量,倉庫,區(qū)域,貨位庫存編號F8入出庫表存儲入出庫信息入出庫編號,貨物名,倉庫,區(qū)域,貨位,操作員,數(shù)量,操作時間,類型,備注入出庫編號F9移庫表存儲移庫信息移庫編號,貨物名,操作員,數(shù)量,操作時間,移入倉庫,移入?yún)^(qū)域,移入貨位,移出倉庫,移出區(qū)域,移出貨位移庫編號F10采購表存儲采購信息采購編號,貨物名,數(shù)量,操作時間,操作員,備注采購編號(四)系統(tǒng)功能模塊劃分根據(jù)用戶操作需求,將系統(tǒng)劃分如下,并對其模塊的劃分和功能進(jìn)行描述。1.基礎(chǔ)數(shù)據(jù)管理(1)倉庫信息管理(2)區(qū)域信息管理(3)貨位信息管理(4)類別信息管理(5)用戶信息管理(6)貨物信息管理2.庫存管理(1)入庫管理(2)出庫管理(3)移庫管理(4)庫存盤點(diǎn)管理(5)庫存統(tǒng)計管理(6)采購管理整個系統(tǒng)的模塊結(jié)構(gòu)如圖所示。圖3.4系統(tǒng)的功能模塊圖(五)系統(tǒng)功能模塊明細(xì)系統(tǒng)共包括2大功能模塊,12個小功能模塊1.基礎(chǔ)數(shù)據(jù)管理主要完成基本信息(倉庫、區(qū)域、貨位、類別、貨物、用戶)的維護(hù)工作,包括添加、修改、刪除、瀏覽等功能。2.庫存管理(1)入庫管理。完成貨物入庫的管理,包括填寫入庫單,瀏覽入庫信息等功能。貨物入庫時需要檢查入庫后貨物庫存是否超過貨物最大庫存,超出時,返回錯誤提示信息,禁止貨物入庫。貨物入庫后更新庫存信息。(2)出庫管理。完成貨物出庫的管理,包括填寫出庫單,瀏覽出庫信息等功能。貨物出庫時需要檢查出庫后貨物庫存是否低于貨物安全庫存,低于時,返回錯誤提示信息,禁止貨物出庫。貨物出庫后更新庫存信息。(3)移庫管理。完成貨物移庫的管理,包括填寫移庫單,瀏覽移庫信息等功能。貨物移庫后更新庫存信息。(4)庫存盤點(diǎn)管理。完成庫存盤點(diǎn)的管理,包括瀏覽、查找?guī)齑嫘畔ⅲ聨齑鏀?shù)目等功能,保證庫存信息與實際保持一致,還可以通過倉庫、區(qū)域、貨位單條件或多條件瀏覽貨物庫存信息。(5)庫存統(tǒng)計管理??梢詫齑嫘畔ⅰ⑷霂?、出庫、采購操作進(jìn)行詳細(xì)的查詢。查詢條件包括按倉庫、區(qū)域、貨位查詢,按時間查詢,按操作員查詢。四、數(shù)據(jù)庫設(shè)計(一)數(shù)據(jù)庫設(shè)計概述1.數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計這一階段是在需求分析的基礎(chǔ)上,設(shè)計出能夠滿足客戶需求的各種實體,以及他們之間的關(guān)系,為后面的邏輯設(shè)計打下基礎(chǔ)。本例的實體有:入庫實體、出庫實體、移庫實體、采購實體。庫存管理系統(tǒng)的局部E-R視圖:圖4.1系統(tǒng)局部E-R圖庫存管理系統(tǒng)的集成E-R視圖:圖4.2系統(tǒng)集成E-R圖2.數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計現(xiàn)在需要將上面的數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計轉(zhuǎn)化為SQLServer2000所支持的實際數(shù)據(jù)類型,也就是數(shù)據(jù)庫邏輯結(jié)構(gòu)。在上面的實體和實體關(guān)系的基礎(chǔ)上,形成數(shù)據(jù)庫的表格和個表格之間的關(guān)系。本系統(tǒng)的各個表格的設(shè)計結(jié)果如下:表4.1用戶表編號字段名稱數(shù)據(jù)結(jié)構(gòu)說明1useridInt用戶編號2usernameVarchar(20)用戶名稱3passwordVarchar(16)用戶密碼4gradeInt用戶級別,1—超級用戶,2—管理員,3-普通用戶5emailVarvhar(20)電子郵件6mobileVarchar(11)手機(jī)號碼表4.2倉庫表編號字段名稱數(shù)據(jù)結(jié)構(gòu)說明1wareidInt倉庫編號2warenameVarchar(50)倉庫名稱3maxareaInt最大區(qū)域數(shù)4addressVarchar(100)地址表4.3區(qū)域表編號字段名稱數(shù)據(jù)結(jié)構(gòu)說明1areaidInt區(qū)域編號2areanameVarchar(50)區(qū)域名稱3wareidInt所在倉庫4maxspaceInt最大貨位數(shù)表4.4貨位表編號字段名稱數(shù)據(jù)結(jié)構(gòu)說明1spaceidInt貨位編號2spacenameVarchar(50)貨位名稱3areaidInt所在區(qū)域4maxgoodsInt最大貨物數(shù)表4.5類別表編號字段名稱數(shù)據(jù)結(jié)構(gòu)說明1sortidInt類別編號2sortnameVarchar(50)類別名稱表4.6貨物表編號字段名稱數(shù)據(jù)結(jié)構(gòu)說明1goodsidInt貨物編號2goodsnameVarchar(20)貨物名稱3sortidInt所屬類別4maxnumberInt最大庫存5minnumberInt最小庫存6priceInt價格表4.7庫存表編號字段名稱數(shù)據(jù)結(jié)構(gòu)說明1stockidInt庫存編號2goodsidInt貨物名稱3numberInt數(shù)量4wareidInt所屬倉庫5areaidInt所屬區(qū)域6spaceidInt所屬貨位表4.8入出庫表編號字段名稱數(shù)據(jù)結(jié)構(gòu)說明1inventoryidInt入出庫編號2goodsidInt貨物名稱3wareidInt所在倉庫4areaidInt所在區(qū)域5spaceidInt所在貨位6usernameVarchar(20)操作員7numberInt入出庫數(shù)量8modifytimedatetime入出庫時間9typeVarchar(10)入出庫類型10remarkVarchar(500)備注表4.9移出庫表編號字段名稱數(shù)據(jù)結(jié)構(gòu)說明1transferidInt移庫編號2goodsidInt貨物名稱3usernameVarchar(20)操作員4numberInt移庫數(shù)量5transtimedatetime移庫時間6inputwareidInt移入倉庫7inputareaidInt移入?yún)^(qū)域8inputspaceidInt移入貨位9outputwareidInt移出倉庫10outputareaidInt移出區(qū)域11outputspaceidInt移出貨位表4.10采購表編號字段名稱數(shù)據(jù)結(jié)構(gòu)說明1purchaseidInt采購編號2goodsidInt貨物名稱3numberInt采購數(shù)量4purtimedatetime采購時間5usernameVarchar(20)操作員6remarkVarchar(500)備注表4.11系統(tǒng)表編號字段名稱數(shù)據(jù)結(jié)構(gòu)說明1wareinitialInt倉庫是否初始化(0-否,1-是)2areainitialInt區(qū)域是否初始化(0-否,1-是)3spaceinitialInt貨位是否初始化(0-否,1-是)4sortinitialInt類別是否初始化(0-否,1-是)5goodsinitialInt貨物是否初始化五、詳細(xì)設(shè)計(一)引言為使用本系統(tǒng)的用戶提供完善的庫存管理服務(wù),以及精確的庫存查詢服務(wù),為企業(yè)管理者提供實時庫存信息,幫助企業(yè)決策者了解庫存狀態(tài),輔助做出合理的決策。該部分所有業(yè)務(wù)邏輯代碼詳見附錄Ⅱ。(二)系統(tǒng)程序設(shè)計1.用戶登錄設(shè)計說明該程序檢查用戶登錄信息是否合法,合法用戶的信息會被保存到Session中,如果未登錄用戶想使用系統(tǒng)其它功能都會被拒絕。該程序的設(shè)計可有效避免SQL注入漏洞。如圖5.1為用戶登陸界面,用戶登錄時要求用戶名長度在20個字符以內(nèi),密碼長度為6-16個字符圖5.1系統(tǒng)登錄界面如圖5.2所示為用戶登錄后界面。圖5.2用戶管理主界面該功能流程邏輯圖如下所示:圖5.3用戶管理流程邏輯圖LoginServlet得到用戶提交的數(shù)據(jù)username,password,然后調(diào)用UserProcess類的loginCheck(Stringu,Stringp)方法對數(shù)據(jù)進(jìn)行檢查。檢查方法如下:(1)首先檢查用戶名為username時的密碼(selecttop1passwordfromuserswhereusername='"+u+"'"),若不存在,表明不存在該用戶,返回用戶名錯誤提示信息。(2)若存在,檢查username的密碼與password是否相等(p.equals(rs.getString(1))),若相等,登錄成功,跳轉(zhuǎn)到用戶管理界面;否則,返回密碼錯誤提示信息。該算法有效避免了SQL注入漏洞。因為如果采用以下SQL查詢語句:selecttop1*fromuserswhereusername='"+u+"'andpassword='"+p+"'時,用戶在登錄時隨意輸入用戶名,而輸入以下密碼:'or1='1就可以成功登錄到系統(tǒng)。2.實體添加設(shè)計說明該程序功能是添加實體到數(shù)據(jù)庫,以倉庫添加為實例,其他實體的添加過程與倉庫類似,不在一一贅述。如圖5.4為倉庫添加界面,添加倉庫時要求倉庫名長度在50個字符以內(nèi),地址長度為100個字符以內(nèi)。圖5.4添加倉庫界面如圖5.5所示為成功添加倉庫后界面。圖中第一條數(shù)據(jù)即為剛剛添加數(shù)據(jù)。圖5.5成功添加倉庫界面該功能流程邏輯圖為:圖5.6添加倉庫流程邏輯圖WareServlet得到用戶提交的數(shù)據(jù)warename,maxarea,address,然后調(diào)用WareProcess類的addWare(WareBeanwb)方法將數(shù)據(jù)添加到數(shù)據(jù)庫,SQL語句如下:Stringsql="insertintowarehousevalues('"+wb.getWarename()+"',"+wb.getMaxarea()+",'"+wb.getAddress()+"')";3.分頁瀏覽設(shè)計說明該程序功能是添加實體到數(shù)據(jù)庫,以倉庫添加為實例,其他實體的添加過程與倉庫類似,不在一一贅述。如圖5.7為倉庫分頁瀏覽界面圖5.7倉庫分頁瀏覽界面1如圖5.8所示為點(diǎn)擊下一頁后倉庫分頁瀏覽界面。圖5.8倉庫分頁瀏覽界面2 該算法有四個主要的參數(shù),pageNo代表當(dāng)前的頁數(shù),pageSize代表每頁顯示幾行記錄,pageCount代表共有多少頁,rowCount代表共有多少行記錄。其中rowCount由以下SQL語句求出:selectcount(*)fromwarehouse;pageSize由程序員自己設(shè)置,pageCount的值可由以下方法求出:如果rowCount%pageSize=0,pageCount=rowCount/ageSize,否則pageCount=rowCount/ageSize+1;pageNo的值是通過參數(shù)傳遞過來的,那么上述四個參數(shù)確定后,第pageNo頁的記錄通過以下的SQL語句求的:Stringsql1="selecttop”+pageSize+"*fromwarehousewherewareidnotin(selecttop"+(pageNo-1)*pageSize+"wareidfromwarehouse)orderbywareiddesc";4.實體修改設(shè)計說明該程序功能是修改實體的信息,然后保存到數(shù)據(jù)庫,以倉庫修改為實例,其他實體的修改過程與倉庫類似,不在一一贅述。如圖5.9為倉庫修改界面,修改倉庫時要求倉庫名長度在50個字符以內(nèi),地址長度為100個字符以內(nèi)。圖5.9添加倉庫界面如圖5.10所示為成功修改倉庫后界面。圖5.10成功修改倉庫界面該功能流程邏輯圖為:圖5.11成功修改倉庫流程邏輯圖WareServlet得到用戶提交的數(shù)據(jù)wareid,warename,maxarea,address,然后調(diào)用WareProcess類的modifyWare(WareBeanwb)方法修改倉庫信息,然后將數(shù)據(jù)保存到數(shù)據(jù)庫,SQL語句如下:Stringsql="updatewarehousesetwarename='"+wb.getWarename()+"',maxarea="+wb.getMaxarea()+",address='"+wb.getAddress()+"'wherewareid="+wb.getWareid();5.實體刪除設(shè)計說明該程序功能是刪除實體的信息,以倉庫刪除為實例,其他實體的刪除過程與倉庫類似,不在一一贅述。如圖5.12為倉庫刪除界面圖5.12倉庫刪除界面如圖5.13所示為成功刪除倉庫后界面。圖5.13成功刪除倉庫界面該功能流程邏輯圖為:圖5.14刪除倉庫業(yè)務(wù)邏輯流程圖WareServlet得到用戶提交的數(shù)據(jù)wareid,然后調(diào)用WareProcess類的deleteWare(intwareid)方法刪除倉庫信息,SQL語句如下:Stringsql="deletefromwarehousewherewareid="+wareid;6.入庫設(shè)計說明該程序功能是實現(xiàn)貨物的入庫。如圖5.15、5.16所示為入庫界面圖5.15入庫界面1圖5.16入庫界面2如圖5.17所示為成功入庫后界面。圖5.17成功入庫界面該功能流程邏輯圖為:圖5.18入庫流程邏輯圖InventoryServlet得到用戶提交的數(shù)據(jù),然后調(diào)用InventoryProcess類的addInventory(InventoryBeanib)方法添加入庫信息,同時更新庫存信息,更新庫存信息的SQL語句如下:Stringsql="updatestocksetnumber=number+"+number+"wheregoodsid="+gb.getGoodsid()+"andwareid="+wb.getWareid()+"andareaid="+ab.getAreaid()+"andspaceid="+sb.getSpaceid();7.移庫設(shè)計說明該程序功能是實現(xiàn)貨物的移庫。如圖5.19所示為移庫界面圖5.19移庫界面如圖5.20所示為成功移庫后界面。圖5.20成功移庫界面該功能流程邏輯圖為:圖5.21移庫流程邏輯圖TransferServlet得到用戶提交的數(shù)據(jù),然后調(diào)用TransferProcess類的addTransfer(TransferBeantb)方法添加移庫信息,同時更新庫存信息:sp.putin(gb,inputware,inputarea,inputspace,number);sp.putout(gb,outputware,outputarea,outputspace,number);8.采購設(shè)計說明該程序功能是實現(xiàn)貨物的采購。如圖5.22所示為采購界面圖5.22采購界面如圖5.23所示為成功采購后界面。圖5.23成功采購界面該功能流程邏輯圖為:圖5.24采購流程邏輯圖PurchaseServlet得到用戶提交的數(shù)據(jù),然后調(diào)用PurchaseProcess類的addPurchase(PurchaseBeanpb)方法添加采購信息,同時更新庫存信息。六、系統(tǒng)安裝與調(diào)試本系統(tǒng)順利運(yùn)行需要以下安裝環(huán)境:jdk1.6.0以上,Tomcat6.0以上,SQLServer2000以上以及SP4升級包。開發(fā)環(huán)境為:(一)系統(tǒng)安裝1.jdk安裝首先下載jdk安裝包,地址如下:;下載完成后,雙擊安裝文件,按提示完成安裝。2.Tomcat安裝首先下載Tomcat安裝包,地址如下:下載完成后,雙擊安裝文件,按提示完成安裝。安裝完成后,進(jìn)入Tomcat主目錄下Tomcat6.0\bin,雙擊tomcat6.exe,啟動tomcat;新建IE窗口,在地址欄中輸入如下地址:,如果頁面訪問成功,則Tomcat安裝成功。3.系統(tǒng)安裝打開SQLServer查詢分析器,輸入數(shù)據(jù)庫建表語句(建附錄Ⅰ),點(diǎn)擊運(yùn)行,完成數(shù)據(jù)庫的建立。將本系統(tǒng)文件夾拷貝到Tomcat主目錄下Tomcat6.0\webapps目錄下,在IE窗口地址欄中輸入,如果訪問成功則表示本系統(tǒng)安裝成功。(二)系統(tǒng)調(diào)試錯誤1:java.lang.NumberFormatException:Forinputstring:""解決方法:檢查輸入的數(shù)據(jù)是否為空。錯誤2:java.sql.SQLException:Errorestablishingsocket.解決方法:檢查是否SQLServer服務(wù)器是否啟動。錯誤3:java.sql.SQLException:違反了UNIQUEKEY約束.解決方法:輸入的數(shù)據(jù)項與數(shù)據(jù)庫中已有的數(shù)據(jù)重復(fù),而該數(shù)據(jù)項對應(yīng)的數(shù)據(jù)庫字段設(shè)定了UNIQUE約束,即該字段數(shù)據(jù)不允許重復(fù),修改輸入數(shù)據(jù)即可解決。錯誤4:java.sql.SQLException:DELETE語句與COLUMNREFERENCE約束沖突。解決方法:刪除數(shù)據(jù)時違反了數(shù)據(jù)庫的外鍵約束,即刪除的數(shù)據(jù)的字段是其他表的外鍵。首先刪除與該記錄有關(guān)的記錄,再刪除該記錄。結(jié)束語本系統(tǒng)的設(shè)計與實現(xiàn)歷時兩個多月的時間,目前基本的功能均已實現(xiàn)。本系統(tǒng)的主要特點(diǎn)有以下幾個方面:(1)由于本系統(tǒng)采用的設(shè)計語言是基于java的,所以本系統(tǒng)能夠跨平臺運(yùn)行,即在windows,unix,linux等不同的操作系統(tǒng)環(huán)境下均可運(yùn)行。(2)由于本系統(tǒng)的設(shè)計遵循MVC的設(shè)計模式,所以代碼可重用性高,低耦合性,代碼維護(hù)方便。(3)系統(tǒng)查錯能力強(qiáng),而且對于用戶的操作錯誤都有友好而詳細(xì)的提示。(4)界面設(shè)計簡潔,以淺綠色為主色調(diào),操作方便、簡潔。但是,本系統(tǒng)設(shè)計依然不夠完善,有許多不足之處。主要有以下幾點(diǎn):(1)前期系統(tǒng)調(diào)研不足,系統(tǒng)功能還不夠完善。(2)系統(tǒng)的可擴(kuò)展性不佳,往往系統(tǒng)的一小部分修改會牽扯到許多地方的改動,工作量大且容易出錯。(3)數(shù)據(jù)庫設(shè)計不夠合理,數(shù)據(jù)冗余多,安全性不夠。綜合以上不足,系統(tǒng)的仍需不斷改進(jìn)。包括進(jìn)行更加詳細(xì)的系統(tǒng)調(diào)研,了解用戶的真正需求,不斷完善系統(tǒng)的功能,增加系統(tǒng)的實用性。技術(shù)方面可以考慮目前比較流行的SSH框架,提高系統(tǒng)的可擴(kuò)展性。參考文獻(xiàn)[1]王斌斌,吳孝麗.庫存管理系統(tǒng)UML設(shè)計[J].平頂山工學(xué)院學(xué)報,2008,(03).[2]陳瑞斌,南理勇.基于Web服務(wù)的倉庫管理系統(tǒng)設(shè)計[J].信息服務(wù)報,2008,(02).[3]杜來紅.基于Web的物料庫存管理系統(tǒng)的研究[J].物流技術(shù),2006,(8).[4]朱士高,朱軍,朱彩霞.基于WEB的企業(yè)進(jìn)銷存管理系統(tǒng)的設(shè)計[J].淮陰工學(xué)院學(xué)報,2007,(5).[5]HuangSC,HuangYM,ShiehSM.Vibrationandstabilityofarotatingshaftcontainingatransersecrack[J].JSoundandVibration,1993,162(3):387-401.[6]汪旭敏,陳曉川,楊建國等.基于WEB的庫存管理系統(tǒng)的設(shè)計和實現(xiàn)[J].機(jī)械設(shè)計與制造,2008,(1).[7]俞文躍,張長勝.基于WebService三層體系結(jié)構(gòu)的庫存管理系統(tǒng)的開發(fā)[J].福建電腦報,2008,(12).[8]喬榮麗,高淑芝,孫水亮.基于MVC模式的物資供應(yīng)管理信息系統(tǒng)的設(shè)計[J].化工之友,2007,(15).[9]張興旺,趙嘉.基于JSP的物流管理系統(tǒng)的設(shè)計與實現(xiàn)[J].物流工程,2007,(7).[10]馬穎,張勞模.基于J2EE平臺的庫存管理系統(tǒng)設(shè)計與實現(xiàn)[J].鄭州鐵路職業(yè)技術(shù)學(xué)院學(xué)報,2006,18(4).[11]許維.J2EE架構(gòu)下的物流信息系統(tǒng)設(shè)計[J].中國管理信息化,2006,9(5).[12]Manuel.DRossetti,MehmetMiman,VijithVarghese.Object-OrientedFrameworkforSimulatingMulti-EchelonInventorySystems[J],2006.[13]薛小鋒.企業(yè)采購管理系統(tǒng)的設(shè)計與實現(xiàn)[J].數(shù)據(jù)庫及信息管理,2007,(06).[14]許跟勇,周炳海.基于RFID的第三方物流倉儲管理系統(tǒng)設(shè)計應(yīng)用[J].物流科技,2008,(11).[15]陳瀟.第三方物流管理信息系統(tǒng)設(shè)計——庫存管理信息系統(tǒng)[J].山西財經(jīng)大學(xué)學(xué)報,2008,11(1).致謝經(jīng)過長達(dá)三個月的努力我的畢業(yè)論文終于完成了。在這期間,指導(dǎo)教師xxx老師給了我細(xì)致、專業(yè)的指點(diǎn)以及耐心的輔導(dǎo),在此深表敬意和感謝!同時,在我完成畢業(yè)論文的過程中,教研室的老師、輔導(dǎo)員老師以及同學(xué)們也給予了我莫大的幫助,對他們的關(guān)心、幫助我深表感謝!我更要感謝大學(xué)四年來所有教過我的老師,沒有他們深厚的專業(yè)理論知識和經(jīng)驗的授予,就沒有我今天的成績。附錄Ⅰ數(shù)據(jù)庫建表語句createdatabaseinventory;useinventory;createtableusers(useridintprimarykeyidentity(1,1),usernamevarchar(20)unique,passwordvarchar(12),gradeint);insertintousers(username,password,grade)values('sa','sa',1);select*fromusers;createtablewarehouse(wareidintprimarykeyidentity(1,1),warenamevarchar(50)unique);select*fromwarehouse;createtablearea(areaidintprimarykeyidentity(1,1),areanamevarchar(50)unique,wareidint,foreignkey(wareid)referenceswarehouse(wareid));select*fromarea;createtablespace(spaceidintprimarykeyidentity(1,1),spacenamevarchar(50)unique,areaidint,foreignkey(areaid)referencesarea(areaid));select*fromspace;createtablesort(sortidintprimarykeyidentity(1,1),sortnamevarchar(50)unique);select*fromsort;createtablegoods(goodsidintprimarykeyidentity(1,1),goodsnamevarchar(50),priceint,numberint,sortidint,wareidint,areaidint,spaceidint,maxnumberint,minnumberint,foreignkey(sortid)referencessort(sortid),foreignkey(wareid)referenceswarehouse(wareid),foreignkey(areaid)referencesarea(areaid),foreignkey(spaceid)referencesspace(spaceid));select*fromgoods;createtablestock(stockidintprimarykeyidentity(1,1),goodsidint,usernamevarchar(20),numberint,modifytimedatetime,typevarchar(10),auditbit,remarkvarchar(500)foreignkey(username)referencesusers(username),foreignkey(goodsid)referencesgoods(goodsid));select*fromstock;createtabletransfer(transferidintprimarykeyidentity(1,1),goodsidint,usernamevarchar(20),numberint,transtimedatetime,inputwareint,inputareaint,inputspaceint,outputwareint,outputareaint,outputspaceint,foreignkey(username)referencesusers(username),foreignkey(goodsid)referencesgoods(goodsid),foreignkey(inputware)referenceswarehouse(wareid),foreignkey(inputarea)referencesarea(areaid),foreignkey(inputspace)referencesspace(spaceid),foreignkey(outputware)referenceswarehouse(wareid),foreignkey(outputarea)referencesarea(areaid),foreignkey(outputspace)referencesspace(spaceid));select*fromtransfer;createtablesystem(wareinitialbit,areainitialbit,spaceinitialbit,sortinitialbit,goodsinitialbit);insertintosystemvalues(0,0,0,0,0);select*fromsystem;附錄Ⅱ系統(tǒng)主要業(yè)務(wù)邏輯代碼登錄功能主要業(yè)務(wù)邏輯代碼:publicStringloginCheck(Stringu,Stringp){ Stringstr=""; try{ conn=newConnectionProcess().getConn(); Stringsql="selecttop1passwordfromuserswhereusername='"+u+"'"; pstmt=conn.prepareStatement(sql); rs=pstmt.executeQuery(); if(rs.next()){ if(!p.equals(rs.getString(1))){ str="密碼錯誤!"; } }else{ str="用戶名錯誤!"; } }catch(SQLExceptione){ e.printStackTrace(); }finally{ this.close(); } returnstr;}添加功能業(yè)務(wù)邏輯代碼:publicbooleanaddWare(WareBeanwb){ booleanb=false; try{ conn=newConnectionProcess().getConn(); Stringsql="insertintowarehousevalues('"+wb.getWarename() +"',"+wb.getMaxarea()+",'"+wb.getAddress()+"')"; pstmt=conn.prepareStatement(sql); inti=pstmt.executeUpdate(); if(i>0){ b=true; } }catch(SQLExceptione){ e.printStackTrace(); }finally{ this.close(); } returnb;}分頁瀏覽功能業(yè)務(wù)邏輯代碼:publicArrayList<WareBean>getWares(intpageNo,intpageSize){ ArrayList<WareBean>al=newArrayList<WareBean>(); introwCount=0; try{ conn=newConnectionProcess().getConn(); Stringsql="selectcount(*)fromwarehouse"; pstmt=conn.prepareStatement(sql); rs=pstmt.executeQuery(); if(rs.next()){ rowCount=rs.getInt(1); } if(rowCount%pageSize==0){ pageCount=rowCount/pageSize; }else{ pageCount=rowCount/pageSize+1; } Stringsql1="selecttop"+pageSize+ "*fromwarehousewherewareidnotin(selecttop"+ (pageNo-1)*pageSize+"wareidfromwarehouse)orderbywareiddesc"; pstmt=conn.prepareStatement(sql1); rs=pstmt.executeQuery(); while(rs.next()){ WareBeanwb=newWareBean(); wb.setWareid(rs.getInt(1)); wb.setWarename(rs.getString(2)); wb.setMaxarea(rs.getInt(3)); wb.setAddress(rs.getString(4)); al.add(wb); } }catch(SQLExceptione){ e.printStackTrace(); }finally{ this.close(); } returnal;}修改功能業(yè)務(wù)邏輯代碼:publicbooleanmodifyWare(WareBeanwb){ booleanb=false; try{ conn=newConnectionProcess().getConn(); Stringsql="updatewarehousesetwarename='"+wb.getWarename() +"',maxarea="+wb.getMaxarea() +",address='"+wb.getAddress() +"'wherewareid="+wb.getWareid(); pstmt=conn.prepareStatement(sql); inti=pstmt.executeUpdate(); if(i>0){ b=true; } }catch(SQLExceptione){ e.printStackTrace(); }finally{ this.close(); } returnb;}刪除功能業(yè)務(wù)邏輯代碼:publicbooleandeleteWare(intwareid){ booleanb=false; try{ conn=newConnectionProcess().getConn(); Stringsql="deletefromwarehousewherewareid="+wareid; pstmt=conn.prepareStatement(sql); inti=pstmt.executeUpdate(); if(i>0){ b=true; } }catch(SQLExceptione){ e.printStackTrace(); }finally{ this.close(); } returnb;}添加入出庫記錄業(yè)務(wù)邏輯代碼:publicbooleanaddInventory(InventoryBeanib){ booleanb=false; SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss"); Stringmodifytime=sdf.format(ib.getModifytime()); try{ conn=newConnectionProcess().getConn(); Stringsql="insertintoinventoryvalues("+ ib.getGoods().getGoodsid()+","+ ib.getWare().getWareid()+","+ ib.getArea().getAreaid()+","+ ib.getSpace().getSpaceid()+",'"+ ib.getUser().getUsername()+"',"+ ib.getNumber()+",'"+ modifytime+"','"+ ib.getType()+"','"+ ib.getRemark()+"')"; pstmt=conn.prepareStatement(sql); inti=pstmt.executeUpdate(); if(i>0){ b=true; } }catch(SQLExceptione){ e.printStackTrace(); }finally{ this.close(); } returnb;}入庫時更新貨物庫存業(yè)務(wù)邏輯代碼:publicbooleanputin(GoodsBeangb,WareBeanwb,AreaBeanab,SpaceBeansb,intnumber){ booleanb=false; try{ conn=newConnectionProcess().getConn(); Stringsql="updatestocksetnumber=number+"+number +"wheregoodsid="+gb.getGoodsid() +"andwareid="+wb.getWareid() +"andareaid="+ab.getAreaid() +"andspaceid="+sb.getSpaceid(); pstmt=conn.prepareStatement(sql); inti=pstmt.executeUpdate(); if(i>0){ b=true; } }catch(SQLExceptione){ e.printStackTrace(); }finally{ this.close(); } returnb;}彈出貨物選擇對話框是用JavaScript實現(xiàn)的,代碼如下:functionshow(){ document.all['Layer1'].style.visibility='visible';}functioncloseDiv(){ document.all['Layer1'].style.visibility='hidden';}functionchange(){ varstr; closeDiv();}<divalign="center"> <divid="Layer1"> <tablewidth="400"border="0"cellpadding="0"cellspacing="0"id="table1"><%for(inti=0;i<goods.size();i=i+5){ try{ gb1=goods.get(i);%><tr><%if(gb1!=null){%><td><aid="<%=gb1.getGoodsname()%>"onclick="change();"><%=gb1.getGoodsname()%></a></td><%}if(gb2!=null){%><td><aid="<%=gb2.getGoodsname()%>"onclick="change();"><%=gb2.getGoodsname()%></a></td><%}if(gb3!=null){%><td><aid="<%=gb3.getGoodsname()%>"onclick="change();"><%=gb3.getGoodsname()%></a></td><%}if(gb4!=null){%><td><aid="<%=gb4.getGoodsname()%>"onclick="change();"><%=gb4.getGoodsname()%></a></td><%}if(gb5!=null){%><td><aid="<%=gb5.getGoodsname()%>"onclick="change();"><%=gb5.getGoodsname()%></a></td><%}%></tr><%}%> <tr> <tdcolspan="5"align="center"valign="middle"><inputtype="button"value="關(guān)閉"onClick="closeDiv();"/></td></tr></table></div>出庫時更新貨物庫存業(yè)務(wù)邏輯代碼:publicbooleanputout(GoodsBeangb,WareBeanwb,AreaBeanab,SpaceBeansb,intnumber){ booleanb=false; try{ conn=newConnectionProcess().getConn(); Stringsql="updatestocksetnumber=number-"+number +"wheregoodsid="+gb.getGoodsid() +"andwareid="+wb.getWareid() +"andareaid="+ab.getAreaid() +"andspaceid="+sb.getSpaceid(); pstmt=conn.prepareStatement(sql); inti=pstmt.executeUpdate(); if(i>0){ b=true; } }catch(SQLExceptione){ e.printStackTrace(); }finally{ this.close(); } returnb;}添加移庫記錄業(yè)務(wù)邏輯代碼:publicbooleanaddTransfer(TransferBeantb){ booleanb=false; try{ conn=newConnectionProcess().getConn(); SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss"); Stringtransfertime=sdf.format(tb.getTransfertime()); Stringsql="insertintotransfer(goodsid,username,number,transtime," +"inputware,inputarea,inputspace,outputware,outputarea,outputspace)values(" +tb.getGoods().getGoodsid()+",'" +tb.getUser().getUsername()+"'," +tb.getNumber()+",'" +transfertime+"'," +tb.getInputware().getWareid()+"," +tb.getInputarea().getAreaid()+"," +tb.getInputspace().getSpaceid()+"," +tb.getOutputware().getWareid()+"," +tb.getOutputarea().getAreaid()+"," +tb.getOutputspace().getSpaceid()+")"; pstmt=conn.prepareStatement(sql); inti=pstmt.executeUpdate(); if(i>0){ b=true; } }catch(SQLExceptione){ e.printStackTrace(); }finally{ this.close(); } returnb;}庫存盤點(diǎn)業(yè)務(wù)邏輯代碼:publicbooleanupdate(intgoodsid,intwareid,intareaid,intspaceid,intnumber){ booleanb=false; try{ conn=newConnectionProcess().getConn(); Stringsql="updatestocksetnumber="+number +"wheregoodsid="+goodsid +"andwareid="+wareid +"andareaid="+areaid +"andspaceid="+spaceid; pstmt=conn.prepareStatement(sql); inti=pstmt.executeUpdate(); if(i>0){ b=true; } }catch(SQLExceptione){ e.printStackTrace(); }finally{ this.close(); } returnb;}庫存統(tǒng)計功能代碼:publicintcount(GoodsBeangb,WareBeanware,AreaBeanarea,SpaceBeanspace){ intcount=0; Stringstr="";Stringstr1="";Stringstr2="";Stringstr3="";Stringstr4=""; if(gb.getGoodsid()!=0){ str1="goodsid="+gb.getGoodsid(); }else{ str1="1=1"; } if(ware.getWareid()!=0){ str2="andwareid="+ware.getWareid(); }else{ str2="and1=1"; } if(area.getAreaid()!=0){ str3="andareaid="+area.getAreaid(); }else{ str3="and1=1"; } if(space.getSpaceid()!=0){ str4="andspaceid="+space.getSpaceid(); }else{ str4="and1=1"; } str=str1+str2+str3+str4; try{ conn=newConnectionProcess().getConn(); Stringsql="selectsum(number)fromstockwhere"+str; pstmt=conn.prepareStatement(sql); rs=pstmt.executeQuery(); if(rs.next()){ count=rs.getInt(1

溫馨提示

  • 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

提交評論