第一篇:基于VB技術的倉庫管理系統(tǒng)的設計與實現(xiàn)
摘要
庫存管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強.數(shù)據(jù)安全性好的庫。而對于后者則要求應用程序功能完備,易操作易使用等特點。
經(jīng)過分析如此情況,我決定使用微軟公司的Visual Basic 6為開發(fā)工具,利用其提供的各種面向對象的開發(fā)工具,尤其是ADO,是能方便而簡潔操縱數(shù)據(jù)庫的智能化對象,短期內(nèi)就可以開發(fā)出用戶滿意的可行系統(tǒng)。
主題詞:倉庫管理;數(shù)據(jù)庫;VB6;ADO
第 i 頁
目錄
摘要.................................................................................................................i ABSTRACT..........................................................................錯誤!未定義書簽。第一章
緒論......................................................................................................1
1.1 選題背景...........................................................................................................1 1.2 設計目標...........................................................................................................1 第二章
相關理論基礎.......................................................................................2
2.1 Visual Basic 6.....................................................................................................2
2.1.1 Visual Basic 6的功能特點.....................................................................2 2.1.2 Visual Basic 6中的基本概念.................................................................3 2.2 Access2000數(shù)據(jù)庫............................................................................................4
2.2.1 Access的總體結構.................................................................................4 2.2.2 VB6和Access的連接...........................................................................5
第三章
需求分析...............................................................................................6
3.1 需求分析...........................................................................................................6
3.1.1 系統(tǒng)數(shù)據(jù)流程圖....................................................................................7 3.1.2 功能需求及設計思想............................................................................7
第四章
系統(tǒng)設計.............................................................................................11
4.1 系統(tǒng)功能設計.................................................................................................11
4.1.1 系統(tǒng)功能模塊圖..................................................................................11 4.1.2 系統(tǒng)各模塊說明..................................................................................11 4.2 數(shù)據(jù)庫設計.....................................................................................................12
4.2.1 創(chuàng)建數(shù)據(jù)庫..........................................................................................12 4.2.2 數(shù)據(jù)表結構..........................................................................................12 4.2.3 數(shù)據(jù)庫中各表的關系..........................................................................16
第五章
倉庫管理原型系統(tǒng)實現(xiàn).......................................................................16
5.1 數(shù)據(jù)庫實現(xiàn).....................................................................................................16
5.1.1 連接數(shù)據(jù)庫..........................................................................................17 5.1.2 建立數(shù)據(jù)表..........................................................................................18 5.2倉庫管理系統(tǒng)主要界面及使用說明..............................................................18
5.2.1 系統(tǒng)登錄界面......................................................................................19 5.2.2 系統(tǒng)主界面..........................................................................................19 5.2.3 系統(tǒng)管理模塊......................................................................................20
第 ii 頁 5.2.4 倉庫管理模塊......................................................................................22 5.2.5 物料管理模塊......................................................................................25 5.2.6 報表查詢模塊......................................................................................29 5.4 系統(tǒng)測試.........................................................................................................31
5.4.1 菜單測試..............................................................................................32 5.4.2各功能模塊測試...................................................................................32 5.4.3 數(shù)據(jù)跟蹤測試......................................................................................32
第六章
小結與展望.........................................................................................33
6.1 成績及不足.....................................................................................................33
6.1.1 成績......................................................................................................33 6.1.2 不足......................................................................................................33 6.2 展望.................................................................................................................34 致
謝..............................................................................................................36 參考文獻...........................................................................................................37
第 iii 頁
第一章
緒論
1.1 選題背景
隨著計算機技術的發(fā)展,計算機管理已越來越多地運用到了各個領域。在現(xiàn)代企業(yè)的各個環(huán)節(jié)已離不開計算機了。各種各樣的管理軟件也應運而生。
企業(yè)的庫存物資管理往往是很復雜、很繁瑣的。由于所掌握的物料種類眾多,訂貨、管理、發(fā)放的渠道各有差異,各個企業(yè)之間的管理體制不盡相同,各類統(tǒng)計報表繁多,因此倉庫管理必須編制一套倉庫管理信息系統(tǒng),實現(xiàn)計算機化操作,而且必須根據(jù)企業(yè)的具體情況制定相應的方案。
一般倉庫管理系統(tǒng),總是根據(jù)所掌握的物資類別,相應分成幾個部門來進行物料的計劃,訂貨,核銷托收,驗收入庫,根據(jù)企業(yè)各個部門的需求來發(fā)送物資設備,并隨時按期進行庫存盤點,作臺帳,根據(jù)企業(yè)管理的需要按月、季度、年度進行統(tǒng)計分析,產(chǎn)生相應報表。根據(jù)我公司的實際情況分析,一般的倉庫管理系統(tǒng)并不能滿足公司的需求,而且每套系統(tǒng)的成本也過高。因此有必要開發(fā)一套特定的倉庫管理系統(tǒng)來提高公司的工作效率,減少因人為因素而導致的物料損失。通過對這些情況的仔細調(diào)查,我開發(fā)了下面的倉庫管理系統(tǒng)。
1.2 設計目標
倉庫管理系統(tǒng)可主要實現(xiàn)下列目標: ? 操作簡單方便、界面簡潔美觀。? 能完成倉庫的各種日常操作。
? 能很好的預防各自人為因素產(chǎn)生的錯誤操作
? 能夠為用戶提供多種條件的查詢操作,為物料管理提供準確及時的數(shù)據(jù) ? 可實現(xiàn)盤點報表及盤點后的物料調(diào)整 ? 具有很好的安全性,以保證數(shù)據(jù)的正確性 ? 可追溯數(shù)據(jù)的歷史信息,為系統(tǒng)完善提供依據(jù)
第 1 頁
第二章
相關理論基礎
本系統(tǒng)主要采用VB6 + Access2000相結合的技術來進行開發(fā),用戶界面的設計是用VB6來進行的,后臺數(shù)據(jù)庫使用Access2000。與數(shù)據(jù)庫的連接則使用ADO的相關功能來完成的。
在系統(tǒng)需涉及的一些相關技術概述如下。
2.1 Visual Basic 6 Visual意為“可視化的”,指的是一種開發(fā)圖形用戶界面的方法,所以Visual Basic是基于Basic的可視化的程序設計語言。在Visual Basic中,一方面繼承了Basic所具有的程序設計語言簡單易用的特點,另一方面在其編程系統(tǒng)中采用了面向對象、事件驅動的編程機制,用一種巧妙的方法把Windows的編程復雜性封裝起來,提供了一種所見即所得的可視化程序設計方法。VB6是指Visual Basic 6.0的版本。
2.1.1 Visual Basic 6的功能特點
A)具有面向對象的可視化設計工具:在VB中,應用面向對象的程序設計方法(OOP),把程序和數(shù)據(jù)封裝起來視為一個對象,每個對象都是可視的。程序員在設計時只需用現(xiàn)有工具根據(jù)界面設計要求,直接在屏幕上“畫”出窗口、菜單、按鈕、滾動條等不同類型的對象,并為每個對象設置屬性。程序員的編程工作僅限于編寫相關對象要完成的功能程序,因而程序設計的效率可大大提高。
B)事件驅動的編程機制:事件驅動是非常適合圖形用戶界面的編程方式。在圖形用戶界面的應用程序中,是由用戶的動作即事件掌握著程序運行的流向,每個事件都能驅動一段程序的運行。程序員只要編寫響應用戶動作的代碼,而各個動作之間不一定有聯(lián)系。
C)提供了易學易用的應用程序集成開發(fā)環(huán)境:在VB集成開發(fā)環(huán)境中,用戶可設計界面、編寫代碼、調(diào)試程序,直至把應用程序編譯成可執(zhí)行文件在Windows中運行,使用戶在友好的開發(fā)環(huán)境中工作。
D)結構化的程序設計語言:VB6具有豐富的數(shù)據(jù)類型和結構化程序結構,作為一種程序設計語言,它還有如下一些特點:強大的數(shù)值和字符串處理功能;豐富的圖形指令,可方便地繪制各種圖形;提供靜態(tài)和動態(tài)數(shù)組,有利于簡化內(nèi)存的管理;過程可遞歸調(diào)用,使程序更為簡練;支持隨機文件和順序文件的訪問;提供了一個可供應用程序調(diào)用的包含多種類型的圖標庫;具有完善的運行出錯處
第 2 頁 理。
E)支持多種數(shù)據(jù)庫系統(tǒng)的訪問:利用數(shù)據(jù)控件可訪問的數(shù)據(jù)庫系統(tǒng)有:Microsoft Access、SQL server、DBASE、Microsoft FoxPro和Oracle等,也可以訪問Microsoft Excel、Lotus1-2-3等多種電子表格。
F)支持動態(tài)數(shù)據(jù)交換(DDE)、動態(tài)鏈接庫(DLL)和對象的鏈接與嵌入(OLE)技術。
G)完備的HELP聯(lián)機幫助功能:與Windows環(huán)境下的軟件一樣,在VB中,利用幫助菜單和F1功能鍵,用戶可以隨時方便地得到所需要的幫助信息。VB幫助窗口中顯示了有關的示例代碼,通過復制、粘貼操作可獲取大量的示例代碼,為用戶的學習和使用提供了極大的方便。
VB程序設計的概念就是面向對象的概念,對象就是數(shù)據(jù)(DATA)和代碼(CODE)互相結合的綜合體。Windows上面的每一個圖標,包括窗口本身都是對象,如果沒有任何事情發(fā)生,對象處于停頓狀態(tài)。當存在外來事件時,程序段執(zhí)行,它的執(zhí)行是由外來事件決定的。因此是“事件”驅動的。
編寫VB程序較為簡單,首先將各個對象放在空白窗體上,然后將程序代碼分別添加給對象或圖標,將它們組合起來就可以隨意運行了。
在VB中,窗體實際上是一個對象,VB的窗體含有許多內(nèi)嵌特性,這使得用戶界面部分的建立像是從一個目錄中挑選一個個合適的控件,而不是從零開始一步一步地建立控件。這種開發(fā)者能親眼看到的程序設計過程就是“可視化程序設計”(Visual Programming)。
2.1.2 Visual Basic 6中的基本概念
對象:面向對象編程(OOP)的提法大家一定也很耳熟,雖然Visual Basic并不是完全的面向對象編程,但也利用了對象編程技術。對象簡單地說就是大家經(jīng)??吹降母鞣N窗口、按鈕、文本框甚至打印機等。
屬性:如同電視有黑白、彩色之分一樣,作為對象的Windows中的窗口也是有大有小,文本框的位置不可能完全一樣,菜單要顯示出不同的功能,這些都是由對象的屬性決定的。不同對象的屬性可能不同。屬性一般決定了對象的位置、大小、顯示等情況。
方法:就是對象能夠做的事,如打印機對象就有打?。≒rint)方法、窗口對象支持隱藏(Hide)方法、很多對象支持移動(Move)方法等。
事件:就是對象對用戶各種操作的反映情況。如用戶用鼠標按一下按鈕,就會觸發(fā)按鈕的“按”(Click)事件。
第 3 頁 控件:控件就是Visual Basic提供的編程用的模塊,與對象有直接的聯(lián)系,如同積木的木塊,使用這樣的控件,就可以像拼圖或堆積木一樣“搭”、“拼”你的程序界面。Visual Basic中使用控件,簡化了Windows中的窗口、按鈕等對象的編程設計。每個控件都有各自的屬性、事件及方法。只需修改這些特征你就可以隨心所欲地編程了。最重要的是,你可以利用成千上萬的各種擴充的控件來快速構造幾乎能滿足你任何要求的程序。例如,如果你不滿意Windows簡陋的媒體播放器,你就可以使用VB的多媒體控件在1小時以內(nèi)設計一個完全自己風格的能夠播放CD、VCD的多媒體播放器,而功能完全與之相當。
2.2 Access2000數(shù)據(jù)庫
作為Microsoft的office套件產(chǎn)品之一,Access已經(jīng)成為世界上最流行的桌面數(shù)據(jù)庫系統(tǒng)。Access與許多優(yōu)秀的關系數(shù)據(jù)庫一樣,可以讓你很容易地連接相關的信息而且還對其他的數(shù)據(jù)庫系統(tǒng)有所補充。它能操作其它來源的資料,包括許多流行的PC數(shù)據(jù)庫程序(如dBase,Paradox,Microsoft FoxPro)和服務器、小型機及大型機上的許多SQL數(shù)據(jù)庫。Access還完全支持Microsoft的OLE技術。
Access還提供windows操作系統(tǒng)的高級應用程序開發(fā)系統(tǒng)。Access與其它數(shù)據(jù)庫開發(fā)系統(tǒng)之間相當顯著的區(qū)別就是:您不用寫一行代碼,就可以在很短的時間里開發(fā)出一個功能強大而且相當專業(yè)的數(shù)據(jù)庫應用程序,并且這一愉快的過程是完全可視的!如果您能給它加上簡短的VBA代碼,那么您的程序決不比專業(yè)程序員潛心開發(fā)的程序差。
2.2.1 Access的總體結構
Access將所有有名字的東西都成為對象(object),在Access 2000中,最重要的對象有表,查詢,窗體,報表,宏和模塊。
表:用戶定義的存儲資料的對象。每一個表都包含有關某個主體的信息。表包括存儲不同種類資料的字段(列),而記錄(行)則收集特定主體實例的所有信息。
查詢:為來自一個或多個表的資料提供定制視圖的對象。在Access中,可以利用圖形化的實例查詢機制(QBE)或通過SQL語句來建立查詢。你可以在查詢中選擇、更新、插入或刪除資料,也可以用查詢來建立新表。
窗體:窗體是主要的人機接口。大量的操作(幾乎所有)都要通過窗體完成。窗體通過運行宏(macro)或Visual Basic for Applications(VBA)過程,來響應大
第 4 頁 量的事件。Access 2000為我們提供了強大的(同時也是相當方便的向導)來建立標準的Windows窗體。
報表:為格式化、計算、打印選定資料而設計的對象。它是衡量一個優(yōu)秀的數(shù)據(jù)庫的重要標準(有時甚至是唯一的標準)。
宏:為了響應已定義的事件,需要讓Access去執(zhí)行一個或多個操作,而宏就是對這些操作的結構化的定義對象。它可以讓你像堆積木一樣建立一個功能強大的程序,而無須寫大量的代碼。
模塊:包括用VBA編碼的定制過程的一個對象。模塊提供了獨立的動作流以捕獲錯誤,而宏做不到。模塊能直接響應窗體或報表事件,也可以從應用程序的任何地方被調(diào)用。
2.2.2 VB6和Access的連接
在進行系統(tǒng)開發(fā)時,一個很重要的步驟就是建立數(shù)據(jù)庫的連接,即訪問數(shù)據(jù)庫。VB6提供了多種方式訪問數(shù)據(jù)庫,其中以ODBC與ADO應用最多。早期還有RDO,DAO等。
2.2.2.1 ODBC連接數(shù)據(jù)庫
ODBC(Open Database Connectivity,開放數(shù)據(jù)庫連接)是微軟開放服務結構中有關數(shù)據(jù)庫的一個組成部分。它建立了一組規(guī)范,并提供了一組應用程序調(diào)用接口。用這樣一組接口建立的應用程序,對數(shù)據(jù)庫的操作不依賴于任何數(shù)據(jù)庫管理系統(tǒng),不直接與任何DBMS打交道,由此可實現(xiàn)應用程序對不同DBMS的共享。數(shù)據(jù)庫操作的“數(shù)據(jù)源”對應用程序是透明的,所有的數(shù)據(jù)庫操作由對應DBMS的ODBC驅動程序(ODBC Driver)完成。有了ODBC驅動程序,數(shù)據(jù)源就變得十分廣泛,它可以是本機的某種數(shù)據(jù)庫格式的文件(如本機DOS目錄下的Access文件*.mdb),也可以是遠程數(shù)據(jù)庫文件(如Microsoft SQL Server);它可以是目前已知的某種DBMS格式,也可以是一種全新的數(shù)據(jù)庫格式。
在ODBC方式中,不管底層網(wǎng)絡環(huán)境如何,也無論采用何種DBMS,用戶在程序中都使用同一套標準代碼,源程序可以不因底層的變化而重新編建或修改,從而減輕了開發(fā)維護的工作量,縮短了開發(fā)周期。但ODBC訪問數(shù)據(jù)庫的速度較慢,而且需為每個客戶端配置ODBC數(shù)據(jù)源。
2.2.2.2 ADO連接數(shù)據(jù)庫
微軟公司的ADO(ActiveX Data Objects)是一個用于存取數(shù)據(jù)源的COM組件。它提供了編程語言和統(tǒng)一數(shù)據(jù)訪問方式OLE DB的一個中間層。允許開發(fā)
第 5 頁 人員編寫訪問數(shù)據(jù)的代碼而不用關心數(shù)據(jù)庫是如何實現(xiàn)的,而只用關心到數(shù)據(jù)庫的連接。訪問數(shù)據(jù)庫的時候,關于SQL的知識不是必要的,但是特定數(shù)據(jù)庫支持的SQL命令仍可以通過ADO中的命令對象來執(zhí)行。
ADO包含一些頂層的對象:
連接,代表到數(shù)據(jù)庫的連接
記錄集,代表數(shù)據(jù)庫記錄的一個集合命令,代表一個SQL命令
記錄,代表數(shù)據(jù)的一個集合流,代表數(shù)據(jù)的順序集合
錯誤,代表數(shù)據(jù)庫訪問中產(chǎn)生的意外
字段,代表一個數(shù)據(jù)庫字段
參數(shù),代表一個SQL參數(shù)
屬性,保存對象的信息
ADO向VB程序員提供了很多好處。包括易于使用,熟悉的界面,高速度以及較低的內(nèi)存占用。同傳統(tǒng)的數(shù)據(jù)對象層次(DAO和RDO)不同,ADO可以獨立創(chuàng)建。因此你可以只創(chuàng)建一個“Connection”對象,但是可以有多個,獨立的“Recordset”對象來使用它。ADO針對客戶/服務器以及WEB應用程序作了優(yōu)化。
ADO 是基于OLE DB的訪問接口,它是面向對象的OLE DB技術,繼承了OLE DB的優(yōu)點。屬于數(shù)據(jù)庫訪問的高層接口。開發(fā)人員在使用ADO時,其實就是在使用OLE DB,不過OLE DB更加接近底層。ADO向我們提供了一個熟悉的,高層的對OLE DB的Automation封裝接口。
VB應用程序Microsoft.Jet.OLEDBAccess2000數(shù)據(jù)庫 圖2.1 VB應用程序與數(shù)據(jù)庫的連接
第三章
需求分析
3.1 需求分析
第 6 頁 軟件需求分析是軟件開發(fā)周期的第一個階段,也是關系到軟件開始成敗的關鍵步驟。準確、完整和規(guī)范化的軟件需求是軟件開發(fā)成功的關鍵。
3.1.1 系統(tǒng)數(shù)據(jù)流程圖
在研究了用戶提供的原始資料及要求后,畫出了系統(tǒng)的數(shù)據(jù)流程圖如下所示。
增料操作產(chǎn)品管理物料管理訂單管理供應商管理倉位管理退料操作查詢倉庫收料倉庫發(fā)料生產(chǎn)計劃盤點報表 圖3-1 數(shù)據(jù)流程圖
3.1.2 功能需求及設計思想 3.1.2.1 總體架構思想
本倉庫管理系統(tǒng)是利用Client/Server結構,即客戶機/服務器模式。這種CS模式適用于局域網(wǎng)、安全性可以得到可靠的保證。它為數(shù)據(jù)提供了更安全的存取模式。響應速度快。程序開發(fā)具有很強的針對性,因此,操作界面漂亮,形式多樣,可以充分滿足客戶自身的個性化要求。
第 7 頁
VB應用程序Access2000數(shù)據(jù)庫 圖3-2 C/S結構示意圖
3.1.2.2 物料管理模塊
首先我們?yōu)槊恳粋€物料制定出唯一的一個代碼,在整個物料管理過程中都將以這個代碼來管理物料。設計代碼如下:1 Y Y Y – X X X X;其中1代表是物料。YYY代表序列號,XXXX由系統(tǒng)自動給出。每增加一個物料時,系統(tǒng)都會給出此物料的代碼。
對于物料數(shù)量上的控制采用最大最小數(shù)量法。如果當前數(shù)量小于最小數(shù)量,則需出訂單去采購,如果大于最大數(shù)量則不允許再出訂單。自動訂單是根據(jù)這個原則產(chǎn)生的。
物料根據(jù)其價值分為A,B,C三類,可以為每一種類型的物料制定不同的控制方法。
A類物品:高值──價值占庫存總值70-80%的相對少數(shù)物品。通常為物品的15-20%。
B類物品:中值──總值占庫存總值的15-20%。物品數(shù)居中,通常占物品的30-40%。
C類物品:低值──庫存總值幾乎可以忽略不計,只占5-10%。是物品的大多數(shù),通常占60-70%。
3.1.2.3 供應商管理模塊
供應商管理模塊記錄公司所有供應商的情況,以保證每個供應商都是經(jīng)過認證的。并且為每個供應商編制一個統(tǒng)一的代碼。以代碼來代表供應商,可以減少數(shù)據(jù)庫中的數(shù)據(jù)量。
供應商管理模塊還包括公司的物料在供應商處的代碼。就像我們?nèi)ベI東西,我們不但要知道去哪里買,還要知道買什么。供應商代碼只提供我們?nèi)ツ睦镔I,第 8 頁 而物料在供應商的代碼則是解決了要買什么的問題。
系統(tǒng)為了統(tǒng)一管理,加強控制。將這兩個信息結合在一起給出一個綜合代碼。例如我們?nèi)ト嗣裆虉鲑I一件衣服給出一個綜合代碼為4000-0001,而去長發(fā)商場去買同一件衣服則給出的綜合代碼為4000-0002,這樣處理有利于更好的分清每個物料及供應商之間的關系。為生產(chǎn)線提供更多的更全的數(shù)據(jù)。
3.1.2.4 產(chǎn)品管理模塊
物料是指公司從供應商處買來的,是半成品。產(chǎn)品是公司生產(chǎn)的。同樣,我們也需為公司的每一個產(chǎn)品編制一個代碼。方便管理。另一方面,還需建立產(chǎn)品與物料之間的聯(lián)系。即產(chǎn)品組成表。表示某個產(chǎn)品是由哪些物料組成的。在制作生產(chǎn)計劃時,只需給出生產(chǎn)的產(chǎn)品代碼,而無需給出每一個物料的代碼。
3.1.2.5 訂單管理模塊
訂單管理主要任務是產(chǎn)生訂單。產(chǎn)生定單的方法有兩種,一種是自動定單。一種是手工下單。自動定單是系統(tǒng)根據(jù)當前的物料狀況及物料控制方法來對每一個物料進行分析,如果符合下單條件則自動產(chǎn)生一個訂單,經(jīng)確認后就為有效訂單。在確認過程中,可以對訂單進行各種操作。手工下單就是人為地去采購某一種物料,并且把這個訂單記錄到系統(tǒng)中去。自動訂單可以一次下多個定單,手工下單只能一個一個產(chǎn)生訂單。
訂單是倉庫進行收料操作的基礎。
3.1.2.6 倉庫收料
倉庫根據(jù)系統(tǒng)發(fā)出的訂單進行收料。
3.1.2.7 生產(chǎn)計劃管理模塊
此模塊主要是管理生產(chǎn)計劃。根據(jù)產(chǎn)品及生產(chǎn)數(shù)量,日期等不同將生產(chǎn)分為一批一批,利用生產(chǎn)計劃號,即工單號來區(qū)分。每次計劃產(chǎn)生前,系統(tǒng)會根據(jù)產(chǎn)品組成表提供的信息來檢驗當前的物料狀況,如果物料不能滿足此次生產(chǎn),則不能成功產(chǎn)生生產(chǎn)計劃。
倉庫的發(fā)料也是根據(jù)生產(chǎn)計劃來進行的。每個生產(chǎn)計劃都會自動產(chǎn)生一個發(fā)料清單。
3.1.2.8 倉位管理模塊
第 9 頁 倉位管理記錄了倉庫每個倉位存放的物料。
3.1.2.9 倉庫發(fā)料
倉庫根據(jù)生產(chǎn)計劃給出的工單號來進行發(fā)料。發(fā)料時,即可以一次性發(fā)多個料,即按工單發(fā)料;也可以按物料一個一個來發(fā)??勺杂蛇x擇。也可以兩種方法結合在一起來發(fā)料。
3.1.2.10 生產(chǎn)增料和退料
生產(chǎn)增料代表了生產(chǎn)損耗。為了核算每批產(chǎn)品的生產(chǎn)成本,因此增料操作需按生產(chǎn)計劃號來進行。即每個生產(chǎn)增料都需確定到每個計劃號,因此增料是以生產(chǎn)計劃號為基礎的。
生產(chǎn)退料是生產(chǎn)線將好的物料退回給倉庫。
3.1.2.11 盤點管理
倉庫每月,每季及每年都要進行盤點。盤點時需提供盤點報表及盤點調(diào)整。
3.1.2.12 報表與查詢
需提供根據(jù)各種條件來得到查詢結果。條件即可以是單個條件也可以組合條件。查詢結果分為三個部分,一部分是基本信息,另一部分是訂單信息,以及生產(chǎn)計劃信息。
3.1.2.13 操作日志
記錄系統(tǒng)內(nèi)主要的數(shù)據(jù)的操作,以便日后查詢所需。
第 10 頁
第四章
系統(tǒng)設計
在進行了需求分析、確定了設計思想之后,就要進行系統(tǒng)的功能設計和數(shù)據(jù)庫的設計。
4.1 系統(tǒng)功能設計
4.1.1 系統(tǒng)功能模塊圖
在仔細分析了公司的物料數(shù)據(jù)圖后,決定將整個系統(tǒng)分為四大模塊,每個模塊又有若干個子模塊。整個系統(tǒng)功能模塊如下圖所示:
倉庫管理系統(tǒng)系統(tǒng)管理模塊倉庫管理模塊物料管理模塊報表查詢模塊重登錄修改密碼用戶管理退出入庫操作出庫操作退料操作增料操作倉位管理盤點損益物料管理產(chǎn)品管理供應商管理生產(chǎn)計劃訂單管理查詢出庫操作盤點報表圖4-1 系統(tǒng)功能模塊圖
4.1.2 系統(tǒng)各模塊說明 4.1.2.1 系統(tǒng)管理模塊
在此功能模塊,用戶可以進行用戶間的切換,修改密碼,及退出。對于管理員和超級用戶還可以進行用戶管理。
4.1.2.2 倉庫管理模塊
倉庫管理模塊可完成倉庫的主要日常操作。包括收料,發(fā)料,增料,退料。同時還有倉庫的倉位管理及盤點調(diào)整。
第 11 頁 4.1.2.3 物料管理模塊
物料管理模塊可完成附加功能,利用這些功能可很好的防止由于人為因素造成的數(shù)據(jù)錯誤。具體有物料管理,產(chǎn)品管理,供應商管理,訂單管理和生產(chǎn)計劃管理。
4.1.2.4 報表查詢模塊
在此功能模塊,用戶可以進行各種條件的查詢。實時了解整個公司的物料狀況。為決策提供依據(jù)。具體有查詢,操作日志及盤點報表。
4.2 數(shù)據(jù)庫設計
大多數(shù)應用系統(tǒng)都需要后臺數(shù)據(jù)庫地支持。在Windows操作系統(tǒng)中,Access和SQL Server是最常見地網(wǎng)絡后臺數(shù)據(jù)庫。本系統(tǒng)是采用Access數(shù)據(jù)庫存儲數(shù)據(jù)。
4.2.1 創(chuàng)建數(shù)據(jù)庫
本系統(tǒng)采用了Access作為數(shù)據(jù)庫管理系統(tǒng)。先啟動Access2000程序,然后創(chuàng)建名為“WMS”的數(shù)據(jù)庫。并為此數(shù)據(jù)庫設置密碼。
4.2.2 數(shù)據(jù)表結構
本倉庫管理系統(tǒng)的數(shù)據(jù)庫共包括12張數(shù)據(jù)表。4.2.2.1 用戶信息表
用戶信息表(Users)用來保存用戶(管理員,用戶)的信息,該表的結構如表4-1所示。
表4-1 Users(用戶信息)表的結構
Users 表結構序號12345字段user_nameuser_pwduser_leveluser_dateremark描述用戶名用戶密碼用戶權限用戶建立日期備注類型和長度主鍵TextTextTextText是否否否可空否否否否是默認值沒有沒有沒有沒有沒有Date/Time否
4.2.2.2 物料代碼表
物料代碼表(Materials)用來存放企業(yè)所需用的所有的物料。該表的結構如表
第 12 頁 4-2所示。
表4-2 Materials(物料代碼)表的結構
Materials表結構序號123456字段PartNumberDescriptionPartTypeDateAddByRemark描述物料代碼物料描述物料類型物料建立日期物料建立者備注類型和長度主鍵TextTextTextTextText是否否否否可空否否否否否是默認值沒有沒有沒有沒有沒有沒有Date/Time否
4.2.2.3 產(chǎn)品代碼表
產(chǎn)品代碼表(Productions)用來保存公司生產(chǎn)的所有產(chǎn)品的信息,該表的結構如表4-3所示。
表4-3 Productions(產(chǎn)品代碼)表的結構
Productions表結構序號12345字段ProductionPNProductionDescDateAddByRemark描述產(chǎn)品代碼產(chǎn)品描述產(chǎn)品建立日期產(chǎn)品建立者備注類型和長度主鍵TextTextTextText是否否否可空否否否否是默認值沒有沒有沒有沒有沒有Date/Time否
4.2.2.4 產(chǎn)品組成表
產(chǎn)品組成表(BoMs)用來記錄公司生產(chǎn)的產(chǎn)品是由哪些物料組成的。為倉庫發(fā)料提供依據(jù)。該表的結構如表4-4所示。
表4-4 BoMs(產(chǎn)品組成)表的結構
BoMs表結構序號1234字段ProductionPNMaterialPNMaterialQTYRemark描述產(chǎn)品代碼物料代碼物料數(shù)量備注類型和長度主鍵TextTextTextText否否否否可空否否否是默認值沒有沒有沒有沒有
4.2.2.5 供應商代碼表
供應商代碼表(Suppliers)用來保存公司供應商的信息。該表的結構如表4-5所示。
表4-5 Suppliers(供應商代碼)表的結構
第 13 頁 Suppliers表結構序號1234567字段SupplierNumberSupplierNameSupplierAddressSupplierTelDateAddByremark描述供應商代碼供應商名稱供應商地址供應商電話供應商建立日期供應商建立者備注類型和長度主鍵TextTextTextTextTextText是否否否否否可空否否否否否否是默認值沒有沒有沒有沒有沒有沒有沒有Date/Time否 4.2.2.6 物料供應商聯(lián)系表
物料供應商聯(lián)系表(AVLs)用來保存物料在供應商處的有關信息。也是系統(tǒng)產(chǎn)生訂單時的必要信息。該表的結構如表4-6所示。
表4-6 AVLs(物料供應商聯(lián)系)表的結構
AVLs表結構序號12345678字段AVLNumberPartNumberSupplierNumberSupplierPNPriceDateAddByRemark描述物料供應商綜合代碼物料代碼供應商代碼供應商物料代碼單價加入系統(tǒng)日期加入系統(tǒng)者備注類型和長度主鍵TextTextTextTextCurrencyTextText是否否否否否否可空否否否否否否否是默認值沒有沒有沒有沒有沒有沒有沒有沒有Date/Time否 4.2.2.7 訂單管理表
訂單管理表(POs)用來保存公司給供應商買料的訂單,也是倉庫收料的依據(jù)。該表的結構如表4-7所示。
表4-7 POs(訂單管理)表的結構
POs表結構序號12345678字段PONumberPartNumberQtyAVLNumberCloseDateCloseByStatusRemark描述訂單號碼物料代碼數(shù)量供應商的綜合信息收料人收料日期訂單狀態(tài)備注類型和長度主鍵TextTextTextTextTextTextText是否否否否否否可空否否否否否否否是默認值沒有沒有沒有沒有沒有沒有沒有沒有Date/Time否
4.2.2.8 生產(chǎn)計劃產(chǎn)品管理表
生產(chǎn)計劃產(chǎn)品管理表(PP_Produciton)用來保存生產(chǎn)計劃的有關信息。該表的結構如表4-8所示。
表4-8 PP_Produciton(生產(chǎn)計劃產(chǎn)品管理表)表的結構
第 14 頁 PP_Produciton表結構序號12345678字段PlanNumProducitonDateProductionNumQTYStatusAddDateAddByRemark描述生產(chǎn)計劃號計劃生產(chǎn)日期生產(chǎn)的產(chǎn)品代碼生產(chǎn)的產(chǎn)品數(shù)量此生產(chǎn)計劃的狀態(tài)生產(chǎn)計劃制定日期生產(chǎn)計劃制定者備注類型和長度主鍵TextTextNumberTextTextText是否否否否否Date/Time否可空否否否否否否否是默認值沒有沒有沒有沒有沒有沒有沒有沒有Date/Time否
4.2.2.9生產(chǎn)計劃物料管理表
生產(chǎn)計劃物料管理表(PP_Material)用來保存生產(chǎn)計劃中的每一顆物料的使用狀況。此表是由生產(chǎn)計劃產(chǎn)品管理表和產(chǎn)品組成表通過計算而得到的。該表的結構如表4-9所示。
表4-9 PP_Material(生產(chǎn)計劃物料管理)表的結構
PP_Material表結構序號1234567字段PartNumPlanNumQtyOutByOutDateStatusRemark描述物料代碼生產(chǎn)計劃號數(shù)量發(fā)料人發(fā)料日期此次計劃的物料狀態(tài)備注類型和長度主鍵TextTextNumberTextTextText否否否否否否可空否否否否否否是默認值沒有沒有沒有沒有沒有沒有沒有Date/Time否
4.2.2.10 物料現(xiàn)狀表
物料現(xiàn)狀表(NowMaterials)用來保存當前的物料狀況,同時為訂單的產(chǎn)生及生產(chǎn)計劃的制定提供物料依據(jù)。該表的結構如表4-10所示。
表4-10 NowMaterials(物料現(xiàn)狀)表的結構
NowMaterials表結構序號12348字段PartNumberCurrentQtyMinQtyMaxQtyRemark描述物料代碼當前數(shù)量最小數(shù)量最大數(shù)量備注類型和長度主鍵TextNumberNumberNumberText是否否否否可空否否否否是默認值沒有沒有沒有沒有沒有
4.2.2.11 倉庫倉位管理表
倉庫倉位管理表(Locations)用來管理倉庫的各個倉位信息。該表的結構如表4-11所示。
表4-11 Locations(倉庫倉位管理)表的結構
第 15 頁 Locations表結構序號1234字段LocationTypeLocationNumPartNumRemark描述倉位類型倉位編號物料代碼備注類型和長度主鍵TextTextTextText否是否否可空否否否是默認值沒有沒有沒有沒有
4.2.2.12 操作日志表
操作日志表(DailyDate)用來保存用戶的所有操作信息。以便以后發(fā)現(xiàn)問題時查詢所需。該表的結構如表4-12所示。
表4-12 DailyDate(操作日志)表的結構
DailyData表結構序號1234字段OP_DateOP_ActionOP_ByRemark描述操作日期操作內(nèi)容操作者備注類型和長度主鍵Date/Time否TextTextText否否否可空否否否是默認值沒有沒有沒有沒有
4.2.3 數(shù)據(jù)庫中各表的關系
數(shù)據(jù)庫中各表之間的關系如圖4-2所示。
圖4-2 數(shù)據(jù)庫中各表的關系
第五章
倉庫管理原型系統(tǒng)實現(xiàn)
5.1 數(shù)據(jù)庫實現(xiàn)
第 16 頁 5.1.1 連接數(shù)據(jù)庫
在進行系統(tǒng)開發(fā)前,一個很重要的步驟就是建立數(shù)據(jù)庫的連接,即訪問數(shù)據(jù)庫。VB6提供了多種方式訪問數(shù)據(jù)庫,其中以ODBC與ADO應用最多。具體ODBC及ADO詳見相關理論部分。本系統(tǒng)采用ADO方式訪問數(shù)據(jù)庫。ADO數(shù)據(jù)庫連接主要分兩步進行:一是引用ADO,二是使用ADO連接數(shù)據(jù)庫。
1.引用ADO 在VB6菜單“工程”“引用”-從中選擇 Microsoft ActiveX Data objects 2.8 library和 Microsoft ActiveX Data objects recordset 2.8兩個組件,這是在連接數(shù)據(jù)庫前所必做的工作。
圖5-1 引用ADO
第 17 頁
圖5-2 選擇ADO控件
2.使用ADO連接數(shù)據(jù)庫
本系統(tǒng)采用的是無源的數(shù)據(jù)庫連接方法,因為整個系統(tǒng)都會使用到這個數(shù)據(jù)庫,所以將數(shù)據(jù)庫的連接定義為全局變量。
Public Cn As New ADODB.Connection ‘定義數(shù)據(jù)源 Dim db_path As String ‘用于存放數(shù)據(jù)庫的路徑 Dim db_cn As String ‘連接數(shù)據(jù)源字符串
db_path = App.Path & “DataWMS.mdb” ‘指定數(shù)據(jù)庫文件
db_cn = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” & db_path & “;Jet OLEDB:database password=123321;” ‘數(shù)據(jù)庫連接字符串
Cn.Open db_cn ‘打開數(shù)據(jù)源
5.1.2 建立數(shù)據(jù)表
本系統(tǒng)采用了Access作為數(shù)據(jù)庫管理系統(tǒng)。先啟動Access2000程序,然后創(chuàng)建名為“WMS”的數(shù)據(jù)庫。并為此數(shù)據(jù)庫設置密碼。在數(shù)據(jù)庫中建立各表。表名稱及表結構詳見系統(tǒng)設計中數(shù)據(jù)表的設計。
5.2倉庫管理系統(tǒng)主要界面及使用說明
第 18 頁 本系統(tǒng)按用戶類別及使用功能可以分為管理員登錄、普通用戶登錄及超級用戶登錄三種。不同類型的用戶具有不同的權限。所有用戶的主操作界面相同,區(qū)別在于個別功能的使用權限。
5.2.1 系統(tǒng)登錄界面
設計思路與要點:用戶運行程序后,輸入用戶名與密碼,程序根據(jù)用戶名到后臺數(shù)據(jù)庫查詢用戶名和密碼是否正確,如果正確,則根據(jù)用戶名給出用戶所屬的級別,并根據(jù)級別給出相應的權限。如沒有通過驗證,則給出沒有通過驗證的原因。
系統(tǒng)登錄界面如圖5-3所示。
圖5-3 倉庫管理系統(tǒng)登錄界面
如果用戶名或密碼錯誤,系統(tǒng)會分別提示,防止非法用戶進入系統(tǒng)操作。
圖5-4 倉庫管理系統(tǒng)密碼錯誤界面
5.2.2 系統(tǒng)主界面
設計思路與要點:用戶登錄通過后,進入系統(tǒng)的主界面。主界面的菜單如果
第 19 頁 是灰色顯示,則表明此用戶沒有權限操作此功能。在主界面的狀態(tài)欄會顯示當前用戶名和用戶權限。
界面如圖5-5所示。
圖5-5 倉庫管理系統(tǒng)主界面
5.2.3 系統(tǒng)管理模塊
系統(tǒng)管理模塊主是功能是進行本系統(tǒng)的一些常用管理工作,共有四個子模塊:重新登錄,修改密碼,用戶管理,退出。
5.2.3.1 重新登錄功能
進入系統(tǒng)后,可選擇重新登錄在不現(xiàn)用戶之間進行切換。界面如圖5-6所示。
圖5-6 系統(tǒng)重登錄界面
5.2.3.2 修改密碼功能
設計思路和要點:用戶如需修改自己的登錄密碼,需輸入舊密碼與新密碼,程序在數(shù)據(jù)庫中修改用戶的密碼。
第 20 頁 界面如圖5-7所示。
圖5-7 修改密碼界面
5.2.3.3 用戶管理功能
設計思路和要點:用戶管理是對使用此系統(tǒng)的所有用戶進行管理。分為增加,刪除以及修改用戶信息。此功能只有管理員和超級用戶才能使用。普通用戶不能執(zhí)行此操作。
界面如圖5-8所示。
圖5-8 用戶管理界面
5.2.3.4 退出功能
退出即退出本系統(tǒng)。選擇系統(tǒng)管理下的退出即可。如圖5-9所示。
第 21 頁
圖5-9 退出系統(tǒng)菜單
5.2.4 倉庫管理模塊
倉庫管理模塊是本系統(tǒng)的核心模塊。根據(jù)倉庫的日常操作共分有六個子模塊,分別是:入庫操作,出庫操作,退料操作,增料操作,倉位管理和盤點損益。已基本包括了倉庫管理的主要功能。
5.2.4.1 入庫操作
設計思路和要點:入庫操作即倉庫的收料,系統(tǒng)規(guī)定收料只能根據(jù)訂單來進行。沒有訂單就不能完成收料。每個訂單都對應一個入庫操作。這樣可以大大減少因人為因素產(chǎn)生的錯誤。規(guī)范化倉庫收料操作。選擇訂單號碼后,相關的訂單信息已會顯示出來。訂單號碼是由訂單管理模塊產(chǎn)生。倉庫人員沒有權限產(chǎn)生訂單。
界面如圖5-10所示。
圖5-10 入庫操作界面
5.2.4.2 出庫操作
設計思想和要點:出庫操作即倉庫的發(fā)料,本系統(tǒng)規(guī)定倉庫的發(fā)料需根據(jù)生產(chǎn)計劃來進行。沒有生產(chǎn)計劃則不能發(fā)料。生產(chǎn)計劃的產(chǎn)生由專門模塊實現(xiàn)。生
第 22 頁 產(chǎn)計劃用工單來區(qū)分。每個工單的發(fā)料可有兩種方式,一種是按工單發(fā)料,即一次性將一個工單的全部所需物料全部發(fā)至生產(chǎn)線。另一種是按物料,即根據(jù)生產(chǎn)狀況,一個一個將物料發(fā)至生產(chǎn)線。選擇選擇發(fā)料類型,按工單或按物料。按工單的話,則選擇工單號即生產(chǎn)計劃號,系統(tǒng)自動將此工單的所有料發(fā)至生產(chǎn)線。
界面如圖5-11和圖5-12所示。
圖5-11 出庫操作按工單界面
圖5-12 出庫操作按物料界面
5.2.4.3 退料操作
設計思路和要點:退料操作是針對生產(chǎn)線由于各種原因產(chǎn)生的生產(chǎn)中多領的物料退回倉庫。退料時需選擇所退物料的料號及數(shù)量。程序會根據(jù)這些信息在數(shù)據(jù)庫中作出相應的調(diào)整。
第 23 頁 界面如圖5-13所示。
圖5-13 退料操作界面
5.2.4.4 增料操作
設計思路和要點:增料操作即由于生產(chǎn)損耗而需要增料。為了核算成本,增料需根據(jù)生產(chǎn)計劃號來進行增料操作,這樣就可以清楚列出每次生產(chǎn)的損耗。
界面如圖5-14所示。
圖5-14 增料操作界面
5.2.4.5 倉位管理
設計思路與要點:倉位管理是對倉庫的各個倉位進行分配與管理??梢栽黾有碌膫}位和修改倉位存放的物料。
界面如圖5-15所示。
第 24 頁
圖5-15 倉位管理界面
5.2.4.6 盤點損益
設計思路和要點:每次盤點后,需根據(jù)盤點結果進行某些物料的調(diào)整。調(diào)整分為收益和虧損。
界面如圖5-16所示。
圖5-16 盤點損益界面
5.2.5 物料管理模塊
此模塊的主要功能是對倉庫和生產(chǎn)及倉庫和物料的一些接口數(shù)據(jù)的管理。在現(xiàn)代企業(yè)中,每個系統(tǒng)之間都有一定的聯(lián)系。倉庫系統(tǒng)也不例外,為了更好的管理倉庫,得到更全的數(shù)據(jù),減少因為人為因素而發(fā)生的錯誤,倉庫與其他系統(tǒng)也
第 25 頁 有一定的數(shù)據(jù)聯(lián)系。此模塊共有五個子模塊:物料管理,產(chǎn)品管理,供應商管理,生產(chǎn)計劃和訂單管理。
5.2.5.1 物料管理
設計思路和要點:物料管理模塊是管理企業(yè)的所有的物料,系統(tǒng)為每個物料給出一個代碼。在企業(yè)內(nèi)部以這個代碼來進行收料,發(fā)料等操作。物料代碼是整個企業(yè)物料管理的基礎。因此物料代碼的管理是非常重要的。綜合公司的具體情況,決定物料代碼由程序根據(jù)一定的規(guī)則自動產(chǎn)生。物料采用最大最小數(shù)量來控制。
界面如圖5-17所示。
圖5-17 物料管理界面
5.2.5.2 產(chǎn)品管理
設計思路和要點:產(chǎn)品管理模塊主是對公司的所有產(chǎn)品進行編碼及記錄產(chǎn)品的組成情況。相應地分兩部分,一個是產(chǎn)品代碼管理,另一個是產(chǎn)品組成物料清單管理。產(chǎn)品代碼是由程序根據(jù)一定的規(guī)則產(chǎn)生。而產(chǎn)品組成物料清單則是由物料管理中的物料組成的。產(chǎn)品與物料最大的不同點在于產(chǎn)品是由公司生產(chǎn)出來的,而物料是由公司直接買來的。
界面如圖5-18和圖5-19所示。
第 26 頁
圖5-18 產(chǎn)品管理界面
圖5-19 產(chǎn)品物料組成清單界面
5.2.5.3 供應商管理
設計思路和要點:供應商管理也分兩部分,一個是供應商代碼管理,另一個是供應商物料代碼管理。供應商代碼管理是為了方便對供應商進行調(diào)整。供應商
第 27 頁 加上供應商的物料代碼組成了一個綜合信息。我們?yōu)槊總€綜合信息進行編號,方便管理。
界面如圖5-20和圖5-21所示。
圖5-20 供應商代碼管理界面
圖5-21 供應商物料代碼管理界面
5.2.5.4 生產(chǎn)計劃管理
設計思路和要點:生產(chǎn)計劃管理需根據(jù)當前的物料狀況來進行。每次生產(chǎn)計劃以編號來劃分。編號由系統(tǒng)產(chǎn)生。計劃產(chǎn)生時系統(tǒng)會檢查物料狀況。如物料狀況不允許則不能成功產(chǎn)生生產(chǎn)計劃。
第 28 頁 界面如圖5-22所示。
圖5-22 生產(chǎn)計劃管理界面
5.2.5.5 訂單管理
設計思路和要點:訂單可以系統(tǒng)自動產(chǎn)生,也可以手工產(chǎn)生。自動產(chǎn)生時,根據(jù)物料的管理辦法,產(chǎn)生訂單可以是多個也可以是一個。而手工定單的產(chǎn)生只能是一個。定單產(chǎn)生后需進行確認才能生效。
界面如圖5-23所示。
圖5-23 訂單管理界面
5.2.6 報表查詢模塊
此模塊的主要功能是查詢及報表。5.2.6.1 查詢
第 29 頁 設計思路和要點:根據(jù)各種查詢條件查詢物料信息。物料信息包含三部分,一為基本信息,二為訂單信息,三為生產(chǎn)計劃信息。適合所有使用者。
界面如圖5-24所示。
圖5-24 查詢界面
5.2.6.2 查詢?nèi)粘2僮?/p>
設計思路與要點:對系統(tǒng)的每一次操作能應及時地記錄下來,以便日后查詢。因此在數(shù)據(jù)庫中單獨創(chuàng)建一張表,用于記錄系統(tǒng)的日常操作,即倉庫的各種日常操作。通過此功能,可能追溯系統(tǒng)數(shù)據(jù)的整個變化過程。使整個系統(tǒng)的運行都在控制之內(nèi)。
界面如圖5-25所示。
第 30 頁
圖5-25 操作日志界面
5.2.6.3 盤點報表
設計思路和要點:盤點報表可以根據(jù)盤點的需要,按物料編碼或按倉位生成。盤點報表將列出當前時刻,倉庫中所有物料的數(shù)量及存放地點,以便盤點時參考。同時此報表還可以輸出成各種格式,以方便用戶使用。
界面如圖5-26所示。
圖5-26 盤點報表界面
5.4 系統(tǒng)測試
第 31 頁 一般情況下,我們千辛萬苦開發(fā)出的程序總會存在一些問題,這就需要進行測試。對于此系統(tǒng)的測試從以下幾方面進行入手。
5.4.1 菜單測試
檢查每個菜單是否有效。5.4.2各功能模塊測試
設計一些數(shù)據(jù),利用各個模塊提供功能進行測試。并檢查程序的防呆性,即程序是否能夠有效地防止一些明顯有錯誤數(shù)據(jù)進入系統(tǒng)。
5.4.3 數(shù)據(jù)跟蹤測試
打開后臺數(shù)據(jù)庫,檢查各項數(shù)據(jù)是否與輸入的一致。及各個表及表中數(shù)據(jù)是否一致。
第 32 頁
第六章
小結與展望
整個倉庫管理考試系統(tǒng)主要包括上面所寫的模塊及功能,基本上已經(jīng)能夠覆蓋了倉庫日常管理中的主要操作。內(nèi)容也較為詳盡。由于時間、所學以及精力的關系,該系統(tǒng)還處于原型設計階段,許多預想的模塊還沒有能夠及時添加進去。就是寫進系統(tǒng)的也有部分模塊還可以更加好的進行完善。
6.1 成績及不足
本倉庫管理系統(tǒng)的設計和分析到目前為止還只是一個初始階段,在這段時間的設計過程中,從中得到了一些成績,也有一些不足。
6.1.1 成績
? 能夠比較好的進行需求分析,可行性分析以及系統(tǒng)設計,來獨立開發(fā)一個較為小型的MIS系統(tǒng);
? 完成了倉庫管理中日常使用最多的最主要的功能。? 具有很好的防呆功能。
? 對數(shù)據(jù)的處理也有一定的聯(lián)系,可減少人為因素帶來的影響。? 較少的鍵盤輸入,大多數(shù)功能可只用鼠標來完成操作。? 模塊化編程,為以后的改進提供了方便。
6.1.2 不足
? 系統(tǒng)只提供了鍵盤和鼠標的輸入,沒有提供條碼掃描的輸入。? 系統(tǒng)沒有提供打印輸出的功能,如果需要打印還需借助其他的軟件。? 系統(tǒng)只是提供了一個簡單的功能,與現(xiàn)代化的公司倉庫定理還有不小的差距。
? 系統(tǒng)的一些模塊的功能是理論化的,在實際中還有許多更復雜的情況并沒有考慮進去。在以后實際作用過程中很有很多地方需改進。
第 33 頁
6.2 展望
對于一個公司的倉庫管理來說,該系統(tǒng)還只是一個雛形,沒有完成的事情還很多。有了現(xiàn)有的系統(tǒng)原型,還要與用戶溝通,將他們實際操作中的一些問題考慮進去,逐步改進上面談到的一些不足點,完善整個系統(tǒng)。另外還需參照公司的其他系統(tǒng),開發(fā)出與其他系統(tǒng)的接口。
第 34 頁
結
束
語
通過緊張忙碌的三個多月的畢業(yè)設計,我的個人能力得到了很大的提高。獲益匪淺,專業(yè)知識上也上了一個新臺階,對整個軟件設計開發(fā)的流程也有了更深刻的理解。
在我以前的工作中,總是先考慮編碼,然后再考慮其他的問題,導致在工作過程中經(jīng)常需調(diào)整用戶需求和進度上的安排不盡如人意,經(jīng)常需加班來趕進度。而在這次畢業(yè)設計中,我按照軟件工程的要求進行,先進行編碼前的前期工作,并按照老師為我們制定的進度進行,順利地完成了制定的任務。在整個工作過程中,感覺沒有像以前那樣匆忙,整個過程也很輕松。通過這次畢業(yè)設計,將使我的工作習慣有一個很大的改進。這些提高是終身受益的。
總之,通過這次畢業(yè)設計是使我各方面的知識得以融匯貫通,為我將來的工作開了一個好頭。我認為這種改變是質(zhì)的飛躍。
由于時間倉促,以及本人水平有限,只對該系統(tǒng)做了簡單的開發(fā),設計中還存在一些不足之處,尚有待完善。最后,希望大家多多批評指導, 敬請老師批評指正。
第 35 頁
致
謝
在本次畢業(yè)設計中,我從指導趙老師身上學到了很多東西。特別是對系統(tǒng)化的軟件工作對我影響最大,使我得到不少的提高這對于我以后的工作和學習都有一種巨大的幫助。在此表示衷心的感謝!
同時,感謝三年來對我關心幫助的所有任課老師和同學,特別是趙睿老師和我們的班主任老師在三年的學習給我的幫助。以及要感謝我們班的其他同學,雖然我是一個人做畢業(yè)設計的,但在我遇到問題時,我們是一起討論解決的。
總之一句話,感謝所有關心和幫助我的人。
第 36 頁
參考文獻
參考文獻表
[1] 史濟民,軟件工程——原理、方法與應用,機械工業(yè)出版社,2002 [2] [美]Gary Cornell,VB6從入門到精通,北京希望電子出版社,1999 [3] 陳恩義,SQL Server 2000開發(fā)指南,清華大學出版社,2002 [4] 趙松濤,Visual Basic + SQL Server 2000 系統(tǒng)開發(fā)實錄,2007 [5] 盧湘鴻,Access 數(shù)據(jù)庫與程序設計,電子工業(yè)出版社,2006 [6] 戴建耘,Access 2003數(shù)據(jù)庫教程,電子工業(yè)出版社,2007
第 37 頁
第二篇:ATM系統(tǒng)實現(xiàn)報告(VB)
面向對象方法設計與實現(xiàn)報告
—ATM機系統(tǒng)
軟件0802班
高曉亮
200807040203
一、概要
根據(jù)ATM的需求分析,該系統(tǒng)設計為2個子系統(tǒng):用戶系統(tǒng)、銀行工作人員系統(tǒng)。其中用戶系統(tǒng)主要使用戶在ATM上完成一些基本操作,例如:存款、取款、轉賬、查詢余額、修改賬戶密碼等銀行工作人員系統(tǒng)主要用來管理用戶賬戶、ATM機、事務。其具體功能和界面及代碼將在下文敘述。
說明:該系統(tǒng)主要代碼是用vb編寫,數(shù)據(jù)庫使用的是單機數(shù)據(jù)庫access。
二、用戶系統(tǒng)
A:主要界面介紹: 一)、待機界面:
1、功能:系統(tǒng)歡迎界面,點擊模擬按鈕開始模擬ATM機工作。
2、說明:由于沒有找到合適的廣告圖片,所以待機默認先用藍色背景代替。
3、界面文字動畫代碼如下:If Label5(0).Left > Me.ScaleWidth Then
Label5(0).Left = Me.Left100 End If
Label5(1).Move Label5(1).Left + 120
4、界面截圖如下:
二)、登陸界面:
1、功能:a、密碼框設置只能輸入6位
B、密碼輸入3次錯誤,將凍結該賬戶
C、銀行卡號不存在、凍結或密碼錯誤,均不能進入系統(tǒng)
2、說明:因為各銀行卡號位數(shù)不太一樣,銀行卡號位數(shù)并未設置。
3、登陸確認按鈕代碼如下: Private Sub Command27_Click()If Not Text7.Text = “" And Not Text8.Text = ”“ Then Dim sql As String sql = ”select * from 賬戶 where 銀行卡號='“ & Trim(Text7.Text)& ”'“
Adodc1.RecordSource = sql
Adodc1.Refresh
If Adodc1.Recordset(”狀態(tài)“)= ”凍結“ Then '判斷該賬戶狀態(tài)
MsgBox ”該賬戶已凍結!“
Text7.Text = ”“
Text8.Text = ”“
Else
sql = ”select * from 賬戶 where 銀行卡號='“ & Trim(Text7.Text)& ”' and 密碼=“ & Trim(Text8.Text)& ”“
Adodc1.RecordSource = sql
Adodc1.Refresh
If Adodc1.Recordset.EOF Then
MsgBox ”密碼錯誤!“, 48, ”錯誤提示“
Text8.Text = ”“
count1 = count1 + 1
If count1 >= 3 Then '三次輸入錯誤凍結該賬戶
Adodc1.Refresh
sql = ”select * from 賬戶 where 銀行卡號='“ & Trim(Text7.Text)& ”'“
Adodc1.RecordSource = sql
Adodc1.Refresh
Adodc1.Recordset(”狀態(tài)“)= ”凍結“
Adodc1.Recordset.Update
MsgBox(”三次輸入錯誤,該賬戶已被凍結“)
End If
Else
Label10.Visible = False
Label11.Visible = False
Text7.Visible = False
Text8.Visible = False
Command27.Visible = False Command28.Visible = False Command14.Visible = True Command15.Visible = True Command16.Visible = True Command17.Visible = True Command18.Visible = True Command19.Visible = True Command24.Visible = True Ynum = Text7.Text Adodc2.Refresh ’添加事務 Adodc2.Recordset.AddNew
Adodc2.Recordset(”銀行卡號“)= Ynum
Adodc2.Recordset(”事務類型“)= ”用戶登錄“
Adodc2.Recordset(”時間“)= Now()
Adodc2.Recordset(”事務描述“)= ”用戶完成登陸“
Adodc2.Recordset.Update
Adodc2.Refresh Text7.Text = ”“ Text8.Text = ”“ End If End If Else MsgBox(”信息不全!請確認“)End If End Sub
4、界面截圖如下:
三)、系統(tǒng)主界面
1、功能:ATM的主要功能陳列,供用戶選擇,其中包括存款、取款、轉賬、查詢余額、修改密碼、取卡、返回。當賬戶登錄時,將在事務表中記錄登錄時間。
2、說明:由于所有按鈕均只是用來調(diào)出對應的功能的界面,并沒有實際功能,所以在此省略其按鈕代碼。
3、界面截圖如下:
四)、存款界面
1、功能:a、只允許用戶輸入100的整數(shù)值
b、當文本框為空時報錯
c、實現(xiàn)用戶的存款功能
d、每存入一筆款,都將在事務表中記錄該操作
2、存款代碼如下:If Not Text12.Text = ”“ Then If Val(Text12.Text)Mod 100 = 0 Then Adodc1.Refresh Adodc1.Recordset(”余額“)= Adodc1.Recordset(”余額“)+ Val(Text12.Text)Adodc1.Recordset.Update Adodc1.Refresh Label15.Caption = ”存款成功“ ye = ye + Text12.Text Adodc2.Refresh Adodc2.Recordset.AddNew
Adodc2.Recordset(”銀行卡號“)= Ynum
Adodc2.Recordset(”事務類型“)= ”存款“
Adodc2.Recordset(”時間“)= Now()
Adodc2.Recordset(”事務描述“)= ”用戶存入“ & Text12.Text & ”元“
Adodc2.Recordset.Update
Adodc2.Refresh Text12.Text = ”“ Command33.Enabled = True Command32.Enabled = False Else MsgBox ”請輸入100的整數(shù)“ End If Else Label15.Caption = ”無款可存“ End If End Sub
3、界面截圖如下:
四)、取款界面
1、功能:a、用戶按相對應數(shù)值的按鈕進行取款
b、每個賬戶每天取款數(shù)不能超過2500
c、賬戶余額不足時,報錯
d、用戶每取走一筆款額,都將在事務表中記錄取走金額和時間
2、說明:由于不同數(shù)值按鈕的代碼很相似,所以這里僅給出100按鈕的代碼
3、存款代碼如下:Private Sub Command20_Click()Adodc1.Refresh If Adodc1.Recordset(”余額“)>= 100 Then Adodc1.Refresh Adodc1.Recordset(”余額“)= Adodc1.Recordset(”余額“)100 Adodc2.Refresh Adodc2.Recordset.AddNew
Adodc2.Recordset(”銀行卡號“)= Ynum
Adodc2.Recordset(”事務類型“)= ”取款“
Adodc2.Recordset(”時間“)= Now()
Adodc2.Recordset(”事務描述“)= ”用戶取走100元“
Adodc2.Recordset.Update
Adodc2.Refresh Else Label15.Caption = ”余額不足,取款失敗“ End If End Sub
4、取款界面截圖如下:
五)、查詢余額界面
1、功能:實現(xiàn)用戶查詢對應賬戶的余額
2、查詢余額代碼如下:Private Sub Command17_Click()Command14.Visible = False Command15.Visible = False Command16.Visible = False Command17.Visible = False Command18.Visible = False Command19.Visible = False Label6.Visible = False Label7.Visible = False sql = ”select 余額 from 賬戶
where 銀行卡號= '“ & Ynum & ”'“ Adodc1.RecordSource = sql Adodc1.Refresh Label8.Caption = Adodc1.Recordset.Fields(”余額“)Adodc2.Refresh Adodc2.Recordset.AddNew
Adodc2.Recordset(”銀行卡號“)= Ynum
Adodc2.Recordset(”事務類型“)= ”查詢余額“
Adodc2.Recordset(”時間“)= Now()
Adodc2.Recordset(”事務描述“)= ”查詢余額“
Adodc2.Recordset.Update
Adodc2.Refresh Label9.Visible = True Label8.Visible = True End Sub
3、查詢余額界面截圖如下:
六)、轉賬界面
1、功能:a、實現(xiàn)用戶轉賬
b、需2次確認賬戶信息,若信息輸入不全,賬戶余額不足,2次輸入不一樣,均不可完成轉賬
c、用戶每轉一筆賬,均將在事務表中記錄轉賬金額和時間
2、轉賬代碼如下:Private Sub Command30_Click()If Not Text11.Text = ”“ And Not Text10.Text = ”“ And Not Text9.Text = ”“ Then If Text10.Text = Text9.Text Then Adodc1.Refresh If Adodc1.Recordset(”余額“)>= Val(Text11.Text)Then Adodc1.Refresh Adodc1.Recordset(”余額“)= Adodc1.Recordset(”余額“)Me.picLOAD.Width)/ 2 'Me.picLOAD.Top = Me.ScaleHeight / 2Me.picLOAD.Width)/ 2 'Me.picLOAD.Top = Me.ScaleHeight / 2Me.picLOAD.Width)/ 2 'Me.picLOAD.Top = Me.ScaleHeight / 2-Me.picLOAD.Height Me.picLOAD.Visible = True 'DoEvents '釋放控制權
Me.ListView1.ListItems.Clear Dim addLIST As ListItem Dim ss As String Dim sql As String ss = App.Path + ”datadata.mdb“ Adodc1.ConnectionString = ”Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=gxl;Persist Security Info=False;Data Source=“ & ss Adodc1.CommandType = adCmdText sql = ”select * from ATM“ Adodc1.RecordSource = sql Adodc1.Refresh '連接數(shù)據(jù)庫
Do While Not Adodc1.Recordset.EOF Set addLIST = ListView1.ListItems.Add(, , Adodc1.Recordset!ATM機編號, , i)addLIST.SubItems(1)= IIf(IsNull(Adodc1.Recordset.Fields(”狀態(tài)“).Value), Adodc1.Recordset.Fields(”狀態(tài)“).Value)addLIST.SubItems(2)= IIf(IsNull(Adodc1.Recordset.Fields(”余額“).Value), Adodc1.Recordset.Fields(”余額“).Value)Adodc1.Recordset.MoveNext Loop Me.picLOAD.Visible = False End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)Select Case Button.Index
Case Is = 2 '
ZhZCfrm.Show 1
Case Is = 3
' ZHZXfrm.Show 1
Case Is = 4
Call addLIST End Select End Sub
3、界面截圖:
”“, ”“,六)、單位信息界面
1、功能:顯示單位信息
2、代碼: Private Sub cmdBC_Click()'修改銀行信息 Dim s As String If Not Text1(0).Text = ”“ And Not Text1(1).Text = ”“ And Not Text1(2).Text = ”“ And Not Text1(3).Text = ”“ And Not Text1(4).Text = ”“ Then
s = ”update 銀行信息 set 銀行名稱='“ & Text1(0).Text & ”',銀行地址='“ & Text1(1).Text & ”',郵政編號='“ & Text1(2).Text & ”',負責人='“ & Text1(3).Text & ”', 聯(lián)系電話='“ & Text1(4).Text & ”'“
Adodc1.RecordSource = s
MsgBox(”修改成功“)
Adodc1.Recordset.Update
Else
MsgBox ”修改信息不全,請檢查!“
End If End Sub
Private Sub Form_Load()Dim ss As String Dim sql As String ss = App.Path + ”datadata.mdb“ Adodc1.ConnectionString = ”Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=gxl;Persist Security Info=False;Data Source=“ & ss Adodc1.CommandType = adCmdText sql = ”select * from 銀行信息“ Adodc1.RecordSource = sql Adodc1.Refresh '連接數(shù)據(jù)庫 End Sub
3、界面截圖:
七)、下面給出數(shù)據(jù)備份還原的代碼 Private Sub a14_Click()On Error GoTo ERR_line newname = App.Path & ”datadata.mdb“ datapath = App.Path & ”backup“ & Date & ” 備份卡.bak“ FileCopy newname, datapath MsgBox ”數(shù)據(jù)已備份到
“ & datapath, 64, ”提示“ Exit Sub ERR_line: MsgBox ”不能完成數(shù)據(jù)備份!“, 48, ”運行錯誤“ End Sub
Private Sub a15_Click()On Error GoTo ERR_line
Me.CommonDialog1.ShowOpen
snewname = Me.CommonDialog1.FileName
sdatapath = App.Path & ”datadata.mdb“
If snewname <> ”“ Then
If MsgBox(”還原后將覆蓋原有數(shù)據(jù),確定還原嗎?“, vbInformation + vbYesNo, ”提示“)= vbYes Then
FileCopy snewname, sdatapath
MsgBox ”數(shù)據(jù)已經(jīng)成功還原!請重新登陸 “, 48, ”提示“
Unload Me
Formload.Show
Else
Exit Sub End If
End If Exit Sub
ERR_line: MsgBox ”不能完成數(shù)據(jù)還原,請進入系統(tǒng)后未做任何操作時進行!“, 48, ”運行錯誤" End Sub
四、數(shù)據(jù)庫
本系統(tǒng)使用的是access數(shù)據(jù)庫。數(shù)據(jù)庫密碼為gxl。本系統(tǒng)共有5張表,分別為:ATM,事務,系統(tǒng)用戶表,銀行信息,賬戶。
下面給出數(shù)據(jù)庫的相關截圖。
1、表圖:
2、ATM的設計視圖
3、事務的設計視圖
4、系統(tǒng)用戶表的設計視圖
5、銀行信息的設計視圖
6、賬戶的設計視圖
第三篇:關于數(shù)據(jù)庫VB倉庫管理系統(tǒng)的設計
倉庫管理系統(tǒng)設計與實現(xiàn)
在現(xiàn)代企業(yè)中,倉庫管理是一項繁瑣復雜的工作,每天要處理大量的單據(jù)數(shù)據(jù)。為及時結清每筆業(yè)務,盤點庫存和貨物流動情況,保證企業(yè)生產(chǎn)用料以及貨物安全,庫管人員要花費大量人力物力和時間來作數(shù)據(jù)記錄統(tǒng)計工作。本系統(tǒng)正是根據(jù)倉庫管理的專業(yè)特點而開發(fā)的,用現(xiàn)代電子技術提高庫管工作的質(zhì)量和效率。適用于小型企業(yè)庫管以及儲運業(yè)務,界面直觀,操作簡便,運用鼠標,在窗口的不同部位單擊左健,雙擊左健,單擊右健,系統(tǒng)會彈出相應窗口,供使用者錄入和查詢統(tǒng)計。
本論文設計的系統(tǒng)是軟件產(chǎn)品倉庫管理系統(tǒng),所用的開發(fā)工具是美國Microsoft公司推出的Microsoft Visual Studio 2005以及Microsoft SQL Server數(shù)據(jù)庫。該系統(tǒng)主要用的是模塊化設計,主要包含基本信息,貨物管理,信息查詢,系統(tǒng)維護和幫助幾個模塊。各模塊的主要功能有:
基本信息的主要功能模塊:貨物信息,供應商信息,倉庫信息。貨物信息的功能為:修改貨物的貨號,貨名,倉庫名供貨商命,規(guī)格,單位,數(shù)量,入庫價,銷售價,備注。供貨商信息的功能為:添加,修改供貨商號,供貨商名稱,經(jīng)理,電話,傳真。倉庫信息的功能為:添加修改倉庫號,倉庫名稱,管理員,電話,公司。
貨物管理的主要功能模塊:貨物入庫,貨物出庫。
信息查詢的主要功能模塊:貨物入庫查詢,貨物出庫查詢,庫存情況查詢。幫助的主要功能模塊:修改用戶密碼,用戶管理。
本系統(tǒng)設計的目標是對大學所學習的內(nèi)容進行綜合的應用和時間,培養(yǎng)理論聯(lián)系實踐的能力,分析問題和解決問題的能力,以及對所掌握知識的寬度進行檢驗。概述
隨著計算機的發(fā)展,計算機完全可以把各類信息收集起來,按需要進行處理,本系統(tǒng)運行于基于WINDOWS XP/2000/NT平臺之即可,市面上大部分微機全基于這個層次,另外操作人員要求也不高,只需對WINDOWS2000操作熟練,加之對本系統(tǒng)的操作稍加培訓即可工作,而且本系統(tǒng)可視性非常好,所以在技術上不會有很大難度。
1.1 操作可行性
現(xiàn)行系統(tǒng)采用大量手工操作與少量微機操作相結合,而新開發(fā)的系統(tǒng)則全用微機來處理整個過程,在運行初可以采用平行方式從舊系統(tǒng)逐步轉換過來,在這其間,手工操作與電腦操作并存,微機操作可逐漸增加工作量,且在這段時間,工作不間斷,且新老系統(tǒng)有明顯的效率對比。
1.2 法律可行性
倉庫管理系統(tǒng)是針對各種中大規(guī)模的倉庫以個人的身份完全自主研發(fā)的管理系統(tǒng),是很有實際意義的系統(tǒng),開發(fā)這個系統(tǒng),不存在侵權等問題,即法律上是可行的。
1.3 系統(tǒng)運行可行性
本系統(tǒng)可以運行在Win95, Win98, Win2000操作系統(tǒng)之上, 就是說市場上流行的操作系統(tǒng)都可以支持。因此系統(tǒng)運行可行性絕不會成為《軟件零售倉庫管理系統(tǒng)》的問題。
1.4 用戶使用可行性
本系統(tǒng)操作簡單, 有機算計基礎的人無需培訓即可使用, 即使是沒有計算機基礎的人只需經(jīng)過簡單的培訓就可以很熟練的使用本系統(tǒng)。系統(tǒng)運行后,就用戶方而言,由于用戶使用本系統(tǒng)時,不會也不必關心系統(tǒng)內(nèi)部的結構及實現(xiàn)方法,即對用戶來說是透明的,所以本系統(tǒng)對用戶而言,是定位在界面友好、操作方便、功能齊全的原則上的,用戶只需簡單的用鼠標點擊各界面上的選項卡或按鈕就能執(zhí)行相應的功能,就管理者而言,關心的是如何處理各種數(shù)據(jù),只要把用戶的信息輸入計算機,管理者就可運行相應的后臺程序進行處理。而以上的這些功能都能在所選擇的開發(fā)環(huán)境中用所選擇的開發(fā)工具來實現(xiàn)。所以說本系統(tǒng)在用戶使用可行性上是沒有問題的。需求分析 2.1 現(xiàn)場要求
經(jīng)過前面的初步調(diào)研分析,總結出倉庫管理工作具有以下特點:在倉庫管理中存在帳目品種雜、重復次數(shù)多的問題,目前倉庫對所有信息的管理均以手工完成,既由資料管理員以各種記錄臺帳方式完成信息的登記,在需要某種信息的時候查找臺帳記錄。很明顯,目前的工作方法效率低下,信息保存的準確性、安全性難以保證,信息查詢的快速性、完整性也難以保證,致使銷售管理工作費人,費時,費力,繁瑣枯燥,效率低下。
因此實現(xiàn)倉庫管理的計算機化迫在眉睫, 本系統(tǒng)是集倉庫管理、貨物管理、倉庫貨物進出庫管理、客戶統(tǒng)計、進出庫統(tǒng)計等功能于一體的綜合性倉儲管理系統(tǒng)。支持多種類型的入庫、出庫、補貨方式,同時支持多種查詢方式和全面的日志管理,可應用于各種行業(yè)的單體倉庫精細化管理或者應用于制造企業(yè)、物流企業(yè)、流通業(yè)及其它特殊行業(yè)的倉庫管理??梢暂p松解決物流企業(yè)在倉庫管理、貨物流動分析等一系列問題,迅速提高物流企業(yè)對倉庫經(jīng)營管理水平、穩(wěn)固客戶群,增加經(jīng)濟效益,以最小的投資獲得雙盈的優(yōu)秀管理。幫助生產(chǎn)企業(yè)、分公司、分銷商、代理商、商場、商店等之間建立起一套完善、高效、具有快速反應能力和管理能力的業(yè)務平臺,可以極大的提高企業(yè)競爭力,為企業(yè)創(chuàng)造價值果!
3.ACCESS 2000 本系統(tǒng)的數(shù)據(jù)庫采用的是Access2000。Access2000 數(shù)據(jù)庫管理系統(tǒng)是Microsoft Office2000 套件的重要組成部分,在Windows下運行。Access2000適用于小型商務活動,用以存貯和管理商務活動所需要的數(shù)據(jù)。Access2000不僅是一個數(shù)據(jù)庫,而且它具有強大的數(shù)據(jù)管理功能,它可以方便地利用各種數(shù)據(jù)源,生成窗體(表單),查詢,報表和應用程序等。Access2000是關系數(shù)據(jù)庫開發(fā)工具,數(shù)據(jù)庫能匯集各種信息以供查詢、存儲和檢索。Access的優(yōu)點在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信息。數(shù)據(jù)表示圖提供了一種類似于Excel的電子表格,可以使數(shù)據(jù)庫一目了然。另外,Access允許創(chuàng)建自定義報表用于打印或輸出數(shù)據(jù)庫中的信息。Access2000 也提供了數(shù)據(jù)存儲庫,可以使用桌面數(shù)據(jù)庫文件把數(shù)據(jù)庫文件置于網(wǎng)絡文件服務器,與其他網(wǎng)絡用戶共享數(shù)據(jù)庫。Access是一種關系數(shù)據(jù)庫工具,關系數(shù)據(jù)庫是已開發(fā)的最通用的數(shù)據(jù)庫之一。如上所述,Access作為關系數(shù)據(jù)庫開發(fā)具備了許多優(yōu)點,可以在一個數(shù)據(jù)包中同時擁有桌面數(shù)據(jù)庫的便利和關系數(shù)據(jù)庫的強大功能。
4.運行環(huán)境要求 4.1 軟件環(huán)境
該軟件產(chǎn)品倉庫管理系統(tǒng)用VB6.0編寫,在安裝了Access2000數(shù)據(jù)庫,及Windows95以上操作系統(tǒng)的機器上可以正常運行
4.2 硬件環(huán)境
CPU:至少Pentium100以上,建議使用P4 2.0 內(nèi)存:至少16M以上,建議使用256M 硬盤:至20G硬盤空間 4.3 系統(tǒng)程序框圖
程序流程圖又稱為程序框圖,它是歷史悠久使用最廣泛的描述軟件設計的方法。該系統(tǒng)的程序流程圖如圖所示:
4.4 程序代碼
倉庫管理系統(tǒng)開發(fā)的語言的選擇主要考慮以下因素:
1、管理信息系統(tǒng)以數(shù)據(jù)處理為主,故應選擇數(shù)據(jù)處理能力強的語言。
2、計算機的軟、硬件和所選語言在相應機器上所實現(xiàn)的功能。
3、系統(tǒng)的可維護性和可移植性。
綜上所述,由于管理信息系統(tǒng)是以數(shù)據(jù)處理為主的及其基于微機和微機局域網(wǎng)絡為系統(tǒng)的硬件開發(fā)環(huán)境,因此,選擇Visual Basic較為適宜。
4.5 用戶界面登陸主要代碼:
private void button1_Click(object sender, EventArgs e){ if(this.textBox1.Text == “" || this.textBox2.Text == ”“){ MessageBox.Show(”用戶名或密碼不能為空!“, ”系統(tǒng)提示“, MessageBoxButtons.OK, MessageBoxIcon.Information);this.textBox1.Focus();} else { try { conn = new SqlConnection(strconn);string str = ”select * from t_user where name='“ + this.textBox1.Text.Trim()+ ”'“;
comd = new SqlCommand(str, conn);conn.Open();
read = comd.ExecuteReader();while(read.Read()){ if(this.textBox2.Text.Trim()== read.GetString(1).Trim()){ dname.id = this.textBox1.Text.Trim();dname.pwd = this.textBox2.Text.Trim();this.Hide();main mainform = new main();
mainform.Show();
} else { MessageBox.Show(”密碼錯誤!“, ”系統(tǒng)提示“, MessageBoxButtons.OK, MessageBoxIcon.Information);this.textBox2.Text = ”";this.textBox2.Focus();} }
} catch(Exception ex){ MessageBox.Show(ex.Message);}
}
}
4.5.2 主操作界面代碼:
using System.Drawing;using System.Text;using System.Windows.Forms;
namespace lwp { public partial class main : Form { public main(){ InitializeComponent();}
private void 基本信息ToolStripMenuItem_Click(object sender, EventArgs e){
}
private void 貨物管理ToolStripMenuItem_Click(object sender, EventArgs e){
}
private void 貨物信息ToolStripMenuItem_Click(object sender, EventArgs e){ goodmessage goodmassageform = new goodmessage();goodmassageform.Show();}
private void 供貨商ToolStripMenuItem_Click(object sender, EventArgs e){ provider providerform = new provider();providerform.Show();}
private void 倉庫信息ToolStripMenuItem_Click(object sender, EventArgs e){ store storeform = new store();storeform.Show();}
private void 貨物入庫ToolStripMenuItem_Click(object sender, EventArgs e){ ingood ingoodform = new ingood();ingoodform.Show();}
private void 貨物出庫ToolStripMenuItem_Click(object sender, EventArgs e){ outgood outgoodform = new outgood();outgoodform.Show();}
private void 貨物入庫查詢ToolStripMenuItem_Click(object sender, EventArgs e){ chekin chekinform = new chekin();chekinform.Show();}
private void 貨物出庫查詢ToolStripMenuItem_Click(object sender, EventArgs e){ chekout checkoutform = new chekout();checkoutform.Show();}
private void 庫存情況查詢ToolStripMenuItem_Click(object sender, EventArgs e){ storeleave storeleaveform = new storeleave();storeleaveform.Show();}
private void 數(shù)據(jù)備份ToolStripMenuItem_Click(object sender, EventArgs e){ beifen beifenform = new beifen();beifenform.Show();}
private void 數(shù)據(jù)還原ToolStripMenuItem_Click(object sender, EventArgs e){ huanyuan huanyuanform = new huanyuan();huanyuanform.Show();}
private void 修改用戶密碼ToolStripMenuItem_Click(object sender, EventArgs e){ ulterpwd ulterpwdform = new ulterpwd();ulterpwdform.Show();}
private void 用戶管理ToolStripMenuItem_Click(object sender, EventArgs e){ usermanage usermanageform = new usermanage();usermanageform.Show();}
private void 關于本系統(tǒng)ToolStripMenuItem_Click(object sender, EventArgs e){ aboutsystem aboutsystemform = new aboutsystem();aboutsystemform.Show();}
private void 退出系統(tǒng)ToolStripMenuItem_Click(object sender, EventArgs e){ Application.Exit();}
private void main_Load(object sender, EventArgs e){
}
} }
5.數(shù)據(jù)完整性設計(數(shù)據(jù)庫邏輯設計)
1)完整性實現(xiàn)機制:
實體完整性:主鍵
參照完整性:
父表中刪除數(shù)據(jù):級聯(lián)刪除;受限刪除;置空值
父表中插入數(shù)據(jù):受限插入;遞歸插入
父表中更新數(shù)據(jù):級聯(lián)更新;受限更新;置空值
DBMS對參照完整性可以有兩種方法實現(xiàn):外鍵實現(xiàn)機制(約束規(guī)則)和觸發(fā)器實現(xiàn)機制
用戶定義完整性:
NOT NULL;CHECK;觸發(fā)器
2)用約束而非商務規(guī)則強制數(shù)據(jù)完整性
采用數(shù)據(jù)庫系統(tǒng)實現(xiàn)數(shù)據(jù)的完整性。這不但包括通過標準化實現(xiàn)的完整性而且還包括數(shù)據(jù)的功能性。在寫數(shù)據(jù)的時候還可以增加觸發(fā)器來保證數(shù)據(jù)的正確性。不要依賴于商務層保證數(shù)據(jù)完整性;它不能保證表之間(外鍵)的完整性所以不能強加于其他完整性規(guī)則之上。
3)強制指示完整性
在有害數(shù)據(jù)進入數(shù)據(jù)庫之前將其剔除。激活數(shù)據(jù)庫系統(tǒng)的指示完整性特性。這樣可以保持數(shù)據(jù)的清潔而能迫使開發(fā)人員投入更多的時間處理錯誤條件。
4)使用查找控制數(shù)據(jù)完整性
控制數(shù)據(jù)完整性的最佳方式就是限制用戶的選擇。只要有可能都應該提供給用戶一個清晰的價值列表供其選擇。這樣將減少鍵入代碼的錯誤和誤解同時提供數(shù)據(jù)的一致性。某些公共數(shù)據(jù)特別適合查找:國家代碼、狀態(tài)代碼等。
5)采用視圖
為了在數(shù)據(jù)庫和應用程序代碼之間提供另一層抽象,可以為應用程序建立專門的視圖而不必非要應用程序直接訪問數(shù)據(jù)表。這樣做還等于在處理數(shù)據(jù)庫變更時給你提供了更多的自由。
通過本次設計,我熟練掌握了Visual studio2005軟件的操作。并且在一次溫習了四年來所學的專業(yè)知識,而且還增長了不少其他知識。由于本人水平有限,時間倉促之故,系統(tǒng)難免存在著不足和遺漏,但是在這個設計過程中,本人一直是本著認證負責的態(tài)度來開發(fā)的。
在本次畢業(yè)設計中,我要非常感謝指導老師王福偉在我不知道寫erp論文從何落手的時候給了我指點方向,在我感覺到自己知識有所貧乏的時候給了我細心的指導和技術上的支持。使我本身的能力得到了不少的提高,這對于我以后的工作和學習都有一種巨大的幫助,感謝他耐心的輔導。
感謝大家!
6.參考文獻:
丁愛萍 《數(shù)據(jù)庫技術及應用》西安:西安電子科技大學出版社 2005 丁寶康,董健全.《數(shù)據(jù)庫實用教程》.北京:清華大學出版社,1997 鄭人杰,殷人昆,陶永雷.《實用軟件工程》.北京:清華大學出版社,1997 簫楓,堯遠.《Visual Basic 實用技術精粹》 [M].北京:人民郵電出版社,1999
第四篇:VB課程實踐教學輔助系統(tǒng)的設計與實現(xiàn)
VB課程實踐教學輔助系統(tǒng)的設計與實現(xiàn)
摘要:實驗教學是培養(yǎng)學生綜合運用計算思維解決實際問題能力的重要手段,是計算機基礎教學的重要環(huán)節(jié)。分析了VB程序設計課程實踐教學考核存在的問題,以及課程考核的重要性,探討了VB程序設計課程實踐教學輔助系統(tǒng)的設計與實現(xiàn)。該系統(tǒng)能實現(xiàn)自動分發(fā)實驗作業(yè)、自動評分,并且能夠檢測出學生之間的復制抄襲現(xiàn)象,便于教師掌握學生的真實學習情況,改進教學方法和手段,提高教學質(zhì)量。
關鍵詞:實驗教學;VB程序設計;實踐教學輔助系統(tǒng);自動評分
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2016)17-0220-02
一、引言
隨著信息技術在社會各行各業(yè)的快速發(fā)展,熟練運用信息技術和手段解決專業(yè)領域問題的已成為大學生必須具備的基本素質(zhì)。大學計算機基礎教學的目的是使非計算機專業(yè)學生掌握計算機、網(wǎng)絡等相關的基本知識、方法和技術,培養(yǎng)學生的計算思維能力,提高學生的信息素養(yǎng),以達到信息社會對大學生能力素質(zhì)的要求。因此計算機基礎教學在本科教育中有著極其重要的地位?!癡isual Basic程序設計語言”(以下簡稱VB)作為一門面向對象的程序設計語言,具有簡單易學、功能強大、應用廣泛的特點。因此,各高校把VB作為非計算機專業(yè)進行計算機教育的基礎課程之一。在非計算機專業(yè)學生中開設VB課程的目的是普及計算機基礎教育,提高學生的計算機水平,使非計算機專業(yè)學生具備一定的計算思維和分析問題、解決問題的能力,最終培養(yǎng)出能使用計算機技術解決各個專業(yè)領域實際問題的應用型人才。
課程考核是整個教學過程中的重要環(huán)節(jié),是評價教學質(zhì)量和學生學習效果的重要手段??茖W合理、適合創(chuàng)新人才培養(yǎng)的考試模式不僅能對教學起到反饋、調(diào)節(jié)、評價、促進作用,而且對培養(yǎng)學生的學習方法,調(diào)動學生學習的積極性和主動性,培養(yǎng)學生的創(chuàng)新能力具有重要作用[1,2]。VB程序設計課程主要包含以教師講授為主的課堂教學和以學生實踐為主的實驗教學兩部分,實驗教學是培養(yǎng)學生綜合運用計算思維解決實際問題能力的重要手段,是計算機基礎教學的重要環(huán)節(jié)。目前我校VB程序設計課程考核采取期末上機考試與平時實踐考核相結合的方式。在傳統(tǒng)的實踐教學過程中,教師很難在輔導過程中嚴格監(jiān)管學生的實踐情況,相互抄襲的現(xiàn)象比較嚴重,使得教師不能掌握學生學習的真實情況,直接影響教學質(zhì)量。顯然利用現(xiàn)代信息技術,加強對實踐教學環(huán)節(jié)的管理是提高教學質(zhì)量的一個有效手段。
本文依據(jù)非計算機專業(yè)學生學習程序設計的基本特點,結合VB程序設計課程實踐教學考核存在的問題,探討了VB程序設計課程實踐教學輔助系統(tǒng)的設計與實現(xiàn)。該系統(tǒng)能實現(xiàn)自動分發(fā)實驗作業(yè)、自動評分,并且能夠檢測出學生之間的抄襲現(xiàn)象,便于教師掌握學生的真實學習情況,并且采取有效的應對措施,有助于提高教學質(zhì)量。
二、VB程序設計課程實驗教學現(xiàn)狀分析
VB課程現(xiàn)有的實驗教學采取分班進行,一個班級一個實驗批次,教師根據(jù)實驗報告、實驗題目完成情況等給出實驗成績,這種傳統(tǒng)的實驗教學模式存在的問題主要體現(xiàn)在以下幾個方面[3,4]:
(一)教師的工作量大
VB程序設計面向的是非計算機專業(yè)的全部學生,實驗批次多,每次實驗要求學生完成3~4個實驗題目,面對大量學生的上機作業(yè),教師要花費很大的時間和精力批改作業(yè),增加了教師的工作量。
(二)監(jiān)管實驗過程困難、學生抄襲現(xiàn)象嚴重
由于實驗人數(shù)多,教師無法兼顧每個學生的實驗情況導致在實驗教學中有一定比例的學生不是親自上機獨立完成作業(yè),而是直接復制其他學生的作業(yè)。如此這樣,教師辛苦批改的作業(yè)也不能真實反映出實際的教學效果。教師也就無法在教學過程中根據(jù)實驗情況有針對性地調(diào)整教學手段和教學方法,難以發(fā)揮實踐教學在教學過程中的反饋作用。
(三)學生基礎薄弱、缺乏明確的學習目標
非計算機專業(yè)學生對VB程序設計課程缺乏正確的認識和理解,學習目標不明確,認為程序設計跟自己專業(yè)無關,所以完全沒有學習的動力。另外,非計算機專業(yè)學生基礎薄弱,缺乏必要的知識背景,很難適應程序設計的思維方式,實驗中會遇到各種各樣的問題,不能順利完成實驗任務,因而產(chǎn)生畏懼心理,打擊了學生學習的興趣和積極性,而為了獲得實驗成績復制其他同學的實驗結果。
針對VB程序設計實驗教學中存在的問題設計并實現(xiàn)了VB程序設計課程實踐教學輔助系統(tǒng),該系統(tǒng)能夠檢測出學生之間的抄襲現(xiàn)象,監(jiān)控學生獨立完成實驗任務。另外,自動評分功能減少了教師的工作量,提高了工作效率,實驗成績更加客觀準確,有助于提高教學質(zhì)量。
三、VB課程實踐教學輔助系統(tǒng)的設計與實現(xiàn)
(一)系統(tǒng)功能結構設計
VB程序設計課程實踐教學輔助系統(tǒng)目前已經(jīng)實現(xiàn)的功能包括:防止通過文件復制方法抄襲作業(yè)和自動批改作業(yè)功能。
1.防復制功能。通過對上機作業(yè)的個性化處理,使每個學生的上機作業(yè)與其他學生的都不一樣(其知識考核部分的內(nèi)容可以是完全一樣的,既從表面上看,作業(yè)都是一樣的,但是每個學生的作業(yè)文件都利用本系統(tǒng)經(jīng)過加密處理,使其與其他學生的作業(yè)文件是不一樣的),這樣一來,只要學生采取文件復制的方法抄襲作業(yè),系統(tǒng)就會被自動識別出來,從而達到了防止復制抄襲作業(yè)的情況。利用該系統(tǒng)能督促學生獨立完成實驗,教師能及時了解學生掌握知識的真實情況,有利于教師在隨后的課堂教學中適時調(diào)整教學方法和教學手段,改善教學效果,提高教學質(zhì)量。
2.自動批改作業(yè)功能。通過對上機實驗作業(yè)的標準化處理,利用文件的讀取功能,系統(tǒng)能自動識別出作業(yè)中的關鍵信息(語句的部分或全部),從而達到具有自動批改作業(yè),自動生成成績的功能。該功能大大減輕了教師的工作量,提高了工作效率,實驗成績更加客觀準確。另外,也有利于教師分析總結實驗成績數(shù)據(jù),了解學生掌握知識的程度和實踐能力的水平,以便發(fā)現(xiàn)教學中存在的問題,在后續(xù)的教學過程中不斷改進完善。
(二)系統(tǒng)具體實現(xiàn)技術
VB程序設計課程實踐教學輔助系統(tǒng)的操作流程如圖1所示。
1.生成作業(yè)文件夾。因為每個學生的作業(yè)文件都有加密信息,所以按學號為每個學生建立文件夾,存放為每個學生布置的實驗任務。首先將學生名單以電子表格文件形式存放在各章作業(yè)的文件夾下面,系統(tǒng)通過讀取excel電子表格中的學號信息自動生成每個學生的實驗作業(yè)文件夾。該功能的運行結果如圖1所示,同時在磁盤上建立了該實驗批次所有學生的文件夾。
2.批量發(fā)送實驗作業(yè)文件。該功能模塊是將教師所布置的實驗作業(yè)(相應的程序文件),通過文件復制的方式分別拷貝到每個學號文件夾中各個對應的作業(yè)子文件夾中,學生需要按要求補充程序代碼完成實驗要求。此時的所有學生的實驗作業(yè)都是一樣的,還沒有進行個性化標記處理。
3.生成作業(yè)標記。該功能模塊是通過將實驗作業(yè)的窗體文件中某個隱藏對象的屬性更改為學生學號的方式,對每個學生的實驗作業(yè)文件逐一進行加標記處理,使得每個學生的作業(yè)文件與其他學生的作業(yè)文件都有所不同,防止學生以文件復制的方式進行抄襲。然后將已經(jīng)生成了作業(yè)標記的實驗文件放在網(wǎng)絡教學平臺上,學生按學號下載,獨立完成實驗任務。
4.自動批改作業(yè)。學生完成實驗后,同樣以學號作為存放實驗結果的文件夾提交到網(wǎng)絡教學平臺,教師收集下載所有的實驗作業(yè)后,通過該功能可以完成實驗作業(yè)的自動批改,并且能夠檢測學生通過“文件復制”的方法抄襲作業(yè)的行為。系統(tǒng)將批改實驗作業(yè)的成績自動登記在學生名單的Excel工作表中,包括每個實驗題目的得分、是否抄襲、實驗評語等信息。
VB程序設計課程實踐教學輔助系統(tǒng)只是初步實現(xiàn)了基本功能,還有許多需要完善的地方如多點檢測抄襲、實驗作業(yè)的自動分發(fā)、更靈活細致的評分規(guī)則等,今后需在教學過程中逐步的改進和完善。
四、結論
課程考核是整個教學過程中的重要環(huán)節(jié),是評價教學質(zhì)量和學生學習效果的重要手段。實驗教學是培養(yǎng)學生綜合運用計算思維解決實際問題能力的重要手段,是計算機基礎教學的重要環(huán)節(jié),實踐教學的考核就顯得尤為重要。VB程序設計課程實踐教學輔助系統(tǒng)能夠檢測出學生之間的復制抄襲現(xiàn)象,監(jiān)控學生獨立完成實驗任務。另外,自動評分功能減少了教師的工作量,提高了工作效率,實驗成績更加客觀準確。該系統(tǒng)的運用便于教師掌握學生的真實學習情況,并且采取有效的應對措施,有助于提高教學質(zhì)量。
參考文獻:
[1]謝發(fā)忠,楊彩霞,馬修水.創(chuàng)新人才培養(yǎng)與高校課程考試改革[J].合肥工業(yè)大學學報,2010,24(2):21-24.[2]陳樹華,齊輝,侯鋼領.大學課程考試理念和模式的探討[J].計算機教育,2010,(11):4-5.[3]彭展.淺談高校程序設計實驗教學方法的改進[J].科技信息,2012,(21):123-124.[4]錢言玉,謝超.《VB程序設計》課程實驗教學綜述[J].科技資訊,2014,(24):191,193.
第五篇:基于WEB技術的科研項目驗收管理系統(tǒng)的設計與實現(xiàn)
龍源期刊網(wǎng) http://.cn
基于WEB技術的科研項目驗收管理系統(tǒng)的設計與實現(xiàn)
作者:趙麗葉 李志敏
來源:《科技創(chuàng)新導報》2012年第24期
摘要:目前大多數(shù)科研課題管理系統(tǒng)都實現(xiàn)了課題的申報、評審、立項等工作,而后期的過程管理、驗收管理過程還缺少科學的信息化流程。本文提出了基于J2EE的SSM框架的科研項目驗收的網(wǎng)上個人申請、管理員審核以及專家評審的整個過程的解決方案,真正簡化了科研項目驗收過程,實現(xiàn)了科研項目驗收管理過程的科學化、高效性和公平性。
關鍵詞:項目驗收管理 信息化流程 SSM