超市收銀系統(tǒng)實(shí)習(xí)報(bào)告word格式_第1頁(yè)
超市收銀系統(tǒng)實(shí)習(xí)報(bào)告word格式_第2頁(yè)
超市收銀系統(tǒng)實(shí)習(xí)報(bào)告word格式_第3頁(yè)
超市收銀系統(tǒng)實(shí)習(xí)報(bào)告word格式_第4頁(yè)
超市收銀系統(tǒng)實(shí)習(xí)報(bào)告word格式_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、畢業(yè)實(shí)習(xí)報(bào)告1、課程設(shè)計(jì)目的:l 熟悉大型數(shù)據(jù)庫(kù)管理系統(tǒng)的結(jié)構(gòu)與組成;l 熟悉數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的設(shè)計(jì)方法和開(kāi)發(fā)過(guò)程;l 掌握一種大型數(shù)據(jù)庫(kù)管理系統(tǒng)(DM5、ORACLE或SQL SERVER)的應(yīng)用技術(shù)和開(kāi)發(fā)工具的使用;l 熟悉數(shù)據(jù)庫(kù)設(shè)計(jì)工具的使用;l 熟悉數(shù)據(jù)庫(kù)安全的相關(guān)知識(shí)和技術(shù);l 熟悉數(shù)據(jù)庫(kù)系統(tǒng)的管理和維護(hù)。2、畢業(yè)實(shí)習(xí)設(shè)計(jì)要求:l 在課程設(shè)計(jì)指導(dǎo)老師的指導(dǎo)下,選定一個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的題目,完成數(shù)據(jù)庫(kù)的設(shè)計(jì)和應(yīng)用系統(tǒng)設(shè)計(jì),并提交相應(yīng)文檔。l 數(shù)據(jù)庫(kù)管理系統(tǒng)僅限D(zhuǎn)M5、Oracle以及MS SQL Server;l 開(kāi)發(fā)工具限PowerBuilder、Delphi、C+、 JAVA、.NE

2、T平臺(tái)或其它動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)工具;l 系統(tǒng)采用客戶/服務(wù)器(C/S)結(jié)構(gòu)或?yàn)g覽器/服務(wù)器(B/S)結(jié)構(gòu)實(shí)現(xiàn)。l 系統(tǒng)應(yīng)嚴(yán)格遵照題目要求進(jìn)行設(shè)計(jì),可在其基礎(chǔ)上進(jìn)一步細(xì)化完善,但不得違背,原則上不額外增加與要求無(wú)關(guān)的功能。l 系統(tǒng)中應(yīng)適當(dāng)體現(xiàn)下列技術(shù)的應(yīng)用:存儲(chǔ)過(guò)程,觸發(fā)器,索引。l 提交系統(tǒng)的源碼及文檔。一、 設(shè)計(jì)的應(yīng)用背景本系統(tǒng)是一個(gè)超市收銀系統(tǒng)。顧名思義,本系統(tǒng)用來(lái)管理和更新超市日常交易數(shù)據(jù),如收銀員的管理,收銀員的工作記錄,日常交易記錄,顧客信息管理,商品信息管理,等等,所有的數(shù)據(jù)存儲(chǔ)在達(dá)夢(mèng)數(shù)據(jù)庫(kù)的system庫(kù)中。本系統(tǒng)實(shí)現(xiàn)的主要功能為:1、收銀:收銀員輸入顧客的會(huì)員卡卡號(hào)(若有卡)、所購(gòu)商

3、品的貨號(hào)等信息,系統(tǒng)根據(jù)這些信息獲取相應(yīng)的價(jià)格信息并計(jì)算應(yīng)收取的總金額。完成收銀后,記錄交易信息,修改有關(guān)種類商品的剩余量以及該持卡顧客的消費(fèi)情況。2、發(fā)卡:顧客可交納一定的費(fèi)用(如50元)辦理一張會(huì)員卡,以后在該商場(chǎng)購(gòu)物可憑卡享受9折優(yōu)惠。如果一個(gè)未持卡顧客一次購(gòu)物滿1000元,可為其免費(fèi)發(fā)放一張會(huì)員卡,每張卡的優(yōu)惠期為一年,一年內(nèi)消費(fèi)達(dá)到一定金額的可繼續(xù)享受下一年的優(yōu)惠。3、款項(xiàng)盤存:收銀員下班或交接班前對(duì)本收銀臺(tái)中本班次收取的款額進(jìn)行盤存,明確責(zé)任。4、商品信息的錄入、修改、刪除和查詢等。5、收銀員身份及口令管理。二、 數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程1、需求分析(1)、信息要求l 顧客信息:顧客編號(hào)(會(huì)

4、員卡號(hào))、顧客姓名、顧客性別、注冊(cè)時(shí)間、是否到期、消費(fèi)金額。l 收銀員信息:收銀員編號(hào)、收銀員姓名、收銀員性別、登錄名,密碼。l 商品信息:商品編號(hào)、商品名稱、單價(jià)、現(xiàn)有庫(kù)存。l 收銀信息:收銀員編號(hào)、收銀金額、登錄時(shí)間,注銷時(shí)間。l 交易信息:顧客編號(hào),商品編號(hào),交易時(shí)間,交易數(shù)量。(2)、處理要求A、處理方式:聯(lián)機(jī)處理。B、處理時(shí)間要求: 2S。C、處理功能:(I)、添加新信息,修改現(xiàn)存信息,刪除無(wú)用信息,查詢信息。(II)、計(jì)算一次交易的金額,如果是會(huì)員,就可以享受9折優(yōu)惠,如果非會(huì)員消費(fèi)金額超過(guò)1000元,免費(fèi)為其發(fā)放一張為期一年的會(huì)員卡。(III)、只有收銀員以正確的用戶名和密碼才能

5、登錄本系統(tǒng)。(3)、安全性和完整性要求A、安全性要求:只有收銀員以正確的用戶名和密碼才能登錄本系統(tǒng),進(jìn)行相應(yīng)操作。后臺(tái)服務(wù)器(達(dá)夢(mèng)數(shù)據(jù)庫(kù))會(huì)生成相應(yīng)的日志文件。B、完整性要求:(I)實(shí)體完整性:如上信息要求一欄所示,黃色背景的為primary key。(II)參照完整性:收銀信息和交易信息中的收銀員編號(hào),顧客編號(hào)和商品編號(hào)均為前面的參照。(III)用戶定義完整性:如性別只能為男或女,姓名不能為空,登錄名必須唯一,密碼必須六位以上,等等。2、概念設(shè)計(jì)根據(jù)需求分析得到的信息抽象為E-R模型如下:顧客編號(hào)姓名性別注冊(cè)時(shí)間是否過(guò)期消費(fèi)金額商品編號(hào)名稱單價(jià)庫(kù)存收銀員編號(hào)姓名性別登錄名密碼交易時(shí)間數(shù)量收銀

6、上班時(shí)間金額下班時(shí)間111111M11N113、邏輯設(shè)計(jì)根據(jù)以上分析,得到本系統(tǒng)的基本關(guān)系模式為:l 顧客(顧客編號(hào)、顧客姓名、顧客性別、注冊(cè)時(shí)間、是否到期、消費(fèi)金額)。create table Customer( Cno char(9) primary key, Cname char(20), Csex char(2) check(Csex in(男,女), Creg date, Cactive char(2) check(Cactive in(是,否), Cconsumption decimal(8,2);l 收銀員(收銀員編號(hào)、收銀員姓名、收銀員性別、登錄名,密碼)。create tab

7、le Cashier(Cno char(9) primary key,Cname char(20) not null,Csex char(2) check(Csex in(男,女),Clogname char(20) unique,Clogpass char(20) check(Clogpass like _%);l 商品(商品編號(hào)、商品名稱、單價(jià)、現(xiàn)有庫(kù)存)。create table Goods(Gno char(9) primary key,Gname char(20) not null,Gprice decimal(5,2),Gstorage smallint);l 收銀(收銀員編號(hào)、收

8、銀金額、登錄時(shí)間,注銷時(shí)間)。create table Cashinfo(Cno char(9) not null,Crecv decimal(7,2),CtimeOn timestamp(0),CtimeOff timestamp(0),foreign key(Cno) references Cashier(Cno);l 交易(顧客編號(hào),商品編號(hào),交易時(shí)間,交易數(shù)量)。create table Tradeinfo(Cno char(9),Gno char(9),Tquantity smallint,Ttime timestamp(0),-primary key( Cno, Gno),fore

9、ign key(Cno) references Customer(Cno),foreign key(Gno) references Goods(Gno) );為了編程的方便,另外建立了幾個(gè)視圖如下:l 查詢收銀信息(收銀員編號(hào)、收銀員姓名、收銀金額、登錄時(shí)間,注銷時(shí)間)l 查詢交易信息(顧客編號(hào),顧客姓名,商品編號(hào),商品名稱,交易時(shí)間,交易數(shù)量)三、 應(yīng)用系統(tǒng)的設(shè)計(jì)過(guò)程1、 系統(tǒng)模塊結(jié)構(gòu)圖超市收銀系統(tǒng)登錄管理收銀員信息管理顧客信息管理商品信息管理交易信息管理收銀信息管理幫助注銷、退出系統(tǒng)添加、刪除、修改、查詢添加、查詢、交易添加、刪除、修改、查詢添加、刪除、修改、查詢添加、查詢2、 系統(tǒng)工作流

10、程1) 以收銀員的身份登錄(密碼為),如下圖:2) 對(duì)收銀員信息,顧客信息,商品信息做相應(yīng)操作,以收銀員信息為例:A、 添加信息,如果出現(xiàn)非法的輸入,會(huì)有提示,并會(huì)返回該界面等待重新輸入(如兩次密碼不同,編號(hào)已存在,性別是男女之外的其他,等等)。如圖:B、 刪除信息,輸入四個(gè)參數(shù)中任意的幾個(gè),系統(tǒng)會(huì)把滿足此參數(shù)組合的所有記錄刪除掉。如圖:C、 修改信息,要輸入正確的編號(hào)。在需要修改的地方輸入新的參數(shù),不需要修改的地方保持空白。如圖:D、 查詢信息,可以采用條件查詢,方法同刪除。如圖:3) 進(jìn)行交易。輸入商品編號(hào)和對(duì)應(yīng)的數(shù)量(最多5種商品),如果是會(huì)員,輸入會(huì)員卡號(hào),否則不輸入。以會(huì)員為例,如下

11、圖:輸入購(gòu)買信息判斷為會(huì)員計(jì)算應(yīng)收金額此后,系統(tǒng)會(huì)根據(jù)交易的情況,自動(dòng)彈出修改相應(yīng)數(shù)據(jù)(如顧客的消費(fèi)金額,商品的庫(kù)存,交易信息等等)的對(duì)話框,其中,正確的修改數(shù)據(jù)已經(jīng)默認(rèn)的填在了對(duì)話框中,收銀員只需點(diǎn)擊確定按鈕即可。4) 注銷以后,會(huì)彈出重新登陸的對(duì)話框。退出直接退出本系統(tǒng)。3、 關(guān)鍵技術(shù)和算法1) 登錄對(duì)話框增加了“記住用戶名”這一選項(xiàng)。實(shí)現(xiàn)算法為:將選項(xiàng)是否勾選的狀態(tài)用一個(gè)bool變量表示,新建一個(gè)名為“user.dat”的文件。每次登陸時(shí),讀取文件中的內(nèi)容到“用戶名”欄中。如果選擇了“記住用戶名”,則將用戶輸入的用戶名重新寫(xiě)到user.dat文件中,否則寫(xiě)入空。2) 系統(tǒng)中使用了很多對(duì)話

12、框,而且每個(gè)對(duì)話框都不相同。我采用了復(fù)用對(duì)話框的方式。實(shí)現(xiàn)方法為:定義狀態(tài)變量typedef enum stypeCASHIER_ADD,CASHIER_DELETE,CASHIER_EDIT,CASHIER_QUERY,CUSTOMER_ADD,CUSTOMER_DELETE,CUSTOMER_EDIT,CUSTOMER_QUERY,GOODS_ADD, GOODS_DELETE, GOODS_EDIT, GOODS_QUERY,CASHINFO_ADD,CASHINFO_QUERY,TRADE_ADD, TRADE_QUERYSTYPE;在OnInitDialog()函數(shù)中,用switch

13、-case語(yǔ)句來(lái)初始化不同用途的對(duì)話框。這樣,16個(gè)對(duì)話框只用1個(gè)對(duì)話框資源。3) 為了能夠?qū)崟r(shí)更新系統(tǒng)中的時(shí)間(如交易時(shí)間,上班下班時(shí)間等等),create幾個(gè)觸發(fā)器用來(lái)獲得系統(tǒng)時(shí)間。/添加新會(huì)員的時(shí)候,自動(dòng)獲得系統(tǒng)時(shí)間作為注冊(cè)時(shí)間create trigger Insert_Customerbefore insert on Customerfor each rowbegin:new.Creg := curdate();end;/添加交易信息的時(shí)候,自動(dòng)獲得系統(tǒng)時(shí)間作為交易時(shí)間create trigger Insert_Tradebefore insert on Tradeinfofor ea

14、ch rowbegin:new.Ttime := current_timestamp();end;-用戶登錄系統(tǒng)時(shí)插入新記錄create trigger Insert_CashinfoOnbefore insert on Cashinfofor each rowbegin:new.CtimeOn := current_timestamp();end;-用戶更新Crecv時(shí)(logout)create trigger Insert_CashinfoOffbefore update on Cashinfofor each rowbeginif :old.CtimeOff is nullthen :

15、new.CtimeOff := current_timestamp();end if;end;為了查詢的方便,創(chuàng)建了Query_Tradeinfo和Query_Cashinfo兩個(gè)視圖。create view Query_Cashinfo(Qcno,Qcname,Qcrecv,Qctimeon,Qctimeoff)asselect Cashinfo.Cno, Cname, Crecv, CtimeOn, CtimeOfffrom Cashinfo,Cashierwhere Cashinfo.Cno = Cashier.Cno;create view Query_Tradeinfo(Qcno,Q

16、cname,Qgno,Qgname,Qgprice,Qttime,Qtquantity)asselect Tradeinfo.Cno, Cname, Tradeinfo.Gno, Gname, Gprice, Ttime, Tquantityfrom Tradeinfo,Customer,Goodswhere Tradeinfo.Cno = Customer.Cno and Tradeinfo.Gno = Goods.Gno;4) 在交易的過(guò)程中,會(huì)彈出其他的對(duì)話框用來(lái)更新數(shù)據(jù)庫(kù),采用了重載消息函數(shù)的方法,使得更新的數(shù)據(jù)能以參數(shù)的形式傳到對(duì)話框中。5) 采用了動(dòng)態(tài)條件修改,刪除和查詢的方式,實(shí)

17、現(xiàn)方法是,在源程序中動(dòng)態(tài)改變查詢的條件。以刪除收銀員為例:/ m_Cashier是CCashierRecordSet(從CRecordSet繼承,與Cashier表關(guān)聯(lián))的對(duì)象/如果輸入不為空if(m_strEdit1.GetLength()if(bFirst)m_Cashier.m_strFilter += and ;strFilter.Format(Cno = %s,m_strEdit1);/增加對(duì)應(yīng)的條件m_Cashier.m_strFilter += strFilter;bFirst = TRUE;if(m_strEdit2.GetLength()if(bFirst)m_Cashier

18、.m_strFilter += and ;strFilter.Format(Cname = %s,m_strEdit2);m_Cashier.m_strFilter += strFilter;bFirst = TRUE;if(m_strEdit3.GetLength()if(bFirst)m_Cashier.m_strFilter += and ;strFilter.Format(Csex = %s,m_strEdit3);m_Cashier.m_strFilter += strFilter;bFirst = TRUE;if(m_strEdit4.GetLength()if(bFirst)m_Cashier.m_strFilter += and

溫馨提示

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

評(píng)論

0/150

提交評(píng)論