《基于JAVA語言的速存?zhèn)}庫在線管理系統(tǒng)設計》13000字【論文】_第1頁
《基于JAVA語言的速存?zhèn)}庫在線管理系統(tǒng)設計》13000字【論文】_第2頁
《基于JAVA語言的速存?zhèn)}庫在線管理系統(tǒng)設計》13000字【論文】_第3頁
《基于JAVA語言的速存?zhèn)}庫在線管理系統(tǒng)設計》13000字【論文】_第4頁
《基于JAVA語言的速存?zhèn)}庫在線管理系統(tǒng)設計》13000字【論文】_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于JAVA語言的速存?zhèn)}庫在線管理系統(tǒng)設計目錄摘要 3第1章緒論 51.1開發(fā)背景 51.2開發(fā)意義 51.3系統(tǒng)功能介紹 5第2章關鍵技術及開發(fā)環(huán)境 62.1關鍵技術 62.2開發(fā)環(huán)境 6第3章“速存?zhèn)}庫”在線管理系統(tǒng)的需求分析 73.1需求概述 73.2操作員的管理功能分析 83.2.1注冊功能的用例分析 83.2.2登錄/注銷功能的用例分析 93.2.3操作倉庫的用例分析 103.2.4管理客戶資料的用例分析 113.2.5管理商品資料的用例分析 123.3管理員管理功能分析 123.3.1管理操作員的用例分析 133.3.2管理員發(fā)布任務的用例分析 14第4章“速存?zhèn)}庫”在線管理系統(tǒng)的概要設計 154.1倉庫管理系統(tǒng)設計 154.2倉庫管理系統(tǒng)模塊概要設計 154.2.1前臺功能模塊的設計 164.2.2管理員模塊的設計 164.2.3信息類模塊的設計 164.2.4庫房模塊 164.3倉庫管理系統(tǒng)的數(shù)據(jù)庫設計 164.3.1使用者實體 174.3.2商品分類 184.3.3商品信息 184.3.4客戶信息 194.3.5倉庫 204.3.6庫存 204.3.7出庫歷史 214.3.8入庫歷史 214.3.9任務 22第5章“速存?zhèn)}庫”在線管理系統(tǒng)的設計與實現(xiàn) 235.1前臺功能的設計與實現(xiàn) 235.1.1登錄/注銷功能的設計與實現(xiàn) 245.1.2用戶注冊 245.2管理員模塊的設計于實現(xiàn) 245.2.1管理員管理操作員 245.2.2下發(fā)任務 265.3信息類模塊的設計與實現(xiàn) 275.3.1商品管理 275.3.2客戶資料的管理 285.3.3庫存歷史 295.4庫房功能模塊的設計與實現(xiàn) 305.4.1入庫操作 305.4.2出庫操作 31第6章“速存?zhèn)}庫”在線管理系統(tǒng)測試 336.1前臺功能的測試 336.1.1注冊時用戶名驗證 346.1.2注冊時密碼驗證 346.1.3注冊手機號要求 356.2管理員功能的測試 356.2.1添加操作員 356.2.2下發(fā)、讀取任務 366.3信息類功能的測試 366.3.1客戶管理 366.3.2商品管理 386.3.3出入庫歷史 386.4庫房功能的測試 396.4.1添加入庫 396.4.2出庫 39總結(jié) 41參考文獻 42摘要現(xiàn)今社會中,無論物流行業(yè)還是其他行業(yè),倉儲的管理與運作都是其重要一環(huán),但倉儲環(huán)節(jié)的收益是最不明顯的,所以很多企業(yè)不會很重視。無論在國內(nèi)還是國際的大環(huán)境中,都存在著不足。大部分還無法做到精確和高效,基本情況還停留在人工為主的階段。本系統(tǒng)最終實現(xiàn)了對客戶、商品分類、商品信息等操作,可以更加適應更多企業(yè),庫房方面可以進行入庫或者出庫操作,出庫操作會判斷出庫商品的數(shù)量是否合理,出庫入庫操作都會想出庫表和入庫表中添加信息。庫存最多的6種商品直接顯示在首頁。本項目在實現(xiàn)時技術主要為三方面,Servlet技術、JSP、MySQL。倉庫功能最終實現(xiàn)了快速存儲,并且適合深度優(yōu)化各種新功能,可以適用于所有客戶類型,所以個人或者企業(yè)都可以使用。關鍵詞:倉儲管理Servlet技術MySQL數(shù)據(jù)庫第1章緒論1.1開發(fā)背景如同淘寶、京東一樣的電商的不斷發(fā)展,有效催生了大環(huán)境的持續(xù)發(fā)展。這對我國銷售企業(yè)新增了更多的問題與機遇,比如如今新興的快遞行業(yè),如同一匹匹黑馬出現(xiàn)在大家面前,不知不覺就方便了人們的生活。如今全球化的經(jīng)濟在發(fā)展,我國遲早會同世界經(jīng)濟比肩。同時也會對我國同類的公司發(fā)展方向產(chǎn)生濃厚的影響。盡管國內(nèi)企業(yè)也在持續(xù)發(fā)展,但是問題依然存在。世界貿(mào)易組織的加入電商業(yè)的迅猛發(fā)展。為了更多的機會,必要環(huán)節(jié)是優(yōu)化企業(yè)的倉儲管理。為了順應時代信息化的節(jié)奏,所以要開發(fā)此類系統(tǒng),以提高效率來提高效益,促進國民經(jīng)濟。1.2開發(fā)意義管理系統(tǒng)是整個企業(yè)物質(zhì)基礎,可以作為企業(yè)的骨架來強化。企業(yè)的倉儲方面的運行,從貨物的入庫、管理、出庫一系列操作等等,從一定意義上講,都是倉儲環(huán)節(jié)管理的過程?,F(xiàn)在部分電商很機智選擇在物流和倉儲上下大力氣,在全國各地建倉,就近發(fā)貨,這樣用戶收到貨的時間大大減少,極高的提升了用戶體驗度,所以企業(yè)的收益就會在點滴之間積攢。1.3系統(tǒng)功能簡介在倉庫管理首頁展示出當前庫存的數(shù)量前幾名的商品,快捷按鈕主要有注冊、登錄、注銷、管理客戶信息、商品分類,商品信息、出入庫操作,和查看歷史信息等等,此部分可供操作員使用。管理員不僅使用全部操作員功能,并且可以管理操作員,下發(fā)任務。整個系統(tǒng)涵蓋了增刪改查,連表查詢,查詢分頁、總數(shù),條件查詢和搜索等等。

第2章關鍵技術及開發(fā)環(huán)境本章主要是簡要的描述下本系統(tǒng)使用的部分技能,包括所使用到的編程思想、后臺技術(Servlet)、設計模式(MVC模式)、數(shù)據(jù)庫(MySQL)、JSP等技術,最后的目的是確定一個更為優(yōu)秀的關于本系統(tǒng)的開發(fā)環(huán)境。2.1關鍵技術1.Java語言本文是使用Java進行編寫的,原因是此語言擅長開發(fā)web項目,現(xiàn)在十分的普遍。Java語言由來已久,編程環(huán)境穩(wěn)定、設計思想簡潔明了。其特色是面對對象,把一個個實物抽象為方法,在方法里編寫各種代碼。2.Servlet容器全稱為ServerApplet,就是服務連接器。我們就是用它來進行獲取、使用數(shù)據(jù)。它的特點是具有單獨平臺和協(xié)定,并且它就是用Java編寫的,所以使用起來會更加得新應手,大部分情況把它用于交互式地瀏覽和生成數(shù)據(jù),也就是顯示動態(tài)數(shù)據(jù)。3.MVC模式使用MVC的主要目的就是將模型層與視圖層的編寫代碼進行分離。它的優(yōu)點在于在開發(fā)過程中,可以使代碼明確分工,維護起來更加系統(tǒng)化,代碼重用性高,降低耦合度。4.JSP技術全稱叫做JavaServerPages。是一種網(wǎng)頁技術。可以理解為在網(wǎng)站中所看到的內(nèi)容都有它的參與。在生活中所使用的大部分的網(wǎng)站幾乎都用到此技術。它是根據(jù)客戶端請求而進行響應,再根據(jù)響應內(nèi)容生成相對應的Html、Xml或其他格式Web網(wǎng)頁。2.2開發(fā)環(huán)境1.MySQL數(shù)據(jù)庫這種庫是使用者能夠看的到代碼的,其可以一定的程度上減少整個過程的花銷,還可以結(jié)合使用者的需求,無論是大范圍的還是小范圍的,盡可能都要考慮到,最后要更進一步的開始著手編寫。2.Tomcat服務器Tomcat更新了多個版本,本系統(tǒng)中用到的是大版本為8.0的版本。這個版本與之前的版本相比,有了不小的更新,強化了管理方面的程序。

第3章“速存?zhèn)}庫”在線管理系統(tǒng)的需求分析3.1需求概述本文在需求分析過程中主要從如下方向進行了簡要的分析。在技術上使用Servlet、MVC模式以及JSP進行開發(fā),存儲數(shù)據(jù)使用MySQL數(shù)據(jù)庫,開發(fā)軟件使用Myeclipse,使用MVC模式使項目互相分離,最后用JSP在瀏覽器上顯示出界面。在時間上不會花費很長的時間和精力,需要在很短的時間內(nèi),就可以完成軟件的開發(fā)。開發(fā)完成后依靠于網(wǎng)絡,可以不必下載安裝,節(jié)省用戶空間,只要有網(wǎng)絡即可,管理者在任何地方都可以查看工作進度和歷史匯總。因此分別設計了出、入庫歷史。本文主要針對中小型企業(yè)所需要的倉庫管理,任何人都可以注冊使用,但是與在官網(wǎng)購買的功能不同,購買后的功能更加豐富,免費注冊僅包含基本功能。用戶在進入網(wǎng)站時可以直接進入,可以瀏覽關于倉庫管理功能的介紹,這其中包括設計思想,優(yōu)勢等信息。但是,如果用戶想要使用時,必須先注冊,然后登陸,進行身份驗證,允許免費注冊的原因是使客戶先體驗功能,然后有意向可以購買。另外對于小型企業(yè)可能對此沒有那么大的需求,因此提供這些基本功能即可,如果該公司發(fā)展的好,日后也會有可能購買。在用戶登錄時不會區(qū)分用戶角色,其中角色可以操作的流程如表3-1,操作員和管理員登錄都在一個界面,獲取數(shù)據(jù)后會在后臺進行判斷是操作員還是管理員,登錄后就可以進行操作。管理員管理操作員的話,可以進入管理員登錄的接口。操作員可以實現(xiàn)的功能是對倉庫的全部的功能操作。管理員不僅僅可以操作上述功能,還可以管理操作員權(quán)限,給操作員下發(fā)任務。表3-1角色實現(xiàn)的功能使用者名稱需要實現(xiàn)的功能操作員登錄/注銷功能、注冊功能、管理客戶信息、管理商品信息、管理庫房功能管理員操作員全部功能修改操作員信息、下發(fā)任務、管理操作員權(quán)限倉庫系統(tǒng)管理需求用例圖如圖3-1。操作員操作倉庫的功能,管理員同樣可以操作全部功能,并且可以完全管理操作員,與下發(fā)任務。圖3-1倉庫系統(tǒng)管理需求用例圖3.2操作員的管理功能分析操作員可以操作的功能如圖3-2。使用者的操作主要包括注冊、登錄/注銷、操作庫房、完善客戶、商品等資料等,在此操作中包括了查看、添加、刪除和修改功能。圖3-2用戶管理用例圖3.2.1注冊功能的用例分析注冊功能用例圖如圖3-3。其人員是普通使用者,使用者在沒有賬號時先注冊才可以使用倉庫功能。在注冊的過程中填寫信息,填寫的是用戶名、登錄密碼、再次確認密碼、聯(lián)系電話的信息,在驗證數(shù)據(jù)可用后點擊注冊按鈕,注冊成功。圖3-3注冊功能用例圖用戶注冊詳細描述如表3-2,用戶在完善好基本的信息后,還需要在后臺中操作非空驗證,只有校驗成功后,用戶才可以點擊注冊按鈕完成注冊。表3-2用戶注冊詳細描述用例名稱使用者注冊的操作用例的簡要描述用戶在進入網(wǎng)站后可以觀看倉庫功能的介紹,但是不能使用,使用需要進入注冊頁面進行注冊功能,注冊需要填寫基本的信息。參與人員用戶前置條件用戶如果想要使用功能,需要自愿按照需求進行注冊?;臼录僮?.填寫用戶名稱、用戶密碼、聯(lián)系電話的個人信息資料。2.點擊“注冊用戶”按鈕。3.將填寫完的信息提交到數(shù)據(jù)庫中進行檢驗。4.驗證提交后的信息是否為空、驗證格式是否滿足要求5.如果輸入都驗證通過后,則注冊成功。其他事件操作如果上面的校驗有一個不正確,則還在注冊頁面,用戶需要重新注冊。異常事件操作如果在注冊的過程中退出系統(tǒng),注冊失敗。后置條件注冊成功后,數(shù)據(jù)將會被保存在數(shù)據(jù)庫中。3.2.2登錄/注銷功能的用例分析登錄功能用例圖如圖3-4,需要先填寫基本的資料,經(jīng)驗證后才可以成功。圖3-4用戶登錄用例圖登錄詳細描述如表3-3,使用者不需要在已經(jīng)注冊成功的賬號下再進行登錄。在注冊成功后簡化登錄,直接在數(shù)據(jù)庫中校驗。本系統(tǒng)因為流動使用性所以沒有記住用戶名功能。表3-3登錄詳細描述用例名稱登錄操作簡要描述操作員者或者管理員想要進行信息管理或者操作倉庫功能需要進行登錄,在實現(xiàn)這些功能的前提是在已經(jīng)注冊的賬號下,進入登錄頁面進行登錄。參與人員操作員和管理員前置條件操作員使用已注冊的賬號在登錄頁面進行登錄?;臼录僮?.輸入用戶名稱、用戶密碼的信息。2.點擊頁面上的“登錄”按鈕。3.將填寫完的信息提交到數(shù)據(jù)庫中進行檢驗。4.驗證用戶名是否存在、驗證用戶名和密碼是否正確。5.如果輸入都驗證通過后,則登錄成功。其他事件操作如果上面的校驗有一個不正確,則還在登錄頁面,并在登錄頁進行提示。異常事件操作如果在登錄的過程中退出,登錄失敗。后置條件登錄成功后將會跳轉(zhuǎn)到倉庫管理頁面,顯示出當前操作員名稱。注銷用例圖如圖3-5,當使用者不想使用功能時可以退出,這樣就不能再對倉庫等功能進行操作。用戶可以安心的退出系統(tǒng),而且本系統(tǒng)有過濾器功能,且判斷用戶是否退出。如果用戶本身退出,其他人是使用不了倉庫功能的。圖3-5使用者注銷用例圖注銷的詳細描述如表3-4,在操作完畢后,可以直接進行退出,無法瀏覽,無法操作。表3-4用戶注銷的詳細描述用例名稱用戶注銷操作用例的簡要描述用戶或者管理員在操作結(jié)束后,為了企業(yè)的私密性提供了注銷功能,為了防止信息泄露。參與人員操作員和管理員前置條件用戶需要注銷功能,對用戶起到安全保障。基本事件操作1.點擊頁面內(nèi)“退出登錄”按鈕。2.在數(shù)據(jù)庫內(nèi)部進行操作。3.注銷后,再次返回系統(tǒng)首頁。其他事件操作無。異常事件操作無。后置條件注銷后,清空瀏覽器Session,防止盜用。3.2.3操作倉庫的用例分析操作倉庫用例圖如圖3-6。在登錄成功后就可以對庫房進行管理,出庫、入庫操作。入庫時需要填寫商品資料,否則按照邏輯無法添加,因為現(xiàn)實中也無法向讓倉庫被空的東西占滿,入庫的同時并向入庫歷史中添加數(shù)據(jù)。出庫也可以選擇出庫部分和出庫全部,與現(xiàn)實中對應,出庫的同時向出庫歷史中添加數(shù)據(jù)。因為本系統(tǒng)數(shù)據(jù)都在網(wǎng)絡操控,對于歷史信息很看重,所以出庫歷史和入庫歷史信息操作員不可以修改,默認按照時間排序。圖3-6用戶操作庫房用例圖操作倉庫的詳細描述如表3-5,無論是操作員還是管理者,登陸成功后都可以操作,本部分可以實現(xiàn)的是倉庫的出庫全部、出庫部分、入庫,查看庫存等功能。在這個過程中出入庫等信息都會錄入數(shù)據(jù)庫中,方便后臺操作。表3-5操作庫房的詳細描述用例名稱管理庫房用例的簡要描述操作員或者管理員在登錄成功后,可以對庫存進行查看、出庫和入庫等功能。參與人員操作員和管理員前置條件操作員需要登錄成功,再對倉庫進行基本的操作?;臼录僮?.點擊“管理當前庫存”進入。2.可以查看到當前的庫存商品信息,并且可以進行所需要的進行操作。3.出庫時可選擇出庫全部和出庫部分4.可以點擊“添加新入庫”進行入庫操作異常事件操作如果在操作的過程中退出系統(tǒng),將會修改失敗。后置條件操作成功后會刷新庫房信息顯示在頁面上。3.2.4管理客戶資料的用例分析在登錄成功后可以管理客戶信息。管理客戶用例圖如圖3-7。圖3-7管理客戶資料用例圖管理客戶詳細描述如表3-6,無論是操作員還是管理員,登陸成功后都可以操作,本部分可以實現(xiàn)的是查看、添加客戶,修改客戶信息等,所有信息都會錄入數(shù)據(jù)庫中,方便后臺操作。表3-6操作客戶資料的詳細描述用例名稱管理客戶信息用例的簡要描述操作員或者管理員在登錄成功后,可以對客戶信息進行查看、添加、修改等功能。參與人員操作員和管理員前置條件操作員登錄后,對客戶信息進行基本的管理操作?;臼录僮?.點擊“全部客戶”進入。2.可以查看到當前的客戶信息,并且可以進行所需要的進行操作。3.若當前客戶在系統(tǒng)中沒有業(yè)務則可以刪除。4.可以點擊“添加”進行添加客戶操作。異常事件操作如果在操作的過程中退出系統(tǒng),將會修改失敗。后置條件操作成功后會刷新客戶信息顯示在頁面上。3.2.5管理商品資料的用例分析管理商品資料用例圖如圖3-8。在登錄成功后就可以對管理商品資料進行添加、修改、刪除等操作。商品資料中包含客戶所屬,即商品的所屬。圖3-8管理商品資料用例圖操作倉庫的詳細描述如表3-7,無論是操作員還是管理者,登陸成功后都可以操作,本部分可以實現(xiàn)的是倉庫所存的商品資料管理功能,沒有商品資料就不能向庫房存入。商品資料的信息都會錄入數(shù)據(jù)庫中,方便后臺操作。表3-7用戶操作商品的詳細描述用例名稱管理商品信息用例的簡要描述操作員或者管理員在登錄成功后,可以對商品資料進行管理的功能。參與人員操作員和管理員前置條件操作員需要登錄成功,再對商品資料進行基本的操作。基本事件操作1.點擊“商品信息”進入。2.可以查看到當前的商品信息,并且可以對所需要的進行操作。3.對商品資料進行修改,如果庫房中沒有此商品,則可以刪除。4.點擊“添加”進行添加商品資料其他事件操作無異常事件操作如果在操作的過程中退出系統(tǒng),將會修改失敗。后置條件操作成功后會刷新商品信息顯示在頁面上。3.3管理員管理功能分析管理員管理的用例圖如圖3-9,操作員可以操作登錄/注銷、管理倉庫,查看庫存,管理客戶、商品信息等系列操作。而管理員不僅僅可以操作所有操作員的操作,還可以下發(fā)任務、添加或操作所有的操作員。圖3-9用戶信息管理的用例圖3.3.1管理操作員信息的用例分析管理操作員用例圖如圖3-10。在登錄成功后就可以對操作員進行管理。圖3-10管理操作員資料用例圖管理操作員詳細描述如表3-8,管理員需要在登陸成功后,才可以操作,本部分可以實現(xiàn)的是查看、添加操作員,修改操作員信息等,所有信息都會錄入數(shù)據(jù)庫中,方便后臺操作。表3-8用戶操作管理員信息的詳細描述用例名稱管理操作員用例的簡要描述管理員在登錄成功后,可以對操作員信息進行查看、添加、修改等功能。參與人員管理員前置條件管理員需要登錄成功,再對客戶信息進行基本的操作。基本事件操作1.點擊“超級管理員登錄”進入。2.可以查看到當前的操作員信息,并且可以進行所需要的進行操作。3.可以點擊“添加”進行添加操作員操作。異常事件操作如果在操作的過程中退出系統(tǒng),將會修改失敗。后置條件操作成功后會刷新客戶信息顯示在頁面上。3.3.2管理員發(fā)布任務的用例分析管理員下發(fā)任務用例圖如圖3-11。在登錄成功后就可以進行下發(fā)任務。圖3-11管理員下發(fā)任務用例圖管理操作員詳細描述如表3-9,管理員登陸成功后可操作,本部分可以實現(xiàn)的是給操作員下發(fā)任務,所有任務信息都會錄入數(shù)據(jù)庫中,方便后臺操作。表3-9下發(fā)任務的詳細描述用例名稱下發(fā)任務用例的簡要描述管理員在登錄成功后,可以對操作員下發(fā)任務的功能。參與人員管理員前置條件管理員需要登錄成功,再對客戶信息進行基本的操作。基本事件操作1.點擊“超級管理員登錄”進入。2.可以查看到當前的操作員信息,并且可以進行所需要的進行操作。3.可以點擊“下發(fā)任務”進行操作。4.填寫完成任務后點提交完成下發(fā)任務。其他事件操作無異常事件操作如果在操作的過程中退出系統(tǒng),將會修改失敗。后置條件操作成功后,當操作員登錄即可查看任務。第4章“速存?zhèn)}庫”在線管理系統(tǒng)的概要設計4.1倉庫管理系統(tǒng)設計本系統(tǒng)主要是按照B/S結(jié)構(gòu)來搭建的,整個倉庫系統(tǒng)的結(jié)構(gòu)主要分為三層如圖4-1。第一層是由JSP頁面展現(xiàn)出來的表現(xiàn)層。第二層主要是每一個實現(xiàn)的功能部分。第三層主要是后臺的數(shù)據(jù)操作部分。圖4-1倉庫管理系統(tǒng)的三層架構(gòu)4.2倉庫管理系統(tǒng)模塊概要設計按照上述的需求分析,倉庫系統(tǒng)主要分為兩個部分如圖4-2,包括管理員功能和操作員功能。圖4-2倉庫管理系統(tǒng)的總體功能需求框架4.2.1前臺功能模塊的設計1.前臺展示前臺有若干界面展示倉庫管理的功能與優(yōu)勢,并且大部分數(shù)據(jù)是由數(shù)據(jù)庫動態(tài)獲取而來的,從而搭建成更為一個完整的網(wǎng)站。2.注冊功能用戶想要使用倉庫的功能時,就需要購買一個屬于自己的賬號,也可以免費注冊,區(qū)別在于免費注冊賬戶只能使用基本的倉庫功能,不能使用管理員的功能。免費注冊點擊注冊按鈕,填寫基本的使用者的資料,并放到庫中。3.登錄/注銷功能使用者在擁有賬號后,即可點擊“登錄”按鈕,填寫賬號、密碼,進入后臺庫中進行驗證即可。使用者操作結(jié)束后,可以點擊退出賬號,對賬號具有一定的安全性。4.2.2管理員模塊的設計1.管理操作員查看所有操作員并且可以對操作員信息進行修改、添加或刪除。2.下發(fā)任務此功能為一個小的互動,管理員在登錄管理界面后可以點擊下發(fā)任務,提交以后操作員一登錄自己的賬號,就可以看到任務提醒,并且顯示任務條數(shù)。操作員讀取后可以自主設置任務為已讀狀態(tài)。4.2.3信息類模塊的設計1.管理客戶查看所有合作過的客戶,添加客戶,刪除客戶,修改客戶。2.管理商品分類查看商品分類,添加分類,刪除類,修改分類,商品分類是商品中必要的。3.管理商品查看所有商品的信息、添加、刪除、修改商品信息。4.2.4庫房模塊進入庫房功能頁面后,可以查看當前的庫存信息,并且可以選擇庫存的商品進行出庫部分或者全部。也可以進行入庫操作,且入庫的商品應該在商品資料中存在。4.3倉庫管理系統(tǒng)的數(shù)據(jù)庫設計數(shù)據(jù)庫是本項目核心中的核心,所有的操作都依賴于此,在頁面中的操作都會通過DAO層向數(shù)據(jù)庫存入,所以所有的操作的根本原理都是在操作數(shù)據(jù)庫,進而操作數(shù)據(jù),確定數(shù)據(jù)關系是需要在開發(fā)之前就已確定的。數(shù)據(jù)庫關系描述圖如下。圖4-3數(shù)據(jù)庫關系描述圖4.3.1使用者信息圖4-4為使用者實體,其內(nèi)容包含編號、用戶名、密碼、聯(lián)系電話和權(quán)限,如圖4-4。編號是給操作員所做唯一標識所設置的,以確保不會有重復。聯(lián)系電話是其基本信息,以便公司方便聯(lián)系,權(quán)限是為了區(qū)分操作員和管理員,管理員只能有公司添加,注冊來的只能是操作員,用戶名和密碼是登錄所使用屬性而定義的字段。圖4-4使用者E-R圖數(shù)據(jù)庫中使用者的表如表4-1,用戶的編號為保證不會重復設置為自增,因此選擇int,它的類型是整數(shù)類型,長度設置為3,即同一個企業(yè)最多有999個用戶,姓名可以輸入漢字或者字母,所以使用varchar,長度設置為20,所以即使英文名或者少數(shù)民族都可以使用。密碼可以使用的是數(shù)字或者字母,因此選擇的是varchar類型,長度設置為10。電話號碼選擇varchar類型,是因為考慮到有的號碼帶有符號,長度設置為14位,14位長度就足夠了。狀態(tài)的值只需要有兩個值,因此可以用數(shù)字表示,所以使用int類型,默認值設置為0,表示的是此位使用者是操作員,管理員由購買時設置為1,可以管理之下的所有操作員。表4-1使用者類型表字段名中文名類型長度可為空默認值Id編號int3主鍵無Name姓名varchar20不可為空nullPwd密碼varchar10不可為空nullTelephone電話varchar14不可為空nullStatus狀態(tài)int1不可為空04.3.2商品分類信息圖4-5為商品分類實體,它設置有編號、分類名稱、備注三個字段。此表是用來記錄商品的類別,并且記錄各個類別的商品有何特殊即備注欄。同時是為了限定添加商品時的類別,如果沒有此類別需要先行添加。圖4-5商品分類E-R圖表4-2在數(shù)據(jù)庫中,編號(id)用的是int類型,設置自增,防止重復,長度設置為3。商品分類(category)它采用的是varchar類型,并且長度設置為20,是是為了預防數(shù)據(jù)溢出。備注(remarks)使用的是varchar類型,長度是20,是為了記錄某一類商品是有何特殊的特性所設置的。表4-2商品分類類型表字段名中文名類型長度可為空默認值Id編號int3主鍵無Category商品分類varchar20不可為空nullRemarks備注varchar20不可為空null4.3.3商品信息圖4-6為商品信息實體,它設置了編號(id),商品名稱(category),商品分類ID(cat),客戶ID(cus)共四個字段,此表用來記錄的是要庫存的商品的信息,設置的主鍵是ID,為防止重復,設置主鍵(id)自增。商品分類ID和客戶ID是外鍵,因此,在系統(tǒng)內(nèi)就可以根據(jù)各自的ID而查詢出,商品分類的所有信息,和客戶的所有信息。編號(id)用的是int類型,設置自增,防止重復。圖4-6商品信息E-R圖表4-3為商品分類。ID(cat)使用的是int類型,長度設置為3。商品名稱(Cname)使用varchar類型,長度設置為10。分類ID(Cat)使用int類型,為了尋找對應商品分類而設置,長度為3。客戶ID(cus)使用的是int類型,長度是3,即最多可有999位客戶,是為了根據(jù)商品查詢客戶所有信息所設置的。表4-3商品信息類型表字段名中文名類型長度可為空默認值id編號int3主鍵無Cname商品名稱varchar10不可為空nullCat分類IDInt3不可為空nullCus客戶IDInt3不可為空null4.3.4客戶信息圖4-7為客戶信息實體,它設置有編號(id),客戶名稱(customer),備注(remarks),聯(lián)系人(contact),聯(lián)系電話(phone)。此表設置一個主鍵是ID,不另外再設置外鍵,因為此表作為別的表的依賴,所以不需要去查詢別的表。圖4-7客戶信息E-R圖表4-4為客戶信息。Id依然采用int類型,為了防止重復,設置主鍵并且設置自增,長度為3。Customer(客戶),采用的varchar類型,長度設置為20,Remarks采用varchar類型,長度設置為50??梢杂涗浥c該客戶的合作或者需求。Contact字段,采用的是varchar類型,把長度設置為10。Phone為電話號碼,采用int類型,考慮有的客戶電話有前綴,長度設置14位。表4-4客戶信息類型表字段名中文名類型長度可為空默認值Id編號int3主鍵無Customer客戶名稱varchar20不可為空nullRemarks備注varchar50可為空nullContact聯(lián)系人varchar10不可為空nullPhone客戶電話int14不可為空null4.3.5倉庫信息圖4-8為倉庫信息實體,它設置有編號(id)、倉庫名稱(loc)、備注(remarks)。圖4-8倉庫E-R圖表4-5為倉庫信息。它的編號采用int類型,長度為3,并且設置主鍵自增。Loc字段是采用的varchar類型,長度設置為10。編號采用varchar類型,記錄倉庫的所有動作,把它的長度設置為50。表4-5為倉庫信息表表4-5倉庫使用類型表字段名中文名類型長度可為空默認值Id編號int3主鍵無Loc倉庫名稱varchar10不可為空nullRemarks備注varchar50可為空null4.3.6庫存信息圖4-9為庫存實體,它設置有編號(id)、商品ID(commid)、倉庫名稱(loc)、庫存數(shù)量(num)、存入日期(dates)。圖4-9庫存E-R圖表4-6為庫存信息。它的編號采用int類型,長度為3,設置主鍵自增,防止重復。商品ID使用int類型,長度為3。Loc采用varchar類型,長度設置為10。Num是庫存數(shù)量,長度設置為5。Dates采用time類型,不需要設置長度,在jsp頁面加入了時間插件,所以存入的字符串實際上就是標準的時間格式。表4-6庫存類型表字段名中文名類型長度可為空默認值Id編號int3主鍵無Commid商品IDint3不可為空nullLoc倉庫名稱varchar10不可為空nullNum庫存數(shù)量int5不可為空nullDates時間time無不可為空null4.3.7出庫歷史信息圖4-10為出庫歷史實體,它設置有編號(id)、商品id(commid)、倉庫名稱(loc)、出庫數(shù)量(num)、出庫日期(dates)五個字段。圖4-10出庫歷史E-R圖表4-7為出庫歷史信息。此處Id使用的是int類型,為了避免重復,設置主鍵并且設置自增,長度為3。Commid為int類型,設置外鍵,關聯(lián)商品表。長度為3。Loc為varchar類型,設置外鍵,關聯(lián)倉庫表,長度為10。Num表示出庫數(shù)量,采用int類型,長度為5。dates為time類型,不需要設置長度。表4-7出庫歷史類型表字段名中文名類型長度可為空默認值Id編號int3主鍵無Commid商品IDint3不可為空nullLoc倉庫名稱varchar10不可為空nullNum出庫數(shù)量int5不可為空nullDates出庫日期time無不可為空null4.3.8入庫歷史信息圖4-11為入庫歷史實體,它設置有編號(id)、商品id(commid)、倉庫名稱(loc)、入庫數(shù)量(num)、入日期(dates)五個字段。圖4-11入庫歷史E-R圖表4-8為入庫歷史信息。Id采用的是int類型,設置主鍵自增,防止重復,長度為3。Commid為int類型,設置外鍵,關聯(lián)商品表,長度為3。Loc為varchar類型,設置外鍵,關聯(lián)倉庫表,長度為10。Num表示入庫數(shù)量,采用int類型,長度為3。dates為time類型,不需要設置長度。表4-8入庫歷史類型表字段名中文名類型長度可為空默認值Id編號int3主鍵無Commid商品IDint3不可為空nullLoc倉庫名稱varchar10不可為空nullNum入庫數(shù)量int3不可為空nullDates入庫日期time無不可為空null4.3.9任務信息圖4-12為任務使用實體,此表有三個字段,編號(id),任務(task),狀態(tài)(state)。圖4-12任務用例E-R圖表4-9為任務信息。Id采用int類型,長度為3,設置主鍵自增。Task使用varchar類型,長度設置100。State只來表示已讀未讀,所以采用int類型,長度為1。表4-9任務類型表字段名中文名類型長度可為空默認值Id編號int3主鍵無Task任務int100不可為空nullState狀態(tài)varchar1不可為空0第5章“速存?zhèn)}庫”在線管理系統(tǒng)的設計與實現(xiàn)本章主要是對倉庫系統(tǒng)的實現(xiàn)進行了詳細的說明,同時也展示了部分開發(fā)代碼。此部分是整個系統(tǒng)的核心部分,幾乎涵蓋了本項目的所有功能。整體上使用了MVC開發(fā)模式,在編寫過程中使用了很多標準注釋,一部分配置信息,和JAVA語言的特性POJO即JAVA對象。和JAVA的另一特性封裝,即將一些重復程序打包后進行共享。5.1前臺功能的設計與實現(xiàn)5.1.1登錄/注銷功能的設計與實現(xiàn)登錄效果截圖圖5-1登錄界面效果截圖操作員需要使用倉庫功能時,必須要進行登錄,登錄后倉庫頁會顯示登錄的用戶名。如果登錄失敗,則會重新回到登錄界面。登錄功能的核心代碼。Stringname=request.getParameter("name");Stringname=request.getParameter("name"); Stringpwd=request.getParameter("pwd"); user=service.login(name,pwd); if(user!=null){ request.getSession().setAttribute("user",user);//轉(zhuǎn)發(fā)是在服務器端發(fā)揮作用,通過forward方法將提交信息在多個頁面間//進行傳遞 request.getRequestDispatcher("index.jsp").forward(request,response); }5.1.2用戶注冊 注冊效果圖。圖5-2注冊時效果截圖注冊需要填寫基本信息,填寫信息有一定要求,由前臺判斷,后臺只負責存儲。注冊功能部分核心代碼如下。Stringname=request.getParameter("zname");Stringname=request.getParameter("zname"); Stringpwd=request.getParameter("zpwd"); Stringphone=request.getParameter("num"); Useruser=service.zhuce(name,pwd,phone); if(user!=null){ //判斷是否注冊成功,成功則簡化登錄 request.getSession().setAttribute("user",user); user=service.login(name,pwd); request.getRequestDispatcher("index.jsp").forward(request,response); }else{ response.sendRedirect("login.html"); }5.2管理員模塊的設計于實現(xiàn)5.2.1管理員管理操作員管理員管理操作員需先進行登錄。登錄效果截圖。圖5-3管理員的登錄效果截圖管理員是系統(tǒng)最高權(quán)限擁有者,所以登錄倉庫管理頁后需再次點擊管理員登錄。管理員登錄核心代碼如下。Stringname=request.getParameter("cjname");Stringname=request.getParameter("cjname"); Stringpwd=request.getParameter("cjpwd"); Stringsta=request.getParameter("status"); Userusers=service.cjlogin(name,pwd,sta); if(users!=null){ request.getSession().setAttribute("cjuser",users); //轉(zhuǎn)發(fā)--在多個頁面交互過程中實現(xiàn)請求數(shù)據(jù)的共享. request.getRequestDispatcher("cjindex.jsp").forward(request,response); }else{ request.getSession().setAttribute("user",user); request.getRequestDispatcher("index.jsp").forward(request,response); }管理員登錄后可以修改、刪除、添加操作員。操作員列表效果截圖。圖5-4操作員列表刪除操作員的核心代碼。//把前臺傳入的id轉(zhuǎn)換成int類型//把前臺傳入的id轉(zhuǎn)換成int類型intid=Integer.parseInt(request.getParameter("id")); service.delete(id); show(); request.getRequestDispatcher("cjindex.jsp").forward(request,response);添加操作員效果截圖。圖5-5添加操作員添加操作員只需要填寫用戶名、密碼和確認密碼就可以,數(shù)據(jù)格式由前臺判斷。添加操作員的部分相關代碼如下。//獲取后臺傳入的數(shù)據(jù)//獲取后臺傳入的數(shù)據(jù)Stringname=request.getParameter("zname");Stringpwd=request.getParameter("zpwd"); Useruser=service.zhuce(name,pwd); if(user!=null){ request.getSession().setAttribute("user",user); user=service.login(name,pwd); request.getRequestDispatcher("index.jsp").forward(request,response); }else{ response.sendRedirect("login.html"); }5.2.2下發(fā)任務下發(fā)任務的效果圖。圖5-6下發(fā)任務任務管理員下發(fā)任務后操作員登錄后即可查看任務。下發(fā)任務的部分相關代碼如下。//獲取前臺數(shù)據(jù),存入數(shù)據(jù)庫//獲取前臺數(shù)據(jù),存入數(shù)據(jù)庫Stringtask=request.getParameter("task"); Tasktasks=service.add(task); if(tasks!=null){ Useruser=(User)request.getSession().getAttribute("cjuser"); request.getSession().setAttribute("cjuser",user);request.getRequestDispatcher("cjindex.jsp").forward(request,response); }else{ response.sendRedirect("task/addTask.jsp"); }5.3信息類模塊的設計與實現(xiàn)商品、客戶、庫存三部分信息管理的設計與實現(xiàn)。5.3.1商品管理商品信息列表效果圖。圖5-7商品管理列表使用者登錄后點擊查看商品信息后跳轉(zhuǎn)到商品信息列表,可直接進行修改或刪除操作,也可以添加新的商品信息。管理商品核心代碼如下。//由于商品信息可能會過多,使用分頁寫法//由于商品信息可能會過多,使用分頁寫法StringpageNows=request.getParameter("pageNow");intpageNow=Integer.parseInt(pageNows);//真實頁數(shù)intpageCount=0;//定義一個總頁數(shù)pageCount=comms.pageCount(pageSize);List<Commodity>list=comms.show(pageNow,pageSize);request.setAttribute("commlist",list);request.setAttribute("pageNow",pageNow);request.setAttribute("pageCount",pageCount);request.getRequestDispatcher("commodity/commodity.jsp").forward(request,response);5.3.2客戶資料的管理客戶信息列表的效果截圖。圖5-8客戶列表使用者登錄后即可點擊查看客戶信息,可進行修改或刪除,也可以添加新的客戶信息。客戶管理的核心代碼如下。Stringids=request.getParameter("id");Stringids=request.getParameter("id");Stringcustomer=request.getParameter("customer");Stringremarks=request.getParameter("remarks");Stringcontact=request.getParameter("contact");Stringphones=request.getParameter("phone");intphone=Integer.parseInt(phones);cus.update(ids,customer,remarks,contact,phone);//修改完成后再次調(diào)用查詢方法response.sendRedirect("cusServlet?method=show&pageNow=1");5.3.3庫存歷史出庫歷史效果圖。圖5-9出庫歷史表效果圖當進行出庫操作時,會同時向出庫歷史插入數(shù)據(jù),考慮系統(tǒng)移動性歷史表的數(shù)據(jù)不可以刪除,方便隨時查看。出庫歷史表核心代碼如下。//獲取出庫的歷史信息放入//獲取出庫的歷史信息放入list中 StringpageNows=request.getParameter("pageNow");intpageNow=Integer.parseInt(pageNows);//第幾頁intpageCount=0;//總頁數(shù)pageCount=his.pageCount(pageSize);request.removeAttribute("history");List<History>list=his.show(pageNow,pageSize);request.setAttribute("history",list);request.setAttribute("pageNow",pageNow);request.setAttribute("pageCount",pageCount);request.getRequestDispatcher("history/history.jsp").forward(request,response);入庫歷史效果圖。圖5-10入庫歷史效果圖默認為按照時間排序,為保留數(shù)據(jù)所以設置為不可刪除,當進行入庫操作時,會同時向入庫歷史插入數(shù)據(jù)入庫歷史核心代碼如下。StringpageNows=request.getParameter("pageNow");StringpageNows=request.getParameter("pageNow");intpageNow=Integer.parseInt(pageNows);//其實頁數(shù)intpageCount=0;//定義一個總頁數(shù)pageCount=ihi.pageCount(pageSize);List<Ihistory>list=ihi.show(pageNow,pageSize);request.setAttribute("ihistory",list);request.setAttribute("pageNow",pageNow);request.setAttribute("pageCount",pageCount);request.getRequestDispatcher("history/ihistory.jsp").forward(request,response);5.4庫房功能模塊的設計與實現(xiàn)5.4.1入庫操作入庫操作效果圖。圖5-11添加入庫效果圖下拉框可以選擇所有已知的有關于商品的屬性。不需要手寫。時間是利用jsp頁面的插件,也是直接選擇的。時間插件效果圖。圖5-12前臺頁面時間插件效果圖關于商品分類下拉框的相關代碼。Stringcname=request.getParameter("cname");Stringcname=request.getParameter("cname");Stringloc=request.getParameter("loc");Stringnums=request.getParameter("num");Stringdates=request.getParameter("date");//前臺傳入的是String類型,因此需要轉(zhuǎn)換成int類型intcommid=Integer.parseInt(cname);intnum=Integer.parseInt(nums);Inventoryinvs=inv.add(commid,loc,num,dates);if(invs!=null){response.sendRedirect("invServlet?method=show&pageNow=1");}else{response.sendRedirect("inventory/add.jsp");}5.4.2出庫操作庫存商品頁面的效果圖。圖5-13庫存管理效果圖對當前存在庫存的商品進行出庫,可以選擇出庫全部和出庫部分;出庫的數(shù)量小于或等于庫存數(shù)量。選擇部分出庫,自己填寫出庫數(shù)量。選擇全部出庫不用填寫,直接出庫。部分出庫效果圖。圖5-14部分出庫關于判斷出庫數(shù)量是否合理的核心代碼如下。Stringid=request.getParameter("id");Stringid=request.getParameter("id"); Stringnums=request.getParameter("num"); Stringnumss=request.getParameter("nums"); Stringcommids=request.getParameter("commid"); intcommid=Integer.parseInt(commids); Stringloc=request.getParameter("loc"); //當前數(shù)量 intnum=Integer.parseInt(nums); //出庫數(shù)量 intnum2=Integer.parseInt(numss);//剩余數(shù)量 intlnum=num-num2;//判斷出庫數(shù)量是否合理 if(num<num2){ request.setAttribute("fal","出庫數(shù)量不可以大于庫存"); request.getRequestDispatcher("invServlet?method=toUpdate").forward(request,response); }else{ inv.update(id,commid,loc,lnum,num2); response.sendRedirect("invServlet?method=show&pageNow=1"); }

第6章“速存?zhèn)}庫”在線管理系統(tǒng)測試在現(xiàn)今的企業(yè)中有單獨的職業(yè)進行測試工作,本項目使用黑盒測試法。它主要針對視圖和效果,即人們理解的可見的操作和結(jié)果,此方法不會過多的對內(nèi)部結(jié)構(gòu)進行考

溫馨提示

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

評論

0/150

提交評論