




已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 本文配套程序下載地址 : 無憂無慮畢設(shè)網(wǎng) ()-大學生畢業(yè)設(shè)計站 ,免費畢業(yè)設(shè)計論文 ,無憂無慮畢設(shè)網(wǎng) 大學生畢業(yè)設(shè)計 ,出售各類畢業(yè)設(shè)計源碼 ,論文 ,程序源碼 ,網(wǎng)站源碼 ,免費視頻教程 ,我們將竭誠為您服務(wù)! 分類號: TP315 U D C: D10621-408-(2007)6045 -0 密 級:公 開 編 號: 2003211003 成 都 信 息 工 程 學 院 學 位 論 文 超市收費系統(tǒng)的設(shè)計與實 現(xiàn) 論文作者姓名: 羅 琳 申請學位專業(yè): 網(wǎng) 絡(luò) 工 程 申請學位類別: 工學學士 指導教師姓名(職稱): 游洪躍(副教授) 論文提交日期: 2007 年 6 月 10 日 超市收費系統(tǒng)的設(shè)計與實現(xiàn) 摘 要 隨著現(xiàn)代科學技術(shù)的迅猛發(fā)展,計算機技術(shù)已滲透到各個領(lǐng)域,成為各行業(yè)必不可少的工具。在當今激烈的市場競爭中 ,讓顧客享受既實惠又快捷的購物服務(wù)是商戰(zhàn)中制勝的一大要素。改革開放的今天 ,各種大型超市林立 ,超市已成為消費者日?;顒拥闹饕獔鏊?。而超市商品也非常之多 ,建立一套方便快捷 的超市收費系統(tǒng)是企業(yè)必然要解決的一個問題。系統(tǒng)采用的編程工具是 Delphi 7.0 版本與 Access 作為數(shù)據(jù)庫。系統(tǒng)分為前臺系統(tǒng)和后臺系統(tǒng),其中,前臺系統(tǒng)提供了很方便的商品銷售收費功能 ,這其中包括會員卡用戶可享受八折優(yōu)惠。而后臺系統(tǒng)則提供了一些商品管理功能,如采購入庫,庫存盤點,出庫明細等模塊。 本文主要介紹超市收費系統(tǒng)的運行環(huán)境、功能作用、設(shè)計的方案等各方面的內(nèi)容。論文共分為五大部分。第一部分簡要敘述了系統(tǒng)的基本概況。第二,三部分分別從軟件工程的要求出發(fā),首先進行問題的定義,其次進行可行性研究,分 別從技術(shù)可行性,經(jīng)濟可行性和操作可行性進行分析,然后進行總體設(shè)計和詳細設(shè)計,并闡述了如何實現(xiàn)具體功能。第四部分為系統(tǒng)調(diào)試,其中包括子模塊測試和總體測試。 關(guān)鍵詞 : 收費; 銷售;超市 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 目 錄 論文總頁數(shù): 27頁 1引 言 . 1 1.1課題背景及意義 . 1 1.2課題研究內(nèi)容 . 1 2項目特色及方案選擇 . 1 2.1項目特色 . 1 2.2方案選擇 . 2 3系統(tǒng)需求分析 . 2 3.1系統(tǒng)模塊構(gòu)建 . 2 3.1.1系統(tǒng)整體結(jié)構(gòu)功能模塊 . 2 3.1.2前 ,后臺功能模塊 . 3 3.2數(shù)據(jù)流圖 . 3 4 數(shù)據(jù)庫設(shè)計 . 4 4.1數(shù)據(jù)庫選擇方案論證 . 4 4.2 E-R圖和關(guān)系圖 . 5 4.3數(shù)據(jù)庫表設(shè)計 . 5 5系統(tǒng)實現(xiàn) . 9 5.1系統(tǒng)對軟硬件配置的要求 . 9 5.2開發(fā)語言介紹 . 9 5.3 系統(tǒng)模塊 . 10 5.3.1 前臺模塊 . 10 5.3.2后臺模塊 . 16 6 結(jié)果測試,性能分析 . 23 6.1模塊測試 . 23 6.1.1前臺模塊的測試 . 23 6.1.2后臺模塊的測試 . 24 6.2整體測試 . 24 結(jié) 論 . 24 參考文獻 . 25 致 謝 . 26 聲 明 . 27 第 1 頁 共 27 頁 1 引 言 1.1課題背景及意義 隨著科學技術(shù)的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進 入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用 。 超市形式在我國于 20世紀 90年代初期起步,現(xiàn)已成為我國零售業(yè)的一種重要形態(tài)。隨著超市的高速發(fā)展,其經(jīng)營管理也變的愈加復雜,早期的售貨員站柜臺的形式早已不能滿足現(xiàn)有銷售業(yè)的發(fā)展 ,這樣就迫切地需要引入新的思想技術(shù)和管理技術(shù)進入到超市管理之中。 超市形態(tài)具有種種優(yōu)點,但在目前狀況下,它仍存在零售業(yè)商業(yè)企業(yè)所共有的落后的一面。如:收款結(jié)算速度慢,容易出現(xiàn)營業(yè)差錯,不宜進行商品調(diào)價,盤點效率底等。而且 ,在超市日常管理中,隨著超市形態(tài)的高速發(fā)展,其經(jīng)營管理也變的愈加復雜, 競爭也日益激烈,擁有一套快捷,方便,實用的超市收費系統(tǒng)是必須的。為此,在本次設(shè)計之中選擇了超市收費系統(tǒng)的設(shè)計與實現(xiàn)這個題目。依靠現(xiàn)代化的計算機信息處理技術(shù)來對超市銷售進行收費,從而節(jié)省了大量的人力、減輕了勞動強度,并且能夠快速反映出商品的各種反饋信息。 1.2課題研究內(nèi)容 綜合運用以前所學的專業(yè)知識,設(shè)計開發(fā)一個超市收費系統(tǒng)軟件,本設(shè)計要求實現(xiàn)功能 采購入庫,條形碼數(shù)據(jù)的輸入,會員卡號的輸入,進行貨品銷售。 具體包括以下內(nèi)容: ( 1)在設(shè)計與開發(fā)中,重點放在簡單地進行貨品銷售,會員卡打折。 ( 2)在設(shè) 計與開發(fā)中,既探討前臺的銷售,又能實現(xiàn)后臺的采購入庫,會員卡設(shè)置等功能。(其中前臺只負責輸入條碼,輸入會員卡號,實現(xiàn)收費。其他的所有功能和設(shè)置均放在后臺進行) 實現(xiàn)超市貨品的入庫 ,會員卡用戶資料的錄入 ,以及進行貨品銷售的收費 ,而前臺的收費分為會員卡用戶和非會員卡用戶兩種收費 ,對于有卡用戶 ,在輸入卡號后 ,可實現(xiàn)商品價格按八折價格進行收費 ,若要取消銷售某商品 ,則直接點刪除 ,總價格也會相應的扣除 . 2 項目特色及方案選擇 2.1項目特色 本項目的特色在于,它的操作能基本實現(xiàn)智能化,減少了人操作人員的大量工作,節(jié)約了 時間和空間、人力和財力。此外,本系統(tǒng)清晰的功能模塊的劃分也使得它的應用性和移植性將會更加廣泛,再加上前后臺的分別管理,使得整個系 第 2 頁 共 27 頁 統(tǒng)的設(shè)計也更為人性化和安全化。 2.2方案選擇 本系統(tǒng)之所以使用 Delphi 7.0 , 主要是因為 Delphi的方便性和靈活性。我們幾乎可以 用 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ā)人員的好評。尤其是 Delphi 對數(shù)據(jù)庫應用的強大支持,大大提高了數(shù)據(jù)庫應用軟件開發(fā)的效率,縮短了開發(fā)周期。 并且 Delphi 為數(shù)據(jù)庫應用開發(fā)人員提供了豐富的數(shù)據(jù)庫開發(fā)組件,使數(shù)據(jù)庫應用開發(fā)功能更強大,控制更靈活,編譯后的程序運行速度更快。 3 系統(tǒng)需求分析 數(shù)據(jù)庫應用系統(tǒng)是以數(shù)據(jù)庫為基礎(chǔ)的信息管理系統(tǒng),它一般包含兩個方面內(nèi)容,一個數(shù)據(jù)庫設(shè)計,二是程序設(shè)計。數(shù)據(jù)庫應 用系統(tǒng)的開發(fā)是一個軟件工程,應按照軟件工程的開發(fā)方法進行分析,設(shè)計,編程和調(diào)試。在建立數(shù)據(jù)庫應用系統(tǒng)之前,一般應先進行系統(tǒng)的需求分析,了解用戶對系統(tǒng)的要求,然后進行系統(tǒng)的總體設(shè)計,最后編寫程序代碼和調(diào)試程序。數(shù)據(jù)庫應用系統(tǒng)的開發(fā)過程 ,需求分析包括了對數(shù)據(jù)本身的需求分析和對功能的需求分析。兩個分析的結(jié)果將分別作為數(shù)據(jù)庫設(shè)計和程序設(shè)計的依據(jù)。實際上在設(shè)計數(shù)據(jù)庫應用系統(tǒng)時,這兩個需求分析是緊密相關(guān)的,不論是數(shù)據(jù)庫設(shè)計,還是程序設(shè)計都需要考慮這兩個方面的因素。 3.1系統(tǒng)模塊構(gòu)建 3.1.1 系統(tǒng)整體結(jié)構(gòu)功能模塊 系 統(tǒng)整體結(jié)構(gòu)功能模塊圖如圖 3-1: 根據(jù)系統(tǒng)整體結(jié)構(gòu)功能模塊分析,系統(tǒng)分為前臺和后臺兩部分;前臺主要提供給收銀員使用 ,進行銷售收費;后臺提供給管理員使用,主要執(zhí)行系統(tǒng)維護、超市收費系統(tǒng) 前臺管理 后臺管理 圖 3-1 系統(tǒng)整體結(jié)構(gòu)功能模塊圖 第 3 頁 共 27 頁 商品管理、廠家管理和銷售數(shù)據(jù)管理以及會員卡用戶管理等工作。 3.1.2 前 ,后臺功能模塊 本系統(tǒng)是多用戶系統(tǒng),用戶可分為管理員和收銀員兩類,登錄或者未登錄情況下判斷當前使用人員的權(quán)限,避免安全性問題。 收銀員登錄系統(tǒng),系統(tǒng)自動清空銷售臨時數(shù)據(jù),進入系統(tǒng),對于非會員用戶收銀員首先錄入商 品編碼,然后輸入數(shù)量,而對于會員卡用戶 ,收銀員選擇會員類型,輸入會員卡號,系統(tǒng)自動將折扣轉(zhuǎn)為 80%,然后系統(tǒng)自動匯總金額,同時列表顯示銷售商品的流水數(shù)據(jù),收銀員可以刪除需要退掉的商品,然后點擊結(jié)賬,完成交易過程。前臺功能模塊圖如圖 3-2: 圖 3-2 前臺功能模塊圖 后臺管理員登錄系統(tǒng)以后,可以對供貨商資料進行添加、刪除、修改、查詢操作,可以對商品單位進行添加、刪除、修改、查詢操作,可以對會員資料進行添加、刪除、修改、查詢操作,可以進行采購入庫操作,進 行庫存盤點操作,進行進貨統(tǒng)計操作,進行出庫明細查詢操作,和退出系統(tǒng)操作。后臺功能模塊如圖3-3所示 : 3.2數(shù)據(jù)流圖 數(shù)據(jù)流圖如圖 3-4: 前 臺 管 理 系統(tǒng)清空臨時數(shù)據(jù) 登 錄 系 統(tǒng) 銷 售 收 費 退 出 系 統(tǒng) 后 臺 管 理 采 購 入 庫 系統(tǒng)驗證 計量單位管理 會員資料管理 供應商資料管理 庫 存 盤 點 進 貨 統(tǒng) 計 出庫明細管理 圖 3-3 后臺功能模塊 第 4 頁 共 27 頁 圖 3-4 數(shù)據(jù)流圖 4 數(shù)據(jù)庫設(shè)計 4.1數(shù)據(jù)庫選擇方案論證 建立一個數(shù)據(jù)庫我們有多種選擇,現(xiàn)在市場上有各種各樣的數(shù)據(jù)庫,而且每一種數(shù)據(jù)庫都有其自身的特點,不能說哪一種更好,只是在其中尋找一種能更好地適應系統(tǒng)需求、更好地滿足用戶的要求以及適應開發(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ù)庫。 Access 作為 一個數(shù)據(jù)庫管理系統(tǒng),它被集成在 Microsoft Office 中。Access 數(shù)據(jù)庫處理的基本結(jié)構(gòu),采取關(guān)系型數(shù)據(jù)庫模式。與其他的數(shù)據(jù)庫系統(tǒng)相比, Access 更加簡單易學,一個普通的計算機用戶可以很快地掌握它。Access 的功能十分強大,利用它可以方便地實現(xiàn)對信息保存、維護、查詢、統(tǒng)計、打印、交流、發(fā)布,而且它可以十分方便地與 Office 其他組件交流數(shù)據(jù),這些功能對一個一般用戶而言已經(jīng)足夠了。 收銀員 登錄 管理員 登錄 庫存 會員資料 銷售 銷售記錄 客戶 供應商管理 供應商資料 會員管理 商品入庫 供應商資料 第 5 頁 共 27 頁 4.2 E-R 圖和關(guān)系圖 供應商 ,商品關(guān)系模型 E-R 圖如圖 4-1 所示 : 圖 4-1 供應商 ,商品關(guān)系模型 E-R 圖 各個表之間的關(guān)系圖如圖 4-2: 圖4-2 各個 表之間的關(guān)系圖 4.3數(shù)據(jù)庫表設(shè)計 由數(shù)據(jù)模型利用 Access進行數(shù)據(jù)庫的詳細設(shè)計,其基本表的設(shè)計如下: 供應商 名字 ID 傳真 郵編 地址 聯(lián)系人 電話 商品名 數(shù)量 價格 單位 日期 商品 ID 廠家 提供 m n 第 6 頁 共 27 頁 1. 供應商表 供應商信息表 :存儲供應商信息 .如表 4-1: 表 4-1 供應商信息表 字段名稱 數(shù)據(jù)類型 說明 ID 自動編號 FeederID 文本 供應商編號 FeederName 文本 供應商名稱 LinkMan 文本 聯(lián)系人 Address 文本 地址 Zipcode 文本 郵編 Tel 文本 電話 Fax 文本 傳真 2. 操作用戶表 操作用戶表 :存儲操作系統(tǒng)的管理員信息 .如表 4-2: 表 4-2 操作用戶表 字段名稱 數(shù)據(jù)類型 說明 ID 自動編號 UserID 文本 用戶編碼 UserName 文本 用戶名 UserPass 文本 密碼 Address 文本 地址 Tel 文本 電話 Remark 文本 備注 3.商品進貨表 商品進貨表 :存儲商品進貨信息 .如表 4-3: 表 4-3 商品進貨表 字段名稱 數(shù)據(jù)類型 說明 ID 自動編號 InvoiceID 文本 單號 BarCode 文本 商品條碼 GoodsName 文本 商品名稱 FeederName 文本 供應商名稱 PurchaseScalar 數(shù)字 購入數(shù)量 第 7 頁 共 27 頁 PurchasePrice 數(shù)字 進價 Unit 文本 商品計量單位 EnterFiag 是 /否 是否已完成交易 PurchaseDate 日期 /時間 日期時間 UserName 文本 使用的管理員用戶名 Remark 文本 備注 4.銷售主表 銷售主表 :存儲銷售情況的大體清單 (即總金額等 ).如表 4-4: 表 4-4 銷售主表 字段名稱 數(shù)據(jù)類型 說明 ID 自動編號 InvoiceID 文本 單號 AR 數(shù)字 購買總金 額 PU 數(shù)字 進價總金額 Hang 是 /否 是否已完成交易 SellDate 日期 /時間 日期時間 UserName 文本 使用的管理員用戶名 Remark 數(shù)字 備注 5.銷售從表 銷售從表 :存儲銷售的詳細情況 .如表 4-5: 表 4-5 銷售從表 字段名稱 數(shù)據(jù)類型 說明 ID 自動編號 InvoiceID 文本 單號 BarCode 文本 商品條碼 GoodsName 文本 商品名稱 Unit 文本 商品計量單位 SellScalar 數(shù)字 賣出數(shù)量 Agio 數(shù)字 折扣 PurchasePrice 數(shù)字 進價 SellPrice 數(shù)字 賣出價格 Subtotal 數(shù)字 總金額 UntreadFlag 文本 已交易 6.庫存表 第 8 頁 共 27 頁 庫存表 :存儲庫存情況 .如表 4-6: 表 4-6 庫存表 字段名稱 數(shù)據(jù)類型 說明 ID 自動編號 BarCode 文本 商品條碼 GoodsName 文本 商品名稱 Unit 文本 商品計量單位 PurchasePrice 數(shù)字 進價 SellPrice 數(shù)字 賣出價格 SellScalar 數(shù)字 賣出數(shù)量 7.計量單位表 計 量單位表 :存儲計量單位資料 ,方便入庫等操作時的使用 .如表 7: 表 4-7 計量單位表 字段名稱 數(shù)據(jù)類型 說明 ID 自動編號 UnitName 文本 計量單位名稱 8.會員資料表 會員資料表 ,存儲有卡會員的資料 ,以便結(jié)賬時給予折扣 .如表 4-8: 表 4-8 會員資料表 字段名稱 數(shù)據(jù)類型 說明 ID 自動編號 Name 文本 會員姓名 Address 文本 住址 Tel 文本 聯(lián)系電話 VipID 文本 會員卡號 Remark 文本 備注 State 文本 狀態(tài) UserName 文本 管理員用戶名 9.會員銷售單據(jù)表 會員銷售單據(jù)表 :存儲會員的銷售單據(jù)。如表 4-9: 第 9 頁 共 27 頁 表 4-9 會員銷售單據(jù)表 字段名稱 數(shù)據(jù)類型 說明 ID 自動編號 VipID 文本 會員卡號 InvoiceID 文本 單號 Money 數(shù)字 消費金額 UserName 文本 管理員用戶名 5 系統(tǒng)實現(xiàn) 5.1系統(tǒng)對軟硬件配置的要求 建議用戶的計算機使用以下配置(或更高): CPU: Intel 或兼容機 Pentium Pentium4 或更高 硬盤: 7200轉(zhuǎn) /分,剩余空間 100M 內(nèi)存: 建議 512MB 或更多 鼠標: 3D光電鼠 鍵盤:標準 104 鍵 5.2開發(fā)語言介紹 Delphi 類可以粗略地分成兩部分:一部分是組件類,這些組件類通常以某種方式出現(xiàn)在組件面板上,當用戶從組件面板上點取一個類的圖標后,在程序中就自動生成了該類的對象(非可視組件除外);另一部分是功能類,這此功能類的對象通常出現(xiàn)在程序代碼中,起著不可代替的作用,但是這些功能類在組件面板上是找不到的。 組件在 Delphi 程序的開發(fā)中是最顯眼的角色。 ADO 數(shù)據(jù)訪問組件 就是本系統(tǒng)所采用的方式,下面對此概述一下。 ADO 數(shù)據(jù)對象 (Active Data Objects)實際是一種提供訪問各種數(shù)據(jù)類型的鏈接機制。 ADO設(shè)計為一種極簡單的格式,通過 ODBC的方法同數(shù)據(jù)庫接口中,可以使用任何一種 ODBC 數(shù)據(jù)源,即不止適合于 SQL Server、 Oracle、 Access等數(shù)據(jù)庫應用程序,也適合于 Excel表格、文本文件、圖形文件和無格式的數(shù)據(jù)文件。 ADO 是基于 OLE-DB 之上的技術(shù),因此 ADO 通過其內(nèi)部的屬性和方法提供統(tǒng)一的數(shù)據(jù)訪問接口方法。 ADO使您的客戶端應用程序能夠通過 OLE DB提供訪問和操作在數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)。 ADO支持用于建立 C/S和 Web的應用程序的主要功能。其主要優(yōu)點是易于使用、高速度、低內(nèi)存支出和占用磁盤空間較少。ADO 同時具有遠程數(shù)據(jù)服務(wù) (RDS)功能,通過 RDS 可以在一次往返過程中實現(xiàn)將數(shù)據(jù)從服務(wù)器移動到客戶端應用程序和 Web 頁、在客戶端對數(shù)據(jù)進行處然后將更新結(jié)果返回服務(wù)器的操作 。利用 ADO 數(shù)據(jù)訪問組件, 在系統(tǒng)中我主要使用的是 第 10 頁 共 27 頁 ADOTablet和 ADOQuery 兩個組件。 5.3 系統(tǒng)模塊 5.3.1 前臺模塊 前臺程序流程圖如圖 5-1 圖 5-1 前臺程序流程 圖 登錄模塊 : 功能:本模塊的主要功能是對用戶身份進行驗證,只有系統(tǒng)的合法用戶才能進入系統(tǒng)。其窗體如圖 5-2: 輸入管理員信息 檢測信息 錯誤 正確 登錄 是否會員 否 輸入條碼 是 折扣 結(jié)賬 結(jié)束 開始 第 11 頁 共 27 頁 圖 5-2 用戶登錄界面 在進行系統(tǒng)登錄過程中,登錄模塊將調(diào)用數(shù)據(jù)庫里的用戶數(shù)據(jù)表,并對用戶名和密碼進行驗證,只有輸入了正確的用戶名和密碼后,系統(tǒng)登錄才會成功。并在輸入了錯誤的或者是不存在的用戶名和密碼時,系統(tǒng)會給出出錯信息提示,指明登錄過程中的錯誤輸入或錯誤操作,以便用戶進行正確的登錄。 其提示錯誤輸入或錯誤操作如圖 5-3所示 : 圖 5-3 登錄錯誤界面 輸入項、輸出項:輸入項為用戶名和 密碼。用戶名和密碼均為字符串,最大長度為 16個字符,密碼以“ *”號顯示(英文和數(shù)字算一個字符,漢字算兩個字符)。 接口:本模塊為頂級模塊,按確定按鈕時,如果輸入的用戶名和密碼正確,將調(diào)用系統(tǒng)主窗體模塊,進入系統(tǒng)主窗體。 存儲分配:在用戶按下確定按鈕時,將讀取存儲用戶名和密碼的數(shù)據(jù)表,以對用戶名和密碼進行驗證。 測試要點:本模塊有如下幾個測試要點,按下確定按鈕時,是否能正確讀取存儲用戶名和密碼的數(shù)據(jù)表;如果用戶名和密碼正確,是否能進入系統(tǒng)主窗體;當輸入用戶名或密碼錯誤時,是否能彈出信息框,給用戶提示。 主要代 碼: vIniFile:=TIniFile.Create(ExtractFilePath(ParamStr(0)+Config.Ini); /聯(lián)接數(shù)據(jù)庫 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; 創(chuàng)建了一個 TIniFile 類型的對象實例,來連接操作連接數(shù)據(jù)庫的 ini 配置文件。 銷售模塊 : 功能 : 本模塊的主要功能是把銷售信息寫入銷售清單,同時對庫存數(shù)據(jù)進行更新,以備用戶將來 對銷售信息和庫存信息進行查詢。 商品銷售: 將銷售信息錄入數(shù)據(jù)庫銷售表中,進行銷售查詢和統(tǒng)計。 輸入項、輸出項 : 本模塊的數(shù)據(jù)輸入項主要為銷售清單,其中包括單據(jù)編號、商品條碼、計量單位、單價、數(shù)量、金額、銷售日期、操作員等相關(guān)信息。 存儲分配 : 商品銷售模塊主要的是進行商品銷售情況統(tǒng)計并登記入庫,當商品銷售業(yè)務(wù)發(fā)生后,營業(yè)員將打開銷售管理模塊對商品銷售情況進行登記入庫,調(diào)用數(shù)據(jù)庫中的銷售表,等待數(shù)據(jù)錄入,等營業(yè)員將相應數(shù)據(jù)輸入后,點提交按扭 ,即可完成數(shù)據(jù)的存儲。取消按扭 ,將取消此次操作,不進行數(shù)據(jù)存儲。 測 試要點 : 對銷售管理模塊進行測試,利用測試用例填入表單,對其進行數(shù)據(jù)庫數(shù)據(jù)存儲測試,看看所填數(shù)據(jù)能否存入數(shù)據(jù)表中。 銷售查詢 : 對各查詢要求分別進行測試,查看測試結(jié)果。 銷售模塊分為非會員用戶和會員用戶兩類 ,若消費者為非會員則進入銷售頁面后直接錄入商品條碼和數(shù)量點擊添加 ,然后系統(tǒng)自動匯總金額,同時列表顯示銷售商品的流水數(shù)據(jù),對于非會員的銷售界面如圖 5-4: 第 13 頁 共 27 頁 圖 5-4 前臺非會員銷售界面 主要代碼如下: /計算合計數(shù) ADOQuery1.Edit; /單條記錄求合:小計 =售價 *數(shù)量 *折扣 /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; 對于會員用戶 ,選中會員結(jié)賬 ,輸入會員卡號 ,點擊查找 ,若有該會員 ,則彈出對話框歡迎你 :XX, 點擊 OK,折扣自動變?yōu)?80,商品價格按 80%計算 .如圖5-5,5-6: 如圖 5-5 輸入會員卡號彈出對話框界面 第 14 頁 共 27 頁 如圖 5-6 折扣自動變?yōu)?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; 結(jié)賬模塊 : 輸入實收金額 ,點擊結(jié)賬 ,系統(tǒng)自動彈出對話框 ,點擊 OK,銷售界面所有信息將自動清空 .如圖 5-9: 如圖 5-9 完成結(jié)賬彈出對話框界面 主要代碼 : ADOQuery2.SQL.Add(Select SUM(Subtotal) from Sell_Minor Where InvoiceID=+Label6.Caption+); ADOQuery2.Open; j:=strtocurr(edit5.text)-strtocurr(label5.Caption); jiezhang:= 結(jié)賬成功 ,應收金額 :+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 主頁面界面 基本資料模塊 :包括供應商資料模塊 ,計量單位模塊 ,會員資料模塊 . 三個模塊均可實現(xiàn)對資料的添加 ,刪除 .運用 DELPHI自帶的 導航鍵實現(xiàn)操作 .如圖 5-12,圖 5-13,圖 5-14: 輸入管理員信息 開始 檢測信息 錯誤 正確 登錄 系統(tǒng)管理 退出 結(jié)束 基本資料管理 商品進銷存 第 18 頁 共 27 頁 圖 5-12 供應商資料模塊 圖 5-13 計量單位模塊 圖 5-14 會員資料模塊 進銷存模塊 : 包括采購入庫 ,庫存盤點 ,進貨統(tǒng)計 ,出庫明細 . 采購入庫模塊 : 在用戶按下確定按鈕時,將讀取存儲入庫數(shù)據(jù)表,以添加該登記入數(shù)據(jù)庫,如果點取消,該表單的輸入將被取消,不會將數(shù)據(jù)存儲到數(shù)據(jù)庫。 輸入商品條碼 ,點 ENTER,自動從數(shù)據(jù)庫調(diào)出數(shù)據(jù) ,輸入數(shù)量 ,點確定 ,即可實現(xiàn)商品的入 庫。如圖 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(成功入庫 ,點確定繼續(xù) ); except showmessage(成功入庫 ,點確定繼續(xù) ); edit1.Clear; edit2.Clear; edit1.SetFocus; 以上為入庫代碼 ,庫存數(shù)量增加的代碼 第 20 頁 共 27 頁 procedure Tfrm_login.Edit2KeyPress(Sender: TObject; var Key: Char); begin if key=#13 then begin bitbtn1.Click; end; end; 這段代碼從實際上來說,可以是可有可無的,但是在提供用戶的可操作性上,這段代碼處理了用戶敲回車鍵的默認處理動作,所以可以說是系統(tǒng)一個比較好的亮點。 庫存盤點 ,進貨統(tǒng)計 ,出庫明細模塊均是可按條碼和名稱查詢 ,并使用 DELPHI自帶的導航鍵實現(xiàn)添加 ,刪除等操作 ,分別如圖 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 進貨統(tǒng)計模塊 功能:該模塊主要是實現(xiàn)進行進貨查詢和管理 進貨查詢:該模塊為企業(yè)提供整個企業(yè)的進貨情況查詢,也可以進行進貨的明細查詢 . 圖 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; 系統(tǒng)管理模塊 :包括修改密碼和退出系統(tǒng) 退出系統(tǒng):選擇退出系統(tǒng),將關(guān)閉整個系統(tǒng),結(jié)束本次使用。 修改密碼模塊如圖 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(原始密碼錯誤 ); 測試要點 對商品編碼入庫程序進行測試,利用測試用例填入表單,對其進行數(shù)據(jù)庫數(shù)據(jù)存儲測試,看看所填數(shù)據(jù)能否 存入數(shù)據(jù)表中。 庫存信息維護,對數(shù)據(jù)庫中的數(shù)據(jù)進行修改,刪除,更新操作,查看維護功能能否實現(xiàn)。 跟測試用例是否相符,相符則功能能夠?qū)崿F(xiàn),測試成功。 6 結(jié)果測試,性能分析 完成對流程的編碼后最重要的事情就是對系統(tǒng)的測試工作了,測試在系統(tǒng)設(shè)計階段有兩個時期,通常在編寫每個模塊后做單元測試,另一個時期是對系統(tǒng)的綜合測試。 6.1模塊測試 在模塊測試時我們主要從以下幾個方面考慮: 1. 模塊接口 2. 局部數(shù)據(jù)結(jié)構(gòu) 3. 重要執(zhí)行通道 4. 出錯處理通道 5. 影響上述方面的邊界條件 測試時進行代碼審查,從數(shù)據(jù) 類型,變量聲明,數(shù)據(jù)結(jié)構(gòu)進行審查,然后進行功能測試,從輸入一些簡單的數(shù)據(jù)開始執(zhí)行一遍,觀測運行期間變量的變化,運行中值的變化范圍。改變測試方案來變換另一個角度進行測試,發(fā)現(xiàn)錯誤并記錄,修改代碼,測試條件使程序通過多層分支,判別運行結(jié)果從而完成模塊測試。 6.1.1 前臺模塊的測試 用戶登錄的測試 : 管理員輸入正確的用戶名和密碼 ,如輸入測試用例用戶名 001,密碼 00,則可自動跳轉(zhuǎn)到銷售界面。若輸入錯誤密碼 ,或不存在的用戶名 ,則彈出錯誤提示框。 (功能運行正常) 銷售主頁面的測試 : 輸入正確的 ,存在的商品條碼 ,和 數(shù)量 ,系統(tǒng)將從數(shù)據(jù)庫調(diào)出數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司月度總結(jié)活動方案
- 公司節(jié)約季活動方案
- 公司玩游戲策劃方案
- 公司組織窗外拓展活動方案
- 公司擺攤年會活動方案
- 建筑新材料產(chǎn)品發(fā)布會策劃方案
- 環(huán)境規(guī)制對農(nóng)業(yè)碳全要素生產(chǎn)率的作用機制
- 提升質(zhì)量的實 用技巧分享
- 科研項目設(shè)計與地理學研究生創(chuàng)新能力培養(yǎng)的結(jié)合
- 影視制作流程與文化產(chǎn)業(yè)發(fā)展研究
- 2024年西藏公安機關(guān)招聘警務(wù)輔助人員筆試真題
- 2025-2030中國顯示驅(qū)動芯片行業(yè)競爭風險及前景發(fā)展創(chuàng)新研判報告
- 2024年昆明市公安局招聘勤務(wù)輔警真題
- 客房部內(nèi)部管理制度
- 小學生數(shù)學學習習慣的培養(yǎng)講座
- DeepSeek+AI大模型賦能制造業(yè)智能化供應鏈解決方案
- 2025河南省豫地科技集團有限公司社會招聘169人筆試參考題庫附帶答案詳解析集合
- T/CCOA 45-2023氣膜鋼筋混凝土球形倉儲糧技術(shù)規(guī)程
- 《船舶行業(yè)重大生產(chǎn)安全事故隱患判定標準》解讀與培訓
- 2025年中考生物模擬考試卷(附答案)
- 11《大家排好隊》(教學設(shè)計)2023-2024學年統(tǒng)編版道德與法治二年級上冊
評論
0/150
提交評論