版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢 業(yè) 論 文</b></p><p> 答辯委員會主席 ____________</p><p> 評 閱 人 ____________</p><p><b> 摘 要</b></p><p> 隨著經(jīng)濟全球化和信息技術(shù)的迅速發(fā)展,物流業(yè)已成為經(jīng)濟領(lǐng)域
2、中發(fā)展最快、最活躍、最具熱點的一個行業(yè)。作為物流業(yè)操作中比較繁瑣的一個重要環(huán)節(jié),倉儲運作的好壞將直接影響整個物流系統(tǒng)的成本與效率。而開發(fā)一個好的倉庫管理系統(tǒng),使用計算機進行倉儲管理,可以提高物流管理的現(xiàn)代化程序,加強管理的信息化手段,提高工作效率,增加企業(yè)效益;還可以實時掌握庫存最新動態(tài),方便查詢。</p><p> 本文在深入了解物流系統(tǒng)倉儲管理的各種方法和對倉庫管理工作流程進行分析的基礎(chǔ)上,抽象出倉庫管理系
3、統(tǒng)的一般模式,設(shè)計并實現(xiàn)了倉庫管理系統(tǒng)。該系統(tǒng)采用C/S架構(gòu),以Borland公司的JBuilder 2006軟件為開發(fā)平臺,用微軟公司的SQL Server2000作為后臺數(shù)據(jù)庫,以貨物查詢、 貨物入庫、貨物出庫、貨物移庫等操作為核心,實現(xiàn)倉庫管理的信息化和自動化。本文著重介紹了倉庫管理系統(tǒng)的需求分析、實現(xiàn)的功能、業(yè)務(wù)流程、數(shù)據(jù)庫設(shè)計、系統(tǒng)功能模塊設(shè)計、設(shè)計等一系列開發(fā)流程。</p><p> 關(guān)鍵字
4、C/S模式 倉庫管理系統(tǒng) SQL Server 2000 Jbuilder 2006</p><p><b> 目 錄</b></p><p><b> 1 前言1</b></p><p> 1.1 設(shè)計背景與意義1</p><p> 1.2 設(shè)計目標(biāo)2<
5、/p><p> 1.3 系統(tǒng)開發(fā)環(huán)境3</p><p> 1.3.1 系統(tǒng)配置3</p><p> 1.3.2 開發(fā)工具3</p><p> 1.3.3 準(zhǔn)備工作4</p><p><b> 2 系統(tǒng)分析5</b></p><p> 2.1 系統(tǒng)需求分析
6、5</p><p> 2.2 系統(tǒng)功能分析5</p><p> 2.3 數(shù)據(jù)庫需求分析6</p><p> 3 系統(tǒng)總體設(shè)計7</p><p> 3.1 數(shù)據(jù)庫設(shè)計7</p><p> 3.1.1實體關(guān)系圖(E-R圖)設(shè)計7</p><p> 3.1.2 數(shù)據(jù)流圖10&l
7、t;/p><p> 3.1.3 創(chuàng)建數(shù)據(jù)庫11</p><p> 3.2 系統(tǒng)設(shè)計15</p><p> 3.2.1系統(tǒng)功能結(jié)構(gòu)圖15</p><p> 3.2.2 業(yè)務(wù)流程圖16</p><p> 4 系統(tǒng)功能模塊設(shè)計16</p><p> 4.1 登陸模塊16</p
8、><p> 4.2 倉庫管理系統(tǒng)模塊17</p><p> 4.2.1 倉庫管理系統(tǒng)主界面模塊17</p><p> 4.2.2 入庫登記模塊18</p><p> 4.2.3 出庫登記模塊19</p><p> 4.2.4 移庫登記模塊19</p><p> 4.2.5 業(yè)務(wù)
9、單位信息模塊20</p><p> 4.2.6 業(yè)務(wù)查看模塊21</p><p><b> 5 系統(tǒng)實現(xiàn)22</b></p><p> 5.1 建立與數(shù)據(jù)庫連接的類22</p><p> 5.2 建立把彈出窗口置屏幕中央的類23</p><p> 5.3 登錄系統(tǒng)的實現(xiàn)23&
10、lt;/p><p> 5.4 系統(tǒng)主界面的實現(xiàn)24</p><p> 5.4.1 貨物數(shù)據(jù)查詢25</p><p> 5.4.2 入庫登記實現(xiàn)26</p><p> 5.4.3 出庫登記實現(xiàn)26</p><p> 5.4.4 移庫登記實現(xiàn)26</p><p> 5.4.5 業(yè)務(wù)
11、信息實現(xiàn)27</p><p> 6 總結(jié)與展望27</p><p><b> 6.1 總結(jié)27</b></p><p><b> 6.2 展望28</b></p><p><b> 致謝29</b></p><p><b>
12、 參考文獻(xiàn)30</b></p><p> Abstract:31</p><p> 畢業(yè)設(shè)計成績評定表32</p><p><b> 1 前言</b></p><p> 1.1 設(shè)計背景與意義</p><p> 隨著經(jīng)濟全球化和信息技術(shù)的迅速發(fā)展,作為企業(yè)降低生產(chǎn)成本、
13、提高核心競爭力、增加經(jīng)濟效益的“第三利潤源”——現(xiàn)代物流業(yè)正在世界范圍內(nèi)廣泛流行。</p><p> 現(xiàn)代物流業(yè)泛指原材料、產(chǎn)成品從起點至終點以及相關(guān)信息有效流動的全過程。它將運輸、倉儲、裝卸、加工、整理、配送、信息等方面有機結(jié)合,形成完整的供應(yīng)鏈,為用戶提供多功能、一體化的綜合性服務(wù)。</p><p> 我國自20世紀(jì)80年代初系統(tǒng)引進現(xiàn)代物流理論以來,科學(xué)技術(shù)的迅速發(fā)展以及加入世貿(mào)
14、組織,我國的物流業(yè)得到了快速發(fā)展,全社會物流貨物總值大幅度增長。資料表明,物流業(yè)已成為我國經(jīng)濟領(lǐng)域中發(fā)展最快、最活躍、最具熱點的一個行業(yè)[4]。</p><p> 物流信息化建設(shè)隨著物流行業(yè)的發(fā)展而受到重視,物流信息化通過對現(xiàn)有生產(chǎn)資源、人力資源、物流資源的管理,實現(xiàn)資金流、物流與信息流的“三流”統(tǒng)一。通過使用現(xiàn)代管理方法,實現(xiàn)物流作業(yè)的自動化,達(dá)到提高物流服務(wù)水平和質(zhì)量的目的,大大提高了勞動生產(chǎn)效率。<
15、/p><p> 現(xiàn)代物流系統(tǒng)應(yīng)在新的經(jīng)營信息系統(tǒng)思想的指導(dǎo)下來設(shè)計物流信息系統(tǒng),依靠現(xiàn)代科學(xué)技術(shù),在計劃、管理和控制以及作業(yè)環(huán)節(jié)等方面充分利用信息、快速反饋信息,為決策提供依據(jù)并輔助決策,提高物流效率和優(yōu)化供應(yīng)鏈的信息系統(tǒng)。</p><p> 現(xiàn)代物流信息系統(tǒng)的目的是在提高物流行業(yè)的效率并降低成本的同時,提高對顧客的服務(wù)水平[7]。</p><p> 在實際物流系
16、統(tǒng)運作中,倉儲是比較繁瑣也比較重要的一個環(huán)節(jié),它聯(lián)結(jié)了生產(chǎn)者與客戶,其運作的好壞將直接影響整個物流系統(tǒng)的成本與效率。使用人工式管理各項貨品信息不僅效率低下,而且容易出錯,安全性很差。并且在實際操作中,數(shù)據(jù)的查找和維護都不容易實現(xiàn),容易發(fā)生差錯,導(dǎo)致管理費用的增加,服務(wù)質(zhì)量難以得到保證,從而影響企業(yè)的競爭力。隨著物流業(yè)的發(fā)展,其規(guī)模的擴大,倉儲將發(fā)揮越來越重要的作用。</p><p> 在物流信息管理系統(tǒng)中,高效
17、方便的倉庫管理系統(tǒng),可以為生產(chǎn)經(jīng)營提供堅強的后盾和有力的支持。</p><p> 因而倉庫管理系統(tǒng)成為物流信息管理系統(tǒng)的一個必不可少的重要環(huán)節(jié),倉庫管理的信息化、計算機化已迫在眉捷。開發(fā)一個倉庫物流管理系統(tǒng)可以提高物流管理的現(xiàn)代化程序,加強管理的信息化手段,提高工作效率,增加企業(yè)效益;還可以實時掌握庫存最新動態(tài),方便查詢。</p><p><b> 1.2 設(shè)計目標(biāo)</
18、b></p><p> 本倉庫管理系統(tǒng)的設(shè)計目標(biāo)主要是提供一個倉儲業(yè)務(wù)及其作業(yè)管理的信息存儲和檢索平臺,通過系統(tǒng)管理、倉庫管理和業(yè)務(wù)信息管理等功能模塊來實現(xiàn)倉庫的綜合管理,旨在從倉庫的普遍特點出發(fā),有針對性地解決倉庫的日常管理等方面的問題,創(chuàng)建一套能夠通用于各物流企業(yè)中的倉庫管理系統(tǒng)[5]。</p><p> 本系統(tǒng)主要用的是模塊化設(shè)計,主要包含系統(tǒng)、倉庫管理、業(yè)務(wù)信息這幾個功能
19、模塊。系統(tǒng)操作簡單, 有計算機基礎(chǔ)的人無需培訓(xùn)即可使用, 即使是沒有計算機基礎(chǔ)的人只需經(jīng)過簡單的培訓(xùn)就可以很熟練的使用本系統(tǒng)。系統(tǒng)運行后,用戶使用本系統(tǒng)時,不會也不必關(guān)心系統(tǒng)內(nèi)部的結(jié)構(gòu)及實現(xiàn)方法,即對用戶來說是透明的,所以本系統(tǒng)是定位在界面友好、操作方便、功能齊全的原則上的,用戶只需簡單的用鼠標(biāo)點擊各界面上的選項卡或按鈕就能執(zhí)行相應(yīng)的功能。</p><p> 通過開發(fā)倉庫管理系統(tǒng),至少可以實現(xiàn)以下的“六個有利”
20、 :</p><p> 1、有利于減少用在倉庫管理系統(tǒng)上的人力資源。</p><p> 2、有利于提高倉庫管理的效率。</p><p> 3、有利于用戶對倉庫貨物存儲的查詢、更新、修改等操作。</p><p> 4、有利于倉庫管理的保密性和安全性。</p><p> 5、有利于決策者從各種查詢表里獲得倉庫的總
21、體情況。</p><p> 目標(biāo)系統(tǒng)應(yīng)該達(dá)到以下要求: </p><p> 1、時間經(jīng)濟性。優(yōu)化邏輯設(shè)計與物理設(shè)計,使系統(tǒng)運行效率高,反應(yīng)速度快。</p><p> 2、可靠性。能連續(xù)準(zhǔn)確的處理業(yè)務(wù),有較強的容錯能力。</p><p> 3、可理解性。用戶容易理解和使用該系統(tǒng)。</p><p> 4、可維護性
22、和適應(yīng)性。系統(tǒng)應(yīng)易于修改、易于擴充、易于維護,能夠適應(yīng)業(yè)務(wù)不斷發(fā)展變化的需要。</p><p> 5、可用性。目標(biāo)系統(tǒng)功能齊全,能夠完全滿足業(yè)務(wù)需求。</p><p> 6、安全保密性。保證系統(tǒng)的物理安全、數(shù)據(jù)存儲和存取的安全與保密、數(shù)據(jù)傳輸?shù)陌踩c保密,做好使用人員的授權(quán)管理。</p><p> 倉庫管理系統(tǒng)的建設(shè)目標(biāo)是:按照倉庫管理信息的特點,利用倉庫管理
23、系統(tǒng)平臺,圍繞著“數(shù)據(jù)庫、信息管理、應(yīng)用”進行整體規(guī)劃,實現(xiàn)對倉庫信息的管理,實現(xiàn)對貨物信息的管理和對整體的倉庫存儲和業(yè)務(wù)信息進行統(tǒng)計,從而極大的提高了倉庫管理的效率。</p><p> 數(shù)據(jù)庫:創(chuàng)建在倉庫管理系統(tǒng)平臺使用的數(shù)據(jù)庫,管理員可以查詢倉庫管理的各項信息數(shù)據(jù)。</p><p> 信息管理:管理員可以對倉庫進行分類查詢,可以對倉庫貨物數(shù)據(jù)進行增加、修改、刪除等,方便管理員對倉庫
24、的貨物進行管理。</p><p> 應(yīng)用:倉庫管理系統(tǒng)的匯總表可以讓我們了解整個倉庫的運作,從而為物流管理提供各種信息,有利于提高物流系統(tǒng)的總體水平。</p><p> 1.3 系統(tǒng)開發(fā)環(huán)境</p><p> 1.3.1 系統(tǒng)配置 </p><p> Windows XP 作為當(dāng)今最為普及的操作系統(tǒng),具有簡單、容易操作、穩(wěn)定強大的
25、特點。一方面考慮目前微軟的飛速發(fā)展,越來越多的企業(yè)在規(guī)劃內(nèi)部網(wǎng)絡(luò)時,將微軟平臺作為首選方案;另一方面從技術(shù)角度來講,微軟平臺上的應(yīng)用無論是在開發(fā)上,還是在軟件的部署上都非常容易,而且性能優(yōu)越。</p><p> 1.3.2 開發(fā)工具</p><p> JBuilder 是目前最好的Java開發(fā)工具之一,在協(xié)同管理、對J2EE和XML的支持等方面都非常的優(yōu)秀,它的這些特性是其他同類產(chǎn)品無
26、法比擬的。同時它在Applet和EJB開發(fā)方面也具有獨特的優(yōu)勢,使得它在J2EE工程開發(fā)界具有獨特的優(yōu)勢,成為目前最流行的Java開發(fā)工具之一。一般來講Jbuilder提供了企業(yè)數(shù)據(jù)庫的動態(tài)鏈接,可以開發(fā)出基于網(wǎng)絡(luò)的動態(tài)分布計算數(shù)據(jù)庫管理系統(tǒng)。在現(xiàn)在的企業(yè)信息管理系統(tǒng)的實現(xiàn)中通常是結(jié)合Jbuilder和Weblogic_server來共同實現(xiàn)數(shù)據(jù)庫開發(fā)系統(tǒng)。Jbuilder的主要特性包括四個方面:</p><p>
27、; ·Tomcat組件的集成:Tomcat組件是業(yè)界公認(rèn)的優(yōu)秀的網(wǎng)絡(luò)開發(fā)軟件,Jbuilder和它集成,大大方便了Java在網(wǎng)絡(luò)和數(shù)據(jù)庫分布計算方面的應(yīng)用,使得Java的Web開發(fā)更容易。</p><p> ·企業(yè)信息化應(yīng)用的開發(fā)功能:可以據(jù)此集成多種應(yīng)用服務(wù)器,大大方便了Java在企業(yè)信息化方面的應(yīng)用。提高了企業(yè)信息化的水平,促進了Java在工程界的廣泛應(yīng)用。</p>&l
28、t;p> ·非常簡單的程序發(fā)布功能:只需簡單的步驟便可將自己的程序打包進行發(fā)布,大大方便了用戶使用和發(fā)布自己的程序。</p><p> ·由于在現(xiàn)在的軟件開發(fā)中團隊合作是最重要的,Jbuilder就提供了團隊開發(fā)能力,可以集成多種版本控制產(chǎn)品,方便了不同層次的用戶使用。</p><p> Jbuilder是按照SUN公司提供J2EE標(biāo)準(zhǔn)來構(gòu)筑的,它是一個遵循
29、J2EE標(biāo)準(zhǔn)的可視化集成開發(fā)環(huán)境,目前在業(yè)界具有廣泛的用戶,成為一個處于市場領(lǐng)先地位的跨平臺環(huán)境,主要用于構(gòu)建一些具有行業(yè)實力的企業(yè)Java小程序,如為企業(yè)信息化而產(chǎn)生的客戶前臺瀏覽界面,為特定的用戶開發(fā)一些專業(yè)的程序包和特定的類庫。</p><p> JBuilder繼承了Borland公司開發(fā)工具系列的優(yōu)秀特性,繼承了許多Delphi和C++ Builder產(chǎn)品的優(yōu)秀特性,這使得用過這兩種產(chǎn)品的用戶很容易的
30、就可以過渡到JBuilder的開發(fā)環(huán)境當(dāng)中,熟練的開發(fā)出高質(zhì)量的Java程序。在JBuilder這個開發(fā)環(huán)境中實際上包含了用戶在Java集成開發(fā)環(huán)境中所需要的一切東西。包括對常用的面向?qū)ο笳Z言UML建模工具的支持。我們可以在這個環(huán)境下對系統(tǒng)進行建模,進行系統(tǒng)調(diào)試,對系統(tǒng)進行打包發(fā)布。</p><p> SQL Server 在管理企業(yè)信息方面最靈活和最經(jīng)濟高效。在盡可能提高服務(wù)質(zhì)量的同時削減了管理成本。除極大地
31、提高質(zhì)量和性能以外,SQL Server作為微軟公司的數(shù)據(jù)庫產(chǎn)品,能夠和絕大多數(shù)建立在Windows XP平臺上的軟件兼容,具有很強的兼容性,并且SQL Server本身功能也十分強大,其中還有SQL查詢分析器、SQL Server 服務(wù)管理器、企業(yè)管理器等功能強大的工具,所以我選擇SQL Server作為我們的的后臺數(shù)據(jù)庫。</p><p> 1.3.3 準(zhǔn)備工作</p><p>
32、JDBC(Java Database Connectivity,Java數(shù)據(jù)庫連接性)是一種可用于執(zhí)行SQL語句的Java API(Application Programming Interface,應(yīng)用程序設(shè)計接口)。</p><p> 它由一些Java語言編寫的類和接口組成。JDBC給數(shù)據(jù)庫應(yīng)用開發(fā)人員、數(shù)據(jù)庫前臺工具開發(fā)人員提供了一種標(biāo)準(zhǔn)的應(yīng)用程序設(shè)計接口,使開發(fā)人員可以用純Java語言編寫完整的數(shù)據(jù)庫應(yīng)
33、用程序。</p><p> 通過使用JDBC,開發(fā)人員可以很方便地將SQL語句傳送給幾乎任何一種數(shù)據(jù)庫。不但如此,使用Java編寫的應(yīng)用程序可以在任何支持Java的平臺上運行,不必在不同的平臺上編寫不同的應(yīng)用。</p><p> 在Java語言中的JDBC API主要用來連接數(shù)據(jù)庫和直接調(diào)用SQL命令執(zhí)行各種SQL語句,使用JDBC API可以很容易地把SQL語句傳送到任何關(guān)系型數(shù)據(jù)庫
34、中,利用JDBC API可以執(zhí)行一般的SQL語句、動態(tài)SQL語句以及帶IN和OUT參數(shù)的存儲過程。JDBC API是數(shù)據(jù)庫應(yīng)用的基礎(chǔ),它建立了Java語言數(shù)據(jù)庫應(yīng)用程序同各種不同數(shù)據(jù)庫的溝通機制。</p><p> 由于我使用的是SQL Server 2000數(shù)據(jù)庫系統(tǒng),在使用JBuilder連接SQL Server數(shù)據(jù)庫之前首先要進行數(shù)據(jù)庫連接,這就需要安裝驅(qū)動程序,在這里采用Microsoft SQL Se
35、rver 2000 Driver for JDBC驅(qū)動來進行SQL Server和系統(tǒng)的連接。由于SQL Server 2000版本比較低,需要安裝補丁Microsoft SQL Server 2000 sp3的chs_sql2ksp3.exe安裝文件。這一切完成之后就可以為JBuilder 2006配置JDBC驅(qū)動了,只有把這些前期工作完成之后才可以對JBuilder和數(shù)據(jù)庫進行連接,因此是很必要的。</p><p
36、><b> 2 系統(tǒng)分析</b></p><p> 2.1 系統(tǒng)需求分析</p><p> 經(jīng)過前面的初步調(diào)研分析,總結(jié)出物流的倉庫管理工作具有以下特點:</p><p> 在倉庫管理中存在帳目品種雜、重復(fù)次數(shù)多的問題,如果倉庫對所有信息的管理均以手工完成,即由資料管理員以各種記錄臺帳方式完成信息的登記,在需要某種信息的時候查找臺
37、帳記錄,很明顯,這種工作方法效率低下,信息保存的準(zhǔn)確性、安全性難以保證,信息查詢的快速性、完整性也難以保證,致使管理工作費人,費時,費力,繁瑣枯燥,效率低下[6]。</p><p> 因此實現(xiàn)倉庫管理的計算機化迫在眉睫, 本系統(tǒng)是集倉庫管理、貨物管理、倉庫貨物進出庫管理、客戶統(tǒng)計、進出庫統(tǒng)計等功能于一體的綜合性倉儲管理系統(tǒng)。支持多種類型的入庫、出庫、補貨方式,同時支持多種查詢方式和全面的日志管理,因此可應(yīng)用于物
38、流業(yè)的單體倉庫精細(xì)化管理。</p><p> 可以輕松解決物流企業(yè)在倉庫管理、貨物流動分析等一系列問題,迅速提高物流企業(yè)對倉庫經(jīng)營管理水平、穩(wěn)固客戶群,增加經(jīng)濟效益,以最小的投資獲得雙盈的優(yōu)秀管理。幫助生產(chǎn)企業(yè)、分公司、分銷商、代理商、商場、商店等之間建立起一套完善、高效、具有快速反應(yīng)能力和管理能力的業(yè)務(wù)平臺,可以極大的提高企業(yè)競爭力,為企業(yè)創(chuàng)造價值。</p><p> 2.2 系統(tǒng)功
39、能分析</p><p> 本系統(tǒng)是針對物流業(yè)倉庫的貨物信息和出入庫記錄進行管理,倉庫管理系統(tǒng)的核心在于貨物入庫、貨物出庫和庫存管理三者,因此倉庫管理系統(tǒng)的用戶包括倉庫管理員和系統(tǒng)管理員。</p><p> 倉庫管理系統(tǒng)主要完成貨物倉庫的庫存管理,由于倉庫管理設(shè)計的功能較多,在這里我設(shè)計的是一個簡單的倉庫管理系統(tǒng),主要包括系統(tǒng)登錄、系統(tǒng)主界面、貨物庫存信息查詢、貨物入庫登記、貨物出庫登記
40、、貨物移庫登記、業(yè)務(wù)信息管理等7個功能模塊:</p><p> 系統(tǒng)登錄:在倉庫管理系統(tǒng)中,登錄模塊是非常重要的,它是整個倉庫管理系統(tǒng)的基礎(chǔ),只有通過了此登錄界面的認(rèn)可,才能夠進入庫存管理系統(tǒng)。正確的執(zhí)行庫存管理的功能。登錄部分實現(xiàn)對倉管員登錄的驗證、標(biāo)志,從而為相對應(yīng)用戶的操作提供依據(jù)。</p><p> 系統(tǒng)主界面:該模塊實現(xiàn)系統(tǒng)的主界面功能,在這個界面中可以進入倉庫管理系統(tǒng)的全部
41、分支功能子界面。包括倉管員信息界面、貨物入庫登記界面、貨物出庫登記界面、貨物移庫登記界面、供應(yīng)商和客戶商信息界面等等一些界面。</p><p> 貨物庫存信息查詢:倉管員登錄就能看到系統(tǒng)主界面顯示的的庫存信息,還可以按照各種情況對貨物的庫存信息進行查詢。這樣能方便快速地了解貨物的情況,進而快速地解決貨物的流通。</p><p> 貨物入庫登記:入庫登記也是倉庫管理系統(tǒng)的主要功能模塊,當(dāng)
42、一個公司的倉庫進貨時,通常需要進入這個表格的填寫界面,輸入正確的貨物信息,完成貨物信息的錄入。倉管員負(fù)責(zé)對貨物入庫信息的管理,通過修改已有貨物的信息和添加新貨物的信息來進行操作。</p><p> 貨物出庫登記:出庫信息是和入庫信息管理相對應(yīng)的系統(tǒng)界面,當(dāng)一個公司將自己的產(chǎn)品推銷出去時,就要進入這個表格的填寫界面,輸入正確的貨物信息,完成貨物信息的錄入。倉管員負(fù)責(zé)對貨物出庫信息的管理,倉管員可以查看貨物詳細(xì)信息
43、,以及進行貨物搜索操作。</p><p> 貨物移庫登記:移庫是對已有貨物的信息進行修改的一個操作,在貨物位置需要調(diào)整時,倉管員對相應(yīng)的移庫操作進行貨物信息的修改。</p><p> 業(yè)務(wù)信息:這個功能模塊的設(shè)定是為公司的企業(yè)業(yè)務(wù)發(fā)展需要而設(shè)立的,它和公司的供貨單位、信息登記模塊一起,組成公司業(yè)務(wù)模塊。</p><p> 以上是用戶對系統(tǒng)的基本的功能要求,此外
44、還要求系統(tǒng)的效率要高,查詢速度要快,比較小的冗余,易維護,具有較高的數(shù)據(jù)安全性。</p><p> 2.3 數(shù)據(jù)庫需求分析</p><p> 在庫存管理系統(tǒng)中包括貨物、倉庫庫位、倉管員、職工、供應(yīng)商、客戶商等等實體。其中倉管員屬于職工的一種,每個庫位都屬于某個倉庫。系統(tǒng)的核心關(guān)系是庫存移動,庫存移動包括貨物出入庫和貨物移庫等操作。涉及到某個職工作為外部的經(jīng)手人,每次庫存移動都必然有貨物
45、的來源供應(yīng)商和去向客戶商。作為一個簡化的模型,沒有考慮貨物的來源和去向涉及到組織意外的部門和人員的情況。具體實體貨物信息分析如下:</p><p> 貨物:貨物代碼、貨物名稱、貨物類型、存放庫位、庫存總量、計量單位、入庫單價、入庫時間、供應(yīng)商、備注。</p><p> 倉庫庫位:倉庫代碼、倉庫名稱、庫位代碼、庫位名稱、貨物類型、倉庫容量、備注。</p><p>
46、 倉管員:ID號、姓名、登錄密碼、姓名、聯(lián)系電話。</p><p> 客戶信息:客戶代碼、客戶名稱、聯(lián)系人、聯(lián)系電話、聯(lián)系地址、電子郵箱。</p><p> 貨物類型:類型代碼、類型名稱。</p><p> 部門信息:部門代碼、部門名稱。</p><p> 入庫單:入庫單編號、貨物名稱、存放倉庫、入庫時間、入庫數(shù)量、入庫單價、供應(yīng)商
47、、經(jīng)辦人。</p><p> 出庫單:出庫單編號、貨物名稱、存放倉庫、出庫時間、出庫數(shù)量、出庫單價、客戶商、經(jīng)辦人。</p><p> 移庫單:移庫單編號、貨物名稱、原庫位名稱、現(xiàn)庫位名稱、移庫時間、移庫數(shù)量、經(jīng)辦人。</p><p><b> 3 系統(tǒng)總體設(shè)計</b></p><p><b> 3.1
48、 數(shù)據(jù)庫設(shè)計</b></p><p> 3.1.1實體關(guān)系圖(E-R圖)設(shè)計</p><p> 根據(jù)上面需求分析可知,庫存管理系統(tǒng)主要涉及三個實體類型,包括:公司的相關(guān)職工、公司的貨物、倉庫管理系統(tǒng)的系統(tǒng)界面,這三類共同構(gòu)成系統(tǒng)的相關(guān)參與類型[2]。</p><p> 三個關(guān)系類型:一個是相關(guān)職工和貨物信息之間的關(guān)系是m:n;一個是系統(tǒng)界面和貨物信
49、息之間的關(guān)系1:n;最后一個是相關(guān)職工和系統(tǒng)界面之間的關(guān)系1:n。</p><p> 從而得出的實體有倉管員信息實體、貨物實體、倉庫庫位實體、庫存實體。各個實體的E—R圖及其關(guān)系描述如下</p><p> 圖1 倉管員實體關(guān)系圖</p><p> 圖2 貨物實體關(guān)系圖</p><p> 圖3 倉庫庫位實體關(guān)系圖</p>
50、<p> 圖4 庫存實體關(guān)系圖</p><p> 圖5 倉庫管理系統(tǒng)實體關(guān)系圖</p><p> 圖6 實體間的實體關(guān)系圖</p><p> 3.1.2 數(shù)據(jù)流圖</p><p> 數(shù)據(jù)流圖表達(dá)了數(shù)據(jù)和處理的關(guān)系,是描述系統(tǒng)的邏輯模型的,圖中沒有任何具體的物理元素,只是描述信息在系統(tǒng)中流動和處理的情況,它比口頭與文字的描述
51、更直觀地顯示出來系統(tǒng)中數(shù)據(jù)的使用。</p><p> 數(shù)據(jù)流圖簡稱DFD圖,數(shù)據(jù)流圖有四種成分:源點或終點、處理、數(shù)據(jù)存儲表和數(shù)據(jù)流。圖中沒有任何具體的物理元素,只是描述信息在系統(tǒng)中的流動和處理情況,即使不是專業(yè)的計算機技術(shù)人員也容易理解,是極好的理解工具。它能精確的描述系統(tǒng)的邏輯模型,描述數(shù)據(jù)在管理信息系統(tǒng)中有輸入經(jīng)過存儲、加工處理最后輸出的全過程,是設(shè)計者和用戶交流的很好的工具。根據(jù)用戶的需求分析和倉庫管理
52、系統(tǒng)的需求,得出如下圖7所示的倉庫管理數(shù)據(jù)流圖。</p><p> 圖7 倉庫管理系統(tǒng)數(shù)據(jù)流圖</p><p> 3.1.3 創(chuàng)建數(shù)據(jù)庫</p><p> 數(shù)據(jù)庫的創(chuàng)建主要是邏輯結(jié)構(gòu)設(shè)計和物理結(jié)構(gòu)設(shè)計的結(jié)果,在計算機系統(tǒng)上建立實際的數(shù)據(jù)庫結(jié)構(gòu)、導(dǎo)入數(shù)據(jù)并進行程序的調(diào)試。它相當(dāng)于軟件工程中的代碼編寫和程序調(diào)試的階段。在SQL Server 2000中生成了如下所
53、示的表。</p><p> 貨物屬性表記錄倉庫管理所有貨物的各種參數(shù)和相關(guān)信息[8]。在系統(tǒng)中只有管理員能對貨物屬性進行刪除、插入、更新。詳細(xì)信息見表1。</p><p><b> 表1 貨物屬性表</b></p><p> 倉庫信息表保存了一個組織所有倉庫的名稱和所有倉庫中的相關(guān)信息。倉庫和倉庫庫存信息的變更也只能由倉管員進行操作。本表
54、的主鍵應(yīng)該是倉庫代碼,但是為了保證主鍵的唯一性,新增了一個字段倉庫庫位代碼,這樣的倉庫庫位代碼也唯一決定了一個庫位,同時在其他表中需要使用倉庫庫位信息的字段也可以使用倉庫庫位代碼,詳細(xì)信息見表2。</p><p> 倉管員信息表保存了所有倉管員的信息,在庫存管理系統(tǒng)中需要使用倉管員信息表,這個系統(tǒng)是簡化了的管理系統(tǒng),只設(shè)定倉管員為唯一使用倉庫管理系統(tǒng)的職工,所以就不設(shè)定權(quán)限,也就是所有的倉管員都可以使用系統(tǒng)中的
55、各種功能,其詳細(xì)信息見表3。</p><p> 客戶信息表保存了所有供貨商和客戶商的信息,在庫存管理系統(tǒng)中需要使用供貨商和客戶商信息表來補充貨物的信息,也方便倉庫的管理運作??蛻粜畔压?yīng)商和客戶商的信息都集合到一個表,這樣做的原因是,有些供貨商同時也可能是客戶商,為了消除冗余,把所有的客戶都記錄到一張表上。詳細(xì)信息見表4。</p><p><b> 表2 倉庫信息表<
56、/b></p><p><b> 表3 倉管員信息表</b></p><p> 貨物類型是指明貨物所屬的類別,有時候倉庫里要存儲的貨物很多,類別不一,貨物類型表的創(chuàng)建可以先存儲各種貨物類型,在添加新貨物的時候,只需在貨物類型表里選取就可以,大大方便了貨物入庫的效率。貨物類型表的詳細(xì)信息入表5。</p><p> 入庫單主要保存所有的
57、入庫操作,包括貨物名稱、倉庫名稱、入庫時間、入庫數(shù)量等,入庫單便于倉管員對入庫貨物的查詢,保證貨物的保存正確,而且也保證了入庫貨物的保存安全,對之后的出庫操作、移庫操作都有很大的幫助,詳細(xì)信息見表6。</p><p> 出庫單起著和和入庫單一樣的功效,方便記錄所有的貨物出庫操作,從而方便對數(shù)據(jù)的統(tǒng)計,便于更新貨物的數(shù)量,同時也是一項對貨物操作的安全保證。主要包括了貨物名稱、倉庫名稱、出庫時間、出庫數(shù)量等。詳細(xì)信
58、息見表7。</p><p><b> 表4 客戶信息表</b></p><p><b> 表5 貨物類型表</b></p><p><b> 表6 入庫單表</b></p><p> 和出庫單的重要性一樣,移庫單的建立也是為了保證貨物操作的安全,同時也便于貨物出庫等操作
59、,主要包含的信息是貨物名稱、庫位名稱、移庫時間、移庫數(shù)量。移庫單的詳細(xì)信息見表8。</p><p> 數(shù)據(jù)庫試運行合格后,數(shù)據(jù)庫開發(fā)工作就基本完成,即可投入正式運行了。但是,由于應(yīng)用環(huán)境在不斷變化,數(shù)據(jù)庫運行過程中物理存儲也會不斷變化,對數(shù)據(jù)庫設(shè)計進行評價、調(diào)整、修改等維護工作是一個長期的任務(wù),也是設(shè)計工作的繼續(xù)和提高。</p><p><b> 表7 出庫單表</b&
60、gt;</p><p><b> 表8 移庫單表</b></p><p> 在數(shù)據(jù)庫運行階段,對數(shù)據(jù)庫經(jīng)常性的維護工作主要是由DBA(Database Administrator)完成的,包括:</p><p> ?。?)數(shù)據(jù)庫的轉(zhuǎn)儲和恢復(fù)——DBA要針對不同的應(yīng)用要求制定不同的轉(zhuǎn)儲計劃,一保證一旦發(fā)生故障能盡快將數(shù)據(jù)庫恢復(fù)到某種一致的狀態(tài)
61、,并盡可能減少對數(shù)據(jù)庫的破壞。</p><p> ?。?)數(shù)據(jù)庫的安全性、完整性控制——DBA根據(jù)實際情況修改原有的安全性控制和數(shù)據(jù)庫的完整性約束條件,以滿足用戶要求。</p><p> (3)數(shù)據(jù)庫性能的監(jiān)督、分析和改造——在數(shù)據(jù)庫運行過程中,DBA必須監(jiān)督系統(tǒng)運行,對監(jiān)測數(shù)據(jù)進行分析,找出改進系統(tǒng)性能的方法。</p><p> ?。?)數(shù)據(jù)庫的重組織與重構(gòu)造—
62、—數(shù)據(jù)庫運行一段時間后,由于記錄不斷增、刪、改,會使數(shù)據(jù)庫的物理存儲情況變壞,降低了數(shù)據(jù)的存取效率,數(shù)據(jù)庫性能下降,這時DBA就要對數(shù)據(jù)庫進行重組織或部分重組織。</p><p><b> 3.2 系統(tǒng)設(shè)計</b></p><p> 3.2.1系統(tǒng)功能結(jié)構(gòu)圖</p><p> 系統(tǒng)的概要設(shè)計中最重要的就是系統(tǒng)的模塊化。模塊化是指解決一個復(fù)
63、雜問題時自項向下逐層把軟件系統(tǒng)劃分成若干個模塊的過程。每個模塊完成一個特定的功能,所有的模塊按某種方法組織起來,成為一個整體,完成整個系統(tǒng)所要求的功能。根據(jù)系統(tǒng)功能的需求分析和企業(yè)倉庫管理的特點,經(jīng)過模塊化的分析得到系統(tǒng)功能模塊結(jié)構(gòu)圖。</p><p><b> 圖8系統(tǒng)功能結(jié)構(gòu)圖</b></p><p> 將系統(tǒng)劃分為多個模塊是為了降低軟件系統(tǒng)的復(fù)雜性,提高可讀
64、性、可維護性,但模塊的劃分不能是任意的,應(yīng)盡量保持其獨立性。也就是說,每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單,即盡量做到高內(nèi)聚低耦合,提高模塊的獨立性,為設(shè)計高質(zhì)量的軟件結(jié)構(gòu)奠定基礎(chǔ)。</p><p> 系統(tǒng)功能結(jié)構(gòu)圖詳細(xì)信息如圖8所示。</p><p> 3.2.2 業(yè)務(wù)流程圖</p><p><b> 圖9 業(yè)務(wù)
65、流程圖</b></p><p> 程序流程圖又稱為程序框圖,它是歷史悠久使用最廣泛的描述軟件設(shè)計的方法。該系統(tǒng)的程序流程圖如圖9所示:</p><p> 4 系統(tǒng)功能模塊設(shè)計</p><p><b> 4.1 登陸模塊</b></p><p> 在倉庫管理系統(tǒng)中,登錄界面是非常重要的,它是整個倉庫管理
66、系統(tǒng)的基礎(chǔ),只有通過此登錄界面的認(rèn)可,才能夠進入庫存管理系統(tǒng),正確的執(zhí)行庫存管理的功能[3]。對應(yīng)的界面如圖10所示。</p><p><b> 圖10 登錄界面</b></p><p> 在此窗口中倉管員必須輸入正確的姓名和密碼,才能進入系統(tǒng)主界面,事先將倉管員的姓名和密碼以及ID號存在一個SQL Server數(shù)據(jù)庫倉管員中,當(dāng)倉管員登錄系統(tǒng)時,系統(tǒng)將用戶輸入的
67、姓名和密碼與數(shù)據(jù)庫中事先存放的姓名和密碼進行比較,如果相同,則進入系統(tǒng)主界面,否則提示用戶輸入錯誤或者提示此用戶不存在。</p><p> 4.2 倉庫管理系統(tǒng)模塊</p><p> 4.2.1 倉庫管理系統(tǒng)主界面模塊</p><p> 在系統(tǒng)主界面中,可以完成此系統(tǒng)的全部功能,包括貨物信息查詢,貨物入庫信息登記處理,貨物出庫信息登記處理,貨物移庫登記處理,業(yè)
68、務(wù)信息查詢等等一些界面。系統(tǒng)設(shè)計目標(biāo)是通過一系列菜單驅(qū)動來完成相應(yīng)的子界面創(chuàng)建和管理。</p><p> 如圖11所示,在倉庫管理系統(tǒng)中,主要包括以下幾個方面的功能模塊,其中每個功能模塊又分別由2~3個功能來完成。</p><p> 在庫存管理模塊中,主要包括倉庫盤存和退出系統(tǒng)兩個功能。在入庫管理模塊中,主要包括入庫登記管理功能。在出庫管理模塊中,主要包括出庫登記管理功能。在業(yè)務(wù)信息模
69、塊中,主要包括具體經(jīng)辦人和倉庫信息統(tǒng)計兩個功能。在業(yè)務(wù)單位模塊中,包括供貨商和客戶商兩個功能。選擇不同的菜單進入不同的庫存管理子界面,完成相應(yīng)的功能系統(tǒng)主界面采用Java中的Frame技術(shù)。</p><p> 圖11 倉庫管理系統(tǒng)主界面</p><p> 4.2.2 入庫登記模塊</p><p> 圖12 入庫登記界面</p><p>
70、 入庫登記模塊也是倉庫管理系統(tǒng)的主要功能模塊,當(dāng)一個公司的倉庫進貨時,我們通常需要進入這個表格填寫界面,輸入正確的貨物信息,完成貨物信息的錄入,對應(yīng)的倉庫入庫登記信息子界面,如圖12所示。在倉庫管理系統(tǒng)入庫登記信息主界面中,必須輸入正確的入庫登記信息,包括入庫日期和入庫單號,以及貨物代碼、庫存數(shù)量、供貨客戶和經(jīng)辦人信息等一些關(guān)于貨物入庫的詳細(xì)信息。</p><p> 4.2.3 出庫登記模塊</p>
71、;<p> 出庫登記是和入庫登記相對應(yīng)的系統(tǒng)模塊,當(dāng)一個公司將自己的產(chǎn)品銷售出去的時候,就要進入這個系統(tǒng)界面來完成對公司產(chǎn)品出庫信息進行詳細(xì)的記錄,這個也是倉庫管理系統(tǒng)的重要功能之一。對應(yīng)的系統(tǒng)界面如圖13所示。</p><p> 在倉庫管理系統(tǒng)的出庫登記信息主界面中,必須輸入正確的出庫登記信息,包括出庫日期和出庫單號,以及貨物代碼、出庫數(shù)量、收貨單位和經(jīng)辦人信息等一些關(guān)于貨物出庫的詳細(xì)信息。&
72、lt;/p><p> 圖13 出庫登記界面</p><p> 4.2.4 移庫登記模塊</p><p> 移庫登記模塊也是系統(tǒng)管理的一個重要模塊,當(dāng)貨物的性質(zhì)發(fā)生變化,或者倉庫位置需要改動的時候,貨物想相關(guān)信息也需要改變,這時就要進行貨物移庫處理,進行移庫登記,方便改動相關(guān)的貨物信息。對應(yīng)的系統(tǒng)界面如圖14所示。</p><p> 在倉庫
73、管理系統(tǒng)的移庫登記信息主界面中,必須輸入正確的移庫登記信息,包括移庫日期和移庫單號,以及貨物代碼、移庫數(shù)量、原倉庫信息和移庫的倉庫信息等一些關(guān)于貨物移庫的詳細(xì)信息。</p><p> 圖14 移庫登記界面</p><p> 4.2.5 業(yè)務(wù)單位信息模塊</p><p> 圖15 供應(yīng)商信息界面</p><p> 這個模塊包括兩個功能模
74、塊:一個是供貨單位信息的統(tǒng)計,一個是收貨單位信息的統(tǒng)計。這兩個功能模塊的實現(xiàn)方法基本相似,在此重點介紹供貨單位信息模塊的實現(xiàn)。在本次系統(tǒng)開發(fā)中,用到的供貨單位信息界面如圖15所示。</p><p> 倉庫管理系統(tǒng)中的供貨單位信息用來統(tǒng)計公司倉庫和公司有業(yè)務(wù)來往的企業(yè)信息,通過這些信息的正確統(tǒng)計,可以幫助企業(yè)建立一個豐富的企業(yè)信息資料庫,為公司以后業(yè)務(wù)的順利展開服務(wù),提高公司的業(yè)務(wù)業(yè)績。在系統(tǒng)供貨商信息登記表中,
75、主要完成的功能是等級供貨單位的信息。方便公司業(yè)務(wù)的開展,是倉庫管理系統(tǒng)的重要功能之一。</p><p> 4.2.6 業(yè)務(wù)查看模塊</p><p> 圖16 入庫單信息查看</p><p> 業(yè)務(wù)查看模塊是倉庫管理系統(tǒng)的重要管理模塊,主要有三個模塊組成,分別是倉庫貨物入庫單、出庫單和移庫單統(tǒng)計的功能。在這里,重點介紹入庫單信息模塊。這個模塊的主要功能就是記錄倉
76、庫貨物入庫所有單張的詳細(xì)信息,包括不同日期、不同貨物、不同經(jīng)辦人所辦理的入庫單張的一些詳細(xì)信息。詳細(xì)如圖16所示。</p><p> 在系統(tǒng)倉庫經(jīng)辦人員信息登記模塊中,主要功能是顯示所有相關(guān)貨物入庫單的信息,方便公司業(yè)務(wù)的查看與修改,是倉庫管理系統(tǒng)的重要功能之一。</p><p><b> 5 系統(tǒng)實現(xiàn)</b></p><p> 由于實現(xiàn)
77、這個系統(tǒng)的軟件是JBuilder 2006,主要的編程語言是Java語言,數(shù)據(jù)庫實現(xiàn)語言是SQL(Structured Query Language)。實現(xiàn)過程主要圍繞這些編程知識進行,同時也圍繞交互界面友好這個創(chuàng)建系統(tǒng)要素進行。</p><p> 首先在JBuilder 2006主界面中創(chuàng)建一個命名為warehouse的工程,然后在該工程中創(chuàng)建一個命名為whApp的應(yīng)用程序和命名為login的Frame(框架
78、),這時會自動生成一個whApp.java文件和一個login.java文件。完成應(yīng)用程序的創(chuàng)建之后,分別創(chuàng)建主界面Frame、貨物入庫登記Frame、貨物出庫登記Frame等等操作。當(dāng)運行時,系統(tǒng)首先運行whApp.java文件,由whApp.java調(diào)用login.java,從而彈出登錄窗口。通過登錄窗口進入系統(tǒng)主界面。然后在主界面可以通過菜單選項選擇相應(yīng)的功能模塊進行系統(tǒng)管理,具體實現(xiàn)過程如下。</p><p&
79、gt; 5.1 建立與數(shù)據(jù)庫連接的類</p><p> 由于系統(tǒng)在每個頁面要使用數(shù)據(jù)的時候都要建立與數(shù)據(jù)庫的連接,則有很多代碼是重復(fù)的,這里我先建立一個連接數(shù)據(jù)庫的類whConnect,然后在要使用數(shù)據(jù)庫的地方,創(chuàng)建一個whConnect對象即可。當(dāng)然,如果查詢或修改數(shù)據(jù)庫的工作在不同的頁面只是參數(shù)不同而已,也應(yīng)該建立一個Query類。這里只建立一個連接數(shù)據(jù)庫的類,這樣做的好處是,如果連接數(shù)據(jù)庫的用戶名或者密
80、碼變化了,只需要修改這一個文件。</p><p> 下面首先來建立whConnect類,這里使用Class Wizard來創(chuàng)建應(yīng)用程序,實現(xiàn)步驟為:選擇file→new菜單項,雙擊Class圖標(biāo),在Class name中輸入whConnect,其他選擇默認(rèn)值,點擊finish即可創(chuàng)建一個新類。</p><p> 在新類的source頁面中添加代碼即可。具體如下:</p>
81、<p> 先在開始的位置添加的SQL包import java.sql,這是所有要使用到數(shù)據(jù)庫的java應(yīng)用程序都要添加的包,下面就不再重復(fù)敘述。</p><p> 然后為每個調(diào)用該類的對象注冊驅(qū)動程序:</p><p> Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");</
82、p><p> 在whConnect類中,創(chuàng)建一個連接數(shù)據(jù)庫的方法makeCon(),當(dāng)調(diào)用這個方法時,系統(tǒng)將連接相應(yīng)的數(shù)據(jù)庫,并返回一個connection對象:</p><p><b> try{</b></p><p> url="jdbc:microsoft:sqlserver://localhost:1433;Databas
83、eName=warehouse";</p><p> username="sa";</p><p> password="sa";</p><p> con=DriverManager.getConnection(url,username,password);//建立一個Connection對象}</p&
84、gt;<p> catch(SQLException e1){}</p><p> return con;//返回一個Connetion對象</p><p> 上面便是連接數(shù)據(jù)庫whConnect類所用到的主要語句。</p><p> 5.2 建立把彈出窗口置屏幕中央的類</p><p> 在調(diào)試的時候不難發(fā)現(xiàn),每個彈
85、出的窗口都是出現(xiàn)在顯示屏屏幕的左上角的,為了使系統(tǒng)界面更友好,建立一個類來設(shè)定每個窗口顯示的時候都居于屏幕中央,其主要代碼為:</p><p> Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();</p><p><b> //捕捉屏幕尺寸</b></p><p
86、> Dimension frameSize = frame.getSize();</p><p> if (frameSize.height > screenSize.height) {</p><p> frameSize.height = screenSize.height;</p><p><b> }</b><
87、/p><p> if (frameSize.width > screenSize.width) {</p><p> frameSize.width = screenSize.width;</p><p><b> }</b></p><p> frame.setLocation((screenSize.wid
88、th - frameSize.width) / 2,</p><p> (screenSize.height - frameSize.height) / 2);</p><p> frame.setVisible(true);//顯示窗口</p><p> 5.3 登錄系統(tǒng)的實現(xiàn)</p><p> 在login模塊中,轉(zhuǎn)換到desig
89、n頁面,在框架中建立基本的組件,這時在source面板會自動生成相關(guān)的程序代碼,但是這些代碼并沒有實現(xiàn)相應(yīng)的功能,要使用監(jiān)聽器才能實現(xiàn)相應(yīng)的操作。在這里我的操作是,點擊“確定”按鈕,然后實現(xiàn)登錄操作,因此在“確定”按鈕上要監(jiān)聽的內(nèi)容是:在用戶姓名和密碼不為空的情況下,把連接“倉管員”這個表,按照提交的姓名和密碼來查找,如果表中有查找結(jié)果,即說明用戶名合法,可以登錄系統(tǒng),否則反饋錯誤信息。相關(guān)的代碼如下[1]:</p>&l
90、t;p> if(jTextField1.getText().length()!=0){//判斷是否輸入了姓名</p><p> con=whConnect1.makeCon();//定義連接</p><p> loginQuery="";</p><p> passwordTemp="";</p>
91、<p> for(int i=0;i<jPasswordField1.getPassword().length;i++)</p><p> passwordTemp+=jPasswordField1.getPassword()[i];//提取用戶輸入的密碼</p><p> loginQuery="SELECT 姓名,登錄密碼 FROM 職工 WHERE 姓
92、名=?";</p><p> pstmt=con.prepareStatement(loginQuery);</p><p> pstmt.setString(1,jTextField1.getText());</p><p> rs=pstmt.executeQuery();</p><p> if((!rs.next()
93、)||rs.getString("登錄密碼")==null){</p><p> JOptionPane.showMessageDialog(this,"查無此人!","錯誤",JOptionPane.ERROR_MESSAGE);</p><p> jPasswordField1.setText("");
94、</p><p><b> }</b></p><p><b> else{</b></p><p> if(!rs.getString("登錄密碼").equals(passwordTemp))</p><p> JOptionPane.showMessageDialo
95、g(this,"密碼錯誤!","錯誤",JOptionPane.ERROR_MESSAGE);</p><p> jPasswordField1.setText("");</p><p> 在whApp.java里面只是實現(xiàn)把登錄界面顯示出來,如果要主界面在登錄后顯示出來,需要添加代碼,把當(dāng)前的登錄界面關(guān)閉,并且顯示系統(tǒng)主界面
96、框架。其代碼如下:</p><p> mainFrame fr = new mainFrame();//mainFrame是系統(tǒng)主界面</p><p> this.dispose();//把當(dāng)前登錄窗口關(guān)閉</p><p> FrCenter FC = new FrCenter(fr);//把主界面置顯示屏中央顯示</p><p>
97、另外,為了方便使用鍵盤操作,添加鍵盤監(jiān)聽操作,使得在倉管員輸入密碼之后,按下ENTER鍵也能進入系統(tǒng),主要代碼和按鈕監(jiān)聽操作一樣,只需要添加下面一個if語句:</p><p> if (e.getKeyCode() == KeyEvent.VK_ENTER){};//判斷當(dāng)前鍵盤是否按下ENTER鍵</p><p> 5.4 系統(tǒng)主界面的實現(xiàn)</p><p>
98、 由于主界面框架并不是在建立應(yīng)用程序的時候建立的,需要另外新建。具體步驟為:選擇file→new菜單項,雙擊Frame圖標(biāo),在Frame name中輸入mainFrame,其他選擇默認(rèn)值,點擊finish即可創(chuàng)建一個新框架。</p><p> 在design頁面設(shè)置好相關(guān)的組件后就要對代碼實現(xiàn)各種功能。菜單主要使用javax.swing.jMenuBar這個菜單組件來實現(xiàn),當(dāng)點擊菜單的相關(guān)功能選項之后,就通過菜
99、單監(jiān)聽器來調(diào)用frCenter(Frame frame)類以顯示要連接的窗口并使之顯示在屏幕中央。各主界面顯示的功能實現(xiàn)如下:</p><p> 5.4.1 貨物數(shù)據(jù)查詢</p><p> 在主界面有一個對貨物的詳細(xì)信息的查詢功能,首先使用jdbTable組件顯示所有貨物的信息,然后再根據(jù)需要查詢某些貨物的信息,本系統(tǒng)只給出三個查詢條件:貨物名稱、貨物所存放的倉庫名稱、貨物的類型。為了
100、便于使用,查詢條件顯示所有已存在的數(shù)據(jù),用jComboBox這個組件來實現(xiàn),先把查詢條件相關(guān)的數(shù)據(jù)放到j(luò)ComboBox選項里,選定所需條件并點擊查詢按鈕后,jdbTable將更新顯示相關(guān)的數(shù)據(jù)查詢結(jié)果。其中jComboBox的設(shè)置代碼為:</p><p> queryStr1="SELECT distinct 貨物名稱 FROM dbo.貨物信息";//查詢語句</p>&l
101、t;p> stmt=con.createStatement();</p><p> rs1=stmt.executeQuery(queryStr1);//進行查詢</p><p> jComboBox1.addItem("");//初始值為空,因為數(shù)據(jù)表里有數(shù)據(jù)</p><p> while(rs1.next()){</p&g
102、t;<p> String GName = rs1.getString("貨物名稱");//獲得相關(guān)列名的數(shù)據(jù)</p><p> jComboBox1.addItem(GName);}//把數(shù)據(jù)放到j(luò)ComboBox里</p><p> 通過查詢條件更新數(shù)據(jù)表里的數(shù)據(jù),首先獲得當(dāng)前查詢條件,然后更新數(shù)據(jù)表,相關(guān)代碼如下:</p><
103、;p> if(jComboBox1.getSelectedItem()!="")</p><p> str1="SELECT * FROM dbo.貨物信息 WHERE 貨物名稱='"+String.valueOf(jComboBox1.getSelectedItem())+"'";</p><p>
104、if(jComboBox2.getSelectedItem()!=""){</p><p> if(str1!="")</p><p> str1=str1+" OR 存放倉庫='"+String.valueOf(jComboBox2.getSelectedItem())+"'";</
105、p><p><b> else</b></p><p> str1="SELECT * FROM dbo.貨物信息 WHERE 存放倉庫='"+String.valueOf(jComboBox2.getSelectedItem())+"'";}</p><p> if(jComboBox
106、3.getSelectedItem()!=""){</p><p> if(str1!="")</p><p> str1=str1+" OR 貨物類型='"+String.valueOf(jComboBox3.getSelectedItem())+"'";</p><p
107、><b> else</b></p><p> str1="SELECT * FROM dbo.貨物信息 WHERE 貨物類型='"+String.valueOf(jComboBox3.getSelectedItem())+"'";}</p><p> queryDataSet1.close();&l
108、t;/p><p> queryDataSet1.setQuery(new QueryDescriptor(database1,str1, null, true, Load.ALL));</p><p> jdbTable1.setDataSet(queryDataSet1);</p><p> 5.4.2 入庫登記實現(xiàn)</p><p>
109、與數(shù)據(jù)庫的連接原理跟前面一樣,都是通過輸入?yún)?shù),實現(xiàn)SQL語句。不同的是,這次是要向數(shù)據(jù)庫中插入新數(shù)據(jù)。如果貨物是有過記錄的,就是倉庫里還有同類的貨物,只是在數(shù)量上有所變化,則首先要在貨物信息里選擇相關(guān)的信息,然后把庫存數(shù)量更改,這里主要用到的java函數(shù)是preparStatement.executeUpdate();如果貨物是新的,之前沒有過任何相關(guān)的數(shù)據(jù)記錄,則需要添加相應(yīng)的數(shù)據(jù),同樣也是用到前面的那個java函數(shù)。這個模板同樣也
110、使用到方便實用的jComboBox組件把已有的貨物顯示到選項中,然后根據(jù)已有的貨物信息進行更新操作。</p><p> 5.4.3 出庫登記實現(xiàn)</p><p> 出庫登記模塊的實現(xiàn)跟入庫登記模塊的實現(xiàn)是基本一致的,主要是對出庫單進行修改操作,這里主要是實現(xiàn)貨物庫存數(shù)量上的更改,使用到的java函數(shù)也是prepareStatement.executeUpdate()。關(guān)于貨物的信息完全
111、不需要輸入,同樣使用方便實用的jComboBox組件把已有的貨物顯示到選項中,只需從已有的信息中選取則可,然后根據(jù)已有的貨物信息進行更新操作。</p><p> 5.4.4 移庫登記實現(xiàn)</p><p> 移庫登記模塊的實現(xiàn)跟出庫登記模塊的實現(xiàn)主要是修改貨物所在倉庫的數(shù)據(jù),在移庫單里把現(xiàn)在所在的庫位的代碼和名稱轉(zhuǎn)換為要移到的倉庫庫位代碼和名稱,使用到的java函數(shù)也是prepareSt
112、atement.executeUpdate()。代碼跟前面的類似,這里就不重復(fù)了。</p><p> 5.4.5 業(yè)務(wù)信息實現(xiàn)</p><p> 業(yè)務(wù)信息包含的內(nèi)容主要有顯示業(yè)務(wù)信息和更改業(yè)務(wù)信息,顯示業(yè)務(wù)信息的方法跟在主界面上實現(xiàn)貨物的信息查詢功能是一樣的,當(dāng)有業(yè)務(wù)信息要更新時,再添加相應(yīng)的業(yè)務(wù)信息。這里的業(yè)務(wù)信息是供貨商的信息和客戶商的信息,另外包含了倉庫職工的信息,在進行入庫、出
113、庫和移庫操作的時候,經(jīng)辦人可以是倉管員,也可以是倉庫其他職工,故把職工列為業(yè)務(wù)信息的一部分。</p><p> 首先在窗口中顯示目前的業(yè)務(wù)信息,當(dāng)有新的客戶產(chǎn)生時,就在相應(yīng)的位置插入新信息,主要用到的java函數(shù)也是prepareStatement.executeUpdate()。把相關(guān)數(shù)據(jù)插入到客戶信息表和職工信息表里。</p><p><b> 6 總結(jié)與展望</b
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 倉庫管理系統(tǒng)的設(shè)計與分析畢業(yè)論文
- 畢業(yè)論文---物資倉庫管理系統(tǒng)的分析與設(shè)計
- 倉庫管理系統(tǒng)的分析與實現(xiàn)[畢業(yè)論文]
- 倉庫管理系統(tǒng)設(shè)計畢業(yè)論文
- 倉庫管理系統(tǒng)的設(shè)計與開發(fā)【畢業(yè)論文】
- 畢業(yè)論文---倉庫管理系統(tǒng)的設(shè)計與實現(xiàn)
- 倉庫管理系統(tǒng)的設(shè)計畢業(yè)論文
- 倉庫貨物管理系統(tǒng)設(shè)計與實現(xiàn)畢業(yè)論文
- jsp倉庫管理系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文
- jsp倉庫管理系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文
- 倉庫管理系統(tǒng)后臺的設(shè)計與實現(xiàn)---畢業(yè)論文
- 倉庫管理系統(tǒng)畢業(yè)論文
- 倉庫管理系統(tǒng) 畢業(yè)論文
- 倉庫管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文-倉庫管理系統(tǒng)
- 畢業(yè)論文--倉庫管理系統(tǒng)
- 畢業(yè)論文--原材料倉庫管理系統(tǒng)的設(shè)計與實現(xiàn)
- 畢業(yè)論文--原材料倉庫管理系統(tǒng)的設(shè)計與實現(xiàn)
- 基于.net的倉庫管理系統(tǒng)系統(tǒng)倉庫管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文范文——倉庫管理系統(tǒng)的設(shè)計與實現(xiàn)
評論
0/150
提交評論