超市收銀管理系統....軟件工程課程設計實驗報告_第1頁
超市收銀管理系統....軟件工程課程設計實驗報告_第2頁
超市收銀管理系統....軟件工程課程設計實驗報告_第3頁
超市收銀管理系統....軟件工程課程設計實驗報告_第4頁
超市收銀管理系統....軟件工程課程設計實驗報告_第5頁
已閱讀5頁,還剩17頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、精選優質文檔-傾情為你奉上目錄專心-專注-專業1 問題定義21世紀是已經是一個信息化時代,超市經營管理機制正在發生著根本性的變化,商場要想在激烈的市場競爭環境下求得生存,就必須有效地利用人才、時間、信息結合的優勢,進行有效的超市內部改革和加強收銀管理。借助現代信息技術和管理理論,超市收銀管理信息系統已經普及到了大多數超市中。 本系統針對商品銷售管理的業務范圍及工作特點,設計了基于智能客戶端架構的超市收銀系統,可以全面實現對商品銷售、付款、收款和庫存等業務的計算機管理,大大減輕了超市收銀工作人員的工作量,全面提高了超市收銀管理的管理效率以及服務質量,使管理水平和業務水平躍上了一個新的臺階。本文論

2、述了基于智能客戶端的超市收銀系統的設計和實現過程,并對其數據安全進行了深入研究。 2 可行性研究2.1 項目概述本系統針對商品銷售管理的業務范圍及工作特點,設計了基于智能客戶端架構的超市收銀系統,可以全面實現對商品銷售、付款、收款和庫存等業務的計算機管理,大大減輕了超市收銀工作人員的工作量,全面提高了超市收銀管理的管理效率以及服務質量,使管理水平和業務水平躍上了一個新的臺階。本文論述了基于智能客戶端的超市收銀系統的設計和實現過程,并對其數據安全進行了深入研究。2.2 可行性分析的前提2.2.1 項目的目標綜合運用以前所學的專業知識,設計開發一個超市收費系統軟件,本設計要求實現超市收費的主要流程

3、。 具體包括以下內容:1 在設計與開發中,重點放在簡單地進行貨品銷售和會員積分優惠上。2 在設計與開發中,既要實現前臺的收銀員的銷售,又要實現后臺的管理員的功能,如商品信息管理、職員(收銀員)信息管理以及銷售情況查詢。2.2.2 項目的環境本系統是在下列環境下完成的:1 硬件環境:(1) 操作系統: Microsoft Windows 8 (2) 中央處理器(CPU): Inter(R) Pentium(R) 4 CPU 2.40GHz Prescott Processor (3) 主板: P4i65PE-M (4) 顯卡: NVIDIA GeForce FX 5200 (顯存128M)(5)

4、 硬盤: SAMSUNG SP0812C 80G 7200轉/分(6) 內存: DDR 400(PC3200) 512MB2 開發環境:(1) 應用程序開發環境: Visual studio 2010,MyEclipse (2) 后臺數據庫開發工具:Microsoft SQL Server 2000(3) 文檔開發環境:Microsoft Office Word 20102.3 可選的方案2.3.1 方案一本系統采取C/S模式,這是由于本系統用于一般的超市,而非用于網上購物,C/S模式利于移植,避免了B/S模式應用程序所要求的服務器相關軟件環境配置的復雜性,而且無需借助網絡,能夠以更快的速度進

5、行操作和響應,相對也顯得安全一些。 編程語言采用Java,圖形界面用Java Swing,盡管Java的程序效率不是最高的,而且Swing的界面跟Windows風格不太符合,但Java有一點是不可比擬的,即用其開發的程序具有跨平臺性,由于是C/S模式的桌面應用程序,跨平臺性就顯得特別重要。 數據庫采用MySQL,其體積小、速度快、總體擁有成本低,而且開放源碼,其可靠性也絲毫不遜色。這種輕量而強大的數據庫是開發這種中小型桌面軟件系統的絕佳選擇。開發環境用的是MyEclipse,它對Java Swing的支持尤其好,實現了所見即所得的開發方式。2.3.2 方案二本課題采用visual c的技術實現

6、,VC是面向對象的語言,同時,微軟在其中提供了大量的可用控件,使得我們在搭建頁面時能夠方便使用,而省去了大量代碼的使用。此編程工具與數據庫的連接也很完善。數據庫采用MySQL,其體積小、速度快、總體擁有成本低,而且開放源碼,其可靠性也絲毫不遜色。這種輕量而強大的數據庫是開發這種中小型桌面軟件系統的絕佳選擇。開發環境用的是Visual studio 2010。2.4 所建議的系統2.4.1 系統說明采用與Microsoft SQL Server 2000的連接,經過對于超市收銀管理系統的分析后,系統所涉及到的數據包括:貨物名稱、貨物貨號、貨物數量、供應商名稱、入庫單、系統管理、銷售業績管理等。具

7、體如下:1 進貨功能的數據需求主要包括:進貨貨號,進貨名稱,收貨人,供貨商,進貨日期,進貨單位,進貨數量等。2 庫存信息的數據需求主要包括:貨物庫存數量,貨物名稱,貨物貨號等。3 出貨功能的數據需求主要包括:銷售日期,商品貨號,商品名稱,銷售單價,銷售數量,收銀員編號等。4 銷售業績的數據需求主要包括:銷售起止時間,銷售員編號,貨物名稱,貨物貨號和總銷售額等。2.4.2 高層數據流圖圖2.1 高層數據流圖2.5 經濟可行性成本包括:開發項目的費用支出和時間消耗,服務器的配置,硬件設備的更新和升級,系統管理維護費用。其中服務器的配置、硬件設備的更新和升級都是一次性投資。項目取得的收益:通過提升工

8、作效率帶來的銷售收益以及減少工作人員帶來的成本收益。從長遠看來,這是一項可觀的收益,相對于項目支出的一次性較大費用來說,一個成功的收費管理系統獲得的收益將是長期的、持續性的,因此,構建收費管理系統在經濟上可行。2.6 技術可行性隨著軟件編程技術的不斷增加,功能的不斷加強,和網絡技術的不斷成熟,信息安全的不斷完善以及開發工具的日益進步,采用計算機系統來管理超市要求數據的采集、更新能夠完整、準確和及時,所以開發通用的超市收銀系統已經完全可以做到。2.7 操作可行性當今社會,計算機對人們來說已并不陌生,它已經走進千家萬戶,即使是并沒有太高文化水平的人也能夠熟練操作計算機。對于此套超市管理系統,它擁有

9、簡潔的界面,能讓人熟練操作,因此面對超市的普通員工,它的操作是完全可行的。對于超市的管理員,熟悉這套系統就更加容易,利用這套系統,使得超市管理的工作將變得簡單快捷。3 需求分析3.1 需求概述本系統主要分成四個功能模塊,每個模塊都獨立的完成了自己的功能,以下是對各功能模塊的說明:(1) 用戶信息管理功能。該功能模塊可以實現系統用戶對自己基本信息的修改,不過只限于對登錄密碼的修改,因為用戶帳號都是超市為了方便管理而事先分配好了的,是不能改變的。出于對用戶信息的安全性考慮,只能修改當前登錄的用戶的密碼。(2) 商品入庫信息管理功能。該功能模塊是實現對即將入庫的商品的統計,由于商品信息的龐大、復雜,

10、在入庫前需要對其進行詳細地記錄管理,為商品的庫存管理打下良好的基礎。需要記錄的內容有:入庫商品的商品號、名稱、類型、價格、同類商品的數量、采購員、驗收員、生產廠商、產地、入庫時間等。同時能夠實現對商品入庫信息的添加、修改、刪除和查詢功能。(3) 商品庫存信息管理功能。該功能模塊是當入庫的商品放入超市后,對庫存商品進行統計管理,主要入庫信息來源于(2)中的商品入庫信息記錄。需要記錄的內容有:庫存商品的名稱、類型、入庫價格、銷售價格、庫存量、入庫時間、有效期等,同時能夠實現對商品庫存信息的添加、修改、刪除和查詢功能。在商品批量銷售后,在表中能夠同時刪除相應的商品的數量。(4) 商品銷售信息管理功能

11、。該功能模塊是把要銷售的商品從超市中取出來,并對庫存商品進行相應的記錄管理,并且把顧客的購買信息打印下來給顧客做憑證。需要記錄的內容有:出售商品的名稱、類型、銷售價格、數量、銷售時間等,同時能夠實現對商品銷售信息的添加、修改、刪除和查詢功能。3.2 需求模型3.2.1 數據模型為了把系統的數據要求清楚、準確地描述出來,系統分析員通常建立一個概念性的數據模型(E-R圖)。它描述了從用戶角度看到的數據,它反映了用戶的顯示環境,而且與在軟件中的實現方法無關。 本系統的E-R圖,如圖3.1顧客編號姓名性別注冊時間是否過期消費金額商品編號名稱單價庫存收銀員編號姓名性別登錄名密碼交易時間數量收銀上班時間金

12、額下班時間111111M11N11圖3.1超市收銀管理管理系統E-R圖3.2.2 功能模型超市收銀管理系統功能模型圖,如圖3.2超市收銀系統登錄管理收銀員信息管理顧客信息管理商品信息管理交易信息管理收銀信息管理幫助注銷、退出系統添加、刪除、修改、查詢添加、查詢、交易添加、刪除、修改、查詢添加、刪除、修改、查詢添加、查詢圖3.2 超市收銀管理系統功能模型圖3.2.3 行為模型 (a)(b)圖3.3超市收銀管理系統行為模型圖3.2.4 數據字典在對數據庫需求分析后,得到一個數據字典。數據字典則是系統中各類數據描述的集合,是進行詳細的數據手機和數據分析獲得的主要成果。數據字典通常包括數據項、數據結構

13、、數據流、數據存儲。其中數據項是數據最小組成單位,若干個數據項可以組成一個數據結構,數據字典通過對數據項和數據結構的定義來描述數據流、數據存儲和邏輯內容,本系統的數據字典包括以下內容。1 數據元素(1) 數據元素名稱:cno 別 名:貨物號簡 述:貨物的編號數據類型:字符串型長 度:10取值范圍:“”-“”(2) 數據名稱:用戶名別 名:用戶名簡 述:某用戶的名稱數據類型:文本型長 度:50取值范圍:“000.001”-“999.999”2 數據流(1) 數據流名稱:貨物號簡 述:貨物的編號(2) 數據流名稱:銷售日期簡 述:貨物賣出的日期(3) 數據流名稱:數量簡 述:貨物賣出的數量(4)

14、數據流名稱:進貨信息簡 述:貨物信息、庫存數量信息、進貨時間信息數據流組成:進貨信息=貨物信息+庫存數量信息+進貨時間信息(5) 數據流名稱:出貨信息 簡 述:貨物信息、賣出數量信息、賣出時間信息數據流組成:貨物信息+賣出數量信息+賣出時間信息3 處理邏輯條目(1) 處理邏輯名稱:登陸簡 述:根據用戶名稱、密碼和權限登陸到系統主菜單輸入的數據流:用戶名、密碼處 理:根據用戶權限來實現對貨物管理輸出的數據流:貨物信息(2) 處理邏輯名稱:進貨管理簡 述:入庫貨物的貨物號來實現入庫管理輸入的數據流:貨物號處 理:根據所入庫貨物的貨物號,增加此商品的庫存輸出的數據流:庫存信息(3) 處理邏輯名稱:出

15、貨管理簡 述:出庫貨物的貨物號來實現出庫管理輸入的數據流:貨物號處 理:根據所出庫貨物的貨物號,減少此商品的庫存輸出的數據流:更新完的庫存信息4 數據存儲數據存儲名稱:商品信息表簡 述:記錄商品的信息數據存儲結構:貨物號,貨物名稱,庫存數量,進出貨時間,關 鍵 字 :庫存數量4 總體設計4.1 系統體系結構系統整體功能層次圖,如圖4.1圖4.1 整體功能層次圖前臺功能層次圖,如圖4.2圖4.2 前臺功能層次圖后臺功能層次圖,如圖4.3圖4.3 后臺功能層次圖4.2 模塊詳細說明IPO表系統:超市收銀管理系統模塊:商品銷售模塊編號:2作者:李林日期:3月6號被調用:調用:數據庫輸入: 商品條形碼

16、輸出: 商品信息處理:計算商品總額局部數據元素:GNumGNameSellPriceUserAccount 注釋:商品條形碼商品名稱售價操作員4.3 數據庫設計商品信息表記載的是商品的詳細信息,含商品編號、名稱、售價、庫存量。具體的各字段屬性說明和類型如下表2。表4.1 商品信息表(Goods)序號屬性名字段名類型長度NULL1商品編號GoodsIDInt4×2商品名稱GNamevarchar50×3商品條形碼GNumvarchar30×4進價BuyPricemoney×5售價SellPricemoney×6庫存量StockNumint4

17、15;7廠家Producernvarchar100訂單細節表記載的是商品的銷售信息,含訂單號、流水線編號、商品條形碼、商品銷售數量。具體的各字段屬性說明和類型如下表4.2表4.2訂單細節表(Sale Detail)序號屬性名字段名類型長度NULL1訂單編號Didint4×2流水線編號SaleAccountvarchar20×3商品條形碼JoinTimevarchar30×4商品銷售數量SaleNumInt4×4.3.1數據庫選擇方案論證建立一個數據庫我們有多種選擇,現在市場上有各種各樣的數據庫,而且每一種數據庫都有其自身的特點,不能說哪一種更好,只是在其

18、中尋找一種能更好地適應系統需求、更好地滿足用戶的要求以及適應開發人員的習慣。在本系統中,作為小型超市的收費系統是一個比較小的應用系統,它所產生和處理的數據量也比較小。因此,沒有必要使用像SQL Server和Oracle這樣的大型數據庫。首先考慮的數據庫是開源的Mysql數據庫,因為它在計算機上的應用比較普及,是開發小型數據庫系統的比較理想的選擇,所以,在本系統中我選擇了Mysql數據庫。Mysql作為一個數據庫管理系統,采取關系型數據庫模式。與其他的數據庫系統相比,Mysql簡單易學,并且功能強大,利用它可以方便地實現對信息保存、維護、查詢、統計、交流、發布,這些功能對一個一般用戶

19、而言已經足夠了。4.3.2 數據庫表設計用戶的需求具體體現在對商品信息,銷售信息,折扣信息,客戶信息的更新和查詢,以及由此涉及到的財務數據的更新、查詢和保存。這就要求數據庫結構充分滿足各種信息的輸出和輸入。搜集基本數據、數據結構和數據處理的流程,組成一個詳盡的數據字典,為后面的具體設計打下基礎。通過上述系統功能分析,總結出如下的需求信息:1. 用戶分為管理員、和收銀員。管理員具有管理和查詢表項的功能,收銀員結賬并維護vip客戶表信息;2. 涉及到的數據有商品信息表、供應商表、銷售情況表、雇員表、值班表、vip客戶表,折扣表;3. 管理員和收銀員具有不同的操作權限;4. 管理員具有新建用戶和分配

20、權限的權力。經過上述系統功能分析和需求總結,考慮到將來功能上的擴展,設計如下面所示的數據項和數據結構。1、商品信息表,是實體表,包括:商品編號、商品名、供應商編號、單價、數量。商品編號是主鍵。2、供應商表,是實體表,包括:供應商編號、地址、聯系電話。供應商編號是主鍵。3、銷售情況表,是關系表,包括:商品編號、銷售日期、銷售數量。商品編號是主鍵。4、雇員表,是實體表,包括:員工編號、密碼、員工姓名。員工編號是主鍵。5、值班表,是關系表,包括:員工編號、值班日期。這兩個一起作為主鍵。6、vip客戶表,是實體表,包括:會員編號、姓名、積分、聯系電話。會員編號是主鍵。7、折扣表,是關系表,包括:商品編

21、號、折扣、打折日期。商品編號是主鍵。5 詳細設計5.1 人機界面設計商品銷售模塊商品銷售界面如圖5.1圖5.1 商品銷售界面5.2 過程設計商品銷售模塊其中按商品條形碼查詢商品信息用數據庫查詢完成。代碼如下: private void AddGoods_Click(object sender, EventArgs e) string goodsNum = this.txtGoodsNum.Text.Trim(); GoodsBll goodsBll=new GoodsBll(); if (goodsNum = "") MessageBox.Show("請輸入商品條

22、形碼!"); return; else int goodsCount=1; Goods goods = goodsBll.GetGoodsByNum(goodsNum); if (goods != null) if (lvGoods.Items.Count > 0) bool exist = false; foreach (ListViewItem goodsItem in lvGoods.Items) if (goodsItem.SubItems1.Text = goodsNum) exist = true; goodsItem.SubItems0.Text = (int.P

23、arse(goodsItem.SubItems0.Text) + 1).ToString(); goodsItem.SubItems4.Text = string.Format("0:F2", (int.Parse(goodsItem.SubItems0.Text) * goods.SalePrice); sumGoods += 1; if (!exist) ListViewItem lvItem = lvGoods.Items.Add(goodsCount.ToString(); lvItem.SubItems.Add(goods.GNum); lvItem.SubIte

24、ms.Add(goods.GName); lvItem.SubItems.Add(string.Format("0:F2", goods.SalePrice); lvItem.SubItems.Add(string.Format("0:F2", goods.SalePrice * goodsCount); lvItem.SubItems.Add(CashierLogin.m_cashier.UserAccount); lvItem.SubItems.Add(goods.ID.ToString(); sumGoods += 1; else ListView

25、Item lvItem = lvGoods.Items.Add(goodsCount.ToString(); lvItem.SubItems.Add(goods.GNum); lvItem.SubItems.Add(goods.GName); lvItem.SubItems.Add(string.Format("0:F2", goods.SalePrice); lvItem.SubItems.Add(string.Format("0:F2", goods.SalePrice * goodsCount); lvItem.SubItems.Add(CashierLogin.m_cashier.UserAccount); lvItem.SubItems.Add(goods.ID.ToString(); sumGoods += 1; this.txtGoodsNum.Text = "" else MessageBox.Show("該商品不存在!"); this.txtGoodsNum.Text = "&q

溫馨提示

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

評論

0/150

提交評論