數(shù)據庫原理課程設計畢業(yè)設計超市物流管理系統(tǒng)_第1頁
數(shù)據庫原理課程設計畢業(yè)設計超市物流管理系統(tǒng)_第2頁
數(shù)據庫原理課程設計畢業(yè)設計超市物流管理系統(tǒng)_第3頁
數(shù)據庫原理課程設計畢業(yè)設計超市物流管理系統(tǒng)_第4頁
數(shù)據庫原理課程設計畢業(yè)設計超市物流管理系統(tǒng)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、數(shù)據庫原理課程設計報告專業(yè):計算機科學與技術班級:0410308班學號:03100810姓名:蒲振宇題目名稱:超市物流管理系統(tǒng)完成日期:2005年12月10日重慶郵電學院計算機學院實驗中心、系統(tǒng)定義:當今中國零售業(yè)發(fā)展正盛,大量超市涌現(xiàn)于各個城市,很大程度上改變了人民的消費方式。 大量頻繁的物資流通,使得傳統(tǒng)低效的人工管理已不合時宜。本系統(tǒng)以一個統(tǒng)一的界面,給收銀員、采購員和管理人員提供了不同的操作及管理功能。數(shù)據庫服務器可配置在獨立的服務器上,也可配置在一臺運行本系統(tǒng)的計算機上。適用于中小型無連鎖店,或連鎖店間經濟獨立的超市的物流管理。、需求分析:(一)系統(tǒng)綜合需求作為一個超市物流管理系統(tǒng),

2、應該給用戶提供方便、友好而簡潔的界面進行應用,并對超市的運營過程中物資的流動詳細記錄歸檔,并將這些數(shù)據進行邏輯上的融合,以便于用戶查看、分析及管理。針對中小型超市的運營模式,有三類核心員工:收銀員、采購員和管理人員,分別有三個核心功能需要實現(xiàn),銷售功能,采購功能,庫存管理和員工管理功能。管理人員的功能應該在此基礎上進行擴展,實現(xiàn)銷售記錄查詢,采購記錄查詢,商品信息查詢、添加、刪除和修改,以及促銷活動的設置。很多超市實行了會員制度,會員享受優(yōu)惠待遇。所以本系統(tǒng)應該引入會員管理的模塊,對會員進行注冊、刪除、查詢、消費跟蹤。此外, 一個成熟的管理系統(tǒng)不僅應該具有基本的處理、查詢功能,還應該有一些分析

3、、 后臺監(jiān)控的功能。所以可以將基本的供銷數(shù)據進行融合,以圖形化的界面展示給用戶進行供銷情況的分析。在后臺實時監(jiān)控商品庫存量,當?shù)陀谀骋恢禃r,向前臺發(fā)出預警通知。最后,本系統(tǒng)中對實際中應該機械化處理的過程,如條形碼掃描儀,讀卡機等,進行手工操作模擬的簡化,加入相應功能模塊即可在現(xiàn)實中使用。(二)系統(tǒng)邏輯模型3 / 201.數(shù)據流圖:消費清單顧客當前打折情況銷售商品信息,會員卡號應收金額收銀員消費金用戶查詢條會員管理優(yōu)惠規(guī)則優(yōu)惠規(guī)則管理修改的信M 打折信息U消費清單I 會員信息會員信息銷理 管 售 肖 至庫存量減少米購入庫采購信息V銷售記錄本次采購信息 i- 庫存量增加量歷史采購信息用戶查詢條件米

4、購員/采購管理商品及庫存管理用戶查詢條行 A4. 歷史銷售記稱銷售查詢條件 會員資料,消費清單會員查詢條件優(yōu)惠規(guī)則修改信息J商品修改信息商品查詢條件銷售記錄采購記錄商品信息列表當前優(yōu)惠規(guī)則圖1-1系統(tǒng)數(shù)據流圖2.數(shù)據字典5 / 20項目組成類型來源去向存儲 者使用頻度變動頻度當前打折情況會員優(yōu)惠規(guī)則,全 場優(yōu)惠規(guī)則數(shù)據流管理人 員收銀員-頻繁有時(打折信息)管理人 員管理人 員(當前優(yōu)惠規(guī)則)優(yōu)惠規(guī)則數(shù)據存 儲-管理 人員銷售商品信息商品編號,售價, 銷售數(shù)量,銷售日 期,會員編號,收 銀員工號數(shù)據流收銀員管理人 員-頻繁增加頻 繁,基本 無更改(銷售信息)(歷史銷售記錄)銷售記錄數(shù)據存 儲-

5、收銀 員會員信息會員編號,姓名, 住址,電話,身份 證號,消費金額數(shù)據流管理人 員,收銀 員管理人 員-頻繁增加不頻 繁,基本 無更改(會員資料)消費清單商品編號,售價, 銷售數(shù)量,銷售日 期,會員編號,收 銀員工號收銀員管理人 員-會員信息會員編號,姓名, 住址,電話,身份 證號數(shù)據存 儲-管理 人員商品信息列表編號,名稱,規(guī)格, 供應商,售價,庫 存量數(shù)據流管理人 員,采購 員,收銀 員管理人 員-頻繁增加不頻 繁,更改 不頻繁商品信息數(shù)據存 儲-管理 人員本次采購信息米購編寧,商叩編 號,采購價格,采 購數(shù)量,采購日期,采購員數(shù)據流采購員管理人 員-有時增加有 時,基本 無更改歷史采購信

6、息采購信息采購記錄采購記錄數(shù)據存 儲-采購 員表1.1系統(tǒng)數(shù)據字典三、系統(tǒng)設計:(一)概念結構設計(二)邏輯結構設計員工信息表 Employee字段名類型NULL其他備注e_idvarchar(10)PK員工號e_namevarchar(10)Index員工姓名e_pwdvarchar(100)Y登陸密碼e_positiontinyint職位(0:管理人員1:收銀員2:采購人員)e statebit(1)在職情況會員信息表 Member字段名類型NULL其他備注m_idbigint(8)PK會員編號m_namevarchar(10)Index會員姓名m_addrvarchar(50)會員住址m

7、_telvarchar(15)會員電話m_codevarchar(18)會員身份證號m_consumedecimal會員消費金額商品信息表Product字段名類型NULL其他備注p_idbigint(8)PK商叩編勺p_namevarchar(30)Index商品名稱p_scalevarchar(6)規(guī)格p_pricedecimal冏品當前單價p_manuvarchar(30)供應商p_qtyint(5)Index庫存量米購記錄表Buy字段名類型NULL其他備注b_idbigint(8)PK木購端勺p_idbigint(8)Index,FK商叩編勺b_pricedecimal購入價格b_qty

8、int(5)購入數(shù)量b_timevarchar(19)采購時間e_idvarchar(10)FK采購員工號銷售記錄表Sell字段名類型NULL其他備注s_idbigint(10)PK銷售編號p_idbigint(8)Index,FK商叩編勺s_pricedecimal銷售價格s_qtyint(5)銷售數(shù)量s_timevarchar(19)銷售時間e_idvarchar(10)FK收銀員m_idbigint(8)YFK,Index會員編號預警日志表 Warning字段名類型NULL其他備注w_idint(4)PK預警編號wcontenttext預警內容優(yōu)惠規(guī)則表Discount字段名類型NULL

9、其他備注m_allfloat所有會員打折數(shù)d_allfloat全場打折數(shù)部分表關系圖:.02JDQ(三)子模塊劃分及功能概述系統(tǒng)設置三種權限:收銀員、采購員和管理人員。登陸后,可以進入不同的功能模塊,在登陸界面可以修改登陸密碼。子模塊劃分如下:收銀臺POS系統(tǒng)(需要權限:收銀員)顧客拿商品到收銀臺時,首先出示會員卡(如果是會員),收銀員通過讀卡機讀取會員卡的會員號,然后通過條形碼掃描儀一一掃描商品,獲得商品編號,并手動輸入購買數(shù)量,結算后顯示應付金額。在掃描過程中,結算之前,可以取消某項商品的購買信息。收銀員還可以在這里看到管理人員發(fā)送的通知消息。采購入庫(需要權限:采購員)采購員只能采購數(shù)據

10、庫中已存在的商品。對每種采購的商品輸入采購的商品編號,采購數(shù)量,和采購價格,這些商品的信息和采購的信息顯示在列表中,結算入庫后列表清空,并將數(shù)據寫入數(shù)據庫。商品及庫存管理(需要權限:管理人員)1 .引入新商品:填寫商品的名稱,規(guī)格,供應商和售價,將商品引入超市。添加后的商品庫存量為 0,需要采購。供應商或規(guī)格不同的同名商品,應作為不同 的商品對待。2 .商品查詢:可以根據商品的名稱,供應商,庫存量進行查詢,并可以查看所有商品的信息列表。顯示的信息包括編號,名稱,規(guī)格,供應商和庫存量。填寫查詢信息搜索數(shù)據庫顯示結果查詢全部3.刪除商品:只能刪除庫存量為 0的商品,表明不再引進此商品。 支持批量刪

11、除。是4.修改商品信息:在商品信息列表中選擇一行,對其基本信息進行修改。會員管理(需要權限:管理人員)1 .會員注冊:填寫顧客姓名,住址,電話及身份證號,即可注冊成為會員,享受優(yōu)惠待遇。否2 .會員查詢:可以按會員的編號和姓名進行查詢,并可以查看所有會員的信息列表。顯示的信息包括編號,姓名,住址,電話,身份證號和累計消費金額。填寫查詢信息查詢全部3.取消會員身份:刪除會員資料,使其會員卡失效。支持批量刪除。是4 .查看消費記錄:在會員信息列表中選擇一行,對其詳細的消費記錄進行查詢。銷售管理(需要權限:管理人員)對歷史的銷售記錄進行查看??梢园瓷唐肪幪?, 商品名稱或日期進行查詢,也可以列出所有的

12、銷售記錄。顯示信息包括商品編號,商品名稱,商品規(guī)格,銷售數(shù)量,銷售 價格,收銀員和銷售時間。填寫查詢信息*搜索數(shù)據庫一 顯示結果查詢全部員工管理(需要權限:管理人員)1 .增加員工:添加新上崗的員工的信息。 需要填寫工號,姓名,登陸密碼和職位。否22 / 202 .員工信息列表:列出了所有員工的信息列表。顯示的信息包括工號,姓名,職位和在職情況。3 .員工離職:將離職員工的在職情況置為離職”。4.修改員工信息:在員工信息列表中選擇一行,修改其基本信息(姓名和職位)5.向收銀臺發(fā)送消息:輸入運行本系統(tǒng)的收銀臺的IP和消息,可以向收銀員發(fā)送通知消息。采購管理(需要權限:管理人員)對歷史的采購記錄進

13、行查看??梢园瓷唐肪幪?,商品名稱或日期進行查詢,也可以列出所有的采購記錄。顯示信息包括商品編號,商品名稱,商品規(guī)格,供應商,采購數(shù) 量,采購價格,采購時間,采購員和當前庫存量。填寫查詢信息搜索數(shù)據庫- 卡 顯示結果查詢全部供銷情況分析(需要權限:管理人員)對歷史采購及銷售數(shù)據, 用圖形的方式顯示其供銷情況及盈利狀況,直觀的供管理人員分析。優(yōu)惠規(guī)則管理(需要權限:管理人員)1 .會員優(yōu)惠規(guī)則:設置對會員購物實行多少折優(yōu)惠。2 .全場優(yōu)惠規(guī)則:設置促銷活動,全場商品打折多少。缺貨報告日志(需要權限:管理人員)后臺實時監(jiān)測商品的庫存量,當庫存量低于某值時,就發(fā)出預警,并記入日志。這里可以查看和清空所

14、有的預警日志。管理員可控制預警開關,如果打開,則發(fā)出報警,否則,只在后臺寫入日志。查看缺貨日志顯示缺貨日志(掃描數(shù)據庫檢寫入查庫存量其他附加功能1. 修改密碼,重新登陸2. 配置數(shù)據源連接,將數(shù)據源連接信息寫入配置文件,避免硬編碼數(shù)據源名,用戶名和密碼帶來的弊端。3. 幫助文檔:解釋如何配置服務器及一些常見問題。4. 備份(增量備份和完全備份),恢復數(shù)據庫。四、詳細設計(1) 開發(fā)平臺及工具開發(fā)工具Microsoft Visual C+ 6.0DBMS:Microsoft SQL Server 2000建模工具:Microsoft Visio, Sybase PowerDesigner第三方庫

15、:Skin+ 換膚庫 , MD5 加密類說明 :為了方便的實現(xiàn)多線程及Socket 通信等功能,以及個人熟悉程度的因素,選擇了VC 6.0 的開發(fā)平臺。而在 Windows 平臺上為數(shù)不多的DBMS 產品中,Oracle 過于龐大,不利于在低配置的機器上運行;Access 又過于小型,不能負載大量的數(shù)據訪問請求,所以選擇了適中的MS SQL Server 。為了彌補VC 做界面困難的缺陷,軟件用了一個換膚的共享庫Skin+ ,以 dll形式附帶在程序包中。另外在登陸密碼的加密存儲中,用到了流行的MD5 加密,算法實現(xiàn)來源于。(2) 存儲過程及觸發(fā)器作為數(shù)據庫應用系統(tǒng),數(shù)據的一致性需要得到保證,

16、通過單純的手工編碼方式,工作煩瑣,容易出錯,而且不易于擴展。采用DBMS 的外碼約束,Unique 約束,觸發(fā)器的使用來解決這一問題。在查詢效率方面,三表及四表連接查詢的過程用存儲過程實現(xiàn)。對商品,采購, 銷售表的外碼沒有強制級聯(lián)刪除和級聯(lián)修改,因不再進購某種商品,或某雇員辭職,不應該影響過去的采購,銷售記錄。查詢銷售記錄的存儲過程CREATE PROCEDURE dbo.search_sell_recid varchar(8),name varchar(30),time varchar(30),mid varchar(8)ASIF (mid = '')BEGINSELECT

17、P.p_id AS pid, P .p_name AS pname , P .p_scale AS pscale ,S.s_qty AS sqty , S.s_price AS sprice , S.s_time AS stime ,E.e_name AS ename FROM product P , sell S, employee E WHERE P.p_id like '%'+id+'%' and P .p_name like '%'+name+'%' and S.s_time like '%'+time+&

18、#39;%' and S.p_id = P .p_id and S.e_id = E.e_idORDER BY S.s_id descENDIF (mid<>'')BEGINSELECT P.p_id AS pid, P .p_name AS pname , P .p_scale AS pscale ,S.s_qty AS sqty , S.s_price AS sprice , S.s_time AS stime ,E.e_name AS ename , P .p_qty AS pqty FROM product P , sell S, employee

19、EWHERE P.p_id like '%'+id+'%' and P .p_name like '%'+name+'%' and S.s_time like '%'+time+'%' and S.m_id =mid andS.p_id = P .p_id and S.e_id = E.e_idORDER BY S.s_id descENDGO查詢采購記錄的存儲過程CREATE PROCEDURE dbo.search_buy_recid varchar(8),name varchar(30),ti

20、me varchar(30)ASBEGINSELECT P.p_id AS pid, P.p_name AS pname , P.p_scale AS pscale P.p_manu AS pmanu,B.b_qty AS bqty , B.b_price AS bprice ,B.b_time AS btime , E.e_name AS ename FROM product P , buy B, employee EWHERE P.p_id like '%'+id+'%' and P.p_name like '%'+name+'%&#

21、39;andB.b_time like '%'+time+'%' and B.p_id = P .p_id and B.e_id = E.e_idORDER BY B.b_id descENDGO觸發(fā)器:采購商品后,自動增長庫存量CREATE TRIGGER qty_inc ON dbo.buyFOR INSERTASUPDATE P SET P.p_qty = P .p_qty + I.b_qtyFROM product AS P INNER JOIN INSERTED AS ION P.p_id = I.p_id觸發(fā)器:銷售商品后,自動減少庫存量,并為相應會

22、員增加其消費金額記錄CREATE TRIGGER qty_dec ON dbo.sellFOR INSERTASUPDATE P SET P.p_qty = P .p_qty - I.s_qtyFROM product AS P INNER JOIN INSERTED AS ION P.p_id = I.p_idDECLARE member varchar(10)DECLARE consume decimal(9,2)SET member =(SELECT m_id FROM INSERTED)SET consume =(SELECT s_price FROM INSERTED)if memb

23、er <> ''BEGINUPDATE member SET m_consume = m_consume + consume WHERE m_id = memberEND觸發(fā)器:刪除商品時,如果庫存量不為0,則撤銷操作。并將相應銷售及采購記錄的編號字段置空CREATE TRIGGER p_del ON ductFOR DELETEASDECLARE qty intSET qty = (SELECT D.p_qty FROM DELETED AS D)IF (qty <> 0)BEGINRAISERROR (' 該商品的庫存量不為0,

24、不能刪除',0,1)ROLLBACK TRANSACTIONENDELSEUpdate S SET S.p_id = NULLFROM sell AS S INNER JOIN DELETED AS DON S.p_id = D.p_idUpdate B SET B.p_id = NULLFROM buy AS B INNER JOIN DELETED AS DON B.p_id = D.p_idCOMMIT TRANSACTION觸發(fā)器:刪除會員時,將相應銷售記錄中會員編號字段置空CREATE TRIGGER mem_del ON dbo.memberFOR DELETEASUPDA

25、TE sell SET m_id = null WHERE m_id =( SELECT m_id FROM DELETED )編碼設計系統(tǒng)采用MFC 對話框應用程序以方便開發(fā),MFC 對常用 API 做了很好的封裝。每個對話框對應一個類,每個數(shù)據庫表對應一個類。根據程序需要,自己再一次做了封裝。1. 在數(shù)據源連接方面,使用ini 配置文件來存儲DSN, UID, PWD 的信息,以避免硬編碼方式帶來的種種問題:不能修改密碼,不能換數(shù)據庫用戶等等。主要采用了 GetPrivatePro 和 WritePrivatePro 兩個 Windows API 。1. 很多數(shù)據需要通過列表框來顯示,因此

26、封裝了一個CListStyle 類來設置列表框樣式及對其進行通用操作。#ifndef _LISTSET_H_#define _LISTSET_H_class CListStyleprotected:CListCtrl *m_pList;/ 列表框控件指針public:CListStyle();/把對象與列表框關聯(lián)設置列表框的 ExStylevoid AttachCtrl void SetStyle(CListCtrl *pList);(void);/為列表框添加Header屬性void SetCol(CString *pCol , int *pWidth , int size);/將上兩個函數(shù)

27、融合void SetStyleAndCol (CString *pCol , int *pWidth , int size);/向列表框插入一行數(shù)據void InsertItems (int nItem , CString *pItem , int size);#endifRFX2 .由于存儲過程不能通過ClassWizard創(chuàng)建類,所以手工完成類建立和數(shù)據交換。3 .在需要的地方采用多線程。程序啟動初始化數(shù)據庫連接時,顯示啟動畫面。備份數(shù)據庫時顯示進度。后臺監(jiān)控商品庫存量(四)界面設計登陸界面:收銀臺POS界面:銷售紅蔭/尸|卡,房吉先出示)商品審號敗 量;即消所誑序品蘭希:a, mx消息區(qū)清守消息采購入庫界面:管理人員主界面:五、參考文獻1. Visual C+ .net 2003 程序設計 何煒等 冶金工業(yè)出版

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論