VFP課程設計-學生成績管理系統(tǒng)_第1頁
VFP課程設計-學生成績管理系統(tǒng)_第2頁
VFP課程設計-學生成績管理系統(tǒng)_第3頁
VFP課程設計-學生成績管理系統(tǒng)_第4頁
VFP課程設計-學生成績管理系統(tǒng)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、鎭江宙著??茣亦照n程設計報告書學生成績管理系統(tǒng)部:電子信息、系業(yè):計算機應用技術級:微機d07名: 號:2008年 12月24 日目錄系統(tǒng)簡介 系統(tǒng)可行性分析2.2第3章系統(tǒng)設計3.2 開 發(fā) 設 計 思想53.3 開 發(fā) 和 運 行 環(huán) 境 選擇53.4 系統(tǒng) 結(jié) 構(gòu)圖53.5 系 統(tǒng) 模 塊 功 能 介紹7351系 統(tǒng) 主 界面73.5.2 驗證界面73.5.3 查詢模塊73.5.4 維護模塊73.5.5 報表模塊73.5.6 退出系統(tǒng)73.6 數(shù)據(jù)庫設計83.6.1 數(shù) 據(jù) 庫 概 念 設3.6.2數(shù) 據(jù) 庫 邏 輯 設3.6.3 數(shù) 據(jù) 庫 物 理 設計93.6.4 建立索引和永久關系

2、113.7 主要模塊的創(chuàng)建123.7.1 開始界面設計123.7.2 退出界面設計133.7.3 驗證界而設計153.7.4 學生成績查詢表單173.7.5 瀏覽學生信息表單183.7.6 瀏覽 課 程 表表單193.7.7 學 生 查 詢 界面203.7.8 維護 成 績 表 界3.7.93.7.9 報表設計243.7.10 主程序設計25第4章開發(fā)中的難點與解決技巧2728附錄代碼第1章 系統(tǒng)簡介隨著社會的發(fā)展,資訊的迅速發(fā)展便得我們從過去繁重的勞作中得以解 脫,所以編寫一個完善的學生成績管理系統(tǒng)的任務就顯得很必要了。學生 成績管理系統(tǒng)解決了過去手記成績,現(xiàn)在它更快速的對學生成績進行管理,

3、如查詢、修改、增加、刪除。第2章系統(tǒng)可行性分析2.1技術可行性該系統(tǒng)可以通過使用vfp6.0數(shù)據(jù)庫軟件作為開發(fā)工具進行開發(fā),開發(fā)出的系統(tǒng)是一個數(shù)據(jù)庫應用管理系統(tǒng),該系統(tǒng)安全,可靠,穩(wěn)定,完全 可以滿足任務要求。2.2實施可行性該系統(tǒng)可以設計一系列便于操作的窗口界面,操作人員只需稍經(jīng)培訓就 可以進入工作狀態(tài)。同吋,可以對目前手工記錄學生成績,查詢,修改, 編制報表等工作進行徹底改革,使各項工作都能夠通過計算機來完成,使 學生成績管理實現(xiàn)自動化,極大的提高了工作效率。3.1目標設計本章旨在拋磚引玉,通過開發(fā)一個簡化的學生成績管理系統(tǒng),展示visual foxpro的強大功能。同時,希望有興趣的可以

4、在此基礎上設計開發(fā)出功能 更多更強大的學生成績管理系統(tǒng)。3.2開發(fā)設計思想本系統(tǒng)開發(fā)設計思想:盡量采用學?,F(xiàn)有軟硬件環(huán)境,及先進的管理系統(tǒng)開發(fā)方案,從而 達到充分利用學?,F(xiàn)有的資源,提高系統(tǒng)開發(fā)水平和應用效果的目 的。系統(tǒng)應符合學校學生成績管理的規(guī)定,滿足對學校學生日常管理的 需要,并達到操作過程中的直觀、方便、實用、安全等要求。系統(tǒng)采用模塊化程序設計方法,既便于系統(tǒng)功能的各種組合和修改, 又便于未參與開發(fā)的技術維護人員補充、維護。系統(tǒng)應具備數(shù)據(jù)庫維護功能,及時根拯用戶需求進行數(shù)據(jù)的添加、 刪除、修改、備份等操作。3.3開發(fā)和運行環(huán)境選擇開發(fā)工具:visual foxpro 6.0運行環(huán)境:w

5、indows9x> windows nt 或 windows 2000 操作系統(tǒng)。3.4系統(tǒng)結(jié)構(gòu)圖采用模塊化設計思想,可以大大提高設計的效率,并且可以最大限度地 減少不必要的錯誤。其系統(tǒng)結(jié)構(gòu)圖如下所示:本系統(tǒng)主要用于學校學生成績管理,主要任務是用計算機對學生成績進行日常管理,如查詢、修改、增加、刪除。針對這些要求,設計了本學生成績管理系統(tǒng)。該系統(tǒng)主要進行學生成績的查詢、瀏覽、維護。丄系統(tǒng)主界面該模塊是學生成績管理系統(tǒng)的主界面,是主系統(tǒng)的唯一入口和出口 o 該界面可調(diào)用各子模塊。實現(xiàn)對學生相關信息的瀏覽,查詢,修改 和報表。丄驗證界面驗證界面是驗證用戶名,只有當使用者正確的輸入用戶名和密碼

6、后 才能進入系統(tǒng)。丄查詢模塊本模塊的目的在于快速瀏覽學生信息,學生的成績和課程表。丄維護模塊本模塊的目的在于對系統(tǒng)的各個數(shù)據(jù)庫進行維護,對課程表、學生 表、成績表進行增加、刪除,以便及時更新數(shù)據(jù)進行查詢。丄報表模塊本模塊的目的在于對學生表、課程表、成績表的報表瀏覽,能夠通 過打印機將它們打印出來。丄退出系統(tǒng)本模塊設計的目的是當用戶退出系統(tǒng)時顯示感謝詞,畫面停留兩秒 后自動退出.3.6 數(shù)據(jù)庫設計數(shù)據(jù)庫概念設計er圖是er模型的圖形表示法,它是立接表示概念模型的有 力工具。我們用e-r圖來說明學生成績管理系統(tǒng)的數(shù)據(jù)庫概念 模式,如下圖所示。(a)(b)(c)(d)數(shù)據(jù)庫邏輯設計將以上e-r轉(zhuǎn)換成

7、如下關系模式:學生表(學號,姓名,性別,出生年月,班級)課程表(課程名,課程編號,學分,任課教師)成績表(學號,課程編號,分數(shù))數(shù)據(jù)庫物理設計本系統(tǒng)中包括三個數(shù)據(jù)表:學生表、課程表、成績表,表結(jié)構(gòu)如下圖:學生表結(jié)構(gòu)字段名字段類型與長度字段規(guī)則與說明默認值標題xhc (8)u81991001”學號xmc (8)姓名xbc (2)“性別只能是男或女”女性別csrqd“年齡在18至22歲之出生年月bjc (10)班級課程表結(jié)構(gòu)字段名字段類型與長度字段規(guī)則與說明默認值標題kchc課程編號kcmc(14)課程名jsc任課教師xfn(3,l)“學分大于on1學分成績表結(jié)構(gòu)字段名字段類型與長度字段規(guī)則與說明

8、默認值標題xhc(8)學號kch©4)課程號cjn(5,l)“成績大于(t60成績建立索引和永久關系建立索引數(shù)據(jù)索引名稱索引類型索引表達式表名稱學生表no主索引xhname普通索引xm課程表sub_no主索引kchsub_name普通索引kcm成績表student主索引xh+kch+str(c j,4,1)mark普通索引cj建立學生表與成績表,課程表與成績表的關聯(lián),關鍵字是分別是xh字段和kch字段。3.7 主要模塊的創(chuàng)建開始界面設計設計該表單的主要功能是當用戶啟動使用“學生成績管理系統(tǒng)” 時,顯示歡迎界面,開始界面上的歡迎詞每個1秒閃爍一次。用 戶按下鍵盤上任一鍵時,系統(tǒng)自動進入

9、下一級表單。設計該模塊 比較簡單,利用一個表單就可實現(xiàn)其功能。以下是這一模塊的設 計步驟。首先新建一個表單,保存為“welcome”。將該表單的“caption” 屬性設為“歡迎界面”,“desktop”屬性設置為".t.-true?為了 給該表單添加一張圖片背景,設其"picture"屬性為所要添加圖 片的地址。然后為該表單添加一個"timer 1"控件和一個"label 1" 控件。修改timer 1"控件的interval"的屬性為“1000”,這樣當每 間隔一秒鐘將觸發(fā)一次utimer event

10、"事件。"label 1"控件的相關屬性的內(nèi)容如下表。“l(fā)abell”控件中主要屬性屬性名稱屬性值caption歡迎使用學生成績管理系統(tǒng)backstyleo-transparentfontboldt.fontname隸書fontsize20forecolor16711935開始界面的設計結(jié)果如下圖所示。退出界面設計當用戶退岀系統(tǒng)吋顯示感謝詞,兩面停留兩秒后自動退岀。這一 表單也比較簡單,利用一個表單就可實現(xiàn)其功能。退出界面的設計方法同開始界面的設計方法類似。表單中所用的 各控件屬性如下表所示?!癴onnl”表單主要屬性屬性名稱屬性值caption退出界面deskt

11、op.t.picture“l(fā)abell”控件中主要屬性屬性名稱屬性值caption歡迎使用backstyleo-transparentfontbold.t.fontname隸書fontsize32forecolor“l(fā)abel2”控件中主要屬性屬性名稱屬性值caption謝謝您的支持backstyleo-transparentfontbold.t.fontname隸書fontsize30fontcolorutimer 1控件中主要屬性屬性名稱屬性值interval2000退出界面設計結(jié)果如下圖所示。驗證界面設計為了確保數(shù)據(jù)庫的安全性設計的,只有合法的用戶才可以進行登 錄。如果用戶名或密碼輸入不

12、正確,可以取消重新輸入。該表單 包括兩個lable控件,兩個text控件,和三個command 控件。表單中的各控件屬性如下表所示。uform 1 n表單主要屬性屬性名稱屬性值caption驗證界面desktop.t.picturelabel 1控件中主要屬性屬性名稱屬性值caption用戶名b ackstyleo-transparentfontbold.t.fontname宋體fontsize20“l(fā)abel2”控件中主要屬性屬性名稱屬性值caption密碼b ackstyleo-transparentfontbold.t.fontname宋體fontsize20command控件主要屬性控

13、件名稱屬性名稱屬性值command 1caption確定command2caption取消command3caption退出驗證界面設計結(jié)果如下圖所示。學生成績查詢表單這一模塊實現(xiàn)了最基本而又很重要的功能,它讓用戶方便快捷、多角度地得知想要查詢的情況。該模塊是對學生成績的查詢,可 以查詢所有學生的成績,也可以根據(jù)學號進行查詢。這一模塊所 包含的控件屬性所下表??丶Q屬性屬性值formlcaption成績查詢lablelcaption學號fontname楷體fontboldtfontsize20backstyle0透明command 1caption查詢fontsize12forecolor(

14、0,0,255)fontname楷體command2caption退出forecolor(0,0,255)fontname楷體fontsize12學生成績查詢設計結(jié)果如下圖所示。瀏覽學生信息表單這一模塊設計的目的主要是迅速的瀏覽學生信息。表單中包含的控件屬性如下表。控件名稱屬性屬性值formlcaption學生信息瀏覽lablelcaption學主信息表fontboldtfontname楷體fontsize25forecolor(0,255,0)backstyle0透明學生信息瀏覽表單設計結(jié)果如下圖所示。瀏覽課程表表單這一模塊設計的目的主要是快速瀏覽課程表,表單中所包含的控件屬性如下表。控件名

15、稱屬性屬性值formlcaption學生課程瀏覽口回岡*課程編號課程名稱學分任課教師001vb3.0黃力明|002髙等數(shù)學4.0王麗芳|003實用英語3.5余江|004體育4.5陳于l.lablelcaption學生課程表fontname楷體fontboldtfontsize28forecolor(255,0,128)backstyle0-透明0學生查詢界面本模塊的目的在于快速瀏覽學生的基本情況。目標界面如下圖所表單中所包含的控件屬性如下表??丶Q屬性屬性值formlcaption學生查詢lablelcaption學號fontsize16fontboldtbackstyle0-透明comma

16、nd 1caption查詢command2caption取消控件 lable2> lable3> lable4、lable5 屬性設置同 lablel 相同。>維護成績表界面本模塊的目的在于對系統(tǒng)的各個數(shù)據(jù)庫進行維護,對成績表進行 增加、刪除,以便及時更新數(shù)據(jù)進行查詢。表單中包含的所有控 件的屬性設置如下表??丶Q屬性屬性取值formlcaption成績表維護lablelcaption成績表fontboldtfontsize30b ackstyle0-透明lable2caption學號backstyle0-透明fontsize15command 1caption前一條com

17、mand 2caption下一條command 3caption修改command 4caption取消控件lable3> lable4屬性與lable2屬性一置。在點擊“修改”命令按鈕時,會出現(xiàn)“是否確定要修改該記錄s選擇“是”會出現(xiàn)f面圖。這一模塊設計的結(jié)果如下圖。菜單設計菜單以橫向排列在主窗口頂部的標題欄之下,它方便而快捷地完 成了各項工作。耍做菜單先耍打開菜單設計器,在菜單設計器中 輸入菜單名稱,選擇“結(jié)果”。如需要編輯子菜單,進入子菜單 進行編輯菜單名稱。下圖是該模塊的菜單設計器和該模塊結(jié)果設計。k±crosof± visual foxpro維護斶瀏覽查詢(

18、b) 報表退出項目報表設計報表用于在打印文檔中顯示或總結(jié)數(shù)據(jù)。報表的數(shù)據(jù)源定義了報 表中數(shù)據(jù)的來源,通常是表、視圖、查詢、臨時表等,報表的布 局定義了報表的打印格式。這一模塊是通過報表向?qū)Вx擇所做報表的字段,選擇報表樣式為經(jīng)營式,報表布局,和排序記錄為學號,最后保存為學生表。如下圖。0. i .|. i ,1 | 1. i .|.1 .2| . | , | , | ,3| . | . 1 .4| . | .1 . 1 .5| . | .1 . 1 .6| . 1 .1 . 1 jl . 1 .1 . 1 .801學生表r卜dateqir標題u.學號姓名性別出生年月班級頁標頭0.allt(xh

19、)姐標頭1:xh0.xmxb|csrq |bj細節(jié)|組連腳0.| 頁媽 m + alltrim(strcp頁注腳卜圖是學生報表的縮小圖。儂如9學號堆名性別出生年月陽 8181女kiraab徹機81991002壬力去qzitequ81w1003oofgq#.l81991004男d3/13jb7電r81991005男電81991006iirneg電r8199100712(67電了81991008翊女11&9d電干819&1009程東萍女kimab電于819501081w1011李四女ion&e7疑叩主程序設計系統(tǒng)要執(zhí)行,需要有一個主程序。由主程序設置系統(tǒng)的環(huán)境后,打開程序主

20、表單,等待使用者的操作。主程序?qū)⒄{(diào)用應用程序框架中的各個功能組件,然后由這些組件調(diào)用應用程序的其他部分。主應用程序?qū)ο蟊仨氉龅牡谝患戮褪菍贸绦虻沫h(huán)境進行初始化。在打開vfp時,默認得的vfp開發(fā)環(huán)境將建立set命令和系統(tǒng)變量的值。一個比較好的設計方 法是將初始的環(huán)境設置保存起來,在啟動代碼中為程序建立特定 的環(huán)境設置。此外,在一個應用程序特定的環(huán)境下,可能需要使 用代碼一下操作。在“項目管理器”中選擇“代碼”中的“程序”,點擊“新建” 按鈕,為系統(tǒng)新建一個主程序。為主程序編寫代碼,存儲為 mainprgoclear screenclear events*打開數(shù)據(jù)庫open databas

21、e databasesalary*執(zhí)行開始表單do form formksjm設置系統(tǒng)環(huán)境配置do setting*開始響應事件read events*收到“clear events"命令后關閉數(shù)據(jù)庫,還原系統(tǒng)環(huán)境配置close databasedo reset將mainprg.prg程序設置為主文件,如下圖所示.第四章 開發(fā)中的難點與解決技巧/報表的使用在系統(tǒng)設計時發(fā)現(xiàn),設計好報表后,有時無論怎么預覽都無法看 到報表,像報表一預覽就消失一樣。經(jīng)過幾次調(diào)試才確定不是程 序問題。后來發(fā)現(xiàn),當該報表數(shù)據(jù)環(huán)境中的表是一個空表時就會遇到無法 預覽的情況。解決這個問題一個方法就是在該表中輸入

22、幾個數(shù) 據(jù),這樣報表就可以預覽了。/常見的代碼錯誤當編寫vfp應用程序時可能產(chǎn)生許多個錯誤,至少它會爆出許多 出錯信息。有些錯誤比較常見,而有些錯誤則相當神秘。許多錯 誤與句法相關,而且往往是簡單的錄入錯誤造成的。所以我們要 在編寫程序時一定要注意錄入,避免錯誤。附錄代碼歡迎界面計時器timer 1的代碼:if ntime=othisform.label 1. visible=.t.ntime=lelsethisform.label 1 .visible=.f.ntime=0endif退出界面計吋器timerl的代碼:thisform.releaseclear event*釋放表單并停止由re

23、ad event開始的事件處理*令程序從read event的下一條程序行繼驗證界面“確定”按鈕的代碼:sele admineruse studentdatabaseadminer*此為管理員信息數(shù)據(jù)表的(adminer)的相對路徑cx=alltrim(thisform.textl. value)cy=alltrim(thisform.text2.value)*獲得文本框1、2的輸入信息set order to 用戶名seek ex*查找輸入的信息if alltrim(adminer.用 戶名)!=cxcmessagetitle=r設備管理系統(tǒng),cmessagetext=*用戶名錯誤,請重新輸

24、入ndialogtype=4+32 nanswer=messagebox(cmessagetext,ndialogtype,cmessagetitle) do casecase nanswer=6thisform.textl .value-1thisform.textl .setfocus*選擇“是”時的操作case nanswer=7cmessagetitle=!設備管理系統(tǒng),cmessagetext='不要亂來,messagebox(cmessagetext,ndialogtype,cmessagetitle) thisform.release*選擇“否”時的操作endcaseel

25、seif alltrim(adminer密碼)!=cy*判斷輸入的信息是否與密碼符合cmessagetitle=,設備管理系統(tǒng)'cmessagetext=*密碼錯誤,請重新輸入ndialogtype=4+32 nanswer=messagebox(cmessagetext,ndialogtype,cmessagetitle) do casecase nanswer=6thisform.text2.value=hthisform.text2.setfocus擇“是”時的操作case nanswer=7cmessagetitle=,設備管理系統(tǒng),cmessagetext=* 不要亂來, m

26、essagebox(cmessagetext,ndialogtype,cmessagetitle) thisform.release*選擇“否”時的操作endcaseelsethisform.releasedo casecase tablesc=ldo form studentformdeptstu*根據(jù)變量不同打開不同的表單case tablesc=2do form studentformweihuendcaseendifendif“取消”按鈕的代碼:thisform.textl .value=hthisfbrm.text2.value=n*清空文本框的內(nèi)容thisform.textl .s

27、etfocus“退出”按鈕的代碼:thisform.release*釋放本表單成績表維護界面“前一條”按鈕的代碼:if reccount()>0skip -1訐 bof()go topendifthisform.refreshif recno()=lmand 1 ,enabled=.f.mand2.enabled=.t.else mand l.enabled=.t.mand2.enabled=.t.endifendif“下一條”按鈕的代碼:ttt=lif reccount()>0skipif eof()go bottomttt=recn()endifthisform.refreshif recno()=tttmand 1 .enabled=.t.mand2.enabled=.f. elsemand l.enabled=.t.mand2.enabled=.t.endifendif“修改”按鈕的代碼:se

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論