版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
PAGEPAGE34倉庫管理系統(tǒng)的設計與分析摘要隨著經(jīng)濟全球化和信息技術的迅速發(fā)展,物流業(yè)已成為經(jīng)濟領域中發(fā)展最快、最活躍、最具熱點的一個行業(yè)。作為物流業(yè)操作中比較繁瑣的一個重要環(huán)節(jié),倉儲運作的好壞將直接影響整個物流系統(tǒng)的成本與效率。而開發(fā)一個好的倉庫管理系統(tǒng),使用計算機進行倉儲管理,可以提高物流管理的現(xiàn)代化程序,加強管理的信息化手段,提高工作效率,增加企業(yè)效益;還可以實時掌握庫存最新動態(tài),方便查詢。本文在深入了解物流系統(tǒng)倉儲管理的各種方法和對倉庫管理工作流程進行分析的基礎上,抽象出倉庫管理系統(tǒng)的一般模式,設計并實現(xiàn)了倉庫管理系統(tǒng)。該系統(tǒng)采用C/S架構(gòu),以Borland公司的JBuilder2006軟件為開發(fā)平臺,用微軟公司的SQLServer2000作為后臺數(shù)據(jù)庫,以貨物查詢、貨物入庫、貨物出庫、貨物移庫等操作為核心,實現(xiàn)倉庫管理的信息化和自動化。本文著重介紹了倉庫管理系統(tǒng)的需求分析、實現(xiàn)的功能、業(yè)務流程、數(shù)據(jù)庫設計、系統(tǒng)功能模塊設計、設計等一系列開發(fā)流程。關鍵字C/S模式倉庫管理系統(tǒng)SQLServer2000Jbuilder2006
目錄1前言 11.1設計背景與意義 11.2設計目標 21.3系統(tǒng)開發(fā)環(huán)境 31.3.1系統(tǒng)配置 31.3.2開發(fā)工具 31.3.3準備工作 42系統(tǒng)分析 52.1系統(tǒng)需求分析 52.2系統(tǒng)功能分析 52.3數(shù)據(jù)庫需求分析 63系統(tǒng)總體設計 73.1數(shù)據(jù)庫設計 73.1.1實體關系圖(E-R圖)設計 73.1.2數(shù)據(jù)流圖 103.1.3創(chuàng)建數(shù)據(jù)庫 113.2系統(tǒng)設計 153.2.1系統(tǒng)功能結(jié)構(gòu)圖 153.2.2業(yè)務流程圖 164系統(tǒng)功能模塊設計 164.1登陸模塊 164.2倉庫管理系統(tǒng)模塊 174.2.1倉庫管理系統(tǒng)主界面模塊 174.2.2入庫登記模塊 184.2.3出庫登記模塊 194.2.4移庫登記模塊 194.2.5業(yè)務單位信息模塊 204.2.6業(yè)務查看模塊 215系統(tǒng)實現(xiàn) 225.1建立與數(shù)據(jù)庫連接的類 225.2建立把彈出窗口置屏幕中央的類 235.3登錄系統(tǒng)的實現(xiàn) 235.4系統(tǒng)主界面的實現(xiàn) 245.4.1貨物數(shù)據(jù)查詢 255.4.2入庫登記實現(xiàn) 265.4.3出庫登記實現(xiàn) 265.4.4移庫登記實現(xiàn) 265.4.5業(yè)務信息實現(xiàn) 276總結(jié)與展望 276.1總結(jié) 276.2展望 28致謝 29參考文獻 30Abstract: 31畢業(yè)設計成績評定表 321前言1.1設計背景與意義隨著經(jīng)濟全球化和信息技術的迅速發(fā)展,作為企業(yè)降低生產(chǎn)成本、提高核心競爭力、增加經(jīng)濟效益的“第三利潤源”——現(xiàn)代物流業(yè)正在世界范圍內(nèi)廣泛流行?,F(xiàn)代物流業(yè)泛指原材料、產(chǎn)成品從起點至終點以及相關信息有效流動的全過程。它將運輸、倉儲、裝卸、加工、整理、配送、信息等方面有機結(jié)合,形成完整的供應鏈,為用戶提供多功能、一體化的綜合性服務。我國自20世紀80年代初系統(tǒng)引進現(xiàn)代物流理論以來,科學技術的迅速發(fā)展以及加入世貿(mào)組織,我國的物流業(yè)得到了快速發(fā)展,全社會物流貨物總值大幅度增長。資料表明,物流業(yè)已成為我國經(jīng)濟領域中發(fā)展最快、最活躍、最具熱點的一個行業(yè)[4]。物流信息化建設隨著物流行業(yè)的發(fā)展而受到重視,物流信息化通過對現(xiàn)有生產(chǎn)資源、人力資源、物流資源的管理,實現(xiàn)資金流、物流與信息流的“三流”統(tǒng)一。通過使用現(xiàn)代管理方法,實現(xiàn)物流作業(yè)的自動化,達到提高物流服務水平和質(zhì)量的目的,大大提高了勞動生產(chǎn)效率?,F(xiàn)代物流系統(tǒng)應在新的經(jīng)營信息系統(tǒng)思想的指導下來設計物流信息系統(tǒng),依靠現(xiàn)代科學技術,在計劃、管理和控制以及作業(yè)環(huán)節(jié)等方面充分利用信息、快速反饋信息,為決策提供依據(jù)并輔助決策,提高物流效率和優(yōu)化供應鏈的信息系統(tǒng)?,F(xiàn)代物流信息系統(tǒng)的目的是在提高物流行業(yè)的效率并降低成本的同時,提高對顧客的服務水平[7]。在實際物流系統(tǒng)運作中,倉儲是比較繁瑣也比較重要的一個環(huán)節(jié),它聯(lián)結(jié)了生產(chǎn)者與客戶,其運作的好壞將直接影響整個物流系統(tǒng)的成本與效率。使用人工式管理各項貨品信息不僅效率低下,而且容易出錯,安全性很差。并且在實際操作中,數(shù)據(jù)的查找和維護都不容易實現(xiàn),容易發(fā)生差錯,導致管理費用的增加,服務質(zhì)量難以得到保證,從而影響企業(yè)的競爭力。隨著物流業(yè)的發(fā)展,其規(guī)模的擴大,倉儲將發(fā)揮越來越重要的作用。在物流信息管理系統(tǒng)中,高效方便的倉庫管理系統(tǒng),可以為生產(chǎn)經(jīng)營提供堅強的后盾和有力的支持。因而倉庫管理系統(tǒng)成為物流信息管理系統(tǒng)的一個必不可少的重要環(huán)節(jié),倉庫管理的信息化、計算機化已迫在眉捷。開發(fā)一個倉庫物流管理系統(tǒng)可以提高物流管理的現(xiàn)代化程序,加強管理的信息化手段,提高工作效率,增加企業(yè)效益;還可以實時掌握庫存最新動態(tài),方便查詢。1.2設計目標本倉庫管理系統(tǒng)的設計目標主要是提供一個倉儲業(yè)務及其作業(yè)管理的信息存儲和檢索平臺,通過系統(tǒng)管理、倉庫管理和業(yè)務信息管理等功能模塊來實現(xiàn)倉庫的綜合管理,旨在從倉庫的普遍特點出發(fā),有針對性地解決倉庫的日常管理等方面的問題,創(chuàng)建一套能夠通用于各物流企業(yè)中的倉庫管理系統(tǒng)[5]。本系統(tǒng)主要用的是模塊化設計,主要包含系統(tǒng)、倉庫管理、業(yè)務信息這幾個功能模塊。系統(tǒng)操作簡單,有計算機基礎的人無需培訓即可使用,即使是沒有計算機基礎的人只需經(jīng)過簡單的培訓就可以很熟練的使用本系統(tǒng)。系統(tǒng)運行后,用戶使用本系統(tǒng)時,不會也不必關心系統(tǒng)內(nèi)部的結(jié)構(gòu)及實現(xiàn)方法,即對用戶來說是透明的,所以本系統(tǒng)是定位在界面友好、操作方便、功能齊全的原則上的,用戶只需簡單的用鼠標點擊各界面上的選項卡或按鈕就能執(zhí)行相應的功能。通過開發(fā)倉庫管理系統(tǒng),至少可以實現(xiàn)以下的“六個有利”:1、有利于減少用在倉庫管理系統(tǒng)上的人力資源。2、有利于提高倉庫管理的效率。3、有利于用戶對倉庫貨物存儲的查詢、更新、修改等操作。4、有利于倉庫管理的保密性和安全性。5、有利于決策者從各種查詢表里獲得倉庫的總體情況。目標系統(tǒng)應該達到以下要求:1、時間經(jīng)濟性。優(yōu)化邏輯設計與物理設計,使系統(tǒng)運行效率高,反應速度快。2、可靠性。能連續(xù)準確的處理業(yè)務,有較強的容錯能力。3、可理解性。用戶容易理解和使用該系統(tǒng)。4、可維護性和適應性。系統(tǒng)應易于修改、易于擴充、易于維護,能夠適應業(yè)務不斷發(fā)展變化的需要。5、可用性。目標系統(tǒng)功能齊全,能夠完全滿足業(yè)務需求。6、安全保密性。保證系統(tǒng)的物理安全、數(shù)據(jù)存儲和存取的安全與保密、數(shù)據(jù)傳輸?shù)陌踩c保密,做好使用人員的授權(quán)管理。倉庫管理系統(tǒng)的建設目標是:按照倉庫管理信息的特點,利用倉庫管理系統(tǒng)平臺,圍繞著“數(shù)據(jù)庫、信息管理、應用”進行整體規(guī)劃,實現(xiàn)對倉庫信息的管理,實現(xiàn)對貨物信息的管理和對整體的倉庫存儲和業(yè)務信息進行統(tǒng)計,從而極大的提高了倉庫管理的效率。數(shù)據(jù)庫:創(chuàng)建在倉庫管理系統(tǒng)平臺使用的數(shù)據(jù)庫,管理員可以查詢倉庫管理的各項信息數(shù)據(jù)。信息管理:管理員可以對倉庫進行分類查詢,可以對倉庫貨物數(shù)據(jù)進行增加、修改、刪除等,方便管理員對倉庫的貨物進行管理。應用:倉庫管理系統(tǒng)的匯總表可以讓我們了解整個倉庫的運作,從而為物流管理提供各種信息,有利于提高物流系統(tǒng)的總體水平。1.3系統(tǒng)開發(fā)環(huán)境1.3.1系統(tǒng)配置WindowsXP作為當今最為普及的操作系統(tǒng),具有簡單、容易操作、穩(wěn)定強大的特點。一方面考慮目前微軟的飛速發(fā)展,越來越多的企業(yè)在規(guī)劃內(nèi)部網(wǎng)絡時,將微軟平臺作為首選方案;另一方面從技術角度來講,微軟平臺上的應用無論是在開發(fā)上,還是在軟件的部署上都非常容易,而且性能優(yōu)越。1.3.2開發(fā)工具JBuilder是目前最好的Java開發(fā)工具之一,在協(xié)同管理、對J2EE和XML的支持等方面都非常的優(yōu)秀,它的這些特性是其他同類產(chǎn)品無法比擬的。同時它在Applet和EJB開發(fā)方面也具有獨特的優(yōu)勢,使得它在J2EE工程開發(fā)界具有獨特的優(yōu)勢,成為目前最流行的Java開發(fā)工具之一。一般來講Jbuilder提供了企業(yè)數(shù)據(jù)庫的動態(tài)鏈接,可以開發(fā)出基于網(wǎng)絡的動態(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的主要特性包括四個方面:·Tomcat組件的集成:Tomcat組件是業(yè)界公認的優(yōu)秀的網(wǎng)絡開發(fā)軟件,Jbuilder和它集成,大大方便了Java在網(wǎng)絡和數(shù)據(jù)庫分布計算方面的應用,使得Java的Web開發(fā)更容易。·企業(yè)信息化應用的開發(fā)功能:可以據(jù)此集成多種應用服務器,大大方便了Java在企業(yè)信息化方面的應用。提高了企業(yè)信息化的水平,促進了Java在工程界的廣泛應用?!し浅:唵蔚某绦虬l(fā)布功能:只需簡單的步驟便可將自己的程序打包進行發(fā)布,大大方便了用戶使用和發(fā)布自己的程序。·由于在現(xiàn)在的軟件開發(fā)中團隊合作是最重要的,Jbuilder就提供了團隊開發(fā)能力,可以集成多種版本控制產(chǎn)品,方便了不同層次的用戶使用。Jbuilder是按照SUN公司提供J2EE標準來構(gòu)筑的,它是一個遵循J2EE標準的可視化集成開發(fā)環(huán)境,目前在業(yè)界具有廣泛的用戶,成為一個處于市場領先地位的跨平臺環(huán)境,主要用于構(gòu)建一些具有行業(yè)實力的企業(yè)Java小程序,如為企業(yè)信息化而產(chǎn)生的客戶前臺瀏覽界面,為特定的用戶開發(fā)一些專業(yè)的程序包和特定的類庫。JBuilder繼承了Borland公司開發(fā)工具系列的優(yōu)秀特性,繼承了許多Delphi和C++Builder產(chǎn)品的優(yōu)秀特性,這使得用過這兩種產(chǎn)品的用戶很容易的就可以過渡到JBuilder的開發(fā)環(huán)境當中,熟練的開發(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ā)布。SQLServer在管理企業(yè)信息方面最靈活和最經(jīng)濟高效。在盡可能提高服務質(zhì)量的同時削減了管理成本。除極大地提高質(zhì)量和性能以外,SQLServer作為微軟公司的數(shù)據(jù)庫產(chǎn)品,能夠和絕大多數(shù)建立在WindowsXP平臺上的軟件兼容,具有很強的兼容性,并且SQLServer本身功能也十分強大,其中還有SQL查詢分析器、SQLServer服務管理器、企業(yè)管理器等功能強大的工具,所以我選擇SQLServer作為我們的的后臺數(shù)據(jù)庫。1.3.3準備工作JDBC(JavaDatabaseConnectivity,Java數(shù)據(jù)庫連接性)是一種可用于執(zhí)行SQL語句的JavaAPI(ApplicationProgrammingInterface,應用程序設計接口)。它由一些Java語言編寫的類和接口組成。JDBC給數(shù)據(jù)庫應用開發(fā)人員、數(shù)據(jù)庫前臺工具開發(fā)人員提供了一種標準的應用程序設計接口,使開發(fā)人員可以用純Java語言編寫完整的數(shù)據(jù)庫應用程序。通過使用JDBC,開發(fā)人員可以很方便地將SQL語句傳送給幾乎任何一種數(shù)據(jù)庫。不但如此,使用Java編寫的應用程序可以在任何支持Java的平臺上運行,不必在不同的平臺上編寫不同的應用。在Java語言中的JDBCAPI主要用來連接數(shù)據(jù)庫和直接調(diào)用SQL命令執(zhí)行各種SQL語句,使用JDBCAPI可以很容易地把SQL語句傳送到任何關系型數(shù)據(jù)庫中,利用JDBCAPI可以執(zhí)行一般的SQL語句、動態(tài)SQL語句以及帶IN和OUT參數(shù)的存儲過程。JDBCAPI是數(shù)據(jù)庫應用的基礎,它建立了Java語言數(shù)據(jù)庫應用程序同各種不同數(shù)據(jù)庫的溝通機制。由于我使用的是SQLServer2000數(shù)據(jù)庫系統(tǒng),在使用JBuilder連接SQLServer數(shù)據(jù)庫之前首先要進行數(shù)據(jù)庫連接,這就需要安裝驅(qū)動程序,在這里采用MicrosoftSQLServer2000DriverforJDBC驅(qū)動來進行SQLServer和系統(tǒng)的連接。由于SQLServer2000版本比較低,需要安裝補丁MicrosoftSQLServer2000sp3的chs_sql2ksp3.exe安裝文件。這一切完成之后就可以為JBuilder2006配置JDBC驅(qū)動了,只有把這些前期工作完成之后才可以對JBuilder和數(shù)據(jù)庫進行連接,因此是很必要的。2系統(tǒng)分析2.1系統(tǒng)需求分析經(jīng)過前面的初步調(diào)研分析,總結(jié)出物流的倉庫管理工作具有以下特點:在倉庫管理中存在帳目品種雜、重復次數(shù)多的問題,如果倉庫對所有信息的管理均以手工完成,即由資料管理員以各種記錄臺帳方式完成信息的登記,在需要某種信息的時候查找臺帳記錄,很明顯,這種工作方法效率低下,信息保存的準確性、安全性難以保證,信息查詢的快速性、完整性也難以保證,致使管理工作費人,費時,費力,繁瑣枯燥,效率低下[6]。因此實現(xiàn)倉庫管理的計算機化迫在眉睫,本系統(tǒng)是集倉庫管理、貨物管理、倉庫貨物進出庫管理、客戶統(tǒng)計、進出庫統(tǒng)計等功能于一體的綜合性倉儲管理系統(tǒng)。支持多種類型的入庫、出庫、補貨方式,同時支持多種查詢方式和全面的日志管理,因此可應用于物流業(yè)的單體倉庫精細化管理??梢暂p松解決物流企業(yè)在倉庫管理、貨物流動分析等一系列問題,迅速提高物流企業(yè)對倉庫經(jīng)營管理水平、穩(wěn)固客戶群,增加經(jīng)濟效益,以最小的投資獲得雙盈的優(yōu)秀管理。幫助生產(chǎn)企業(yè)、分公司、分銷商、代理商、商場、商店等之間建立起一套完善、高效、具有快速反應能力和管理能力的業(yè)務平臺,可以極大的提高企業(yè)競爭力,為企業(yè)創(chuàng)造價值。2.2系統(tǒng)功能分析本系統(tǒng)是針對物流業(yè)倉庫的貨物信息和出入庫記錄進行管理,倉庫管理系統(tǒng)的核心在于貨物入庫、貨物出庫和庫存管理三者,因此倉庫管理系統(tǒng)的用戶包括倉庫管理員和系統(tǒng)管理員。倉庫管理系統(tǒng)主要完成貨物倉庫的庫存管理,由于倉庫管理設計的功能較多,在這里我設計的是一個簡單的倉庫管理系統(tǒng),主要包括系統(tǒng)登錄、系統(tǒng)主界面、貨物庫存信息查詢、貨物入庫登記、貨物出庫登記、貨物移庫登記、業(yè)務信息管理等7個功能模塊:系統(tǒng)登錄:在倉庫管理系統(tǒng)中,登錄模塊是非常重要的,它是整個倉庫管理系統(tǒng)的基礎,只有通過了此登錄界面的認可,才能夠進入庫存管理系統(tǒng)。正確的執(zhí)行庫存管理的功能。登錄部分實現(xiàn)對倉管員登錄的驗證、標志,從而為相對應用戶的操作提供依據(jù)。系統(tǒng)主界面:該模塊實現(xiàn)系統(tǒng)的主界面功能,在這個界面中可以進入倉庫管理系統(tǒng)的全部分支功能子界面。包括倉管員信息界面、貨物入庫登記界面、貨物出庫登記界面、貨物移庫登記界面、供應商和客戶商信息界面等等一些界面。貨物庫存信息查詢:倉管員登錄就能看到系統(tǒng)主界面顯示的的庫存信息,還可以按照各種情況對貨物的庫存信息進行查詢。這樣能方便快速地了解貨物的情況,進而快速地解決貨物的流通。貨物入庫登記:入庫登記也是倉庫管理系統(tǒng)的主要功能模塊,當一個公司的倉庫進貨時,通常需要進入這個表格的填寫界面,輸入正確的貨物信息,完成貨物信息的錄入。倉管員負責對貨物入庫信息的管理,通過修改已有貨物的信息和添加新貨物的信息來進行操作。貨物出庫登記:出庫信息是和入庫信息管理相對應的系統(tǒng)界面,當一個公司將自己的產(chǎn)品推銷出去時,就要進入這個表格的填寫界面,輸入正確的貨物信息,完成貨物信息的錄入。倉管員負責對貨物出庫信息的管理,倉管員可以查看貨物詳細信息,以及進行貨物搜索操作。貨物移庫登記:移庫是對已有貨物的信息進行修改的一個操作,在貨物位置需要調(diào)整時,倉管員對相應的移庫操作進行貨物信息的修改。業(yè)務信息:這個功能模塊的設定是為公司的企業(yè)業(yè)務發(fā)展需要而設立的,它和公司的供貨單位、信息登記模塊一起,組成公司業(yè)務模塊。以上是用戶對系統(tǒng)的基本的功能要求,此外還要求系統(tǒng)的效率要高,查詢速度要快,比較小的冗余,易維護,具有較高的數(shù)據(jù)安全性。2.3數(shù)據(jù)庫需求分析在庫存管理系統(tǒng)中包括貨物、倉庫庫位、倉管員、職工、供應商、客戶商等等實體。其中倉管員屬于職工的一種,每個庫位都屬于某個倉庫。系統(tǒng)的核心關系是庫存移動,庫存移動包括貨物出入庫和貨物移庫等操作。涉及到某個職工作為外部的經(jīng)手人,每次庫存移動都必然有貨物的來源供應商和去向客戶商。作為一個簡化的模型,沒有考慮貨物的來源和去向涉及到組織意外的部門和人員的情況。具體實體貨物信息分析如下:貨物:貨物代碼、貨物名稱、貨物類型、存放庫位、庫存總量、計量單位、入庫單價、入庫時間、供應商、備注。倉庫庫位:倉庫代碼、倉庫名稱、庫位代碼、庫位名稱、貨物類型、倉庫容量、備注。倉管員:ID號、姓名、登錄密碼、姓名、聯(lián)系電話??蛻粜畔ⅲ嚎蛻舸a、客戶名稱、聯(lián)系人、聯(lián)系電話、聯(lián)系地址、電子郵箱。貨物類型:類型代碼、類型名稱。部門信息:部門代碼、部門名稱。入庫單:入庫單編號、貨物名稱、存放倉庫、入庫時間、入庫數(shù)量、入庫單價、供應商、經(jīng)辦人。出庫單:出庫單編號、貨物名稱、存放倉庫、出庫時間、出庫數(shù)量、出庫單價、客戶商、經(jīng)辦人。移庫單:移庫單編號、貨物名稱、原庫位名稱、現(xiàn)庫位名稱、移庫時間、移庫數(shù)量、經(jīng)辦人。3系統(tǒng)總體設計3.1數(shù)據(jù)庫設計3.1.1實體關系圖(E-R圖)設計根據(jù)上面需求分析可知,庫存管理系統(tǒng)主要涉及三個實體類型,包括:公司的相關職工、公司的貨物、倉庫管理系統(tǒng)的系統(tǒng)界面,這三類共同構(gòu)成系統(tǒng)的相關參與類型[2]。三個關系類型:一個是相關職工和貨物信息之間的關系是m:n;一個是系統(tǒng)界面和貨物信息之間的關系1:n;最后一個是相關職工和系統(tǒng)界面之間的關系1:n。從而得出的實體有倉管員信息實體、貨物實體、倉庫庫位實體、庫存實體。各個實體的E—R圖及其關系描述如下工號工號姓名聯(lián)系電話ID號登錄密碼倉管員圖1倉管員實體關系圖貨物貨物所在庫位貨物名稱貨物代碼入庫數(shù)量入庫時間購入單價貨物單位貨品所屬類型備注庫存數(shù)量圖2貨物實體關系圖倉庫庫位倉庫庫位庫存總量倉庫代碼倉庫名稱庫位代碼存儲貨物庫位名稱圖3倉庫庫位實體關系圖貨品庫存貨品庫存貨品詳細信息貨品入庫貨品出庫庫存圖4庫存實體關系圖倉管員倉管員入庫庫存出庫移庫ID號姓名聯(lián)系電話工號貨物名稱貨物代碼入庫數(shù)量入庫時間購入單價貨物單位貨物所屬類型備注信息庫存數(shù)量出庫表標識貨品類別標識客戶商出庫數(shù)量出庫時間批準人姓名備注移庫時間貨物名稱原倉庫庫位貨物代碼移庫數(shù)量貨物庫存貨物詳細信息貨物入庫貨物出庫登錄密碼圖5倉庫管理系統(tǒng)實體關系圖倉管員倉管員入庫庫存出庫圖6實體間的實體關系圖3.1.2數(shù)據(jù)流圖數(shù)據(jù)流圖表達了數(shù)據(jù)和處理的關系,是描述系統(tǒng)的邏輯模型的,圖中沒有任何具體的物理元素,只是描述信息在系統(tǒng)中流動和處理的情況,它比口頭與文字的描述更直觀地顯示出來系統(tǒng)中數(shù)據(jù)的使用。數(shù)據(jù)流圖簡稱DFD圖,數(shù)據(jù)流圖有四種成分:源點或終點、處理、數(shù)據(jù)存儲表和數(shù)據(jù)流。圖中沒有任何具體的物理元素,只是描述信息在系統(tǒng)中的流動和處理情況,即使不是專業(yè)的計算機技術人員也容易理解,是極好的理解工具。它能精確的描述系統(tǒng)的邏輯模型,描述數(shù)據(jù)在管理信息系統(tǒng)中有輸入經(jīng)過存儲、加工處理最后輸出的全過程,是設計者和用戶交流的很好的工具。根據(jù)用戶的需求分析和倉庫管理系統(tǒng)的需求,得出如下圖7所示的倉庫管理數(shù)據(jù)流圖。查看貨品信息查看貨品信息刪除貨品信息貨品出庫修改倉管員信息查看庫存記錄貨品清單查看倉管員信息倉管員登錄修改貨品信息新貨入庫刪除分類修改分類添加分類倉庫管理貨品分類圖7倉庫管理系統(tǒng)數(shù)據(jù)流圖3.1.3創(chuàng)建數(shù)據(jù)庫數(shù)據(jù)庫的創(chuàng)建主要是邏輯結(jié)構(gòu)設計和物理結(jié)構(gòu)設計的結(jié)果,在計算機系統(tǒng)上建立實際的數(shù)據(jù)庫結(jié)構(gòu)、導入數(shù)據(jù)并進行程序的調(diào)試。它相當于軟件工程中的代碼編寫和程序調(diào)試的階段。在SQLServer2000中生成了如下所示的表。貨物屬性表記錄倉庫管理所有貨物的各種參數(shù)和相關信息[8]。在系統(tǒng)中只有管理員能對貨物屬性進行刪除、插入、更新。詳細信息見表1。表1貨物屬性表字段名稱數(shù)據(jù)類型大小說明貨物代碼Varchar8主鍵貨物名稱Varchar20貨物的名稱貨物類型Varchar10貨物所屬分類庫存總量Int4貨物的庫存總量入庫單價Float8貨物購入時的單價計量單位Varchar4貨物的計量單位存放倉庫Varchar20貨物所存放的倉庫名稱入庫時間Datetime8貨物入庫時間供應商Varchar20提供貨物的公司名稱備注Varchar30備注信息倉庫信息表保存了一個組織所有倉庫的名稱和所有倉庫中的相關信息。倉庫和倉庫庫存信息的變更也只能由倉管員進行操作。本表的主鍵應該是倉庫代碼,但是為了保證主鍵的唯一性,新增了一個字段倉庫庫位代碼,這樣的倉庫庫位代碼也唯一決定了一個庫位,同時在其他表中需要使用倉庫庫位信息的字段也可以使用倉庫庫位代碼,詳細信息見表2。倉管員信息表保存了所有倉管員的信息,在庫存管理系統(tǒng)中需要使用倉管員信息表,這個系統(tǒng)是簡化了的管理系統(tǒng),只設定倉管員為唯一使用倉庫管理系統(tǒng)的職工,所以就不設定權(quán)限,也就是所有的倉管員都可以使用系統(tǒng)中的各種功能,其詳細信息見表3??蛻粜畔⒈肀4媪怂泄┴浬毯涂蛻羯痰男畔?,在庫存管理系統(tǒng)中需要使用供貨商和客戶商信息表來補充貨物的信息,也方便倉庫的管理運作??蛻粜畔压毯涂蛻羯痰男畔⒍技系揭粋€表,這樣做的原因是,有些供貨商同時也可能是客戶商,為了消除冗余,把所有的客戶都記錄到一張表上。詳細信息見表4。表2倉庫信息表字段名稱數(shù)據(jù)類型大小說明倉庫代碼Varchar8主鍵倉庫名稱Varchar20倉庫的名稱庫位代碼Varchar8庫位代碼,主鍵庫位名稱Varchar20庫位的名稱貨物類型Varchar20所儲存的貨物類型庫存總量Int4所儲存的貨物總量表3倉管員信息表字段名稱數(shù)據(jù)類型大小說明ID號Varchar8主鍵倉管員姓名Varchar20倉管員姓名登錄密碼Varchar10倉管員的登錄密碼聯(lián)系電話Varchar15倉管員的聯(lián)系電話工號Varchar10倉管員的工作號貨物類型是指明貨物所屬的類別,有時候倉庫里要存儲的貨物很多,類別不一,貨物類型表的創(chuàng)建可以先存儲各種貨物類型,在添加新貨物的時候,只需在貨物類型表里選取就可以,大大方便了貨物入庫的效率。貨物類型表的詳細信息入表5。入庫單主要保存所有的入庫操作,包括貨物名稱、倉庫名稱、入庫時間、入庫數(shù)量等,入庫單便于倉管員對入庫貨物的查詢,保證貨物的保存正確,而且也保證了入庫貨物的保存安全,對之后的出庫操作、移庫操作都有很大的幫助,詳細信息見表6。出庫單起著和和入庫單一樣的功效,方便記錄所有的貨物出庫操作,從而方便對數(shù)據(jù)的統(tǒng)計,便于更新貨物的數(shù)量,同時也是一項對貨物操作的安全保證。主要包括了貨物名稱、倉庫名稱、出庫時間、出庫數(shù)量等。詳細信息見表7。表4客戶信息表字段名稱數(shù)據(jù)類型大小說明客戶代碼客戶名稱Varchar10主鍵Varchar20貨物來去的單位名聯(lián)系人Varchar10單位的相關人事聯(lián)系電話Varchar15單位的聯(lián)系電話聯(lián)系地址Varchar50單位的所在地電子郵箱Varchar30單位的郵箱地址表5貨物類型表字段名稱數(shù)據(jù)類型大小說明類型代碼Varchar8主鍵類型名稱Varchar10貨物類型的名稱表6入庫單表字段名稱數(shù)據(jù)類型大小說明入庫單編碼Varchar15主鍵貨物名稱Varchar20入庫貨物的名稱存放倉庫Varchar20入庫時的存放庫位入庫時間Datetime8新貨物的入庫時間入庫數(shù)量Int4貨物的入庫數(shù)量入庫單價Float8貨物的入庫單價供應商Varchar20提供貨物的來源地經(jīng)辦人Varchar20入庫的經(jīng)辦人和出庫單的重要性一樣,移庫單的建立也是為了保證貨物操作的安全,同時也便于貨物出庫等操作,主要包含的信息是貨物名稱、庫位名稱、移庫時間、移庫數(shù)量。移庫單的詳細信息見表8。數(shù)據(jù)庫試運行合格后,數(shù)據(jù)庫開發(fā)工作就基本完成,即可投入正式運行了。但是,由于應用環(huán)境在不斷變化,數(shù)據(jù)庫運行過程中物理存儲也會不斷變化,對數(shù)據(jù)庫設計進行評價、調(diào)整、修改等維護工作是一個長期的任務,也是設計工作的繼續(xù)和提高。表7出庫單表字段名稱數(shù)據(jù)類型大小說明出庫單編碼Varchar8主鍵貨物名稱Varchar20出庫貨物的名稱存放倉庫Varchar20貨物的所在庫位出庫時間Datetime8貨物的出庫時間出庫數(shù)量Int4貨物的出庫數(shù)量出庫單價Float8貨物的出庫單價客戶商Varchar20提取貨物的單位經(jīng)辦人Varchar20辦理出庫的經(jīng)辦人表8移庫單表字段名稱數(shù)據(jù)類型大小說明移庫單編碼Varchar15主鍵貨物名稱Varchar20進行移庫的貨物原庫位名稱Varchar20貨物現(xiàn)在的庫位現(xiàn)庫位名稱Varchar20貨物的目的庫位移庫時間Datetime8貨物的移庫時間移庫數(shù)量Int4進行移庫的貨物量經(jīng)辦人Varchar20辦理移庫的經(jīng)辦人在數(shù)據(jù)庫運行階段,對數(shù)據(jù)庫經(jīng)常性的維護工作主要是由DBA(DatabaseAdministrator)完成的,包括:(1)數(shù)據(jù)庫的轉(zhuǎn)儲和恢復——DBA要針對不同的應用要求制定不同的轉(zhuǎn)儲計劃,一保證一旦發(fā)生故障能盡快將數(shù)據(jù)庫恢復到某種一致的狀態(tài),并盡可能減少對數(shù)據(jù)庫的破壞。(2)數(shù)據(jù)庫的安全性、完整性控制——DBA根據(jù)實際情況修改原有的安全性控制和數(shù)據(jù)庫的完整性約束條件,以滿足用戶要求。(3)數(shù)據(jù)庫性能的監(jiān)督、分析和改造——在數(shù)據(jù)庫運行過程中,DBA必須監(jiān)督系統(tǒng)運行,對監(jiān)測數(shù)據(jù)進行分析,找出改進系統(tǒng)性能的方法。(4)數(shù)據(jù)庫的重組織與重構(gòu)造——數(shù)據(jù)庫運行一段時間后,由于記錄不斷增、刪、改,會使數(shù)據(jù)庫的物理存儲情況變壞,降低了數(shù)據(jù)的存取效率,數(shù)據(jù)庫性能下降,這時DBA就要對數(shù)據(jù)庫進行重組織或部分重組織。3.2系統(tǒng)設計3.2.1系統(tǒng)功能結(jié)構(gòu)圖系統(tǒng)的概要設計中最重要的就是系統(tǒng)的模塊化。模塊化是指解決一個復雜問題時自項向下逐層把軟件系統(tǒng)劃分成若干個模塊的過程。每個模塊完成一個特定的功能,所有的模塊按某種方法組織起來,成為一個整體,完成整個系統(tǒng)所要求的功能。根據(jù)系統(tǒng)功能的需求分析和企業(yè)倉庫管理的特點,經(jīng)過模塊化的分析得到系統(tǒng)功能模塊結(jié)構(gòu)圖。倉庫管理系統(tǒng)倉庫管理系統(tǒng)系統(tǒng)管理庫存管理業(yè)務信息退出系統(tǒng)倉管員信息移庫登記出庫登記入庫登記貨物管理客戶商信息供應商信息員工信息業(yè)務查看移庫單查看出庫單查看入庫單查看圖8系統(tǒng)功能結(jié)構(gòu)圖將系統(tǒng)劃分為多個模塊是為了降低軟件系統(tǒng)的復雜性,提高可讀性、可維護性,但模塊的劃分不能是任意的,應盡量保持其獨立性。也就是說,每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單,即盡量做到高內(nèi)聚低耦合,提高模塊的獨立性,為設計高質(zhì)量的軟件結(jié)構(gòu)奠定基礎。系統(tǒng)功能結(jié)構(gòu)圖詳細信息如圖8所示。3.2.2業(yè)務流程圖開始開始登錄界面系統(tǒng)主界面貨物信息查詢倉管員信息查看和修改貨物入庫登記貨物出庫登記貨物移庫登記業(yè)務信息查詢和修改選擇貨物信息查詢倉管員信息貨物入庫登記貨物出庫登記貨物移庫登記業(yè)務信息查看退出系統(tǒng)圖9業(yè)務流程圖程序流程圖又稱為程序框圖,它是歷史悠久使用最廣泛的描述軟件設計的方法。該系統(tǒng)的程序流程圖如圖9所示:4系統(tǒng)功能模塊設計4.1登陸模塊在倉庫管理系統(tǒng)中,登錄界面是非常重要的,它是整個倉庫管理系統(tǒng)的基礎,只有通過此登錄界面的認可,才能夠進入庫存管理系統(tǒng),正確的執(zhí)行庫存管理的功能[3]。對應的界面如圖10所示。圖10登錄界面在此窗口中倉管員必須輸入正確的姓名和密碼,才能進入系統(tǒng)主界面,事先將倉管員的姓名和密碼以及ID號存在一個SQLServer數(shù)據(jù)庫倉管員中,當倉管員登錄系統(tǒng)時,系統(tǒng)將用戶輸入的姓名和密碼與數(shù)據(jù)庫中事先存放的姓名和密碼進行比較,如果相同,則進入系統(tǒng)主界面,否則提示用戶輸入錯誤或者提示此用戶不存在。4.2倉庫管理系統(tǒng)模塊4.2.1倉庫管理系統(tǒng)主界面模塊在系統(tǒng)主界面中,可以完成此系統(tǒng)的全部功能,包括貨物信息查詢,貨物入庫信息登記處理,貨物出庫信息登記處理,貨物移庫登記處理,業(yè)務信息查詢等等一些界面。系統(tǒng)設計目標是通過一系列菜單驅(qū)動來完成相應的子界面創(chuàng)建和管理。如圖11所示,在倉庫管理系統(tǒng)中,主要包括以下幾個方面的功能模塊,其中每個功能模塊又分別由2~3個功能來完成。在庫存管理模塊中,主要包括倉庫盤存和退出系統(tǒng)兩個功能。在入庫管理模塊中,主要包括入庫登記管理功能。在出庫管理模塊中,主要包括出庫登記管理功能。在業(yè)務信息模塊中,主要包括具體經(jīng)辦人和倉庫信息統(tǒng)計兩個功能。在業(yè)務單位模塊中,包括供貨商和客戶商兩個功能。選擇不同的菜單進入不同的庫存管理子界面,完成相應的功能系統(tǒng)主界面采用Java中的Frame技術。圖11倉庫管理系統(tǒng)主界面4.2.2入庫登記模塊圖12入庫登記界面入庫登記模塊也是倉庫管理系統(tǒng)的主要功能模塊,當一個公司的倉庫進貨時,我們通常需要進入這個表格填寫界面,輸入正確的貨物信息,完成貨物信息的錄入,對應的倉庫入庫登記信息子界面,如圖12所示。在倉庫管理系統(tǒng)入庫登記信息主界面中,必須輸入正確的入庫登記信息,包括入庫日期和入庫單號,以及貨物代碼、庫存數(shù)量、供貨客戶和經(jīng)辦人信息等一些關于貨物入庫的詳細信息。4.2.3出庫登記模塊出庫登記是和入庫登記相對應的系統(tǒng)模塊,當一個公司將自己的產(chǎn)品銷售出去的時候,就要進入這個系統(tǒng)界面來完成對公司產(chǎn)品出庫信息進行詳細的記錄,這個也是倉庫管理系統(tǒng)的重要功能之一。對應的系統(tǒng)界面如圖13所示。在倉庫管理系統(tǒng)的出庫登記信息主界面中,必須輸入正確的出庫登記信息,包括出庫日期和出庫單號,以及貨物代碼、出庫數(shù)量、收貨單位和經(jīng)辦人信息等一些關于貨物出庫的詳細信息。圖13出庫登記界面4.2.4移庫登記模塊移庫登記模塊也是系統(tǒng)管理的一個重要模塊,當貨物的性質(zhì)發(fā)生變化,或者倉庫位置需要改動的時候,貨物想相關信息也需要改變,這時就要進行貨物移庫處理,進行移庫登記,方便改動相關的貨物信息。對應的系統(tǒng)界面如圖14所示。在倉庫管理系統(tǒng)的移庫登記信息主界面中,必須輸入正確的移庫登記信息,包括移庫日期和移庫單號,以及貨物代碼、移庫數(shù)量、原倉庫信息和移庫的倉庫信息等一些關于貨物移庫的詳細信息。圖14移庫登記界面4.2.5業(yè)務單位信息模塊圖15供應商信息界面這個模塊包括兩個功能模塊:一個是供貨單位信息的統(tǒng)計,一個是收貨單位信息的統(tǒng)計。這兩個功能模塊的實現(xiàn)方法基本相似,在此重點介紹供貨單位信息模塊的實現(xiàn)。在本次系統(tǒng)開發(fā)中,用到的供貨單位信息界面如圖15所示。倉庫管理系統(tǒng)中的供貨單位信息用來統(tǒng)計公司倉庫和公司有業(yè)務來往的企業(yè)信息,通過這些信息的正確統(tǒng)計,可以幫助企業(yè)建立一個豐富的企業(yè)信息資料庫,為公司以后業(yè)務的順利展開服務,提高公司的業(yè)務業(yè)績。在系統(tǒng)供貨商信息登記表中,主要完成的功能是等級供貨單位的信息。方便公司業(yè)務的開展,是倉庫管理系統(tǒng)的重要功能之一。4.2.6業(yè)務查看模塊圖16入庫單信息查看業(yè)務查看模塊是倉庫管理系統(tǒng)的重要管理模塊,主要有三個模塊組成,分別是倉庫貨物入庫單、出庫單和移庫單統(tǒng)計的功能。在這里,重點介紹入庫單信息模塊。這個模塊的主要功能就是記錄倉庫貨物入庫所有單張的詳細信息,包括不同日期、不同貨物、不同經(jīng)辦人所辦理的入庫單張的一些詳細信息。詳細如圖16所示。在系統(tǒng)倉庫經(jīng)辦人員信息登記模塊中,主要功能是顯示所有相關貨物入庫單的信息,方便公司業(yè)務的查看與修改,是倉庫管理系統(tǒng)的重要功能之一。5系統(tǒng)實現(xiàn)由于實現(xiàn)這個系統(tǒng)的軟件是JBuilder2006,主要的編程語言是Java語言,數(shù)據(jù)庫實現(xiàn)語言是SQL(StructuredQueryLanguage)。實現(xiàn)過程主要圍繞這些編程知識進行,同時也圍繞交互界面友好這個創(chuàng)建系統(tǒng)要素進行。首先在JBuilder2006主界面中創(chuàng)建一個命名為warehouse的工程,然后在該工程中創(chuàng)建一個命名為whApp的應用程序和命名為login的Frame(框架),這時會自動生成一個whApp.java文件和一個login.java文件。完成應用程序的創(chuàng)建之后,分別創(chuàng)建主界面Frame、貨物入庫登記Frame、貨物出庫登記Frame等等操作。當運行時,系統(tǒng)首先運行whApp.java文件,由whApp.java調(diào)用login.java,從而彈出登錄窗口。通過登錄窗口進入系統(tǒng)主界面。然后在主界面可以通過菜單選項選擇相應的功能模塊進行系統(tǒng)管理,具體實現(xiàn)過程如下。5.1建立與數(shù)據(jù)庫連接的類由于系統(tǒng)在每個頁面要使用數(shù)據(jù)的時候都要建立與數(shù)據(jù)庫的連接,則有很多代碼是重復的,這里我先建立一個連接數(shù)據(jù)庫的類whConnect,然后在要使用數(shù)據(jù)庫的地方,創(chuàng)建一個whConnect對象即可。當然,如果查詢或修改數(shù)據(jù)庫的工作在不同的頁面只是參數(shù)不同而已,也應該建立一個Query類。這里只建立一個連接數(shù)據(jù)庫的類,這樣做的好處是,如果連接數(shù)據(jù)庫的用戶名或者密碼變化了,只需要修改這一個文件。下面首先來建立whConnect類,這里使用ClassWizard來創(chuàng)建應用程序,實現(xiàn)步驟為:選擇file→new菜單項,雙擊Class圖標,在Classname中輸入whConnect,其他選擇默認值,點擊finish即可創(chuàng)建一個新類。在新類的source頁面中添加代碼即可。具體如下:先在開始的位置添加的SQL包importjava.sql,這是所有要使用到數(shù)據(jù)庫的java應用程序都要添加的包,下面就不再重復敘述。然后為每個調(diào)用該類的對象注冊驅(qū)動程序:Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");在whConnect類中,創(chuàng)建一個連接數(shù)據(jù)庫的方法makeCon(),當調(diào)用這個方法時,系統(tǒng)將連接相應的數(shù)據(jù)庫,并返回一個connection對象:try{url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=warehouse";username="sa";password="sa";con=DriverManager.getConnection(url,username,password);//建立一個Connection對象}catch(SQLExceptione1){}returncon;//返回一個Connetion對象上面便是連接數(shù)據(jù)庫whConnect類所用到的主要語句。5.2建立把彈出窗口置屏幕中央的類在調(diào)試的時候不難發(fā)現(xiàn),每個彈出的窗口都是出現(xiàn)在顯示屏屏幕的左上角的,為了使系統(tǒng)界面更友好,建立一個類來設定每個窗口顯示的時候都居于屏幕中央,其主要代碼為:DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();//捕捉屏幕尺寸DimensionframeSize=frame.getSize();if(frameSize.height>screenSize.height){frameSize.height=screenSize.height;}if(frameSize.width>screenSize.width){frameSize.width=screenSize.width;}frame.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);frame.setVisible(true);//顯示窗口5.3登錄系統(tǒng)的實現(xiàn)在login模塊中,轉(zhuǎn)換到design頁面,在框架中建立基本的組件,這時在source面板會自動生成相關的程序代碼,但是這些代碼并沒有實現(xiàn)相應的功能,要使用監(jiān)聽器才能實現(xiàn)相應的操作。在這里我的操作是,點擊“確定”按鈕,然后實現(xiàn)登錄操作,因此在“確定”按鈕上要監(jiān)聽的內(nèi)容是:在用戶姓名和密碼不為空的情況下,把連接“倉管員”這個表,按照提交的姓名和密碼來查找,如果表中有查找結(jié)果,即說明用戶名合法,可以登錄系統(tǒng),否則反饋錯誤信息。相關的代碼如下[1]:if(jTextField1.getText().length()!=0){//判斷是否輸入了姓名con=whConnect1.makeCon();//定義連接loginQuery="";passwordTemp="";for(inti=0;i<jPasswordField1.getPassword().length;i++)passwordTemp+=jPasswordField1.getPassword()[i];//提取用戶輸入的密碼loginQuery="SELECT姓名,登錄密碼FROM職工WHERE姓名=?";pstmt=con.prepareStatement(loginQuery);pstmt.setString(1,jTextField1.getText());rs=pstmt.executeQuery();if((!rs.next())||rs.getString("登錄密碼")==null){JOptionPane.showMessageDialog(this,"查無此人!","錯誤",JOptionPane.ERROR_MESSAGE);jPasswordField1.setText("");}else{if(!rs.getString("登錄密碼").equals(passwordTemp))JOptionPane.showMessageDialog(this,"密碼錯誤!","錯誤",JOptionPane.ERROR_MESSAGE);jPasswordField1.setText("");在whApp.java里面只是實現(xiàn)把登錄界面顯示出來,如果要主界面在登錄后顯示出來,需要添加代碼,把當前的登錄界面關閉,并且顯示系統(tǒng)主界面框架。其代碼如下:mainFramefr=newmainFrame();//mainFrame是系統(tǒng)主界面this.dispose();//把當前登錄窗口關閉FrCenterFC=newFrCenter(fr);//把主界面置顯示屏中央顯示另外,為了方便使用鍵盤操作,添加鍵盤監(jiān)聽操作,使得在倉管員輸入密碼之后,按下ENTER鍵也能進入系統(tǒng),主要代碼和按鈕監(jiān)聽操作一樣,只需要添加下面一個if語句:if(e.getKeyCode()==KeyEvent.VK_ENTER){};//判斷當前鍵盤是否按下ENTER鍵5.4系統(tǒng)主界面的實現(xiàn)由于主界面框架并不是在建立應用程序的時候建立的,需要另外新建。具體步驟為:選擇file→new菜單項,雙擊Frame圖標,在Framename中輸入mainFrame,其他選擇默認值,點擊finish即可創(chuàng)建一個新框架。在design頁面設置好相關的組件后就要對代碼實現(xiàn)各種功能。菜單主要使用javax.swing.jMenuBar這個菜單組件來實現(xiàn),當點擊菜單的相關功能選項之后,就通過菜單監(jiān)聽器來調(diào)用frCenter(Frameframe)類以顯示要連接的窗口并使之顯示在屏幕中央。各主界面顯示的功能實現(xiàn)如下:5.4.1貨物數(shù)據(jù)查詢在主界面有一個對貨物的詳細信息的查詢功能,首先使用jdbTable組件顯示所有貨物的信息,然后再根據(jù)需要查詢某些貨物的信息,本系統(tǒng)只給出三個查詢條件:貨物名稱、貨物所存放的倉庫名稱、貨物的類型。為了便于使用,查詢條件顯示所有已存在的數(shù)據(jù),用jComboBox這個組件來實現(xiàn),先把查詢條件相關的數(shù)據(jù)放到jComboBox選項里,選定所需條件并點擊查詢按鈕后,jdbTable將更新顯示相關的數(shù)據(jù)查詢結(jié)果。其中jComboBox的設置代碼為:queryStr1="SELECTdistinct貨物名稱FROMdbo.貨物信息";//查詢語句stmt=con.createStatement();rs1=stmt.executeQuery(queryStr1);//進行查詢jComboBox1.addItem("");//初始值為空,因為數(shù)據(jù)表里有數(shù)據(jù)while(rs1.next()){StringGName=rs1.getString("貨物名稱");//獲得相關列名的數(shù)據(jù)jComboBox1.addItem(GName);}//把數(shù)據(jù)放到jComboBox里通過查詢條件更新數(shù)據(jù)表里的數(shù)據(jù),首先獲得當前查詢條件,然后更新數(shù)據(jù)表,相關代碼如下:if(jComboBox1.getSelectedItem()!="")str1="SELECT*FROMdbo.貨物信息WHERE貨物名稱='"+String.valueOf(jComboBox1.getSelectedItem())+"'";if(jComboBox2.getSelectedItem()!=""){if(str1!="")str1=str1+"OR存放倉庫='"+String.valueOf(jComboBox2.getSelectedItem())+"'";elsestr1="SELECT*FROMdbo.貨物信息WHERE存放倉庫='"+String.valueOf(jComboBox2.getSelectedItem())+"'";}if(jComboBox3.getSelectedItem()!=""){if(str1!="")str1=str1+"OR貨物類型='"+String.valueOf(jComboBox3.getSelectedItem())+"'";elsestr1="SELECT*FROMdbo.貨物信息WHERE貨物類型='"+String.valueOf(jComboBox3.getSelectedItem())+"'";}queryDataSet1.close();queryDataSet1.setQuery(newQueryDescriptor(database1,str1,null,true,Load.ALL));jdbTable1.setDataSet(queryDataSet1);5.4.2入庫登記實現(xiàn)與數(shù)據(jù)庫的連接原理跟前面一樣,都是通過輸入?yún)?shù),實現(xiàn)SQL語句。不同的是,這次是要向數(shù)據(jù)庫中插入新數(shù)據(jù)。如果貨物是有過記錄的,就是倉庫里還有同類的貨物,只是在數(shù)量上有所變化,則首先要在貨物信息里選擇相關的信息,然后把庫存數(shù)量更改,這里主要用到的java函數(shù)是preparStatement.executeUpdate();如果貨物是新的,之前沒有過任何相關的數(shù)據(jù)記錄,則需要添加相應的數(shù)據(jù),同樣也是用到前面的那個java函數(shù)。這個模板同樣也使用到方便實用的jComboBox組件把已有的貨物顯示到選項中,然后根據(jù)已有的貨物信息進行更新操作。5.4.3出庫登記實現(xiàn)出庫登記模塊的實現(xiàn)跟入庫登記模塊的實現(xiàn)是基本一致的,主要是對出庫單進行修改操作,這里主要是實現(xiàn)貨物庫存數(shù)量上的更改,使用到的java函數(shù)也是prepareStatement.executeUpdate()。關于貨物的信息完全不需要輸入,同樣使用方便實用的jComboBox組件把已有的貨物顯示到選項中,只需從已有的信息中選取則可,然后根據(jù)已有的貨物信息進行更新操作。5.4.4移庫登記實現(xiàn)移庫登記模塊的實現(xiàn)跟出庫登記模塊的實現(xiàn)主要是修改貨物所在倉庫的數(shù)據(jù),在移庫單里把現(xiàn)在所在的庫位的代碼和名稱轉(zhuǎn)換為要移到的倉庫庫位代碼和名稱,使用到的java函數(shù)也是prepareStatement.executeUpdate()。代碼跟前面的類似,這里就不重復了。5.4.5業(yè)務信息實現(xiàn)業(yè)務信息包含的內(nèi)容主要有顯示業(yè)務信息和更改業(yè)務信息,顯示業(yè)務信息的方法跟在主界面上實現(xiàn)貨物的信息查詢功能是一樣的,當有業(yè)務信息要更新時,再添加相應的業(yè)務信息。這里的業(yè)務信息是供貨商的信息和客戶商的信息,另外包含了倉庫職工的信息,在進行入庫、出庫和移庫操作的時候,經(jīng)辦人可以是倉管員,也可以是倉庫其他職工,故把職工列為業(yè)務信息的一部分。首先在窗口中顯示目前的業(yè)務信息,當有新的客戶產(chǎn)生時,就在相應的位置插入新信息,主要用到的java函數(shù)也是prepareStatement.executeUpdate()。把相關數(shù)據(jù)插入到客戶信息表和職工信息表里。6總結(jié)與展望6.1總結(jié)本文研究了基于Borland公司的JBuilder2006平臺的倉庫管理系統(tǒng)的設計和實現(xiàn),在結(jié)合Java編程知識和數(shù)據(jù)庫知識與實踐應用的基礎上,設計和開發(fā)了倉庫管理系統(tǒng)。通過這個系統(tǒng)的設計和實現(xiàn),取得了下面幾點成果:1.對數(shù)據(jù)庫和Java編程知識的深入學習都有了很大的提高,了解了更多數(shù)據(jù)庫編程知識,例如JDBC概念的了解和應用,這對我來說是一個質(zhì)的提高。2.對軟件開發(fā)的程序有了更深一層次的認識,并由此獲得分析和實現(xiàn)項目開發(fā)和管理的經(jīng)驗。雖然這個項目是個簡單的項目,但是總體學習到的東西很多,要考慮的問題也很多,我的思考能力從而得到提高。3.聯(lián)系理論與實踐的能力得到了提高,這個系統(tǒng)不只是一個對IT項目的了解過程,更是對所有項目的了解過程,所有的項目都是需要經(jīng)過需求分析,設計方案來解決的。這讓我對項目管理方面的工作產(chǎn)生很大的興趣,擴展了視野。4.這次畢業(yè)設計的完成更是對我自己在編程能力和設計意識上的肯定。大學期間做過很多的課程設計和項目,但是每次都是小組的形式,我所負責的也只是其中一小部分,能夠單獨完成一個項目,對我來說真的是一次很大的挑戰(zhàn),我能完成這次項目說明我的潛力還是有的,使我對自己有了更大的信心去發(fā)展以后的事業(yè)。6.2展望雖然這個項目已經(jīng)完成,而且也基本達到了老師和自己心中的要求,但是畢竟一個人做的,有些方面考慮的不是很完善,有很多地方都需要改善,鑒于能力和時間的安排不合理,我在調(diào)試的過程中,總結(jié)了一些需要改善的地方,具體如下:1.這個系統(tǒng)太簡單,不能與訂貨系統(tǒng)、銷售系統(tǒng)等相關聯(lián)。以后要使用這個系統(tǒng),只能是單獨在倉庫里使用,在這方面,可以再增加一些數(shù)據(jù)的傳遞,以便于貨物存儲數(shù)量出現(xiàn)問題的時候,得到提示并快速進行分析,以便快速向供貨商發(fā)送訂貨信號,保證貨物的充足。2.數(shù)據(jù)庫完整性沒有得到很大的體現(xiàn),總的來說,一個倉庫的容量是有限的,不能無限地添加貨物,當貨物的入庫量超過一定的程度,就要發(fā)出信號,提示貨物超量,及時更正貨物入庫量。
致謝大學四年的學習在這里劃上句號,這是我的最后一次作業(yè),也是應用知識面最廣的一次作業(yè)。在論文即將完成之際,我的心情無法平靜,從開始進入課題到論文的順利完成,有太多的,可敬的師長、同學、朋友給了我無言的幫助,在這里請接受我誠摯的謝意。首先,我要鄭重的感謝我的指導老師——自選題開始黃老師就給了我充分的支持和理解,再到構(gòu)思、資料的收集,系統(tǒng)的完成以及成文定稿,黃老師都給我提出了許多寶貴的修改意見和幫助。另外,我還要感謝Java啟蒙老師,在她的指導和鼓勵
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年兒童玩具特許經(jīng)營協(xié)議
- 2025年人文出版合同
- 二零二五版學生軍訓教官學生軍訓期間心理輔導合同3篇
- 2025年分期醫(yī)療美容項目合同
- 2025年供應鏈服務合同解除協(xié)議
- 2025年企業(yè)辦公軟件許可協(xié)議
- 二零二五年酒店酒水線上線下聯(lián)合促銷合作協(xié)議3篇
- 2025年專利設計授權(quán)協(xié)議
- 2025年度金融機構(gòu)外匯借款合同變更協(xié)議3篇
- 二零二五版智能辦公系統(tǒng)定制開發(fā)與維護合同2篇
- 四川省高職單招電氣技術類《電子基礎》歷年考試真題試題庫(含答案)
- 竇性心動過速的危害
- 深基坑工程基坑土方開挖及支護降水施工方案
- 2024年江西生物科技職業(yè)學院單招職業(yè)技能測試題庫帶解析答案
- 醫(yī)藥制造企業(yè)資本結(jié)構(gòu)優(yōu)化研究以貴州百靈為例
- GB 31335-2024鐵礦開采和選礦單位產(chǎn)品能源消耗限額
- 醫(yī)院高風險意外事件應急措施和救護機制
- 橋本甲狀腺炎-90天治療方案
- 【復合附件版】個人借車免責協(xié)議書簡單
- 焊接工裝夾具設計手冊
- 醫(yī)院開展急救知識培訓計劃方案
評論
0/150
提交評論