




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