倉庫管理系統的設計與實現

 摘 要

隨著市場經濟的高速發展,庫存管理越來越重要,如何降低成本,提高工作效率是庫存存儲管理者需要解決的一個實際問題。本庫存管理信息系統是針對的實際需求,從實際工作出發,在分析目前庫存管理信息系統中存在的問題的基礎上,結合管理信息系統開發的概念、結構及系統開發的基本原理和方法,并利用計算機運算速度快、存儲信息容量大、處理邏輯問題強、功能強大的優勢,采用目前流行的B/S結構,通過Internet/Intranet實現對庫存進行管理,特別是對庫存基本信息管理、庫存調配信息等進行完整的監控而開發出來的。從查詢與決策信息的管理需求出發,針對性強,功能齊備,旨在通過幫助該庫存管理實現信息化、網絡化,以提高管理的效率。

本庫存管理信息系統主要包括“庫存入庫管理”、“庫存出庫管理”、“庫存基本信息管理”和“系統用戶管理”等模塊。它主要對庫存的出入庫進行統計和核算,及時準確地掌握商品庫存情況,并動態反映庫存的增減變動,為的決策提供基礎數據。

 關鍵字:B/S,庫存,庫存入庫,庫存出庫

第1章 緒論

1.1 前言

當今社會是一個信息社會,一個知識經濟時代。自世界上第一臺計算機ENINC(Electronic numerical integrator and calculator)于1946年在美國問世到現在,計算機業飛速發展,技術淘汰指標高的驚人,價格下降以及軟件應用的快速擴展引發了以信息處理計算機化為標志的“微機革命”,隨之而來的是以全球信息網絡普及和全球信息共享為標志的“全球信息網絡革命”的蓬勃興起??梢?,世界已進入在計算機信息管理領域中激烈競爭的時代,計算機已經變得普通得不能再普通的工具,如同我們離不開的自行車、汽車一樣。

隨著經濟的全球化以及中國經濟改革的逐漸深化,各面臨著越來越多激烈的競爭。我們應該承認,誰掌握的知識多,信息量大,信息處理速度快,批量大,誰的效率就高,誰就能在各種競爭中立于不敗之地。庫存管理是一般工業、商業生產管理環節中重要的一環,所以,有效地進行庫存基本信息管理、庫存調配信息等進行完整的監控已經成為了各生存和發展的頭等要事。

本庫存管理信息系統就是在這樣的信息技術廣泛應用的時代背景下,本著用戶的需求,借助于現代化的管理方法和信息技術開發出來的。與此同時,我所學到的知識也得到了理論聯系實際的目的。

1.2背景

對庫存的管理在生產經營中非常重要,庫存管理的好環,直接影響著的經營生產和發展進步。由于庫存供應渠道多、品種規格千變萬化,這就使得庫存的供應和管理變得復雜和困難。如何加強成本意識,做好庫存供應、降低庫存、加速資金周轉、加強庫存使用監督和財務監督以成為愈加關注的問題。在庫存管理中采用計算機管理十分必要,這對于搞好庫存的供、管、用三方面的工作,保障供應,合理地使用庫存,提高庫存管理勞動生產率,促進健康發展具有重要意義。

采用計算機庫存管理系統,具有以下優點:

1利用計算機和信息技術,可以代替人工勞動,減輕工作人員工作量和工作繁瑣程度,提高工作效益和工作質量等。

2 通過對庫存的有效管理,可以節約資金占用,降低庫存,提高經濟效益。

3 通過對材料消耗的控制,降低生產成本。

4.通過對供應渠道的有效管理,加強與供應商的協作,提高市場反應能力。

1.3 國內現狀的研究

信息已成為繼勞動力、土地、資本之后的又一大資源。誰控制的信息越多,誰利用信息資源的效率越高,誰就會在各方面的競爭中占有一席之地,誰就會有更多的優勢。

庫存供應部門是與生產單位之間的橋梁、紐帶,是正常生產的庫存保障部門。正因為供應部門是關鍵的中轉環節,建立一套庫存管理信息系統對于如何有效的把本單位生產所需的生產資料及時、保質保量的供應上去,有著重要的意義。從微觀上講,建立一套庫存管理信息系統能夠加快庫存的周轉速度,提高生產效率,從而加強了管理的信息化手段,提高了本單位的經濟效益。從宏觀上講,順應了社會的信息化、社會化潮流,縮短了整個社會化大生產的周期。

由于庫存管理在社會大生產中占用重要地位,其計算機化在發達國家已達到95%以上,而我國在全國范圍內推廣計算機在管理中的應用,是在80年代初開始的。起步雖晚,但發展快。特別是微型計算機的出現和普及,為信息處理提供了物美價廉的手段,對于推動我國管理信息處理現代化起到了重要作用。庫存管理工作中存在的主要問題:

1 ) 根據各單位或公司所報材料明細逐個與庫存賬本對照查閱,庫中有其所需材料則開據料單從庫中領取,若庫中沒有,則通知采購人員采購。庫中庫存種類繁多,查對繁瑣,易出錯。

2 ) 從開據發料單到每月結賬、清冊都是手工操作,計算器加算盤,效率低且準確率不高。單位配備的計算機僅局限于打字,做報表,不能開單據,計算機應有的功能沒有充分發揮。

針對以上存在的問題,通過建立庫存管理信息系統使庫存管理工作更加規范化、程序化,提高其處理工作的速度和準確性,也便于動態查詢,提高效率。

1.4開發思路

通過對以上在庫存管理中存在的問題及需求調查得知,以前的庫存管理辦法,工作繁瑣,工作量大,效率低。因而,建立一套庫存管理信息系統勢在必行。各單位的需求雖然不盡相同,但大體上可分為如下幾個方面:

(1)用戶的信息要求:隨時查詢庫存存庫狀況,進行庫存存庫匯總,對記錄能隨時刪除、插入及恢復。

(2)用戶的處理要求:能隨時增加、刪除,修改每一個庫存存庫記錄,并能打印單據。

(3)對數據的安全性、完整性的要求:要保證每個記錄必須完整。

第2章 理論綜述

2.1 JSP技術簡介

JSP(Java Server Page服務器網頁)是從1998年開始出現的新技術。由Sun公司倡導、許多公司參與一起建立的一種動態網頁技術標準,是基于JavaServlet以及整個Java體系的web開發技術。在傳統的網頁HTML文件(*.htm,*.html)中加入腳本片段和JSP標記(Tag),構成JSP網頁(*.jsp)。JSP技術為創建顯示動態生成內容的web頁面提供了簡便的方法。JSP作為Java家族的一員,承襲了Java的特點,即跨平臺的特性,也即一次編譯,到處運行。

在國外,己經大量使用JSP作為網絡應用程序的開發工具,而在國內,盡管JSP還不是主流開發技術,但是由于JSP的強大優勢,許多網站都已經準備轉向JSP,利用JSP來開發動態網站。

2.2 JSP工作原理

JSP是面向服務器的,因此支持任何瀏覽器。當Web服務器和JSP引擎遇到訪問JSP網頁的請求時,JSP引擎將請求對象發送給服務器端的相關組件,比如JavaBean組件、Servlet或EJB等,然后由服務器端組件處理這些請示,可能需要從數據庫或數據存儲中檢索信息,然后服務器端組件再將響應對象返回JSP引擎。JSP引擎將響應對象傳遞給JSP頁面,根據JSP頁面的HTML格式完成數據編排,最后Web服務器和JSP引擎將格式化后的JSP頁面以HTML格式返回客戶瀏覽器。這就是當前網站構建中廣泛采用的瀏覽器——Web服務器——后臺數據庫的三層架構模式。因為JSP所有程序操作都在服務器端執行,網絡上傳送給客戶端的僅是得到的結果。

2.3 JSP體系結構

JSP網站開發標準給出了兩種使用JSP的技術,可以歸納為模式一、模式二。

模式一:JSP+JavaBeans技術 在這種模式中,JSP頁面獨自響應請求并將處理結果返回給客戶。Bean處理所有數據訪問,JSP實現頁面的表現,以實現內容生成與顯示相分離。當處理復雜的大型應用時,頁面被嵌入大量的腳本或Java代碼段,當需要處理的商業邏輯復雜時,這種情況會變得非常糟糕,大量的內嵌代碼使得頁面程序變得復雜,對于前端界面設計人員,這是不可思議的事情。所以模式一可用于小型應用,不能夠滿足大型應用的需要。

模式二:JSP+Servlet+JavaBeans技術 Servlet技術是一種采用Java技術來實現CGI功能的一種技術,Servlet技術非常適于服務器端的處理和編程,并且Servlet會長期駐留在內存。

從開發的觀點看,模式二具有更清晰的頁面表現,清楚的開發者角色劃分,在大規模項目開發中,模式二更被采用,模式二也更符合當前流行的MVC結構(Model/view/controller),其中Servlet對應controller,處于控制者的位置,處理HTTP請求,負責生成JSP中使用的Beans組件或對象,并判斷應將請求傳遞給哪個JSP等,JSP對應view,負責生成最終的動態網頁并返回給瀏覽器。而JavaBeans對應的是Model,實現各個具體的應用邏輯與功能。

2.4 JSP的特點

2.4.1 簡化的頁面生成技術

JSP頁面用標準的HTML或XML命令來處理頁面的格式化和布局設計,而用類似HTML、XML的標記和Java語言編寫的腳本程序生成頁面內容。這使得頁面形式與頁面內容互相獨立,非常有利于大型項目的分工合作。

2.4.2 與Java平臺有機集成

JSP技術是Java 2平臺的重要組成部分,JSP使用Java語言作為它的腳本語言。在JSP頁面中可以使用幾乎所有的Java組件和Java API,這就能充分發揮出Java語言的強大功能。使用JSP技術可以創建具有高度可伸縮性和可靠性的Web應用程序。

2.4.3 硬件平臺和服務器無關性

JSP作為Java家族的一員,秉承了Java技術的“一次編寫,隨處可用(Write Once,Rum Anywhere)”的特性,可以運行于大多數流行的操作系統平臺及Web服務器,這種與服務器硬件和操作系統平臺的無關性是JSP相對于其它動態網頁技術最大的一個優點。

2.4.4 功能可擴展性

如同Microsoft的JSP技術可以通過ActiveX/COM組件來擴展功能一樣,JSP可以通過JavaBean和EJB(Enterprise JavaBean)以及自定義的標記來擴展功能。

JSP可以通過JDBC,與諸如Oracle、SQL Server這樣的大型關系數據庫進行連接。

JSP提供了一些隱含對象。這些隱含對象在JSP頁面中可以直接引用,而不必首先聲明。利用JSP提供的這些隱含對象,可以使腳本功能更加強大,并且編程更加容易、方便。例如,利用request對象,可以很容易地接收用戶在HTML表單中提交的信息。

2.5系統數據庫連接

JDBC技術是Java DataBase Connectivity的縮寫,它是SUN公司提供的一種支持基本SQL功能的通用的應用程序接口(Application Programming Interface)。它由一組用Java語言編寫的類和接口組成。通過這些類和接口,程序開發人員可以在Java語言中方便地建立與數據庫的鏈接,通過執行相應SQL語句,完成對不同數據庫的訪問。因此,開發人員使用JDBC API可以不必編寫一個應用程序來訪問Sybase數據庫,又另外編寫一個應用程序去訪問Oracle數據庫,再寫一個應用程序訪問Microsoft的SQL Server。不但如此,使用Java語言編寫的應用程序可以在任何支持Java的平臺上運行,不必在不同的平臺上開發不同的應用程序。

簡單地說,JDBC能完成下列三件事:

同一個數據庫建立連接;

向數據庫建立連接;

處理數據庫返回的結果。

JDBC是一種通用低層的應用程序編程接口,它在不同的數據庫功能模塊的層次上提供一個統一的用戶界面。說JDBC是一處低級的API,是指它直接調用SQL命令,它比其他的一些數據庫連接API要容易使用些,但它有同樣可以作為更高級的,用戶辦面更友好的API或開發工具基礎。

很多可視化的Java開發工具,如Visual Age For Java、Visual Café、J++等都提供了基于JDBC的更面向用戶的類和包,直接將關系數據庫的表或視圖映射為Java類,程序員通過可視化工具直接對Java對象進行操作,而真正需要的SQL調用則根據程序員發出的對對象的各種屬性、方法的操作來自動產生。另一種使用JDBC API 的方式為,用戶程序可以提供一個界面(如菜單等)讓用戶選擇對數據庫進行的操作,選中一個任務后,提示用戶輸入一些必要的信息,然后根據用戶的輸入產生相應的SQL命令以及Java程序。通過這處方式,用戶可以完成對數據庫的操作,即使他并不了解SQL語法以及JDBC編程。

數據庫訪問的三層結構如圖2.1所示,瀏覽器端程序要訪問數據庫,首先通過中間件,然后由中間件對數據庫操作權限進行認證,認證通過才能對數據庫進行操作。

b47f1b32cc784f47adb8a9e4ab77a9f7  圖2.1 使用中間件的數據庫訪問三層結構

用戶對數據庫的存取權限認證是中間件中完成,對數據庫的查詢、插入、更新和刪除操作等都封裝在中間件中,該中間件位于服務器端,中間件對數據庫進行操作后,再將處理結果通過Web服務器返回到瀏覽器端用戶。這樣,在用戶端輸入的用戶名和密碼,可以通過加密算法進行加密后在網絡上傳輸,在中間件中進行解密認證,然后再進行數據庫的存取操作,數據庫存取權限的用戶名和密碼出現在位于服務器端的中間件中,這樣就更加安全。本系統采用的正是這樣的三層結構的數據庫訪問模式。

在三層模型中,命令將被發送到服務的”中間層”,而”中間層”將SQL語句發送到數據庫。數據庫處理SQL語句并將結果返回”中間層”,然后”中間層”將它們返回用戶。其模型如圖2-2所示。

1290a886228db993dab6ffbf7ae1a028  圖2-2 JDBC的三層模型

因為”中間層”可以進行對訪問的控制并協同數據庫的更新,并且可以使用一個易用的高層API,這個API可以由“中間層”進行轉換,轉換成低層的調用。所以在許多種情況下,三層模型可以提供更好的性能,本系統中所采用的就是此種模型。

JDBC是JAVA應用程序與數據庫的溝通橋梁。它提供了三項服務功能:一、與數據庫建立連接。二、將SQL語句傳遞給數據庫。三、從數據庫取得SQL語句的執行結果。當JDBC要與數據庫建立連接前,首先,它必須先取得連接此數據庫的JDBC驅動程序,Class.forName()即是在執行此項工作。建立數據庫連接的第一步驟就是將JDBC驅動程序的類載入至JVM(Java VirtualL Machine)中,本系統中利用java.lang.Class類內的forName()靜態函數依據指定的類名稱,將JDBC驅動程序載入進來。完成載入驅動程序的步驟后,必須使用java.sal.DriverManager類所提供的getConnection()靜態函數,取得與數據庫間的連接對象。此連接對象的類類型為java.sal.Connection,必須通過它才能將SQL指令傳遞給數據庫,而執行結果也需要通過連接對象來取得。當取得連接對象后,還必須取得Statement對象才能對數據庫執行SQL指令。Statement主要實現兩個功能:執行SQL語句以及取得執行結果。在java.sql.Statement的sql對象中執行查詢或修改命令的函數后傳回的是一個ResultSet 對象,這個對象提供了一個存取SQL執行結果的管道,以便通過它將表格數據從數據庫中取出。每個Statement對象只能產生一個ResultSet 對象。

數據庫連接如圖2-3所示:

d969335b3ab3af8bf7b277695ccedd2a  圖2-3 數據庫的連接處理

數據庫的連接處理具體實現如下:

//建立JDBC——ODBC橋

sun.jdbc.odbc.JdbcOdbcDriver;

//橋建立不成功時的錯誤處理

catch(ClassNotFoundException event){}

//建立與數據庫的連接,并發送SQL查詢語句,將結果保存到rs對象中

Con=建立JDBC——ODBC橋

Sql=SQL查詢語句

執行查詢

Rs=返回結果

//SQL出錯處理

catch(SQLException e1){}

2.6 SQL Server簡介

SQL SERVER 是Microsoft在關系數據庫管系統(RDBMS)方面的開發成果。其主要目的是盡可能快地存儲、管理和檢索大量數據。我們將使用SQL SERVER存儲與知識系統網站相關的所有信息,這些信息會由應用程序邏輯動態放置在網頁中。

SQL Server是Microsoft 公司推出的SQL Server 數據庫管理系統的最新版本該版本繼承了SQL Server 7.0 版本的優點同時又比它增加了許多更先進的功能具有使用方便可伸縮性好與相關軟件集成程度高等優點可跨越從運行Microsoft Windows 2000 的膝上型電腦到運行Microsoft Windows XP的大型多處理器的服務器等多種平臺使用。

2.7 “結構化查詢語言”(SQL)簡介

SQL全稱是“結構化查詢語言(Structured Query Language)”,最早是IBM的圣約瑟研究實驗室為其關系數據庫管理系統SYSTEM R開發的一種查詢語言,它的前身是SQUARE語言。SQL語言結構簡潔,功能強大,簡單易學,所以自從IBM公司1981年推出以來,SQL語言得到了廣泛的應用。目前,SQL語言已被確定為關系數據庫系統的國際標準,被絕大多數商品化關系數據庫系統采用,如Oracle 、Sybase、DB2、Informix、SQL Server這些數據庫管理系統都支持SQL語言作為查詢語言。

結構化查詢語言SQL是一種介于關系代數與關系演算之間的語言,其功能包括查詢、操縱、定義和控制四個方面,是一個通用的功能極強的關系數據庫標準語言。在SQL語言中不需要告訴SQL如何訪問數據庫,只要告訴SQL需要數據庫做什么。

SQL廣泛地被采用正說明了它的優點,使全部用戶,包括應用程序員、DBA管理員和終端用戶受益非淺。

2.8 BS模式與C/S模式的比較分析

C/S模式主要由客戶應用程序(Client)、服務器管理程序(Server)和中間件(middleware)三個部件組成??蛻魬贸绦蚴窍到y中用戶與數據進行交互的部件。服務器程序負責有效地管理系統資源,如管理一個信息數據庫,其主要工作是當多個客戶并發地請求服務器上的相同資源時,對這些資源進行最優化管理。中間件負責聯結客戶應用程序與服務器管理程序,協同完成一個作業,以滿足用戶查詢管理數據的要求。

B/S模式是一種以Web技術為基礎的新型的MIS系統平臺模式。把傳統C/S模式中的服務器部分分解為一個數據服務器與一個或多個應用服務器(Web服務器),從而構成一個三層結構的客戶服務器體系。

第一層客戶機是用戶與整個系統的接口??蛻舻膽贸绦蚓喌揭粋€通用的瀏覽器軟件,如NetscapeNavigator,微軟公司的IE等。瀏覽器將HTML代碼轉化成圖文并茂的網頁。網頁還具備一定的交互功能,允許用戶在網頁提供的申請表上輸入信息提交給后臺,并提出處理請求。這個后臺就是第二層的Web服務器。

第二層Web服務器將啟動相應的進程來響應這一請求,并動態生成一串HTML代碼,其中嵌入處理的結果,返回給客戶機的瀏覽器。如果客戶機提交的請求包括數據的存取,Web服務器還需與數據庫服務器協同完成這一處理工作。

第三層數據庫服務器的任務類似于C/S模式,負責協調不同的Web服務器發出的SQL請求,管理數據庫。

B/S模式的優勢

首先它簡化了客戶端。它無需象C/S模式那樣在不同的客戶機上安裝不同的客戶應用程序,而只需安裝通用的瀏覽器軟件。這樣不但可以節省客戶機的硬盤空間與內存,而且使安裝過程更加簡便、網絡結構更加靈活。假設一個的決策層要開一個討論庫存問題的會議,他們只需從會議室的計算機上直接通過瀏覽器查詢數據,然后顯示給大家看就可以了。甚至與會者還可以把筆記本電腦聯上會議室的網絡插口,自己來查詢相關的數據。其次,它簡化了系統的開發和維護。系統的開發者無須再為不同級別的用戶設計開發不同的客戶應用程序了,只需把所有的功能都實現在Web服務器上,并就不同的功能為各個組別的用戶設置權限就可以了。各個用戶通過HTTP請求在權限范圍內調用Web服務器上不同處理程序,從而完成對數據的查詢或修改?,F代面臨著日新月異的競爭環境,對內部運作機制的更新與調整也變得逐漸頻繁。相對于C/S,B/S的維護具有更大的靈活性。當形勢變化時,它無須再為每一個現有的客戶應用程序升級,而只需對Web服務器上的服務處理程序進行修訂。這樣不但可以提高公司的運作效率,還省去了維護時協調工作的不少麻煩。如果一個公司有上千臺客戶機,并且分布在不同的地點,那么便于維護將會顯得更加重要。

再次,它使用戶的操作變得更簡單。對于C/S模式,客戶應用程序有自己特定的規格,使用者需要接受專門培訓。而采用B/S模式時,客戶端只是一個簡單易用的瀏覽器軟件。無論是決策層還是操作層的人員都無需培訓,就可以直接使用。B/S模式的這種特性,還使MIS系統維護的限制因素更少。

最后,B/S特別適用于網上信息發布,使得傳統的MIS的功能有所擴展。這是C/S所無法實現的。而這種新增的網上信息發布功能恰是現代所需的。這使得的大部分書面文件可以被電子文件取代,從而提高了的工作效率,使行政手續簡化,節省人力物力。

鑒于B/S相對于C/S的先進性,B/S逐漸成為一種流行的MIS系統平臺。各軟件公司紛紛推出自己的Internet方案,基于Web的財務系統、基于Web的ERP。一些已經領先一步開始使用它,并且收到了一定的成效。

B/S模式的新穎與流行,和在某些方面相對于C/S的巨大改進,使B/S成了MIS系統平臺的首選。

2.9 JDBC介紹

JDBC(Java Data Base Connectivity,java數據庫連接)是一種用于執行SQL語句的Java API,可以為多種關系數據庫提供統一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為工具/數據庫開發人員提供了一個標準的API,據此可以構建更高級的工具和接口,使數據庫開發人員能夠用純 Java API 編寫數據庫應用程序,同時,JDBC也是個商標名。

有了JDBC,向各種關系數據發送SQL語句就是一件很容易的事。換言之,有了JDBC API,就不必為訪問Sybase數據庫專門寫一個程序,為訪問Oracle數據庫又專門寫一個程序,或為訪問Informix數據庫又編寫另一個程序等等,程序員只需用JDBC API寫一個程序就夠了,它可向相應數據庫發送SQL調用。同時,將Java語言和JDBC結合起來使程序員不必為不同的平臺編寫不同的應用程序,只須寫一遍程序就可以讓它在任何平臺上運行,這也是Java語言“編寫一次,處處運行”的優勢。

Java數據庫連接體系結構是用于Java應用程序連接數據庫的標準方法。JDBC對Java程序員而言是API,對實現與數據庫連接的服務提供商而言是接口模型。作為API,JDBC為程序開發提供標準的接口,并為數據庫廠商及第三方中間件廠商實現與數據庫的連接提供了標準方法。JDBC使用已有的SQL標準并支持與其它數據庫連接標準,如ODBC之間的橋接。JDBC實現了所有這些面向標準的目標并且具有簡單、嚴格類型定義且高性能實現的接口。

Java 具有堅固、安全、易于使用、易于理解和可從網絡上自動下載等特性,是編寫數據庫應用程序的杰出語言。所需要的只是 Java應用程序與各種不同數據庫之間進行對話的方法。而 JDBC 正是作為此種用途的機制。

JDBC 擴展了 Java 的功能。例如,用 Java 和 JDBC API 可以發布含有 applet 的網頁,而該 applet 使用的信息可能來自遠程數據庫也可以用 JDBC 通過 Intranet 將所有職員連到一個或多個內部數據庫中(即使這些職員所用的計算機有 Windows、 Macintosh 和UNIX 等各種不同的操作系統)。隨著越來越多的程序員開始使用Java 編程語言,對從 Java 中便捷地訪問數據庫的要求也在日益增加。

MIS 管理員們都喜歡 Java 和 JDBC 的結合,因為它使信息傳播變得容易和經濟??衫^續使用它們安裝好的數據庫,并能便捷地存取信息,即使這些信息是儲存在不同數據庫管理系統上。新程序的開發期很短。安裝和版本控制將大為簡化。程序員可只編寫一遍應用程序或只更新一次,然后將它放到服務器上,隨后任何人就都可得到最新版本的應用程序。對于商務上的銷售信息服務, Java 和JDBC 可為外部客戶提供獲取信息更新的更好方法。

簡單地說,JDBC 可做三件事:與數據庫建立連接、發送 SQL 語句并處理結果。下列代碼段給出了以上三步的基本示例:

Connection con = DriverManager.getConnection(”jdbc:odbc:wombat”,”login”,

“password”);

Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery(”SELECT a, b, c FROM Table1″);

while (rs.next()) {

int x = rs.getInt(”a”);

String s = rs.getString(”b”);

float f = rs.getFloat(”c”);

}

上述代碼對基于JDBC的數據庫訪問做了經典的總結

2、統一的語言

SQL可用于所有用戶的DB活動模型,包括系統管理員、數據庫管理員、 應用程序員、決策支持系統人員及許多其它類型的終端用戶?;镜腟QL 命令只需很少時間就能學會,高級的命令在幾天內便可掌握。以前的數據庫管理系統為上述各類操作提供單獨的語言,而SQL 將全部任務統一在一種語言中。

3、是所有關系數據庫的公共語言

由于所有主要的關系數據庫管理系統都支持SQL語言,用戶可將使用SQL的技能從一個RDBMS轉到另一個。所有用SQL編寫的程序都是可以移植的。

第3章 系統的需求分析

3.1 庫存管理存在的問題

長期以來,庫存管理工作中的信息管理是采用人工的方式,要付出大量人力,填寫各種表格、憑證、賬冊、卡片和文件。由于信息是隨著時間不斷變化的,各業務部門對信息的使用要求也各不相同,所以要按照不同的分類經常不斷地匯總、統計,往往要做許多重復登記和轉抄。這種手工操作的管理方式,不僅浪費人力,而且存在許多缺點:(1)處理速度慢,影響信息及時性。(2)易出現錯誤,影響信息精確性。(3)不便于查詢。(4)缺乏綜合性,不能起控制作用。由于這些缺點,大大降低了信息的利用價值,顯然越來越不適應現代庫存管理工作的需要。因此,發展以電子計算機為基礎的庫存管理信息系統已是十分迫切和必要的了。

3.2 可行性分析

所謂開發的可行性,就是指在整個系統開發工程中,解決“做什么”的問題,把要解決哪些問題,滿足用戶哪些具體的信息需求調查分析清楚,從邏輯上或說從信息處理的功能需求上提出系統的方案,即邏輯模型,為下一階段進行物理方案設計,解決怎么辦提供依據。它是信息開發系統中的一個重要階段,是建立系統模型的第一步。其核心是目標分析與需求分析,最后提出系統的邏輯方案。

3.2.1 技術可行性

該系統所需硬件設備,如服務器、PC機、打印機及網絡配件等,這些設備在性能上已經有了很大提高,價格又相對較低,能滿足系統功能需求。軟件上,操作系統采用WINDOWSXP,數據庫管理系統采用SQL SERVER,這些軟件在MIS開發中已被大量應用,技術上都比較成熟。本系統采用WEB技術來實現,使用JSP可以創建動態、交互的Web服務器應用程序,JSP頁面可以使用腳本語言(如Vbscript、Javascript等)因此技術上是可行的。

3.2.2 經濟可行性

本信息系統屬于一個工具型的系統,它可以節省工作人員大量數據收集、錄入、整理、查詢、修改等手工操作,而且迅速準確,能夠極大地提高工作效率,最大限度的降低用戶和管理員的工作量,使庫存管理盡量簡便,同時促進業務的規范化、程序化,及時給各級領導提供必要的信息統計。系統開發所需的費用是比較低的,由于系統并不復雜,其運行與培訓費用也不會占用很多資金,可以預見系統完成后可以帶來較大的經濟效益。

綜上所述,實施MIS在技術上、經濟上都是可行的,因此,開發庫存管理信息系統是可行的。

3.3 用戶需求分析

庫存管理是管理中的重點,存在著信息錄入量大,查詢請求多,查詢條件繁雜的特點。而已有的庫存管理系統因為操作煩瑣,不能進行方便的操作,已經不能夠滿足管理中的需要。

為了將庫存管理納入規范化、現代化管理的軌道,針對現有庫存管理中存在的問題和管理的實際需要,我們將理順管理體制、建立各種管理規范與開發信息系統有機地結合起來。通過建立專門的庫存管理信息系統來實施對庫存進行統一管理。所以,為了順應用戶需求,我們推出了基于WEB的庫存管理信息系統。

3.4 系統需求分析

系統需求分析主要就是明確庫存管理信息系統所要實現的目標,并給出解決方案。對系統的需求分析可以從功能需求和數據需求兩方面來進行。功能需求分析主要是對系統所要實現的目的進行分解,使之形成既相互獨立又相互聯系的幾個部分,然后將每個部分映射為一個或多個功能,這些功能相互之間形成一個有機的整體。數據需求分析就是對系統中涉及的數據進行識別,并描述出它們在系統中的關系和流向。

如上所述,通過功能需求分析可以得到系統的主要功能,通過數據需求分析則對數據庫設計有所幫助。下面詳細進行這兩個部分的分析。

3.4.1 功能需求

庫存管理信息系統需要實現系統用戶管理,基礎數據管理,庫存出庫(入庫)等幾個部分功能,下面分別闡述這幾個部分的功能需求。

(1)系統用戶管理模塊:

用戶的添加,用戶的刪除,(2)基礎數據管理模塊:

庫存信息的管理,供應商信息的管理,(3)庫存出庫(入庫)管理模塊:

庫存出庫庫存入庫庫存查看庫存報警

3.4.2 數據需求

通過前面對系統功能需求的分析,可以了解到庫存管理信息系統主要實現的功能,包括庫存基本信息維護、庫存入庫信息記錄、庫存出庫信息記錄、庫存存庫信息查詢和系統用戶管理。

庫存管理信息系統所涉及的主要數據包括庫存記錄、入庫記錄、出庫記錄、庫存存庫和用戶記錄,下面分別分析這些數據需求。

(1)庫存記錄

庫存記錄是庫存管理中建立的庫存基本信息。

庫存基本信息供庫存入庫、庫存出庫和庫存管理使用,即整個庫存管理信息系統的數據是以庫存記錄為基礎的。庫存基本信息一旦被入庫記錄使用,該庫存記錄不能再被刪除。

(2)入庫記錄

入庫記錄是庫存入庫的信息,在進行庫存入庫登記時,需要記錄是庫存信息,負責人,入庫時間。

入庫記錄由庫存產生,需要用到庫存基本信息,形成的入庫信息可以在庫存管理中使用。當入庫信息被庫存出庫引用時,該入庫記錄不能被刪除

(3)出庫記錄

出庫記錄是庫存出庫的信息,與入庫庫存類似,在進行庫存出庫記錄時,也要記錄庫存信息,負責人,出庫時間。

(4)庫存存庫

庫存存庫是動態的庫存存庫信息,它可以通過入庫記錄和出庫記錄的總匯數據得到。當需要查看庫存存庫時,只要按照各種庫存統計其累計入庫和累計出庫,累計出庫和累計入庫的差就是庫存數量。因此從需求角度來看,庫存虛空數據是可以計算出來的,不需要保存。

庫存管理中只要使用庫存基本信息,入庫信息和出庫信息,然后通過簡單地加工處理,就可以形成庫存存庫數據。

(5)用戶記錄

用戶記錄是用戶管理中建立的用戶基本信息??梢圆榭吹降卿涍^的用戶的登錄日子。

(6)庫存報警

當庫存到了一定的程度就無法再繼續進行庫存入庫了,系統將會自動進行庫存報警功能。

通過對系統數據需求的分析,可以得到如下圖3-1所示的系統數據流圖。該圖簡明地表示了庫存管理信息系統的主要數據流向。

0a7f814c83a11ddb887a4d0a62afa7e4

圖3-1系統數據流程圖

第4章 總體設計

4.1 系統設計方法三原則

人類在復雜的工程技術系統如能源、交通等建設方面,積累了豐富的經驗,為研究復雜系統如管理信息系統

提供了科學的指導性方法論,其主要原則如下:

整體性原則。系統是相互聯系,相互作用的諸要素組成的綜合體。我們必須從整體和各組成部分的相互關系來考察事物,從整體目標和功能出發,正確處理系統各組成部分之間的相互關系和相互作用。

分解—協調原則。就是把復雜問題化成若干相對簡單的子問題以方便求解。若子系統的問題比較復雜,還可以再分。但在處理各類子問題時,必須根據系統的整體功能和目標,協調各子系統的行為、功能與目標,以保證整體功能目標的實現。

目標優化原則。所謂目標優化原則對簡單系統來說,是求最優解,對復雜系統來說,求的是滿意解。一定要注意,目標優化原則并不簡單是求最優解的問題

這里最需要指出的是:以上三原則是系統方法中處理復雜系統問題的三個主要原則,并非全部原則。在處理實際問題時,還需在這些原則的指導下,根據問題的特點,確定求解的具體方法和策略。

4.2 系統設計的體系結構

本庫存管理信息系統的設計及開發采用了流行的B/S(瀏覽器/服務器)模式的數據庫體系,用戶端口主要負責人機交互,包括一些與數據和應用關系的圖形和界面運用;Web服務器主要負責對客戶端應用程序的集中管理;應用服務器主要負責應用系統的邏輯結構和數據關系,即事務處理;應用服務器又可以根據其處理的具體業務不同而分為多個;數據服務器則主要負責數據的存儲和組織、分布式管理、備份和同步等等。

4.3 系統設計的任務

系統開發的總體任務是實現庫存信息的系統化、規范化和自動化。庫存管理信息系統是一個將用戶管理、庫存管理、庫存入庫、庫存出庫和庫存管理等功能融為一體的系統。一個完整的庫存管理信息系統的任務主要包括以下幾項:

(1).庫存管理,主要負責管理庫存基本信息,包括庫存信息的添加、刪除和查詢。

(2).庫存入庫,主要負責庫存入庫的登記,包括庫存入庫信息的添加、刪除和查詢。

(3).庫存出庫,主要負責庫存出庫的登記,包括庫存出庫信息的添加、刪除和查詢。

(4).庫存存庫,主要負責對當前庫存存庫信息的查詢。

(5).用戶管理,主要負責管理用戶基本信息,包括用戶信息的添加、刪除。

4.4 數據庫綜述

數據庫是一種存儲數據并對數據進行操作的工具。數據庫的作用在于組織和表達信息,簡而言之,數據庫就是信息的集合。數據庫在系統中占有非常重要的地位,數據庫設計的好壞將直接影響系統的效率。合理的數據庫設計可以提高數據存儲的效率,有利于程序的實現。

創建任何一個數據庫的第一步是仔細的規劃數據庫,設計必須是靈活的、有邏輯的。創建一個數據庫結構的過程被認為是數據模型設計。

1.標識需要的數據;

2.收集被標識的字段到表中;

3.標識主關鍵字字段;

4.繪制一個簡單的數據圖表;

5.規范數據;

6.標識指定字段的信息;

7.創建物理表。

4.5 系統E-R圖

由于直接將顯示世界信息按具體的數據組織模型進行組織,必須同時考慮很多因素,設計工作非常復雜,并且效果也不很理想,因此,需要一種方法來對現實世界的信息結構進行描述。E-R方法就是一種實體–關系方法,而其使用的工具就是E-R圖。E-R圖由實體、實體的屬性以及實體之間的關系三部分組成,實體是具有相同的性質并且彼此之間可以相互區分的現實世界對象的集合;屬性是實體所具有的特征,它是描述實體或者關系的性質的數據項;實體之間的關系通常是指不同實體之間的關系。

1. 實體:管理員

c879201b92f93019b8c5f87e3e5506b5  圖4-1 管理員實體E-R圖

2. 實體:供應商

9ebfb2a997aa2d3e69ad2b7b7bb5c8ee  圖4-2 供應商實體E-R圖

3. 實體:庫存存庫

3c0909ceb8c62fbd8dd9472fcd5cb025  圖4-3庫存存庫實體E-R圖

3cb0869021b6d7c951e125f0e2700a90

圖4-4 入庫報表實體E-R圖

5. 實體:庫存出庫

5a44793b5be4567497a17b2e7f79f00f

圖4-5 出庫報表實體E-R圖

根據以上局部E-R圖模式,經過總結設計,可得到總體設計的全局E-R模型:

1660efb305cdac19e73593a4adfbe34b

圖4-6總體E-R圖

第5章 系統界面設計

進入庫存管理信息系統,首先看到的是系統的登錄界面,輸入有效的用戶名和密碼才可以進入系統管理界面,界面如下圖所示。

8a91a319a63fd43fc46fe062ac505306  (1)系統管理界面設計

系統登陸成功后進入系統管理界面,在此可以進行不同信息的管理,界面如下圖所示。

9b8eab913c276e46b5426ee9135612a0  (2)庫存入庫界面設計

點擊庫存管理信息系統的“庫存入庫”進入庫存入庫信息管理界面,在此可以進行相應的庫存入庫信息添加。界面如下圖所示。

c660f3af20f50d82e28c163e91b31c0a  (3)庫存出庫界面設計

點擊庫存管理信息系統的“出庫信息”進入庫存出庫信息界面,在此可以進行相應的庫存出庫信息添加。界面如下圖所示。

dbfd7fe127b611db60a375448bc5004e  (4) 庫存查看界面設計

點擊庫存管理信息系統的“庫存查看”進入庫存庫存信息界面,界面如下圖所示

ba021e7ff7acff2f6b7feadc908351b5  第6章 測試

6.1 測試的任務及目標

6.1.1 測試的任務

在軟件投入生產性運行之前,盡可能多地發現軟件中的錯誤。

6.1.2測試的目標

(1)測試的目的是為了發現程序中的錯誤而執行程序的過程。

(2)好的測試方案是極可能發現迄今為止尚未發現的錯誤的測試方案。

(3)成功的測試是發現了到今為止尚未發現的的錯誤的測試。

6.2 測試方案

測試有兩種方法:黑盒測試和白盒測試。

黑盒測試又稱為功能測試,在程序接口進行,只檢查程序功能是否能夠按照規格說明書的規定正確使用,程序是否能適當地接收輸入數據并發生正確的輸出信息,而且要能夠保持外部信息的完整性。白盒測試又叫結構測試,完全了解程序的結構和處理過程,這種方法按照程序內部的邏輯測試程序,檢驗程序中每條通路是否都能按照預定要求正確工作。

6.3 測試用例

測試是軟件開發時期的最后一個階段,也是軟件質量保證中至關重要的一個環節,它的目的是發現程序的錯誤和不足之處。

本系統采用黑盒測試中的等價類法,對系統進行測試。檢測庫存管理系統有問題需要大量的輸入數據,下面只列出一部分測試用例:

建立有效等價類是管理員名稱和密碼都正確,期望結果:登錄成功!無效等價類如表6-1所示:

表6-1 管理員登錄無效等價類

無效等價類 期望結果
名稱空缺

密碼空缺

管理員名稱錯誤

管理員密碼錯誤

用戶名為空!

密碼為空!

用戶名或密碼錯誤!

用戶名或密碼錯誤!

測試用例:

第1組:用戶名:adom 密碼:admin

測試結果:進入管理界面界面(ad1.jsp)

第2組:用戶名:密碼:admin

測試結果:用戶名為空!

第3組:用戶名:admin密碼:

測試結果:密碼為空!

第4組:用戶名:admin密碼:123

測試結果:用戶名或密碼錯誤!

第5組:用戶名:123 密碼:admin

測試結果:用戶名或密碼錯誤!

除了對上述模塊進行測試,其他部分也要進行測試,方法類似,這里就不在舉例了。

結 論

這次論文的撰寫工作已經結束了,按照軟件工程的思想,采用了MVC設計模式,通過問題定義、可行性研究、需求分析、概要設計、詳細設計、測試的過程,對在線閱讀網站系統的整個開發過程做了詳細的闡述,同時,遵循結構化程序設計,對軟件開發步驟做了詳細的規劃。

本文對基于JSP技術的庫存管理系統,闡述了庫存管理的需求和應用MVC設計模式的軟件體系結構,進一步熟悉了JSP及相關技術,了解了開發平臺的其他相關技術如JS,AJAX等頁面實現技術。

該庫存管理系統實現了入庫和出庫等各項功能,能夠追朔到數據的始終。完成了在庫存系統從需求到實現的開發過程,達到預期要求目的。該系統在開發過程中仍存在許多的缺點和不足,因為本人是第一次做系統程序的開發,經驗不足,能力有限,所以開發出的系統軟件功能還不夠完善,我以后在系統設計需要應該注意和解決的問題。

致 謝

短暫畢業設計已經接近了尾聲。在這段時間里,鞏固了我在大學期間所學,增強了我的實際動手能力,提高了我與老師、同學以及朋友之間的溝通能力,使 我充滿信心來面對明天的各種機遇和挑戰。

感謝所有燃燒自己,照亮別人的園丁們,我將帶著你們的希望,以不同的方式,在祖國的現代化建設中奮斗。

在本次畢業設計過程中,得到了指導老師的指導與支持。在此特別感謝老師的大力幫助。指導老師的悉心指導和大力支持,在總體結構、功能的把握上給予了非常大的幫助,同時根我們提供了非常優越的設計環境,并對我在編程、數據庫設計等細節工作上給予了耐心的指導,對于我們小組順利完成這次畢業設計起到了關鍵性的作用。

我還要感謝我的母?!獫绰殬I技術學院,以及在大學三年生活中給予我關心和幫助的老師和同學,是他們教會了我專業的知識和做人的道理。通過這次畢業設計我還明白了作為一名計算機專業的大學畢業生,我們要會的不僅僅是編寫代碼,更重要的是要有整體把握系統設計的能力。我會在以后的工作和學習中不斷完善自己,為我最熱愛的母校爭光,為自己翻開輝煌的新篇章。

轉眼間,大學生活即將結束,回首過去三年的大學生活,真是有苦也有樂,然而更多的則是收獲,感謝母校的各位老師不但無私地傳授給我們知識,也教會了我們如何做人。計算機專業的畢業設計任務繁重,但正是在這幾個月緊張而充實的設計中,我感到自己的知識得到了一次升華,我相信:我的畢業設計會給我的四年大學畫上一個圓滿的句號。

新世紀已經到來了,在新的世紀里,人們自然對未來有許多美好的愿望和設想?,F代科學技術的飛速發展,改變了世界,也改變了世界的生活。作為新世紀的大學生,應當站在世界的發展前列,掌握現代科學技術知識,調整自己的知識結構和能力結構,以適應社會發展的要求。新世紀需要具有豐富現代科學知識、能夠獨立解決面臨任務、有創新意識的新型人才。

參考文獻

[1]孫衛琴,李洪成.《Tomcat 與 Java Web 開發技術詳解》.電子工業出版社,2003年6月

[2]BruceEckel.《Java編程思想》. 機械工業出版社,2003年10月

[3]FLANAGAN.《Java技術手冊》. 中國電力出版社,2002年6月

[4]孫一林,彭波.《Java數據庫編程實例》. 清華大學出版社,2002年8月

[5]LEE ANNE PHILLIPS.《巧學活用HTML4》.電子工業出版社,2004年8月

[6]飛思科技產品研發中心.《JSP應用開發詳解》.電子工業出版社,2003年9月

[7]耿祥義,張躍平.《JSP實用教程》. 清華大學出版社,2003年5月

[8]孫涌.《現代軟件工程》.北京希望電子出版社,2003年8月

[9]薩師煊,王珊.《數據庫系統概論》.高等教育出版社,2002年2月

[10]Brown等.《JSP編程指南(第二版)》. 電子工業出版社 ,2003年3月

[11]清宏計算機工作室.《JSP編程技巧》. 機械工業出版社, 2004年5月

[12]朱紅,司光亞.《JSP Web編程指南》.電子工業出版社, 2001年9月

[13]賽奎春.《JSP工程應用與項目實踐》. 機械工業出版社, 2002年8月

[14]美.霍爾著鐘鳴等譯. Servlet與JSP權威指南. 機械工業出版社. 2002-10-1

[15]劉彬主編. JSP數據庫高級教程. 清華大學出版社. 2006-3-1

[16]飛思科技產品研發中心編著. SQLServer2000高級管理與開發. 電子工業出版社.2002-1-1

[17趙杰等編著. 數據庫原理與應用(SQLServer). 人民郵電出版社. 2006-7-1

倉庫管理系統的設計與實現

倉庫管理系統的設計與實現

VIP月卡免費
VIP年會員免費
價格 ¥9.90 發布時間 2023年11月8日
已付費?登錄刷新
下載提示:

1、如文檔侵犯商業秘密、侵犯著作權、侵犯人身權等,請點擊“文章版權申述”(推薦),也可以打舉報電話:18735597641(電話支持時間:9:00-18:30)。

2、網站文檔一經付費(服務費),不意味著購買了該文檔的版權,僅供個人/單位學習、研究之用,不得用于商業用途,未經授權,嚴禁復制、發行、匯編、翻譯或者網絡傳播等,侵權必究。

3、本站所有內容均由合作方或網友投稿,本站不對文檔的完整性、權威性及其觀點立場正確性做任何保證或承諾!文檔內容僅供研究參考,付費前請自行鑒別。如您付費,意味著您自己接受本站規則且自行承擔風險,本站不退款、不進行額外附加服務。

原創文章,作者:1158,如若轉載,請注明出處:http://www.therealfoodists.com/chachong/162861.html,

(0)
上一篇 2023年8月27日
下一篇 2023年8月27日

相關推薦

My title page contents 毛片操逼视频A片|国产欧美成AV人高清|嫖妓特黄AV在线|无码AV天堂免费网址
? ? ?