畢業(yè)論文--體育用品庫(kù)存管理系統(tǒng)設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  畢 業(yè) 設(shè) 計(jì)</p><p>  題 目: 體育用品庫(kù)存管理系統(tǒng)設(shè)計(jì) </p><p>  院、 系: ** 軟件工程系 </p><p>  姓 名: *** </p><p>  指導(dǎo)教師: *** &

2、lt;/p><p>  系 主 任: *** </p><p>  2013 年 6 月 22 日</p><p>  ??粕厴I(yè)設(shè)計(jì)(論文)任務(wù)書</p><p>  體育用品庫(kù)存管理系統(tǒng)設(shè)計(jì)</p><p><b>  摘要</b></p>&

3、lt;p>  本論文著重論述了庫(kù)存管理系統(tǒng)開(kāi)發(fā)時(shí)的主要設(shè)計(jì)思想及系統(tǒng)實(shí)現(xiàn)的詳細(xì)過(guò)程及使用方法。介紹了庫(kù)存管理系統(tǒng)的主要功能。系統(tǒng)結(jié)構(gòu)嚴(yán)謹(jǐn)、性能穩(wěn)定、使用方便。它可以運(yùn)行Win98/2000 / NT/XP/2003系統(tǒng)。本系統(tǒng)為全中文界面,功能全,易操作。系統(tǒng)的操作方式、界面均為Win98風(fēng)格。系統(tǒng)中具有強(qiáng)大的操作員權(quán)限、密碼管理等功能模塊,確保系統(tǒng)運(yùn)行安全。強(qiáng)大的查詢和報(bào)表功能,全面、及時(shí)地反映當(dāng)前庫(kù)存狀況。</p>

4、<p>  本論文采用了面向?qū)ο箝_(kāi)發(fā)的設(shè)計(jì)方法。在WindowsXP操作系統(tǒng)環(huán)境下,應(yīng)用MySQL數(shù)據(jù)庫(kù)以及Java可視化程序設(shè)計(jì)軟件所開(kāi)發(fā)的庫(kù)存管理系統(tǒng)。</p><p>  本系統(tǒng)對(duì)于庫(kù)存管理方面所遇到的各種問(wèn)題,如工作量大,數(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)代化管理,從而

5、進(jìn)一步提高了庫(kù)存管理的工作效率。</p><p>  關(guān)鍵詞 庫(kù)存管理;數(shù)據(jù)庫(kù);Java</p><p>  Design of goods inventory management system of sports</p><p><b>  Abstract</b></p><p>  This paper focu

6、ses on the development of the inventory management system at the main design concepts and systems to achieve the detailed process and use. Inventory management system on the main functions. Well-structured system, stable

7、 performance, ease of use. It can run Win98/2000 / NT/XP/2003 system. The system for the whole Chinese language interface, full-function, easy to operate. The operating system, both Win98 style interface. System operator

8、s have a powerful authority, password managem</p><p>  In this paper, using object-oriented development of the design. In WindowsXP operating system environment, the application of MySQLdatabases and Java pr

9、ogramming visualization software developed by the inventory management system. </p><p>  The system for inventory management encountered by various problems, such as heavy workload, update data is not timely

10、, reliable and so low a detailed solution, the system is adapt to the current computer information management needs, in close connection with The inventory management in computer information management application, and t

11、he management of inventories of modern management, so as to further enhance the efficiency of inventory management.</p><p>  Key words:Inventory management;database;Java</p><p><b>  目錄<

12、/b></p><p>  摘要......................................................I</p><p>  Abstract II</p><p><b>  第1章 概述1</b></p><p>  1.1課題背景介紹1</p><

13、;p>  1.1.1課題開(kāi)發(fā)背景1</p><p>  1.1.2 課題開(kāi)發(fā)意義1</p><p>  1.2課題開(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><

14、p>  2.1.2 軟件開(kāi)發(fā)環(huán)境3</p><p>  2.2 系統(tǒng)開(kāi)發(fā)技術(shù)3</p><p>  2.2.1 Java簡(jiǎn)介3</p><p>  2.2.2 MySQL 數(shù)據(jù)庫(kù)5</p><p>  第3章系統(tǒng)分析與設(shè)計(jì)6</p><p>  3.1 系統(tǒng)可行性分析6</p><

15、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)需求分析7</p><p>  3.3 總體功能設(shè)計(jì)8</p><p>  3.3.1 系統(tǒng)功能模塊圖8</p><p>

16、  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 系統(tǒng)E-R圖13</p><p>  4.3 數(shù)據(jù)庫(kù)表設(shè)計(jì)13</p><p>  第5章 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)21</p><p>

17、;  5.1系統(tǒng)登錄界面設(shè)計(jì)21</p><p>  5.2 系統(tǒng)主界面的設(shè)計(jì)21</p><p>  5.3 系統(tǒng)主要功能實(shí)現(xiàn)22</p><p>  5.3.1 進(jìn)貨管理22</p><p>  5.3.2 出貨管理24</p><p>  5.3.3庫(kù)存管理24</p><p>

18、;  5.3.4 統(tǒng)計(jì)報(bào)表25</p><p>  5.3.5 日常管理26</p><p>  5.4 數(shù)據(jù)庫(kù)連接27</p><p>  第6章 系統(tǒng)測(cè)試及結(jié)果分析29</p><p>  6.1 測(cè)試綜述29</p><p>  6.1.1 軟件測(cè)試綜述29</p><p> 

19、 6.1.2 數(shù)據(jù)庫(kù)測(cè)試29</p><p>  6.2 測(cè)試實(shí)例30</p><p><b>  結(jié) 論31</b></p><p><b>  致 謝32</b></p><p><b>  參考文獻(xiàn)33</b></p><p><

20、b>  第1章 概述</b></p><p><b>  1.1課題背景介紹</b></p><p>  1.1.1課題開(kāi)發(fā)背景</p><p>  體育用品庫(kù)存管理系統(tǒng)是一個(gè)企業(yè)不可缺少的部分,它的內(nèi)容對(duì)于企業(yè)的決策者和管理者來(lái)說(shuō)都至關(guān)重要,所以庫(kù)存管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄巍5恢币詠?lái)人們使用傳統(tǒng)

21、人工的方式管理倉(cāng)庫(kù)中的各種物資設(shè)備,這種管理方式存在著許多缺點(diǎn),如:效率低、另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來(lái)了不少的困難。 </p><p>  隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。</p><p>  作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)物資信息進(jìn)行管理,具有著手工

22、管理所無(wú)法比擬的優(yōu)點(diǎn).例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高人事勞資管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。 </p><p>  因此,開(kāi)發(fā)這樣一套庫(kù)存管理軟件成為很有必要的事情。</p><p>  1.1.2 課題開(kāi)發(fā)意義</p><p>  大多數(shù)庫(kù)存管理理論認(rèn)為,庫(kù)存是物理上

23、和邏輯上庫(kù)房庫(kù)位的所有有形和無(wú)形物料極其價(jià)值的總和,具體包括成品、原材料、在制品、在途品、生產(chǎn)前物料、備品備件等。雖然持有一些庫(kù)存是必要的,過(guò)量的庫(kù)存卻非但沒(méi)有用處而且占用了資金。占用的資金對(duì)于公司發(fā)展、新產(chǎn)品開(kāi)發(fā)等都是非常需要的;減少資金占用還可以大大減少來(lái)自銀行貸款的利息和風(fēng)險(xiǎn)。對(duì)那些采購(gòu)量特別大、采購(gòu)件市場(chǎng)價(jià)格有波動(dòng)的物料庫(kù)存,加強(qiáng)庫(kù)存管理效果更為明顯。因此,平衡公司庫(kù)存投資與其它資金需求至關(guān)重要。 </p><

24、;p>  隨著我國(guó)經(jīng)濟(jì)的飛速發(fā)展,各種類型規(guī)模的公司企業(yè)迅速崛起,許多從事生產(chǎn)和經(jīng)營(yíng)管理的企業(yè)都有自己生產(chǎn)和銷售的產(chǎn)品,而這些產(chǎn)品都需要儲(chǔ)存在倉(cāng)庫(kù)中,對(duì)于每個(gè)企業(yè)來(lái)說(shuō),隨著企業(yè)規(guī)模的不斷擴(kuò)大,產(chǎn)品數(shù)量的急劇增加,所生產(chǎn)產(chǎn)品的種類也會(huì)不斷地更新與發(fā)展,有關(guān)產(chǎn)品的各種信息量也會(huì)成倍增長(zhǎng)。面對(duì)龐大的產(chǎn)品信息量,如何有效地管理庫(kù)存產(chǎn)品,對(duì)這些企業(yè)來(lái)說(shuō)是非常重要的,庫(kù)存管理的重點(diǎn)是銷售信息能否及時(shí)反饋,從而確保企業(yè)運(yùn)行效益。而庫(kù)存管理又涉及

25、入庫(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ì)于調(diào)動(dòng)廣大員工的工作積極性,提高企業(yè)的生產(chǎn)效率,都具有十分重要的現(xiàn)實(shí)意義。[1]</p><p><b>  1.2課題開(kāi)發(fā)目標(biāo)<

26、;/b></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ù)存要求;</p><p>  3.查詢方便 , 無(wú)論是按商品編號(hào).名稱.類別.廠商.時(shí)間其中任一項(xiàng)都可以進(jìn)行有

27、效查詢;</p><p>  4.系統(tǒng)擴(kuò)充容易,有很多地方還需要更好地完善;</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 系統(tǒng)運(yùn)行環(huán)境</p><p>  系統(tǒng)的運(yùn)行環(huán)境包括硬件和軟件兩方面。</p&g

28、t;<p>  2.1.1 硬件環(huán)境</p><p>  本系統(tǒng)運(yùn)行的硬件環(huán)境如下:</p><p><b>  CPU:1G以上。</b></p><p>  內(nèi)存:512M以上。</p><p>  2.1.2 軟件開(kāi)發(fā)環(huán)境</p><p>  本系統(tǒng)軟件開(kāi)發(fā)環(huán)境如下:</

29、p><p>  操作系統(tǒng):Windows XP/2003/2000。</p><p>  數(shù)據(jù)庫(kù): MySQL </p><p>  數(shù)據(jù)庫(kù)連接驅(qū)動(dòng):MySQL Driver for JDBC Service PABCck3。</p><p>  JAVA虛擬機(jī):j2sdk 1.4.2。</p><p>  2.2 系統(tǒng)開(kāi)

30、發(fā)技術(shù)</p><p>  本系統(tǒng)的開(kāi)發(fā)主要是使用在Eclipse平臺(tái)下的Java語(yǔ)言,并結(jié)合了MySQL數(shù)據(jù)庫(kù)技術(shù),使此系統(tǒng)具有強(qiáng)大的查詢功能。</p><p>  2.2.1 Java簡(jiǎn)介</p><p>  Java語(yǔ)言是一個(gè)支持網(wǎng)絡(luò)計(jì)算的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言。Java語(yǔ)言吸收了Smalltalk語(yǔ)言和C++語(yǔ)言的優(yōu)點(diǎn),并增加了其它特性,如支持并發(fā)程序設(shè)計(jì)、網(wǎng)

31、絡(luò)通信、和多媒體數(shù)據(jù)控制等。主要特性如下:</p><p>  1.Java語(yǔ)言是簡(jiǎn)單的。Java語(yǔ)言的語(yǔ)法與C語(yǔ)言和C++語(yǔ)言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用Java。另一方面,Java丟棄了C++ 中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動(dòng)的強(qiáng)制類型轉(zhuǎn)換。特別地,Java語(yǔ)言不使用指針,并提供了自動(dòng)的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂。</p><

32、;p>  2.Java語(yǔ)言是一個(gè)面向?qū)ο蟮?。Java語(yǔ)言提供類、接口和繼承等原語(yǔ),為了簡(jiǎn)單起見(jiàn),只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實(shí)現(xiàn)機(jī)制(關(guān)鍵字為implements)。Java語(yǔ)言全面支持動(dòng)態(tài)綁定,而C++ 語(yǔ)言只對(duì)虛函數(shù)使用動(dòng)態(tài)綁定。總之,Java語(yǔ)言是一個(gè)純的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言。</p><p>  3.Java語(yǔ)言是分布式的。Java語(yǔ)言支持Internet應(yīng)用的

33、開(kāi)發(fā),在基本的Java應(yīng)用編程接口中有一個(gè)網(wǎng)絡(luò)應(yīng)用編程接口(java.net),它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫(kù),包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(遠(yuǎn)程方法激活)機(jī)制也是開(kāi)發(fā)分布式應(yīng)用的重要手段。</p><p>  4.Java語(yǔ)言是健壯的。Java的強(qiáng)類型機(jī)制、異常處理、廢料的自動(dòng)收集等是Java程序健壯性的重要保證。對(duì)指針的丟棄是Java的明

34、智選擇。Java的安全檢查機(jī)制使得Java更具健壯性。</p><p>  5 .Java語(yǔ)言是安全的。Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個(gè)安全機(jī)制以防惡意代碼的攻擊。除了Java語(yǔ)言具有的許多安全特性以外,Java對(duì)通過(guò)網(wǎng)絡(luò)下載的類具有一個(gè)安全防范機(jī)制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查,并提供安全管理機(jī)制(類SecurityManager)讓J

35、ava應(yīng)用設(shè)置安全哨兵。 </p><p>  6.Java語(yǔ)言是體系結(jié)構(gòu)中立的。Java程序(后綴為java的文件)在Java平臺(tái)上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件), 然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。 </p><p>  7.Java語(yǔ)言是可移植的。這種可移植性來(lái)源于體系結(jié)構(gòu)中立性,另外,Java還嚴(yán)格

36、規(guī)定了各個(gè)基本數(shù)據(jù)類型的長(zhǎng)度。Java系統(tǒng)本身也具有很強(qiáng)的可移植性,Java編譯器是用Java實(shí)現(xiàn)的,Java的運(yùn)行環(huán)境是用ANSI C實(shí)現(xiàn)的。</p><p>  8.Java語(yǔ)言是解釋型的。如前所述,Java程序在Java平臺(tái)上被編譯為字節(jié)碼格式, 然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行。在運(yùn)行時(shí),Java平臺(tái)中的Java解釋器對(duì)這些字節(jié)碼進(jìn)行解釋執(zhí)行,執(zhí)行過(guò)程中需要的類在聯(lián)接階段被載入到運(yùn)行環(huán)境中。

37、</p><p>  9.Java是高性能的。與那些解釋型的高級(jí)腳本語(yǔ)言相比,Java的確是高性能的。事實(shí)上,Java的運(yùn)行速度隨著JIT(Just-In-Time)編譯器技術(shù)的發(fā)展越來(lái)越接近于C++。 </p><p>  10.Java語(yǔ)言是多線程的。在Java語(yǔ)言中,線程是一種特殊的對(duì)象,它必須由Thread類或其子(孫)類來(lái)構(gòu)造,thread(Runnable) 的構(gòu)造子類將一個(gè)實(shí)

38、現(xiàn)了Runnable接口的對(duì)象包裝成一個(gè)線程,其二,從Thread類派生出子類并重寫run方法,使用該子類創(chuàng)建的對(duì)象即為線程。值得注意的是Thread類已經(jīng)實(shí)現(xiàn)了Runnable接口,因此,任何一個(gè)線程均有它的run方法,而run方法中包含了線程所要運(yùn)行的代碼。線程的活動(dòng)由一組方法來(lái)控制。 Java語(yǔ)言支持多個(gè)線程的同時(shí)執(zhí)行,并提供多線程之間的同步機(jī)制(synchronized)。</p><p>  11.Ja

39、va語(yǔ)言是動(dòng)態(tài)的。Java語(yǔ)言的設(shè)計(jì)目標(biāo)之一是適應(yīng)于動(dòng)態(tài)變化的環(huán)境。Java程序需要的類能動(dòng)態(tài)地被載入到運(yùn)行環(huán)境,也可以通過(guò)網(wǎng)絡(luò)來(lái)載入所需要的類。這也有利于軟件的升級(jí)。另外,Java中的類有一個(gè)運(yùn)行時(shí)刻的表示,能進(jìn)行運(yùn)行時(shí)刻的類型檢查。</p><p>  Java語(yǔ)言的優(yōu)良特性使得Java應(yīng)用具有無(wú)比的健壯性和可靠性,這也減少了應(yīng)用系統(tǒng)的維護(hù)費(fèi)用。Java對(duì)對(duì)象技術(shù)的全面支持和Java平臺(tái)內(nèi)嵌的API能縮短應(yīng)用

40、系統(tǒng)的開(kāi)發(fā)時(shí)間并降低成本。Java的編譯一次,到處可運(yùn)行的特性使得它能夠提供一個(gè)隨處可用的開(kāi)放結(jié)構(gòu)和在多平臺(tái)之間傳遞信息的低成本方式。特別是Java企業(yè)應(yīng)用編程接口(Java Enterprise APIs)為企業(yè)計(jì)算及電子商務(wù)應(yīng)用系統(tǒng)提供了有關(guān)技術(shù)和豐富的類庫(kù)。</p><p>  2.2.2 MySQL 數(shù)據(jù)庫(kù)</p><p>  MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQL

41、 AB公司開(kāi)發(fā),目前屬于Oracle公司。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),這樣就增加了速度并提高了靈活性。MySQL的SQL語(yǔ)言是用于訪問(wèn)數(shù)據(jù)庫(kù)的最常用標(biāo)準(zhǔn)化語(yǔ)言。MySQL軟件采用了雙授權(quán)政策(本詞條“授權(quán)政策”),它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),一般中小型網(wǎng)站的開(kāi)發(fā)都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。由于其社區(qū)版的

42、性能卓越,搭配PHP和Apache可組成良好的開(kāi)發(fā)環(huán)境。</p><p>  第3章系統(tǒng)分析與設(shè)計(jì)</p><p>  3.1 系統(tǒng)可行性分析</p><p>  可行性分析研究的目的就是用最小的代價(jià)在盡可能短的時(shí)間里確定問(wèn)題是否能解決,通過(guò)復(fù)雜系統(tǒng)的規(guī)模與目標(biāo),研究與此類似的系統(tǒng)后,我們具體從下面三方面考慮。</p><p>  3.1.1

43、 經(jīng)濟(jì)可行性</p><p>  體育用品庫(kù)存管理系統(tǒng)是一個(gè)小型的管理系統(tǒng), 在開(kāi)發(fā)時(shí)需要軟件開(kāi)發(fā)人員花費(fèi)一定的時(shí)間和精力,因此需要一定的資金。但它給企業(yè)帶來(lái)的利潤(rùn)是不可估量的,節(jié)省了許多人力,物力上的開(kāi)支,使庫(kù)存管理工作變繁為簡(jiǎn),使其更加合理化、規(guī)范化。工作效率的提高就意為著整體水平的提高,是非常值得投資的。</p><p>  3.1.2 操作可行性</p><p&

44、gt;  系統(tǒng)是在JDK 環(huán)境下基于Eclipse平臺(tái)開(kāi)發(fā)的,易于操作。而且系統(tǒng)還采用了可視化面向?qū)ο蟮墓ぞ唛_(kāi)發(fā),其窗口、界面簡(jiǎn)潔易懂,所以系統(tǒng)在操作上是可行的。</p><p>  3.1.3技術(shù)可行性</p><p>  系統(tǒng)采用Java語(yǔ)言作為開(kāi)發(fā)工具。Java是一種簡(jiǎn)單的,面象對(duì)象的,分布式的,解釋的,鍵壯的安全的,結(jié)構(gòu)的中立的,可移植的,性能很優(yōu)異的多線程的動(dòng)態(tài)的語(yǔ)言。它具有理論

45、嚴(yán)密、使用方便、易學(xué)易用等特點(diǎn),利用它設(shè)計(jì)的系統(tǒng)具有界面友好、工具豐富速度較快的特點(diǎn)。再結(jié)合MySQL數(shù)據(jù)庫(kù)技術(shù),編寫SQL語(yǔ)言訪問(wèn)數(shù)據(jù)庫(kù),實(shí)現(xiàn)強(qiáng)大的查詢、修改、入庫(kù)、出庫(kù)操作</p><p>  3.2 系統(tǒng)需求分析</p><p>  通過(guò)需求分析,對(duì)體育用品庫(kù)存進(jìn)行有效的管理,使之形成完善的應(yīng)用系統(tǒng)。數(shù)據(jù)庫(kù)設(shè)計(jì)中要合理設(shè)置商品信息和庫(kù)存信息等,用來(lái)實(shí)現(xiàn)用品信息的新增,修改、刪除等功能

46、,使得商家有較詳細(xì)的數(shù)據(jù)統(tǒng)計(jì)與分析。 </p><p>  下面就介紹一些此庫(kù)存管理系統(tǒng)的基本功能:</p><p><b>  1.登錄認(rèn)證</b></p><p>  作為一個(gè)企業(yè)實(shí)際應(yīng)用項(xiàng)目,登錄認(rèn)證是必不可少的。本項(xiàng)目的用戶登錄管理比較簡(jiǎn)單,分為操作員和管理員登錄,操作員和管理員有不同的權(quán)限。越權(quán)操作會(huì)有提示信息,只有合法用戶才能進(jìn)行操

47、作。</p><p><b>  2.進(jìn)貨管理</b></p><p>  進(jìn)貨管理主要是操作員對(duì)倉(cāng)庫(kù)進(jìn)行進(jìn)貨入庫(kù)和退貨出庫(kù)操作,操作人員通過(guò)改功能模塊把每天的入庫(kù)單據(jù)及上面的入庫(kù)商品明細(xì)輸入數(shù)據(jù)庫(kù)并對(duì)商品信息進(jìn)行修改和刪除。該模塊支持按商品編號(hào)和商品名稱關(guān)鍵詞查詢進(jìn)貨單據(jù)、退貨單據(jù)和當(dāng)前庫(kù)存量并對(duì)單據(jù)進(jìn)行刪除。</p><p><b&g

48、t;  3.出貨管理</b></p><p>  出貨管理模塊與進(jìn)貨管理模塊相似,主要是對(duì)貨品出庫(kù)和客戶退貨進(jìn)行管理及對(duì)出貨單據(jù)進(jìn)行管理。操作人員通過(guò)該功能模塊對(duì)出庫(kù)商品進(jìn)行出庫(kù)操作和對(duì)客戶退貨商品進(jìn)行退貨入庫(kù)操作。另外,還能對(duì)出貨單據(jù)、退貨單據(jù)和當(dāng)前庫(kù)存按商品編號(hào)或商品名稱進(jìn)行查詢和刪除。</p><p><b>  4.庫(kù)存管理</b></p&g

49、t;<p>  庫(kù)存管理模塊主要是對(duì)已庫(kù)存的商品進(jìn)行操作,及進(jìn)行庫(kù)存調(diào)撥,包括對(duì)商品的倉(cāng)庫(kù)信息進(jìn)行修改。另外,可以按商品名稱、倉(cāng)庫(kù)和商品類別對(duì)所有商品進(jìn)行盤點(diǎn),并對(duì)調(diào)撥單據(jù)進(jìn)行查詢,當(dāng)倉(cāng)庫(kù)中某種商品少于某個(gè)數(shù)量時(shí),設(shè)置了庫(kù)存報(bào)警。</p><p><b>  5.統(tǒng)計(jì)報(bào)表</b></p><p>  統(tǒng)計(jì)報(bào)表模塊包括供貨商統(tǒng)計(jì)、客戶統(tǒng)計(jì)、庫(kù)存統(tǒng)計(jì)、采購(gòu)統(tǒng)

50、計(jì)、出貨統(tǒng)計(jì)、退貨出庫(kù)統(tǒng)計(jì)和客戶退貨統(tǒng)計(jì)的功能。各個(gè)統(tǒng)計(jì)都可以按照不同時(shí)間和各個(gè)關(guān)鍵字進(jìn)行統(tǒng)計(jì)查詢并能打印單據(jù)。</p><p><b>  6.日常管理</b></p><p>  日常管理模塊既包括對(duì)供應(yīng)商、倉(cāng)庫(kù)、業(yè)務(wù)員和客戶的管理,有包括對(duì)操作員和管理員的設(shè)置,但在這里要注意權(quán)限問(wèn)題,及操作員和管理的權(quán)限。</p><p>  3.3 總

51、體功能設(shè)計(jì)</p><p>  本部分主要介紹系統(tǒng)要實(shí)現(xiàn)的功能,搭好設(shè)計(jì)的總體框架,使我們對(duì)要開(kāi)發(fā)的系統(tǒng)有一個(gè)系統(tǒng)、全面、確切的認(rèn)識(shí)。</p><p>  3.3.1 系統(tǒng)功能模塊圖</p><p>  本系統(tǒng)在設(shè)計(jì)時(shí)采用結(jié)構(gòu)化程序的設(shè)計(jì)方法,系統(tǒng)的總體結(jié)構(gòu)采用菜單來(lái)調(diào)用表單。利用表單對(duì)信息進(jìn)行管理、數(shù)據(jù)錄入、信息查詢、系統(tǒng)管理等工作。具體設(shè)計(jì)的功能模塊如下:<

52、;/p><p><b>  1.進(jìn)貨管理模塊</b></p><p>  該模塊包括進(jìn)貨入庫(kù)管理模塊和退貨出庫(kù)管理模塊。進(jìn)貨入庫(kù)管理模塊可添加商品和修改存在倉(cāng)庫(kù)的商品信息,退貨出庫(kù)管理模塊可刪除已入庫(kù)的商品信息,并能對(duì)進(jìn)貨單據(jù)、退貨單據(jù)和當(dāng)前庫(kù)存進(jìn)行查詢。</p><p><b>  2.出貨管理模塊</b></p>

53、;<p>  該模塊包括出貨入庫(kù)管理模塊和退貨出庫(kù)管理模塊。出貨入庫(kù)管理模塊可添加和修改出庫(kù)商品,退貨出庫(kù)管理模塊可刪除出庫(kù)商品的信息,并能對(duì)出貨單據(jù)、退貨單據(jù)和當(dāng)前庫(kù)存進(jìn)行查詢。</p><p><b>  3.庫(kù)存管理模塊</b></p><p>  該模塊包括庫(kù)存盤點(diǎn)模塊、調(diào)撥單據(jù)查詢模塊和庫(kù)存報(bào)警模塊。</p><p>&

54、lt;b>  4.統(tǒng)計(jì)報(bào)表模塊</b></p><p>  該模塊由五個(gè)子模塊構(gòu)成,分別是:采購(gòu)統(tǒng)計(jì)模塊、出貨統(tǒng)計(jì)模塊、退貨統(tǒng)計(jì)模塊和庫(kù)存統(tǒng)計(jì)模塊,每個(gè)子模塊都具有強(qiáng)大的統(tǒng)計(jì)功能。</p><p><b>  5.日常管理模塊</b></p><p>  該模塊包括供應(yīng)商管理模塊、倉(cāng)庫(kù)管理模塊、客戶管理模塊、業(yè)務(wù)員管理模塊、操

55、作員管理模塊和管理員管理模塊,主要是對(duì)相關(guān)信息進(jìn)行查詢、修改、刪除等。</p><p>  根據(jù)以上系統(tǒng)功能的分析與設(shè)計(jì),五個(gè)系統(tǒng)功能模塊的劃分,具體的功能模塊圖如下圖所示:</p><p>  圖3-1 系統(tǒng)功能模塊圖</p><p>  3.3.2 總體功能流程圖</p><p>  1.整個(gè)系統(tǒng)的流程由用戶登錄開(kāi)始,系統(tǒng)檢驗(yàn)用戶名和密碼

56、合法后,用戶成功登錄,進(jìn)入系統(tǒng)后可以對(duì)商品進(jìn)行基本操作,如進(jìn)貨、出貨和調(diào)撥,還可以對(duì)進(jìn)貨單據(jù)、出貨單據(jù)、退貨單據(jù)等進(jìn)行查詢,對(duì)各個(gè)報(bào)表進(jìn)行統(tǒng)計(jì);在這個(gè)過(guò)程中還可以進(jìn)行換班管理,其實(shí)相當(dāng)于當(dāng)前用戶退出,另一用戶登錄,操作流程與前者一樣,只是有權(quán)限的限制,用戶完成工作后即可退出系統(tǒng)。整個(gè)系統(tǒng)的流程可以用下面的圖3-2所示:</p><p>  圖3-2 系統(tǒng)流程圖</p><p>  2.入庫(kù)

57、單和出庫(kù)單的操作是庫(kù)存管理系統(tǒng)中最重要的兩個(gè)操作,在整體功能設(shè)計(jì)時(shí),對(duì)入庫(kù)單和出庫(kù)單的管理如上圖,先判斷是否有商品要入庫(kù),有則對(duì)庫(kù)存進(jìn)行設(shè)置,包括入庫(kù)商品的基本信息,保存入庫(kù)單,然后判定此入庫(kù)單是否要進(jìn)庫(kù),確認(rèn)進(jìn)庫(kù)的話入庫(kù)單據(jù)就處理完畢,在商品入庫(kù)信息表中就可以查看庫(kù)存;若暫時(shí)不進(jìn)庫(kù),那么只有暫時(shí)保存入庫(kù)單。出庫(kù)單的處理流程像入庫(kù)單的處理一樣,當(dāng)有商品要出庫(kù)時(shí),先填寫出庫(kù)單,包括出庫(kù)商品的相關(guān)信息,然后保存出庫(kù)單,如果確認(rèn)此商品要出庫(kù),

58、系統(tǒng)會(huì)先判斷庫(kù)存數(shù)量和出庫(kù)數(shù)量是否合適(即出庫(kù)數(shù)量小于等于庫(kù)存量),如果合適就允許出庫(kù),出庫(kù)單據(jù)處理完畢;如果不合適,需要修改出庫(kù)數(shù)量,保存新的單據(jù)之后再進(jìn)行判斷,直至數(shù)量合適允許出庫(kù)。入庫(kù)和出庫(kù)的具體流程圖如下圖3-3所示:</p><p>  圖3-3 入/出庫(kù)流程示意圖</p><p><b>  第4章 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p&g

59、t;  4.1 數(shù)據(jù)庫(kù)設(shè)計(jì)思想</p><p>  庫(kù)存管理系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)采用了MySQL 數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)名為kucunguanli,采用JDBC(Java數(shù)據(jù)庫(kù)連接)連接數(shù)據(jù)庫(kù),JDBC是由一組用Java編程語(yǔ)言編寫的類和接口組成。</p><p>  根據(jù)系統(tǒng)需求,在登錄系統(tǒng)時(shí)提供所要的身份驗(yàn)證信息,在本系統(tǒng)中設(shè)計(jì)了兩種登錄方式,分別是操作員和管理員,所以設(shè)計(jì)了操作員信息表和管理員信

60、息表。經(jīng)過(guò)身份驗(yàn)證后,進(jìn)入系統(tǒng)。在日常管理模塊中涉及到采購(gòu)員管理,校驗(yàn)員管理,出貨員管理,要設(shè)計(jì)采購(gòu)員信息表,校驗(yàn)員信息表和出貨員信息表。在進(jìn)貨管理模塊中,操作員要進(jìn)行基本的進(jìn)貨管理操作,增加入庫(kù)商品、修改商品信息,并對(duì)入庫(kù)的用品進(jìn)行查詢,這就需要設(shè)計(jì)商品信息表和商品入庫(kù)表。在出貨管理模塊中操作員要進(jìn)行基本的出貨管理操作,增加出庫(kù)用品以及相關(guān)的查詢操作,需要設(shè)計(jì)用品出庫(kù)表。在庫(kù)存管理模塊中,涉及到庫(kù)存調(diào)撥操作,在設(shè)計(jì)數(shù)據(jù)庫(kù)表時(shí)就要設(shè)計(jì)庫(kù)

61、存調(diào)撥表。在統(tǒng)計(jì)報(bào)表模塊中,涉及到供貨商和客戶的統(tǒng)計(jì),因此要設(shè)計(jì)供貨商信息表和客戶信息表。在設(shè)計(jì)表時(shí)要注意數(shù)據(jù)類型的選取要合適,約束的定義要準(zhǔn)確,為了方便理解,最好還要添加描述,使設(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ì)了14個(gè)數(shù)據(jù)庫(kù)表,分別是商品信息表、操作員信息表、管理員信息表、采購(gòu)員

62、信息表、校驗(yàn)員信息表、出貨員信息表、庫(kù)存調(diào)撥表、退貨出庫(kù)表、退貨入庫(kù)表、商品庫(kù)存表、商品入庫(kù)表、商品出庫(kù)表、客戶信息表、供貨商信息表和倉(cāng)庫(kù)信息表。</p><p>  庫(kù)存管理系統(tǒng)數(shù)據(jù)庫(kù)的訪問(wèn)采用JDBC的方式連接。</p><p>  4.2 系統(tǒng)E-R圖</p><p>  本系統(tǒng)是商品庫(kù)存管理系統(tǒng),根據(jù)上面的結(jié)構(gòu)設(shè)計(jì)和初步的數(shù)據(jù)庫(kù)設(shè)計(jì)思想,規(guī)劃的實(shí)體主要有操作

63、員,商品實(shí)體、供應(yīng)商實(shí)體、客戶實(shí)體和倉(cāng)庫(kù)實(shí)體等。這些實(shí)體包含各種具體實(shí)際信息,通過(guò)相互之間的作用形成數(shù)據(jù)的流動(dòng)。它們的E-R圖如下圖4-1所示:</p><p>  圖4-1 系統(tǒng)E-R圖</p><p>  4.3 數(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ù)表

64、結(jié)構(gòu)。</p><p><b>  1.商品信息表 </b></p><p>  實(shí)體“商品”位于整個(gè)系統(tǒng)實(shí)體的核心位置,其包括的屬性有:商品編號(hào)、商品名稱、庫(kù)存量、類別、存放倉(cāng)庫(kù)、入庫(kù)單價(jià)、單位、顏色和廠商。因此“商品”實(shí)體所對(duì)應(yīng)的數(shù)據(jù)表結(jié)構(gòu)如表4-1所示:</p><p>  表4-1 商品信息表結(jié)構(gòu)</p><p>

65、;<b>  2.操作員信息表 </b></p><p>  操作員負(fù)責(zé)所有商品入庫(kù)、出庫(kù)的操作,此表用來(lái)保存合法的操作員信息,包括的屬性有操作員編號(hào)、操作員姓名和操作員密碼,具體結(jié)構(gòu)設(shè)計(jì)如表4-2所示:</p><p>  表4-2 操作員信息表結(jié)構(gòu) </p><p><b>  3.管理員信息表 </b></p&

66、gt;<p>  管理員主要負(fù)責(zé)日常管理模塊中對(duì)各個(gè)業(yè)務(wù)人員的管理,此表用來(lái)保存合法的管理員信息,具體結(jié)構(gòu)設(shè)計(jì)如表4-3所示:</p><p>  表4-3管理員信息表結(jié)構(gòu)</p><p><b>  4.采購(gòu)員信息表 </b></p><p>  采購(gòu)員主要負(fù)責(zé)對(duì)商品的采購(gòu),它的屬性包括采購(gòu)員編號(hào)、采購(gòu)員姓名、性別和電話,具體結(jié)

67、構(gòu)設(shè)計(jì)如表4-4所示:</p><p>  表4-4采購(gòu)員信息表結(jié)構(gòu)</p><p><b>  5.校驗(yàn)員信息表 </b></p><p>  校驗(yàn)員負(fù)責(zé)商品入庫(kù)和出庫(kù)時(shí)的校驗(yàn)工作,屬性包括校驗(yàn)員編號(hào)、校驗(yàn)員姓名、校驗(yàn)員性別和電話,具體結(jié)構(gòu)設(shè)計(jì)如表4-5所示:</p><p>  表4-5 校驗(yàn)員信息表結(jié)構(gòu)</p

68、><p><b>  6.出貨員信息表 </b></p><p>  出貨員負(fù)責(zé)商品的出庫(kù)操作,其屬性包括出貨員編號(hào)、出貨員姓名、出貨員性別和電話,具體結(jié)構(gòu)設(shè)計(jì)如表4-6所示:</p><p>  表4-6 出貨員信息表結(jié)構(gòu)</p><p><b>  7.庫(kù)存調(diào)撥表 </b></p>&

69、lt;p>  庫(kù)存調(diào)撥表用來(lái)保存被調(diào)撥的商品信息,方便對(duì)調(diào)撥單據(jù)的查詢,具體結(jié)構(gòu)設(shè)計(jì)如表4-7所示:</p><p>  表4-7庫(kù)存調(diào)撥表結(jié)構(gòu)</p><p><b>  8.退貨出庫(kù)表 </b></p><p>  退貨出庫(kù)表用來(lái)保存對(duì)已進(jìn)庫(kù)的商品進(jìn)行退貨出庫(kù)的信息保存,具體的結(jié)構(gòu)設(shè)計(jì)如表4-8所示:

70、 表4-8 退貨出庫(kù)表結(jié)構(gòu)</p><p><b>  9.退貨入庫(kù)表 </b></p><p>  退貨入庫(kù)表是用來(lái)保存客戶退貨后商品入庫(kù)的相關(guān)信息,具體的結(jié)構(gòu)設(shè)計(jì)如表4-9所示:</p><p>  表4-9 退貨入庫(kù)表結(jié)構(gòu)</p><p><b>  10.客戶信息表 </b><

71、/p><p>  客戶信息表是用來(lái)保存客戶的相關(guān)信息,該實(shí)體的屬性包括客戶編號(hào)、客戶名字、聯(lián)系人、電話和地址等,具體的結(jié)構(gòu)設(shè)計(jì)如表4-10所示:</p><p>  表4-10 客戶信息表結(jié)構(gòu)</p><p><b>  11.倉(cāng)庫(kù)信息表 </b></p><p>  倉(cāng)庫(kù)信息表是用來(lái)保存所有倉(cāng)庫(kù)相關(guān)信息的表,具體的結(jié)構(gòu)設(shè)計(jì)

72、如表4-11所示:</p><p>  表4-11倉(cāng)庫(kù)信息表結(jié)構(gòu)</p><p><b>  12.商品庫(kù)存表 </b></p><p>  商品庫(kù)存表是用來(lái)保存現(xiàn)庫(kù)存的商品的相關(guān)信息,具體的結(jié)構(gòu)設(shè)計(jì)如表4-12所示:</p><p>  表4-12 商品庫(kù)存表結(jié)構(gòu)</p><p>  13.供貨

73、商信息表 </p><p>  供貨商信息表是用來(lái)保存所有與公司有來(lái)往的供貨商的相關(guān)信息,具體的結(jié)構(gòu)設(shè)計(jì)如表4-13所示:</p><p>  表4-13 供貨商信息表結(jié)構(gòu)</p><p><b>  14.商品入庫(kù)表 </b></p><p>  商品入庫(kù)表是用來(lái)保存所有入庫(kù)商品的相關(guān)信息的表,該表的具體結(jié)構(gòu)設(shè)計(jì)如表

74、4-14所示:</p><p>  表4-14商品入庫(kù)表結(jié)構(gòu)</p><p>  第5章 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)</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.j

75、ava,系統(tǒng)登陸窗口的運(yùn)行界面如下圖5-1所示:</p><p>  圖5-1 用戶登錄界面圖</p><p>  5.2 系統(tǒng)主界面的設(shè)計(jì)</p><p>  經(jīng)過(guò)用戶身份驗(yàn)證后,進(jìn)入系統(tǒng)主界面,系統(tǒng)主界面主要是讓用戶對(duì)該系統(tǒng)的各個(gè)功能模塊一目了然,使用方便快捷,在主界面的上方我們可以看到四個(gè)按鈕,包括換班、單據(jù)查詢、幫助和退出;在主界面的左半部又可以看到五個(gè)按鈕

76、,分別是進(jìn)貨管理、出貨管理、庫(kù)存管理、統(tǒng)計(jì)報(bào)表和日常管理,這些主要涉及到按鈕的設(shè)計(jì),以及這樣將圖片文字對(duì)應(yīng)到各個(gè)按鈕和背景上,使主界面看起來(lái)舒服美觀;在主界面的最下方帶有時(shí)間顯示和操作員或管理員編號(hào)。實(shí)現(xiàn)此功能的文件是MainFrame.java,系統(tǒng)主界面運(yùn)行結(jié)果如下圖5-2所示:</p><p>  圖5-2 系統(tǒng)主界面圖</p><p>  5.3 系統(tǒng)主要功能實(shí)現(xiàn)</p>

77、;<p>  系統(tǒng)功能模塊主要包括進(jìn)貨管理模塊、出貨管理模塊、庫(kù)存管理模塊、統(tǒng)計(jì)報(bào)表模塊、日常管理模塊,每個(gè)模塊具體實(shí)現(xiàn)如下。</p><p>  5.3.1 進(jìn)貨管理</p><p>  進(jìn)貨管理主要包括進(jìn)貨入庫(kù)和退貨出庫(kù)兩種操作,還可進(jìn)行進(jìn)貨單據(jù)、退貨單據(jù)和當(dāng)前庫(kù)存的查詢。實(shí)現(xiàn)該模塊的文件是Jinhuo.java,進(jìn)貨管理的界面如下圖5-3所示:</p>&

78、lt;p>  圖5-3 進(jìn)貨管理模塊界面圖</p><p>  進(jìn)貨入庫(kù)操作也就是向倉(cāng)庫(kù)添加商品信息,添加商品成功,則在窗體下方會(huì)顯示入庫(kù)的商品信息,在添加商品時(shí)應(yīng)注意所填的內(nèi)容要符合字段類型,如果不符合,系統(tǒng)會(huì)給出提示信息。另外,對(duì)已入庫(kù)的商品只要選中某一行還可對(duì)它進(jìn)行信息修改,進(jìn)貨入庫(kù)的操作界面如圖5-4所示:</p><p>  圖5-4 進(jìn)貨入庫(kù)操作界面</p>

79、<p>  5.3.2 出貨管理</p><p>  出貨管理模塊主要包括兩個(gè)操作:貨品出庫(kù)和客戶退貨。出貨管理模塊實(shí)現(xiàn)的代碼是文件Chuhuo.java,出貨管理界面的設(shè)計(jì)如圖5-5所示:</p><p>  圖5-5 出貨管理界面圖</p><p><b>  5.3.3庫(kù)存管理</b></p><p>

80、  庫(kù)存管理模塊主要是實(shí)現(xiàn)庫(kù)存商品的調(diào)撥、盤點(diǎn)和報(bào)警功能。庫(kù)存調(diào)撥是對(duì)商品進(jìn)行調(diào)庫(kù)操作,即將某商品由一個(gè)倉(cāng)庫(kù)調(diào)到另一倉(cāng)庫(kù);庫(kù)存盤點(diǎn)對(duì)庫(kù)存商品進(jìn)行詳細(xì)盤點(diǎn),本系統(tǒng)可實(shí)現(xiàn)四種盤點(diǎn)商品的方式,包括:盤點(diǎn)所有商品、按商品編號(hào)或名稱盤點(diǎn)某種商品、按倉(cāng)庫(kù)盤點(diǎn)和按類別盤點(diǎn)。庫(kù)存報(bào)警的功能是可以顯示當(dāng)前庫(kù)存量為0的商品,以便提示用戶及時(shí)進(jìn)貨。實(shí)現(xiàn)這三個(gè)功能的文件分別是Kucundiaobo.java、Kucunpandian.java和Kucunjin

81、gbao.java。庫(kù)存管理模塊的界面設(shè)計(jì)如圖5-6所示:</p><p>  圖5-6 庫(kù)存管理主界面圖</p><p>  5.3.4 統(tǒng)計(jì)報(bào)表</p><p>  統(tǒng)計(jì)報(bào)表模塊主要是實(shí)現(xiàn)統(tǒng)計(jì)功能,可根據(jù)選定的日期范圍對(duì)這一段時(shí)間內(nèi)供貨商、客戶、采購(gòu)、出貨、退貨出庫(kù)和客戶退貨信息進(jìn)行查詢。此模塊最重要的技術(shù)是用到了日期控件,使查詢起來(lái)更加方便快捷,統(tǒng)計(jì)報(bào)表模塊的

82、界面設(shè)計(jì)如圖5-7所示:</p><p>  圖5-7 統(tǒng)計(jì)報(bào)表模塊界面圖</p><p>  采購(gòu)統(tǒng)計(jì)能實(shí)現(xiàn)進(jìn)貨統(tǒng)計(jì)、按倉(cāng)庫(kù)統(tǒng)計(jì)、按類別統(tǒng)計(jì)和按采購(gòu)員統(tǒng)計(jì),統(tǒng)計(jì)后可以查看單據(jù)并打印,查詢時(shí)課選擇時(shí)間范圍,如圖5-8所示:</p><p>  圖5-8 采購(gòu)統(tǒng)計(jì)界面圖</p><p>  5.3.5 日常管理</p><p

83、>  日常管理模塊只要是對(duì)日常的人員和倉(cāng)庫(kù)進(jìn)行基本管理,如增加、修改、刪除和查詢等基本操作,日常管理模塊的主界面設(shè)計(jì)如圖5-9所示:</p><p>  圖5-9 日常管理主界面</p><p><b>  5.4 數(shù)據(jù)庫(kù)連接</b></p><p>  用JDBC連接MySQL,步驟是:</p><p>  1

84、向工程中添加數(shù)據(jù)庫(kù)驅(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ì)拋出ClassNotF

85、oundException異常,因而必須放在try/catch塊中。</p><p>  因而,本系統(tǒng)實(shí)現(xiàn)JDBC驅(qū)動(dòng)程序的方案為:</p><p>  com.microsoft.jdbc.sqlserver.SQLServerDriver</p><p>  連接數(shù)據(jù)庫(kù)驅(qū)動(dòng)的代碼如下:</p><p>  public void conn

86、ectDatabase() {</p><p><b>  try {</b></p><p>  MainFrame.tableModel = new ResultSetTableModel(JDBC_DRIVER,</p><p>  DATABASE_URL, "sa", "");</p>

87、;<p>  MainFrame.tableModel1 = new ResultSetTableModel(JDBC_DRIVER,</p><p>  DATABASE_URL, "sa", "");</p><p>  MainFrame.tableModel2 = new ResultSetTableModel(JDBC_DRI

88、VER,</p><p>  DATABASE_URL, "sa", "");</p><p>  MainFrame.tableModel3 = new ResultSetTableModel(JDBC_DRIVER,</p><p>  DATABASE_URL, "sa", "")

89、;</p><p>  MainFrame.tableModel4 = new ResultSetTableModel(JDBC_DRIVER,</p><p>  DATABASE_URL, "sa", "");</p><p>  MainFrame.tableModel5 = new ResultSetTableMode

90、l(JDBC_DRIVER,</p><p>  DATABASE_URL, "sa", "");</p><p>  MainFrame.tableModel6 = new ResultSetTableModel(JDBC_DRIVER,</p><p>  DATABASE_URL, "sa", &qu

91、ot;");</p><p>  MainFrame.tableModel7 = new ResultSetTableModel(JDBC_DRIVER,</p><p>  DATABASE_URL, "sa", "");</p><p>  } catch (SQLException exception) {&l

92、t;/p><p>  String err = exception.getMessage();</p><p>  System.err.println(err);</p><p>  if (err.indexOf("kucunguanli") == -1) {</p><p>  JOptionPane.showMessa

93、geDialog(Login.this, "數(shù)據(jù)庫(kù)連接出錯(cuò)", "數(shù)據(jù)庫(kù)錯(cuò)誤",JOptionPane.ERROR_MESSAGE);</p><p>  System.out.println("系統(tǒng)異常退出!");</p><p>  System.exit(1);</p><p><b>  

94、}</b></p><p>  } catch (ClassNotFoundException exception) {</p><p>  System.err.println(exception.getMessage());</p><p><b>  }</b></p><p><b>  }

95、</b></p><p>  3 建立連接。載入JDBC驅(qū)動(dòng)程序后,必須連接URL指定數(shù)據(jù)庫(kù)服務(wù)器的主機(jī)名、端口和數(shù)據(jù)庫(kù)名。在本系統(tǒng)中連接數(shù)據(jù)庫(kù)的語(yǔ)句是:</p><p>  Final String JDBC_DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver";</p><p&

96、gt;  final String DATABASE_URL = "jdbc:microsoft:sqlserver://localhost:1433;DATABASENAME=kucunguanli";</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&

97、gt;<p>  第6章 系統(tǒng)測(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ì)它們進(jìn)行了介紹。</p><p>  6.1.1 軟件測(cè)試綜述</p><p>  軟件測(cè)

98、試階段的主要任務(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)證該軟件已滿足了用戶的需求,從而提高用戶使用該軟件產(chǎn)品的信心。因此,軟件開(kāi)發(fā)人員往往會(huì)選擇那些導(dǎo)致程序失敗概率小的測(cè)試數(shù)據(jù)去測(cè)試軟件。顯然

99、,這樣的測(cè)試對(duì)完善和提高軟件質(zhì)量毫無(wú)價(jià)值。因此,測(cè)試的目的應(yīng)該是從軟件包含有錯(cuò)誤這一前提出發(fā),通過(guò)測(cè)試查出并改正盡可能多的錯(cuò)誤,不斷提高軟件的質(zhì)量和可靠型軟件測(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è)試和白盒測(cè)試。本系統(tǒng)采用的是黑盒測(cè)試。所謂黑盒測(cè)試是把測(cè)試對(duì)象視為一個(gè)黑盒子,測(cè)試人員只著眼于軟件的外部特性,而不考慮軟件的內(nèi)部的邏輯結(jié)構(gòu),是在軟件接口上進(jìn)行的測(cè)試。 </p&g

100、t;<p>  6.1.2 數(shù)據(jù)庫(kù)測(cè)試</p><p>  測(cè)試系統(tǒng)與數(shù)據(jù)庫(kù)是否連接上可以在包里寫一個(gè)測(cè)試類TestSQL,代碼如下:</p><p>  import java.sql.Connection;   </p><p>  import java.sql.DriverManager;  &

101、#160;</p><p>  public class TestSQL {   </p><p>  public static void main(String[] args) {   </p><p>  String url=&q

102、uot;jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=kucunguanli";   </p><p>  String username="sa";   </p><p>  String pwd="";  

103、; </p><p>  String driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";   </p><p>  Connection conn=null;   </p><p><b>  try{ &#

104、160; </b></p><p>  Class.forName(driver);   </p><p>  System.out.println("數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序注冊(cè)成功!");   </p><p>  conn=DriverManager.getConnection(url,u

105、sername,pwd);   </p><p>  System.out.println("數(shù)據(jù)庫(kù)連接成功");   </p><p>  }catch(Exception e){   </p><p>  e.printStackTrace();   &

106、lt;/p><p>  System.out.println("數(shù)據(jù)庫(kù)連接失敗");   </p><p><b>  }   </b></p><p><b>  }   </b></p><p><b>  }

107、  </b></p><p>  根據(jù)以上編寫的數(shù)據(jù)庫(kù)連接測(cè)試代碼,運(yùn)行系統(tǒng),以用戶名“sa”,密碼為空登錄,若數(shù)據(jù)庫(kù)連接成功,則進(jìn)入系統(tǒng)并在運(yùn)行結(jié)果窗口有“數(shù)據(jù)庫(kù)連接成功”的提示;若數(shù)據(jù)庫(kù)連接失敗,則在運(yùn)行結(jié)果窗口有“數(shù)據(jù)庫(kù)連接失敗”的提示。</p><p><b>  6.2 測(cè)試實(shí)例</b></p><p>

108、;  本系統(tǒng)的測(cè)試實(shí)例如下:在商品進(jìn)貨管理的進(jìn)貨入庫(kù)的窗口中添加入庫(kù)商品信息,輸入商品編號(hào)為010122,商品名稱為聯(lián)想電腦,商品類別選擇電腦,單位選擇臺(tái),入庫(kù)數(shù)量為30,入庫(kù)單價(jià)為4000元,顏色選擇黑色,供貨商為聯(lián)想集團(tuán),存放倉(cāng)庫(kù)為電子產(chǎn)品一庫(kù),廠商為聯(lián)想電腦公司,采購(gòu)員為陳晶晶,校驗(yàn)員為Roy,除了備注,其他的都必須填寫,否則會(huì)提示添加有錯(cuò)誤。填好后,單擊確定,一批進(jìn)貨完成,入庫(kù)商品信息被保存經(jīng)過(guò)多次測(cè)試,系統(tǒng)基本上沒(méi)有什么錯(cuò)誤了

109、。</p><p><b>  結(jié) 論</b></p><p>  經(jīng)過(guò)兩個(gè)多月的努力,完成了本次畢業(yè)設(shè)計(jì)。在系統(tǒng)開(kāi)發(fā)之前,指導(dǎo)老師就建議我們?nèi)ス緦?shí)習(xí)或做一些調(diào)查,以便我們對(duì)本次系統(tǒng)有更合理、實(shí)用的設(shè)計(jì),而不是只靠自己的意想當(dāng)然去設(shè)計(jì),在做了詳細(xì)的調(diào)查,搜集大量的相關(guān)資料,并咨詢了很多專業(yè)人士后,開(kāi)始進(jìn)行該系統(tǒng)設(shè)計(jì)。設(shè)計(jì)時(shí),嚴(yán)格按照軟件工程的思想,從需求分析、可行性

110、分析、總體設(shè)計(jì)、最后到詳細(xì)設(shè)計(jì)。本系統(tǒng)我認(rèn)為比較出色的地方就是采用類控件設(shè)計(jì),數(shù)據(jù)庫(kù)的操作也是寫在java包里,不需要另外寫存儲(chǔ)過(guò)程和觸發(fā)器;在主界面的設(shè)計(jì)上也別出心裁,每個(gè)按鈕都用合適的圖片覆蓋上,使界面看起來(lái)很舒服美觀。本系統(tǒng)是用Java寫的基于桌面的一個(gè)系統(tǒng),雖然沒(méi)有達(dá)到網(wǎng)絡(luò)化的要求,但基本的庫(kù)存管理功能和大數(shù)據(jù)量的查詢工作都基本可以滿足,包括按選擇的日期范圍查詢,根據(jù)市場(chǎng)的情形,就只實(shí)現(xiàn)單機(jī)系統(tǒng)也就足夠了。在設(shè)計(jì)過(guò)程中,我遇到了

111、很多技術(shù)上的問(wèn)題,平時(shí)在學(xué)習(xí)過(guò)程中,即使上機(jī)實(shí)驗(yàn)也都是些小的、較為簡(jiǎn)單的程序設(shè)計(jì),都稱不上為系統(tǒng),因此,在開(kāi)發(fā)系統(tǒng)的過(guò)程中碰到了很多棘手的問(wèn)題,對(duì)于很多新的知識(shí)都是一知半解,只有在網(wǎng)上或圖書館搜集資料多加理解,然后再向同學(xué)和老師請(qǐng)教,慢慢嘗試,多多練習(xí),一點(diǎn)</p><p>  本次畢業(yè)設(shè)計(jì)花費(fèi)了我大量的精力和時(shí)間,但我覺(jué)得是值得的,以前我不喜歡動(dòng)手去操作,不喜歡寫程序,導(dǎo)致我的動(dòng)手編程能力很差,思維的嚴(yán)密性和靈

112、活性都不夠好,處理問(wèn)題的方式也不夠好,甚至有點(diǎn)害怕編程,經(jīng)過(guò)本次畢業(yè)設(shè)計(jì),很多方面都有較大進(jìn)步,動(dòng)手能力強(qiáng)了,且對(duì)一個(gè)項(xiàng)目進(jìn)行開(kāi)發(fā)時(shí)能按照軟件設(shè)計(jì)的思想逐一分析、設(shè)計(jì),能合理安排工程進(jìn)度。通過(guò)這次畢業(yè)設(shè)計(jì)使我把以前所學(xué)的零散的知識(shí)進(jìn)行了一次大綜合,對(duì)軟件開(kāi)發(fā)也有一個(gè)總體的認(rèn)知,讓我不在害怕編程,為以后的軟件開(kāi)發(fā)打下了堅(jiān)實(shí)的基礎(chǔ)。本次畢業(yè)設(shè)計(jì)過(guò)程中,我查閱了很多的資料,所以又進(jìn)一步掌握更多的專業(yè)知識(shí),技能水平也有很大的提高,總之,上機(jī)實(shí)踐

113、對(duì)于所有計(jì)算機(jī)專業(yè)的學(xué)生來(lái)說(shuō)都是最重要的,要勤于動(dòng)手動(dòng)腦,多想多試才有創(chuàng)新,才有進(jìn)步,才有收獲。</p><p><b>  致 謝</b></p><p>  本次畢業(yè)設(shè)計(jì)從選題、設(shè)計(jì)到確定課題經(jīng)歷了較長(zhǎng)時(shí)間。在這段時(shí)間得到了老師、同學(xué)以及朋友的幫助和支持,在此深表感謝!感謝他們的耐心指導(dǎo)和熱心幫助,很多問(wèn)題和困難在他們的幫助下迎刃而解,也從他們那里學(xué)到了很多,自

114、己也加強(qiáng)了動(dòng)手的能力。</p><p>  感謝我的導(dǎo)師**,在百忙之際仍然盡力幫我們解決遇到的問(wèn)題,給我們講解專業(yè)方面的很多知識(shí),并教我們學(xué)習(xí)的方法,他嚴(yán)謹(jǐn)?shù)墓ぷ髯黠L(fēng)同樣也影響著我們,使我們也養(yǎng)成了嚴(yán)謹(jǐn)?shù)膶W(xué)習(xí)態(tài)度。在畢業(yè)設(shè)計(jì)期間,從開(kāi)題報(bào)告到畢業(yè)論文,都給了我們很多好的建議,有表?yè)P(yáng),有批評(píng),根據(jù)我們每個(gè)人系統(tǒng)的特點(diǎn)提出可以改進(jìn)和完善的地方,讓我們?cè)诓粩鄬W(xué)習(xí)中日益進(jìn)步,也鍛煉了我們聯(lián)系實(shí)際的能力,讓我思考問(wèn)題也更

115、加多元化,讓我們了解到自己所做的系統(tǒng)不僅僅是用來(lái)看的,而更要注重它的可操作性和實(shí)用性。從他那里我學(xué)到了更多的是做事和學(xué)習(xí)的態(tài)度問(wèn)題,以及思考問(wèn)題的全面性和嚴(yán)謹(jǐn)性,這對(duì)以后不論是在學(xué)校還是在工作崗位上都有很大的幫助。</p><p>  “不積跬步無(wú)以至千里”,這次畢業(yè)設(shè)計(jì)能夠最終順利完成,歸功于各位老師三年間的認(rèn)真教誨和諄諄教導(dǎo),使我能夠很好的掌握專業(yè)知識(shí),并在畢業(yè)設(shè)計(jì)中得以體現(xiàn)。最后,我向榮成學(xué)院的全體老師們?cè)?/p>

116、次表示衷心感謝:謝謝你們。</p><p><b>  參考文獻(xiàn)</b></p><p>  1 顧紹元,李慶華.庫(kù)存管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) .上海鐵道大學(xué)學(xué)報(bào):自然科學(xué)版,1999,17(4).(9~11)</p><p>  2 葉志軍.由淺入深——Java 2自學(xué)教程 .北京:人民郵電出版社,2004.10(13~18)<

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論