【正文】
elopment two aspects. Establishes the data uniformity and the integrity regarding former request is strong, the data security good storehouse. But regarding latter then the request application procedure function is plete and easy to use and so on the characteristic. In this paper, the supermarket management system has been discussed, design to the target, system development background, system function analysis, system function mold piece design, database need analysis and design, each function mold piece code realize, the system announces each of etc. over with proceed the detailed describing. The procedure function es close actual, contents refinement, system to business enterprise familiar purchase, stock, sell etc. business activity and related suppliers to proceed the management with basic information in etc. in customer. This system uses and SQL Server. They have many characteristics, such as simple use ,high efficiency, might function and friend interface and take many conveniences for developers. Key word: MIS system, Visual , database, the supermarket management system 超市管理系統(tǒng) 3 前言 在信息時(shí)代,信息傳播的速度與廣度使得企業(yè)營(yíng)銷環(huán)境發(fā)生了巨大變化,企業(yè)在以往經(jīng)驗(yàn)上積累的營(yíng)銷理念和營(yíng)銷技術(shù)都將受到巨大挑戰(zhàn)。等硬軟環(huán)境,物流是否通暢,而我們大學(xué)生是祖國(guó)未來(lái),那么我們就要考慮到自身的發(fā)展與時(shí)代結(jié)軌,只有適應(yīng)了社會(huì),你才有發(fā)展。 本 設(shè)計(jì)為一個(gè)基本的 超市 管理系統(tǒng),系統(tǒng)對(duì)企業(yè)中常見的采購(gòu)、庫(kù)存、銷售等商業(yè)活動(dòng)以及相關(guān)的供應(yīng)商和客戶等基本信息進(jìn)行管理 。另外,超市將一次購(gòu) 足的觀念發(fā)揮到較其他形態(tài)食品零售更大的范圍。隨著零售業(yè)改革的深化和對(duì)外開放力度的加大,我國(guó)連鎖超市的業(yè)態(tài)類型將會(huì)繼續(xù)推陳出新。目前,零售業(yè)是生活中常見的行業(yè),而每個(gè)銷售店也都因競(jìng)爭(zhēng)的關(guān)系,必須盡可能的了解商店的銷售情況。由于它能夠準(zhǔn)確記載和查閱有關(guān)超市經(jīng)營(yíng)活動(dòng)的大 量數(shù)據(jù),幫助超市經(jīng)營(yíng)者掌握和分析營(yíng)銷情況,及時(shí)作出正確決策,并且有利于商店內(nèi)部的財(cái)務(wù)、工資、人員、庫(kù)存、銷售情況等管理,因而大大提高了現(xiàn)代超市的管理水平。系統(tǒng)的可行性分析,是針對(duì)開發(fā)一個(gè)管理信息系統(tǒng),它的開發(fā)是否存在內(nèi)外部的必要條件,包括技術(shù)上、資金上、經(jīng)濟(jì)上、人力資源以及組織管理上的必要條件,同時(shí)還要分析在目前條件下是否 有必要 開發(fā)這樣一個(gè)信息管理系統(tǒng)。 ★ 貨物管理中節(jié)省的人力,減輕的勞動(dòng)強(qiáng)度; ★ 降低的成本及其他費(fèi)用; ★ 改進(jìn)薄弱環(huán)節(jié),提高了工作效率; ★ 提高數(shù)據(jù)處理的及時(shí)性和準(zhǔn)確性。比起傳統(tǒng)的方法這樣可以節(jié)省大量的人力物力資源,又可以縮短業(yè)務(wù)處理的時(shí)間,加強(qiáng)對(duì)物資安全的管理,具有很強(qiáng)的實(shí)用性和經(jīng)濟(jì)性。主要達(dá)到以下的目標(biāo)。 第 2 章 需求分析 對(duì)一個(gè)軟件項(xiàng)目而言,在目標(biāo)確定后,完善的需求分析對(duì)軟件開發(fā)的成功是極為重要的。 業(yè)務(wù)流程分析 在對(duì)系統(tǒng)的組織結(jié)構(gòu)和功能進(jìn)行分析時(shí) ,需從一個(gè)實(shí)際業(yè)務(wù)流程的角度將系統(tǒng)調(diào)查中有關(guān)該業(yè)務(wù)流程的資料都串起來(lái)作進(jìn)一步的分析。 業(yè)務(wù)流程圖說(shuō)明如下: ★ 首先,我們會(huì)先計(jì)劃要采購(gòu)的商品種類和進(jìn)行合作的供應(yīng)商,做采購(gòu)計(jì)劃。 如果發(fā)現(xiàn)貨品有問(wèn)題,就可以進(jìn)入報(bào)損處理模塊根據(jù)商品的損壞原因來(lái)做報(bào)損登記,再進(jìn)行采購(gòu)?fù)素洝? ★ 當(dāng)客戶需要本貨品時(shí),需了解一下貨品的價(jià)格情況,然后我們就進(jìn)入報(bào)價(jià)模塊。 ★ 整個(gè)銷售流程完畢后,就要進(jìn)行對(duì)客戶進(jìn)行銷售對(duì)賬 。其目的是要發(fā)現(xiàn)和解決數(shù)據(jù)流動(dòng)中的問(wèn)題。 數(shù)據(jù)流程圖 數(shù)據(jù)流程圖是一種能全面地描述信息系統(tǒng)邏輯模型的主要工具,它可以用少數(shù)幾種符號(hào)綜合地反映出信息在系統(tǒng)中的流動(dòng)、處理和存儲(chǔ)情況 。而業(yè)務(wù)編程圖只能孤立在分析各個(gè)業(yè)務(wù),不能反映出各業(yè)務(wù)之間的數(shù)據(jù)關(guān)系。 圖 邏輯結(jié)構(gòu)上的多層設(shè)計(jì)方式 在這種多層結(jié)構(gòu)設(shè)計(jì)中,用戶界面只負(fù)責(zé)處理基本的界面操作,并將操作以調(diào)用的方式分發(fā)給相應(yīng)的業(yè)務(wù)處理層。 二、面向?qū)ο笤O(shè)計(jì) 在本 系統(tǒng)中,不但將常用的業(yè)務(wù)處理封裝為類庫(kù)的形式,而且將數(shù)據(jù)操作和報(bào)表處理等基本操作也進(jìn)行封裝,從而將系統(tǒng)的設(shè)計(jì)理論上升到更高的一層,增強(qiáng)了代碼重用性和減少了各個(gè)模塊之間的耦合性。 ( 3)合理的數(shù)據(jù)流設(shè)計(jì),在應(yīng)用系統(tǒng)設(shè)計(jì)中,相對(duì)獨(dú)立的模塊間以數(shù)據(jù)流相互連接,使各模塊間的耦合性較低,方便系統(tǒng)運(yùn)行,提高系統(tǒng)安全性。 超市管理 系統(tǒng)的每條商品信息都具有 惟一的一個(gè)編碼, 該功能設(shè)置商品編碼分類的方法,從而實(shí)現(xiàn)商品資料維護(hù)中自動(dòng)生成編碼的功能。 “ 供貨商資料維護(hù) ” 用于維護(hù)企業(yè)供貨商的基本信息,內(nèi)容包括供貨商號(hào)、拼音編碼、簡(jiǎn)稱、名稱、地址、郵編、區(qū)號(hào)、地區(qū)、類型、電話、傳真、電報(bào)、開戶行、開戶行郵編、銀行帳號(hào)、稅號(hào)、庫(kù)房地址、庫(kù)房電話、業(yè)務(wù)員、業(yè)務(wù)部門等。 “ 倉(cāng)庫(kù)信息維護(hù) ” 用于維護(hù)企業(yè)的倉(cāng)庫(kù)信息,內(nèi)容包括倉(cāng)庫(kù)號(hào)、倉(cāng)庫(kù)名、類別、備注等。 “ 銷售合同管理 ” 用于維護(hù)企業(yè)與客戶簽訂的的銷售合同,內(nèi)容包括客戶編號(hào)、貨號(hào)、售價(jià)、付款方式、帳期、簽訂日期、合同期限等。 “ 付款單 ” 用于錄入企業(yè)支付貨款的憑證和銷應(yīng)付款。 “ 應(yīng)付款帳齡 ” 用于分析應(yīng)付款的帳齡,即在不同時(shí)間段內(nèi)應(yīng)付款分部的情況,從而為付款作出依據(jù)。 “ 應(yīng)收款匯總 ” 用于查詢企業(yè)所有的應(yīng)收款,對(duì)應(yīng)到每一個(gè)客戶。 “ 應(yīng)收款帳簿 ” 用于查詢應(yīng)收款科目的明細(xì)分錄,每一筆銷售或者收款系統(tǒng)都會(huì)在帳簿中自動(dòng)產(chǎn)生一筆記錄,以借方、貸方、余額的形式存在,可以直接將查詢的結(jié)果輸出作為財(cái)務(wù)軟件的憑證。 “ 模擬結(jié)帳 ” 用于進(jìn)行模擬結(jié)帳操作,以查看結(jié)帳數(shù)據(jù)是否正確。 ER 圖 圖 采購(gòu)管理 ER圖 超市管理系統(tǒng) 25 圖 銷售管理 ER圖 圖 庫(kù)存管理 ER 圖 系統(tǒng)特點(diǎn) 一 、多層結(jié)構(gòu)設(shè)計(jì) 嚴(yán)格意義上的三層結(jié)構(gòu)設(shè)計(jì),程序邏輯結(jié)構(gòu)分為用戶界面層、業(yè)務(wù)邏輯處理層和數(shù)據(jù)存儲(chǔ)層。 二、面向?qū)ο笤O(shè)計(jì) 系統(tǒng)中將數(shù)據(jù)操作、增加、刪除和修改等常用業(yè)務(wù)邏輯和報(bào)表打印等封裝成相應(yīng)的類,類中的不同方法實(shí)現(xiàn)不同的功能,從而提高了對(duì)數(shù)據(jù)庫(kù)操作的安全性、程序的可擴(kuò)展性和易于維護(hù)性。 數(shù)據(jù)庫(kù)需求設(shè)計(jì) 用戶的需求具體體現(xiàn)在各種信息 的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫(kù)結(jié)構(gòu)能充分滿足各種信息的輸出和輸入。 ★ 商品按類別和名稱進(jìn)行管理。 ★ 在采購(gòu)信息中需記錄采購(gòu)的數(shù)量和單價(jià)等。 ★ 所有的單據(jù)必須記錄相應(yīng)的經(jīng)手人和開具時(shí)間。 ★ 商品信息,包括的數(shù)據(jù)項(xiàng)有:商品編號(hào)、商品名稱、商品類別、商品規(guī)格大小、商品凈重、商品介紹和庫(kù)存量等。 ★ 報(bào)損信息,包括的數(shù)據(jù)項(xiàng)有:報(bào)損單編號(hào)、報(bào)損商品、報(bào)損數(shù)量、報(bào)損原因、登記時(shí)間和經(jīng)手人等。 系統(tǒng)實(shí)體的 ER圖設(shè)計(jì)如下。 表 商品信息表 列名 名稱 數(shù)據(jù)類型 長(zhǎng)度 允許為空 備注 PrdID 商品編號(hào) Int 4 N 主鍵 、自動(dòng)生成 PrdName 商品名稱 varchar 20 N PrdType 商品價(jià)格 varchar 10 Y PrdSize 商品規(guī)格 varchar 12 Y PrdWet 商品凈重 Smallint 2 Y PrdMemo 商品說(shuō)明 varchar 100 Y PrdQua 商品數(shù)量 Smallint 2 Y 表 為商品采購(gòu)信息表。 表 員工 信息表 列名 名稱 數(shù)據(jù)類型 長(zhǎng)度 允許為空 備注 userid 員工編號(hào) int 4 N 主鍵 name 姓名 varchar 50 N pwd 密碼 char 6 N role 權(quán)限 varchar 20 N 數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程設(shè)計(jì) 存儲(chǔ)過(guò)程是存儲(chǔ)在數(shù)據(jù)庫(kù)服務(wù)器上預(yù)編譯好的 SQL 語(yǔ)言的批命令,它能顯著地減少客戶端的工作過(guò)程。 以下是 9個(gè)主要的存儲(chǔ)過(guò)程。 spDelPur的腳本代碼 CREATE Procedure spDelPur /*此存儲(chǔ)用于刪除采購(gòu)單時(shí)候更新采購(gòu)單,并對(duì)商品列表中對(duì)應(yīng)產(chǎn)品的庫(kù)存數(shù)量進(jìn)行更新 */ purlistid int /*需要更新的采購(gòu)單編號(hào) */ as declare prdid int /*采購(gòu)單中采購(gòu)商品的編號(hào) */ declare purqua int /*采購(gòu)單中采購(gòu)商品的數(shù)量 ,這個(gè)數(shù)量還需要去相應(yīng)商品的表中對(duì)庫(kù)存數(shù)量進(jìn)行更新 */ declare prdqua int /*原始商品的庫(kù)存數(shù)量 */ select prdid=prdid from purchaseproduct where purlistid=purlistid select purqua=purqua from purchaseproduct where purlistid=purlistid select prdqua=prdqua from productlist where prdid=prdid delete from purchaseproduct where purlistid=purlistid update productlist set prdqua = prdqua purqua where prdid= prdid 超市管理系統(tǒng) 32 return GO ★銷售單的增加操作對(duì)應(yīng)的存儲(chǔ)過(guò)程 spAddSal 的腳本代碼如下。 spAddDam 的腳本代碼 CREATE procedure spAddDam /*此存儲(chǔ)用于增加報(bào)損單,并對(duì)商品列表中相應(yīng)商品的庫(kù)存數(shù)量進(jìn)行更新 */ prdid int , damdat smalldatetime , damemp varchar (10), damqua smallint , dammemo varchar (100) as declare prdqua int /*原始商品庫(kù)存數(shù)量,需要 更新 */ select prdqua= prdqua from productlist where prdid = prdid insert into damlist (prdid, damdat , damemp ,damqua ,dammemo) values (prdid,damdat ,damemp ,damqua ,dammemo) update productlist set prdqua=prdqua damqua where prdid = prdid return GO ★報(bào)損單的修改操作對(duì)應(yīng)的存儲(chǔ)過(guò)程 spEdtDam 的腳本代碼如下。 (1)在 Visual 中,對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)都需要添加對(duì)相關(guān)命名空間的引用。uid=qiu。在 SCMApp 類中,通過(guò) 4 個(gè)不同的方法 (DeleByKey、 InsertBySQL、 EdtBySQL 和 Strim)來(lái)分別實(shí)現(xiàn)記錄的增加、刪除、修改和特殊字符串的替換操作。 where amp。 KeyVal amp。其窗體如圖 所示 : 在進(jìn)行系統(tǒng)登陸過(guò)程中,登陸模塊將調(diào)用數(shù)據(jù)庫(kù)里的用戶數(shù)據(jù)表,并對(duì)用戶名和密碼進(jìn)行驗(yàn)證,只有輸入了正確的用戶名和密碼后,系統(tǒng)登陸才會(huì)成功。用戶名和密碼均為字符串,最大長(zhǎng)度為 16 個(gè)字符,密碼以“ *”號(hào)顯示(英文和數(shù)字算一個(gè)字符,漢字算兩個(gè)字符)。 總體界面 通過(guò)用戶名和密碼的驗(yàn)證登陸 之后 ,就可以看到以下的界面。 超市管理系統(tǒng) 40 不同的部門有不同的權(quán)限,只有經(jīng)理處的用戶有權(quán)限進(jìn)入員工信息界面。將銷售信息錄入數(shù)據(jù)庫(kù)銷售表中, 方便 進(jìn)行銷售查詢和統(tǒng)計(jì)。 ★ 當(dāng)選擇不同的商品編號(hào)時(shí),會(huì)自動(dòng)變化改變商品名稱 。 Public Function PrdIDToNam(ByVal Id As String) As String