![[畢業(yè)論文] VC++倉庫電子管理系統(tǒng).doc_第1頁](http://file.renrendoc.com/FileRoot1/2019-7/17/e1076b32-cffe-4caf-bc74-0e7d69ad8957/e1076b32-cffe-4caf-bc74-0e7d69ad89571.gif)
![[畢業(yè)論文] VC++倉庫電子管理系統(tǒng).doc_第2頁](http://file.renrendoc.com/FileRoot1/2019-7/17/e1076b32-cffe-4caf-bc74-0e7d69ad8957/e1076b32-cffe-4caf-bc74-0e7d69ad89572.gif)
![[畢業(yè)論文] VC++倉庫電子管理系統(tǒng).doc_第3頁](http://file.renrendoc.com/FileRoot1/2019-7/17/e1076b32-cffe-4caf-bc74-0e7d69ad8957/e1076b32-cffe-4caf-bc74-0e7d69ad89573.gif)
![[畢業(yè)論文] VC++倉庫電子管理系統(tǒng).doc_第4頁](http://file.renrendoc.com/FileRoot1/2019-7/17/e1076b32-cffe-4caf-bc74-0e7d69ad8957/e1076b32-cffe-4caf-bc74-0e7d69ad89574.gif)
![[畢業(yè)論文] VC++倉庫電子管理系統(tǒng).doc_第5頁](http://file.renrendoc.com/FileRoot1/2019-7/17/e1076b32-cffe-4caf-bc74-0e7d69ad8957/e1076b32-cffe-4caf-bc74-0e7d69ad89575.gif)
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
編號 本科生畢業(yè)設計倉庫管理系統(tǒng)warehouse management system學 生 姓 名專 業(yè)計算機科學與技術學 號指 導 教 師學 院計算機科學與技術2009年 06月 - 36 -摘要本文對倉庫管理系統(tǒng) 的功能及實現(xiàn)分別進行了論述,本系統(tǒng)采用sql server 2000作為后臺數(shù)據(jù)庫的開發(fā)工具,應用vc+ 6.0作為前臺開發(fā)語言。本系統(tǒng)主要包括基礎信息管理,入庫管理,出庫管理,查詢管理等幾個主模塊。本系統(tǒng)操作簡單明了,界面美觀,簡化了倉庫管理煩瑣的傳統(tǒng)管理方式,以簡單明了的方式對倉庫庫存進行系統(tǒng)的電子管理。本文首先闡述了管理信息系統(tǒng)開發(fā)的基本理論,包括開發(fā)過程的介紹、系統(tǒng)平臺的選擇、數(shù)據(jù)庫設計方法等。其次針對貨物銷售的業(yè)務需求,給出了一個完整的貨物銷售管理系統(tǒng) 的實現(xiàn)方案,包括系統(tǒng)的需求分析,系統(tǒng)的體系結(jié)構(gòu)設計,各模塊的功能 設計,數(shù)據(jù)庫 設計及系統(tǒng)的集成部署等。對倉庫管理管理系統(tǒng) 進行了詳細設計及描述。關鍵字:功能 數(shù)據(jù)庫 倉庫管理系統(tǒng)abstractfunction and realizing describing of this text separately to the warehouse managemen system, system this adopt sql server 2000 as backstage supporter developing instrument of database, employ vc+ 6.0 develop languages as front desk. this system mainly including the fundamental information management,warehouse entry management, warehouse output management,inquiry management,etc. this system operation is simple and clear, the interface is esthetic, simplify the convoluted traditional management style of warehouse management, manage the systematic electron to warehouse management in simple and clear way apt to be grasped. this text explain basic theories that the management information system develop at first, introduction, systematic choice, database design method,etc. of platform to develop course. secondly direct against the business demand of sales of goods, provide the realization scheme of an intact warehouse managemen system, including systematic demand analyze systematic system structural design, every module of functions design, the design of storehouse of the data and systematic one are integrated and disposed etc. have designed and described the warehouse managemen system in detail.key words: function;database;warehouse management system目錄第一章 緒論- 1 -1.1 選題背景- 1 -1.2 研究目的及意義- 1 -1.3 國內(nèi)外現(xiàn)狀- 1 -1.4 開發(fā)環(huán)境- 2 -第二章 開發(fā)工具簡介- 3 -2.1 visual c+ 編程環(huán)境簡介- 3 -2.2 sql server 2000 數(shù)據(jù)庫簡介- 4 -2.3 ado簡介- 5 -第三章 總體設計- 7 -3.1 系統(tǒng)需求分析- 7 -3.2 模塊總體設計- 8 -3.3 數(shù)據(jù)庫設計- 8 -3.3.1 數(shù)據(jù)庫需求分析- 8 -3.3.2 數(shù)據(jù)庫概念結(jié)構(gòu)設計- 9 -3.3.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設計- 10 -第四章 詳細設計- 13 -4.1 入庫模塊設計分析- 13 -4.1.1 商品入庫處理過程分析- 13 -4.1.2 商品入庫查詢處理過程分析- 13 -4.2 系統(tǒng)模塊的詳細設計- 13 -4.2.1 菜單設計- 13 -4.2.2 工具欄設計- 14 -4.2.3 系統(tǒng)主界面- 15 -4.2.4 父窗口設計- 15 -4.2.5 商品入庫程序設計- 17 -4.2.6 庫存盤點程序設計- 18 -4.2.7 入庫查詢程序設計- 19 -4.3 疑難問題分析解決- 20 -4.3.1 利用表格錄入商品- 20 -4.3.2 聯(lián)想錄入表格的實現(xiàn)- 21 -總結(jié)- 23 -參考文獻- 24 -致謝- 25 -附錄- 26 -父窗口設計主要代碼- 26 -商品入庫程序設計- 27 -庫存盤點程序的設計- 29 -入庫查詢程序查詢- 32 -第一章 緒論1.1 選題背景隨著我國經(jīng)濟的飛速發(fā)展,各種類型規(guī)模的公司企業(yè)迅速崛起,許多從事生產(chǎn)和經(jīng)營管理的企業(yè)都有自己生產(chǎn)和銷售的產(chǎn)品,而這些產(chǎn)品都需要存貯在倉庫中,對于每個企業(yè)來說,隨著企業(yè)規(guī)模的不斷擴大,產(chǎn)品數(shù)量的急劇增加,所生產(chǎn)產(chǎn)品的種類也會不斷更新與發(fā)展,有關產(chǎn)品的各種信息量也會成倍的增長,而對龐大的產(chǎn)品信息量,如何有效的管理庫存品,對這些企業(yè)來說是非常重要的,庫存管理的重點是銷售信息是否即使反饋,從而確保企業(yè)運行效益.而庫存產(chǎn)品及時入庫,出庫的產(chǎn)品,經(jīng)辦人員及客戶等方方面面的因素,如何管理這些信息數(shù)據(jù),是一項復雜的系統(tǒng)工程,充分考驗著倉庫管理員的工作能力,工作量的繁重是可想而知的,所以就需要由倉庫管理系統(tǒng)來提高倉庫管理工作的效率,這對信息的規(guī)范管理,科學統(tǒng)計和快速查詢,減少管理方面的工作量,同時對于調(diào)動廣大員工的工作積極性,提高生產(chǎn)效率,都具有十分重要的現(xiàn)實意義1.2 研究目的及意義當今社會是競爭的社會。在市場競爭中,建立科學、規(guī)范、高效管理制度成為了企業(yè)管理的當務之急。一個企業(yè)在市場中是否具有強有力的競爭力,除了要看企業(yè)的人才、資金、技術、產(chǎn)品之外,更重要的一項,就是要看企業(yè)是否有一個良好的管理體制。在企業(yè)管理中,倉庫管理更是管理中的重中之重。隨著社會經(jīng)濟的迅速發(fā)展和科學技術的全面進步,計算機事業(yè)的飛速發(fā)展,倉庫管理系統(tǒng)就順應時代的需要誕生了。使得管理人員可以告別沉重而且不易于查詢的記事本堆了。本課題主要的目的是是幫助企業(yè)的倉庫管理人員對企業(yè)生產(chǎn)所需要的物資設備進行管理和控制,使生產(chǎn)設備得到充分利用,以達到降低成本。給用戶提供簡而易行的工作界面,為用戶提供充足的信息和快捷的查詢手段。管理人員通過系統(tǒng)企業(yè)倉庫信息的管理與統(tǒng)計,為企業(yè)積累真實、有效的數(shù)據(jù),通過對這些數(shù)據(jù)的分析與研究,對企業(yè)各方面做出的相應的調(diào)整,以提高企業(yè)的管理效率,使企業(yè)走上良好的發(fā)展道路1.3 國內(nèi)外現(xiàn)狀倉庫管理系統(tǒng)是信息管理系統(tǒng)(mis),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的數(shù)據(jù)庫。而對于后者則要求應用程序功能完備,易使用等特點。如今用于支持后臺的數(shù)據(jù)庫有很多種。如access、sql sever、ibm db2、oracle、mysql等等。microsoft sql server 2000 能提供超大型系統(tǒng)所需的數(shù)據(jù)庫服務。大型服務器可能有成千上萬的用戶同時連接到 sql server 2000 實例。sql server是一種不可思議的數(shù)據(jù)庫產(chǎn)品。它不僅在性能、可靠性和易管理性等方面都表現(xiàn)十分出色,同時,它也允許開發(fā)人員在需要的時候進行非常精細的控制。在存儲方面更出類拔萃。存儲過程只在創(chuàng)造時進行編譯,以后每次執(zhí)行存儲過程都不需再重新編譯,而一般sql語句每執(zhí)行一次就編譯一次,所以使用存儲過程可提高數(shù)據(jù)庫執(zhí)行速度。做為前臺的開發(fā)工具也涌現(xiàn)了不少優(yōu)秀的產(chǎn)品,如visual basic、visual c+、java、.net等等。visual basic可以快速構(gòu)windows下的應用程序,程序設計方面的技術不斷發(fā)展著,不斷引進新的概念、新的方法,如從結(jié)構(gòu)化的c開始,當面向?qū)ο蟮乃枷氡惶岢龊?,出現(xiàn)了c+,微軟在c+的基礎上為使用戶構(gòu)建win32應用程序更加方便,推出了visual c+。這也就需要程序員也要不斷的更新自己的技術。1.4 開發(fā)環(huán)境系統(tǒng)開發(fā)環(huán)境包括硬件平臺和軟件平臺兩種。硬件平臺是指開發(fā)與運行所需要的硬件環(huán)境,主要包括計算機機型及硬件配置。由于本系統(tǒng)是一個小型的mis管理系統(tǒng),因此對計算機硬件的要求不高,比較經(jīng)濟,只要配備有pii處理器(或以上)、64m內(nèi)存(或以上)、10g硬盤(或以上)的普通微機即可順利運行。軟件平臺是指系統(tǒng)開發(fā)與運行的軟件環(huán)境。本系統(tǒng)在開發(fā)時選用了穩(wěn)定性較強的windows xp中文專業(yè)版和visual c+作為開發(fā)語言,同時選用了sql server 2000數(shù)據(jù)庫。工具都是微軟的產(chǎn)品,彼此之間的兼容性較好,開發(fā)出的應用系統(tǒng)穩(wěn)定性較高。visual c+ 6.0具有可視化的開發(fā)環(huán)境,可以快速完成系統(tǒng)的開發(fā),內(nèi)部集成的數(shù)據(jù)庫訪問通道,使其可以輕松方便的對數(shù)據(jù)庫進行管理。數(shù)據(jù)庫采用sql server 2000,由于我們的系統(tǒng)要求,采用它完全可以適合我們的工作需求,并且它所支持的數(shù)據(jù)類型十分豐富,維護簡便,費用比較低,人員素質(zhì)要求不是很高,容易升級。第二章 開發(fā)工具簡介2.1 visual c+ 編程環(huán)境簡介visual c+是一個功能強大的可視化軟件開發(fā)工具。自1993年microsoft公司推出visual c+1.0后,隨著其新版本的不斷問世,visual c+已成為專業(yè)程序員進行軟件開發(fā)的首選工具。雖然微軟公司推出了visual c+.net(visual c+7.0),但它的應用的很大的局限性,只適用于windows 2000,windows xp和windows nt4.0。所以實際中,更多的是以visual c+6.0為平臺。visual c+6.0不僅是一個c+編譯器,而且是一個基于windows操作系統(tǒng)的可視化集成開發(fā)環(huán)境(integrated development environment,ide)。visual c+6.0由許多組件組成,包括編輯器、調(diào)試器以及程序向?qū)ppwizard、類向?qū)lass wizard等開發(fā)工具。 這些組件通過一個名為developer studio的組件集成為和諧的開發(fā)環(huán)境。visual c+它大概可以分成三個主要的部分:1 developer studio,這是一個集成開發(fā)環(huán)境,我們?nèi)粘9ぷ鞯?9%都是在它上面完成的,再加上它的標題赫然寫著“microsoft visual c+”,所以很多人理所當然的認為,那就是visual c+了。其實不然,雖然developer studio提供了一個很好的編輯器和很多wizard,但實際上它沒有任何編譯和鏈接程序的功能,真正完成這些工作的幕后英雄后面會介紹。我們也知道,developer studio并不是專門用于vc的,它也同樣用于vb,vj,vid等visual studio家族的其他同胞兄弟。所以不要把developer studio當成visual c+, 它充其量只是visual c+的一個殼子而已。這一點請切記!2 mfc。從理論上來講,mfc也不是專用于visual c+,borland c+,c+builder和symantec c+同樣可以處理mfc。同時,用visual c+編寫代碼也并不意味著一定要用mfc,只要愿意,用visual c+來編寫sdk程序,或者使用stl,atl,一樣沒有限制。不過,visual c+本來就是為mfc打造的,visual c+中的許多特征和語言擴展也是為mfc而設計的,所以用visual c+而不用mfc就等于拋棄了visual c+中很大的一部分功能。但是,visual c+也不等于mfc。3 platform sdk。這才是visual c+和整個visual studio的精華和靈魂,雖然我們很少能直接接觸到它。大致說來,platform sdk是以microsoft c/c+編譯器為核心(不是visual c+,看清楚了),配合masm,輔以其他一些工具和文檔資料。上面說到developer studio沒有編譯程序的功能,那么這項工作是由誰來完成的呢?是cl,是nmake,和其他許許多多命令行程序,這些我們看不到的程序才是構(gòu)成visual studio的基石。2.2 sql server 2000 數(shù)據(jù)庫簡介數(shù)據(jù)庫是mis中的重要支持技術,在mis開發(fā)過程中,如何選擇數(shù)據(jù)庫管理是一個重要的問題,目前,數(shù)據(jù)庫產(chǎn)品較多,每種產(chǎn)品都具有各自的特點和適用范圍,因此,在選擇數(shù)據(jù)庫時,應考慮數(shù)據(jù)庫應用的特點及適用范圍,本系統(tǒng)選用的數(shù)據(jù)庫語言是sql server 2000。sql server作為微軟在windows 系列平臺上開發(fā)的數(shù)據(jù)庫,一經(jīng)推出就以其易用性得到了很多用戶的青睞,相信大多數(shù)將自己的業(yè)務建立在windows平臺上的用戶都會對它有相當?shù)挠H切感。今天,我們就來談談您所關注的數(shù)據(jù)庫解決方案之微軟篇。區(qū)別于foxpro、access小型數(shù)據(jù)庫,sql server是一個功能完備的數(shù)據(jù)庫管理系統(tǒng)。它包括支持開發(fā)的引擎、標準的sql語言、擴展的特性(如復制、olap、分析)等功能。而像存儲過程、觸發(fā)器等特性,也是大型數(shù)據(jù)庫才擁有的。sql server 2000的優(yōu)點如下:1.上手容易話分兩頭,如果您的企業(yè)至今還未購置數(shù)據(jù)庫,其中一個主要的原因可能就是認為它不好上手,那么,從sql server開始吧。畢竟,大多數(shù)的中小企業(yè)日常的數(shù)據(jù)應用是建立在windows平臺上的。由于sql server與windows界面風格完全一致,且有許多向?qū)?wizard)幫助,因此易于安裝和學習,有關sql server的資料、培訓隨處可得,并且目前國內(nèi)具有mcdba認證的工程師不在少數(shù)。從另一個角度來講,學習sql server是掌握其他平臺及大型數(shù)據(jù),如oracle,sybase,db/2的基礎。因為這些大型數(shù)據(jù)庫對于設備、平臺、人員知識的要求往往較高,而并不是每個人都具備這樣的條件,且有機會去接觸它們。但有了sql server的基礎,再去學習和使用它們就容易多了。it行業(yè)的實踐經(jīng)驗充分證明了這一點。2.兼容性良好由于今天windows操作系統(tǒng)占領著主導地的位,選擇sql server一定會在兼容性方面取得一些優(yōu)勢。另外,sql server 2000 除了具有擴展性,可靠性以外,還具有可以迅速開發(fā)新的因特網(wǎng)系統(tǒng)的功能。尤其是它可以直接存貯 xml 數(shù)據(jù),可以將搜索結(jié)果以 xml格式輸出等特點,有利于構(gòu)建了異構(gòu)系統(tǒng)的互操作性,奠定了面向互聯(lián)網(wǎng)的企業(yè)應用和服務的基石。這些特點在.net 戰(zhàn)略中發(fā)揮著重要的作用。 3.相對于7.0的憂越性microsoft sql server 2000是在sql server 7.0的基礎上對性能、可靠性、質(zhì)量以及易用性進行了擴展。sql server 2000中包含許多新特性,這些特性使其成為針對電子商務、數(shù)據(jù)倉庫和在線商務解決方案的卓越的數(shù)據(jù)庫平臺。其增強的特性包括對豐富的擴展標記語言(xml)的支持、綜合分析服務以及便捷的數(shù)據(jù)庫管理數(shù)據(jù)倉庫。microsoft sql server 2000非常明顯的改進就是增加了olap(聯(lián)機分析處理)功能,這可以讓很多中小企業(yè)用戶也可以使用數(shù)據(jù)倉庫的一些特性進行分析。olap可以通過多維存儲技術對大型、復雜數(shù)據(jù)集執(zhí)行快速、高級的分析工作。數(shù)據(jù)挖掘功能能夠揭示出隱藏在大量數(shù)據(jù)中的傾向及趨勢,它允許組織或機構(gòu)最大限度的從數(shù)據(jù)中獲取價值。通過對現(xiàn)有數(shù)據(jù)進行有效分析,這一功能可以對未來的趨勢進行預測。2.3 ado簡介微軟公司的ado (activex data objects) 是一個用于存取數(shù)據(jù)源的com組件。它提供了編程語言和統(tǒng)一數(shù)據(jù)訪問方式ole db的一個中間層。允許開發(fā)人員編寫訪問數(shù)據(jù)的代碼而不用關心數(shù)據(jù)庫是如何實現(xiàn)的,而只用關心到數(shù)據(jù)庫的連接。訪問數(shù)據(jù)庫的時候,關于sql的知識不是必要的,但是特定數(shù)據(jù)庫支持的sql命令仍可以通過ado中的命令對象來執(zhí)行。ado對象模型定義了一組可編程的自動化對象,可用于visual basic、visual c+、java以及其他各種支持自動化特性的腳本語言。ado最早被用于microsoft internet in formation server中訪問數(shù)據(jù)庫的接口,與一般的數(shù)據(jù)庫接口相比,ado可更好地用于網(wǎng)絡環(huán)境,通過優(yōu)化技術,它盡可能地降低網(wǎng)絡流量;ado的另一個特性是使用簡單,不僅因為它是一個面向高級用戶的數(shù)據(jù)庫接口,更因為它使用了一組簡化的接口用以處理各種數(shù)據(jù)源。這兩個特性使得ado必將取代rdo和dao,成為最終的應用層數(shù)據(jù)接口標準。在ado模型中,主體對象只有3個:connection、command和recordset,其他4個集合對象errors、properties、parameters和fields分別對應error、property、parameter和field對象,整個ado對象模型由這些對象組成。一個典型的ado應用使用connection對象建立與數(shù)據(jù)源的連接,然后用一個command對象給出對數(shù)據(jù)庫操作的命令,比如查詢或者更新數(shù)據(jù)等,而recordset用于對結(jié)果集數(shù)據(jù)進行維護或者瀏覽等操作。command命令所使用的命令語言與底層所對應的ole db數(shù)據(jù)源有關,不同的數(shù)據(jù)源可以使用不同的命令語言,對于關系型數(shù)據(jù)庫,通常使用sql作為命令語言。在connection、command和recordset 3個對象中,command對象是個可選對象,它是否有效取決于ole db數(shù)據(jù)提供者是否實現(xiàn)了icommand接口。由于ole db可提供關系型數(shù)據(jù)源也可以提供非關系型數(shù)源,所以在非關系型數(shù)據(jù)源上使用傳統(tǒng)的sql命令查詢數(shù)據(jù)有可能無效,甚至command命令對象也不能使用。第三章 總體設計3.1 系統(tǒng)需求分析經(jīng)過前面的初步調(diào)研分析,總結(jié)出倉庫管理工作具有以下特點:在倉庫管理中存在帳目品種雜、重復次數(shù)多的問題,目前倉庫對所有信息的管理均以手工完成,既由資料管理員以各種記錄臺帳方式完成信息的登記,在需要某種信息的時候查找臺帳記錄。很明顯,目前的工作方法效率低下,信息保存的準確性、安全性難以保證,信息查詢的快速性、完整性也難以保證,致使銷售管理工作費人,費時,費力,繁瑣枯燥,效率低下。因此實現(xiàn)倉庫管理的計算機化迫在眉睫, 本系統(tǒng)是集倉庫管理、貨物管理、倉庫貨物進出庫管理、客戶統(tǒng)計、進出庫統(tǒng)計等功能于一體的綜合性倉儲管理系統(tǒng)。支持多種類型的入庫、出庫、補貨方式,同時支持多種查詢方式和全面的日志管理,可應用于各種行業(yè)的單體倉庫精細化管理或者應用于制造企業(yè)、物流企業(yè)、流通業(yè)及其它特殊行業(yè)的倉庫管理。可以輕松解決物流企業(yè)在倉庫管理、貨物流動分析等一系列問題,迅速提高物流企業(yè)對倉庫經(jīng)營管理水平、穩(wěn)固客戶群,增加經(jīng)濟效益,以最小的投資獲得雙盈的優(yōu)秀管理。幫助生產(chǎn)企業(yè)、分公司、分銷商、代理商、商場、商店等之間建立起一套完善、高效、具有快速反應能力和管理能力的業(yè)務平臺,可以極大的提高企業(yè)競爭力,為企業(yè)創(chuàng)造價值果!經(jīng)過詳細的需求分析,得出倉庫管理系統(tǒng)的用戶圖如圖3.1圖3.1 倉庫管理系統(tǒng)用例圖3.2 模塊總體設計本設計需要設計的系統(tǒng)是倉庫管理系統(tǒng),需要建立模塊配合功能來實現(xiàn)它,因此,下面簡單介紹一下本系統(tǒng)的幾個主要模塊。系統(tǒng)功能模塊圖如圖3.2圖3.2 倉庫管理系統(tǒng)功能模塊圖1.基礎信息管理:在基礎信息管理中需要實現(xiàn)操作員,商品,倉庫,供應商的信息管理,包括信息的添加,修改,刪除,瀏覽。2.入庫管理: 在入庫管理中需要實現(xiàn)商品的入庫,入庫退貨管理,記錄入庫,入庫退貨信息。3.庫存管理: 在庫存管理中需要實現(xiàn)庫存商品打印,庫存盤點,庫存調(diào)撥,商品出庫,庫存上下限管理。4.查詢管理: 在查詢管理中需要實現(xiàn)入庫查詢,入庫退貨查詢,報損,報益查詢,庫存調(diào)撥查詢,商品出庫查詢。3.3 數(shù)據(jù)庫設計3.3.1 數(shù)據(jù)庫需求分析用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫結(jié)構(gòu)能充分滿足各種信息的輸出和輸入。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設計打下基礎。仔細分析調(diào)查有關倉庫管理信息需求的基礎上,得到如圖3.3所示的本系統(tǒng)所處理的數(shù)據(jù)流程。倉庫現(xiàn)有庫存匯總、處理各種單據(jù)產(chǎn)品入庫產(chǎn)品出庫報表打印圖3.3 倉庫管理系統(tǒng)數(shù)據(jù)流程圖通過對企業(yè)倉庫管理的內(nèi)容和數(shù)據(jù)流程分析,設計數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)如下: 貨物信息,包括的數(shù)據(jù)項有編號、貨物名稱、貨物類別、貨物規(guī)格、計量單位、最高限量、最低限量、備注等。 倉庫信息,包括的數(shù)據(jù)項有編號、倉庫名稱、倉庫地點、保管員編號、備注等。 庫存狀況信息,包括的數(shù)據(jù)項有編號、貨物編號、庫存數(shù)量、倉庫編號等。 入庫單信息,包括的數(shù)據(jù)項有編號、貨物編號、經(jīng)辦人編號、入庫時間、入庫單價、入庫數(shù)量、供應商編號、倉庫編號、定單狀況、其它金額、備注等。 出庫單信息,包括的數(shù)據(jù)項有編號、貨物編號、經(jīng)辦人編號、出庫時間、出庫單價、出庫數(shù)量、客戶編號、倉庫編號、定單狀況、其它金額、備注等。 進行月盤點信息,包括的數(shù)據(jù)項有編號、倉庫編號、盤點時間、經(jīng)辦人編號、盤點數(shù)據(jù)等。3.3.2 數(shù)據(jù)庫概念結(jié)構(gòu)設計得到上面的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)以后,就可以設計出能夠滿足用戶需求的各種實體結(jié)構(gòu),以及他們之間的關系,為以后的邏輯結(jié)構(gòu)設計打下基礎。根據(jù)上面的設計規(guī)劃出的實體有:現(xiàn)有庫存信息實體、入庫信息實體、出庫信息實體、借入信息實體、借出信息實體、調(diào)撥信息實體圖和報損信息實體圖。主要實體具體的描述e-r圖如下:現(xiàn)有庫存信息實體e-r圖如圖3.4所示?,F(xiàn)有庫存信息實體編號貨物名稱最低限量最高限量圖3.4 現(xiàn)有庫存信息實體e-r圖入庫單信息實體e-r圖如圖3.5所示。入庫信息實體編號經(jīng)辦人編號入庫時間、單價、數(shù)量供應商編號圖3.5 入庫單信息實體e-r圖出庫單信息實體e-r圖如圖3.6所示。出庫信息實體編號經(jīng)辦人編號入庫時間、單價、數(shù)量客戶編號圖3.6出庫信息實體e-r圖3.3.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設計現(xiàn)在需要將在上面的數(shù)據(jù)庫概念結(jié)構(gòu)轉(zhuǎn)化為sql sever 2000 數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結(jié)構(gòu)。倉庫管理系統(tǒng)共使用了11張數(shù)據(jù)表,分別為操作員信息表(tb_operator),供應商信息表(tb_providerinfo),庫存盤點明細表(tb_check_sub),庫存盤點主表(tb_check_main),庫存信息表(tb_storageinfo),入庫明細表(tb_instock_sub),入庫退貨明細表(tb_cancelinstock_sub),入庫退貨主表(tb_cancelinstock_main),商品庫存表(tb_merchandisetorage),商品入庫主表(tb_instore_main),商品信息表(tb_merchandiseinfo)。本倉庫管理系統(tǒng)共設計了11張表,主要的8張表分別是:表3.1 操作員信息表(tb_operator)列名數(shù)據(jù)類型是否允許為空描述operatoridvarchar(10)否 操作員賬號(主鍵)namevarchar(30)否操作員姓名passwordvarchar(10)否操作員密碼levelsmallint否操作員級別表3.2 供應商信息表(tb_providername)列名數(shù)據(jù)類型是否允許為空描述providernamevarchar(30)否 供應商名稱(主鍵)artificaialpersonvarchar(30)否法人principalvarchar(30)否負責人phonevarchar(30)否電話addrvarchar(30)否地址webvarchar(30)是網(wǎng)址e_mailvarchar(30)是電子郵箱表3.3 庫存盤點明細表(tb_check_sub)列名數(shù)據(jù)類型是否允許為空描述checkidvarchar(30)否 盤點單號(主鍵)merchandiseidvarchar(30)否商品編號sumfloat否數(shù)量表3.4 庫存盤點主表(tb_check_main)列名數(shù)據(jù)類型是否允許為空描述checkidvarchar(30)否 盤點單號(主鍵)storagevarchar(30)否 倉庫名稱(外鍵)principalvarchar(30)否負責人checktimedatetime否盤點時間checkspecsmallint否盤點標識memovarchar(100)否備注表3.5 庫存信息表(tb_storageinfo)列名數(shù)據(jù)類型是否允許為空描述storagenamevarchar(30)否 倉庫名稱(主鍵)表3.6 入庫明細表(tb_instock_sub)列名數(shù)據(jù)類型是否允許為空描述instockidvarchar(30)否 入庫單號(主鍵)merchandiseidvarchar(30)否 商品編號(外鍵)unitpricemoney否單價numbersfloat否數(shù)量rebatefloat否折扣paymoneymoney否金額stocknamevarchar(30)否倉庫名稱表3.7 入庫退貨明細表(tb_cancelinstock_sub)列名數(shù)據(jù)類型是否允許為空描述canelidvarchar(30)否 退貨單號(主鍵)merchandiseidvarchar(30)否 商品編號(外鍵)unitpricemoney否單價numbersfloat否數(shù)量rebatefloat否折扣paymineymoney否金額stocknamevarchar(30)否倉庫名稱表3.8 入庫退貨主表(tb_ cancelinstock_main)列名數(shù)據(jù)類型是否允許為空描述ccancelidvarchar(30)否 退貨單號(主鍵)providervarchar(30)否供應商operatorvarchar(30)否操作員rebatefloat否折扣sumtotalmoney否總計paymoneymoney否應付金額factmoneymoney否實付金額intimedatetime(30)否退貨時間第四章 詳細設計4.1 入庫模塊設計分析4.1.1 商品入庫處理過程分析在進行商品入庫時,首先需要錄入入庫的主要信息,例如:供應商、操作員、入庫時間等,然后錄入入庫的商品信息,例如:商品編號、名稱、入庫價格、折扣等,在錄入商品信息時,程序?qū)⒆詣涌傆?,并根?jù)折扣計算應付金額,其商品入庫狀態(tài)圖如圖4.1所示。圖4.1 入庫狀態(tài)圖4.1.2 商品入庫查詢處理過程分析在查詢商品入庫信息時,首先需要設置查詢條件,用戶可以根據(jù)需要將時間段查詢與具體條件查詢組合,進行復雜的數(shù)據(jù)查詢,商品入庫查詢狀態(tài)如圖4.2所示。圖4.2 商品入庫查詢狀態(tài)圖4.2 系統(tǒng)模塊的詳細設計4.2.1 菜單設計為了設計一個特色的菜單,本人從cmenu類派生了一個cmycoolmenu,并改寫父類的drawitem、measureitem方法,重新繪制菜單。設計步驟(1)新建一個普通類cmenuitemcontext,用于記錄菜單項的信息。(2)定義3個成員變量,分別記錄菜單項的圖標索引、菜單屬性、菜單標題。(3)新建一個類,類名為“cmycoolmenu”,基類為cmenu。(4)定義4個成員變量用于記錄菜單項內(nèi)容、臨時索引、記錄菜單項id、存儲菜單項圖標。(5)改寫“measureitem(lpmeasureitemstruct lpmis)”方法,根據(jù)菜單屬性重新設置菜單項的大小。(6)添加“attachmenu”方法,根據(jù)菜單句柄加載菜單資源,并確定菜單項的屬性。(7)添加“changemenustyle”方法,從菜單資源中確定菜單項的屬性,參數(shù)btop標識菜單項是否為頂層菜單。(8)繪制菜單。由于菜單項有多種狀態(tài),例如,鼠標移動到菜單項時的狀態(tài),菜單項被選中時的狀態(tài)。因此需要定義多個方法繪制菜單。(9)改寫菜單項的“drawitem”方法,繪制菜單。(10)創(chuàng)建一個菜單資源,定義一個cmycoolmenu類對象m_mnu,調(diào)用attachmenu方法關聯(lián)菜單與菜單資源。(11)改寫主窗口的“ondrawitem”方法、“onmeasureitem”方法。(12)在主窗口的頭文件中將“ondrawitem”方法,“onmeasureitem”方法改為消息處理方法。(13)在主窗口的源文件消息映射部分添加映射宏。4.2.2 工具欄設計在倉庫管理系統(tǒng)的工具欄由crebar類與ctoolbar類組成。其中,crebar類作為工具欄ctoolbar的父窗口,可以為crebar類設置背景顏色,然后將ctoolbar類設置為透明效果,這樣,工具欄背景就被巧妙地改變了。下面介紹如何利用crebar類,ctoolbar類設計工具欄。(1)在主窗口框架中定義一個crebar類對象m_wndrebar,一個ctoolbar類對象m_wndtoolbar,一個cimagelist類對象img,其中img用于存儲工具欄上顯示的圖像。(2)定義一個createextoolbar()方法,用于創(chuàng)建工具欄。(3)在createextoolbar()方法中通過調(diào)用create()方法創(chuàng)建crebar控件。(4)通過調(diào)用ctoolbar類的createex()方法創(chuàng)建一個工具欄控件。(5)設置工具欄按鈕大小,加載工具欄按鈕圖像。(6)修改工具欄風格,使其背景透明。向工具欄添加工具欄按鈕,并設置工具欄按鈕信息(7)將工具欄添加到crebar中,設置crebar的band(邊條)屬性。4.2.3 系統(tǒng)主界面?zhèn)}庫管理系統(tǒng)主窗體主要由菜單、工具欄、狀態(tài)欄、和客戶區(qū)域4個部分組成。在設計文檔/視圖結(jié)構(gòu)程序是,狀態(tài)欄會由應用程序向?qū)ё詣觿?chuàng)建,因此不用進行設計。對于客戶區(qū)域的設計,本人將其劃分為兩個視圖區(qū)域,左邊視圖區(qū)域為一個樹視圖控件,右邊區(qū)域為普通的視圖窗口,中間部分為分隔條,用戶可以通過分隔條改變視圖區(qū)域的大小。主窗體設計效果如圖4.3:圖4.3 主窗體運行效果主窗體的設計步驟如下:(1)從樹視圖控件類ctreeview派生一個子類cleftview.(2)在cleftview中定義一個cimagelist類型的成員變量imgtree,用于存儲樹視圖節(jié)點圖標。(3)改寫“oninitialupdate()”方法,創(chuàng)建圖像列表,向圖像列表中加載圖像,定義樹節(jié)點結(jié)構(gòu),向樹視圖控件中添加節(jié)點。(4)處理樹視圖控件的雙擊事件,根據(jù)節(jié)點標題顯示相應的窗口。這樣,當用戶雙擊節(jié)點時,就會顯示相應的對話框。(5)在主窗口框架類定義一個csplitterwnd類對象m_wndspliter,用于拆分窗口。(6)改寫主窗口框架類的“oncreateclient”方法,將客戶區(qū)域分為兩個部分。至此,完成主窗口的設計。4.2.4 父窗口設計在設計倉庫管理系統(tǒng)時,本人按功能將各模塊組織起來,放在一個父窗口的標簽控件中,每個標簽頁顯示一個子窗口,其運行效果如圖4.4粉色部分所示。圖4.4 標簽頁運行效果在設計父窗口是,本人定義了一個標簽控件類ctabsheet,該控件派生于類ctabctrl,主要實現(xiàn)如下功能: 存儲標簽控件中顯示的所有窗口的指針。 存儲標簽控件中顯示的所有窗口的標題和窗口id。 記錄標簽控件的頁數(shù)。 記錄標簽控件的當前頁索引。 將窗口添加到標簽頁中。 設置窗口在標簽頁中的顯示位置。 顯示指定標簽頁中的窗口。以下是ctabsheet類的詳細設計過程:(1)創(chuàng)建一個mfc類,名稱為“ctabsheet”,基類為“ctabctrl”。(2)定義5個成員變量,其中,m_title用于存儲標簽控件中所有窗口的標題,m_idd存儲標簽控件中所有窗口的id,m_ppages存儲標簽控件中所有的窗口指針,m_nnumofpages記錄標簽控件中的標簽頁數(shù),m_ncurrentpage記錄標簽控件的當前頁面索引。(3)將窗口添加到標簽頁面,參數(shù)title為窗口標題,pdialog是頁面關聯(lián)的窗口指針,id為窗口id。(4)創(chuàng)建標簽頁面,顯示所有窗口。(5)顯示某個標簽頁中的窗口。在完成標簽控件的設計后,開始設計父窗口。(1)創(chuàng)建一個窗口,類名為“cdlginputstoragem”,在該類中定義工具欄對象m_wndtoolbar(類名為ctoolbar)、m_wndrebar(類名為crebar)。(2)定義一個ctabsheet對象,名稱為“m_tab”,用于窗口管理。(3)定義功能窗口對象。用戶可以根據(jù)需要定義窗口類對象。例如,在入庫管理中需要包含兩個功能模塊,即入庫管理和入庫退貨管理,因此需要定義兩個窗口對象。(4)在窗口類cdlginputstoragem的初始化事件中調(diào)用標簽控件(m_tab)的addpage方法添加頁面,并顯示頁面和相應窗口。4.2.5 商品入庫程序設計商品入庫管理主要實現(xiàn)商品入庫信息的登記,生成入庫票號,修改商品庫存的功能。在錄入入庫信息時,為了方便用戶錄入數(shù)據(jù),還提供了一些輔助功能。例如:在錄入供應商信息時,按pagedown鍵,會以列表的形式顯示所有供應商信息供用戶選擇;在錄入商品信息時,可以按商品編號、商品名稱、助記碼進行匹配查詢,以列表形式顯示商品信息。商品入庫管理活動圖,如圖4.5所示。圖4.5 商品入庫管理活動圖商品入庫管理運行效果如圖4.6所示。圖4.6 商品入庫管理運行效果設計步驟(1)創(chuàng)建一個窗口,類名為“cdlgproductorinput2”,刪除窗口中的“ok”和“cancel”按鈕。(2)在對話框?qū)傩源翱谥羞x擇“styles”選項卡,將“title bar”選項置于非選中狀態(tài),取消窗口的標題欄。(3)在窗口中放置7個靜態(tài)文本資源、6個編輯框資源、1個時間控制資源、2個列表框資源、2個列表視圖資源。(4)設置各主要資源屬性如表4.1表4.1 商品入庫各主要資源屬性對象名稱資源符號資源變量資源屬性list boxidc_listboxlistbox可見屬性:falseedit boxidc_operatornameoperatorname可用屬性:falselist viewidc_detaillistlist視圖屬性:report4.2.6 庫存盤點程序設計在企業(yè)中,倉庫管理人員會定期對庫存商品進行盤點,以確認商品是否缺少。在倉庫管理系統(tǒng)中,庫存盤點是對計算機中原始商品數(shù)量進行修改,以使其與實際商品數(shù)量一致。此外,還可以記錄原始商品數(shù)量與實際商品數(shù)量存在差距的原因,即由于何種原因?qū)е聦嶋H的商品數(shù)量與原始數(shù)據(jù)不符,并且針對商品數(shù)量減少的情況,對倉庫管理人員進行處罰。庫存盤點窗口如圖4.7所示。圖4.7 庫存盤點運行效果設計步驟(1)新建一個窗體,其類名為“cdlgstorepd3”,刪除窗口中的“ok”和“cancle”按鈕。(2)在對話框?qū)傩源翱谥羞x擇“styles”選項卡,將“title bar”選項卡置于非選中狀態(tài),取消 窗口的標題欄。(3)向窗口中添加5個靜態(tài)文本資源、2個編輯框資源、2個組合框資源、2個列表視圖資源、1個時間控件資源。(4)設置各主要資源屬性,如表4.2所示。表4.2 庫存盤點各主要資源屬性對象名稱資源符號資源變量資源屬性com boxidc_combo1storagename類型屬性:drop listlist viewidc_list3listinfo可用屬性:false視圖屬性:reportlist viewidc_list1list視圖屬性:report4.2.7 入庫查詢程序設計入庫查詢能夠按多種方式查詢商品的入庫信息,倉庫管理人員能夠根據(jù)這些歷史入庫信息制定采購計劃。入庫查詢管理活動圖如圖4.8所示.圖4.8 入庫查詢管理活動圖入庫查詢管理窗口如圖4.9所示圖4.9 入庫查詢管理運行效果設計步驟(1)新建一個窗體,其類名為“cdlginputquery4”,刪除窗口中的“ok”和“cancel”按鈕。(2)在對話框?qū)傩源翱谥羞x擇“styles”選項卡,將“title bar”選項置于非選中狀態(tài),取消窗口的標題欄。(3)向窗口添加3個靜態(tài)文本資源、一個編輯框資源、一個組合框資源、2個列表資源、2個時間控件資源、2個復選框資源。(4)設置各主要資源屬性。如表4.3所示表4.3 入庫查詢各主要資源屬性對象名稱資源符號資源變量資源屬性check boxidc_check1check1標題屬性:空com boxidc_combo1fields數(shù)據(jù):入庫票號 供應商 操作員 商品名稱類型:drop listlist viewidc_list1list視圖屬性為:report4.3 疑難問題分析解決4.3.1 利用表格錄入商品在設計商品入庫模塊時,為了方便用戶錄入多種商品,采用表格形式進行錄入。程序中利用列表視圖控件錄入商品信息。但mfc提供的列表視圖控件clistctrl只能顯示數(shù)據(jù),而不能編輯,為了使列表視圖控件能夠編輯,筆者改寫了clistctrl類,從該類派生一個子類ccustomgrid。為了讓ccustomgrid能夠具有編輯功能,在該類中定義了一個編輯框類,當用戶單擊表格中的單元格時,將編輯框顯示在單元格中,用戶可以在編輯框中輸入數(shù)據(jù),在編輯失去焦點時,將數(shù)據(jù)寫入單元格。根據(jù)上面的功能描述,需要解決如下問題: 定義一個編輯框類,使其在失去焦點時將數(shù)據(jù)顯示在列表中。 在表格中創(chuàng)建編輯框。 用戶單擊單元格時,確定單元格坐標(行和列索引)。 根據(jù)單元格坐標確定單元格區(qū)域,并在指定的區(qū)域顯示編輯框。設計步驟1. 定義一個編輯框類從cedit派生一個編輯框類,本例為“ckeyedit”。為了使ckeyedit具有更多的功能,定義了一個布爾型的成員變量isnumber,用于確定是否限制編輯框只允許輸入數(shù)字。處理編輯框的wm_killfocus消息,使其在失去焦點時將數(shù)據(jù)顯示在列表的當前單元格中。為了使編輯框可以根據(jù)情況限制為本的輸入,需要處理wm_char消息,當isnumber為true時,編輯框只允許輸入數(shù)據(jù):為false,不進行限制。2.定義ccustomgrid類,創(chuàng)建編輯框從clistctrl派生一個子類ccustomgrid,在該類中定義一個ckeyedit對象。改寫虛擬方法presubclasswindow,設置列表控件風格,創(chuàng)建編輯框。3用戶單擊表格時,確定單元格的坐標為了在用戶單擊表格時確定編輯框出現(xiàn)的位置,首先需要確定用戶單擊時的單元格坐標。處理表格的wm_lbuttondown消息,根據(jù)鼠標單擊時的指針位置確定單元格坐標。4.根據(jù)單元格坐標確定單元格區(qū)域,并且該區(qū)域顯示編輯框clistctrl類提供了getsubitemrect方法,能夠根據(jù)單元格坐標確定其區(qū)域。4.3.2 聯(lián)想錄入表格的實現(xiàn)在本系統(tǒng)的商品錄入模塊管理中,為了方便用戶錄入數(shù)據(jù),在輸入商品信息時,可以鍵入簡碼,系統(tǒng)會將相關的商品信息顯示在一個列表中,供用戶選擇。根據(jù)上面的功能描述,需要解決如下問題: 截獲表格編輯時的消息。 根據(jù)不
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB32/T 4135-2021富士蘋果化學疏花疏果技術規(guī)程
- DB32/T 3898-2020鄉(xiāng)鎮(zhèn)(街道)公共法律服務中心建設和服務規(guī)范
- DB32/T 3733-2020全域旅游信息資源采集規(guī)范
- DB32/T 3679-2019蘇山豬
- DB32/ 4436-2022木材加工行業(yè)大氣污染物排放標準
- DB31/T 875-2015人身損害受傷人員休息期、營養(yǎng)期、護理期評定準則
- DB31/T 827-2014金鑲玉首飾鑲嵌與服務規(guī)范
- DB31/T 810-2014再制造打印耗材生產(chǎn)過程環(huán)境控制要求
- DB31/T 692-2013上海名牌(產(chǎn)品)評價通則
- DB31/T 1297-2021政務公開管理規(guī)范
- 新:惡性腫瘤免疫治療技術應用指南
- 《焊接機器人》課件
- DB52T 1211-2017 電站汽輪機數(shù)字電液控制系統(tǒng)并網(wǎng)試驗及檢測指標
- 醫(yī)療行業(yè)招標代理服務方案
- 2024年賓館衛(wèi)生管理制度(四篇)
- 2021城市運行管理服務平臺技術標準
- 【核心素養(yǎng)目標】數(shù)學人教版八年級上冊11.3.1 多邊形 教案
- 老年舞蹈隊免責協(xié)議書范文
- 江蘇省無錫市惠山區(qū)2024年統(tǒng)編版小升初考試語文試卷(含答案解析)
- 經(jīng)皮肺動脈去神經(jīng)術治療肺動脈高壓的中國專家建議
- 市政道路及綜合管網(wǎng)工程施工組織設計
評論
0/150
提交評論