

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 課程設計報告書</b></p><p> 題 目: 學生成績管理系統(tǒng) </p><p> 系 部: 電子信息系 </p><p> 專 業(yè): 計算機應用技術 </p><p><b> 目錄</b></p>
2、<p> 第1章 系統(tǒng)簡介……………………………………………………….4</p><p> 第2章 系統(tǒng)可行性分析………………………………………………4</p><p> 2.1 技術可行性……………………………………………………….4</p><p> 2.2 實施可行性……………………………………………………….4<
3、/p><p> 第3章 系統(tǒng)設計……………………………………………………….4</p><p> 3.1 目標設計………………………………………………………….4</p><p> 3.2 開發(fā)設計思想……………………………………………………...5</p><p> 3.3 開發(fā)和運行環(huán)境選擇……………………………
4、…………………..5</p><p> 3.4 系統(tǒng)結構圖……………………………………………………….5</p><p> 3.5 系統(tǒng)模塊功能介紹 ………………………………………………..7</p><p> 3.5.1 系統(tǒng)主界面………………………………………………7</p><p> 3.5.2 驗證界面
5、………………………………………………..7</p><p> 3.5.3 查詢模塊 ……………………………………………….7</p><p> 3.5.4 維護模塊………………………………………………..7</p><p> 3.5.5 報表模塊……………………………………………….7</p><p> 3.5.6
6、 退出系統(tǒng)……………………………………………7</p><p> 3.6 數據庫設計……………………………………………………..8</p><p> 3.6.1 數據庫概念設計…………………………………………8</p><p> 3.6.2 數據庫邏輯設計…………………………………………9</p><p> 3.
7、6.3 數據庫物理設計…………………………………………9</p><p> 3.6.4 建立索引和永久關系…………………………………….11</p><p> 3.7 主要模塊的創(chuàng)建…………………………………………………12</p><p> 3.7.1 開始界面設計………………………………………….12</p><
8、p> 3.7.2 退出界面設計………………………………………….13</p><p> 3.7.3 驗證界面設計………………………………………….15</p><p> 3.7.4 學生成績查詢表單………………………………………17</p><p> 3.7.5 瀏覽學生信息表單………………………………………18</p>
9、<p> 3.7.6 瀏覽課程表表單………………………………………..19</p><p> 3.7.7 學生查詢界面…………………………………………20</p><p> 3.7.8 維護成績表界面……………………………………….22</p><p> 3.7.9 菜單設計……………………………………………..23</p
10、><p> 3.7.10 報表設計……………………………………………..24</p><p> 3.7.11 主程序設計……………………………………………25</p><p> 第4章 開發(fā)中的難點與解決技巧………………………………27</p><p> 附錄代碼.................................
11、..................................................................28</p><p> 第1章 系統(tǒng)簡介</p><p> 隨著社會的發(fā)展,資訊的迅速發(fā)展便得我們從過去繁重的勞作中得以解脫,所以編寫一個完善的學生成績管理系統(tǒng)的任務就顯得很必要了。學生成績管理系統(tǒng)解決了過去手記成績,現在它更快速的對學生成績進行管理
12、,如查詢、修改、增加、刪除。</p><p> 第2章 系統(tǒng)可行性分析</p><p><b> 2.1技術可行性</b></p><p> 該系統(tǒng)可以通過使用VFP6.0數據庫軟件作為開發(fā)工具進行開發(fā),開發(fā)出的系統(tǒng)是一個數據庫應用管理系統(tǒng),該系統(tǒng)安全,可靠,穩(wěn)定,完全可以滿足任務要求。</p><p>&l
13、t;b> 2.2實施可行性</b></p><p> 該系統(tǒng)可以設計一系列便于操作的窗口界面,操作人員只需稍經培訓就可以進入工作狀態(tài)。同時,可以對目前手工記錄學生成績,查詢,修改,編制報表等工作進行徹底改革,使各項工作都能夠通過計算機來完成,使學生成績管理實現自動化,極大的提高了工作效率。</p><p> 第3章 系統(tǒng)設計</p><p&g
14、t;<b> 3.1 目標設計</b></p><p> 本章旨在拋磚引玉,通過開發(fā)一個簡化的學生成績管理系統(tǒng),展示Visual FoxPro的強大功能。同時,希望有興趣的可以在此基礎上設計開發(fā)出功能更多更強大的學生成績管理系統(tǒng)。</p><p> 3.2 開發(fā)設計思想</p><p> 本系統(tǒng)開發(fā)設計思想:</p>&l
15、t;p> 盡量采用學校現有軟硬件環(huán)境,及先進的管理系統(tǒng)開發(fā)方案,從而達到充分利用學?,F有的資源,提高系統(tǒng)開發(fā)水平和應用效果的目的。</p><p> 系統(tǒng)應符合學校學生成績管理的規(guī)定,滿足對學校學生日常管理的需要,并達到操作過程中的直觀、方便、實用、安全等要求。</p><p> 系統(tǒng)采用模塊化程序設計方法,既便于系統(tǒng)功能的各種組合和修改,又便于未參與開發(fā)的技術維護人員補充、維
16、護。</p><p> 系統(tǒng)應具備數據庫維護功能,及時根據用戶需求進行數據的添加、刪除、修改、備份等操作。</p><p> 3.3 開發(fā)和運行環(huán)境選擇</p><p> 開發(fā)工具:Visual FoxPro 6.0</p><p> 運行環(huán)境:Windows9x、Windows NT或Windows 2000操作系統(tǒng)。</p&
17、gt;<p><b> 3.4 系統(tǒng)結構圖</b></p><p> 采用模塊化設計思想,可以大大提高設計的效率,并且可以最大限度地減少不必要的錯誤。其系統(tǒng)結構圖如下所示:</p><p> 3.5 系統(tǒng)模塊功能介紹</p><p> 本系統(tǒng)主要用于學校學生成績管理,主要任務是用計算機對學生成績進行日常管理,如查詢、修改、
18、增加、刪除。針對這些要求,設計了本學生成績管理系統(tǒng)。該系統(tǒng)主要進行學生成績的查詢、瀏覽、維護。</p><p><b> 系統(tǒng)主界面</b></p><p> 該模塊是學生成績管理系統(tǒng)的主界面,是主系統(tǒng)的唯一入口和出口。該界面可調用各子模塊。實現對學生相關信息的瀏覽,查詢,修改和報表。</p><p><b> 驗證界面<
19、/b></p><p> 驗證界面是驗證用戶名,只有當使用者正確的輸入用戶名和密碼后才能進入系統(tǒng)。</p><p><b> 查詢模塊</b></p><p> 本模塊的目的在于快速瀏覽學生信息,學生的成績和課程表。</p><p><b> 維護模塊</b></p>&
20、lt;p> 本模塊的目的在于對系統(tǒng)的各個數據庫進行維護,對課程表、學生表、成績表進行增加、刪除,以便及時更新數據進行查詢。</p><p><b> 報表模塊</b></p><p> 本模塊的目的在于對學生表、課程表、成績表的報表瀏覽,能夠通過打印機將它們打印出來。</p><p><b> 退出系統(tǒng)</b>
21、;</p><p> 本模塊設計的目的是當用戶退出系統(tǒng)時顯示感謝詞,畫面停留兩秒后自動退出.</p><p><b> 數據庫設計</b></p><p><b> 數據庫概念設計</b></p><p> E—R圖是E—R模型的圖形表示法,它是直接表示概念模型的有力工具。我們用E—R圖來說
22、明學生成績管理系統(tǒng)的數據庫概念模式,如下圖所示。</p><p><b> (a)</b></p><p><b> ( b )</b></p><p><b> ( c )</b></p><p><b> ( d )</b></p>
23、<p><b> 數據庫邏輯設計</b></p><p> 將以上E—R轉換成如下關系模式:</p><p> 學生表(學號,姓名,性別,出生年月,班級)</p><p> 課程表(課程名,課程編號,學分,任課教師)</p><p> 成績表(學號,課程編號,分數)</p><
24、p><b> 數據庫物理設計</b></p><p> 本系統(tǒng)中包括三個數據表:學生表、課程表、成績表,表結構如下圖:</p><p><b> 學生表結構</b></p><p><b> 課程表結構</b></p><p><b> 成績表結構&l
25、t;/b></p><p><b> 建立索引和永久關系</b></p><p><b> 建立索引</b></p><p> 建立學生表與成績表,課程表與成績表的關聯,關鍵字是分別是XH字段和KCH字段。</p><p><b> 主要模塊的創(chuàng)建</b><
26、/p><p><b> 開始界面設計</b></p><p> 設計該表單的主要功能是當用戶啟動使用“學生成績管理系統(tǒng)”時,顯示歡迎界面,開始界面上的歡迎詞每個1秒閃爍一次。用戶按下鍵盤上任一鍵時,系統(tǒng)自動進入下一級表單。設計該模塊比較簡單,利用一個表單就可實現其功能。以下是這一模塊的設計步驟。</p><p> 首先新建一個表單,保存為“w
27、elcome”。將該表單的“Caption”屬性設為“歡迎界面”,“Desktop”屬性設置為“.T.-True”。為了給該表單添加一張圖片背景,設其“Picture”屬性為所要添加圖片的地址。然后為該表單添加一個“Timer1”控件和一個“Label1”控件。</p><p> 修改“Timer1”控件的“Interval”的屬性為“1000”,這樣當每間隔一秒鐘將觸發(fā)一次“Timer Event”事件。&l
28、t;/p><p> “Label1”控件的相關屬性的內容如下表。</p><p> “Label1”控件中主要屬性</p><p> 開始界面的設計結果如下圖所示。</p><p><b> 退出界面設計</b></p><p> 當用戶退出系統(tǒng)時顯示感謝詞,兩面停留兩秒后自動退出。這一表單
29、也比較簡單,利用一個表單就可實現其功能。</p><p> 退出界面的設計方法同開始界面的設計方法類似。表單中所用的各控件屬性如下表所示。</p><p> “Form1”表單主要屬性</p><p> “Label1”控件中主要屬性</p><p> “Label2”控件中主要屬性</p><p> “Ti
30、mer1”控件中主要屬性</p><p> 退出界面設計結果如下圖所示。</p><p><b> 驗證界面設計</b></p><p> 為了確保數據庫的安全性設計的,只有合法的用戶才可以進行登錄。如果用戶名或密碼輸入不正確,可以取消重新輸入。該表單包括兩個LABLE控件,兩個TEXT控件,和三個COMMAND控件。表單中的各控件屬性如
31、下表所示。</p><p> “Form1”表單主要屬性</p><p> “Label1”控件中主要屬性</p><p> “Label2”控件中主要屬性</p><p> Command 控件主要屬性</p><p> 驗證界面設計結果如下圖所示。</p><p><b>
32、; 學生成績查詢表單</b></p><p> 這一模塊實現了最基本而又很重要的功能,它讓用戶方便快捷、多角度地得知想要查詢的情況。該模塊是對學生成績的查詢,可以查詢所有學生的成績,也可以根據學號進行查詢。這一模塊所包含的控件屬性所下表。</p><p> 學生成績查詢設計結果如下圖所示。</p><p><b> 瀏覽學生信息表單&l
33、t;/b></p><p> 這一模塊設計的目的主要是迅速的瀏覽學生信息。表單中包含的控件屬性如下表。</p><p> 學生信息瀏覽表單設計結果如下圖所示。</p><p><b> 瀏覽課程表表單</b></p><p> 這一模塊設計的目的主要是快速瀏覽課程表,表單中所包含的控件屬性如下表。</
34、p><p><b> 學生查詢界面</b></p><p> 本模塊的目的在于快速瀏覽學生的基本情況。目標界面如下圖所示。</p><p> 表單中所包含的控件屬性如下表。</p><p> 控件Lable2、Lable3、Lable4、Lable5屬性設置同Lable1相同。</p><p>
35、;<b> 維護成績表界面</b></p><p> 本模塊的目的在于對系統(tǒng)的各個數據庫進行維護,對成績表進行增加、刪除,以便及時更新數據進行查詢。表單中包含的所有控件的屬性設置如下表。</p><p> 控件Lable3、Lable4屬性與Lable2屬性一置。在點擊“修改”命令按鈕時,會出現“是否確定要修改該記錄”。選擇“是”會出現下面圖。</p>
36、;<p> 這一模塊設計的結果如下圖。</p><p><b> 菜單設計</b></p><p> 菜單以橫向排列在主窗口頂部的標題欄之下,它方便而快捷地完成了各項工作。要做菜單先要打開菜單設計器,在菜單設計器中輸入菜單名稱,選擇“結果”。如需要編輯子菜單,進入子菜單進行編輯菜單名稱。下圖是該模塊的菜單設計器和該模塊結果設計。</p>
37、<p><b> 報表設計</b></p><p> 報表用于在打印文檔中顯示或總結數據。報表的數據源定義了報表中數據的來源,通常是表、視圖、查詢、臨時表等,報表的布局定義了報表的打印格式。</p><p> 這一模塊是通過報表向導,選擇所做報表的字段, 選擇報表樣式為經營式,報表布局,和排序記錄為學號,最后保存為學生表。如下圖。</p>
38、;<p> 下圖是學生報表的縮小圖。</p><p><b> 主程序設計</b></p><p> 系統(tǒng)要執(zhí)行,需要有一個主程序。由主程序設置系統(tǒng)的環(huán)境后,打開程序主表單,等待使用者的操作。</p><p> 主程序將調用應用程序框架中的各個功能組件,然后由這些組件調用應用程序的其他部分。主應用程序對象必須做的第一件事就
39、是對應用程序的環(huán)境進行初始化。在打開VFP時,默認得的VFP開發(fā)環(huán)境將建立SET命令和系統(tǒng)變量的值。一個比較好的設計方法是將初始的環(huán)境設置保存起來,在啟動代碼中為程序建立特定的環(huán)境設置。此外,在一個應用程序特定的環(huán)境下,可能需要使用代碼一下操作。</p><p> 在“項目管理器”中選擇“代碼”中的“程序”,點擊“新建”按鈕,為系統(tǒng)新建一個主程序。為主程序編寫代碼,存儲為mainprg。</p>
40、<p> Clear screen</p><p> Clear events</p><p><b> *打開數據庫</b></p><p> Open database database\salary</p><p><b> *執(zhí)行開始表單</b></p>&
41、lt;p> Do form form\ksjm</p><p><b> 設置系統(tǒng)環(huán)境配置</b></p><p> Do setting</p><p><b> *開始響應事件</b></p><p> Read events</p><p> *收到“
42、clear events”命令后關閉數據庫,還原系統(tǒng)環(huán)境配置</p><p> Close database</p><p><b> Do reset</b></p><p> 將mainprg.prg程序設置為主文件,如下圖所示.</p><p> 第四章 開發(fā)中的難點與解決技巧</p>&
43、lt;p><b> 報表的使用</b></p><p> 在系統(tǒng)設計時發(fā)現,設計好報表后,有時無論怎么預覽都無法看到報表,像報表一預覽就消失一樣。經過幾次調試才確定不是程序問題。</p><p> 后來發(fā)現,當該報表數據環(huán)境中的表是一個空表時就會遇到無法預覽的情況。解決這個問題一個方法就是在該表中輸入 幾個數據,這樣報表就可以預覽了。</p>
44、<p><b> 常見的代碼錯誤</b></p><p> 當編寫VFP應用程序時可能產生許多個錯誤,至少它會爆出許多出錯信息。有些錯誤比較常見,而有些錯誤則相當神秘。許多錯誤與句法相關,而且往往是簡單的錄入錯誤造成的。所以我們要在編寫程序時一定要注意錄入,避免錯誤。</p><p><b> 附錄代碼</b></p>
45、;<p><b> 歡迎界面</b></p><p> 計時器timer1的代碼:</p><p> if nTime=0</p><p> thisform.Label1.visible=.t.</p><p><b> nTime=1</b></p><
46、;p><b> else</b></p><p> thisform.Label1.visible=.f.</p><p><b> nTime=0</b></p><p><b> endif </b></p><p><b> 退出界面</b
47、></p><p> 計時器timer1的代碼:</p><p> thisform.release</p><p> CLEAR EVENT</p><p> *釋放表單并停止由READ EVENT 開始的事件處理</p><p> *令程序從READ EVENT的下一條程序行繼</p>
48、<p><b> 驗證界面</b></p><p> “確定”按鈕的代碼:</p><p> sele adminer</p><p> use student\database\adminer</p><p> *此為管理員信息數據表的(adminer)的相對路徑</p><p
49、> cx=alltrim(thisform.text1.value)</p><p> cy=alltrim(thisform.text2.value)</p><p> *獲得文本框1、2的輸入信息</p><p> set order to 用戶名</p><p><b> seek cx</b>&l
50、t;/p><p><b> *查找輸入的信息</b></p><p> if alltrim(adminer.用戶名)!=cx</p><p> cMessageTitle='設備管理系統(tǒng)'</p><p> cMessageText='用戶名錯誤,請重新輸入'</p>
51、<p> nDialogType=4+32</p><p> nAnswer=messagebox(cMessageText,nDialogType,cMessageTitle)</p><p><b> do case</b></p><p> case nAnswer=6</p><p> thi
52、sform.text1.value=''</p><p> thisform.text1.setfocus</p><p> *選擇“是”時的操作</p><p> case nAnswer=7</p><p> cMessageTitle='設備管理系統(tǒng)'</p><p>
53、cMessageText='不要亂來'</p><p> messagebox(cMessageText,nDialogType,cMessageTitle)</p><p> thisform.release</p><p> *選擇“否”時的操作</p><p><b> endcase</b>
54、;</p><p><b> else</b></p><p> if alltrim(adminer.密碼)!=cy</p><p> *判斷輸入的信息是否與密碼符合</p><p> cMessageTitle='設備管理系統(tǒng)'</p><p> cMessageTe
55、xt='密碼錯誤,請重新輸入'</p><p> nDialogType=4+32</p><p> nanswer=messagebox(cMessageText,nDialogType,cMessageTitle)</p><p><b> do case</b></p><p> case
56、nAnswer=6</p><p> thisform.text2.value=''</p><p> thisform.text2.setfocus</p><p><b> 擇“是”時的操作</b></p><p> case nAnswer=7</p><p> c
57、MessageTitle='設備管理系統(tǒng)'</p><p> cMessageText='不要亂來'</p><p> messagebox(cMessageText,nDialogType,cMessageTitle)</p><p> thisform.release</p><p> *選擇“否”
58、時的操作</p><p><b> endcase</b></p><p><b> else</b></p><p> thisform.release</p><p><b> do case</b></p><p> case table
59、sc=1</p><p> do form student\form\deptstu</p><p> *根據變量不同打開不同的表單</p><p> case tablesc=2</p><p> do form student\form\weihu</p><p><b> endcase&
60、lt;/b></p><p><b> endif</b></p><p><b> endif</b></p><p> “取消”按鈕的代碼:</p><p> thisform.text1.value=''</p><p> thisfor
61、m.text2.value=''</p><p><b> *清空文本框的內容</b></p><p> thisform.text1.setfocus</p><p> “退出”按鈕的代碼:</p><p> thisform.release</p><p><b&
62、gt; *釋放本表單</b></p><p><b> 成績表維護界面</b></p><p> “前一條”按鈕的代碼:</p><p> if reccount()>0</p><p><b> skip -1</b></p><p><b
63、> if bof()</b></p><p><b> go top</b></p><p><b> endif</b></p><p> thisform.refresh</p><p> if recno()=1</p><p> this
64、form.command1.enabled=.f.</p><p> thisform.command2.enabled=.t.</p><p><b> else</b></p><p> thisform.command1.enabled=.t.</p><p> thisform.command2.enab
65、led=.t.</p><p><b> endif</b></p><p><b> endif</b></p><p> “下一條”按鈕的代碼:</p><p><b> ttt=1</b></p><p> if reccount()&g
66、t;0</p><p><b> skip</b></p><p><b> if eof()</b></p><p><b> go bottom</b></p><p> ttt=recn()</p><p><b> endif
67、</b></p><p> thisform.refresh</p><p> if recno()=ttt</p><p> thisform.command1.enabled=.t.</p><p> thisform.command2.enabled=.f.</p><p><b>
68、 else</b></p><p> thisform.command1.enabled=.t.</p><p> thisform.command2.enabled=.t.</p><p><b> endif</b></p><p><b> endif</b></p
69、><p> “修改”按鈕的代碼:</p><p> set multilocks on</p><p> cursorsetprop("buffering",2)</p><p> tableupdate(.f.)</p><p> ys=messagebox("是否確定要修改該記錄
70、",4+32,"學生成績管理系統(tǒng)!!")</p><p><b> if ys=6</b></p><p> =messagebox("記錄已經修改",48,"通知")</p><p><b> endif</b></p><p
71、> thisform.refresh</p><p> “取消”按鈕的代碼:</p><p> thisform.release</p><p><b> 學生成績查詢界面</b></p><p> “查詢”按鈕的代碼:</p><p> if empty(alltrim(thi
72、sform.text1.value))</p><p> messagebox("請輸入學生學號!",48,"學生成績管理系統(tǒng)")</p><p> thisform.text1.setfocus</p><p><b> else </b></p><p> locate
73、 for alltrim(xh)==alltrim(thisform.text1.value)</p><p> if found()</p><p> set filter to </p><p> set filter to xh=alltrim(thisform.text1.value)</p><p> thisform.re
74、fresh</p><p><b> else </b></p><p> messagebox("查無此人!",48,"學生成績管理系統(tǒng)")</p><p><b> endif</b></p><p><b> endif</b&g
75、t;</p><p> “退出”按鈕的代碼:</p><p> thisform.release</p><p><b> 學生查詢界面</b></p><p> “查詢”按鈕的代碼:</p><p> if empty(alltrim(thisform.text1.value))<
76、;/p><p> messagebox("請輸入學生學號!",48,"學生成績管理系統(tǒng)")</p><p> thisform.text1.setfocus</p><p><b> else </b></p><p> use 學生表.dbf</p><p
77、> locate for alltrim(xh)==alltrim(thisform.text1.value)</p><p> if found()</p><p> thisform.text2.value=xh</p><p> thisform.text3.value=xm</p><p> thisform.text
78、4.value=xb</p><p> thisform.text5.value=bj</p><p> thisform.text6.value=csrq</p><p><b> else </b></p><p> messagebox("查無此人!",48,"學生成績管理系統(tǒng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- vfp課程設計--學生成績管理系統(tǒng)
- vfp課程設計報告---學生成績管理系統(tǒng)
- vfp課程設計報告--- 班級學生成績管理系統(tǒng)
- vfp課程設計報告---學生成績查詢系統(tǒng)
- vfp學生成績管理系統(tǒng)設計報告
- vfp學生成績管理系統(tǒng)設計報告
- 學生成績管理系統(tǒng)課程設計
- 課程設計——學生成績管理系統(tǒng)
- 課程設計---學生成績管理系統(tǒng)
- 學生成績管理系統(tǒng)課程設計
- 學生成績管理系統(tǒng)課程設計
- 學生成績管理系統(tǒng)課程設計
- 學生成績管理系統(tǒng)課程設計
- 學生成績管理系統(tǒng) 課程設計
- 課程設計--學生成績管理系統(tǒng)
- 學生成績管理系統(tǒng)課程設計
- 課程設計-- 學生成績管理系統(tǒng)
- 學生成績管理系統(tǒng)課程設計
- 學生成績管理系統(tǒng)課程設計9
- 學生成績管理系統(tǒng)課程設計10
評論
0/150
提交評論