Visual FoxPro課程設(shè)計(jì)報(bào)告 (超市會(huì)員卡管理系統(tǒng))_第1頁(yè)
Visual FoxPro課程設(shè)計(jì)報(bào)告 (超市會(huì)員卡管理系統(tǒng))_第2頁(yè)
Visual FoxPro課程設(shè)計(jì)報(bào)告 (超市會(huì)員卡管理系統(tǒng))_第3頁(yè)
Visual FoxPro課程設(shè)計(jì)報(bào)告 (超市會(huì)員卡管理系統(tǒng))_第4頁(yè)
Visual FoxPro課程設(shè)計(jì)報(bào)告 (超市會(huì)員卡管理系統(tǒng))_第5頁(yè)
已閱讀5頁(yè),還剩21頁(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áng) 航 空 航 天 大 學(xué) 課程設(shè)計(jì)學(xué) 號(hào) _班 級(jí) _姓 名 _指導(dǎo)教師 _年 月 日沈陽(yáng)航空航天大學(xué)課程設(shè)計(jì)任務(wù)書(shū)院系:動(dòng)力與能源工程學(xué)院 專業(yè):飛行器動(dòng)力工程 班級(jí):04040402 學(xué)號(hào):2010040404053題目:某超市會(huì)員卡管理系統(tǒng)一、課程設(shè)計(jì)時(shí)間2012年3月5日至2012年3月11日,共計(jì)1周,20學(xué)時(shí)。二、課程設(shè)計(jì)內(nèi)容用vf數(shù)據(jù)庫(kù)軟件完成以下任務(wù):本系統(tǒng)用來(lái)管理某超市的會(huì)員卡信息數(shù)據(jù),包括會(huì)員卡基本信息維護(hù)、會(huì)員卡卡信息的查詢,功能模塊:購(gòu)物時(shí)得到會(huì)員積分、根據(jù)會(huì)員卡上的積分換禮物等。三、課程設(shè)計(jì)要求1. 程序質(zhì)量: 貫徹事件驅(qū)動(dòng)的程序設(shè)計(jì)思想,使用可視化對(duì)象來(lái)維護(hù)數(shù)

2、據(jù)庫(kù)。 用戶界面友好,功能明確,操作方便;可以加以其它功能或修飾,如有登陸界面等。 用戶界面中的菜單至少應(yīng)包括“會(huì)員卡信息維護(hù)”、“會(huì)員卡得積分和根據(jù)積分換禮物信息管理”、“會(huì)員卡信息的查詢與統(tǒng)計(jì)”、“退出”等。 代碼應(yīng)適當(dāng)縮進(jìn),并給出必要的注釋,以增強(qiáng)程序的可讀性。2. 課程設(shè)計(jì)說(shuō)明書(shū):課程結(jié)束后,上交課程設(shè)計(jì)說(shuō)明書(shū)和數(shù)據(jù)庫(kù)系統(tǒng)程序。課程設(shè)計(jì)說(shuō)明書(shū)的格式和內(nèi)容參見(jiàn)提供的模板。四、指導(dǎo)教師和學(xué)生簽字指導(dǎo)教師:_ 學(xué)生簽名:_五、說(shuō)明書(shū)成績(jī):六、教師評(píng)語(yǔ): 目錄一、需求分析1二、系統(tǒng)主要功能模塊3三、數(shù)據(jù)庫(kù)設(shè)計(jì)5四、各功能模塊的具體設(shè)計(jì)6五、個(gè)人總結(jié)21六、參考文獻(xiàn)22一、需求分析根據(jù)任務(wù)書(shū)給定

3、的“課程設(shè)計(jì)內(nèi)容”和“課程設(shè)計(jì)要求”作如下的需求分析。該系統(tǒng)是一個(gè)數(shù)據(jù)管理系統(tǒng),使用它的假定為某超市的會(huì)員卡管理人員,系統(tǒng)應(yīng)該具有安全、穩(wěn)定、功能齊全的特點(diǎn)。1. 安全性分析系統(tǒng)管理的數(shù)據(jù)涉及到超市的所有會(huì)員,數(shù)據(jù)量較大且是一種基礎(chǔ)性數(shù)據(jù),涉及到會(huì)員的切身利益,所以要通過(guò)設(shè)置密碼等手段確保數(shù)據(jù)不能被隨意的刪減和修改。2. 穩(wěn)定性分析指系統(tǒng)比較健壯,只要是用戶的合理操作,系統(tǒng)都應(yīng)給出合理正確的回應(yīng),而不是出現(xiàn)令用戶感到意外的系統(tǒng)錯(cuò)誤或系統(tǒng)崩潰。3. 主要功能分析(1)系統(tǒng)登錄:允許用戶輸入用戶名、密碼進(jìn)入系統(tǒng)。(2)數(shù)據(jù)查詢:管理員輸入查詢條件,系統(tǒng)規(guī)則地在界面顯示查詢結(jié)果,且顯示的數(shù)據(jù)盡量全面

4、。而且數(shù)據(jù)只讀,不能改變數(shù)據(jù)庫(kù)數(shù)據(jù)。(3)數(shù)據(jù)維護(hù):該模塊是針對(duì)于管理員操作,一般包括瀏覽、修改、增加、刪除等,對(duì)于輸入的數(shù)據(jù),或被修改的數(shù)據(jù)應(yīng)該保存到某個(gè)磁盤文件中,實(shí)現(xiàn)永久存儲(chǔ)。(4)功能界面:主要實(shí)現(xiàn)會(huì)員獲得積分的錄入與會(huì)員積分兌換禮物。二、系統(tǒng)主要功能模塊超市會(huì)員卡管理系統(tǒng)基于visual foxpro9.0中文版開(kāi)發(fā)(并非機(jī)房的visual foxpro6.0),vfp在數(shù)據(jù)庫(kù)開(kāi)發(fā)方面具有方面,實(shí)用,簡(jiǎn)單,直接等優(yōu)點(diǎn),同時(shí)其也具有一定的局限性。本系統(tǒng)主要面向超市會(huì)員卡管理人員開(kāi)發(fā)使用,因此主要側(cè)重于系統(tǒng)的使用性和方便性。 1. “超市會(huì)員卡管理系統(tǒng)”的模塊結(jié)構(gòu)圖(如圖1)圖1 系統(tǒng)模

5、塊劃分2、本系統(tǒng)的主要內(nèi)容(如圖2)圖 2 項(xiàng)目管理器三、數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)是總體設(shè)計(jì)階段非常重要的環(huán)節(jié),數(shù)據(jù)庫(kù)結(jié)構(gòu)的變化會(huì)造成編碼的改動(dòng),所以必須認(rèn)真設(shè)計(jì)數(shù)據(jù)庫(kù)結(jié)構(gòu)后再進(jìn)行編碼,從而避免無(wú)謂的重復(fù)工作。本系統(tǒng)的數(shù)據(jù)庫(kù)包括2個(gè)表,即會(huì)員卡信息表,登陸密碼表。1.會(huì)員卡信息表(會(huì)員卡信息表.dbf)會(huì)員卡信息表(會(huì)員卡信息表.dbf)用于記錄會(huì)員卡號(hào)、會(huì)員姓名、聯(lián)系電話、會(huì)員積分等信息,其邏輯結(jié)構(gòu)如表1所示。表1 會(huì)員卡信息表字段名稱字段類型寬度小數(shù)位null會(huì)員卡號(hào)c10否會(huì)員姓名c10否聯(lián)系電話c11否會(huì)員積分n100否2.登錄密碼表(登錄密碼表.dbf)登錄密碼表(登錄密碼表.dbf)用

6、于管理員登陸系統(tǒng),包括用戶名、密碼等信息,其邏輯結(jié)構(gòu)如表2所示。字段名稱字段類型寬度小數(shù)位null用戶名c10否密碼c10否表2 登錄密碼表四、各功能模塊的具體設(shè)計(jì)根據(jù)系統(tǒng)規(guī)劃和需要分析,把系統(tǒng)劃分為會(huì)員卡信息查詢,會(huì)員卡信息維護(hù),功能模塊,退出系統(tǒng)四個(gè)模塊。本系統(tǒng)用到的主要有以下文件:主控程序(main.prg)、登陸界面(登陸界面.scx)、主界面(主界面.scx)、會(huì)員卡信息查詢界面(會(huì)員卡信息查詢.scx)、會(huì)員卡信息維護(hù)界面(會(huì)員卡信息維護(hù).scx)、購(gòu)物積分界面(購(gòu)物積分.scx)、禮品兌換界面(禮品兌換.scx),主菜單(菜單1.mpr)。程序的調(diào)用關(guān)系如下:主控程序(main.

7、prg)中調(diào)用登陸界面表單(登陸界面.scx),口令正確則調(diào)用主界面(主界面.scx)菜單1附于主界面上。各菜單項(xiàng)調(diào)用相對(duì)應(yīng)的表單。1主控程序main.prg的代碼實(shí)現(xiàn)為:clear&清屏close all&關(guān)閉各種類型的文件set talk off&將命令執(zhí)行信息不顯示在屏幕或窗口set sysmenu off&在程序執(zhí)行期間廢止visual foxpro主菜單欄do form 登陸界面&調(diào)用登陸界面表單on shutdown do onshutdown&退出系統(tǒng)時(shí)調(diào)用函數(shù)onshutdown()read events&建立事件循環(huán)on shutdown&釋放當(dāng)前on shutdown命令*

8、按菜單的“關(guān)閉”按鈕退出時(shí),出現(xiàn)的提示框function onshutdown()sel=messagebox(真的要退出嗎?,4+32+256,提示)if sel=6close allclear events&退出事件循環(huán)quit&結(jié)束當(dāng)前visual foxpro工作期,將控制權(quán)返還給操作系統(tǒng)endifendfunc2運(yùn)行主程序后,系統(tǒng)調(diào)用登陸界面表單(登陸界面.scx)(圖3)密碼驗(yàn)證作為系統(tǒng)最基本的安全管理步驟。用戶如果不輸入合法的用戶名和密碼,系統(tǒng)是不能進(jìn)入的。當(dāng)用戶輸入合法的用戶名和密碼時(shí),系統(tǒng)管理會(huì)自動(dòng)判斷此用戶,使用戶的操作具有合法性。密碼驗(yàn)證頁(yè)包括用戶名和密碼兩個(gè)部分。具體的

9、代碼實(shí)現(xiàn)也將在詳細(xì)設(shè)計(jì)書(shū)說(shuō)明。下面是密碼登陸頁(yè)的圖示(圖3):用戶在文本框輸入用戶名及密碼,若正確則調(diào)用系統(tǒng)主界面。圖3 登陸界面1) 將登陸密碼表添加到系統(tǒng)調(diào)用的表單的數(shù)據(jù)環(huán)境中。2) 系統(tǒng)調(diào)用的登陸界面中主要控件屬性如表3所示。表3 系統(tǒng)調(diào)用的登陸界面表單控件屬性對(duì)象名稱屬性名稱屬性值form1caption登陸界面autocenter.t.command1caption確認(rèn)command2caption取消3) 主要事件代碼:command1的click事件代碼:set exact on&打開(kāi)精確比較select 登陸密碼表if allt(thisform.text1.value)=&如

10、果text1為空給出提示messagebox(用戶名為空,請(qǐng)輸入!,64,提示)thisform.text1.setfocus&光標(biāo)聚在text1elseif allt(thisform.text2.value)=&如果text2為空給出提示messagebox(密碼為空,請(qǐng)輸入!,64,提示)thisform.text2.setfocus&光標(biāo)聚在text2elselocate for allt(用戶名)=allt(thisform.text1.value);and allt(密碼)=allt(thisform.text2.value)if found()&如果輸入信息無(wú)誤運(yùn)行主界面do f

11、orm 主界面thisform.releaseelsemessagebox(輸入的用戶名或密碼錯(cuò)誤,45,提示)thisform.text1.value=thisform.text2.value=thisform.text1.setfocusendifendifendifcommand2的click事件代碼:close all&全部關(guān)閉thisform.release3.系統(tǒng)主界面當(dāng)用戶名和密碼均正確的時(shí)候,系統(tǒng)便會(huì)進(jìn)入系統(tǒng)主界面使用菜單1。主菜單共分為四個(gè)分菜單項(xiàng):會(huì)員卡信息查詢,會(huì)員卡信息維護(hù),功能模塊,退出。如圖(4)圖4 主界面在功能模塊中分為消費(fèi)獲得積分和積分兌換禮物兩個(gè)菜單項(xiàng),在程

12、序中含有退出程序菜單項(xiàng),會(huì)員卡信息查詢,會(huì)員卡信息維護(hù),消費(fèi)獲得積分和積分兌換禮物分別能調(diào)用實(shí)現(xiàn)其對(duì)應(yīng)功能的表單,退出程序即返回操作系統(tǒng)。1)主界面表單中主要控件屬性如表4所示表4主界面表單控件屬性對(duì)象名稱屬性名稱屬性值form1caption主界面autocenter.t.pictured:010040404053劉涵tulips.jpgshowwindow2-作為頂層表單2)主要事件代碼:form1的init事件代碼:do 菜單1.mpr with this,.t.&菜單1附在此表單上4.系統(tǒng)菜單設(shè)計(jì)1、 超市會(huì)員卡管理系統(tǒng)的菜單在應(yīng)用系統(tǒng)中,各個(gè)模塊是通過(guò)菜單組織在一起的。通過(guò)對(duì)超市會(huì)員

13、卡管理系統(tǒng)的設(shè)計(jì),可以把系統(tǒng)劃分為4大模塊:會(huì)員卡信息查詢、會(huì)員卡信息維護(hù)、功能模塊、程序。具體的菜單設(shè)計(jì)見(jiàn)表5:表5 菜單1會(huì)員卡信息查詢會(huì)員卡信息維護(hù)功能模塊程序消費(fèi)獲得積分退出程序積分兌換禮物希望在主界面中顯示還需要在菜單的常規(guī)選項(xiàng)中勾選“頂層表單”5. 會(huì)員卡信息查詢表單(會(huì)員卡信息查詢.scx)會(huì)員卡信息查詢表單(如圖5)包括下列功能:按會(huì)員卡卡號(hào)查詢,按會(huì)員姓名查詢,按會(huì)員聯(lián)系電話查詢。本表單左邊是瀏覽窗口,便于管理員瀏覽整體數(shù)據(jù);右邊是文本窗口,主要用于顯示查詢出來(lái)的會(huì)員信息。更重要的是,查詢一定不要改變數(shù)據(jù),也就是數(shù)據(jù)只讀。圖5會(huì)員卡信息查詢界面1) 在表單數(shù)據(jù)環(huán)境中添加會(huì)員卡

14、信息表(會(huì)員卡信息表.dbf)。2) 會(huì)員卡信息查詢表單界面中主要控件屬性如表6所示。表6 會(huì)員卡信息查詢表單控件屬性對(duì)象名稱屬性名稱屬性值form1caption會(huì)員卡信息查詢autocenter.t.showwindow1-在頂層表單中commandgroup1buttoncount3value1grid1recordsource會(huì)員卡信息表recordsourcetype1-別名text2controlsource會(huì)員卡信息表.會(huì)員卡號(hào)readonly.t.text3controlsource會(huì)員卡信息表.會(huì)員姓名readonly.t.text4controlsource會(huì)員卡信息表.聯(lián)

15、系電話readonly.t.text5controlsource會(huì)員卡信息表.會(huì)員積分readonly.t.command1caption查詢3)事件代碼:command1的click事件代碼:select 會(huì)員卡信息表set filter todo casecase thisform.optiongroup1.value=1set filter to 會(huì)員卡號(hào)=alltrim(thisform.text1.value)locate for 會(huì)員卡號(hào)=alltrim(thisform.text1.value)case thisform.optiongroup1.value=2set filte

16、r to 會(huì)員姓名=alltrim(thisform.text1.value)locate for 會(huì)員姓名=alltrim(thisform.text1.value)case thisform.optiongroup1.value=3set filter to 聯(lián)系電話=alltrim(thisform.text1.value)locate for 聯(lián)系電話=alltrim(thisform.text1.value)endcasethisform.refresh4)運(yùn)行界面:(如圖6)圖6會(huì)員卡信息查詢6.會(huì)員卡信息維護(hù)表單(會(huì)員卡信息維護(hù). scx)會(huì)員卡信息維護(hù)表單如圖7,是基于會(huì)員卡信

17、息表(會(huì)員卡信息表.dbf),為管理員提供數(shù)據(jù)的增加,改寫,編輯,刪除功能的表單。功能比較復(fù)雜與多樣,這個(gè)表單左邊是瀏覽窗口,便于管理員瀏覽整體數(shù)據(jù);右邊是文本窗口,主要用于編輯會(huì)員卡信息,底部是一排按鈕,以實(shí)現(xiàn)不同功能。如下圖圖7會(huì)員卡信息維護(hù)表單1) 在表單數(shù)據(jù)環(huán)境中加入會(huì)員卡信息表(會(huì)員卡信息表.dbf)2) 會(huì)員卡信息維護(hù)表單界面中主要控件屬性如表7所示。表7會(huì)員卡信息維護(hù)表單控件屬性對(duì)象名稱屬性名稱屬性值form1caption會(huì)員卡信息維護(hù)autocenter.t.grid1recordsource會(huì)員卡信息表recordsourcetype1-別名text1controlsour

18、ce會(huì)員卡信息表.會(huì)員卡號(hào)text2controlsource會(huì)員卡信息表.會(huì)員姓名text3controlsource會(huì)員卡信息表.聯(lián)系電話text4controlsource會(huì)員卡信息表.會(huì)員積分command1caption第一個(gè)command2caption上一個(gè)command3caption下一個(gè)command4caption最后一個(gè)command5caption增加command6caption編輯command7caption保存command8caption刪除3) 各事件的代碼如下:command1的click事件代碼:thisform.text1.readonly=.t.t

19、hisform.text2.readonly=.t.thisform.text3.readonly=.t.thisform.text4.readonly=.t.go topthisform.refreshcommand2的click事件代碼:thisform.text1.readonly=.t.thisform.text2.readonly=.t.thisform.text3.readonly=.t.thisform.text4.readonly=.t.skip -1if bof()go topendifthisform.refresh command3的click事件代碼:thisform.

20、text1.readonly=.t.thisform.text2.readonly=.t.thisform.text3.readonly=.t.thisform.text4.readonly=.t.skipif eof()go bottomendifthisform.refreshcommand4的click事件代碼:thisform.text1.readonly=.t.thisform.text2.readonly=.t.thisform.text3.readonly=.t.thisform.text4.readonly=.t.go bottomthisform.refreshcommand

21、5的click事件代碼:thisform.text1.readonly=.f.thisform.text2.readonly=.f.thisform.text3.readonly=.f.thisform.text4.readonly=.f.select 會(huì)員卡信息表append blankgo bottomthisform.text1.setfocus()thisform.refreshcommand6的click事件代碼:thisform.text1.readonly=.f.thisform.text2.readonly=.f.thisform.text3.readonly=.f.thisf

22、orm.text4.readonly=.f.select 會(huì)員卡信息表thisform.text1.setfocusthisform.refreshcommand7的click事件代碼:replace 會(huì)員卡號(hào) with alltrim(thisform.text1.value)replace 會(huì)員姓名 with alltrim(thisform.text2.value)replace 聯(lián)系電話 with alltrim(thisform.text3.value)replace 會(huì)員積分 with thisform.text4.valuethisform.text1.readonly=.t.t

23、hisform.text2.readonly=.t.thisform.text3.readonly=.t.thisform.text4.readonly=.t.thisform.refreshcommand8的click事件代碼:select 會(huì)員卡信息表hx=會(huì)員卡信息表.會(huì)員卡號(hào)sel=messagebox(真的要?jiǎng)h除?,1)if sel=1deletepackthisform.grid1.recordsourcetype=1thisform.grid1.recordsource=會(huì)員卡信息表endif4)該表單的運(yùn)行圖示如下(圖8)圖8會(huì)員卡信息維護(hù)表單7.功能模塊設(shè)計(jì)功能模塊要求能實(shí)現(xiàn)

24、購(gòu)物時(shí)得到會(huì)員積分、根據(jù)會(huì)員卡上的積分換禮物的要求。因此我設(shè)計(jì)了兩個(gè)表單分別來(lái)滿足這兩個(gè)功能需求。7.1購(gòu)物獲得積分表單設(shè)計(jì)(購(gòu)物積分.scx)設(shè)計(jì)界面如圖9,界面如下:圖9購(gòu)物積分表單1) 將會(huì)員卡信息表(會(huì)員卡信息表.dbf)添加到該表單的數(shù)據(jù)環(huán)境中。2) 購(gòu)物積分表單中主要控件屬性如表8所示。表8購(gòu)物積分表單控件屬性對(duì)象名稱屬性名稱屬性值form1caption購(gòu)物積分autocenter.t.command1caption確認(rèn)command2caption取消3)各事件的代碼如下:command1的click事件代碼為:select 會(huì)員卡信息表locate for alltrim(會(huì)

25、員卡號(hào))=alltrim(thisform.text1.value)if found()m=val(thisform.text2.value)replace 會(huì)員積分 with 會(huì)員積分+m messagebox(積分錄入成功!)elsemessagebox(卡號(hào)輸入錯(cuò)誤!)endif*錄入積分成功用戶會(huì)得到明確的回應(yīng)。command2的click事件代碼為:close allthisform.release4)表單運(yùn)行圖如下(圖10):圖10購(gòu)物積分表單7.2禮品兌換表單設(shè)計(jì)(禮品兌換.scx)設(shè)計(jì)圖如圖11,界面如下:圖11禮品兌換表單1)將會(huì)員卡信息表(會(huì)員卡信息表.dbf)添加到該表單的數(shù)據(jù)環(huán)境中。2)禮品兌換表單中主要控件屬性如表9所示。表9禮品兌換表單控件屬性

溫馨提示

  • 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)論