版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 學位論文</b></p><p> 超市收費系統(tǒng)的設計與實現(xiàn)</p><p> 論文作者姓名:</p><p> 申請學位專業(yè):</p><p> 申請學位類別:</p><p> 指導教師姓名(職稱):</p><p> 論文提交日期:20
2、14年 2月 10 日</p><p> 超市收費系統(tǒng)的設計與實現(xiàn)</p><p><b> 摘 要</b></p><p> 隨著現(xiàn)代科學技術的迅猛發(fā)展,計算機技術已滲透到各個領域,成為各行業(yè)必不可少的工具。在當今激烈的市場競爭中,讓顧客享受既實惠又快捷的購物服務是商戰(zhàn)中制勝的一大要素。改革開放的今天,各種大型超市林立,超市已成為
3、消費者日?;顒拥闹饕獔鏊?。而超市商品也非常之多,建立一套方便快捷的超市收費系統(tǒng)是企業(yè)必然要解決的一個問題。系統(tǒng)采用的編程工具是Delphi 7.0版本與Access作為數(shù)據(jù)庫。系統(tǒng)分為前臺系統(tǒng)和后臺系統(tǒng),其中,前臺系統(tǒng)提供了很方便的商品銷售收費功能,這其中包括會員卡用戶可享受八折優(yōu)惠。而后臺系統(tǒng)則提供了一些商品管理功能,如采購入庫,庫存盤點,出庫明細等模塊。</p><p> 本文主要介紹超市收費系統(tǒng)的運行環(huán)境
4、、功能作用、設計的方案等各方面的內容。論文共分為五大部分。第一部分簡要敘述了系統(tǒng)的基本概況。第二,三部分分別從軟件工程的要求出發(fā),首先進行問題的定義,其次進行可行性研究,分別從技術可行性,經(jīng)濟可行性和操作可行性進行分析,然后進行總體設計和詳細設計,并闡述了如何實現(xiàn)具體功能。第四部分為系統(tǒng)調試,其中包括子模塊測試和總體測試。</p><p> 關鍵詞 : 收費;銷售;超市 </p><
5、;p> The Design and Realization of Supermarket Charging System</p><p><b> Abstract</b></p><p> With the rapid development of modern science and technology, computer technology w
6、hich has penetrated into all fields becomes indispensable for every industry. Beneficial and effective services for customers are a key point to win in commercial trade in market competition. Under the policy of reform a
7、nd opening-up, different kinds of supermarket loom so large, which make the supermarkets, be the main place to active in daily life. But due to various and numerous goods, how to build a convenient </p><p>
8、 This thesis mainly introduces the environment, function and design plan of the supermarket charge system. It is totally divided into five parts. The first part synopsis described the basic general situation of this syst
9、em. To begin with the software engineering requirements, I first make a definition of the question in the second and third part, then do some practicable research, analysis from technical, economic and operational feasib
10、ility, and design for the totality and detailed, with expound</p><p> Key words: charging; sale; supermarket</p><p><b> 目 錄</b></p><p><b> 論文總頁數(shù):27頁</b>
11、</p><p><b> 1引 言1</b></p><p> 1.1課題背景及意義1</p><p> 1.2課題研究內容1</p><p> 2項目特色及方案選擇1</p><p><b> 2.1項目特色1</b></p><
12、p><b> 2.2方案選擇2</b></p><p><b> 3系統(tǒng)需求分析2</b></p><p> 3.1系統(tǒng)模塊構建2</p><p> 3.1.1系統(tǒng)整體結構功能模塊2</p><p> 3.1.2前,后臺功能模塊3</p><p>&
13、lt;b> 3.2數(shù)據(jù)流圖3</b></p><p><b> 4 數(shù)據(jù)庫設計4</b></p><p> 4.1數(shù)據(jù)庫選擇方案論證4</p><p> 4.2 E-R圖和關系圖5</p><p> 4.3數(shù)據(jù)庫表設計5</p><p><b>
14、5系統(tǒng)實現(xiàn)9</b></p><p> 5.1系統(tǒng)對軟硬件配置的要求9</p><p> 5.2開發(fā)語言介紹9</p><p> 5.3 系統(tǒng)模塊10</p><p> 5.3.1 前臺模塊10</p><p> 5.3.2后臺模塊16</p><p> 6
15、結果測試,性能分析23</p><p> 6.1模塊測試23</p><p> 6.1.1前臺模塊的測試23</p><p> 6.1.2后臺模塊的測試24</p><p> 6.2整體測試24</p><p><b> 結 論24</b></p><p
16、><b> 參考文獻25</b></p><p><b> 致 謝26</b></p><p><b> 聲 明27</b></p><p><b> 1引 言</b></p><p> 1.1課題背景及意義</p
17、><p> 隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用。</p><p> 超市形式在我國于20世紀90年代初期起步,現(xiàn)已成為我國零售業(yè)的一種重要形態(tài)。隨著超市的高速發(fā)展,其經(jīng)營管理也變的愈加復雜,早期的售貨員站柜臺的形式早已不能滿足現(xiàn)有銷售業(yè)的發(fā)展,這樣就迫切地需要引入新的思想技術和管理技術進入到超市管理之
18、中。</p><p> 超市形態(tài)具有種種優(yōu)點,但在目前狀況下,它仍存在零售業(yè)商業(yè)企業(yè)所共有的落后的一面。如:收款結算速度慢,容易出現(xiàn)營業(yè)差錯,不宜進行商品調價,盤點效率底等。而且,在超市日常管理中,隨著超市形態(tài)的高速發(fā)展,其經(jīng)營管理也變的愈加復雜,競爭也日益激烈,擁有一套快捷,方便,實用的超市收費系統(tǒng)是必須的。為此,在本次設計之中選擇了超市收費系統(tǒng)的設計與實現(xiàn)這個題目。依靠現(xiàn)代化的計算機信息處理技術來對超市銷售
19、進行收費,從而節(jié)省了大量的人力、減輕了勞動強度,并且能夠快速反映出商品的各種反饋信息。 </p><p><b> 1.2課題研究內容</b></p><p> 綜合運用以前所學的專業(yè)知識,設計開發(fā)一個超市收費系統(tǒng)軟件,本設計要求實現(xiàn)功能——采購入庫,條形碼數(shù)據(jù)的輸入,會員卡號的輸入,進行貨品銷售。 </p><p><b>
20、具體包括以下內容:</b></p><p> ?。?)在設計與開發(fā)中,重點放在簡單地進行貨品銷售,會員卡打折。</p><p> (2)在設計與開發(fā)中,既探討前臺的銷售,又能實現(xiàn)后臺的采購入庫,會員卡設置等功能。(其中前臺只負責輸入條碼,輸入會員卡號,實現(xiàn)收費。其他的所有功能和設置均放在后臺進行)</p><p> 實現(xiàn)超市貨品的入庫,會員卡用戶資料
21、的錄入,以及進行貨品銷售的收費,而前臺的收費分為會員卡用戶和非會員卡用戶兩種收費,對于有卡用戶,在輸入卡號后,可實現(xiàn)商品價格按八折價格進行收費,若要取消銷售某商品,則直接點刪除,總價格也會相應的扣除.</p><p> 2項目特色及方案選擇</p><p><b> 2.1項目特色</b></p><p> 本項目的特色在于,它的操作能基
22、本實現(xiàn)智能化,減少了人操作人員的大量工作,節(jié)約了時間和空間、人力和財力。此外,本系統(tǒng)清晰的功能模塊的劃分也使得它的應用性和移植性將會更加廣泛,再加上前后臺的分別管理,使得整個系統(tǒng)的設計也更為人性化和安全化。</p><p><b> 2.2方案選擇</b></p><p> 本系統(tǒng)之所以使用Delphi 7.0 ,主要是因為Delphi的方便性
23、和靈活性。我們幾乎可以用Delphi作任何事情,還可以撰寫種各種類型的應用程序,動態(tài)鏈接庫(DLL)、CON、或CORBA對象,CGI/ISAPI程序,Microsoft Back Office應用程序。程序的規(guī)模,小到簡單的個人數(shù)據(jù)庫應用,大到復雜的企業(yè)的多層次分布式系統(tǒng),都可以使用Delphi進行開發(fā),其友好的集成開發(fā)界面,可視化的雙向開發(fā)模式,良好的數(shù)據(jù)庫應用支持高效的程序開發(fā)和程序運行,備受廣大程序開發(fā)人員的
24、好評。尤其是Delphi對數(shù)據(jù)庫應用的強大支持,大大提高了數(shù)據(jù)庫應用軟件開發(fā)的效率,縮短了開發(fā)周期。并且Delphi為數(shù)據(jù)庫應用開發(fā)人員提供了豐富的數(shù)據(jù)庫開發(fā)組件,使數(shù)據(jù)庫應用開發(fā)功能更強大,控制更靈活,編譯后的程序運行速度更快。 </p><p><b> 3系統(tǒng)需求分析</b></p><p> 數(shù)據(jù)庫應用系統(tǒng)是以數(shù)據(jù)庫為基礎的信息管理系統(tǒng),它一般包含兩個方面
25、內容,一個數(shù)據(jù)庫設計,二是程序設計。數(shù)據(jù)庫應用系統(tǒng)的開發(fā)是一個軟件工程,應按照軟件工程的開發(fā)方法進行分析,設計,編程和調試。在建立數(shù)據(jù)庫應用系統(tǒng)之前,一般應先進行系統(tǒng)的需求分析,了解用戶對系統(tǒng)的要求,然后進行系統(tǒng)的總體設計,最后編寫程序代碼和調試程序。數(shù)據(jù)庫應用系統(tǒng)的開發(fā)過程,需求分析包括了對數(shù)據(jù)本身的需求分析和對功能的需求分析。兩個分析的結果將分別作為數(shù)據(jù)庫設計和程序設計的依據(jù)。實際上在設計數(shù)據(jù)庫應用系統(tǒng)時,這兩個需求分析是緊密相關的
26、,不論是數(shù)據(jù)庫設計,還是程序設計都需要考慮這兩個方面的因素。</p><p><b> 3.1系統(tǒng)模塊構建</b></p><p> 3.1.1系統(tǒng)整體結構功能模塊</p><p> 系統(tǒng)整體結構功能模塊圖如圖3-1:</p><p> 根據(jù)系統(tǒng)整體結構功能模塊分析,系統(tǒng)分為前臺和后臺兩部分;前臺主要提供給收銀員
27、使用,進行銷售收費;后臺提供給管理員使用,主要執(zhí)行系統(tǒng)維護、商品管理、廠家管理和銷售數(shù)據(jù)管理以及會員卡用戶管理等工作。</p><p> 3.1.2前,后臺功能模塊</p><p> 本系統(tǒng)是多用戶系統(tǒng),用戶可分為管理員和收銀員兩類,登錄或者未登錄情況下判斷當前使用人員的權限,避免安全性問題。</p><p> 收銀員登錄系統(tǒng),系統(tǒng)自動清空銷售臨時數(shù)據(jù),進入系
28、統(tǒng),對于非會員用戶收銀員首先錄入商品編碼,然后輸入數(shù)量,而對于會員卡用戶,收銀員選擇會員類型,輸入會員卡號,系統(tǒng)自動將折扣轉為80%,然后系統(tǒng)自動匯總金額,同時列表顯示銷售商品的流水數(shù)據(jù),收銀員可以刪除需要退掉的商品,然后點擊結賬,完成交易過程。前臺功能模塊圖如圖3-2:</p><p> 圖3-2 前臺功能模塊圖</p><p> 后臺管理員登錄系統(tǒng)以后,可以對供貨商資料進行添加、刪
29、除、修改、查詢操作,可以對商品單位進行添加、刪除、修改、查詢操作,可以對會員資料進行添加、刪除、修改、查詢操作,可以進行采購入庫操作,進行庫存盤點操作,進行進貨統(tǒng)計操作,進行出庫明細查詢操作,和退出系統(tǒng)操作。后臺功能模塊如圖3-3所示:</p><p><b> 3.2數(shù)據(jù)流圖 </b></p><p> 數(shù)據(jù)流圖如圖3-4:</p><p&g
30、t;<b> 圖3-4 數(shù)據(jù)流圖</b></p><p><b> 4 數(shù)據(jù)庫設計</b></p><p> 4.1數(shù)據(jù)庫選擇方案論證</p><p> 建立一個數(shù)據(jù)庫我們有多種選擇,現(xiàn)在市場上有各種各樣的數(shù)據(jù)庫,而且每一種數(shù)據(jù)庫都有其自身的特點,不能說哪一種更好,只是在其中尋找一種能更好地適應系統(tǒng)需求、更好地滿足
31、用戶的要求以及適應開發(fā)人員的習慣。在本系統(tǒng)中,作為小型超市的收費系統(tǒng)是一個比較小的應用系統(tǒng),它所產(chǎn)生和處理的數(shù)據(jù)量也比較小。因此,沒有必要使用像SQL Server和Oracle這樣的大型數(shù)據(jù)庫。我首先想到的數(shù)據(jù)庫是Microsoft Office中的Access數(shù)據(jù)庫,因為它在計算機上的應用比較普及,是開發(fā)小型數(shù)據(jù)庫系統(tǒng)的比較理想的選擇,所以,在本系統(tǒng)中我選擇了Access數(shù)據(jù)庫。</p><p
32、> Access作為一個數(shù)據(jù)庫管理系統(tǒng),它被集成在Microsoft Office中。Access數(shù)據(jù)庫處理的基本結構,采取關系型數(shù)據(jù)庫模式。與其他的數(shù)據(jù)庫系統(tǒng)相比,Access更加簡單易學,一個普通的計算機用戶可以很快地掌握它。Access 的功能十分強大,利用它可以方便地實現(xiàn)對信息保存、維護、查詢、統(tǒng)計、打印、交流、發(fā)布,而且它可以十分方便地與Office其他組件交流數(shù)據(jù),這些功能對一個一般用戶而言已經(jīng)足
33、夠了。</p><p> 4.2 E-R圖和關系圖</p><p> 供應商,商品關系模型E-R圖如圖4-1所示:</p><p> 圖4-1 供應商,商品關系模型E-R圖</p><p> 各個表之間的關系圖如圖4-2:</p><p> 圖4-2 各個表之間的關系圖</p><p&
34、gt;<b> 4.3數(shù)據(jù)庫表設計</b></p><p> 由數(shù)據(jù)模型利用Access進行數(shù)據(jù)庫的詳細設計,其基本表的設計如下:</p><p><b> 供應商表</b></p><p> 供應商信息表:存儲供應商信息.如表4-1:</p><p> 表4-1 供應商信息表</
35、p><p><b> 操作用戶表</b></p><p> 操作用戶表:存儲操作系統(tǒng)的管理員信息.如表4-2:</p><p> 表4-2 操作用戶表</p><p><b> 3.商品進貨表</b></p><p> 商品進貨表:存儲商品進貨信息.如表4-3:<
36、;/p><p> 表4-3 商品進貨表</p><p><b> 4.銷售主表</b></p><p> 銷售主表:存儲銷售情況的大體清單(即總金額等).如表4-4:</p><p> 表4-4 銷售主表</p><p><b> 5.銷售從表</b></p&
37、gt;<p> 銷售從表:存儲銷售的詳細情況.如表4-5:</p><p> 表4-5 銷售從表</p><p><b> 6.庫存表</b></p><p> 庫存表:存儲庫存情況.如表4-6:</p><p><b> 表4-6 庫存表</b></p>&
38、lt;p><b> 7.計量單位表</b></p><p> 計量單位表:存儲計量單位資料,方便入庫等操作時的使用.如表7:</p><p> 表4-7 計量單位表</p><p><b> 8.會員資料表</b></p><p> 會員資料表,存儲有卡會員的資料,以便結賬時給予折
39、扣.如表4-8:</p><p> 表4-8 會員資料表</p><p><b> 9.會員銷售單據(jù)表</b></p><p> 會員銷售單據(jù)表:存儲會員的銷售單據(jù)。如表4-9:</p><p> 表4-9 會員銷售單據(jù)表</p><p><b> 5系統(tǒng)實現(xiàn)</
40、b></p><p> 5.1系統(tǒng)對軟硬件配置的要求</p><p> 建議用戶的計算機使用以下配置(或更高):</p><p> CPU:Intel 或兼容機Pentium Pentium4 或更高</p><p> 硬盤:7200轉/分,剩余空間>100M</p><p> 內存:建議 512
41、MB 或更多</p><p><b> 鼠標:3D光電鼠</b></p><p><b> 鍵盤:標準104鍵</b></p><p><b> 5.2開發(fā)語言介紹</b></p><p> Delphi類可以粗略地分成兩部分:一部分是組件類,這些組件類通常以某種方式出
42、現(xiàn)在組件面板上,當用戶從組件面板上點取一個類的圖標后,在程序中就自動生成了該類的對象(非可視組件除外);另一部分是功能類,這此功能類的對象通常出現(xiàn)在程序代碼中,起著不可代替的作用,但是這些功能類在組件面板上是找不到的。</p><p> 組件在Delphi程序的開發(fā)中是最顯眼的角色。ADO數(shù)據(jù)訪問組件就是本系統(tǒng)所采用的方式,下面對此概述一下。 </p><p> ADO數(shù)據(jù)對象(Act
43、ive Data Objects)實際是一種提供訪問各種數(shù)據(jù)類型的鏈接機制。ADO設計為一種極簡單的格式,通過ODBC的方法同數(shù)據(jù)庫接口中,可以使用任何一種ODBC數(shù)據(jù)源,即不止適合于SQL Server、Oracle、Access等數(shù)據(jù)庫應用程序,也適合于Excel表格、文本文件、圖形文件和無格式的數(shù)據(jù)文件。ADO是基于OLE-DB之上的技術,因此ADO通過其內部的屬性和方法提供統(tǒng)一的數(shù)據(jù)訪問接口方法。A
44、DO使您的客戶端應用程序能夠通過OLE DB提供訪問和操作在數(shù)據(jù)庫服務器中的數(shù)據(jù)。ADO支持用于建立C/S和Web的應用程序的主要功能。其主要優(yōu)點是易于使用、高速度、低內存支出和占用磁盤空間較少。ADO同時具有遠程數(shù)據(jù)服務(RDS)功能,通過RDS可以在一次往返過程中實現(xiàn)將數(shù)據(jù)從服務器移動到客戶端應用程序和Web頁、在客戶端對數(shù)據(jù)進行處然后將更新結果返回服務器的操作。利用ADO數(shù)據(jù)訪問組件,在系統(tǒng)中我主要使用的是ADOTabl
45、et和ADOQuery兩個組件。</p><p><b> 5.3 系統(tǒng)模塊</b></p><p> 5.3.1 前臺模塊</p><p> 前臺程序流程圖如圖5-1</p><p> 圖5-1 前臺程序流程圖</p><p><b> 登錄模塊:</b><
46、/p><p> 功能:本模塊的主要功能是對用戶身份進行驗證,只有系統(tǒng)的合法用戶才能進入系統(tǒng)。其窗體如圖5-2:</p><p> 圖5-2 用戶登錄界面</p><p> 在進行系統(tǒng)登錄過程中,登錄模塊將調用數(shù)據(jù)庫里的用戶數(shù)據(jù)表,并對用戶名和密碼進行驗證,只有輸入了正確的用戶名和密碼后,系統(tǒng)登錄才會成功。并在輸入了錯誤的或者是不存在的用戶名和密碼時,系統(tǒng)會給出出錯
47、信息提示,指明登錄過程中的錯誤輸入或錯誤操作,以便用戶進行正確的登錄。</p><p> 其提示錯誤輸入或錯誤操作如圖5-3所示: </p><p> 圖5-3 登錄錯誤界面</p><p> 輸入項、輸出項:輸入項為用戶名和密碼。用戶名和密碼均為字符串,最大長度為16個字符,密碼以“*”號顯示(英文和數(shù)字算一個字符,漢字算兩個字符)。</p>
48、<p> 接口:本模塊為頂級模塊,按確定按鈕時,如果輸入的用戶名和密碼正確,將調用系統(tǒng)主窗體模塊,進入系統(tǒng)主窗體。</p><p> 存儲分配:在用戶按下確定按鈕時,將讀取存儲用戶名和密碼的數(shù)據(jù)表,以對用戶名和密碼進行驗證。</p><p> 測試要點:本模塊有如下幾個測試要點,按下確定按鈕時,是否能正確讀取存儲用戶名和密碼的數(shù)據(jù)表;如果用戶名和密碼正確,是否能進入系統(tǒng)主
49、窗體;當輸入用戶名或密碼錯誤時,是否能彈出信息框,給用戶提示。</p><p><b> 主要代碼:</b></p><p> vIniFile:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'Config.Ini');</p><p><b> //聯(lián)接數(shù)據(jù)庫<
50、;/b></p><p> Data:='Provider='+vIniFile.Readstring('System','Provider','')+';</p><p> Data:=Data+'Data Source='+vIniFile.Readstring('System
51、39;,'Data Source','')+';';</p><p> Data:=Data+'Persist Security Info=False';</p><p> ADOQuery1.ConnectionString:=Data;</p><p> ADOQuery1.Close;<
52、;/p><p> ADOQuery1.SQL.Clear;</p><p> ADOQuery1.SQL.Add('Select * from Manager');</p><p> ADOQuery1.Active:=True;</p><p> 創(chuàng)建了一個TIniFile類型的對象實例,來連接操作連接數(shù)據(jù)庫的ini配置
53、文件。</p><p><b> 銷售模塊:</b></p><p><b> 功能:</b></p><p> 本模塊的主要功能是把銷售信息寫入銷售清單,同時對庫存數(shù)據(jù)進行更新,以備用戶將來對銷售信息和庫存信息進行查詢。</p><p><b> 商品銷售:</b>&
54、lt;/p><p> 將銷售信息錄入數(shù)據(jù)庫銷售表中,進行銷售查詢和統(tǒng)計。</p><p><b> 輸入項、輸出項:</b></p><p> 本模塊的數(shù)據(jù)輸入項主要為銷售清單,其中包括單據(jù)編號、商品條碼、計量單位、單價、數(shù)量、金額、銷售日期、操作員等相關信息。</p><p><b> 存儲分配:<
55、/b></p><p> 商品銷售模塊主要的是進行商品銷售情況統(tǒng)計并登記入庫,當商品銷售業(yè)務發(fā)生后,營業(yè)員將打開銷售管理模塊對商品銷售情況進行登記入庫,調用數(shù)據(jù)庫中的銷售表,等待數(shù)據(jù)錄入,等營業(yè)員將相應數(shù)據(jù)輸入后,點提交按扭,即可完成數(shù)據(jù)的存儲。取消按扭,將取消此次操作,不進行數(shù)據(jù)存儲。</p><p><b> 測試要點:</b></p>&
56、lt;p> 對銷售管理模塊進行測試,利用測試用例填入表單,對其進行數(shù)據(jù)庫數(shù)據(jù)存儲測試,看看所填數(shù)據(jù)能否存入數(shù)據(jù)表中。</p><p><b> 銷售查詢:</b></p><p> 對各查詢要求分別進行測試,查看測試結果。</p><p> 銷售模塊分為非會員用戶和會員用戶兩類,若消費者為非會員則進入銷售頁面后直接錄入商品條碼和數(shù)
57、量點擊添加,然后系統(tǒng)自動匯總金額,同時列表顯示銷售商品的流水數(shù)據(jù),對于非會員的銷售界面如圖5-4:</p><p> 圖5-4 前臺非會員銷售界面</p><p><b> 主要代碼如下:</b></p><p><b> //計算合計數(shù)</b></p><p> ADOQuery1.Ed
58、it;</p><p> //單條記錄求合:小計=售價*數(shù)量*折扣/100</p><p> ADOQuery1.FieldByName('Subtotal').AsCurrency :=(ADOQuery1.FieldByName('SellPrice').AsCurrency*ADOQuery1.FieldByName('SellScalar
59、').AsCurrency*ADOQuery1.FieldByName('Agio').AsCurrency/100);</p><p> ADOQuery1.Post;</p><p> label5.Caption:=currtostr(strtocurr(label5.Caption)+ ADOQuery1.FieldByName('Subtota
60、l').AsCurrency);</p><p> edit5.Text:=label5.caption;</p><p> Edit1.Text:='';</p><p> Edit1.SetFocus;</p><p> 對于會員用戶,選中會員結賬,輸入會員卡號,點擊查找,若有該會員,則彈出對話框歡迎你:X
61、X,點擊OK,折扣自動變?yōu)?0,商品價格按80%計算.如圖5-5,5-6:</p><p> 如圖5-5 輸入會員卡號彈出對話框界面</p><p> 如圖 5-6 折扣自動變?yōu)?0的界面</p><p><b> 主要代碼如下:</b></p><p> //在會員資料中查找會員</p>&l
62、t;p> ADOQuery4.SQL.Clear;</p><p> ADOQuery4.SQL.Add('Select * from vip Where username="'+edit4.Text+'"');</p><p> ADOQuery4.Open;</p><p> if ADOQuer
63、y4.RecordCount<>0 then begin</p><p> s:='歡迎你:'+adoquery4.FieldByName('name').AsString;</p><p> showmessage(s);</p><p> edit3.Text:='80';</p>
64、<p><b> end</b></p><p><b> else</b></p><p><b> begin</b></p><p> showmessage('無此會員號');</p><p> edit3.Text:='10
65、0';</p><p><b> end;</b></p><p><b> //查找商品</b></p><p> ADOQuery2.SQL.Clear;</p><p> ADOQuery2.SQL.Add('Select * from Stock Where BarC
66、ode="'+ADOQuery1.FieldByName('BarCode').AsString+'"');</p><p> ADOQuery2.Open;</p><p><b> //減少庫存</b></p><p> ADOQuery2.Edit;</p>
67、<p> ADOQuery2.FieldByName('StockScalar').AsCurrency:=ADOQuery2.FieldByName('StockScalar').AsCurrency-ADOQuery1.FieldByName('SellScalar').AsCurrency;</p><p> ADOQuery2.Post;<
68、;/p><p> ADOQuery1.Next;</p><p><b> 刪除商品模塊:</b></p><p> 若要取消某一商品的銷售,可點擊該商品,然后點擊刪除,彈出詢問對話框,點YES,即可撤消購買該商品,同時應收金額也會相應扣除.如圖5-7,5-8:</p><p> 如圖 5-7 詢問是否刪除的界面&
69、lt;/p><p> 如圖5-8 刪除后自動扣除應收金額的界面</p><p><b> 主要代碼:</b></p><p> if ADOQuery1.RecordCount>0 then begin</p><p> if messagedlg('確認刪除"'+ADOQuery1
70、.FieldByName('GoodsName').</p><p> AsString+'"嗎?',mtconfirmation,[mbyes,mbno],0)=mryes then begin</p><p> ADOQuery1.Delete;</p><p> adoquery5.Close;</p>
71、;<p> adoquery5.SQL.Clear;</p><p> adoquery5.SQL.Add('Select sum(subtotal) as total from Sell_Minor Where InvoiceID="'+label6.Caption+'"');</p><p> adoquery5.
72、Open;</p><p> if(adoquery5.fieldbyname('total').AsString<>'')then begin</p><p> label5.Caption:=adoquery5.fieldbyname('total').AsString;</p><p> edi
73、t5.Text:=label5.Caption;</p><p><b> end</b></p><p> else begin</p><p> label5.caption:='0.00';</p><p> edit5.Text:='0.00';</p>&l
74、t;p><b> end;</b></p><p><b> end;</b></p><p> end else begin</p><p> ShowMessage('沒有商品記錄~~!');</p><p><b> end;</b><
75、;/p><p><b> 結賬模塊:</b></p><p> 輸入實收金額,點擊結賬,系統(tǒng)自動彈出對話框,點擊OK,銷售界面所有信息將自動清空.如圖5-9:</p><p> 如圖5-9 完成結賬彈出對話框界面</p><p><b> 主要代碼:</b></p><p&
76、gt; ADOQuery2.SQL.Add('Select SUM(Subtotal) from Sell_Minor Where InvoiceID="'+Label6.Caption+'"');</p><p> ADOQuery2.Open;</p><p> j:=strtocurr(edit5.text)-strtocur
77、r(label5.Caption);</p><p> jiezhang:= '結賬成功,應收金額:'+label5.Caption+'元'+' 實收金額:'+edit5.Text+'元'+' 找補'+currtostr(j)+' 歡迎你下次光臨!';</p><p> showme
78、ssage(jiezhang);</p><p> Label5.Caption := FormatFloat('0.00',ADOQuery2.Fields[0].AsCurrency);</p><p> edit5.text:='0.00';</p><p> adoquery1.Active:=false;</p&
79、gt;<p><b> 5.3.2后臺模塊</b></p><p> 后臺程序流程圖如圖5-10:</p><p> 圖5-10 后臺程序流程圖</p><p><b> 主頁面模塊:</b></p><p> 管理員登錄后進入主該頁面.如圖5-11:</p>
80、<p> 如圖5-11 主頁面界面</p><p> 基本資料模塊:包括供應商資料模塊,計量單位模塊,會員資料模塊.</p><p> 三個模塊均可實現(xiàn)對資料的添加,刪除.運用DELPHI自帶的導航鍵實現(xiàn)操作..如圖5-12,圖5-13,圖5-14:</p><p> 圖5-12 供應商資料模塊</p><p> 圖5
81、-13 計量單位模塊</p><p> 圖5-14 會員資料模塊</p><p><b> 進銷存模塊:</b></p><p> 包括采購入庫,庫存盤點,進貨統(tǒng)計,出庫明細.</p><p><b> 采購入庫模塊:</b></p><p> 在用戶按
82、下確定按鈕時,將讀取存儲入庫數(shù)據(jù)表,以添加該登記入數(shù)據(jù)庫,如果點取消,該表單的輸入將被取消,不會將數(shù)據(jù)存儲到數(shù)據(jù)庫。</p><p> 輸入商品條碼,點ENTER,自動從數(shù)據(jù)庫調出數(shù)據(jù),輸入數(shù)量,點確定,即可實現(xiàn)商品的入庫。如圖5-15,5-16:</p><p> 圖5-15 錄入入庫信息界面</p><p> 圖5-16 成功入庫界面</p>
83、<p><b> 主要代碼:</b></p><p> i:=strtoint(dbedit4.Text);</p><p> j:=i+strtoint(edit2.Text);</p><p> if(edit1.text<>'')and (edit2.Text<>'
84、39;) then</p><p><b> begin</b></p><p> adoquery1.SQL.clear;</p><p> adoquery1.SQL.Add('update stock');</p><p> adoquery1.SQL.add('set stocks
85、calar=:a where barcode=:b');</p><p> adoquery1.Parameters.ParamByName('a').Value :=j;</p><p> adoquery1.Parameters.ParamByName('b').value:=edit1.Text;</p><p>&
86、lt;b> try</b></p><p> //adoquery1.Active:=true;</p><p> adoquery1.ExecSQL;</p><p> showmessage('成功入庫,點確定繼續(xù)');</p><p><b> except</b><
87、;/p><p> showmessage('成功入庫,點確定繼續(xù)');</p><p> edit1.Clear;</p><p> edit2.Clear;</p><p> edit1.SetFocus;</p><p> 以上為入庫代碼,庫存數(shù)量增加的代碼</p><p&
88、gt; procedure Tfrm_login.Edit2KeyPress(Sender: TObject; var Key: Char);</p><p><b> begin</b></p><p> if key=#13 then</p><p><b> begin</b></p><
89、p> bitbtn1.Click;</p><p><b> end;</b></p><p><b> end;</b></p><p> 這段代碼從實際上來說,可以是可有可無的,但是在提供用戶的可操作性上,這段代碼處理了用戶敲回車鍵的默認處理動作,所以可以說是系統(tǒng)一個比較好的亮點。</p>
90、<p> 庫存盤點,進貨統(tǒng)計,出庫明細模塊均是可按條碼和名稱查詢,并使用DELPHI自帶的導航鍵實現(xiàn)添加,刪除等操作,分別如圖5-17,5-18,5-19:</p><p> 圖5-17 庫存盤點模塊</p><p><b> 主要代碼:</b></p><p> if(radiobutton1.Checked=true)
91、and (edit1.text<>'')then</p><p><b> begin</b></p><p> adoquery1.SQL.Clear;</p><p> adoquery1.SQL.Add('select * from stock');</p><p>
92、; adoquery1.SQL.add('where barcode="'+edit1.Text+'"');</p><p> adoquery1.Active:=true;</p><p><b> end;</b></p><p> if(radiobutton2.Checked
93、=true) and (edit1.text<>'')then</p><p><b> begin</b></p><p> adoquery1.SQL.Clear;</p><p> adoquery1.SQL.Add('select * from stock');</p>&
94、lt;p> adoquery1.SQL.add('where goodsname="'+edit1.Text+'"');</p><p> adoquery1.Active:=true;</p><p><b> end;</b></p><p> 圖5-18 進貨統(tǒng)計模塊&
95、lt;/p><p> 功能:該模塊主要是實現(xiàn)進行進貨查詢和管理</p><p> 進貨查詢:該模塊為企業(yè)提供整個企業(yè)的進貨情況查詢,也可以進行進貨的明細查詢. </p><p> 圖5-19 出庫明細模塊</p><p><b> 主要代碼:</b></p><p> if(radiobu
96、tton1.Checked=true) and (edit1.text<>'')then</p><p><b> begin</b></p><p> adoquery1.SQL.Clear;</p><p> adoquery1.SQL.Add('select * from purchase'
97、;);</p><p> adoquery1.SQL.add('where barcode="'+edit1.Text+'"');</p><p> adoquery1.Active:=true;</p><p><b> end;</b></p><p>
98、if(radiobutton2.Checked=true) and (edit1.text<>'')then</p><p><b> begin</b></p><p> adoquery1.SQL.Clear;</p><p> adoquery1.SQL.Add('select * from pu
99、rchase');</p><p> adoquery1.SQL.add('where goodsname="'+edit1.Text+'"');</p><p> adoquery1.Active:=true;</p><p><b> end;</b></p>
100、<p> 系統(tǒng)管理模塊:包括修改密碼和退出系統(tǒng)</p><p> 退出系統(tǒng):選擇退出系統(tǒng),將關閉整個系統(tǒng),結束本次使用。</p><p> 修改密碼模塊如圖5-20:</p><p> 圖5-20 修改密碼界面</p><p><b> 主要代碼:</b></p><p>
101、 if(edit1.Text<>'') then</p><p><b> begin</b></p><p> adoquery1.SQL.Clear;</p><p> adoquery1.SQL.Add('select * from manager where username="
102、39;+frm_login.Label3.Caption+'"');</p><p> adoquery1.SQL.add(' and userpass="'+edit1.Text+'"');</p><p> adoquery1.Open;</p><p> if(adoquery
103、1.RecordCount<>0) then</p><p><b> begin</b></p><p> if(edit2.Text=edit3.Text) then</p><p><b> begin</b></p><p> adoquery1.Close;</p
104、><p> adoquery1.SQL.Clear;</p><p> adoquery1.SQL.add('update manager set userpass="'+edit2.Text+'"');</p><p> adoquery1.ExecSQL;</p><p> show
105、message('用戶密碼修改成功');</p><p><b> close;</b></p><p><b> end</b></p><p><b> else</b></p><p> showmessage('新密碼和驗證密碼不一致!&
106、#39;);</p><p><b> end</b></p><p><b> else</b></p><p> showmessage('原始密碼錯誤');</p><p><b> 測試要點</b></p><p> 對
107、商品編碼入庫程序進行測試,利用測試用例填入表單,對其進行數(shù)據(jù)庫數(shù)據(jù)存儲測試,看看所填數(shù)據(jù)能否存入數(shù)據(jù)表中。</p><p> 庫存信息維護,對數(shù)據(jù)庫中的數(shù)據(jù)進行修改,刪除,更新操作,查看維護功能能否實現(xiàn)。</p><p> 跟測試用例是否相符,相符則功能能夠實現(xiàn),測試成功。</p><p> 6 結果測試,性能分析</p><p>
108、完成對流程的編碼后最重要的事情就是對系統(tǒng)的測試工作了,測試在系統(tǒng)設計階段有兩個時期,通常在編寫每個模塊后做單元測試,另一個時期是對系統(tǒng)的綜合測試。</p><p><b> 6.1模塊測試</b></p><p> 在模塊測試時我們主要從以下幾個方面考慮:</p><p><b> 1. 模塊接口</b></p
109、><p><b> 2. 局部數(shù)據(jù)結構</b></p><p><b> 3. 重要執(zhí)行通道</b></p><p><b> 4. 出錯處理通道</b></p><p> 5. 影響上述方面的邊界條件</p><p> 測試時進行代碼審查,從數(shù)據(jù)
110、類型,變量聲明,數(shù)據(jù)結構進行審查,然后進行功能測試,從輸入一些簡單的數(shù)據(jù)開始執(zhí)行一遍,觀測運行期間變量的變化,運行中值的變化范圍。改變測試方案來變換另一個角度進行測試,發(fā)現(xiàn)錯誤并記錄,修改代碼,測試條件使程序通過多層分支,判別運行結果從而完成模塊測試。</p><p> 6.1.1前臺模塊的測試</p><p><b> 用戶登錄的測試:</b></p>
111、;<p> 管理員輸入正確的用戶名和密碼,如輸入測試用例用戶名001,密碼00,則可自動跳轉到銷售界面。若輸入錯誤密碼,或不存在的用戶名,則彈出錯誤提示框。 (功能運行正常)</p><p><b> 銷售主頁面的測試:</b></p><p> 輸入正確的,存在的商品條碼,和數(shù)量,系統(tǒng)將從數(shù)據(jù)庫調出數(shù)據(jù),顯示相應信息在下方導航框內,并在應收金額出
112、現(xiàn)相應價格計算總和.若輸入錯誤的條碼,則會彈出錯誤提示框。 (功能運行正常)</p><p> 若選中會員結賬輸入存在的會員卡號,則會彈出歡迎的對話框,點OK后,折扣處變?yōu)?0,若輸入錯誤的卡號,則會彈出錯誤的提示框。 (功能運行正常)</p><p> 6.1.2后臺模塊的測試</p><p><b> 采購入庫的測試:</b><
113、/p><p> 若輸入存在的條碼,點ENTER,則會自動調出相應商品信息,輸入數(shù)量后點確定,則成功入庫,若輸入錯誤條碼,或不存在的條碼,則會彈出錯誤提示框。(功能運行正常)</p><p><b> 出庫明細的測試:</b></p><p> 選中按條形碼查詢,輸入正確條形碼則會顯示所輸入條形碼的出庫情況,若輸入字符,則無查詢信息出現(xiàn).選中按
114、名稱查詢,輸入正確商品名稱則會顯示所輸入商品名稱對應的出庫情況,若輸入數(shù)字或非正確商品名稱則無查詢信息出現(xiàn)。(功能運行正常)</p><p><b> 修改密碼的測試:</b></p><p> 用戶成功進入自己的角色,就可以進行密碼的修改了(功能運行正常)</p><p><b> 6.2整體測試</b></
115、p><p> 總體測試是組裝軟件的系統(tǒng)技術,本系統(tǒng)測試采用漸增集成測試,即測試單一模塊,將測試完的模塊加入系統(tǒng)中,進行一次系統(tǒng)測試,依次類推將所有模塊加入系統(tǒng)中,在具體測試時,采用自頂向下的結合方式,從主控模塊開始,沿各控制層向下移動,把所有模塊結合了。 </p><p> 在測試過程中使用到調試技術</p><p> 1. 采用調試語句,跟蹤數(shù)據(jù)</p&
116、gt;<p> 2. 嵌入對話框語句,輸出中間結果</p><p> 3. 設置斷點,觀察程序在斷點附近的狀況</p><p><b> 結 論</b></p><p> 在學習了Delphi和數(shù)據(jù)庫,對其有一定了解的情況下,完成了超市收費系統(tǒng)的設計與實現(xiàn)。在這次編程的過程中,我查閱了大量的書籍,在網(wǎng)上也查了不少資料
117、,使我的編程水平有了大幅度的提高。本文主要討論了各模塊功能設計,工作原理,程序實現(xiàn)等問題。使用Delphi提供的ADO數(shù)據(jù)庫操作組件實現(xiàn)了對數(shù)據(jù)庫的各項操作,也熟悉了Delphi的開發(fā)應用環(huán)境和軟件開發(fā)的一般流程。由于這次設計涉及到數(shù)據(jù)庫,也學到了不少編程工具和數(shù)據(jù)庫連接的知識,對數(shù)據(jù)庫的操作有了進一步的了解??傊@次的畢業(yè)設計使我的軟件設計水平有了巨大的提高。</p><p><b> 參考文獻&
118、lt;/b></p><p> 伊文敏.Delphi + SQL Server數(shù)據(jù)庫應用實例完全解析[M].北京:人民郵電出版社。</p><p> Macro Cantu.Delphi 2005從入門到精通[M].北京:電子工業(yè)出版社 </p><p> 啟明工作室.Delphi + SQL Server數(shù)據(jù)庫應用系統(tǒng)開發(fā)與實例[M].北京:人民郵
119、電出版社。</p><p> 巴克納爾.Delphi算法與數(shù)據(jù)結構[M].北京:中國電力出版社。</p><p> 宋坤,鄒天思.Delphi數(shù)據(jù)庫系統(tǒng)開發(fā)完全手冊[M].北京:人民郵電出版社。</p><p><b> 致 謝</b></p><p> 經(jīng)過三個月的艱苦努力,我終于完成了超市收費系統(tǒng)的全部
120、設計過程,并使該系統(tǒng)達到可實際應用的階段。在此,感謝游洪躍老師和盛志偉老師的精心指導。</p><p> 這次實習,無論是從技術上還是對環(huán)境的適應能力上講,對我今后步入社會都打下了一個良好的基礎。在實習過程中,我也遇到了一些困難,主要表現(xiàn)了技術和經(jīng)驗的欠缺,但通過努力和老師的指導,終于一一克服了。</p><p> 在整個實習期間,還得到了同學的大力支持和幫助,在此表示衷心的感謝!&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文--超市收費系統(tǒng)的設計與實現(xiàn)
- 通用超市管理系統(tǒng)的設計與實現(xiàn)【畢業(yè)論文】
- 畢業(yè)論文——超市信息管理系統(tǒng)設計與實現(xiàn)
- 畢業(yè)論文—小型超市信息管理系統(tǒng)的設計與實現(xiàn)
- 超市收銀系統(tǒng)自動化測試的設計與實現(xiàn)畢業(yè)論文
- 軟件工程畢業(yè)論文-超市收銀管理系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)設計----超市收費系統(tǒng)
- 超市管理系統(tǒng)設計畢業(yè)論文
- 畢業(yè)論文---高校超市管理系統(tǒng)的設計與實現(xiàn)(含外文翻譯)
- 停車場收費管理管理系統(tǒng)的設計與實現(xiàn)畢業(yè)論文
- 畢業(yè)論文---基于web的超市管理系統(tǒng)的設計和實現(xiàn)
- 畢業(yè)論文---基于web的超市管理系統(tǒng)的設計和實現(xiàn)
- 畢業(yè)論文---基于web的超市管理系統(tǒng)的設計和實現(xiàn)
- 中小型超市商品管理系統(tǒng)設計與實現(xiàn) 【畢業(yè)論文】
- 畢業(yè)論文——網(wǎng)絡房產(chǎn)信息超市的設計與實現(xiàn)
- 畢業(yè)論文——網(wǎng)絡房產(chǎn)信息超市的設計與實現(xiàn)
- 超市管理信息系統(tǒng)設計與實現(xiàn)-本科畢業(yè)論文設計
- 畢業(yè)設計(論文)超市銷售管理系統(tǒng)的設計與實現(xiàn)
- 超市管理系統(tǒng)畢業(yè)論文
- 超市管理系統(tǒng)畢業(yè)論文
評論
0/150
提交評論