




已閱讀5頁,還剩26頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
無憂無慮畢設網 ():畢業設計源碼下載 畢業設計源碼下載: 本文配套程序下載地址 : 無憂無慮畢設網 ()-大學生畢業設計站 ,免費畢業設計論文 ,無憂無慮畢設網 大學生畢業設計 ,出售各類畢業設計源碼 ,論文 ,程序源碼 ,網站源碼 ,免費視頻教程 ,我們將竭誠為您服務! 分類號: TP315 U D C: D10621-408-(2007)6045 -0 密 級:公 開 編 號: 2003211003 成 都 信 息 工 程 學 院 學 位 論 文 超市收費系統的設計與實 現 論文作者姓名: 羅 琳 申請學位專業: 網 絡 工 程 申請學位類別: 工學學士 指導教師姓名(職稱): 游洪躍(副教授) 論文提交日期: 2007 年 6 月 10 日 超市收費系統的設計與實現 摘 要 隨著現代科學技術的迅猛發展,計算機技術已滲透到各個領域,成為各行業必不可少的工具。在當今激烈的市場競爭中 ,讓顧客享受既實惠又快捷的購物服務是商戰中制勝的一大要素。改革開放的今天 ,各種大型超市林立 ,超市已成為消費者日常活動的主要場所。而超市商品也非常之多 ,建立一套方便快捷 的超市收費系統是企業必然要解決的一個問題。系統采用的編程工具是 Delphi 7.0 版本與 Access 作為數據庫。系統分為前臺系統和后臺系統,其中,前臺系統提供了很方便的商品銷售收費功能 ,這其中包括會員卡用戶可享受八折優惠。而后臺系統則提供了一些商品管理功能,如采購入庫,庫存盤點,出庫明細等模塊。 本文主要介紹超市收費系統的運行環境、功能作用、設計的方案等各方面的內容。論文共分為五大部分。第一部分簡要敘述了系統的基本概況。第二,三部分分別從軟件工程的要求出發,首先進行問題的定義,其次進行可行性研究,分 別從技術可行性,經濟可行性和操作可行性進行分析,然后進行總體設計和詳細設計,并闡述了如何實現具體功能。第四部分為系統調試,其中包括子模塊測試和總體測試。 關鍵詞 : 收費; 銷售;超市 The Design and Realization of Supermarket Charging System Abstract With the rapid development of modern science and technology, computer technology which 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 and 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 and fast charging system is a problem which is must resolve. The programming tool of the system adopts Delphi 7.0 and uses Access as database. The system divides into two parts, the foreground and the background. The foreground offers convenient function for goods sale fee and the member card users who can enjoy a 20% discount. At the same time, the background system gives some function for goods management, such as purchasing and warehousing, stock-taking, and the details about the out housing and so on. This system runs under the practicability of software and the convenient operate from the beginning to the end. 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 system. 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 feasibility, and design for the totality and detailed, with expounding how to achieve its concrete function. System adjusting is discussed in the fourth part which still includes the Sub-module test and overall test. Key words: charging; sale; supermarket 目 錄 論文總頁數: 27頁 1引 言 . 1 1.1課題背景及意義 . 1 1.2課題研究內容 . 1 2項目特色及方案選擇 . 1 2.1項目特色 . 1 2.2方案選擇 . 2 3系統需求分析 . 2 3.1系統模塊構建 . 2 3.1.1系統整體結構功能模塊 . 2 3.1.2前 ,后臺功能模塊 . 3 3.2數據流圖 . 3 4 數據庫設計 . 4 4.1數據庫選擇方案論證 . 4 4.2 E-R圖和關系圖 . 5 4.3數據庫表設計 . 5 5系統實現 . 9 5.1系統對軟硬件配置的要求 . 9 5.2開發語言介紹 . 9 5.3 系統模塊 . 10 5.3.1 前臺模塊 . 10 5.3.2后臺模塊 . 16 6 結果測試,性能分析 . 23 6.1模塊測試 . 23 6.1.1前臺模塊的測試 . 23 6.1.2后臺模塊的測試 . 24 6.2整體測試 . 24 結 論 . 24 參考文獻 . 25 致 謝 . 26 聲 明 . 27 第 1 頁 共 27 頁 1 引 言 1.1課題背景及意義 隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進 入人類社會的各個領域并發揮著越來越重要的作用 。 超市形式在我國于 20世紀 90年代初期起步,現已成為我國零售業的一種重要形態。隨著超市的高速發展,其經營管理也變的愈加復雜,早期的售貨員站柜臺的形式早已不能滿足現有銷售業的發展 ,這樣就迫切地需要引入新的思想技術和管理技術進入到超市管理之中。 超市形態具有種種優點,但在目前狀況下,它仍存在零售業商業企業所共有的落后的一面。如:收款結算速度慢,容易出現營業差錯,不宜進行商品調價,盤點效率底等。而且 ,在超市日常管理中,隨著超市形態的高速發展,其經營管理也變的愈加復雜, 競爭也日益激烈,擁有一套快捷,方便,實用的超市收費系統是必須的。為此,在本次設計之中選擇了超市收費系統的設計與實現這個題目。依靠現代化的計算機信息處理技術來對超市銷售進行收費,從而節省了大量的人力、減輕了勞動強度,并且能夠快速反映出商品的各種反饋信息。 1.2課題研究內容 綜合運用以前所學的專業知識,設計開發一個超市收費系統軟件,本設計要求實現功能 采購入庫,條形碼數據的輸入,會員卡號的輸入,進行貨品銷售。 具體包括以下內容: ( 1)在設計與開發中,重點放在簡單地進行貨品銷售,會員卡打折。 ( 2)在設 計與開發中,既探討前臺的銷售,又能實現后臺的采購入庫,會員卡設置等功能。(其中前臺只負責輸入條碼,輸入會員卡號,實現收費。其他的所有功能和設置均放在后臺進行) 實現超市貨品的入庫 ,會員卡用戶資料的錄入 ,以及進行貨品銷售的收費 ,而前臺的收費分為會員卡用戶和非會員卡用戶兩種收費 ,對于有卡用戶 ,在輸入卡號后 ,可實現商品價格按八折價格進行收費 ,若要取消銷售某商品 ,則直接點刪除 ,總價格也會相應的扣除 . 2 項目特色及方案選擇 2.1項目特色 本項目的特色在于,它的操作能基本實現智能化,減少了人操作人員的大量工作,節約了 時間和空間、人力和財力。此外,本系統清晰的功能模塊的劃分也使得它的應用性和移植性將會更加廣泛,再加上前后臺的分別管理,使得整個系 第 2 頁 共 27 頁 統的設計也更為人性化和安全化。 2.2方案選擇 本系統之所以使用 Delphi 7.0 , 主要是因為 Delphi的方便性和靈活性。我們幾乎可以 用 Delphi 作任何事情,還可以撰寫種各種類型的應用程序,動態鏈接庫( DLL)、 CON、或 CORBA對象, CGI/ISAPI 程序, Microsoft Back Office應用程序。程序的規模 ,小到簡單的個人數據庫應用,大到復雜的企業的多層次分 布式系統,都可以使用 Delphi 進行開發,其友好的集成開發界面,可視化的雙向開發模式,良好的數據庫應用支持高效的程序開發和程序運行,備受廣大程序開發人員的好評。尤其是 Delphi 對數據庫應用的強大支持,大大提高了數據庫應用軟件開發的效率,縮短了開發周期。 并且 Delphi 為數據庫應用開發人員提供了豐富的數據庫開發組件,使數據庫應用開發功能更強大,控制更靈活,編譯后的程序運行速度更快。 3 系統需求分析 數據庫應用系統是以數據庫為基礎的信息管理系統,它一般包含兩個方面內容,一個數據庫設計,二是程序設計。數據庫應 用系統的開發是一個軟件工程,應按照軟件工程的開發方法進行分析,設計,編程和調試。在建立數據庫應用系統之前,一般應先進行系統的需求分析,了解用戶對系統的要求,然后進行系統的總體設計,最后編寫程序代碼和調試程序。數據庫應用系統的開發過程 ,需求分析包括了對數據本身的需求分析和對功能的需求分析。兩個分析的結果將分別作為數據庫設計和程序設計的依據。實際上在設計數據庫應用系統時,這兩個需求分析是緊密相關的,不論是數據庫設計,還是程序設計都需要考慮這兩個方面的因素。 3.1系統模塊構建 3.1.1 系統整體結構功能模塊 系 統整體結構功能模塊圖如圖 3-1: 根據系統整體結構功能模塊分析,系統分為前臺和后臺兩部分;前臺主要提供給收銀員使用 ,進行銷售收費;后臺提供給管理員使用,主要執行系統維護、超市收費系統 前臺管理 后臺管理 圖 3-1 系統整體結構功能模塊圖 第 3 頁 共 27 頁 商品管理、廠家管理和銷售數據管理以及會員卡用戶管理等工作。 3.1.2 前 ,后臺功能模塊 本系統是多用戶系統,用戶可分為管理員和收銀員兩類,登錄或者未登錄情況下判斷當前使用人員的權限,避免安全性問題。 收銀員登錄系統,系統自動清空銷售臨時數據,進入系統,對于非會員用戶收銀員首先錄入商 品編碼,然后輸入數量,而對于會員卡用戶 ,收銀員選擇會員類型,輸入會員卡號,系統自動將折扣轉為 80%,然后系統自動匯總金額,同時列表顯示銷售商品的流水數據,收銀員可以刪除需要退掉的商品,然后點擊結賬,完成交易過程。前臺功能模塊圖如圖 3-2: 圖 3-2 前臺功能模塊圖 后臺管理員登錄系統以后,可以對供貨商資料進行添加、刪除、修改、查詢操作,可以對商品單位進行添加、刪除、修改、查詢操作,可以對會員資料進行添加、刪除、修改、查詢操作,可以進行采購入庫操作,進 行庫存盤點操作,進行進貨統計操作,進行出庫明細查詢操作,和退出系統操作。后臺功能模塊如圖3-3所示 : 3.2數據流圖 數據流圖如圖 3-4: 前 臺 管 理 系統清空臨時數據 登 錄 系 統 銷 售 收 費 退 出 系 統 后 臺 管 理 采 購 入 庫 系統驗證 計量單位管理 會員資料管理 供應商資料管理 庫 存 盤 點 進 貨 統 計 出庫明細管理 圖 3-3 后臺功能模塊 第 4 頁 共 27 頁 圖 3-4 數據流圖 4 數據庫設計 4.1數據庫選擇方案論證 建立一個數據庫我們有多種選擇,現在市場上有各種各樣的數據庫,而且每一種數據庫都有其自身的特點,不能說哪一種更好,只是在其中尋找一種能更好地適應系統需求、更好地滿足用戶的要求以及適應開發人員的習慣。在本 系統中,作為小型超市的收費系統是一個比較小的應用系統,它所產生和處理的數據量也比較小。因此,沒有必要使用像 SQL Server 和 Oracle 這樣的大型數據庫。我首先想到的數據庫是 Microsoft Office中的 Access數據庫 ,因為它 在計算機上的應用比較普及,是開發小型數據庫系統的比較理想的選擇,所以,在本系統中我選擇了 Access數據庫。 Access 作為 一個數據庫管理系統,它被集成在 Microsoft Office 中。Access 數據庫處理的基本結構,采取關系型數據庫模式。與其他的數據庫系統相比, Access 更加簡單易學,一個普通的計算機用戶可以很快地掌握它。Access 的功能十分強大,利用它可以方便地實現對信息保存、維護、查詢、統計、打印、交流、發布,而且它可以十分方便地與 Office 其他組件交流數據,這些功能對一個一般用戶而言已經足夠了。 收銀員 登錄 管理員 登錄 庫存 會員資料 銷售 銷售記錄 客戶 供應商管理 供應商資料 會員管理 商品入庫 供應商資料 第 5 頁 共 27 頁 4.2 E-R 圖和關系圖 供應商 ,商品關系模型 E-R 圖如圖 4-1 所示 : 圖 4-1 供應商 ,商品關系模型 E-R 圖 各個表之間的關系圖如圖 4-2: 圖4-2 各個 表之間的關系圖 4.3數據庫表設計 由數據模型利用 Access進行數據庫的詳細設計,其基本表的設計如下: 供應商 名字 ID 傳真 郵編 地址 聯系人 電話 商品名 數量 價格 單位 日期 商品 ID 廠家 提供 m n 第 6 頁 共 27 頁 1. 供應商表 供應商信息表 :存儲供應商信息 .如表 4-1: 表 4-1 供應商信息表 字段名稱 數據類型 說明 ID 自動編號 FeederID 文本 供應商編號 FeederName 文本 供應商名稱 LinkMan 文本 聯系人 Address 文本 地址 Zipcode 文本 郵編 Tel 文本 電話 Fax 文本 傳真 2. 操作用戶表 操作用戶表 :存儲操作系統的管理員信息 .如表 4-2: 表 4-2 操作用戶表 字段名稱 數據類型 說明 ID 自動編號 UserID 文本 用戶編碼 UserName 文本 用戶名 UserPass 文本 密碼 Address 文本 地址 Tel 文本 電話 Remark 文本 備注 3.商品進貨表 商品進貨表 :存儲商品進貨信息 .如表 4-3: 表 4-3 商品進貨表 字段名稱 數據類型 說明 ID 自動編號 InvoiceID 文本 單號 BarCode 文本 商品條碼 GoodsName 文本 商品名稱 FeederName 文本 供應商名稱 PurchaseScalar 數字 購入數量 第 7 頁 共 27 頁 PurchasePrice 數字 進價 Unit 文本 商品計量單位 EnterFiag 是 /否 是否已完成交易 PurchaseDate 日期 /時間 日期時間 UserName 文本 使用的管理員用戶名 Remark 文本 備注 4.銷售主表 銷售主表 :存儲銷售情況的大體清單 (即總金額等 ).如表 4-4: 表 4-4 銷售主表 字段名稱 數據類型 說明 ID 自動編號 InvoiceID 文本 單號 AR 數字 購買總金 額 PU 數字 進價總金額 Hang 是 /否 是否已完成交易 SellDate 日期 /時間 日期時間 UserName 文本 使用的管理員用戶名 Remark 數字 備注 5.銷售從表 銷售從表 :存儲銷售的詳細情況 .如表 4-5: 表 4-5 銷售從表 字段名稱 數據類型 說明 ID 自動編號 InvoiceID 文本 單號 BarCode 文本 商品條碼 GoodsName 文本 商品名稱 Unit 文本 商品計量單位 SellScalar 數字 賣出數量 Agio 數字 折扣 PurchasePrice 數字 進價 SellPrice 數字 賣出價格 Subtotal 數字 總金額 UntreadFlag 文本 已交易 6.庫存表 第 8 頁 共 27 頁 庫存表 :存儲庫存情況 .如表 4-6: 表 4-6 庫存表 字段名稱 數據類型 說明 ID 自動編號 BarCode 文本 商品條碼 GoodsName 文本 商品名稱 Unit 文本 商品計量單位 PurchasePrice 數字 進價 SellPrice 數字 賣出價格 SellScalar 數字 賣出數量 7.計量單位表 計 量單位表 :存儲計量單位資料 ,方便入庫等操作時的使用 .如表 7: 表 4-7 計量單位表 字段名稱 數據類型 說明 ID 自動編號 UnitName 文本 計量單位名稱 8.會員資料表 會員資料表 ,存儲有卡會員的資料 ,以便結賬時給予折扣 .如表 4-8: 表 4-8 會員資料表 字段名稱 數據類型 說明 ID 自動編號 Name 文本 會員姓名 Address 文本 住址 Tel 文本 聯系電話 VipID 文本 會員卡號 Remark 文本 備注 State 文本 狀態 UserName 文本 管理員用戶名 9.會員銷售單據表 會員銷售單據表 :存儲會員的銷售單據。如表 4-9: 第 9 頁 共 27 頁 表 4-9 會員銷售單據表 字段名稱 數據類型 說明 ID 自動編號 VipID 文本 會員卡號 InvoiceID 文本 單號 Money 數字 消費金額 UserName 文本 管理員用戶名 5 系統實現 5.1系統對軟硬件配置的要求 建議用戶的計算機使用以下配置(或更高): CPU: Intel 或兼容機 Pentium Pentium4 或更高 硬盤: 7200轉 /分,剩余空間 100M 內存: 建議 512MB 或更多 鼠標: 3D光電鼠 鍵盤:標準 104 鍵 5.2開發語言介紹 Delphi 類可以粗略地分成兩部分:一部分是組件類,這些組件類通常以某種方式出現在組件面板上,當用戶從組件面板上點取一個類的圖標后,在程序中就自動生成了該類的對象(非可視組件除外);另一部分是功能類,這此功能類的對象通常出現在程序代碼中,起著不可代替的作用,但是這些功能類在組件面板上是找不到的。 組件在 Delphi 程序的開發中是最顯眼的角色。 ADO 數據訪問組件 就是本系統所采用的方式,下面對此概述一下。 ADO 數據對象 (Active Data Objects)實際是一種提供訪問各種數據類型的鏈接機制。 ADO設計為一種極簡單的格式,通過 ODBC的方法同數據庫接口中,可以使用任何一種 ODBC 數據源,即不止適合于 SQL Server、 Oracle、 Access等數據庫應用程序,也適合于 Excel表格、文本文件、圖形文件和無格式的數據文件。 ADO 是基于 OLE-DB 之上的技術,因此 ADO 通過其內部的屬性和方法提供統一的數據訪問接口方法。 ADO使您的客戶端應用程序能夠通過 OLE DB提供訪問和操作在數據庫服務器中的數據。 ADO支持用于建立 C/S和 Web的應用程序的主要功能。其主要優點是易于使用、高速度、低內存支出和占用磁盤空間較少。ADO 同時具有遠程數據服務 (RDS)功能,通過 RDS 可以在一次往返過程中實現將數據從服務器移動到客戶端應用程序和 Web 頁、在客戶端對數據進行處然后將更新結果返回服務器的操作 。利用 ADO 數據訪問組件, 在系統中我主要使用的是 第 10 頁 共 27 頁 ADOTablet和 ADOQuery 兩個組件。 5.3 系統模塊 5.3.1 前臺模塊 前臺程序流程圖如圖 5-1 圖 5-1 前臺程序流程 圖 登錄模塊 : 功能:本模塊的主要功能是對用戶身份進行驗證,只有系統的合法用戶才能進入系統。其窗體如圖 5-2: 輸入管理員信息 檢測信息 錯誤 正確 登錄 是否會員 否 輸入條碼 是 折扣 結賬 結束 開始 第 11 頁 共 27 頁 圖 5-2 用戶登錄界面 在進行系統登錄過程中,登錄模塊將調用數據庫里的用戶數據表,并對用戶名和密碼進行驗證,只有輸入了正確的用戶名和密碼后,系統登錄才會成功。并在輸入了錯誤的或者是不存在的用戶名和密碼時,系統會給出出錯信息提示,指明登錄過程中的錯誤輸入或錯誤操作,以便用戶進行正確的登錄。 其提示錯誤輸入或錯誤操作如圖 5-3所示 : 圖 5-3 登錄錯誤界面 輸入項、輸出項:輸入項為用戶名和 密碼。用戶名和密碼均為字符串,最大長度為 16個字符,密碼以“ *”號顯示(英文和數字算一個字符,漢字算兩個字符)。 接口:本模塊為頂級模塊,按確定按鈕時,如果輸入的用戶名和密碼正確,將調用系統主窗體模塊,進入系統主窗體。 存儲分配:在用戶按下確定按鈕時,將讀取存儲用戶名和密碼的數據表,以對用戶名和密碼進行驗證。 測試要點:本模塊有如下幾個測試要點,按下確定按鈕時,是否能正確讀取存儲用戶名和密碼的數據表;如果用戶名和密碼正確,是否能進入系統主窗體;當輸入用戶名或密碼錯誤時,是否能彈出信息框,給用戶提示。 主要代 碼: vIniFile:=TIniFile.Create(ExtractFilePath(ParamStr(0)+Config.Ini); /聯接數據庫 Data:=Provider=+vIniFile.Readstring(System,Provider,)+; Data:=Data+Data Source=+vIniFile.Readstring(System,Data Source,)+; Data:=Data+Persist Security Info=False; 第 12 頁 共 27 頁 ADOQuery1.ConnectionString:=Data; ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(Select * from Manager); ADOQuery1.Active:=True; 創建了一個 TIniFile 類型的對象實例,來連接操作連接數據庫的 ini 配置文件。 銷售模塊 : 功能 : 本模塊的主要功能是把銷售信息寫入銷售清單,同時對庫存數據進行更新,以備用戶將來 對銷售信息和庫存信息進行查詢。 商品銷售: 將銷售信息錄入數據庫銷售表中,進行銷售查詢和統計。 輸入項、輸出項 : 本模塊的數據輸入項主要為銷售清單,其中包括單據編號、商品條碼、計量單位、單價、數量、金額、銷售日期、操作員等相關信息。 存儲分配 : 商品銷售模塊主要的是進行商品銷售情況統計并登記入庫,當商品銷售業務發生后,營業員將打開銷售管理模塊對商品銷售情況進行登記入庫,調用數據庫中的銷售表,等待數據錄入,等營業員將相應數據輸入后,點提交按扭 ,即可完成數據的存儲。取消按扭 ,將取消此次操作,不進行數據存儲。 測 試要點 : 對銷售管理模塊進行測試,利用測試用例填入表單,對其進行數據庫數據存儲測試,看看所填數據能否存入數據表中。 銷售查詢 : 對各查詢要求分別進行測試,查看測試結果。 銷售模塊分為非會員用戶和會員用戶兩類 ,若消費者為非會員則進入銷售頁面后直接錄入商品條碼和數量點擊添加 ,然后系統自動匯總金額,同時列表顯示銷售商品的流水數據,對于非會員的銷售界面如圖 5-4: 第 13 頁 共 27 頁 圖 5-4 前臺非會員銷售界面 主要代碼如下: /計算合計數 ADOQuery1.Edit; /單條記錄求合:小計 =售價 *數量 *折扣 /100 ADOQuery1.FieldByName(Subtotal).AsCurrency :=(ADOQuery1.FieldByName(SellPrice).AsCurrency*ADOQuery1.FieldByName(SellScalar).AsCurrency*ADOQuery1.FieldByName(Agio).AsCurrency/100); ADOQuery1.Post; label5.Caption:=currtostr(strtocurr(label5.Caption)+ ADOQuery1.FieldByName(Subtotal).AsCurrency); edit5.Text:=label5.caption; Edit1.Text:=; Edit1.SetFocus; 對于會員用戶 ,選中會員結賬 ,輸入會員卡號 ,點擊查找 ,若有該會員 ,則彈出對話框歡迎你 :XX, 點擊 OK,折扣自動變為 80,商品價格按 80%計算 .如圖5-5,5-6: 如圖 5-5 輸入會員卡號彈出對話框界面 第 14 頁 共 27 頁 如圖 5-6 折扣自動變為 80 的界面 主要代碼如下: /在會員資料中查找會員 ADOQuery4.SQL.Clear; ADOQuery4.SQL.Add(Select * from vip Where username=+edit4.Text+); ADOQuery4.Open; if ADOQuery4.RecordCount0 then begin s:=歡迎你 :+adoquery4.FieldByName(name).AsString; showmessage(s); edit3.Text:=80; end else begin showmessage(無此會員號 ); edit3.Text:=100; end; /查找商品 ADOQuery2.SQL.Clear; ADOQuery2.SQL.Add(Select * from Stock Where BarCode=+ADOQuery1.FieldByName(BarCode).AsString+); ADOQuery2.Open; /減少庫存 ADOQuery2.Edit; ADOQuery2.FieldByName(StockScalar).AsCurrency:=ADOQuery2.FieldByName(StockScalar).AsCurrency-ADOQuery1.FieldByName(SellScalar).AsCurrency; ADOQuery2.Post; ADOQuery1.Next; 第 15 頁 共 27 頁 刪除商品模塊: 若要取消某一商品的銷售,可點 擊該商品,然后點擊刪除,彈出詢問對話框,點,即可撤消購買該商品 ,同時應收金額也會相應扣除 .如圖 5-7,5-8: 如圖 5-7 詢問是否刪除的界面 如圖 5-8 刪除后自動扣除 應收金額的 界面 主要代碼 : if ADOQuery1.RecordCount0 then begin if messagedlg(確認刪除 +ADOQuery1.FieldByName(GoodsName). AsString+嗎 ?,mtconfirmation,mbyes,mbno,0)=mryes then begin ADOQuery1.Delete; adoquery5.Close; adoquery5.SQL.Clear; adoquery5.SQL.Add(Select sum(subtotal) as total from Sell_Minor Where InvoiceID=+label6.Caption+); adoquery5.Open; if(adoquery5.fieldbyname(total).AsString)then begin label5.Caption:=adoquery5.fieldbyname(total).AsString; edit5.Text:=label5.Caption; end else begin label5.caption:=0.00; 第 16 頁 共 27 頁 edit5.Text:=0.00; end; end; end else begin ShowMessage(沒有商品記錄 !); end; 結賬模塊 : 輸入實收金額 ,點擊結賬 ,系統自動彈出對話框 ,點擊 OK,銷售界面所有信息將自動清空 .如圖 5-9: 如圖 5-9 完成結賬彈出對話框界面 主要代碼 : ADOQuery2.SQL.Add(Select SUM(Subtotal) from Sell_Minor Where InvoiceID=+Label6.Caption+); ADOQuery2.Open; j:=strtocurr(edit5.text)-strtocurr(label5.Caption); jiezhang:= 結賬成功 ,應收金額 :+label5.Caption+元 + 實收金額 :+edit5.Text+元 + 找補 +currtostr(j)+ 歡迎你下次光臨 !; showmessage(jiezhang); Label5.Caption := FormatFloat(0.00,ADOQuery2.Fields0.AsCurrency); edit5.text:=0.00; adoquery1.Active:=false; 5.3.2 后臺模塊 后臺程序流程圖如圖 5-10: 第 17 頁 共 27 頁 圖 5-10 后臺程序流程圖 主頁面模塊 : 管理員登錄后進入主該頁面 .如圖 5-11: 如圖 5-11 主頁面界面 基本資料模塊 :包括供應商資料模塊 ,計量單位模塊 ,會員資料模塊 . 三個模塊均可實現對資料的添加 ,刪除 .運用 DELPHI自帶的 導航鍵實現操作 .如圖 5-12,圖 5-13,圖 5-14: 輸入管理員信息 開始 檢測信息 錯誤 正確 登錄 系統管理 退出 結束 基本資料管理 商品進銷存 第 18 頁 共 27 頁 圖 5-12 供應商資料模塊 圖 5-13 計量單位模塊 圖 5-14 會員資料模塊 進銷存模塊 : 包括采購入庫 ,庫存盤點 ,進貨統計 ,出庫明細 . 采購入庫模塊 : 在用戶按下確定按鈕時,將讀取存儲入庫數據表,以添加該登記入數據庫,如果點取消,該表單的輸入將被取消,不會將數據存儲到數據庫。 輸入商品條碼 ,點 ENTER,自動從數據庫調出數據 ,輸入數量 ,點確定 ,即可實現商品的入 庫。如圖 5-15,5-16: 第 19 頁 共 27 頁 圖 5-15 錄入入庫信息界面 圖 5-16 成功入庫界面 主要代碼 : i:=strtoint(dbedit4.Text); j:=i+strtoint(edit2.Text); if(edit1.text)and (edit2.Text) then begin adoquery1.SQL.clear; adoquery1.SQL.Add(update stock); adoquery1.SQL.add(set stockscalar=:a where barcode=:b); adoquery1.Parameters.ParamByName(a).Value :=j; adoquery1.Parameters.ParamByName(b).value:=edit1.Text; try /adoquery1.Active:=true; adoquery1.ExecSQL; showmessage(成功入庫 ,點確定繼續 ); except showmessage(成功入庫 ,點確定繼續 ); edit1.Clear; edit2.Clear; edit1.SetFocus; 以上為入庫代碼 ,庫存數量增加的代碼 第 20 頁 共 27 頁 procedure Tfrm_login.Edit2KeyPress(Sender: TObject; var Key: Char); begin if key=#13 then begin bitbtn1.Click; end; end; 這段代碼從實際上來說,可以是可有可無的,但是在提供用戶的可操作性上,這段代碼處理了用戶敲回車鍵的默認處理動作,所以可以說是系統一個比較好的亮點。 庫存盤點 ,進貨統計 ,出庫明細模塊均是可按條碼和名稱查詢 ,并使用 DELPHI自帶的導航鍵實現添加 ,刪除等操作 ,分別如圖 5-17,5-18,5-19: 圖 5-17 庫存盤點模塊 主要代碼 : if(radiobutton1.Checked=true) and (edit1.text)then begin adoquery1.SQL.Clear; adoquery1.SQL.Add(select * from stock); adoquery1.SQL.add(where barcode=+edit1.Text+); adoquery1.Active:=true; end; if(radiobutton2.Checked=true) and (edit1.text)then begin adoquery1.SQL.Clear; adoquery1.SQL.Add(select * from stock); adoquery1.SQL.add(where goodsname=+edit1.Text+); adoquery1.Active:=true; end; 第 21 頁 共 27 頁 圖 5-18 進貨統計模塊 功能:該模塊主要是實現進行進貨查詢和管理 進貨查詢:該模塊為企業提供整個企業的進貨情況查詢,也可以進行進貨的明細查詢 . 圖 5-19 出庫明細模塊 主要代碼 : if(radiobutton1.Checked=true) and (edit1.text)then begin adoquery1.SQL.Clear; adoquery1.SQL.Add(select * from purchase); adoquery1.SQL.add(where barcode=+edit1.Text+); adoquery1.Active:=true; end; if(radiobutton2.Checked=true) and (edit1.text)then begin adoquery1.SQL.Clear; adoquery1.SQL.Add(select * from purchase); adoquery1.SQL.add(where goodsname=+edit1.Text+); adoquery1.Active:=true; end; 系統管理模塊 :包括修改密碼和退出系統 退出系統:選擇退出系統,將關閉整個系統,結束本次使用。 修改密碼模塊如圖 5-20: 第 22 頁 共 27 頁 圖 5-20 修改密碼界面 主要代碼 : if(edit1.Text) then begin adoquery1.SQL.Clear; adoquery1.SQL.Add(select * from manager where username=+frm_login.Label3.Caption+); adoquery1.SQL.add( and userpass=+edit1.Text+); adoquery1.Open; if(adoquery1.RecordCount0) then begin if(edit2.Text=edit3.Text) then begin adoquery1.Close; adoquery1.SQL.Clear; adoquery1.SQL.add(update manager set userpass=+edit2.Text+); adoquery1.ExecSQL; showmessage(用戶密碼修改成功 ); close; end else showmessage(新密碼和驗證密碼不一致 !); end 第 23 頁 共 27 頁 else showmessage(原始密碼錯誤 ); 測試要點 對商品編碼入庫程序進行測試,利用測試用例填入表單,對其進行數據庫數據存儲測試,看看所填數據能否 存入數據表中。 庫存信息維護,對數據庫中的數據進行修改,刪除,更新操作,查看維護功能能否實現。 跟測試用例是否相符,相符則功能能夠實現,測試成功。 6 結果測試,性能分析 完成對流程的編碼后最重要的事情就是對系統的測試工作了,測試在系統設計階段有兩個時期,通常在編寫每個模塊后做單元測試,另一個時期是對系統的綜合測試。 6.1模塊測試 在模塊測試時我們主要從以下幾個方面考慮: 1. 模塊接口 2. 局部數據結構 3. 重要執行通道 4. 出錯處理通道 5. 影響上述方面的邊界條件 測試時進行代碼審查,從數據 類型,變量聲明,數據結構進行審查,然后進行功能測試,從輸入一些簡單的數據開始執行一遍,觀測運行期間變量的變化,運行中值的變化范圍。改變測試方案來變換另一個角度進行測試,發現錯誤并記錄,修改代碼,測試條件使程序通過多層分支,判別運行結果從而完成模塊測試。 6.1.1 前臺模塊的測試 用戶登錄的測試 : 管理員輸入正確的用戶名和密碼 ,如輸入測試用例用戶名 001,密碼 00,則可自動跳轉到銷售界面。若輸入錯誤密碼 ,或不存在的用戶名 ,則彈出錯誤提示框。 (功能運行正常) 銷售主頁面的測試 : 輸入正確的 ,存在的商品條碼 ,和 數量 ,系統將從數據庫調出數
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 棗陽頂管施工方案公司
- 雕花蠟燭美術課件
- 殯葬行業生命教育
- 吐魯番職業技術學院《鋼琴基礎(一)》2023-2024學年第一學期期末試卷
- 遼寧現代服務職業技術學院《傳感器原理及應用》2023-2024學年第二學期期末試卷
- 蘇州大學《化工儀表》2023-2024學年第二學期期末試卷
- 農田石灰改造方案范本
- 《正宗新疆棉花被》課件
- 債權訴訟方案范本
- 沈陽音樂學院《排水工程》2023-2024學年第一學期期末試卷
- 銀行存款余額調節表正式版
- GB∕T 40262-2021 金屬鍍膜織物 金屬層結合力的測定 膠帶法
- 視頻監控vcn3000系列技術白皮書
- 2×100+2×200MW供熱式火力發電廠
- 模具驗收檢查表(出口模具)
- 小學三年級西師大版數學下冊計算題專題練習題
- biomedical Signal processing 生物醫學信號處理 Chapter
- 橫向分布系數計算剖析
- 五金沖壓車間質量管理規范(含表格)
- 病媒生物防制PPT課件
- 雷達原理與系統(課堂PPT)
評論
0/150
提交評論