

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 本科畢業(yè)論文</b></p><p><b> ?。?0 屆)</b></p><p> 制造業(yè)MIS的設(shè)計(jì)與實(shí)現(xiàn)——庫(kù)存管理</p><p><b> 摘 要</b></p><p> 隨著現(xiàn)代工業(yè)的發(fā)展,計(jì)算機(jī)信息管理系統(tǒng)越來(lái)越受到企
2、業(yè)重視。庫(kù)存管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。本文主要分析了庫(kù)存管理系統(tǒng)的一些基本功能和組成情況,包括系統(tǒng)的需求分析、系統(tǒng)結(jié)構(gòu),功能模塊劃分以及數(shù)據(jù)庫(kù)模式分析等,同時(shí)也論述了庫(kù)存管理系統(tǒng)開(kāi)發(fā)時(shí)的主要設(shè)計(jì)思想及系統(tǒng)實(shí)現(xiàn)的詳細(xì)過(guò)程及使用方法。結(jié)構(gòu)嚴(yán)謹(jǐn)、性能穩(wěn)定、使用方便。</p><p> 本系統(tǒng)對(duì)于庫(kù)存管理方面所遇到的各種問(wèn)題,如工作量大,
3、數(shù)據(jù)更新不及時(shí),可靠性低等都做出詳細(xì)的解決方案,本系統(tǒng)是以適應(yīng)當(dāng)前計(jì)算機(jī)信息管理的需要,緊密結(jié)合了庫(kù)存管理在計(jì)算機(jī)信息管理方面的應(yīng)用,實(shí)現(xiàn)了管理人員對(duì)庫(kù)存的現(xiàn)代化管理,從而進(jìn)一步提高了庫(kù)存管理的工作效率。</p><p> 系統(tǒng)基于B/S模式,采用JSP和Mysql數(shù)據(jù)庫(kù)系統(tǒng)來(lái)實(shí)現(xiàn)庫(kù)存信息管理,庫(kù)存警示,信息查詢等功能。強(qiáng)大的查詢和報(bào)表功能,能夠全面、及時(shí)地反映當(dāng)前庫(kù)存狀況。</p><p&
4、gt; 關(guān)鍵詞:庫(kù)存管理,數(shù)據(jù)庫(kù),Java, Mysql</p><p><b> Abstract</b></p><p> With the development of modern industry, the information management system of the computer is being paid more attentio
5、n to by enterprises. Warehouse management system is a typical management information system (MIS), which mainly includes database creation and maintenance, and front-end application development aspects. This paper has an
6、alyzed some basic functions of the administrative system of the stock and makes up the situation mainly, including the systematic demand is analyzed, systematic s</p><p> The system for warehouse management
7、 encountered by various problems, such as heavy workload, update data is not timely, reliable and so low a detailed solution, the system is adapt to the current computer information management needs, in close connection
8、with the warehouse management in computer information management application, and the management of inventories of modern management, so as to further enhance the efficiency of inventory management.</p><p>
9、 This system bases on B/S model and uses JSP and Mysql database system to achieve inventory information management, stock warning, statistic and inquiry and other functions. With powerful query and reporting, the system
10、can comprehensively and timely manner to reflect the current inventory situation.</p><p> Key words: Warehouse Management; Database; Information Management; B/S Model; JSP; Mysql</p><p><b&g
11、t; 目 錄</b></p><p><b> 1 概述….1</b></p><p> 1.1管理信息系統(tǒng)的概述1</p><p> 1.2 庫(kù)存管理系統(tǒng)簡(jiǎn)介1</p><p> 1.2.1 課題開(kāi)發(fā)背景2</p><p> 1.2.2 課題開(kāi)發(fā)意義2<
12、/p><p> 1.3課題開(kāi)發(fā)目標(biāo)2</p><p> 2 系統(tǒng)運(yùn)行環(huán)境及系統(tǒng)開(kāi)發(fā)技術(shù)3</p><p> 2.1 系統(tǒng)運(yùn)行環(huán)境3</p><p> 2.1.1 硬件環(huán)境3</p><p> 2.1.2 軟件開(kāi)發(fā)環(huán)境3</p><p> 2.2 系統(tǒng)開(kāi)發(fā)技術(shù)3</p&g
13、t;<p> 2.2.1 JSP簡(jiǎn)介3</p><p> 2.2.2 Servlet簡(jiǎn)介4</p><p> 2.2.3 DAO模式簡(jiǎn)介4</p><p> 2.2.4 Mysql 數(shù)據(jù)庫(kù)簡(jiǎn)介5</p><p> 3 系統(tǒng)分析與設(shè)計(jì)6</p><p> 3.1 系統(tǒng)可行性分析6&l
14、t;/p><p> 3.1.1 經(jīng)濟(jì)可行性6</p><p> 3.1.2 操作可行性6</p><p> 3.1.3 技術(shù)可行性6</p><p> 3.2 系統(tǒng)需求分析6</p><p> 3.3 總體功能設(shè)計(jì)7</p><p> 3.3.1 系統(tǒng)功能模塊圖7</p
15、><p> 3.3.2 總體功能流程圖9</p><p> 4 數(shù)據(jù)庫(kù)設(shè)計(jì)12</p><p> 4.1 數(shù)據(jù)庫(kù)設(shè)計(jì)思想12</p><p> 4.2 數(shù)據(jù)庫(kù)E-R圖設(shè)計(jì)12</p><p> 4.3 數(shù)據(jù)庫(kù)表設(shè)計(jì)13</p><p> 5 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)16</p
16、><p> 5.1系統(tǒng)登錄界面設(shè)計(jì)16</p><p> 5.2 系統(tǒng)主界面的設(shè)計(jì)16</p><p> 5.3 系統(tǒng)主要功能實(shí)現(xiàn)17</p><p> 5.3.1 原材料管理17</p><p> 5.3.2 產(chǎn)品管理22</p><p> 5.3.3 倉(cāng)庫(kù)管理22<
17、/p><p> 5.3.4 入庫(kù)查看23</p><p> 5.3.5 出庫(kù)查看23</p><p> 5.4 數(shù)據(jù)庫(kù)連接24</p><p> 6 系統(tǒng)測(cè)試及結(jié)果分析27</p><p> 6.1 測(cè)試綜述27</p><p> 6.1.1 軟件測(cè)試綜述27</p&g
18、t;<p> 6.1.2 數(shù)據(jù)庫(kù)測(cè)試27</p><p><b> 結(jié) 論28</b></p><p><b> 參考文獻(xiàn)29</b></p><p><b> 致 謝30</b></p><p><b> 1 概述</b&g
19、t;</p><p> 隨著中國(guó)電子商務(wù)、互聯(lián)網(wǎng)業(yè)務(wù)的迅猛發(fā)展。國(guó)內(nèi)許多企業(yè)已跨入電腦網(wǎng)絡(luò)管理時(shí)代,并因此提高了管理效率和市場(chǎng)競(jìng)爭(zhēng)力。但目前仍有部分企業(yè)還停留在原始管理階段。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)不斷發(fā)展,其強(qiáng)大的功能已經(jīng)被人們深刻認(rèn)識(shí),在社會(huì)的各個(gè)領(lǐng)域發(fā)揮著越來(lái)越重要的作用。在如此激烈的社會(huì)形勢(shì)和激烈的市場(chǎng)競(jìng)爭(zhēng)下,愈來(lái)愈多的企業(yè)管理者意識(shí)到效率管理和科學(xué)管理的重要性,因此建立科學(xué)、規(guī)范、高效的管理
20、制度和秉承富有競(jìng)爭(zhēng)力的管理理念是每一個(gè)企業(yè)管理者的渴望,企業(yè)采用電腦管理進(jìn)貨、庫(kù)存、銷售等諸多環(huán)節(jié)也已成為趨勢(shì)及必然。</p><p> 庫(kù)存管理系統(tǒng)是商業(yè)信息管理的重要部分,面對(duì)大量的商品信息,采用人力處理將浪費(fèi)大量的時(shí)間、人力和物理,且對(duì)數(shù)據(jù)操作的準(zhǔn)確性不高。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)物資信息進(jìn)行管理,具有手工管理所無(wú)法比擬的優(yōu)點(diǎn)。例如:檢索迅速、查找方便、可靠性高、保密性好等。本文提出了一種易于
21、操作的庫(kù)存管理系統(tǒng)對(duì)整個(gè)過(guò)程中涉及到的表單進(jìn)行半自動(dòng)化處理。用戶通過(guò)使用本系統(tǒng)能夠極大地提高人事勞資管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理, 提升企業(yè)市場(chǎng)競(jìng)爭(zhēng)力,與世界接軌的重要條件。</p><p> 1.1 信息管理系統(tǒng)概述</p><p> 管理信息系統(tǒng)(簡(jiǎn)稱MIS)是在管理科學(xué)、系統(tǒng)科學(xué)、計(jì)算機(jī)科學(xué)等的基礎(chǔ)上發(fā)展起來(lái)的綜合性邊緣科學(xué)?,F(xiàn)在的管理信息系統(tǒng)的基本功能包括:數(shù)據(jù)處理
22、功能,計(jì)劃功能,控制功能,預(yù)測(cè)功能,輔助決策功能。它是信息系統(tǒng)的一個(gè)子系統(tǒng),它以計(jì)算機(jī)技術(shù)、通訊技術(shù)和軟件技術(shù)為技術(shù)基礎(chǔ),同時(shí)將現(xiàn)代管理理論、現(xiàn)代管理方法及各級(jí)管理人員融為一體,最終為某個(gè)組織整體的管理與決策服務(wù),是由人和計(jì)算機(jī)組成的能進(jìn)行管理信息的收集、傳遞、存儲(chǔ)、加工、維護(hù)和使用的系統(tǒng)。完善的管理信息系統(tǒng)MIS具有以下四個(gè)標(biāo)準(zhǔn):確定的信息需求、信息的可采集與可加工、可以通過(guò)程序?yàn)楣芾砣藛T提供信息、可以對(duì)信息進(jìn)行管理。信息是管理上的一
23、項(xiàng)極為重要的資源,管理工作的成敗取決于能否做出有效的決策,而決策的正確程度則在很大程度上取決于信息得質(zhì)量。所以能否有效的管理信息成為企業(yè)的首要問(wèn)題,管理信息系統(tǒng)在強(qiáng)調(diào)管理、強(qiáng)調(diào)信息的現(xiàn)代社會(huì)中越來(lái)越得到普及。</p><p> 1.2 庫(kù)存管理系統(tǒng)簡(jiǎn)介</p><p> 當(dāng)今時(shí)代是飛速發(fā)展的信息時(shí)代,在各行各業(yè)中離不開(kāi)信息處理,這正是計(jì)算機(jī)被廣泛應(yīng)用于信息處理系統(tǒng)的環(huán)境。計(jì)算機(jī)最大的好
24、處在于利用它能夠進(jìn)行信息管理,使用計(jì)算機(jī)進(jìn)行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。庫(kù)存管理系統(tǒng)是一個(gè)企業(yè)不可缺少的部分,它的內(nèi)容對(duì)于企業(yè)的決策者和管理者來(lái)說(shuō)都至關(guān)重要,所以庫(kù)存管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。尤其?duì)復(fù)雜的信息管理,計(jì)算機(jī)能夠充分發(fā)揮它的優(yōu)越性。計(jì)算機(jī)進(jìn)行信息管理與信息管理系統(tǒng)的開(kāi)發(fā)密切相關(guān),系統(tǒng)的開(kāi)發(fā)是系統(tǒng)管理的前提。</p><p> 1.2.1 課題開(kāi)
25、發(fā)背景</p><p> 倉(cāng)庫(kù)作為一總貨品資源的集散地,貨品的種類繁多,包含很多的信息數(shù)據(jù)的管理。據(jù)調(diào)查得知,以前倉(cāng)庫(kù)進(jìn)行信息管理主要使用傳統(tǒng)人工的方式管理倉(cāng)庫(kù)中的各種物資設(shè)備,這種管理方式存在著許多缺點(diǎn)。對(duì)于貨品的出入庫(kù)情況的統(tǒng)計(jì)和核實(shí)等往往采用對(duì)賬本的人工檢查,對(duì)管理者的管理權(quán)限等不受約束,任何人都可查看,這樣容易引起資料外泄。另外,時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),容易出錯(cuò),由于數(shù)據(jù)繁多,對(duì)于查找、更新和
26、維護(hù)都帶來(lái)了不少的困難??偟膩?lái)說(shuō),就是缺乏系統(tǒng)、規(guī)范的信息管理手段。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)物資信息進(jìn)行管理,具有手工管理所無(wú)法比擬的優(yōu)點(diǎn)。例如:存儲(chǔ)量大、檢索迅速、查找方便、保密性好、可靠性高、壽命長(zhǎng)、成本低等。因此,很有必要建立一個(gè)庫(kù)存管理系統(tǒng),使貨品管理工作規(guī)范化,系統(tǒng)化,程序化。提高信息處理的速度和準(zhǔn)確性。</p><p> 1.2.2 課題開(kāi)發(fā)意義</p><p>
27、 隨著我國(guó)經(jīng)濟(jì)的飛速發(fā)展,各種類型規(guī)模的公司企業(yè)迅速崛起,許多從事生產(chǎn)和經(jīng)營(yíng)管理的企業(yè)都有自己生產(chǎn)和銷售的產(chǎn)品,而這些產(chǎn)品都需要儲(chǔ)存在倉(cāng)庫(kù)中,大多數(shù)庫(kù)存管理理論認(rèn)為,庫(kù)存是物理上和邏輯上庫(kù)房庫(kù)位的所有有形和無(wú)形物料極其價(jià)值的總和,具體包括成品、原材料、在制品、在途品、生產(chǎn)前物料、備品備件等。雖然持有一些庫(kù)存是必要的,過(guò)量的庫(kù)存卻非但沒(méi)有用處而且占用了資金。占用的資金對(duì)于公司發(fā)展、新產(chǎn)品開(kāi)發(fā)等都是非常需要的;減少資金占用還可以大大減少來(lái)
28、自銀行貸款的利息和風(fēng)險(xiǎn)。對(duì)那些采購(gòu)量特別大、采購(gòu)件市場(chǎng)價(jià)格有波動(dòng)的物料庫(kù)存,加強(qiáng)庫(kù)存管理效果更為明顯。因此,平衡公司庫(kù)存投資與其它資金需求至關(guān)重要。庫(kù)存管理又涉及入庫(kù)、出庫(kù)的產(chǎn)品、操作人員及客戶等方方面面的因素,如何管理這些信息數(shù)據(jù),是一項(xiàng)復(fù)雜的系統(tǒng)工程,充分考驗(yàn)著倉(cāng)庫(kù)管理員的工作能力,工作量的繁重是可想而知的,所以這就需要由庫(kù)存管理系統(tǒng)來(lái)提高庫(kù)存管理工作的效率,這對(duì)信息的規(guī)范管理、科學(xué)統(tǒng)計(jì)和快速查詢,減少管理方面的工作量,同時(shí)對(duì)于提高
29、企業(yè)的生產(chǎn)效率,都具有十分重要的現(xiàn)實(shí)意義。</p><p> 1.3 課題開(kāi)發(fā)目標(biāo)</p><p> 設(shè)計(jì)和實(shí)現(xiàn)商品庫(kù)存管理系統(tǒng),使庫(kù)存管理的工作系統(tǒng)化、 規(guī)范化和自動(dòng)化,從而達(dá)到提高管理效率的目的。</p><p> (1)利用計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)原材料和成品的庫(kù)存管理;</p><p> (2)流程符合原材料和成品的庫(kù)存要求;</
30、p><p> (3)查詢方便,無(wú)論是按編號(hào)、名稱、類別、時(shí)間其中任一項(xiàng)都可以進(jìn)行有效查詢;</p><p> (4)系統(tǒng)擴(kuò)充容易,方便以后系統(tǒng)的擴(kuò)展和性能維護(hù);</p><p> (5)友好的用戶界面,既面向系統(tǒng)開(kāi)發(fā)者,又面向用戶 。</p><p> 2 系統(tǒng)運(yùn)行環(huán)境及系統(tǒng)開(kāi)發(fā)技術(shù)</p><p> 2.1 系
31、統(tǒng)運(yùn)行環(huán)境</p><p> 系統(tǒng)運(yùn)行環(huán)境包括硬件環(huán)境和軟件環(huán)境兩部分。</p><p> 2.1.1 硬件環(huán)境</p><p> 本系統(tǒng)運(yùn)行的硬件環(huán)境如下:</p><p> Cpu:沒(méi)有特殊要求,建議主頻在1.56GHz以上;</p><p> 內(nèi)存:512MB以上的內(nèi)存。</p><
32、p> 2.1.2 軟件開(kāi)發(fā)環(huán)境</p><p> 本系統(tǒng)的軟件開(kāi)發(fā)環(huán)境如下:</p><p> 操作系統(tǒng):Windows xp/ Windows 7;</p><p> 數(shù) 據(jù) 庫(kù):Mysql數(shù)據(jù)庫(kù);</p><p> 數(shù)據(jù)庫(kù)連接驅(qū)動(dòng):mysql-connector-java-5.1.17;</p><p&
33、gt; Java虛擬機(jī):JDK1.6;</p><p> 服 務(wù) 器:Tomcat6.0;</p><p> IDE: MyEclipse10.0 。</p><p> 2.2 系統(tǒng)開(kāi)發(fā)技術(shù)</p><p> 本系統(tǒng)主要應(yīng)用了JSP + Servlet + DAO 的開(kāi)發(fā)模式,應(yīng)用Mysql數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)的管理,實(shí)現(xiàn)強(qiáng)大的信息查詢管
34、理。本系統(tǒng)的開(kāi)發(fā)主要是使用在MyEclipse平臺(tái)下的Java語(yǔ)言,java語(yǔ)言是面向?qū)ο蟮木幊陶Z(yǔ)言,因此本系統(tǒng)有很好的擴(kuò)展性。</p><p> 2.2.1 JSP簡(jiǎn)介</p><p> JSP是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)技術(shù)標(biāo)準(zhǔn)。在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標(biāo)
35、簽,就構(gòu)成了JSP網(wǎng)頁(yè)java程序片段可以操縱數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)以及發(fā)送E-mail等,實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,這樣大大降低了對(duì)客戶瀏覽器的要求,即使客戶瀏覽器端不支持Java,也可以訪問(wèn)JSP網(wǎng)頁(yè)。Java Servlet是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開(kāi)發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡(jiǎn)單易用,完全的
36、面向?qū)ο?,具有平臺(tái)無(wú)關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。</p><p> JSP全名為java server page,其根本是一個(gè)簡(jiǎn)化的Servlet設(shè)計(jì),他實(shí)現(xiàn)了Html語(yǔ)法中的java擴(kuò)張(以 <%, %>形式)。JSP與Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。Web服務(wù)器在遇到訪問(wèn)JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中
37、的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶端。插入的Java程序段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁(yè)所需要的功能。</p><p> JSP技術(shù)使用Java編程語(yǔ)言編寫(xiě)類XML的tags和scriptlets,來(lái)封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)的處理邏輯。網(wǎng)頁(yè)還能通過(guò)tags和scriptlets訪問(wèn)存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)的顯示分離,支持可重用的基于組
38、件的設(shè)計(jì),使基于Web的應(yīng)用程序的開(kāi)發(fā)變得迅速和容易。 JSP(JavaServer Pages)是一種動(dòng)態(tài)頁(yè)面技術(shù),它的主要目的是將表示邏輯從Servlet中分離出來(lái)。</p><p> 2.2.2 Servlet簡(jiǎn)介</p><p> Servlet是在服務(wù)器上運(yùn)行的小程序。這個(gè)詞是在Java applet的環(huán)境中創(chuàng)造的,Java applet是一種當(dāng)作單獨(dú)文件跟網(wǎng)頁(yè)一起發(fā)送的小程
39、序,它通常用于在服務(wù)器端運(yùn)行,結(jié)果得到為用戶進(jìn)行運(yùn)算或者根據(jù)用戶互作用定位圖形等服務(wù)。</p><p> 服務(wù)器上需要一些程序,常常是根據(jù)用戶輸入訪問(wèn)數(shù)據(jù)庫(kù)的程序。這些通常是使用公共網(wǎng)關(guān)接口(CGI(Common Gateway Interface))應(yīng)用程序完成的。然而,在服務(wù)器上運(yùn)行Java,這種程序可使用Java編程語(yǔ)言實(shí)現(xiàn)。在通信量大的服務(wù)器上,Java Servlet的優(yōu)點(diǎn)在于它們的執(zhí)行速度更快于CG
40、I程序。各個(gè)用戶請(qǐng)求被激活成單個(gè)程序中的一個(gè)線程,而無(wú)需創(chuàng)建單獨(dú)的進(jìn)程,這意味著服務(wù)器端處理請(qǐng)求的系統(tǒng)開(kāi)銷將明顯降低。Servlet的工作模式: 客戶端發(fā)送請(qǐng)求至服務(wù)器;服務(wù)器啟動(dòng)并調(diào)用Servlet,Servlet根據(jù)客戶端請(qǐng)求生成響應(yīng)內(nèi)容并將其傳給服務(wù)器;服務(wù)器將響應(yīng)返回客戶端。</p><p> 2.2.3 DAO模式簡(jiǎn)介</p><p> DAO(Data Access Obj
41、ect)是一個(gè)數(shù)據(jù)訪問(wèn)接口,數(shù)據(jù)訪問(wèn):顧名思義就是與數(shù)據(jù)庫(kù)打交道。夾在業(yè)務(wù)邏輯與數(shù)據(jù)庫(kù)資源中間。</p><p> 在核心J2EE模式中是這樣介紹DAO模式的:為了建立一個(gè)健壯的J2EE應(yīng)用,應(yīng)該將所有對(duì)數(shù)據(jù)源的訪問(wèn)操作抽象封裝在一個(gè)公共API中。用程序設(shè)計(jì)的語(yǔ)言來(lái)說(shuō),就是建立一個(gè)接口,接口中定義了此應(yīng)用程序中將會(huì)用到的所有事務(wù)方法。在這個(gè)應(yīng)用程序中,當(dāng)需要和數(shù)據(jù)源進(jìn)行交互的時(shí)候則使用這個(gè)接口,并且編寫(xiě)一個(gè)單獨(dú)
42、的類來(lái)實(shí)現(xiàn)這個(gè)接口在邏輯上對(duì)應(yīng)這個(gè)特定的數(shù)據(jù)存儲(chǔ)。</p><p> DAO模式是標(biāo)準(zhǔn)的J2EE設(shè)計(jì)模式之一.開(kāi)發(fā)人員使用這個(gè)模式把底層的數(shù)據(jù)訪問(wèn)操作和上層的商務(wù)邏輯分開(kāi).一個(gè)典型的DAO實(shí)現(xiàn)有下列幾個(gè)組件:</p><p> 1. 一個(gè)DAO工廠類;</p><p> 2. 一個(gè)DAO接口;</p><p> 3. 一個(gè)實(shí)現(xiàn)DAO接
43、口的具體類;</p><p> 4. 數(shù)據(jù)傳遞對(duì)象(有些時(shí)候叫做值對(duì)象).</p><p> 具體的DAO類包含了從特定的數(shù)據(jù)源訪問(wèn)數(shù)據(jù)的邏輯。</p><p> DAO模式是Data Accessor模式和ADO(Active Domain Object)模式兩個(gè)模式的組合。Data Accessor模式的實(shí)質(zhì)就是封裝了對(duì)數(shù)據(jù)庫(kù)訪問(wèn)的實(shí)現(xiàn)機(jī)制,僅對(duì)應(yīng)用程序公
44、開(kāi)邏輯操作。實(shí)現(xiàn)Data Accessor的功能復(fù)雜程度由開(kāi)發(fā)的封裝細(xì)節(jié)的程度來(lái)決定。通過(guò)引入DAO模式,業(yè)務(wù)邏輯更加清晰,且富于形象性和描述性,更利于系統(tǒng)日后的維護(hù)和升級(jí)。</p><p> 2.2.4 Mysql數(shù)據(jù)庫(kù)簡(jiǎn)介</p><p> Mysql是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典Mysql AB公司開(kāi)發(fā),目前屬于Oracle公司。Mysql是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)
45、將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),這樣就增加了速度并提高了靈活性。Mysql的SQL語(yǔ)言是用于訪問(wèn)數(shù)據(jù)庫(kù)的最常用標(biāo)準(zhǔn)化語(yǔ)言。與其他的大型數(shù)據(jù)庫(kù)例如Oracle、DB2、SQL Server等相比,Mysql自有它的不足之處,但是這絲毫也沒(méi)有減少它受歡迎的程度。Mysql軟件采用了雙授權(quán)政策(本詞條“授權(quán)政策”),它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),一般中小型網(wǎng)站的開(kāi)
46、發(fā)都選擇Mysql作為網(wǎng)站數(shù)據(jù)庫(kù)。</p><p> MySQL服務(wù)器原本就是開(kāi)發(fā)比已存在的數(shù)據(jù)庫(kù)更快的用于處理大的數(shù)據(jù)庫(kù)的解決方案,并且已經(jīng)成功用于高苛刻生產(chǎn)環(huán)境多年。盡管MySQL仍在開(kāi)發(fā)中,但它已經(jīng)提供一個(gè)豐富和極其有用的功能集。它的連接性、速度和安全性使MySQL非常適合訪問(wèn)在Internet上的數(shù)據(jù)庫(kù)。MySQL數(shù)據(jù)庫(kù)服務(wù)器是一個(gè)客戶/服務(wù)器系統(tǒng),它由多線程SQL服務(wù)器組成,支持不同的后端、多個(gè)不同的
47、客戶程序和庫(kù)、管理工具和廣泛的應(yīng)用程序接口(APIs)。它也可以是一個(gè)嵌入的多線程庫(kù),你可以把它連接到你的應(yīng)用中而得到一個(gè)小、快且易于管理的產(chǎn)品。</p><p><b> 3 系統(tǒng)分析與設(shè)計(jì)</b></p><p> 3.1系統(tǒng)可行性分析</p><p> 可行性分析研究的目的就是用最小的代價(jià)在盡可能短的時(shí)間里確定問(wèn)題是否能解決,通過(guò)復(fù)
48、雜系統(tǒng)的規(guī)模與目標(biāo),研究與此類似的系統(tǒng)后,我們具體從下面三方面考慮。</p><p> 3.1.1 經(jīng)濟(jì)可行性</p><p> 商品庫(kù)存管理系統(tǒng)是一個(gè)小型的管理系統(tǒng), 在開(kāi)發(fā)時(shí)需要軟件開(kāi)發(fā)人員花費(fèi)一定的時(shí)間和精力,因此需要一定的資金。本系統(tǒng)開(kāi)發(fā)的目的,是通過(guò)系統(tǒng)開(kāi)發(fā),實(shí)現(xiàn)庫(kù)存管理工作計(jì)算機(jī)化,提高業(yè)務(wù)的處理速度和規(guī)范化程度,進(jìn)一步通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)實(shí)現(xiàn)整個(gè)企業(yè)管理信息化。該系統(tǒng)可以提
49、高管理工作的質(zhì)量和效率,使庫(kù)存管理工作變繁為簡(jiǎn),使其更加合理化、規(guī)范化。工作效率的提高就意為著整體水平的提高,是非常值得投資的。</p><p> 3.1.2 操作可行性</p><p> 本系統(tǒng)是一款B/S模式的庫(kù)存管理系統(tǒng),在庫(kù)存信息處理方面做得很精準(zhǔn)規(guī)范。因?yàn)閹?kù)存管理人員已經(jīng)有豐富的信息管理經(jīng)驗(yàn),只要有一定的計(jì)算機(jī)應(yīng)用經(jīng)驗(yàn),加之本系統(tǒng)操作簡(jiǎn)單,易于學(xué)習(xí),所以很容易就可以熟練使用。
50、</p><p> 3.1.3 技術(shù)可行性</p><p> 系統(tǒng)采用Java語(yǔ)言作為開(kāi)發(fā)語(yǔ)言。Java是一種簡(jiǎn)單的,面象對(duì)象的,分布式的,解釋的,鍵壯的安全的,結(jié)構(gòu)的中立的,可移植的,性能很優(yōu)異的多線程的動(dòng)態(tài)的語(yǔ)言。它具有理論嚴(yán)密、使用方便、易學(xué)易用等特點(diǎn),利用它設(shè)計(jì)的系統(tǒng)具有界面友好、工具豐富速度較快的特點(diǎn)。再結(jié)合Mysql數(shù)據(jù)庫(kù)技術(shù),編寫(xiě)SQL語(yǔ)言訪問(wèn)數(shù)據(jù)庫(kù),可以輕松實(shí)現(xiàn)強(qiáng)大的查
51、詢、修改、入庫(kù)、出庫(kù)操作。</p><p> 3.2 系統(tǒng)需求分析</p><p> 庫(kù)存管理主要實(shí)現(xiàn)對(duì)成品庫(kù)和原料庫(kù)日常業(yè)務(wù)的管理,系統(tǒng)使用對(duì)象是成品庫(kù)和原料庫(kù)的庫(kù)管員,主要功能包括:</p><p><b> 登陸認(rèn)證:</b></p><p> 作為庫(kù)存管理系統(tǒng),用戶的權(quán)限必須是明確的,這樣才能保證庫(kù)存信息
52、的安全。 本系統(tǒng)主要分為原料庫(kù)管理員和成品庫(kù)管理員。不同管理員的所操作的庫(kù)是不一樣的。</p><p> 原材料基本信息管理:</p><p> 實(shí)現(xiàn)對(duì)原材料基本信息的增、刪、改、查。主要信息包括原料編號(hào)、原料名稱、原料類別等信息。</p><p><b> 產(chǎn)品基本信息管理:</b></p><p>
53、實(shí)現(xiàn)對(duì)產(chǎn)品基本信息的增、刪、改、查。主要信息包括產(chǎn)品編號(hào)、產(chǎn)品名稱、產(chǎn)品類別等信息。</p><p><b> 倉(cāng)庫(kù)信息管理:</b></p><p> 企業(yè)設(shè)多個(gè)倉(cāng)庫(kù),可對(duì)倉(cāng)庫(kù)信息進(jìn)行增、刪、改。</p><p><b> 區(qū)位管理:</b></p><p> 某些倉(cāng)庫(kù)被劃分為多個(gè)庫(kù)區(qū),每
54、個(gè)庫(kù)區(qū)又被劃分為多個(gè)庫(kù)位,可以對(duì)區(qū)位信息進(jìn)行信息管理。</p><p><b> 入庫(kù)流程管理:</b></p><p> 產(chǎn)品或原料入庫(kù),生成入庫(kù)單,增加庫(kù)存。入庫(kù)單應(yīng)包括入庫(kù)時(shí)間、入庫(kù)人、入庫(kù)貨物信息,入庫(kù)庫(kù)區(qū)、入庫(kù)庫(kù)位等信息。</p><p><b> 出庫(kù)流程管理:</b></p><p&
55、gt; 產(chǎn)品或原料出庫(kù),生成出庫(kù)單,減少庫(kù)存。出庫(kù)單應(yīng)包括出庫(kù)時(shí)間、出庫(kù)人、出庫(kù)貨物信息,出庫(kù)庫(kù)區(qū)、出庫(kù)庫(kù)位等信息。</p><p><b> 庫(kù)存盤(pán)點(diǎn):</b></p><p> 庫(kù)管員要定期對(duì)庫(kù)存貨物進(jìn)行盤(pán)點(diǎn),進(jìn)行報(bào)盈(增加庫(kù)存)和報(bào)虧(減少庫(kù)存)操作,以保證庫(kù)存信息的正確性。</p><p><b> 查詢統(tǒng)計(jì):<
56、/b></p><p> 支持入庫(kù)查詢、出庫(kù)查詢、當(dāng)前庫(kù)存查詢、超期報(bào)警查詢、庫(kù)存不足查詢等。</p><p> 3.3 總體功能設(shè)計(jì)</p><p> 本部分主要是根據(jù)系統(tǒng)需求分析,劃分本系統(tǒng)最終要實(shí)現(xiàn)的功能,搭好系統(tǒng)的結(jié)構(gòu)框架。畫(huà)出各個(gè)功能模塊圖,指導(dǎo)本系統(tǒng)的最終開(kāi)發(fā)。使得在開(kāi)發(fā)中目標(biāo)明確,結(jié)構(gòu)清晰,在頭腦中形成一個(gè)總體輪廓。</p>
57、<p> 3.3.1 系統(tǒng)功能模塊圖</p><p> 本系統(tǒng)在設(shè)計(jì)時(shí)采用結(jié)構(gòu)化程序的設(shè)計(jì)方法,系統(tǒng)的總體結(jié)構(gòu)采用導(dǎo)航來(lái)調(diào)用相應(yīng)的jsp頁(yè)面。利用jsp頁(yè)面對(duì)信息進(jìn)行管理、數(shù)據(jù)錄入、信息查詢、系統(tǒng)管理等工作。具體設(shè)計(jì)的功能模塊如下:</p><p><b> 原材料管理模塊</b></p><p> 該模塊包括進(jìn)貨原材料信息管
58、理模塊和增加原材料管理模塊。原材料信息管理模塊可修改存在倉(cāng)庫(kù)的原材料信息和刪除存在倉(cāng)庫(kù)的原材料信息,并可以進(jìn)行入庫(kù)。增加原材料管理模塊可添加倉(cāng)庫(kù)中的原材料信息。</p><p><b> 產(chǎn)品管理模塊</b></p><p> 該模塊包括進(jìn)貨產(chǎn)品信息管理模塊和增加產(chǎn)品管理模塊。產(chǎn)品信息管理模塊可修改存在倉(cāng)庫(kù)的產(chǎn)品信息和刪除存在倉(cāng)庫(kù)的產(chǎn)品信息,并可以進(jìn)行入庫(kù)。增加產(chǎn)
59、品管理模塊可添加倉(cāng)庫(kù)中的產(chǎn)品信息。</p><p><b> 倉(cāng)庫(kù)管理模塊</b></p><p> 該模塊可以管理倉(cāng)庫(kù)信息,可以增加、刪除、修改倉(cāng)庫(kù)信息,并能修改倉(cāng)庫(kù)的庫(kù)區(qū)和庫(kù)位信息。</p><p><b> 入庫(kù)模塊</b></p><p> 該模塊主要是顯示原材料和產(chǎn)品入庫(kù)的入庫(kù)信息
60、,生成一個(gè)簡(jiǎn)單的入庫(kù)單。</p><p><b> 出庫(kù)模塊</b></p><p> 該模塊主要是顯示原材料和產(chǎn)品出庫(kù)的出庫(kù)信息,生成一個(gè)簡(jiǎn)單的出庫(kù)單。</p><p> 根據(jù)以上系統(tǒng)功能的分析與設(shè)計(jì),五個(gè)系統(tǒng)功能模塊的劃分,具體的功能模塊圖如下圖3.1所示:</p><p> 圖3.1 系統(tǒng)功能模塊圖<
61、/p><p> 3.3.2 總體功能流程圖</p><p> 整個(gè)系統(tǒng)的流程由用戶登錄開(kāi)始,系統(tǒng)檢驗(yàn)用戶名和密碼合法后,用戶成功登錄,進(jìn)入系統(tǒng)后可以對(duì)庫(kù)存物品進(jìn)行基本操作,如增加庫(kù)存物品種類,修改庫(kù)存物品信息,出、入庫(kù)物品等,還可以管理倉(cāng)庫(kù)信息,查看倉(cāng)庫(kù)的庫(kù)區(qū)、庫(kù)位等。用戶完成工作后即可退出系統(tǒng)。整個(gè)系統(tǒng)的流程可以用下面的圖3.2所示:</p><p> 入庫(kù)單和
62、出庫(kù)單的操作是庫(kù)存管理系統(tǒng)中最重要的兩個(gè)操作,在整體功能設(shè)計(jì)時(shí),先判斷倉(cāng)庫(kù)是否有新增的原材料或產(chǎn)品,有則輸入新增原材料或產(chǎn)品的基本信息,然后判定原材料或產(chǎn)品是否要進(jìn)庫(kù),確認(rèn)進(jìn)庫(kù)的話選擇相應(yīng)的倉(cāng)庫(kù),再選擇相應(yīng)的庫(kù)區(qū)和庫(kù)位,輸入入庫(kù)的數(shù)量和單位就處理完畢,在原材料或產(chǎn)品的基本信息模塊中就可以查看庫(kù)存。出庫(kù)的具體流程圖如下圖3.3所示:</p><p> 出庫(kù)單的處理流程像入庫(kù)單的處理一樣,當(dāng)有原材料或產(chǎn)品要出庫(kù)時(shí),
63、先判斷倉(cāng)庫(kù)中是否有庫(kù)存,包括出庫(kù)原材料或產(chǎn)品的相關(guān)信息,如果確認(rèn)此原材料或產(chǎn)品要出庫(kù),然后選擇相應(yīng)的要出庫(kù)的倉(cāng)庫(kù),再選擇相應(yīng)的庫(kù)區(qū)和庫(kù)位,然后輸入合適的出庫(kù)數(shù)量和單位,如果合適就允許出庫(kù),出庫(kù)單據(jù)處理完畢;如果不合適,需要修改出庫(kù)數(shù)量,直至數(shù)量合適允許出庫(kù)。出庫(kù)的具體流程圖如下圖3.4所示:</p><p><b> 4 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p> 4.
64、1 數(shù)據(jù)庫(kù)設(shè)計(jì)思想</p><p> 本庫(kù)存管理系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)采用了MySQL數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)名為lmydata,采用JDBC(Java數(shù)據(jù)庫(kù)連接)連接數(shù)據(jù)庫(kù)。</p><p> 根據(jù)系統(tǒng)需求,在登錄系統(tǒng)時(shí)提供所要的身份驗(yàn)證信息,所以設(shè)計(jì)了管理員信息表。經(jīng)過(guò)身份驗(yàn)證后,進(jìn)入系統(tǒng)。在功能操作模塊中涉及到原材料管理,產(chǎn)品管理,要設(shè)計(jì)原材料信息表,產(chǎn)品信息表。操作員要進(jìn)行基本的管理操作,增加
65、原材料、產(chǎn)品;修改原材料信息,修改產(chǎn)品信息;并對(duì)入庫(kù)的原材料和產(chǎn)品進(jìn)行列表顯示。在入庫(kù)管理模塊中操作員要進(jìn)行基本的入庫(kù)管理操作,增加入庫(kù)原材料和產(chǎn)品,需要設(shè)計(jì)入庫(kù)表。在出庫(kù)管理模塊中操作員要進(jìn)行基本的出庫(kù)管理操作,增加出庫(kù)原材料和產(chǎn)品,需要設(shè)計(jì)出庫(kù)表。功能操作中還涉及到倉(cāng)庫(kù)管理,所以要設(shè)計(jì)倉(cāng)庫(kù)信息表,由于倉(cāng)庫(kù)還涉及到庫(kù)區(qū)和庫(kù)位,所以將庫(kù)區(qū)和庫(kù)位作為倉(cāng)庫(kù)信息表中的兩個(gè)屬性。在設(shè)計(jì)表時(shí)要注意數(shù)據(jù)類型的選取要合適,約束的定義要準(zhǔn)確,為了方便理
66、解,最好還要添加描述,使設(shè)計(jì)出來(lái)的表一目了然。通過(guò)與數(shù)據(jù)庫(kù)連接,用數(shù)據(jù)庫(kù)表保存系統(tǒng)所需要的功能數(shù)據(jù)信息,實(shí)現(xiàn)系統(tǒng)的各個(gè)功能。</p><p> 根據(jù)以上的分析,本系統(tǒng)采用關(guān)系型數(shù)據(jù)庫(kù)并設(shè)計(jì)了6個(gè)數(shù)據(jù)庫(kù)表,分別是原材料信息表、產(chǎn)品信息表、管理員信息表、出庫(kù)信息表、入庫(kù)信息表、倉(cāng)庫(kù)信息表。</p><p> 4.2 數(shù)據(jù)庫(kù)E-R圖設(shè)計(jì)</p><p> E-R方法
67、是“實(shí)體-聯(lián)系方法”(Entity-Relationship Approach)的簡(jiǎn)稱。它是描述現(xiàn)實(shí)世界概念結(jié)構(gòu)模型的有效方法。是表示概念模型的一種方式,用矩形表示實(shí)體型,矩形框內(nèi)寫(xiě)明實(shí)體名;用橢圓表示實(shí)體的屬性,并用無(wú)向邊將其與相應(yīng)的實(shí)體型連接起來(lái);用菱形表示實(shí)體型之間的聯(lián)系,在菱形框內(nèi)寫(xiě)明聯(lián)系名,并用無(wú)向邊分別與有關(guān)實(shí)體型連接起來(lái),同時(shí)在無(wú)向邊旁標(biāo)上聯(lián)系的類型(1:1,1:n或m:n)。在ER圖中有如下四個(gè)成分:</p>
68、<p> 矩形框:表示實(shí)體,在框中記入實(shí)體名。</p><p> 菱形框:表示聯(lián)系,在框中記入聯(lián)系名。</p><p> 橢圓形框:表示實(shí)體或聯(lián)系的屬性,將屬性名記入框中。對(duì)于主屬性名,則在其名稱下劃一下劃線。</p><p> 連線:實(shí)體與屬性之間;實(shí)體與聯(lián)系之間;聯(lián)系與屬性之間用直線相連,并在直線上標(biāo)注聯(lián)系的類型。(對(duì)于一對(duì)一聯(lián)系,要在兩個(gè)
69、實(shí)體連線方向各寫(xiě)1; 對(duì)于一對(duì)多聯(lián)系,要在一的一方寫(xiě)1,多的一方寫(xiě)N;對(duì)于多對(duì)多關(guān)系,則要在兩個(gè)實(shí)體連線方向各寫(xiě)N,M。)。</p><p> 本系統(tǒng)是庫(kù)存管理系統(tǒng),根據(jù)上面的結(jié)構(gòu)設(shè)計(jì)和初步的數(shù)據(jù)庫(kù)設(shè)計(jì)思想,規(guī)劃的實(shí)體主要有操作員,原材料實(shí)體、產(chǎn)品實(shí)體、倉(cāng)庫(kù)實(shí)體等。這些實(shí)體包含各種具體實(shí)際信息,通過(guò)相互之間的作用形成數(shù)據(jù)的流動(dòng)。它們的E-R圖如下圖4.1所示:</p><p> 4.3
70、 數(shù)據(jù)庫(kù)表設(shè)計(jì)</p><p> 本系統(tǒng)是一個(gè)商品庫(kù)存管理系統(tǒng),在系統(tǒng)詳細(xì)設(shè)計(jì)之前應(yīng)該對(duì)系統(tǒng)中所涉及到的對(duì)象實(shí)體進(jìn)行信息建模,并最終得到完整的數(shù)據(jù)庫(kù)表結(jié)構(gòu)。</p><p> (1) 原材料信息表(material)</p><p> 實(shí)體“原材料”位于整個(gè)系統(tǒng)實(shí)體的核心位置,其包括的屬性有:原材料編號(hào)、原材料名稱、原材料類別。因此“商品”實(shí)體所對(duì)應(yīng)的數(shù)據(jù)表結(jié)
71、構(gòu)如表4.1所示:</p><p> 表4.1 material 表結(jié)構(gòu)</p><p> (2) 產(chǎn)品信息表(product)</p><p> 實(shí)體“產(chǎn)品”位于整個(gè)系統(tǒng)實(shí)體的核心位置,其包括的屬性有:產(chǎn)品編號(hào)、產(chǎn)品名稱、產(chǎn)品類別。因此“商品”實(shí)體所對(duì)應(yīng)的數(shù)據(jù)表結(jié)構(gòu)如表4.2所示:</p><p> 表4.2 product 表結(jié)構(gòu)
72、</p><p> (3) 管理員信息表(administrator)</p><p> 管理員負(fù)責(zé)所有物品入庫(kù)、出庫(kù)的操作,此表用來(lái)保存合法的管理員信息,包括的屬性有管理員姓名和管理員密碼,具體結(jié)構(gòu)設(shè)計(jì)如表4.3所示:</p><p> 表4.3 administrator表結(jié)構(gòu)</p><p> (4) 倉(cāng)庫(kù)信息表(warehou
73、se)</p><p> 倉(cāng)庫(kù)信息表是用來(lái)保存所有倉(cāng)庫(kù)相關(guān)信息的表,具體的結(jié)構(gòu)設(shè)計(jì)如表4.4所示:</p><p> 表4.4 cangkuxinxi表結(jié)構(gòu)</p><p> (5) 出庫(kù)信息表(outvoucher)</p><p> 出庫(kù)信息表用來(lái)保存對(duì)已進(jìn)庫(kù)的物品進(jìn)行出庫(kù)的信息保存,具體的結(jié)構(gòu)設(shè)計(jì)如表4.5所示:</p&g
74、t;<p> 表4.5 outvoucher表結(jié)構(gòu)</p><p> (6) 入庫(kù)信息表(invoucher)</p><p> 入庫(kù)信息表用來(lái)保存對(duì)已進(jìn)庫(kù)的物品進(jìn)行入庫(kù)的信息保存,具體的結(jié)構(gòu)設(shè)計(jì)如表4.6所示:</p><p> 表4.6 intvoucher表結(jié)構(gòu)</p><p> 5 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)</
75、p><p> 5.1系統(tǒng)登錄界面設(shè)計(jì)</p><p> 系統(tǒng)登錄模塊主要用于驗(yàn)證工作人員登錄系統(tǒng)時(shí)輸入的用戶名、密碼是否正確,如果正確,工作人員進(jìn)入系統(tǒng),否則將不能進(jìn)入此系統(tǒng)。實(shí)現(xiàn)此功能的文件是Login.java和CheckLogin.java,系統(tǒng)登陸窗口的運(yùn)行界面如下圖5.1所示:</p><p> 圖5.1系統(tǒng)登錄界面</p><p&g
76、t; 5.2 系統(tǒng)主界面的設(shè)計(jì)</p><p> 經(jīng)過(guò)用戶身份驗(yàn)證后,進(jìn)入系統(tǒng)主界面,系統(tǒng)主界面主要是讓用戶對(duì)該系統(tǒng)的各個(gè)功能模塊一目了然,使用方便快捷,在主界面上部設(shè)計(jì)了一個(gè)導(dǎo)航欄,包括當(dāng)前登錄的人員角色、首頁(yè)、功能操作、個(gè)人信息和安全退出;在主界面的下部可以看到本系統(tǒng)操作的一些注意事項(xiàng),分別是倉(cāng)庫(kù)管理、原材料管理、產(chǎn)品管理、入庫(kù)和出庫(kù)。系統(tǒng)主界面運(yùn)行結(jié)果如下圖5.2所示:</p><p
77、> 5.3 系統(tǒng)主要功能實(shí)現(xiàn)</p><p> 系統(tǒng)功能操作模塊主要包括原材料管理模塊、產(chǎn)品管理模塊、倉(cāng)庫(kù)管理模塊、出庫(kù)模塊、入庫(kù)模塊,每個(gè)模塊具體實(shí)現(xiàn)如下。</p><p> 5.3.1 原材料管理</p><p> 原材料管理模塊主要有兩部分,一是管理原材料信息,一是增加新的原材料信息。截圖如下:</p><p> ?。?)
78、如果有要入庫(kù)的新原材料,點(diǎn)擊增加原材料進(jìn)入到該頁(yè)面,填入相關(guān)信息后提交即可,如下圖:</p><p> ?。?)對(duì)于已存在的原材料信息可以進(jìn)行修改、刪除、和入庫(kù)操作。點(diǎn)擊原材料信息進(jìn)入到該頁(yè)面。如下圖:</p><p> 原材料在存儲(chǔ)過(guò)程中可能涉及到基本信息的修改,本系統(tǒng)實(shí)現(xiàn)了這一功能,方便實(shí)時(shí)更新原材料的基本信息。本系統(tǒng)可以修改的原材料信息有材料名稱和材料類型信息,注意材料編號(hào)是不能修
79、改的。改原材料信息的頁(yè)面如下圖: </p><p> 可以對(duì)已有的原材料進(jìn)行入庫(kù)操作,此時(shí)倉(cāng)庫(kù)信息會(huì)已列表的形式展示所有倉(cāng)庫(kù)的倉(cāng)庫(kù)信息,可以在指定的位置進(jìn)入入庫(kù)操作。對(duì)于不同的原材料是可以放在同一個(gè)倉(cāng)庫(kù)的庫(kù)區(qū)的相同庫(kù)位的。如下圖:</p><p><b> 入庫(kù)界面如下:</b></p><p> 將原材料入庫(kù)后會(huì)生成相應(yīng)的入庫(kù)單,包括入
80、庫(kù)的物品ID,入庫(kù)的倉(cāng)庫(kù)ID,存放的庫(kù)區(qū)ID和庫(kù)位ID,入庫(kù)的日期,入庫(kù)人,入庫(kù)物品的單位,以及入庫(kù)的數(shù)量等信息。</p><p> 對(duì)于已入庫(kù)的原材料可以進(jìn)行出庫(kù)操作,且該原材料的信息是不能刪除的(刪除按鈕消失,而會(huì)顯示“出庫(kù)”)。如下圖: </p><p> 對(duì)于已入庫(kù)的原材料可以進(jìn)行出庫(kù)操作,,此時(shí)倉(cāng)庫(kù)信息會(huì)已列表的形式展示該材料在所有倉(cāng)庫(kù)的存儲(chǔ)和庫(kù)存量等信息,可以在指定的位置進(jìn)
81、行出庫(kù)操作。如下圖:</p><p><b> 出庫(kù)界面如下圖:</b></p><p> 將原材料出庫(kù)后會(huì)生成相應(yīng)的出庫(kù)單,包括出庫(kù)的物品ID,出庫(kù)的倉(cāng)庫(kù)ID,存放的庫(kù)區(qū)ID和庫(kù)位ID,出庫(kù)的日期,出庫(kù)人,出庫(kù)物品的單位,以及出庫(kù)的數(shù)量等信息。</p><p> 5.3.2 產(chǎn)品管理</p><p> 由于產(chǎn)品
82、管理和原材料操作大同小異,流程也都很相似,所以此部分功能的操作參考5.3.1原材料管理模塊。</p><p> 5.3.3 庫(kù)存管理</p><p> 庫(kù)存管理模塊主要是管理倉(cāng)庫(kù)的信息。包括庫(kù)名,庫(kù)區(qū)數(shù)和庫(kù)位數(shù)。可以增加和刪除倉(cāng)庫(kù),修改倉(cāng)庫(kù)的區(qū)位和庫(kù)位數(shù)。倉(cāng)庫(kù)信息頁(yè)面如下圖:</p><p> 可以修改的倉(cāng)庫(kù)信息有倉(cāng)庫(kù)名稱、倉(cāng)庫(kù)的庫(kù)區(qū)數(shù)和庫(kù)位數(shù)。修改倉(cāng)庫(kù)信息的
83、頁(yè)面如圖:</p><p> 增加倉(cāng)庫(kù)時(shí)需要填寫(xiě)倉(cāng)庫(kù)名稱,倉(cāng)庫(kù)的庫(kù)區(qū)數(shù)和庫(kù)位數(shù)。增加倉(cāng)庫(kù)的頁(yè)面如圖:</p><p> 5.3.4 入庫(kù)查看</p><p> 本功能模塊主要功能是生成出庫(kù)單,并以列表的形式顯示出來(lái)。效果如下圖:</p><p> 看以看到的入庫(kù)信息有入庫(kù)時(shí)間、入庫(kù)人、入庫(kù)物品、入庫(kù)數(shù)目、單位、倉(cāng)庫(kù)、庫(kù)區(qū)和庫(kù)位等信息。
84、</p><p> 5.3.5 出庫(kù)查看</p><p> 本功能模塊主要功能是生成入庫(kù)單,并以列表的形式顯示出來(lái)。效果如下圖:</p><p><b> 5.4 數(shù)據(jù)庫(kù)連接</b></p><p> 用JDBC連接Mysql數(shù)據(jù)庫(kù),步驟是:</p><p> (1) 向工程中添加數(shù)據(jù)庫(kù)
85、驅(qū)動(dòng)包,即將JAR包導(dǎo)入到項(xiàng)目中;</p><p> (2) 載入JDBC驅(qū)動(dòng)程序。如果要載入驅(qū)動(dòng)程序,只需要在Class.forName方法中指定數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序的類名:Class.forName(DriverName)。這樣做就自動(dòng)創(chuàng)建了驅(qū)動(dòng)程序的實(shí)例,并注冊(cè)到JDBC驅(qū)動(dòng)程序管理器。這個(gè)參數(shù)接收一個(gè)表示完全限定類名(即包括包名的類名)的字符串,載入對(duì)應(yīng)的類。這個(gè)調(diào)用可能會(huì)拋出ClassNotFoundExc
86、eption異常,因而必須放在try/catch塊中。</p><p> (3) 建立連接。載入JDBC驅(qū)動(dòng)程序后,必須連接URL指定數(shù)據(jù)庫(kù)服務(wù)器的主機(jī)名、端口和數(shù)據(jù)庫(kù)名。</p><p> 數(shù)據(jù)庫(kù)連接成功,在登錄系統(tǒng)時(shí)會(huì)提示操作員或管理員成功登陸,若數(shù)據(jù)庫(kù)連接失敗,則登錄時(shí)系統(tǒng)會(huì)拋出異常,并提示數(shù)據(jù)庫(kù)連接失敗的錯(cuò)誤,操作員或管理員進(jìn)入不了系統(tǒng)。</p><p>
87、; 對(duì)于本系統(tǒng),為了降低系統(tǒng)的耦合度和實(shí)現(xiàn)代碼的復(fù)用,提高編程效率,因此在數(shù)據(jù)庫(kù)連接時(shí),首先創(chuàng)建了一個(gè)DatabaseAdmin.java的類,用于生成以連接數(shù)據(jù)庫(kù)的各個(gè)參數(shù)為屬性的對(duì)象。這樣即使換了不同的數(shù)據(jù)庫(kù)也可以復(fù)用這個(gè)對(duì)象。這個(gè)類的主要代碼如下:</p><p> public class DatabaseAdmin {</p><p> private String url
88、;</p><p> private String driver;</p><p> private String username;</p><p> private String password;</p><p> public DatabaseAdmin(){</p><p> this(null,n
89、ull,null,null);</p><p><b> }</b></p><p> public DatabaseAdmin(String url,String driver,String username,String password){</p><p> this.url = url;</p><p>
90、 this.driver = driver;</p><p> this.username = username;</p><p> this.password = password;</p><p><b> }</b></p><p><b> …..</b></p>&l
91、t;p><b> }</b></p><p> 然后再創(chuàng)建ConfigMessage.java類,把DatabaseAdmin的一個(gè)對(duì)象作為它的對(duì)象的一個(gè)屬性。通過(guò)讀取config.xml中的配置信息來(lái)給DatabaseAdmin對(duì)象賦值,最后返回一個(gè)DatabaseAdmin的對(duì)象。ConfigMessage.java的代碼如下:</p><p> pu
92、blic class ConfigMessage {</p><p> private static DatabaseAdmin databaseAdmin= null;</p><p> private static Document getDocument(){</p><p> DocumentBuilderFactory dbf=DocumentBui
93、lderFactory.newInstance();</p><p> String classPath=ConfigMessage.class.getResource("ConfigMessage.class").toString();</p><p> int loc=classPath.indexOf("classes");</p&g
94、t;<p> String fileName=classPath.subSequence(0, loc)+"config.xml";//絕對(duì)路徑</p><p><b> try {</b></p><p> URI uri=new URI(fileName);</p><p> return dbf.
95、newDocumentBuilder().parse(new File(uri));</p><p> } catch (SAXException e) {</p><p> e.printStackTrace();</p><p> } catch (IOException e) {</p><p> e.printStackTra
96、ce();</p><p> } catch (ParserConfigurationException e) {</p><p> e.printStackTrace();</p><p> } catch (URISyntaxException e) {</p><p> e.printStackTrace();</p>
97、;<p><b> }</b></p><p> return null;</p><p><b> }</b></p><p> public static DatabaseAdmin getDatabaseAdmin(){</p><p> if(databaseAdmi
98、n==null){</p><p> Document doc=getDocument();</p><p> if(doc!=null){</p><p> Element database=(Element)(doc.getElementsByTagName("database").item(0));</p><p&
99、gt; Element username=(Element)(database.getElementsByTagName("username").item(0));</p><p> Element password=(Element)(database.getElementsByTagName("password").item(0));</p><
100、p> Element url = (Element)(database.getElementsByTagName("url").item(0));</p><p> Element driver = (Element)(database.getElementsByTagName("driver").item(0));</p><p> d
101、atabaseAdmin=new DatabaseAdmin(url.getFirstChild().getNodeValue(),</p><p> driver.getFirstChild().getNodeValue(),</p><p> username.getFirstChild().getNodeValue(),</p><p><b>
102、 "");</b></p><p><b> }</b></p><p><b> }</b></p><p> return databaseAdmin;</p><p><b> }</b></p><p>
103、<b> }</b></p><p> 再得到DatabaseAdmin.java 的一個(gè)對(duì)象后,通過(guò)工廠方法來(lái)生成一個(gè)連接數(shù)據(jù)庫(kù)的連接。這個(gè)連接通過(guò)類Databases.java 類來(lái)生成。Databases類沒(méi)有任何屬性,它只有一個(gè)靜態(tài)方法getConnection(),它返回一個(gè)Connection類型的對(duì)象。本系統(tǒng)就通過(guò)這個(gè)Connection類型的對(duì)象來(lái)連接數(shù)據(jù)庫(kù)的。該方法的主
104、要代碼如下:</p><p> public static Connection getConnection(){</p><p> Connection conn=null;</p><p> DatabaseAdmin da=ConfigMessage.getDatabaseAdmin();</p><p> String url
105、 = da.getUrl();</p><p> String driver = da.getDriver();</p><p> String user=da.getUsername();</p><p> String password=da.getPassword();</p><p><b> try {</b
106、></p><p> Class.forName(driver);</p><p> conn=DriverManager.getConnection(url,user,password);</p><p> } catch (ClassNotFoundException e) {</p><p> e.printStackTr
107、ace();</p><p> System.out.println(user);</p><p> System.out.println(password);</p><p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p>
108、 System.out.println(user);</p><p> System.out.println(password);</p><p><b> }</b></p><p> return conn;</p><p><b> }</b></p><p>
109、 這樣在對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的時(shí)候只要通過(guò)調(diào)用Databases類的靜態(tài)方getConnection()就能方便的連接數(shù)據(jù)庫(kù)了。</p><p> 6 軟件測(cè)試與結(jié)果分析</p><p><b> 6.1 測(cè)試綜述</b></p><p> 為了確保本系統(tǒng)的質(zhì)量和可靠性,要對(duì)系統(tǒng)進(jìn)行全面的測(cè)試和調(diào)試,主要是軟件測(cè)試和數(shù)據(jù)庫(kù)測(cè)試,下面分別對(duì)它
110、們進(jìn)行了介紹。</p><p> 6.1.1 軟件測(cè)試綜述</p><p> 軟件測(cè)試階段的主要任務(wù)是發(fā)現(xiàn)并排除在分析、設(shè)計(jì)、編程階段中產(chǎn)生的各種類型的錯(cuò)誤,以得到可使用的軟件系統(tǒng)。從用戶和軟件開(kāi)發(fā)人員不同的角度看,進(jìn)行軟件測(cè)試的目的是完全不同的。用戶往往是通過(guò)測(cè)試暴露出軟件所存在的錯(cuò)誤和缺陷,以考慮是否能接受該產(chǎn)品;而軟件開(kāi)發(fā)人員則希望通過(guò)測(cè)試來(lái)證實(shí)軟件產(chǎn)品不存在任何錯(cuò)誤和缺陷,驗(yàn)證
111、該軟件已滿足了用戶的需求,從而提高用戶使用該軟件產(chǎn)品的信心。因此,軟件開(kāi)發(fā)人員往往會(huì)選擇那些導(dǎo)致程序失敗概率小的測(cè)試數(shù)據(jù)去測(cè)試軟件。顯然,這樣的測(cè)試對(duì)完善和提高軟件質(zhì)量毫無(wú)價(jià)值。因此,測(cè)試的目的應(yīng)該是從軟件包含有錯(cuò)誤這一前提出發(fā),通過(guò)測(cè)試查出并改正盡可能多的錯(cuò)誤,不斷提高軟件的質(zhì)量和可靠型</p><p> 軟件測(cè)試分為動(dòng)態(tài)測(cè)試和靜態(tài)測(cè)試。按產(chǎn)生測(cè)試數(shù)據(jù)的不同方式,動(dòng)態(tài)測(cè)試可分為功能測(cè)試和結(jié)構(gòu)測(cè)試,即黑盒測(cè)試和
112、白盒測(cè)試。本系統(tǒng)采用的是黑盒測(cè)試。所謂黑盒測(cè)試是把測(cè)試對(duì)象視為一個(gè)黑盒子,測(cè)試人員只著眼于軟件的外部特性,而不考慮軟件的內(nèi)部的邏輯結(jié)構(gòu),是在軟件接口上進(jìn)行的測(cè)試。 </p><p> 6.1.2 數(shù)據(jù)庫(kù)測(cè)試</p><p> 測(cè)試系統(tǒng)與數(shù)據(jù)庫(kù)是否連接上主要是看數(shù)據(jù)庫(kù)連接的參數(shù)是否正確,在ConfigMessage.java 類中寫(xiě)一個(gè)main方法進(jìn)行測(cè)試,如果能夠成功從config.x
113、ml中讀取出連接數(shù)據(jù)庫(kù)的各個(gè)參數(shù)并能成功顯示在命令行下則證明數(shù)據(jù)庫(kù)能連接正確。測(cè)試代碼如下:</p><p> public class ConfigMessage {</p><p> private static DatabaseAdmin databaseAdmin= null;</p><p> private static Document getD
114、ocument(){</p><p> DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();</p><p> String classPath=ConfigMessage.class.getResource("ConfigMessage.class").toString();</p&
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件工程畢業(yè)論文-制造業(yè)mis——生產(chǎn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 軟件工程畢業(yè)論文-庫(kù)存管理系統(tǒng)(mis)的設(shè)計(jì)與實(shí)現(xiàn)
- 制造業(yè)mis——庫(kù)存管理
- 軟件工程畢業(yè)論文-庫(kù)存管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 軟件工程畢業(yè)論文-企業(yè)成品庫(kù)存管理的設(shè)計(jì)與實(shí)現(xiàn)(后臺(tái))
- 軟件工程畢業(yè)論文-企業(yè)成品庫(kù)存管理的設(shè)計(jì)與實(shí)現(xiàn)(前臺(tái))
- 軟件工程畢業(yè)論文-汽車銷售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-庫(kù)存管理模塊
- 軟件工程畢業(yè)論文-酒店餐飲管理的設(shè)計(jì)與實(shí)現(xiàn)
- 軟件工程畢業(yè)論文-駕校管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 軟件工程畢業(yè)論文-學(xué)生管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 軟件工程畢業(yè)論文-工程監(jiān)理管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 寧波制造業(yè)企業(yè)庫(kù)存管理問(wèn)題研究[畢業(yè)論文]
- 軟件工程畢業(yè)論文-超市收銀管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 軟件工程畢業(yè)論文-倉(cāng)庫(kù)貨物管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 軟件工程畢業(yè)論文-城市水費(fèi)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 軟件工程畢業(yè)論文-小區(qū)車位管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 軟件工程畢業(yè)論文-智慧大棚-管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 軟件工程畢業(yè)論文-圖書(shū)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 軟件工程畢業(yè)論文-商場(chǎng)會(huì)員管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 軟件工程畢業(yè)論文-駕校管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 2
評(píng)論
0/150
提交評(píng)論