版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第1章 緒論隨著我國經(jīng)濟的開展,人們對生活的要求越來越高?,F(xiàn)在的有些超市的規(guī)模有限,導(dǎo)致一些制約中國超市企業(yè)開展的瓶頸問題長期得不到解決。一是配送中心開展滯后。完善高效的配送中心是超市開展不可或缺的支撐條件。但是,我國超市的配送中心遠不能適應(yīng)業(yè)務(wù)開展的需要。由于企業(yè)缺乏必要的規(guī)模是經(jīng)營實力,加上缺乏現(xiàn)代管理意識,計算機管理信息系統(tǒng)尚未建立,物流作業(yè)自動化程度低,造成配送技術(shù)落后,效率低下。二是由于超市企業(yè)規(guī)模和實力的限制,難于采用現(xiàn)代化的管理手段和技術(shù),管理水平低下。連鎖超市是一種先進的現(xiàn)代化經(jīng)營方式,必須引入先進的管理方式、管理手段和管理技術(shù)。近年來,隨著計算機技術(shù)的不斷開展,計算機性能及處
2、理能力也在不斷的增強,其應(yīng)用領(lǐng)域逐步在擴大,從工業(yè)到其他各個行業(yè),影響人們生活的各個方面,信息化管理已經(jīng)滲透到了各個領(lǐng)域。傳統(tǒng)的超市再也不能滿足人們的需要,人們需要一個快捷方便的超市配送中心管理信息系統(tǒng)。在這樣的背景下,進行了超市配送中心管理信息系統(tǒng)的開發(fā)。主要是為了超市的管理員更加科學(xué)的對超市進貨、出貨、庫存以及報損進行快速的管理。能及時的處理中間出現(xiàn)的問題。本系統(tǒng)是為超市管理系統(tǒng)的一個配送系統(tǒng)。主要是為超市的管理者在管理過程中提供先進的管理理念和管理方法。使超市的管理者能過隨時掌握超市的經(jīng)營情況,有利于超市管理層了解超市貨物的動態(tài),制定合理的進出貨管理方案。本系統(tǒng)主要包括:根本信息的維護、
3、進貨管理、出貨管理、貨損管理等四大模塊。根本信息的維護:商品類型的建立與維護、商品根本信息管理、供貨商信息管理、管理員信息管理進貨管理: 商品進貨信息管理、分類查看、更新庫存、進貨分析、庫存分析出貨管理:商品出貨信息管理、分類查看、更新庫存、出貨分析、報損管理:商品報損信息管理、分類查看、更新庫存、報損分析本次設(shè)計主要采用了結(jié)構(gòu)化生命周期的開發(fā)方法。其根本思想是用信息管理系統(tǒng)(MIS)的思想和工程化的方法,按用戶至上的原那么,結(jié)構(gòu)化、模塊化、自頂向下地對系統(tǒng)進行分析和設(shè)計。具體來說,就是先將整個信息系統(tǒng)開發(fā)過程劃分出假設(shè)干個相互獨立階段,如系統(tǒng)設(shè)計、數(shù)據(jù)庫設(shè)計、創(chuàng)立應(yīng)用程序結(jié)構(gòu)、系統(tǒng)實施等。這
4、種方法的突出優(yōu)點就是它強調(diào)系統(tǒng)開發(fā)過程的整體性和全局性,強調(diào)在整體優(yōu)化的前提下來考慮具體的分析設(shè)計問題,即自頂向下的觀點。它強調(diào)的另一個觀點是嚴格地區(qū)分開發(fā)階段,強調(diào)一步一步地嚴格地進行系統(tǒng)分析和設(shè)計,每一步工作都及時地總結(jié),發(fā)現(xiàn)問題及時地反應(yīng)和糾正。這種方法防止了開發(fā)過程的混亂狀態(tài),是一種被廣泛采用的系統(tǒng)開發(fā)方法。 目前,無論公司還是企業(yè)對于貨物都實行了信息化管理,以提高管理水平和工作效率,同時也可以最大限度地減少手工操作帶來的錯誤。于是,管理信息系統(tǒng)便應(yīng)運而生。在工廠中,產(chǎn)品的經(jīng)營涉及產(chǎn)品原料的采購、庫存、投入生產(chǎn)、報損,甚至有時涉及到出貨,同時,對于產(chǎn)品也有相應(yīng)的生產(chǎn)、庫存、出貨和報損等
5、類似環(huán)節(jié)。在其他非生產(chǎn)性單位,如超市公司、商店等,那么主要涉及到進貨、庫存、出貨和報損4個方面。本設(shè)計通過一個小型超市公司管理系統(tǒng)的深入了解,開發(fā)具有以下的功能的信息系統(tǒng)。1根本信息的維護商品類型的建立與維護:包括商品類型的新建、修改和刪除等。商品根本信息管理:包括商品根本信息的新建、修改和刪除等。供貨商信息管理:包括供貨商信息的新建、修改和刪除等。管理員信息管理:系統(tǒng)管理員的添加、刪除和修改密碼等。2進貨管理商品進貨信息管理:商品進貨信息包括商品進貨數(shù)量、單價、供貨商等。商品進貨管理功能完成進貨信息登記、修改和刪除等。分類查看:可以根據(jù)商品類型來查看某種商品的進貨情況。更新庫存:進貨信息的變
6、動直接關(guān)系到庫存的變化。進貨分析:列出當前進貨量最多的前幾項商品和進貨量最少的前幾項商品。庫存分析:列出當前庫存量最多的前幾項商品和庫存量最少的前幾項商品。3出貨管理商品出貨信息管理:商品出貨信息包括商品出貨數(shù)量、單價、統(tǒng)計日期等。商品出貨管理功能完成出貨信息登記、修改和刪除等。分類查看:可以根據(jù)商品類型來查看某種商品的出貨情況。更新庫存;出貨信息的變動直接關(guān)系到庫存的變化。出貨分析:列出當前出貨量最多的前幾項商品和出貨量最少的前幾項商品。4報損管理商品報損信息管理:商品報損信息包括商品報損數(shù)量、報損原因等。商品報損管理功能完成報損信息登記、修改和刪除等。分類查看:可以根據(jù)商品類型來查看某種商
7、品的報損情況。更新庫存:報損信息的變動同樣直接關(guān)系到庫存的變化。報損分析:列出當前報損量最多的前幾項商品和報損量最少的前幾項商品。第2章系統(tǒng)分析。同時還要進一步進行技術(shù)可行性分析、投資/效益分析、組織管理可行性分析,確定是否存在否認工程的可能性。下面從經(jīng)濟可行性和技術(shù)可行性進行分析。經(jīng)濟可行性分析超市公司管理信息系統(tǒng)開發(fā)需要投資費用和未來的運行維護費用,其中投資費用主要包括設(shè)備費用、人員費用及其他費用。系統(tǒng)的收益主要通過新系統(tǒng)提高工作效率,指導(dǎo)經(jīng)營策略來實現(xiàn),還有其他難以計算的指標。2、技術(shù)可行性分析Visual Basic 6.0,后臺數(shù)據(jù)庫采用的SQL SERVER 2000。VB6.0最
8、引人注目的特點,也是其最令程序員關(guān)心的地方,就是它訪問多種數(shù)據(jù)庫的強大功能。其特點是:優(yōu)點 它是三種方法中編碼量最小的允許使用標準的和第三方廠商制訂的控制項支持所有的動態(tài)集方法及屬性應(yīng)用 對中小規(guī)模的數(shù)據(jù)庫表(通常少于一千條記錄)只進行簡章的瀏覽操作根本SQL查詢所對應(yīng)的結(jié)果集長度有限(通常結(jié)果集的記錄數(shù)小于一百,應(yīng)用程序的數(shù)據(jù)輸入/輸出項較少(通常只涉及一個或兩個長度有限的表、本系統(tǒng)中商品的業(yè)務(wù)流程分析如下列圖:商品配送管理商品配送管理管理商品檔案商品出貨管理商品出庫商品管理登記入庫商品進貨管理商品貨損管理商品信息商品類型管理商品入庫 圖2-1商品的業(yè)務(wù)流程圖2.3 數(shù)據(jù)分析經(jīng)過分析研究后,
9、確定了超市配送中心管理信息系統(tǒng)的一種初步的數(shù)據(jù)模型。該系統(tǒng)應(yīng)該包含超市配送的各個方面,宏觀上應(yīng)該包含:數(shù)據(jù)錄入,數(shù)據(jù)檢索,系統(tǒng)維護等,而具體的每一種操作的細節(jié)實現(xiàn),應(yīng)該更詳細的描述出來,下面就這些細節(jié)做一個詳細說明。一、數(shù)據(jù)錄入有關(guān)超市配送的數(shù)據(jù),分析之后應(yīng)該涉及以下方面:商品編號,商品來源,商品庫存當前的狀態(tài),增加、修改、刪除、查詢商品記錄的功能??偨Y(jié)起來分為了以下幾大類:進貨管理,出貨管理,報損管理,維修管理。二、數(shù)據(jù)檢索一般情況下,一個完整的系統(tǒng)對大批量數(shù)據(jù)的處理都要涉及數(shù)據(jù)檢索和統(tǒng)計分析操作,本系統(tǒng)也考慮了這兩個方面。在這個模塊中,我們決定實現(xiàn)綜合查詢和統(tǒng)計分析兩局部功能。對于綜合查詢
10、應(yīng)該涉及檢索條件的設(shè)置,檢索結(jié)果的顯示模式,檢索的瀏覽方式等等,另外為了便于用戶全面了解和快速操作檢索結(jié)果,還應(yīng)對結(jié)果設(shè)置不同的排序方式,而且不能遺漏檢索結(jié)果的輸出打印等等操作。三、系統(tǒng)維護本系統(tǒng)的維護涉及數(shù)據(jù)備份、數(shù)據(jù)恢復(fù)、數(shù)據(jù)清理、管理員維護等等。2.4系統(tǒng)的數(shù)據(jù)流圖及數(shù)據(jù)字典2.4.1數(shù)據(jù)流圖數(shù)據(jù)流圖就是用來刻畫數(shù)據(jù)流和轉(zhuǎn)換的信息系統(tǒng)建模技術(shù)的。是在調(diào)研的根底上,從系統(tǒng)的科學(xué)性、管理的合理性、實際運動的可行性角度出發(fā)。將信息處理功能和彼此之間的聯(lián)系自頂向下、逐層分解,從邏輯上精確的描述系統(tǒng)具有的數(shù)據(jù)加工功能、數(shù)據(jù)輸入、數(shù)據(jù)輸出、數(shù)據(jù)存儲、和去向等工程。它用簡單的圖形記號分別表示數(shù)據(jù)流、轉(zhuǎn)
11、換、數(shù)據(jù)源以及外部實體。如圖2-2所示:數(shù)據(jù)存數(shù)據(jù)存儲數(shù)外部實體轉(zhuǎn)換數(shù)據(jù)流數(shù)據(jù)存據(jù)流外部實體位于軟件系統(tǒng)邊界之外的信息管理員轉(zhuǎn)換數(shù)據(jù)流的處理過程,又稱泡bubble轉(zhuǎn)換在轉(zhuǎn)換之間流動的數(shù)據(jù)項或數(shù)據(jù)項集合為一個或多個轉(zhuǎn)換提供數(shù)據(jù)源或數(shù)據(jù)存儲效勞的緩沖區(qū)、文件或數(shù)據(jù)庫圖2-2數(shù)據(jù)流圖的圖形符號1頂層數(shù)據(jù)流圖:頂層數(shù)據(jù)流圖是描述系統(tǒng)總體數(shù)據(jù)流向和處理的,具體可用下面的圖2-3來表示:超市配送中心管理信息系統(tǒng)超市配送中心管理信息系統(tǒng)用 戶登錄信息反應(yīng)信息圖2-3頂層數(shù)據(jù)流圖2第二次層數(shù)據(jù)流圖:第1層數(shù)據(jù)流圖介紹了用戶在進入系統(tǒng)后所能處理的根本數(shù)據(jù)及其流向,具體可用下列圖2-4來表示:管理員管理員商品類
12、型管理理進貨管理出貨管理進庫記錄出庫記錄貨損管理庫存商品檔案管理新商品入庫信息新商品信息出庫信息庫存信息進貨出貨庫存圖2-4第一層數(shù)據(jù)流圖 3第2層數(shù)據(jù)流圖:在本層數(shù)據(jù)流圖中,將細化上一層的各個模塊的具體功能。在此就以藥品檔案為例,其數(shù)據(jù)流圖2-5如下所示:商品信息商品信息數(shù)據(jù)入庫數(shù)據(jù)查詢數(shù)據(jù)刪除根本表數(shù)據(jù)修改流程圖2-5第二層數(shù)據(jù)流圖2.4.2數(shù)據(jù)字典1、用戶名稱別名:用戶名稱類型:字符型char長度:40簡述:唯一標識一個管理員組成:企業(yè)自行規(guī)定2用戶密碼別名:密碼類型:字符型char長度:40簡述:登錄憑證組成:管理員自己設(shè)定3身份別名:用戶身份類型:字符型( char )長度:40簡述
13、:權(quán)限分配的依據(jù)組成:管理員自己設(shè)定加工條目:加工名:登錄加工編號:p0輸入數(shù)據(jù)流:身份、用戶名、密碼輸出數(shù)據(jù)流:相關(guān)登錄信息加工邏輯:根據(jù)管理員信息,檢索相應(yīng)數(shù)據(jù)庫表項并返回相關(guān)信息數(shù)據(jù)存儲條目:文 件 名:密碼表,超級密碼表組 成:用戶名稱+密碼+身份組織方式:以用戶名稱為關(guān)鍵字 商品名稱 別名:商品編號 類型:字符型INT 長度:20 簡述:唯一標識商品 組成:廠家自行規(guī)定 供貨商名稱 別名:供貨商編號 類型:字符型(VARCHAR) 長度:40 簡述:唯一標識供貨商 組成:供貨商自行規(guī)定 商品類型 別名:商品類型編號 類型:字符型INT 長度:20 簡述:唯一標識商品類型 組成:超市自
14、行規(guī)定第3章系統(tǒng)設(shè)計 通過完成這個超市公司管理系統(tǒng),實現(xiàn)超市公司商品管理的穩(wěn)定性、易操作性、可維護性、平安性等,從而到達提高商品管理效率并指導(dǎo)經(jīng)營方向的目的。下面從分層設(shè)計和面向?qū)ο笤O(shè)計兩方面來分析本系統(tǒng)的設(shè)計思想。多層C/S架構(gòu)的設(shè)計本系統(tǒng)采用多層架構(gòu)設(shè)計,可以有兩種工作原理,分別介紹如下:圖3-1是邏輯上采用多層設(shè)計,而在物理結(jié)構(gòu)上,仍采用三層布局的設(shè)計方式,即界面+組件+數(shù)據(jù)庫。用戶界面用戶界面層根本界面層業(yè)務(wù)處理層數(shù)據(jù)存儲層根本界面命令業(yè)務(wù)邏輯局部給出商品ID將傳回的信息示到相應(yīng)的控件IUnknownIUnknownIUnknown業(yè)邏輯組件數(shù)據(jù)庫組織SQL語句,查詢數(shù)據(jù)庫返回查詢結(jié)果
15、,封裝成類返回根本對象,內(nèi)部有客戶信息給出商品ID,要查看商品信息用戶操作界面圖3-1物理結(jié)構(gòu)上三層結(jié)構(gòu)的設(shè)計方式圖3-2是邏輯上采用多層設(shè)計,而在物理結(jié)構(gòu)上,也采用多層布局的設(shè)計方式,即界面+界面組件+邏輯組件+數(shù)據(jù)庫。用戶界面層用戶界面層根本界面層業(yè)務(wù)處理層數(shù)據(jù)存儲層用戶操作界面根本界面組件業(yè)務(wù)邏輯組件發(fā)出查看商品信息命令給出商品ID組織SQL語句,查詢數(shù)據(jù)庫返回查詢結(jié)果,封裝成類將傳回的信息顯示到相應(yīng)的控件給出商品ID,要查看商品信息返回客戶對象,內(nèi)部有客戶信息完成命令I(lǐng)UnknowIUnknownOWN數(shù)據(jù)庫圖3-2物理結(jié)構(gòu)上多層的設(shè)計方式多層結(jié)構(gòu)是在一層結(jié)構(gòu)根底上進一步開展起來的。在
16、本系統(tǒng)中,將原三層結(jié)構(gòu)中位于用戶界面層,實現(xiàn)業(yè)務(wù)邏輯的根本界面,如數(shù)據(jù)輸入與修改界面等,再次別離出來,形成新的一層根本界面層,在項層的用戶界面層只要調(diào)用或饈這些根本界面即可。如數(shù)據(jù)錄入、修改界面。當然,這并不阻礙用戶界面層直接調(diào)用邏輯組件中的類來獲取數(shù)據(jù),因為根本界面層只是為縮短開發(fā)周期而設(shè)計的。面向?qū)ο笤O(shè)計本設(shè)計的面向?qū)ο笤碓O(shè)計思想是比擬先進的,下面介紹本系統(tǒng)中實現(xiàn)添加一種商品和顯示商品列表的數(shù)據(jù)流程。圖3-3是添加一種商品的數(shù)據(jù)流程:通過商品操作對象調(diào)出添加商品窗口,此窗口接收用戶輸入后,再調(diào)用商品信息對象將數(shù)據(jù)存儲到數(shù)據(jù)庫中。 用戶界面層用戶界面層根本界面層業(yè)務(wù)處理層數(shù)據(jù)存儲層同時傳入
17、顯示商品的列表控件話框用戶輸入正確?數(shù)據(jù)庫命令完成寫入成功返回重填否是是否數(shù)據(jù)庫寫入成功圖3-3添加商品的數(shù)據(jù)流程 用戶界面層用戶界面層根本界面層業(yè)務(wù)處理層數(shù)據(jù)存儲層調(diào)用clsOpMerch類的FillListVioew方法調(diào)用clsMerchs灰的Find方法查找商品組織SQL語句查找數(shù)據(jù)庫,將結(jié)果存到clsMerchs對象中返回命令完成逐個取出clsMerchs中的clsMerch對象,添加到列表框中數(shù)據(jù)庫同時傳入顯示商品的列表控件圖3-4顯示商品列表的數(shù)據(jù)流程以上兩種方式根本表達了本系統(tǒng)面向?qū)ο蟮脑O(shè)計思路.在本系統(tǒng)中不僅將各個數(shù)據(jù)模型如商品、廠商等封裝成類的形式,而且也將對這些數(shù)據(jù)的操作
18、封裝成類,從而將系統(tǒng)的設(shè)計理念上升到更高的一層,增強了代碼重用性和減少了各個模塊之間的耦合性。3.2 系統(tǒng)功能模塊劃分根據(jù)上述的系統(tǒng)功能分析,可以得出如圖3-5所示的系統(tǒng)功能模塊圖。超市超市配送管理系統(tǒng)商品類型管理模塊商品管理模塊供貨商管理模塊商品進貨管理模塊商品出貨管理模塊商品報損管理模塊出貨分析模塊用戶管理模塊圖3-5系統(tǒng)功能模塊圖3.3 系統(tǒng)結(jié)構(gòu)設(shè)計根據(jù)面向?qū)ο蠛投鄬咏Y(jié)構(gòu)的設(shè)計思想,可得出如圖3-6所示的系統(tǒng)結(jié)構(gòu)設(shè)計圖。超市配送中心信息系統(tǒng)超市配送中心信息系統(tǒng)用戶操作界面根本界面組件業(yè)務(wù)邏輯組件數(shù)據(jù)庫商品經(jīng)營界面供貨商管理界面用戶管理界面出貨分析界面各種信息輸入界面各種信息對應(yīng)的操作類商
19、品類型信息類商品信息類供貨商信息類進貨信息類出貨信息類報損信息類管理員信息類圖3-6系統(tǒng)結(jié)構(gòu)設(shè)計圖在一個管理管理系統(tǒng)中,數(shù)據(jù)庫的地位是非常重要的,是一個系統(tǒng)正常運行的根底。數(shù)據(jù)庫設(shè)計一方面需要科學(xué)與標準的方法,另一方面也需要豐富的經(jīng)驗指導(dǎo)。 數(shù)據(jù)庫需求分析數(shù)據(jù)庫需求分析也發(fā)球軟件工程中的需求分析階段,在這一過程中,主要是用來搜集用戶的需求,然后指導(dǎo)數(shù)據(jù)庫設(shè)計。對于沒有工程經(jīng)驗或者準確地說是沒有工程負責(zé)經(jīng)驗的人來說,他們對于需求分析 的重要程度往往是無法完全理解的。在實際的工程開發(fā)中,開發(fā)者千萬不要去臆測任何的客戶需求,因為假設(shè)將來客戶需求即使有很小的更改,你也可能需要花費與開發(fā)幾乎相同的代價去
20、修改你的數(shù)據(jù)庫,而這同時又牽扯到程序的修改。因此比擬聰明的方法就是將數(shù)據(jù)庫設(shè)計得更易擴充些,爭取做到如果需求要改變,那么只需修改一小局部程序即可,而數(shù)據(jù)庫設(shè)計不需要任何結(jié)構(gòu)的修改。 針對超市公司進銷管理系統(tǒng),分別對采購部門、出貨部門和庫存保管部門進行詳細的調(diào)研和分析,總結(jié)出如下的需求信息:商品按類管理,所以需要有一商品信息。商品必須屬于一個商品類型。如果一個商品類型存在商品,或存在下級商品類型,該類型不可刪除。需要記錄供供給商信息。在涉及商品數(shù)量的地方,要給出相應(yīng)的單位。在進貨信息中要包含商品供給商信息。商品出貨信息單中要包含登記商品出貨數(shù)量、單價等信息。商品報損要有報損原因。進貨、出貨、報損
21、操作要有相應(yīng)操作員信息。只有管理員登錄之后才可以使用系統(tǒng)。默認的管理員不可以刪除。進貨、出貨、庫存、報損信息都要可以添加、修改、刪除、分類查找。當進行進貨、出貨和報損操作后,能相應(yīng)更新庫存。需要對進貨、出貨、庫存、報損進行分析,總結(jié)熱門商品。 經(jīng)過上述系統(tǒng)功能分析和需求總結(jié),考慮到將來功能上的擴展,設(shè)計如下的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):商品類型信息,包括數(shù)據(jù)項有:商品類型編號、商品類型名稱等。商品信息,包括的數(shù)據(jù)項有:商品編號、商品名稱、商品介紹、庫存量等。商品單位信息,包括單位編號、單位名稱。供給商信息,包括供給商名稱、介紹等。進貨信息,包括進貨商品、數(shù)量、單位、單價、進貨時間、經(jīng)手人等。出貨信息,包
22、括出貨商品、數(shù)量、單位、單價、登記時間等。報損信息,包括報損商品、數(shù)量、單位、原因、登記時間等。管理員信息,包括管理員帳號、密碼、是否是默認帳號等。在上面的需求分析、數(shù)據(jù)結(jié)構(gòu)設(shè)計、數(shù)據(jù)項分析的根底上,下面可以開始數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計了。 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計得到上面的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計出能夠滿足用戶需求的各種實體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計打下根底。這些實體包含各種具體信息,通過相互之間的作用形成數(shù)據(jù)的流動。本設(shè)計根據(jù)上面的設(shè)計規(guī)劃出的實體有:商品類型信息實體、商品信息實體、商品單位信息實體、供給商信息實體、進貨信息實體、出貨信息實體、報損信息實體和管理員信息實體。各
23、個實體具體的描述E-R圖如下。商品類型信息實體E-R圖如圖3-7所示。商品類型商品類型商品類型號商品類型名備注圖3-7商品類型信息實體E-R圖商品信息實體E-R圖如圖3-8所示商品商品商品編號商品名稱商品類型ID庫存量圖3-8商品信息實體E-R圖單位信息實體E-R圖如圖3-9所示。單位單位單位編號單位名稱圖3-9單位信息實體E-R圖供貨商信息實體E-R圖如圖3-10所示。供貨商供貨商供貨商編號供貨商名稱供貨商介紹VARCHAR圖3-10 供貨商信息實體E-R圖進貨信息實體E-R圖如圖3-11所示。進貨信進貨信息供給商ID商品ID進貨時間進貨單價圖3-11進貨信息實體E-R圖出貨信息實體E-R圖
24、如圖3-12所示。出貨時間出貨時間商品編號售出數(shù)量賣出單價登記日期圖3-12出貨信息實體E-R圖報損信息實體E-R圖如圖3-13所示。報損信報損信息商品編號報損數(shù)量報損原因登記日期圖3-13報損信息實體E-R圖管理員信息實體E-R圖如圖3-14所示。管理員管理員用戶名密碼是否默認用戶圖3-14管理員信息實體E-R圖數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計完畢后,現(xiàn)在可以將上面的數(shù)據(jù)庫概念結(jié)構(gòu)轉(zhuǎn)化為某種數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結(jié)構(gòu)。根據(jù)超市公司管理系統(tǒng)使用情況的不同,可以采用Access數(shù)據(jù)庫Server 2000數(shù)據(jù)庫。從系統(tǒng)移植方便性角度考慮,我采用了SQL Serv
25、er2000數(shù)據(jù)庫。各個表的設(shè)計結(jié)果如下表所示。第個表格表示在數(shù)據(jù)庫中的一個表。表3-1為商品類型信息表MerchandiseType.表3-1商品類型信息表MerchandiseType列名數(shù)據(jù)類型長度允許空說明MTId_NVARCHAR10否商品類型號、遞增,主鍵MT_Name_SNVARCHAR80是商品類型MT_Remark_RNVARCHAR255是備注表3-2商品根本信息Merchandise列名數(shù)據(jù)類型長度允許空說明M_Id_nVARCHAR10否商品編號,遞增,主鍵M-Name_SNVARCHAR20是商品名稱M_Introduce_sNVARCHAR80是商品介紹M_Type
26、ld_NINT20是商品類型IDM_Storage_NINT40是庫存量M_Unitld_NINT20是單位編號M_Remark_RNETXT16是備注表3-3 商品單位信息表(Unit)列名數(shù)據(jù)類型長度允許空說明U_ID_NVARCHAR40否單位編號,遞增,主鍵U_NAME_SVARCHAR10是單位名稱表3-4 供貨商信息表(Provider)列名數(shù)據(jù)類型長度允許空說明P_Id_NNVARCHAR8是供貨商編號,主鍵P_Name_SNVARCHAR50是供貨商名稱P_Introduce_SNVARCHAR255是供貨商簡介P_Remark_RVARCHAR16是備注表3-5 商品進貨信息
27、表(Buy)列名數(shù)據(jù)類型長度允許空說明B_ID_NINT4否進貨ID,遞增,主鍵B_ProviderId_NVARCHAR40是供給商IDB_MerchandiseId_nINT4是商品IDB_StockDate_DDate8是進貨時間B_Deliver_SVARCHAR20是送貨人姓名B_Consignee_SVARCHAR20是經(jīng)手人姓名B_Count_NINT20是購入量B_StockPrice_NREAL20是進貨單價B_OperatorId_SVARCHAR20是操作員IDB_Remark_RVARCHAR80是備注表3-6 商品出貨信息表(Sell)列名數(shù)據(jù)類型長度允許空說明S_I
28、D_NINT4否出貨編號,遞增,主鍵S_MerchandiseID_NINT4是商品IDS_RegDate_DDATETIME8是登記日期S_Count_NINT40是售出數(shù)量S_SellPrice_NINT20是賣出單價S_Openatorld_SVARCHAR20是操作員IDS_Remark_RVARCHAR80是備注表3-7商品報損信息表(Dispose)列名數(shù)據(jù)類型長度允許空說明S_ID_NINT4否出貨編號,遞增,主鍵S_MerchandiseID_NINT4是商品IDS_RegDate_DDATETIME8是登記日期S_Count_NINT40是報損數(shù)量D_Reason_SVARC
29、HAR80是報損原因S_Openatorld_SVARCHAR20是操作員IDS_Remark_RVARCHAR80是備注表3-8 管理員信息表(Admins)列名數(shù)據(jù)類型長度允許空說明A_Account_SVARCHAR20否帳號,主鍵A_Pwd_SVARCHAR20是密碼A_IsDefault_B是/否4是是否是默認用戶第4章 程序設(shè)計到目前為止,有關(guān)數(shù)據(jù)庫結(jié)構(gòu)的所有后臺工作已經(jīng)完成。現(xiàn)就如何使用Visual Basic塔建多層結(jié)構(gòu)管理信息系統(tǒng)的應(yīng)用程序框架。整個應(yīng)用程序由下面4個局部組成。用戶界面端應(yīng)用程序EXE根本界面組件ActiveX DLL業(yè)務(wù)邏輯組件Active DLL后臺數(shù)據(jù)庫
30、SQL Server2000 數(shù)據(jù)庫在Visual Basic 6.0中選擇文件-新建工程命令,翻開新建工程對話框,選擇VB應(yīng)用程序向?qū)缓箝_始超市公司進行管理系統(tǒng)應(yīng)用程序的設(shè)置.界面類型選擇:選擇資源管理樣式項,并輸入工程名Merchandise.菜單項選擇擇:只保存“視圖和“幫助菜單。自定義工具欄:保存默認即可。使用資源文件:選擇“是。是否訪問lnternet:選擇“否。標準窗體選擇:勾選“登錄對話框和“關(guān)于對話框復(fù)選框。單擊完成按鈕完成向?qū)?。將向?qū)傻哪K命名為Mdlmain,按默認設(shè)置保存于文件夾Merchandise,中,工程屬性設(shè)置保存默認即可。保存之后,Mdlmain應(yīng)用程序創(chuàng)
31、立完畢。4.2 創(chuàng)立業(yè)務(wù)邏輯處理組件1、新建ActiveXDLL工程在Mdlmain工程中選擇菜單文件-添加工程命令,翻開“添加工程對話框后,選擇ActiveXDLL,創(chuàng)立ActiveXDLL就用程序。2、設(shè)置工程屬性在“工程資源管理器中選中剛剛新建的工程默認為“工程1,選擇菜單工程-工程1屬性命令,翻開“工程屬性對話框,對工程的一些關(guān)鍵屬性做如下設(shè)置:工程類型:ActiveXDLL。啟動對象:Sub Main.工程名稱:BuysellstorageDB。將文件保存在與Merchandise同級的BuysellstorageDB文件夾中,將組文件保有存在與Merchandise同級的文件夾中,
32、取名Merchandise.vbg,其他默認值。參加對ADO的引用選擇菜單工程-引用命令,翻開“引用對話框,選擇Microsoft Activex Dataobjects2.7Library,在工程中參加對ADO的支持.將新建工程時自去生成類的Classl的名稱重新設(shè)置為Clspublic,然后按默認文件名Clspublic.Cls保存工程.4.3 創(chuàng)立根本界面組件1、新建Activex DLL工程與新建工程BuysellstorageDB類似,在Merchandise工程中選擇菜單文件-添加工程命令,翻開“添加工程對話框后,選擇ActiveX DLL,創(chuàng)立ActiveX DLL應(yīng)用程序.2、
33、設(shè)置工程屬性在“工程資源管理器中選中剛剛新建的工程默認“工程1,選擇菜單工程-工程1屬性命令,翻開“工程屬性對話框,對工程的一些關(guān)鍵屬性做如下設(shè)置:工程類型:Activex DLL。啟動對象:Sub Main。工程名稱:BuysellstorangeUI按默認設(shè)置將工程保存在與Merchandise同級BuysellstorangeUI文件夾中即可.3、參加對業(yè)務(wù)邏輯組件中的引用在 工程資源管理器中選中BuysellstorangeUI工程,選擇菜單工程-引用命令對話框,選擇BuysellstorageaDB,在工程中參加對業(yè)務(wù)邏輯組件的支持。4.4 在界面端程序中使用組件在“工程資源管理器中
34、選中工程Merchandise,選擇菜單工程-引用命令,翻開“引用對話框,在可用的引用列表中選擇BuysellstorangeUI和BuysellstorageaDB,至此,在Merchandise應(yīng)用程序可以使用BuysellstorangeDB中的全部可用資源了。超市公司業(yè)務(wù)處理組件用來處理進銷存管理系統(tǒng)中和業(yè)務(wù)邏輯,既負責(zé)與界面進行數(shù)據(jù)傳遞不管是用戶端界面還是根本界面組件中的界面,同時也要將界端的請求應(yīng)用業(yè)務(wù)邏輯之后對數(shù)據(jù)庫進行操作。它包括以下功能:商品類型信息管理,對應(yīng)Clsmtype 類和clsMTYpes類.商品信息管理,對應(yīng)clsMerchandise類和clsMerchandi
35、ses類。供貨商信息管理,對應(yīng)clsProvider類和clsProviders類。進貨信息管理,對應(yīng)clsBuy類和clsBuys類。出貨信息管理,對應(yīng) clsSell類和clsSells類。報損信息管理,對應(yīng)clsDispose類和clsdisposes類。管理員信息管理,對應(yīng)clsAdmin類和clsAdminso類。第5章系統(tǒng)功能界面的實現(xiàn)由于本系統(tǒng)實際的功能較強,所用的功能模塊比擬多,在這樣的論文中不可能寫得過于詳細,在此只能例舉主界面窗體、用戶管理模塊、出貨管理模塊三個比擬有代表性的功能模塊加以闡述。5.1 系統(tǒng)功能實現(xiàn)系統(tǒng)主界面的設(shè)計設(shè)計主窗體控件布局翻開frmMain的編輯界面
36、,看到向?qū)б呀?jīng)為我們生成了根本框架。將向?qū)鷼獾墓ぞ邨l和對應(yīng)的ImageList及CommonDialog刪除,其他保存。然后按表5-1所示的設(shè)置為主窗體添加控件己有控件只需設(shè)置屬性即可。表5-1 主窗體及其控件屬性設(shè)置控件名稱屬性屬性取值功能frmMain(Form)Caption經(jīng)營管理系統(tǒng)系統(tǒng)主窗體imlViewSIcon(ListView)ImageHeight16樹形控件和列表框小圖標所使用的圖片Imagewidth16imlviewBIcon(ImageList)ImageHeigh32列表框在圖標所使用的圖片未用,待擴展ImageWidth32tvTreeView(TreeVie
37、w)LineStyletvwRootLines顯示商品類型樹ImageListimlViewSIconsstabView(listView)Style0-ssStyleTabbedDialog右側(cè)選項卡,做容器用TabOrientation0-ssTabOrientationtoplvMerch(Listview)lvbuy(Listview)lvSell(ListView)lvDispose(Listview)lvProvider(ListView)FullRowSelectTrue分別用來顯示商品信息列表進貨信息列表出貨信息列表報損信息列表供貨商信息列表GridLinesTrueViewl
38、vwReportIconimlViewBIconsmallIconimlviewSIcon按上述給窗體添加完控件并設(shè)置屬性后,下面要對系統(tǒng)中要用到的圖片做初始化設(shè)置。設(shè)計選項卡sstabView給sstabView控件添加5個選項卡,選項卡標題分別設(shè)置為“商品庫存、“進貨記錄、“出貨記錄、“報損記錄和“供給商,分別對應(yīng)上述5個ListView。添加菜單下面是主界面編輯的最后一步,在主界面的界面設(shè)計模式下,選擇菜單工具-菜單編輯器命令,翻開“菜單編輯器對話框,其中只要設(shè)置菜單項的“標題和“名稱兩項屬性即可,其他屬性取默認值。主界面編輯狀態(tài)預(yù)覽以上操作完成后,主界面frmMain設(shè)置如圖5-1所示
39、。圖5-1主界面主界面編輯完畢后,下面為其添加實現(xiàn)代碼.添加主界面的處理代碼1添加窗體初始化函數(shù)當翻開主界面之后,將顯示出數(shù)據(jù)庫中己有的信息,所以在窗體初始化時,要參加各個控件的初始化代碼。因有根本界面組件的支持,使得這個初始化代碼缺乏10行,參見如下代碼:初始化所有數(shù)據(jù)函數(shù)Private Sub InitMain() InitMerchListview lvMerch 初始化列表 ListAllMerchs lvMerch TypeToTreeview tvTreeView 將客戶類型顯示到樹型圖中 opProvider.FillListView lvProvider opMerch.Fil
40、lListView lvMerch opBuy.FillListView lvBuy opSell.FillListView lvSell opDispose.FillListView lvDisposeEnd Sub然后,在Form_Load中調(diào)用些過程即可。2菜單響應(yīng)函數(shù)下面加菜單響應(yīng)函數(shù),用來發(fā)出各種操作命令。每條命令只有一條語句而己。下面的例程就列出了局部菜單響應(yīng)函數(shù)。為了操作方便,程序中參加了當用戶單擊某個一級菜單時,選項卡便自動切換到相應(yīng)頁的實現(xiàn)代碼。商品類型操作Private Sub mnuMType_Click() 設(shè)置樹型控件焦點End Sub添加Private Sub mn
41、uMTypeAdd_Click() opMType.Add tvTreeViewEnd Sub刪除Private Sub mnuMTypeDel_Click() opMType.Delete tvTreeViewEnd Sub修改Private Sub mnuMTypeModify_Click() opMType.Modify tvTreeViewEnd Sub商品操作Private Sub mnuMerch_Click() 切換選項卡 sstabView.Tab = 0End SubPrivate Sub mnuMerchAdd_Click() sstabView.Tab = 0 opMer
42、ch.Add lvMerch, GetID(tvTreeView.SelectedItem.Key)End SubPrivate Sub mnuMerchDel_Click() sstabView.Tab = 0 opMerch.Delete lvMerchEnd SubPrivate Sub mnuMerchModify_Click() sstabView.Tab = 0 opMerch.Modify lvMerchEnd Sub3樹形控件單擊響應(yīng)函數(shù)當在樹中選擇某個商品類型時,右側(cè)列表中所顯示的內(nèi)容會自動根據(jù)這種商品類型來過濾顯示。比方在左側(cè)商品類型樹中先遣的是“飲料類,那么右側(cè)的商品列表
43、只會顯示出“飲料類商品,同時受影響的還有時宜貨、出貨和報損信息,它休養(yǎng)所 顯示的也都只是屬于“飲料類“商品的相關(guān)記錄。見如下代碼:Private Sub tvTreeView_NodeClick(ByVal Node As MSComctlLib.Node) opMerch.FillListView lvMerch, GetID(Node.Key) opBuy.FillListView lvBuy, GetID(Node.Key) opSell.FillListView lvSell, GetID(Node.Key) opDispose.FillListView lvDispose, GetI
44、D(Node.Key)End Sub出貨信息管理模塊的功能需要由clsSell和clsSells兩個類來實現(xiàn),它的主要功能是:添加出貨信息修改出貨信息刪除出貨信息查找出貨信息按商品統(tǒng)計分析出貨信息其他與出貨信息相關(guān)的常用操作圖5-2為出貨信息界面:圖 5-2出貨信息界面 出貨信息類clsSell用來具體處理單條出貨信息,完成出貨信息的根本操作功能,如添加、修改、刪除等。表5-2 clsSell類的屬性設(shè)置屬性名稱數(shù)據(jù)類型說明IDLong出貨編號MerchandiseIDLong商品IDMerchNameString商品名稱RegDateDate登記日期CountLong售出數(shù)量SellPric
45、eSingle售出單價OperatorldSingle操作員IDRemarkSingleVARCHARTypeNameSingle商品類型名稱RegTimesLong登記次數(shù)TotalPriceSingle售出總價屬性添加完畢并應(yīng)用后,可以看到在clsSell類中已經(jīng)自動添加了類的成員變量和相應(yīng)的屬性,根本不用做任何修改就可以應(yīng)用。下面來為clsSell類添加方法。下面重點介紹FindStorage方法的設(shè)計與實現(xiàn)。功能:統(tǒng)計各種商品的出貨登記次數(shù)和累計出貨總收入,最后按累計出貨總收入來排序,結(jié)果以clsSells類型返回,最多返回前ncount條記錄。參數(shù)設(shè)計:參見表5-3返回值:clsSe
46、lls類型,一個clsSell的集合。設(shè)計思路;根據(jù)傳入?yún)?shù)組織SQL語句并執(zhí)行,此語句中以商品來分組,計算出貨登記次數(shù)和累計出貨總收入-將查到的結(jié)果以累計出貨貨總收入排序-將前nCount條記錄參加集合-返回類本身。表5-3 Findstorage方法參數(shù)設(shè)計參數(shù)名參數(shù)類型功能是否可選及默認值說明IsDescBoolean表示是否采用降序可選,默認值=True無nCountInteger最多顯示多少條記錄可選,默認值=10無按照這樣的思想我們可以編寫出類似的代碼. clsSells類Findstorage方法的實現(xiàn)Public Function Find(Optional lgnID As
47、Long = -1, Optional lngTypeId As Long = 0) As clsSells Dim rs As Recordset Dim index As Long Dim obj As clsSell 按輸入的參數(shù)查詢,并返回一個集合類 Dim strSQL As String 構(gòu)造SQL語句 strSQL = Select * from Sell, Merchandise, MerchandiseType WHERE strSQL = strSQL & M_TypeId_N = MT_ID_N AND S_MerchandiseId_N=M_ID_N If lgnID
48、-1 Then strSQL = strSQL & AND S_ID_N= & lgnID End If If lngTypeId 0 Then strSQL = strSQL & AND M_TypeId_N= & lngTypeId End If strSQL = strSQL & AND S_ID_N0 清空當前集合 Set rs = g_Conn.Execute(strSQL) 往集合中添加查詢結(jié)果 Set obj = New clsSell With obj .ID = rs(S_ID_N).Value .MerchandiseID = rs(S_MerchandiseID_N).V
49、alue .RegDate = rs(S_RegDate_D).Value .Count = rs(S_Count_N).Value .SellPrice = rs(S_SellPrice_N).Value .OperatorId = rs(S_OperatorId_S).Value .Remark = Trim(rs(S_Remark_R).Value) .MerchName = GetValueByID(Merchandise, M_ID_N, .MerchandiseID, M_Name_S) End With Me.AddEx obj Set obj = Nothing Next in
50、dex Set rs = Nothing Set Find = MeEnd Function用戶管理模塊主要完成系統(tǒng)用戶的維護,包括增加、修改和刪除等。用戶管理對話框界面設(shè)計用戶管理模塊用來管理系統(tǒng)中的管理員。圖6-2是編輯完畢之后的用戶管理對話框視圖。圖5-3為用戶管理界面:圖5-3 用戶管理界面用戶管理對話框代碼設(shè)計整個用戶管理對話框代碼僅寥寥幾行,但功能絲毫不弱,這無疑利益于我們開發(fā)的兩個組件。以下就是這對話框的代碼。Option ExplicitDim opAdmin As New clsOpAdminPrivate Sub CancelButton_Click() Unload Me
51、End SubPrivate Sub cmdAdd_Click() opAdmin.Add lvAdminEnd SubPrivate Sub cmdDel_Click() opAdmin.Delete lvAdminEnd SubPrivate Sub cmdModify_Click() opAdmin.Modify lvAdminEnd SubPrivate Sub Form_Load() opAdmin.FillListView lvAdminEnd Sub第6章系統(tǒng)測試與維護因為本人在初次開發(fā)如此大的系統(tǒng),在開發(fā)過程中遇到了很多意想不到的情況,通過翻閱相關(guān)書籍,最終將問得以解決?,F(xiàn)將開發(fā)過程中遇到的情況說明如下。6.1 數(shù)據(jù)庫值查詢數(shù)據(jù)庫中的值查詢,一般包括字符串、空值、日期時間、布爾值數(shù)字的查詢。字符串查詢使用SQL語言進行字符串查詢時,字符串一定
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026湖南長沙財經(jīng)學(xué)校短期勞務(wù)合同人員招聘1人備考題庫及一套完整答案詳解
- 機械設(shè)備輸送傳動設(shè)備維護手冊
- 2026青海西寧城西區(qū)西部礦業(yè)集團有限公司黨務(wù)工作部門業(yè)務(wù)崗位選聘5人備考題庫及一套完整答案詳解
- 2026陜西西安市灞橋區(qū)空軍工程大學(xué)基礎(chǔ)部科研助理招聘1人備考題庫參考答案詳解
- 企業(yè)線上銷售拓客運營手冊
- 2026年公關(guān)活動全流程策劃執(zhí)行課
- 超市日常安全培訓(xùn)課件
- 藍色清爽風(fēng)格年終總結(jié)(3篇)
- 職業(yè)健康風(fēng)險評估模型的長期隨訪研究
- 職場心態(tài)培訓(xùn)
- 湖北中煙2025年招聘綜合測試
- 不銹鋼管道酸洗鈍化方案
- 2025年高考時事政治高頻考點(107條)
- 2025至2030年醇基鑄造涂料項目投資價值分析報告
- 合同協(xié)議書押金退回
- 建筑消防設(shè)施檢測投標方案
- DL-T5706-2014火力發(fā)電工程施工組織設(shè)計導(dǎo)則
- 《ISO∕IEC 42001-2023信息技術(shù)-人工智能-管理體系》解讀和應(yīng)用指導(dǎo)材料(雷澤佳2024A0)
- 勞務(wù)投標技術(shù)標
- 2023年電池PACK工程師年度總結(jié)及下年規(guī)劃
- 供電公司變電運維QC小組縮短變電站母排型接地線裝設(shè)時間成果匯報書
評論
0/150
提交評論