版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 本科畢業(yè)論文</b></p><p><b> ?。?0 屆)</b></p><p> 制造業(yè)MIS的設(shè)計(jì)與實(shí)現(xiàn)——庫存管理</p><p><b> 摘 要</b></p><p> 隨著現(xiàn)代工業(yè)的發(fā)展,計(jì)算機(jī)信息管理系統(tǒng)越來越受到企
2、業(yè)重視。庫存管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺(tái)數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。本文主要分析了庫存管理系統(tǒng)的一些基本功能和組成情況,包括系統(tǒng)的需求分析、系統(tǒng)結(jié)構(gòu),功能模塊劃分以及數(shù)據(jù)庫模式分析等,同時(shí)也論述了庫存管理系統(tǒng)開發(fā)時(shí)的主要設(shè)計(jì)思想及系統(tǒng)實(shí)現(xiàn)的詳細(xì)過程及使用方法。結(jié)構(gòu)嚴(yán)謹(jǐn)、性能穩(wěn)定、使用方便。</p><p> 本系統(tǒng)對(duì)于庫存管理方面所遇到的各種問題,如工作量大,
3、數(shù)據(jù)更新不及時(shí),可靠性低等都做出詳細(xì)的解決方案,本系統(tǒng)是以適應(yīng)當(dāng)前計(jì)算機(jī)信息管理的需要,緊密結(jié)合了庫存管理在計(jì)算機(jī)信息管理方面的應(yīng)用,實(shí)現(xiàn)了管理人員對(duì)庫存的現(xiàn)代化管理,從而進(jìn)一步提高了庫存管理的工作效率。</p><p> 系統(tǒng)基于B/S模式,采用JSP和Mysql數(shù)據(jù)庫系統(tǒng)來實(shí)現(xiàn)庫存信息管理,庫存警示,信息查詢等功能。強(qiáng)大的查詢和報(bào)表功能,能夠全面、及時(shí)地反映當(dāng)前庫存狀況。</p><p&
4、gt; 關(guān)鍵詞:庫存管理,數(shù)據(jù)庫,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 庫存管理系統(tǒng)簡介1</p><p> 1.2.1 課題開發(fā)背景2</p><p> 1.2.2 課題開發(fā)意義2<
12、/p><p> 1.3課題開發(fā)目標(biāo)2</p><p> 2 系統(tǒng)運(yùn)行環(huán)境及系統(tǒng)開發(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 軟件開發(fā)環(huán)境3</p><p> 2.2 系統(tǒng)開發(fā)技術(shù)3</p&g
13、t;<p> 2.2.1 JSP簡介3</p><p> 2.2.2 Servlet簡介4</p><p> 2.2.3 DAO模式簡介4</p><p> 2.2.4 Mysql 數(shù)據(jù)庫簡介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ù)庫設(shè)計(jì)12</p><p> 4.1 數(shù)據(jù)庫設(shè)計(jì)思想12</p><p> 4.2 數(shù)據(jù)庫E-R圖設(shè)計(jì)12</p><p> 4.3 數(shù)據(jù)庫表設(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 倉庫管理22<
17、/p><p> 5.3.4 入庫查看23</p><p> 5.3.5 出庫查看23</p><p> 5.4 數(shù)據(jù)庫連接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ù)庫測(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> 隨著中國電子商務(wù)、互聯(lián)網(wǎng)業(yè)務(wù)的迅猛發(fā)展。國內(nèi)許多企業(yè)已跨入電腦網(wǎng)絡(luò)管理時(shí)代,并因此提高了管理效率和市場競爭力。但目前仍有部分企業(yè)還停留在原始管理階段。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)不斷發(fā)展,其強(qiáng)大的功能已經(jīng)被人們深刻認(rèn)識(shí),在社會(huì)的各個(gè)領(lǐng)域發(fā)揮著越來越重要的作用。在如此激烈的社會(huì)形勢(shì)和激烈的市場競爭下,愈來愈多的企業(yè)管理者意識(shí)到效率管理和科學(xué)管理的重要性,因此建立科學(xué)、規(guī)范、高效的管理
20、制度和秉承富有競爭力的管理理念是每一個(gè)企業(yè)管理者的渴望,企業(yè)采用電腦管理進(jìn)貨、庫存、銷售等諸多環(huán)節(jié)也已成為趨勢(shì)及必然。</p><p> 庫存管理系統(tǒng)是商業(yè)信息管理的重要部分,面對(duì)大量的商品信息,采用人力處理將浪費(fèi)大量的時(shí)間、人力和物理,且對(duì)數(shù)據(jù)操作的準(zhǔn)確性不高。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)物資信息進(jìn)行管理,具有手工管理所無法比擬的優(yōu)點(diǎn)。例如:檢索迅速、查找方便、可靠性高、保密性好等。本文提出了一種易于
21、操作的庫存管理系統(tǒng)對(duì)整個(gè)過程中涉及到的表單進(jìn)行半自動(dòng)化處理。用戶通過使用本系統(tǒng)能夠極大地提高人事勞資管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理, 提升企業(yè)市場競爭力,與世界接軌的重要條件。</p><p> 1.1 信息管理系統(tǒng)概述</p><p> 管理信息系統(tǒng)(簡稱MIS)是在管理科學(xué)、系統(tǒng)科學(xué)、計(jì)算機(jī)科學(xué)等的基礎(chǔ)上發(fā)展起來的綜合性邊緣科學(xué)。現(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):確定的信息需求、信息的可采集與可加工、可以通過程序?yàn)楣芾砣藛T提供信息、可以對(duì)信息進(jìn)行管理。信息是管理上的一
23、項(xiàng)極為重要的資源,管理工作的成敗取決于能否做出有效的決策,而決策的正確程度則在很大程度上取決于信息得質(zhì)量。所以能否有效的管理信息成為企業(yè)的首要問題,管理信息系統(tǒng)在強(qiáng)調(diào)管理、強(qiáng)調(diào)信息的現(xiàn)代社會(huì)中越來越得到普及。</p><p> 1.2 庫存管理系統(tǒng)簡介</p><p> 當(dāng)今時(shí)代是飛速發(fā)展的信息時(shí)代,在各行各業(yè)中離不開信息處理,這正是計(jì)算機(jī)被廣泛應(yīng)用于信息處理系統(tǒng)的環(huán)境。計(jì)算機(jī)最大的好
24、處在于利用它能夠進(jìn)行信息管理,使用計(jì)算機(jī)進(jìn)行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。庫存管理系統(tǒng)是一個(gè)企業(yè)不可缺少的部分,它的內(nèi)容對(duì)于企業(yè)的決策者和管理者來說都至關(guān)重要,所以庫存管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。尤其?duì)復(fù)雜的信息管理,計(jì)算機(jī)能夠充分發(fā)揮它的優(yōu)越性。計(jì)算機(jī)進(jìn)行信息管理與信息管理系統(tǒng)的開發(fā)密切相關(guān),系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。</p><p> 1.2.1 課題開
25、發(fā)背景</p><p> 倉庫作為一總貨品資源的集散地,貨品的種類繁多,包含很多的信息數(shù)據(jù)的管理。據(jù)調(diào)查得知,以前倉庫進(jìn)行信息管理主要使用傳統(tǒng)人工的方式管理倉庫中的各種物資設(shè)備,這種管理方式存在著許多缺點(diǎn)。對(duì)于貨品的出入庫情況的統(tǒng)計(jì)和核實(shí)等往往采用對(duì)賬本的人工檢查,對(duì)管理者的管理權(quán)限等不受約束,任何人都可查看,這樣容易引起資料外泄。另外,時(shí)間一長,將產(chǎn)生大量的文件和數(shù)據(jù),容易出錯(cuò),由于數(shù)據(jù)繁多,對(duì)于查找、更新和
26、維護(hù)都帶來了不少的困難??偟膩碚f,就是缺乏系統(tǒng)、規(guī)范的信息管理手段。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)物資信息進(jìn)行管理,具有手工管理所無法比擬的優(yōu)點(diǎn)。例如:存儲(chǔ)量大、檢索迅速、查找方便、保密性好、可靠性高、壽命長、成本低等。因此,很有必要建立一個(gè)庫存管理系統(tǒng),使貨品管理工作規(guī)范化,系統(tǒng)化,程序化。提高信息處理的速度和準(zhǔn)確性。</p><p> 1.2.2 課題開發(fā)意義</p><p>
27、 隨著我國經(jīng)濟(jì)的飛速發(fā)展,各種類型規(guī)模的公司企業(yè)迅速崛起,許多從事生產(chǎn)和經(jīng)營管理的企業(yè)都有自己生產(chǎn)和銷售的產(chǎn)品,而這些產(chǎn)品都需要儲(chǔ)存在倉庫中,大多數(shù)庫存管理理論認(rèn)為,庫存是物理上和邏輯上庫房庫位的所有有形和無形物料極其價(jià)值的總和,具體包括成品、原材料、在制品、在途品、生產(chǎn)前物料、備品備件等。雖然持有一些庫存是必要的,過量的庫存卻非但沒有用處而且占用了資金。占用的資金對(duì)于公司發(fā)展、新產(chǎn)品開發(fā)等都是非常需要的;減少資金占用還可以大大減少來
28、自銀行貸款的利息和風(fēng)險(xiǎn)。對(duì)那些采購量特別大、采購件市場價(jià)格有波動(dòng)的物料庫存,加強(qiáng)庫存管理效果更為明顯。因此,平衡公司庫存投資與其它資金需求至關(guān)重要。庫存管理又涉及入庫、出庫的產(chǎn)品、操作人員及客戶等方方面面的因素,如何管理這些信息數(shù)據(jù),是一項(xiàng)復(fù)雜的系統(tǒng)工程,充分考驗(yàn)著倉庫管理員的工作能力,工作量的繁重是可想而知的,所以這就需要由庫存管理系統(tǒng)來提高庫存管理工作的效率,這對(duì)信息的規(guī)范管理、科學(xué)統(tǒng)計(jì)和快速查詢,減少管理方面的工作量,同時(shí)對(duì)于提高
29、企業(yè)的生產(chǎn)效率,都具有十分重要的現(xiàn)實(shí)意義。</p><p> 1.3 課題開發(fā)目標(biāo)</p><p> 設(shè)計(jì)和實(shí)現(xiàn)商品庫存管理系統(tǒng),使庫存管理的工作系統(tǒng)化、 規(guī)范化和自動(dòng)化,從而達(dá)到提高管理效率的目的。</p><p> (1)利用計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)原材料和成品的庫存管理;</p><p> (2)流程符合原材料和成品的庫存要求;</
30、p><p> (3)查詢方便,無論是按編號(hào)、名稱、類別、時(shí)間其中任一項(xiàng)都可以進(jìn)行有效查詢;</p><p> (4)系統(tǒng)擴(kuò)充容易,方便以后系統(tǒng)的擴(kuò)展和性能維護(hù);</p><p> (5)友好的用戶界面,既面向系統(tǒng)開發(fā)者,又面向用戶 。</p><p> 2 系統(tǒng)運(yùn)行環(huán)境及系統(tǒng)開發(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:沒有特殊要求,建議主頻在1.56GHz以上;</p><p> 內(nèi)存:512MB以上的內(nèi)存。</p><
32、p> 2.1.2 軟件開發(fā)環(huán)境</p><p> 本系統(tǒng)的軟件開發(fā)環(huán)境如下:</p><p> 操作系統(tǒng):Windows xp/ Windows 7;</p><p> 數(shù) 據(jù) 庫:Mysql數(shù)據(jù)庫;</p><p> 數(shù)據(jù)庫連接驅(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)開發(fā)技術(shù)</p><p> 本系統(tǒng)主要應(yīng)用了JSP + Servlet + DAO 的開發(fā)模式,應(yīng)用Mysql數(shù)據(jù)庫進(jìn)行數(shù)據(jù)的管理,實(shí)現(xiàn)強(qiáng)大的信息查詢管
34、理。本系統(tǒng)的開發(fā)主要是使用在MyEclipse平臺(tái)下的Java語言,java語言是面向?qū)ο蟮木幊陶Z言,因此本系統(tǒng)有很好的擴(kuò)展性。</p><p> 2.2.1 JSP簡介</p><p> JSP是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)技術(shù)標(biāo)準(zhǔn)。在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標(biāo)
35、簽,就構(gòu)成了JSP網(wǎng)頁java程序片段可以操縱數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送E-mail等,實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,這樣大大降低了對(duì)客戶瀏覽器的要求,即使客戶瀏覽器端不支持Java,也可以訪問JSP網(wǎng)頁。Java Servlet是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡單易用,完全的
36、面向?qū)ο?,具有平臺(tái)無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。</p><p> JSP全名為java server page,其根本是一個(gè)簡化的Servlet設(shè)計(jì),他實(shí)現(xiàn)了Html語法中的java擴(kuò)張(以 <%, %>形式)。JSP與Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請(qǐng)求時(shí),首先執(zhí)行其中
37、的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶端。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁所需要的功能。</p><p> JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計(jì)的顯示分離,支持可重用的基于組
38、件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。 JSP(JavaServer Pages)是一種動(dòng)態(tài)頁面技術(shù),它的主要目的是將表示邏輯從Servlet中分離出來。</p><p> 2.2.2 Servlet簡介</p><p> Servlet是在服務(wù)器上運(yùn)行的小程序。這個(gè)詞是在Java applet的環(huán)境中創(chuàng)造的,Java applet是一種當(dāng)作單獨(dú)文件跟網(wǎng)頁一起發(fā)送的小程
39、序,它通常用于在服務(wù)器端運(yùn)行,結(jié)果得到為用戶進(jìn)行運(yùn)算或者根據(jù)用戶互作用定位圖形等服務(wù)。</p><p> 服務(wù)器上需要一些程序,常常是根據(jù)用戶輸入訪問數(shù)據(jù)庫的程序。這些通常是使用公共網(wǎng)關(guān)接口(CGI(Common Gateway Interface))應(yīng)用程序完成的。然而,在服務(wù)器上運(yùn)行Java,這種程序可使用Java編程語言實(shí)現(xiàn)。在通信量大的服務(wù)器上,Java Servlet的優(yōu)點(diǎn)在于它們的執(zhí)行速度更快于CG
40、I程序。各個(gè)用戶請(qǐng)求被激活成單個(gè)程序中的一個(gè)線程,而無需創(chuàng)建單獨(dú)的進(jìn)程,這意味著服務(wù)器端處理請(qǐng)求的系統(tǒng)開銷將明顯降低。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模式簡介</p><p> DAO(Data Access Obj
41、ect)是一個(gè)數(shù)據(jù)訪問接口,數(shù)據(jù)訪問:顧名思義就是與數(shù)據(jù)庫打交道。夾在業(yè)務(wù)邏輯與數(shù)據(jù)庫資源中間。</p><p> 在核心J2EE模式中是這樣介紹DAO模式的:為了建立一個(gè)健壯的J2EE應(yīng)用,應(yīng)該將所有對(duì)數(shù)據(jù)源的訪問操作抽象封裝在一個(gè)公共API中。用程序設(shè)計(jì)的語言來說,就是建立一個(gè)接口,接口中定義了此應(yīng)用程序中將會(huì)用到的所有事務(wù)方法。在這個(gè)應(yīng)用程序中,當(dāng)需要和數(shù)據(jù)源進(jìn)行交互的時(shí)候則使用這個(gè)接口,并且編寫一個(gè)單獨(dú)
42、的類來實(shí)現(xiàn)這個(gè)接口在邏輯上對(duì)應(yīng)這個(gè)特定的數(shù)據(jù)存儲(chǔ)。</p><p> DAO模式是標(biāo)準(zhǔn)的J2EE設(shè)計(jì)模式之一.開發(fā)人員使用這個(gè)模式把底層的數(shù)據(jù)訪問操作和上層的商務(wù)邏輯分開.一個(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ù)源訪問數(shù)據(jù)的邏輯。</p><p> DAO模式是Data Accessor模式和ADO(Active Domain Object)模式兩個(gè)模式的組合。Data Accessor模式的實(shí)質(zhì)就是封裝了對(duì)數(shù)據(jù)庫訪問的實(shí)現(xiàn)機(jī)制,僅對(duì)應(yīng)用程序公
44、開邏輯操作。實(shí)現(xiàn)Data Accessor的功能復(fù)雜程度由開發(fā)的封裝細(xì)節(jié)的程度來決定。通過引入DAO模式,業(yè)務(wù)邏輯更加清晰,且富于形象性和描述性,更利于系統(tǒng)日后的維護(hù)和升級(jí)。</p><p> 2.2.4 Mysql數(shù)據(jù)庫簡介</p><p> Mysql是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典Mysql AB公司開發(fā),目前屬于Oracle公司。Mysql是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫
45、將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉庫內(nèi),這樣就增加了速度并提高了靈活性。Mysql的SQL語言是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。與其他的大型數(shù)據(jù)庫例如Oracle、DB2、SQL Server等相比,Mysql自有它的不足之處,但是這絲毫也沒有減少它受歡迎的程度。Mysql軟件采用了雙授權(quán)政策(本詞條“授權(quán)政策”),它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),一般中小型網(wǎng)站的開
46、發(fā)都選擇Mysql作為網(wǎng)站數(shù)據(jù)庫。</p><p> MySQL服務(wù)器原本就是開發(fā)比已存在的數(shù)據(jù)庫更快的用于處理大的數(shù)據(jù)庫的解決方案,并且已經(jīng)成功用于高苛刻生產(chǎn)環(huán)境多年。盡管MySQL仍在開發(fā)中,但它已經(jīng)提供一個(gè)豐富和極其有用的功能集。它的連接性、速度和安全性使MySQL非常適合訪問在Internet上的數(shù)據(jù)庫。MySQL數(shù)據(jù)庫服務(wù)器是一個(gè)客戶/服務(wù)器系統(tǒng),它由多線程SQL服務(wù)器組成,支持不同的后端、多個(gè)不同的
47、客戶程序和庫、管理工具和廣泛的應(yīng)用程序接口(APIs)。它也可以是一個(gè)嵌入的多線程庫,你可以把它連接到你的應(yīng)用中而得到一個(gè)小、快且易于管理的產(chǎn)品。</p><p><b> 3 系統(tǒng)分析與設(shè)計(jì)</b></p><p> 3.1系統(tǒng)可行性分析</p><p> 可行性分析研究的目的就是用最小的代價(jià)在盡可能短的時(shí)間里確定問題是否能解決,通過復(fù)
48、雜系統(tǒng)的規(guī)模與目標(biāo),研究與此類似的系統(tǒng)后,我們具體從下面三方面考慮。</p><p> 3.1.1 經(jīng)濟(jì)可行性</p><p> 商品庫存管理系統(tǒng)是一個(gè)小型的管理系統(tǒng), 在開發(fā)時(shí)需要軟件開發(fā)人員花費(fèi)一定的時(shí)間和精力,因此需要一定的資金。本系統(tǒng)開發(fā)的目的,是通過系統(tǒng)開發(fā),實(shí)現(xiàn)庫存管理工作計(jì)算機(jī)化,提高業(yè)務(wù)的處理速度和規(guī)范化程度,進(jìn)一步通過計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)實(shí)現(xiàn)整個(gè)企業(yè)管理信息化。該系統(tǒng)可以提
49、高管理工作的質(zhì)量和效率,使庫存管理工作變繁為簡,使其更加合理化、規(guī)范化。工作效率的提高就意為著整體水平的提高,是非常值得投資的。</p><p> 3.1.2 操作可行性</p><p> 本系統(tǒng)是一款B/S模式的庫存管理系統(tǒng),在庫存信息處理方面做得很精準(zhǔn)規(guī)范。因?yàn)閹齑婀芾砣藛T已經(jīng)有豐富的信息管理經(jīng)驗(yàn),只要有一定的計(jì)算機(jī)應(yīng)用經(jīng)驗(yàn),加之本系統(tǒng)操作簡單,易于學(xué)習(xí),所以很容易就可以熟練使用。
50、</p><p> 3.1.3 技術(shù)可行性</p><p> 系統(tǒng)采用Java語言作為開發(fā)語言。Java是一種簡單的,面象對(duì)象的,分布式的,解釋的,鍵壯的安全的,結(jié)構(gòu)的中立的,可移植的,性能很優(yōu)異的多線程的動(dòng)態(tài)的語言。它具有理論嚴(yán)密、使用方便、易學(xué)易用等特點(diǎn),利用它設(shè)計(jì)的系統(tǒng)具有界面友好、工具豐富速度較快的特點(diǎn)。再結(jié)合Mysql數(shù)據(jù)庫技術(shù),編寫SQL語言訪問數(shù)據(jù)庫,可以輕松實(shí)現(xiàn)強(qiáng)大的查
51、詢、修改、入庫、出庫操作。</p><p> 3.2 系統(tǒng)需求分析</p><p> 庫存管理主要實(shí)現(xiàn)對(duì)成品庫和原料庫日常業(yè)務(wù)的管理,系統(tǒng)使用對(duì)象是成品庫和原料庫的庫管員,主要功能包括:</p><p><b> 登陸認(rèn)證:</b></p><p> 作為庫存管理系統(tǒng),用戶的權(quán)限必須是明確的,這樣才能保證庫存信息
52、的安全。 本系統(tǒng)主要分為原料庫管理員和成品庫管理員。不同管理員的所操作的庫是不一樣的。</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> 倉庫信息管理:</b></p><p> 企業(yè)設(shè)多個(gè)倉庫,可對(duì)倉庫信息進(jìn)行增、刪、改。</p><p><b> 區(qū)位管理:</b></p><p> 某些倉庫被劃分為多個(gè)庫區(qū),每
54、個(gè)庫區(qū)又被劃分為多個(gè)庫位,可以對(duì)區(qū)位信息進(jìn)行信息管理。</p><p><b> 入庫流程管理:</b></p><p> 產(chǎn)品或原料入庫,生成入庫單,增加庫存。入庫單應(yīng)包括入庫時(shí)間、入庫人、入庫貨物信息,入庫庫區(qū)、入庫庫位等信息。</p><p><b> 出庫流程管理:</b></p><p&
55、gt; 產(chǎn)品或原料出庫,生成出庫單,減少庫存。出庫單應(yīng)包括出庫時(shí)間、出庫人、出庫貨物信息,出庫庫區(qū)、出庫庫位等信息。</p><p><b> 庫存盤點(diǎn):</b></p><p> 庫管員要定期對(duì)庫存貨物進(jìn)行盤點(diǎn),進(jìn)行報(bào)盈(增加庫存)和報(bào)虧(減少庫存)操作,以保證庫存信息的正確性。</p><p><b> 查詢統(tǒng)計(jì):<
56、/b></p><p> 支持入庫查詢、出庫查詢、當(dāng)前庫存查詢、超期報(bào)警查詢、庫存不足查詢等。</p><p> 3.3 總體功能設(shè)計(jì)</p><p> 本部分主要是根據(jù)系統(tǒng)需求分析,劃分本系統(tǒng)最終要實(shí)現(xiàn)的功能,搭好系統(tǒng)的結(jié)構(gòu)框架。畫出各個(gè)功能模塊圖,指導(dǎo)本系統(tǒng)的最終開發(fā)。使得在開發(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)航來調(diào)用相應(yīng)的jsp頁面。利用jsp頁面對(duì)信息進(jìn)行管理、數(shù)據(jù)錄入、信息查詢、系統(tǒng)管理等工作。具體設(shè)計(jì)的功能模塊如下:</p><p><b> 原材料管理模塊</b></p><p> 該模塊包括進(jìn)貨原材料信息管
58、理模塊和增加原材料管理模塊。原材料信息管理模塊可修改存在倉庫的原材料信息和刪除存在倉庫的原材料信息,并可以進(jìn)行入庫。增加原材料管理模塊可添加倉庫中的原材料信息。</p><p><b> 產(chǎn)品管理模塊</b></p><p> 該模塊包括進(jìn)貨產(chǎn)品信息管理模塊和增加產(chǎn)品管理模塊。產(chǎn)品信息管理模塊可修改存在倉庫的產(chǎn)品信息和刪除存在倉庫的產(chǎn)品信息,并可以進(jìn)行入庫。增加產(chǎn)
59、品管理模塊可添加倉庫中的產(chǎn)品信息。</p><p><b> 倉庫管理模塊</b></p><p> 該模塊可以管理倉庫信息,可以增加、刪除、修改倉庫信息,并能修改倉庫的庫區(qū)和庫位信息。</p><p><b> 入庫模塊</b></p><p> 該模塊主要是顯示原材料和產(chǎn)品入庫的入庫信息
60、,生成一個(gè)簡單的入庫單。</p><p><b> 出庫模塊</b></p><p> 該模塊主要是顯示原材料和產(chǎn)品出庫的出庫信息,生成一個(gè)簡單的出庫單。</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)的流程由用戶登錄開始,系統(tǒng)檢驗(yàn)用戶名和密碼合法后,用戶成功登錄,進(jìn)入系統(tǒng)后可以對(duì)庫存物品進(jìn)行基本操作,如增加庫存物品種類,修改庫存物品信息,出、入庫物品等,還可以管理倉庫信息,查看倉庫的庫區(qū)、庫位等。用戶完成工作后即可退出系統(tǒng)。整個(gè)系統(tǒng)的流程可以用下面的圖3.2所示:</p><p> 入庫單和
62、出庫單的操作是庫存管理系統(tǒng)中最重要的兩個(gè)操作,在整體功能設(shè)計(jì)時(shí),先判斷倉庫是否有新增的原材料或產(chǎn)品,有則輸入新增原材料或產(chǎn)品的基本信息,然后判定原材料或產(chǎn)品是否要進(jìn)庫,確認(rèn)進(jìn)庫的話選擇相應(yīng)的倉庫,再選擇相應(yīng)的庫區(qū)和庫位,輸入入庫的數(shù)量和單位就處理完畢,在原材料或產(chǎn)品的基本信息模塊中就可以查看庫存。出庫的具體流程圖如下圖3.3所示:</p><p> 出庫單的處理流程像入庫單的處理一樣,當(dāng)有原材料或產(chǎn)品要出庫時(shí),
63、先判斷倉庫中是否有庫存,包括出庫原材料或產(chǎn)品的相關(guān)信息,如果確認(rèn)此原材料或產(chǎn)品要出庫,然后選擇相應(yīng)的要出庫的倉庫,再選擇相應(yīng)的庫區(qū)和庫位,然后輸入合適的出庫數(shù)量和單位,如果合適就允許出庫,出庫單據(jù)處理完畢;如果不合適,需要修改出庫數(shù)量,直至數(shù)量合適允許出庫。出庫的具體流程圖如下圖3.4所示:</p><p><b> 4 數(shù)據(jù)庫設(shè)計(jì)</b></p><p> 4.
64、1 數(shù)據(jù)庫設(shè)計(jì)思想</p><p> 本庫存管理系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)采用了MySQL數(shù)據(jù)庫,數(shù)據(jù)庫名為lmydata,采用JDBC(Java數(shù)據(jù)庫連接)連接數(shù)據(jù)庫。</p><p> 根據(jù)系統(tǒng)需求,在登錄系統(tǒng)時(shí)提供所要的身份驗(yàn)證信息,所以設(shè)計(jì)了管理員信息表。經(jīng)過身份驗(yàn)證后,進(jìn)入系統(tǒng)。在功能操作模塊中涉及到原材料管理,產(chǎn)品管理,要設(shè)計(jì)原材料信息表,產(chǎn)品信息表。操作員要進(jìn)行基本的管理操作,增加
65、原材料、產(chǎn)品;修改原材料信息,修改產(chǎn)品信息;并對(duì)入庫的原材料和產(chǎn)品進(jìn)行列表顯示。在入庫管理模塊中操作員要進(jìn)行基本的入庫管理操作,增加入庫原材料和產(chǎn)品,需要設(shè)計(jì)入庫表。在出庫管理模塊中操作員要進(jìn)行基本的出庫管理操作,增加出庫原材料和產(chǎn)品,需要設(shè)計(jì)出庫表。功能操作中還涉及到倉庫管理,所以要設(shè)計(jì)倉庫信息表,由于倉庫還涉及到庫區(qū)和庫位,所以將庫區(qū)和庫位作為倉庫信息表中的兩個(gè)屬性。在設(shè)計(jì)表時(shí)要注意數(shù)據(jù)類型的選取要合適,約束的定義要準(zhǔn)確,為了方便理
66、解,最好還要添加描述,使設(shè)計(jì)出來的表一目了然。通過與數(shù)據(jù)庫連接,用數(shù)據(jù)庫表保存系統(tǒng)所需要的功能數(shù)據(jù)信息,實(shí)現(xiàn)系統(tǒng)的各個(gè)功能。</p><p> 根據(jù)以上的分析,本系統(tǒng)采用關(guān)系型數(shù)據(jù)庫并設(shè)計(jì)了6個(gè)數(shù)據(jù)庫表,分別是原材料信息表、產(chǎn)品信息表、管理員信息表、出庫信息表、入庫信息表、倉庫信息表。</p><p> 4.2 數(shù)據(jù)庫E-R圖設(shè)計(jì)</p><p> E-R方法
67、是“實(shí)體-聯(lián)系方法”(Entity-Relationship Approach)的簡稱。它是描述現(xiàn)實(shí)世界概念結(jié)構(gòu)模型的有效方法。是表示概念模型的一種方式,用矩形表示實(shí)體型,矩形框內(nèi)寫明實(shí)體名;用橢圓表示實(shí)體的屬性,并用無向邊將其與相應(yīng)的實(shí)體型連接起來;用菱形表示實(shí)體型之間的聯(lián)系,在菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實(shí)體型連接起來,同時(shí)在無向邊旁標(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í)體連線方向各寫1; 對(duì)于一對(duì)多聯(lián)系,要在一的一方寫1,多的一方寫N;對(duì)于多對(duì)多關(guān)系,則要在兩個(gè)實(shí)體連線方向各寫N,M。)。</p><p> 本系統(tǒng)是庫存管理系統(tǒng),根據(jù)上面的結(jié)構(gòu)設(shè)計(jì)和初步的數(shù)據(jù)庫設(shè)計(jì)思想,規(guī)劃的實(shí)體主要有操作員,原材料實(shí)體、產(chǎn)品實(shí)體、倉庫實(shí)體等。這些實(shí)體包含各種具體實(shí)際信息,通過相互之間的作用形成數(shù)據(jù)的流動(dòng)。它們的E-R圖如下圖4.1所示:</p><p> 4.3
70、 數(shù)據(jù)庫表設(shè)計(jì)</p><p> 本系統(tǒng)是一個(gè)商品庫存管理系統(tǒng),在系統(tǒng)詳細(xì)設(shè)計(jì)之前應(yīng)該對(duì)系統(tǒng)中所涉及到的對(duì)象實(shí)體進(jìn)行信息建模,并最終得到完整的數(shù)據(jù)庫表結(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é)所有物品入庫、出庫的操作,此表用來保存合法的管理員信息,包括的屬性有管理員姓名和管理員密碼,具體結(jié)構(gòu)設(shè)計(jì)如表4.3所示:</p><p> 表4.3 administrator表結(jié)構(gòu)</p><p> (4) 倉庫信息表(warehou
73、se)</p><p> 倉庫信息表是用來保存所有倉庫相關(guān)信息的表,具體的結(jié)構(gòu)設(shè)計(jì)如表4.4所示:</p><p> 表4.4 cangkuxinxi表結(jié)構(gòu)</p><p> (5) 出庫信息表(outvoucher)</p><p> 出庫信息表用來保存對(duì)已進(jìn)庫的物品進(jìn)行出庫的信息保存,具體的結(jié)構(gòu)設(shè)計(jì)如表4.5所示:</p&g
74、t;<p> 表4.5 outvoucher表結(jié)構(gòu)</p><p> (6) 入庫信息表(invoucher)</p><p> 入庫信息表用來保存對(duì)已進(jìn)庫的物品進(jìn)行入庫的信息保存,具體的結(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)過用戶身份驗(yàn)證后,進(jìn)入系統(tǒng)主界面,系統(tǒng)主界面主要是讓用戶對(duì)該系統(tǒng)的各個(gè)功能模塊一目了然,使用方便快捷,在主界面上部設(shè)計(jì)了一個(gè)導(dǎo)航欄,包括當(dāng)前登錄的人員角色、首頁、功能操作、個(gè)人信息和安全退出;在主界面的下部可以看到本系統(tǒng)操作的一些注意事項(xiàng),分別是倉庫管理、原材料管理、產(chǎn)品管理、入庫和出庫。系統(tǒng)主界面運(yùn)行結(jié)果如下圖5.2所示:</p><p
77、> 5.3 系統(tǒng)主要功能實(shí)現(xiàn)</p><p> 系統(tǒng)功能操作模塊主要包括原材料管理模塊、產(chǎn)品管理模塊、倉庫管理模塊、出庫模塊、入庫模塊,每個(gè)模塊具體實(shí)現(xiàn)如下。</p><p> 5.3.1 原材料管理</p><p> 原材料管理模塊主要有兩部分,一是管理原材料信息,一是增加新的原材料信息。截圖如下:</p><p> ?。?)
78、如果有要入庫的新原材料,點(diǎn)擊增加原材料進(jìn)入到該頁面,填入相關(guān)信息后提交即可,如下圖:</p><p> ?。?)對(duì)于已存在的原材料信息可以進(jìn)行修改、刪除、和入庫操作。點(diǎn)擊原材料信息進(jìn)入到該頁面。如下圖:</p><p> 原材料在存儲(chǔ)過程中可能涉及到基本信息的修改,本系統(tǒng)實(shí)現(xiàn)了這一功能,方便實(shí)時(shí)更新原材料的基本信息。本系統(tǒng)可以修改的原材料信息有材料名稱和材料類型信息,注意材料編號(hào)是不能修
79、改的。改原材料信息的頁面如下圖: </p><p> 可以對(duì)已有的原材料進(jìn)行入庫操作,此時(shí)倉庫信息會(huì)已列表的形式展示所有倉庫的倉庫信息,可以在指定的位置進(jìn)入入庫操作。對(duì)于不同的原材料是可以放在同一個(gè)倉庫的庫區(qū)的相同庫位的。如下圖:</p><p><b> 入庫界面如下:</b></p><p> 將原材料入庫后會(huì)生成相應(yīng)的入庫單,包括入
80、庫的物品ID,入庫的倉庫ID,存放的庫區(qū)ID和庫位ID,入庫的日期,入庫人,入庫物品的單位,以及入庫的數(shù)量等信息。</p><p> 對(duì)于已入庫的原材料可以進(jìn)行出庫操作,且該原材料的信息是不能刪除的(刪除按鈕消失,而會(huì)顯示“出庫”)。如下圖: </p><p> 對(duì)于已入庫的原材料可以進(jìn)行出庫操作,,此時(shí)倉庫信息會(huì)已列表的形式展示該材料在所有倉庫的存儲(chǔ)和庫存量等信息,可以在指定的位置進(jìn)
81、行出庫操作。如下圖:</p><p><b> 出庫界面如下圖:</b></p><p> 將原材料出庫后會(huì)生成相應(yīng)的出庫單,包括出庫的物品ID,出庫的倉庫ID,存放的庫區(qū)ID和庫位ID,出庫的日期,出庫人,出庫物品的單位,以及出庫的數(shù)量等信息。</p><p> 5.3.2 產(chǎn)品管理</p><p> 由于產(chǎn)品
82、管理和原材料操作大同小異,流程也都很相似,所以此部分功能的操作參考5.3.1原材料管理模塊。</p><p> 5.3.3 庫存管理</p><p> 庫存管理模塊主要是管理倉庫的信息。包括庫名,庫區(qū)數(shù)和庫位數(shù)??梢栽黾雍蛣h除倉庫,修改倉庫的區(qū)位和庫位數(shù)。倉庫信息頁面如下圖:</p><p> 可以修改的倉庫信息有倉庫名稱、倉庫的庫區(qū)數(shù)和庫位數(shù)。修改倉庫信息的
83、頁面如圖:</p><p> 增加倉庫時(shí)需要填寫倉庫名稱,倉庫的庫區(qū)數(shù)和庫位數(shù)。增加倉庫的頁面如圖:</p><p> 5.3.4 入庫查看</p><p> 本功能模塊主要功能是生成出庫單,并以列表的形式顯示出來。效果如下圖:</p><p> 看以看到的入庫信息有入庫時(shí)間、入庫人、入庫物品、入庫數(shù)目、單位、倉庫、庫區(qū)和庫位等信息。
84、</p><p> 5.3.5 出庫查看</p><p> 本功能模塊主要功能是生成入庫單,并以列表的形式顯示出來。效果如下圖:</p><p><b> 5.4 數(shù)據(jù)庫連接</b></p><p> 用JDBC連接Mysql數(shù)據(jù)庫,步驟是:</p><p> (1) 向工程中添加數(shù)據(jù)庫
85、驅(qū)動(dòng)包,即將JAR包導(dǎo)入到項(xiàng)目中;</p><p> (2) 載入JDBC驅(qū)動(dòng)程序。如果要載入驅(qū)動(dòng)程序,只需要在Class.forName方法中指定數(shù)據(jù)庫驅(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ù)庫服務(wù)器的主機(jī)名、端口和數(shù)據(jù)庫名。</p><p> 數(shù)據(jù)庫連接成功,在登錄系統(tǒng)時(shí)會(huì)提示操作員或管理員成功登陸,若數(shù)據(jù)庫連接失敗,則登錄時(shí)系統(tǒng)會(huì)拋出異常,并提示數(shù)據(jù)庫連接失敗的錯(cuò)誤,操作員或管理員進(jìn)入不了系統(tǒng)。</p><p>
87、; 對(duì)于本系統(tǒng),為了降低系統(tǒng)的耦合度和實(shí)現(xiàn)代碼的復(fù)用,提高編程效率,因此在數(shù)據(jù)庫連接時(shí),首先創(chuàng)建了一個(gè)DatabaseAdmin.java的類,用于生成以連接數(shù)據(jù)庫的各個(gè)參數(shù)為屬性的對(duì)象。這樣即使換了不同的數(shù)據(jù)庫也可以復(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è)屬性。通過讀取config.xml中的配置信息來給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ì)象后,通過工廠方法來生成一個(gè)連接數(shù)據(jù)庫的連接。這個(gè)連接通過類Databases.java 類來生成。Databases類沒有任何屬性,它只有一個(gè)靜態(tài)方法getConnection(),它返回一個(gè)Connection類型的對(duì)象。本系統(tǒng)就通過這個(gè)Connection類型的對(duì)象來連接數(shù)據(jù)庫的。該方法的主
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ù)庫進(jìn)行操作的時(shí)候只要通過調(diào)用Databases類的靜態(tài)方getConnection()就能方便的連接數(shù)據(jù)庫了。</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ù)庫測(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)。從用戶和軟件開發(fā)人員不同的角度看,進(jìn)行軟件測(cè)試的目的是完全不同的。用戶往往是通過測(cè)試暴露出軟件所存在的錯(cuò)誤和缺陷,以考慮是否能接受該產(chǎn)品;而軟件開發(fā)人員則希望通過測(cè)試來證實(shí)軟件產(chǎn)品不存在任何錯(cuò)誤和缺陷,驗(yàn)證
111、該軟件已滿足了用戶的需求,從而提高用戶使用該軟件產(chǎn)品的信心。因此,軟件開發(fā)人員往往會(huì)選擇那些導(dǎo)致程序失敗概率小的測(cè)試數(shù)據(jù)去測(cè)試軟件。顯然,這樣的測(cè)試對(duì)完善和提高軟件質(zhì)量毫無價(jià)值。因此,測(cè)試的目的應(yīng)該是從軟件包含有錯(cuò)誤這一前提出發(fā),通過測(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ù)庫測(cè)試</p><p> 測(cè)試系統(tǒng)與數(shù)據(jù)庫是否連接上主要是看數(shù)據(jù)庫連接的參數(shù)是否正確,在ConfigMessage.java 類中寫一個(gè)main方法進(jìn)行測(cè)試,如果能夠成功從config.x
113、ml中讀取出連接數(shù)據(jù)庫的各個(gè)參數(shù)并能成功顯示在命令行下則證明數(shù)據(jù)庫能連接正確。測(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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è)論文-庫存管理系統(tǒng)(mis)的設(shè)計(jì)與實(shí)現(xiàn)
- 制造業(yè)mis——庫存管理
- 軟件工程畢業(yè)論文-庫存管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 軟件工程畢業(yè)論文-企業(yè)成品庫存管理的設(shè)計(jì)與實(shí)現(xiàn)(后臺(tái))
- 軟件工程畢業(yè)論文-企業(yè)成品庫存管理的設(shè)計(jì)與實(shí)現(xiàn)(前臺(tái))
- 軟件工程畢業(yè)論文-汽車銷售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-庫存管理模塊
- 軟件工程畢業(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è)庫存管理問題研究[畢業(yè)論文]
- 軟件工程畢業(yè)論文-超市收銀管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 軟件工程畢業(yè)論文-倉庫貨物管理系統(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è)論文-圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 軟件工程畢業(yè)論文-商場會(huì)員管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 軟件工程畢業(yè)論文-駕校管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 2
評(píng)論
0/150
提交評(píng)論