版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 學生管理系統(tǒng)課程設(shè)計說明書</p><p> 2012~2013學年第一學期</p><p><b> 學</b></p><p><b> 第一章 系統(tǒng)概述</b></p><p><b> 1.1 開發(fā)思路</b></p><
2、;p> 數(shù)據(jù)庫應(yīng)用系統(tǒng)“學生管理系統(tǒng)”的開發(fā)思路是:</p><p> 1、以數(shù)據(jù)庫和表為核心構(gòu)造數(shù)據(jù)對象。 </p><p> 2、創(chuàng)建菜單以實現(xiàn)功能調(diào)用。</p><p> 3、實現(xiàn)被調(diào)用的各模塊,主要有表單、報表、程序。</p><p> 4、構(gòu)造項目,并在項目管理器中添加文件,設(shè)置主文件,連編應(yīng)用程序,發(fā)布項目。<
3、;/p><p><b> 1.2 系統(tǒng)要求</b></p><p> 數(shù)據(jù)庫應(yīng)用系統(tǒng)“學生管理系統(tǒng)”的系統(tǒng)要求:</p><p> 良好的用戶界面設(shè)計。</p><p><b> 穩(wěn)定的數(shù)據(jù)存儲。</b></p><p><b> 數(shù)據(jù)查詢功能。</b&
4、gt;</p><p> 合理的輸入或輸出設(shè)計。</p><p><b> 1.3 功能分析 </b></p><p> 學生管理系統(tǒng)是一個小型的數(shù)據(jù)庫應(yīng)用系統(tǒng),主要完成成績管理及統(tǒng)計功能,從用戶需求的角度分析,系統(tǒng)功能包括以下幾個方面:</p><p> 1、管理系統(tǒng)登錄驗證。</p><p
5、> 2、基本信息維護,主要包括學生信息、課程信息及成績信息的錄入和編輯。</p><p> 3、數(shù)據(jù)瀏覽和統(tǒng)計功能。瀏覽基本信息,學生選修的課程設(shè)計、成績統(tǒng)計及學生信息統(tǒng)計。</p><p> 4、各類檢索信息的顯示和打印。</p><p><b> 1.4 系統(tǒng)結(jié)構(gòu) </b></p><p> 根據(jù)學生
6、管理系統(tǒng)功能要求,按結(jié)構(gòu)化程序設(shè)計原則,進行系統(tǒng)功能設(shè)計原則,進行系統(tǒng)功能模塊的劃分,完成系統(tǒng)結(jié)構(gòu)圖,如下圖所示:</p><p> ----學生管理系統(tǒng)結(jié)構(gòu)圖</p><p><b> 第二章 數(shù)據(jù)庫設(shè)計</b></p><p><b> 2.1 數(shù)據(jù)庫</b></p><p> 根據(jù)需求
7、分析結(jié)果,以及功能要求,建立“學生管理系統(tǒng)”所需數(shù)據(jù)庫,各類數(shù)據(jù)資源如下所示:</p><p> 2.2 舉例student表如下圖</p><p> 2.3 舉例成績管理如下圖</p><p><b> 第三章 表單設(shè)計</b></p><p> 3.1 建立學生管理系統(tǒng)所需表單</p><
8、p> 3.2 建立系統(tǒng)登錄表單:start.scx</p><p> 登錄表單的界面如下圖所示,主要功能是用戶身份驗證,只有提供正確的用戶名和密碼才能進入系統(tǒng)。</p><p> 表單start.scx,創(chuàng)建該表單的步驟大致有添加控件,設(shè)置控件相關(guān)屬性值,編寫代碼等</p><p> 該表單的activate事件代碼為:</p><
9、p><b> public n</b></p><p><b> n=0</b></p><p> 命令按鈕command1的click事件代碼為:</p><p> IF thisform.optiongroup1.value=1</p><p> ***正確的用戶名“郭瑞雪”,正
10、確的密碼“郭瑞雪”</p><p> if alltrim(thisform.txtuser1.value)= "郭瑞雪" .and.;</p><p> alltrim(thisform.txtpassword.value)="郭瑞雪"</p><p> thisform.label5.caption="登陸
11、成功! "</p><p> wait "" timeout 1</p><p> do form main_form.scx</p><p> thisform.release</p><p><b> else</b></p><p> thisform
12、.label5.caption="用戶名或密碼錯誤! "</p><p> thisform.txtpassword.value=" "</p><p> thisform.txtuser1.value=" "</p><p><b> n=n+1</b></p>
13、<p><b> if n=3</b></p><p> thisform.label5.caption="對不起,您無權(quán)使用! "</p><p> thisform.txtpassword.enabled=.F.</p><p> thisform.enabled=.F.</p><
14、p> wait "" timeout 1</p><p><b> close all</b></p><p> clear events</p><p><b> cancel</b></p><p> thisform.release</p>&
15、lt;p><b> endif</b></p><p><b> endif </b></p><p> else thisform.optiongroup2.value=1</p><p> local temp</p><p> uname=thisform.txtuser1
16、.value</p><p> pwd=thisform.txtpassword.value</p><p> close tables all</p><p> use 'F:\作業(yè)\vf2\表2.dbf'</p><p> set exact on</p><p> dimension A
17、(10)</p><p> for i=1 to 3 step 1</p><p><b> A(i)=''</b></p><p><b> endfor</b></p><p> select * from 表2 where(表2.用戶名=uname.and.表2.密碼=
18、pwd) into array A</p><p> select * from 表2 where(表2.用戶名=uname.and.表2.密碼=pwd) into cursor temp</p><p> if A(1)='' then</p><p> thisform.label5.caption="用戶名或密碼錯誤!"
19、;</p><p> thisform.txtpassword.value=""</p><p> thisform.txtuser1.value=""</p><p> thisform.txtuser1.setfocus</p><p><b> else</b><
20、;/p><p> thisform.label5.caption="登錄成功!"</p><p> wait "" timeout 1</p><p> do form main_form.scx</p><p> thisform.release</p><p><b
21、> n=n+1</b></p><p><b> if n=3</b></p><p> thisform.label5.caption="對不起,你無權(quán)使用!"</p><p> thisform.txtpassword.enabled=.f.</p><p> thi
22、sform.enabled=.f.</p><p> wait "" timeout 1</p><p><b> close all</b></p><p> clear windows</p><p> clear events</p><p><b>
23、 cancel</b></p><p> thisform.release</p><p><b> endif</b></p><p><b> endif </b></p><p><b> endif</b></p><p>
24、 3.3 建立主表單main_form.scx</p><p> 主表單main_form是系統(tǒng)的工作界面,它被登錄表單調(diào)用并調(diào)用菜單main_form.mnx,根據(jù)要求設(shè)置表單的屬性,主表單的load事件代碼為:do main_menu.mpr with this .t.</p><p> 3.4 數(shù)據(jù)維護表單</p><p> 實現(xiàn)數(shù)據(jù)維護功能包括三個表單
25、,即維護學生信息表單、維護成績信息表單和維護課程信息表單。用于數(shù)據(jù)維護的三個表單實現(xiàn)方法類似,舉例維護學生信息表單:</p><p><b> 創(chuàng)建表單。</b></p><p> 設(shè)置數(shù)據(jù)環(huán)境。將“成績管理”數(shù)據(jù)庫中的student表添加到數(shù)據(jù)環(huán)境設(shè)計器中。在數(shù)據(jù)環(huán)境設(shè)計器中選中student表,在屬性窗口中設(shè)置exclusive屬性為.T.,設(shè)置student
26、表以獨占方式打開。</p><p> 將數(shù)據(jù)環(huán)境設(shè)計器中student表的各字段拖曳到表單上,生成表單控件。</p><p> 添加控件和設(shè)置屬性。</p><p><b> 編寫程序代碼:</b></p><p> 表單的load事件代碼:set delete on</p><p>
27、“第一個”按鈕事件代碼為:</p><p><b> go top</b></p><p> Thisform.refresh</p><p> “上一個”按鈕事件代碼為:</p><p><b> skip -1</b></p><p><b> if
28、bof()</b></p><p><b> go top</b></p><p><b> endif</b></p><p> thisform.refresh</p><p> “下一個”按鈕事件代碼為:</p><p><b> ski
29、p </b></p><p><b> if eof()</b></p><p><b> go bottom</b></p><p><b> endi</b></p><p> thisform.refresh</p><p>
30、 “最后一個”按鈕事件代碼為:</p><p><b> go bott</b></p><p> thisform.refresh</p><p> “添加”按鈕的事件代碼為:</p><p><b> appe blan</b></p><p> thisfor
31、m.txt學號.setfocus</p><p> thisform.refresh</p><p> “刪除”按鈕的事件代碼為:</p><p> yn=messagebox</p><p><b> if yn=6</b></p><p><b> delete</b
32、></p><p><b> skip</b></p><p><b> if eof()</b></p><p><b> go bott</b></p><p><b> endi</b></p><p><
33、b> endi</b></p><p> thisform.refresh</p><p> “關(guān)閉”按鈕的事件代碼為:</p><p><b> pack</b></p><p> thisform.refresh</p><p> 表格控件的控件代碼為:</
34、p><p> thisform.refresh</p><p> 表格的unload的事件代碼為:</p><p> close data all</p><p> 該表單圖形如下圖所示:</p><p> 3.5 數(shù)據(jù)查詢表單</p><p> 實現(xiàn)數(shù)據(jù)查詢功能需要三個表單,即查詢學生
35、信息表單search_stu.scx,查詢學生成績表單search_stu_score.scx, 查詢課程信息表單search_course_score.scx。</p><p> 以成績信息查詢?yōu)槔?lt;/p><p><b> 相應(yīng)代碼如下:</b></p><p> select score</p><p>
36、 cnum=thisform.combo1.value</p><p> if thisform.optiongroup1.value=1</p><p> thisform.grid1.recordsource="select * from score where 課程號=cnum;</p><p> order by 成績 asc into cu
37、rsor temp"</p><p><b> else</b></p><p> thisform.grid1.recordsource="select * from score where 課程號=cnum;</p><p> order by 成績 desc into cursor temp"</
38、p><p><b> endif</b></p><p> thisform.refresh</p><p> 3.6 數(shù)據(jù)瀏覽表單</p><p> 實現(xiàn)數(shù)據(jù)瀏覽功能包括四個表單,即:瀏覽成績信息表單browse_score.scx、瀏覽課程信息表單browse_course.scx、瀏覽學生信息表單browse
39、stu.scx、瀏覽學生成績表單browse_stu_score.scx、</p><p> 以瀏覽學生成績表單為例:</p><p><b> 相應(yīng)代碼如下:</b></p><p><b> go top</b></p><p> this.parent.refresh</p>
40、;<p> thisform.pageframe1.page2.refresh “第一個”</p><p><b> skip -1</b></p><p><b> if bof()</b></p><p><b> go top</b></p><p&
41、gt;<b> endif</b></p><p> this.parent.refresh</p><p> thisform.pageframe1.page2.refresh“上一個”</p><p><b> skip </b></p><p><b> if eof()
42、</b></p><p><b> go bottom</b></p><p><b> endif</b></p><p> thisform.pageframe1.refresh</p><p> thisform.pageframe1.page2.refresh “下一
43、個”</p><p><b> go bottom</b></p><p> this.parent.refresh</p><p> thisform.pageframe1.page2.refresh“最后一個”</p><p><b> 第四章 報表設(shè)計</b></p>
44、<p> 報表包括學生信息報表和學生成績報表,其中學生信息報表如下圖所示:</p><p><b> 第五章 主程序</b></p><p> 主程序文件main.prg是整個應(yīng)用程序的入口,程序代碼為:</p><p> Do setup.prg</p><p> Do form start.s
45、cx</p><p> 主程序中調(diào)用的setup.prg程序文件用來初始化系統(tǒng)環(huán)境,程序代碼為:</p><p> set talk off</p><p> set safety off</p><p> set default to f:\Vf2\學生管理系統(tǒng)</p><p> set century o
46、n</p><p> set date to ymd</p><p> clear windows</p><p><b> clear all</b></p><p> (2)表單start.scx是系統(tǒng)登錄表單,在主程序中被調(diào)用,該表單調(diào)用主表單main_form.scx</p><p&g
47、t; (3)read events 命令的功能是建立事件循環(huán),該命令使VFP處理鼠標單擊、按鍵等用戶事件。</p><p> ?。?)通過read events命令啟動事件循環(huán)后必須保證在系統(tǒng)界面上存在一個可以結(jié)束事件循環(huán)clear events命令的機制,否則系統(tǒng)無法退出。在本系統(tǒng)中,結(jié)束事件循環(huán)的機制在主菜單的退出選項中實現(xiàn),該菜單項的過程為:</p><p> Do cleanu
48、p.prg</p><p> 其中cleanup.prg程序文件用來恢復系統(tǒng)環(huán)境設(shè)置并且結(jié)束事件循環(huán),程序代碼為</p><p> set sysmenu to default </p><p> set talk on</p><p> set safety on</p><p><b> clo
49、se all</b></p><p><b> clear all</b></p><p> clear windows</p><p> clear events</p><p><b> cancel</b></p><p><b> 第六
50、章 菜單設(shè)計</b></p><p> 主菜單main_menu.mnx在菜單設(shè)計器中設(shè)計完成后主界面如下圖所示:</p><p> 打開文件main_menu.mnx,在菜單設(shè)計器窗口中,向各子菜單項添加調(diào)用的模塊程序(表單或報表),完成后,重新生成菜單程序main_menu.scx。</p><p><b> 第七章 項目實現(xiàn)&l
51、t;/b></p><p> 完成應(yīng)用系統(tǒng)各模塊的設(shè)計后,可以使用項目管理器創(chuàng)建學生管理系統(tǒng)項目,構(gòu)成一個完整的項目體系,最后完成連編程序。</p><p><b> 7.1構(gòu)造項目</b></p><p> 建立一個項目后,在項目中添加各個數(shù)據(jù)、表單、菜單和報表,再添加程序并設(shè)置主文件,在設(shè)置相應(yīng)的項目信息。</p>
52、<p> 7.2項目連編與發(fā)布應(yīng)用程序</p><p> 在VFP工作環(huán)境中,啟動安裝向?qū)В鶕?jù)安裝向?qū)У奶崾具M行操作,創(chuàng)建發(fā)布文件包,生成可執(zhí)行文件。</p><p><b> 7.3 圖解如下:</b></p><p> 7.4 運行生成如圖主要界面</p><p> 系統(tǒng)的界面主要包括系統(tǒng)登錄
53、界面、數(shù)據(jù)維護界面、信息查詢界面、數(shù)據(jù)統(tǒng)計界面等。</p><p> 1、系統(tǒng)登錄界面。該界面用于用戶身份驗證,合法的用戶可進入數(shù)據(jù)庫應(yīng)用系統(tǒng)。</p><p> 2、數(shù)據(jù)維護界面。數(shù)據(jù)維護界面實際上是一個基于數(shù)據(jù)庫的表單,實現(xiàn)數(shù)據(jù)顯示、輸入和刪除的功能。</p><p> 3、信息查詢界面。在該界面可根據(jù)條件進行信息檢索。</p><p&
54、gt; 4、數(shù)據(jù)統(tǒng)計界面。該界面用于數(shù)據(jù)庫中的數(shù)據(jù),統(tǒng)計學生選課及成績信息。</p><p> 第八章 系統(tǒng)總體分析</p><p> 8.1 系統(tǒng)分析包括可行性分析和需求分析兩個方面。</p><p> 這一階段主要對系統(tǒng)開發(fā)進行可行性論證,分析應(yīng)用系統(tǒng)的開發(fā)目的及要達到的目標要求。在分析階段,信息收集是系統(tǒng)開發(fā)的可行性的重要環(huán)節(jié),通過所需信息的收集,確定
55、應(yīng)用系統(tǒng)的總體目標、總體開發(fā)思路。</p><p> 在系統(tǒng)分析的基礎(chǔ)上進行數(shù)據(jù)庫設(shè)計、表單設(shè)計、報表設(shè)計、菜單設(shè)計等。</p><p><b> 其中必要性分析:</b></p><p> 學生管理系統(tǒng)是一個小型的數(shù)據(jù)庫應(yīng)用系統(tǒng),主要完成成績管理及統(tǒng)計功能,非常適合各大高校使用,而且隨著高校的擴招,傳統(tǒng)的管理方式已經(jīng)不能再適用了,所以本
56、系統(tǒng)對學生的成績管理等工作非常必要。</p><p> 8.2學生管理系統(tǒng)的數(shù)據(jù)需求包括如下幾點:</p><p> 1、數(shù)據(jù)錄入和處理的準確性。</p><p> 數(shù)據(jù)的輸入是否準確是數(shù)據(jù)處理的前提,錯誤的輸入會導致系統(tǒng)輸出的不正確和不可用,從而使系統(tǒng)的工作失去意義。數(shù)據(jù)的輸入來源是手工輸入。手工輸入要通過系統(tǒng)界面上的安排系統(tǒng)具有容錯性,從而降低出錯概率。
57、</p><p> 2、數(shù)據(jù)的一致性與完整性</p><p> 學生信息管理系統(tǒng)對數(shù)據(jù)的處理有很高的要求,因為對學生信息的處理非常頻繁,所以要有一定的人員維護數(shù)據(jù)的一致性,在數(shù)據(jù)錄入處控制數(shù)據(jù)的去向,并且要求對數(shù)據(jù)庫的數(shù)據(jù)完整性進行嚴格的約束。對于輸入的數(shù)據(jù),要為其定義完整性規(guī)則,如果不能符合完整性約束,系統(tǒng)應(yīng)該拒絕該數(shù)據(jù)。</p><p><b>
58、 3、數(shù)據(jù)的獨立性</b></p><p> 學生信息管理的管理對學校來說是非常重要的一個部分,不可能讓每一個人都對其進行操作,應(yīng)該有特定的人員對學生信息管理系統(tǒng)進行管理,對系統(tǒng)進行獨立操作</p><p><b> 8.3 系統(tǒng)實施</b></p><p> 該階段完成主程序設(shè)計及安裝調(diào)試。利用項目文件,將設(shè)計完成的各文件組
59、裝在一個項目文件中統(tǒng)一管理,并在項目中設(shè)置主程序,設(shè)置系統(tǒng)運行環(huán)境并進行系統(tǒng)的整體調(diào)試。</p><p> 8.4 系統(tǒng)測試及維護</p><p> 應(yīng)用程序設(shè)計完成之后,應(yīng)對系統(tǒng)進行測試,以檢驗系統(tǒng)各個組成部分的正確性,這也是保證系統(tǒng)質(zhì)量的重要手段,主要任務(wù)包括:</p><p> 1、加載數(shù)據(jù),進行單元測試,檢查模塊在功能和結(jié)構(gòu)方面的問題。</p&g
60、t;<p> 2、進行綜合測試,將已測試過的模塊組裝起來進行綜合測試。</p><p> 3、按總體設(shè)計的要求,逐項進行有效性檢查,檢查已開發(fā)的系統(tǒng)是否合格,能否使用。</p><p><b> 第九章 個人總結(jié)</b></p><p> 這次課程設(shè)計用了一個星期時間,期間遇到很多麻煩、錯誤,書上提到的還很好做,但是有的是
61、書上沒有的,要創(chuàng)新,有的是詢問同學,有時詢問老師,有時上網(wǎng)查找,尤其是再給表單編寫代碼時遇上了很大麻煩,但經(jīng)過自己的不懈努力最后還是成功了,多虧了老師和同學耐心的講解,最終將整個學生管理系統(tǒng)相關(guān)表單、報表、程序代碼完成,唯一遺憾的是老師說的系統(tǒng)要分教師和學生兩個不同的權(quán)限,這一點雖然做了但是還有欠缺。</p><p> 我們這個學生管理系統(tǒng)課程設(shè)計大部分都是照著書上的,創(chuàng)新不夠。不過,經(jīng)過這么長時間的學習,我學
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- vfp課程設(shè)計--學生管理系統(tǒng)課程設(shè)計說明書
- 學生管理系統(tǒng)課程設(shè)計說明書 (2)
- vfp學生社團管理系統(tǒng)課程設(shè)計說明書
- 學生成績管理系統(tǒng)課程設(shè)計說明書
- 課程設(shè)計說明書--學生信息管理系統(tǒng)設(shè)計
- 工廠管理系統(tǒng)課程設(shè)計說明書
- 醫(yī)院管理系統(tǒng)課程設(shè)計說明書
- 倉儲管理系統(tǒng)-課程設(shè)計說明書
- 采購管理系統(tǒng)課程設(shè)計說明書
- 學生信息查詢系統(tǒng)課程設(shè)計說明書
- 學生信息查詢系統(tǒng)課程設(shè)計說明書
- c#學生成績管理系統(tǒng)課程設(shè)計說明書
- 圖書管理系統(tǒng)課程設(shè)計說明書
- 醫(yī)院管理系統(tǒng)-醫(yī)院管理系統(tǒng)課程設(shè)計說明書
- 圖書管理系統(tǒng)課程設(shè)計說明書
- 圖書管理系統(tǒng)課程設(shè)計說明書
- 固定資產(chǎn)管理系統(tǒng)課程設(shè)計說明書
- 課程設(shè)計說明書
- 圖書館管理系統(tǒng)課程設(shè)計說明書
- 人事管理系統(tǒng)_java課程設(shè)計說明書
評論
0/150
提交評論