學(xué)生管理系統(tǒng)課程設(shè)計(jì)說明書_第1頁
已閱讀1頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  學(xué)生管理系統(tǒng)課程設(shè)計(jì)說明書</p><p>  2012~2013學(xué)年第一學(xué)期</p><p><b>  學(xué)</b></p><p><b>  第一章 系統(tǒng)概述</b></p><p><b>  1.1 開發(fā)思路</b></p><

2、;p>  數(shù)據(jù)庫應(yīng)用系統(tǒng)“學(xué)生管理系統(tǒng)”的開發(fā)思路是:</p><p>  1、以數(shù)據(jù)庫和表為核心構(gòu)造數(shù)據(jù)對(duì)象。 </p><p>  2、創(chuàng)建菜單以實(shí)現(xiàn)功能調(diào)用。</p><p>  3、實(shí)現(xiàn)被調(diào)用的各模塊,主要有表單、報(bào)表、程序。</p><p>  4、構(gòu)造項(xiàng)目,并在項(xiàng)目管理器中添加文件,設(shè)置主文件,連編應(yīng)用程序,發(fā)布項(xiàng)目。<

3、;/p><p><b>  1.2 系統(tǒng)要求</b></p><p>  數(shù)據(jù)庫應(yīng)用系統(tǒng)“學(xué)生管理系統(tǒng)”的系統(tǒng)要求:</p><p>  良好的用戶界面設(shè)計(jì)。</p><p><b>  穩(wěn)定的數(shù)據(jù)存儲(chǔ)。</b></p><p><b>  數(shù)據(jù)查詢功能。</b&

4、gt;</p><p>  合理的輸入或輸出設(shè)計(jì)。</p><p><b>  1.3 功能分析 </b></p><p>  學(xué)生管理系統(tǒng)是一個(gè)小型的數(shù)據(jù)庫應(yīng)用系統(tǒng),主要完成成績管理及統(tǒng)計(jì)功能,從用戶需求的角度分析,系統(tǒng)功能包括以下幾個(gè)方面:</p><p>  1、管理系統(tǒng)登錄驗(yàn)證。</p><p

5、>  2、基本信息維護(hù),主要包括學(xué)生信息、課程信息及成績信息的錄入和編輯。</p><p>  3、數(shù)據(jù)瀏覽和統(tǒng)計(jì)功能。瀏覽基本信息,學(xué)生選修的課程設(shè)計(jì)、成績統(tǒng)計(jì)及學(xué)生信息統(tǒng)計(jì)。</p><p>  4、各類檢索信息的顯示和打印。</p><p><b>  1.4 系統(tǒng)結(jié)構(gòu) </b></p><p>  根據(jù)學(xué)生

6、管理系統(tǒng)功能要求,按結(jié)構(gòu)化程序設(shè)計(jì)原則,進(jìn)行系統(tǒng)功能設(shè)計(jì)原則,進(jìn)行系統(tǒng)功能模塊的劃分,完成系統(tǒng)結(jié)構(gòu)圖,如下圖所示:</p><p>  ----學(xué)生管理系統(tǒng)結(jié)構(gòu)圖</p><p><b>  第二章 數(shù)據(jù)庫設(shè)計(jì)</b></p><p><b>  2.1 數(shù)據(jù)庫</b></p><p>  根據(jù)需求

7、分析結(jié)果,以及功能要求,建立“學(xué)生管理系統(tǒng)”所需數(shù)據(jù)庫,各類數(shù)據(jù)資源如下所示:</p><p>  2.2 舉例student表如下圖</p><p>  2.3 舉例成績管理如下圖</p><p><b>  第三章 表單設(shè)計(jì)</b></p><p>  3.1 建立學(xué)生管理系統(tǒng)所需表單</p><

8、p>  3.2 建立系統(tǒng)登錄表單:start.scx</p><p>  登錄表單的界面如下圖所示,主要功能是用戶身份驗(yàn)證,只有提供正確的用戶名和密碼才能進(jìn)入系統(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="用戶名或密碼錯(cuò)誤! "</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="對(duì)不起,您無權(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="用戶名或密碼錯(cuò)誤!"

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="對(duì)不起,你無權(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ù)維護(hù)表單</p><p>  實(shí)現(xiàn)數(shù)據(jù)維護(hù)功能包括三個(gè)表單

25、,即維護(hù)學(xué)生信息表單、維護(hù)成績信息表單和維護(hù)課程信息表單。用于數(shù)據(jù)維護(hù)的三個(gè)表單實(shí)現(xiàn)方法類似,舉例維護(hù)學(xué)生信息表單:</p><p><b>  創(chuàng)建表單。</b></p><p>  設(shè)置數(shù)據(jù)環(huán)境。將“成績管理”數(shù)據(jù)庫中的student表添加到數(shù)據(jù)環(huán)境設(shè)計(jì)器中。在數(shù)據(jù)環(huán)境設(shè)計(jì)器中選中student表,在屬性窗口中設(shè)置exclusive屬性為.T.,設(shè)置student

26、表以獨(dú)占方式打開。</p><p>  將數(shù)據(jù)環(huán)境設(shè)計(jì)器中student表的各字段拖曳到表單上,生成表單控件。</p><p>  添加控件和設(shè)置屬性。</p><p><b>  編寫程序代碼:</b></p><p>  表單的load事件代碼:set delete on</p><p>  

27、“第一個(gè)”按鈕事件代碼為:</p><p><b>  go top</b></p><p>  Thisform.refresh</p><p>  “上一個(gè)”按鈕事件代碼為:</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>  “下一個(gè)”按鈕事件代碼為:</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、 “最后一個(gè)”按鈕事件代碼為:</p><p><b>  go bott</b></p><p>  thisform.refresh</p><p>  “添加”按鈕的事件代碼為:</p><p><b>  appe blan</b></p><p>  thisfor

31、m.txt學(xué)號(hào).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>  實(shí)現(xiàn)數(shù)據(jù)查詢功能需要三個(gè)表單,即查詢學(xué)生

35、信息表單search_stu.scx,查詢學(xué)生成績表單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 課程號(hào)=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 課程號(hào)=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>  實(shí)現(xiàn)數(shù)據(jù)瀏覽功能包括四個(gè)表單,即:瀏覽成績信息表單browse_score.scx、瀏覽課程信息表單browse_course.scx、瀏覽學(xué)生信息表單browse

39、stu.scx、瀏覽學(xué)生成績表單browse_stu_score.scx、</p><p>  以瀏覽學(xué)生成績表單為例:</p><p><b>  相應(yīng)代碼如下:</b></p><p><b>  go top</b></p><p>  this.parent.refresh</p>

40、;<p>  thisform.pageframe1.page2.refresh “第一個(gè)”</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“上一個(gè)”</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、個(gè)”</p><p><b>  go bottom</b></p><p>  this.parent.refresh</p><p>  thisform.pageframe1.page2.refresh“最后一個(gè)”</p><p><b>  第四章 報(bào)表設(shè)計(jì)</b></p>

44、<p>  報(bào)表包括學(xué)生信息報(bào)表和學(xué)生成績報(bào)表,其中學(xué)生信息報(bào)表如下圖所示:</p><p><b>  第五章 主程序</b></p><p>  主程序文件main.prg是整個(gè)應(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\學(xué)生管理系統(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> ?。?)表單start.scx是系統(tǒng)登錄表單,在主程序中被調(diào)用,該表單調(diào)用主表單main_form.scx</p><p&g

47、t;  (3)read events 命令的功能是建立事件循環(huán),該命令使VFP處理鼠標(biāo)單擊、按鍵等用戶事件。</p><p>  (4)通過read events命令啟動(dòng)事件循環(huán)后必須保證在系統(tǒng)界面上存在一個(gè)可以結(jié)束事件循環(huán)clear events命令的機(jī)制,否則系統(tǒng)無法退出。在本系統(tǒng)中,結(jié)束事件循環(huán)的機(jī)制在主菜單的退出選項(xiàng)中實(shí)現(xiàn),該菜單項(xiàng)的過程為:</p><p>  Do cleanu

48、p.prg</p><p>  其中cleanup.prg程序文件用來恢復(fù)系統(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è)計(jì)</b></p><p>  主菜單main_menu.mnx在菜單設(shè)計(jì)器中設(shè)計(jì)完成后主界面如下圖所示:</p><p>  打開文件main_menu.mnx,在菜單設(shè)計(jì)器窗口中,向各子菜單項(xiàng)添加調(diào)用的模塊程序(表單或報(bào)表),完成后,重新生成菜單程序main_menu.scx。</p><p><b>  第七章 項(xiàng)目實(shí)現(xiàn)&l

51、t;/b></p><p>  完成應(yīng)用系統(tǒng)各模塊的設(shè)計(jì)后,可以使用項(xiàng)目管理器創(chuàng)建學(xué)生管理系統(tǒng)項(xiàng)目,構(gòu)成一個(gè)完整的項(xiàng)目體系,最后完成連編程序。</p><p><b>  7.1構(gòu)造項(xiàng)目</b></p><p>  建立一個(gè)項(xiàng)目后,在項(xiàng)目中添加各個(gè)數(shù)據(jù)、表單、菜單和報(bào)表,再添加程序并設(shè)置主文件,在設(shè)置相應(yīng)的項(xiàng)目信息。</p>

52、<p>  7.2項(xiàng)目連編與發(fā)布應(yīng)用程序</p><p>  在VFP工作環(huán)境中,啟動(dòng)安裝向?qū)?,根?jù)安裝向?qū)У奶崾具M(jìn)行操作,創(chuàng)建發(fā)布文件包,生成可執(zhí)行文件。</p><p><b>  7.3 圖解如下:</b></p><p>  7.4 運(yùn)行生成如圖主要界面</p><p>  系統(tǒng)的界面主要包括系統(tǒng)登錄

53、界面、數(shù)據(jù)維護(hù)界面、信息查詢界面、數(shù)據(jù)統(tǒng)計(jì)界面等。</p><p>  1、系統(tǒng)登錄界面。該界面用于用戶身份驗(yàn)證,合法的用戶可進(jìn)入數(shù)據(jù)庫應(yīng)用系統(tǒng)。</p><p>  2、數(shù)據(jù)維護(hù)界面。數(shù)據(jù)維護(hù)界面實(shí)際上是一個(gè)基于數(shù)據(jù)庫的表單,實(shí)現(xiàn)數(shù)據(jù)顯示、輸入和刪除的功能。</p><p>  3、信息查詢界面。在該界面可根據(jù)條件進(jìn)行信息檢索。</p><p&

54、gt;  4、數(shù)據(jù)統(tǒng)計(jì)界面。該界面用于數(shù)據(jù)庫中的數(shù)據(jù),統(tǒng)計(jì)學(xué)生選課及成績信息。</p><p>  第八章 系統(tǒng)總體分析</p><p>  8.1 系統(tǒng)分析包括可行性分析和需求分析兩個(gè)方面。</p><p>  這一階段主要對(duì)系統(tǒng)開發(fā)進(jìn)行可行性論證,分析應(yīng)用系統(tǒng)的開發(fā)目的及要達(dá)到的目標(biāo)要求。在分析階段,信息收集是系統(tǒng)開發(fā)的可行性的重要環(huán)節(jié),通過所需信息的收集,確定

55、應(yīng)用系統(tǒng)的總體目標(biāo)、總體開發(fā)思路。</p><p>  在系統(tǒng)分析的基礎(chǔ)上進(jìn)行數(shù)據(jù)庫設(shè)計(jì)、表單設(shè)計(jì)、報(bào)表設(shè)計(jì)、菜單設(shè)計(jì)等。</p><p><b>  其中必要性分析:</b></p><p>  學(xué)生管理系統(tǒng)是一個(gè)小型的數(shù)據(jù)庫應(yīng)用系統(tǒng),主要完成成績管理及統(tǒng)計(jì)功能,非常適合各大高校使用,而且隨著高校的擴(kuò)招,傳統(tǒng)的管理方式已經(jīng)不能再適用了,所以本

56、系統(tǒng)對(duì)學(xué)生的成績管理等工作非常必要。</p><p>  8.2學(xué)生管理系統(tǒng)的數(shù)據(jù)需求包括如下幾點(diǎn):</p><p>  1、數(shù)據(jù)錄入和處理的準(zhǔn)確性。</p><p>  數(shù)據(jù)的輸入是否準(zhǔn)確是數(shù)據(jù)處理的前提,錯(cuò)誤的輸入會(huì)導(dǎo)致系統(tǒng)輸出的不正確和不可用,從而使系統(tǒng)的工作失去意義。數(shù)據(jù)的輸入來源是手工輸入。手工輸入要通過系統(tǒng)界面上的安排系統(tǒng)具有容錯(cuò)性,從而降低出錯(cuò)概率。

57、</p><p>  2、數(shù)據(jù)的一致性與完整性</p><p>  學(xué)生信息管理系統(tǒng)對(duì)數(shù)據(jù)的處理有很高的要求,因?yàn)閷?duì)學(xué)生信息的處理非常頻繁,所以要有一定的人員維護(hù)數(shù)據(jù)的一致性,在數(shù)據(jù)錄入處控制數(shù)據(jù)的去向,并且要求對(duì)數(shù)據(jù)庫的數(shù)據(jù)完整性進(jìn)行嚴(yán)格的約束。對(duì)于輸入的數(shù)據(jù),要為其定義完整性規(guī)則,如果不能符合完整性約束,系統(tǒng)應(yīng)該拒絕該數(shù)據(jù)。</p><p><b> 

58、 3、數(shù)據(jù)的獨(dú)立性</b></p><p>  學(xué)生信息管理的管理對(duì)學(xué)校來說是非常重要的一個(gè)部分,不可能讓每一個(gè)人都對(duì)其進(jìn)行操作,應(yīng)該有特定的人員對(duì)學(xué)生信息管理系統(tǒng)進(jìn)行管理,對(duì)系統(tǒng)進(jìn)行獨(dú)立操作</p><p><b>  8.3 系統(tǒng)實(shí)施</b></p><p>  該階段完成主程序設(shè)計(jì)及安裝調(diào)試。利用項(xiàng)目文件,將設(shè)計(jì)完成的各文件組

59、裝在一個(gè)項(xiàng)目文件中統(tǒng)一管理,并在項(xiàng)目中設(shè)置主程序,設(shè)置系統(tǒng)運(yùn)行環(huán)境并進(jìn)行系統(tǒng)的整體調(diào)試。</p><p>  8.4 系統(tǒng)測試及維護(hù)</p><p>  應(yīng)用程序設(shè)計(jì)完成之后,應(yīng)對(duì)系統(tǒng)進(jìn)行測試,以檢驗(yàn)系統(tǒng)各個(gè)組成部分的正確性,這也是保證系統(tǒng)質(zhì)量的重要手段,主要任務(wù)包括:</p><p>  1、加載數(shù)據(jù),進(jìn)行單元測試,檢查模塊在功能和結(jié)構(gòu)方面的問題。</p&g

60、t;<p>  2、進(jìn)行綜合測試,將已測試過的模塊組裝起來進(jìn)行綜合測試。</p><p>  3、按總體設(shè)計(jì)的要求,逐項(xiàng)進(jìn)行有效性檢查,檢查已開發(fā)的系統(tǒng)是否合格,能否使用。</p><p><b>  第九章 個(gè)人總結(jié)</b></p><p>  這次課程設(shè)計(jì)用了一個(gè)星期時(shí)間,期間遇到很多麻煩、錯(cuò)誤,書上提到的還很好做,但是有的是

61、書上沒有的,要?jiǎng)?chuàng)新,有的是詢問同學(xué),有時(shí)詢問老師,有時(shí)上網(wǎng)查找,尤其是再給表單編寫代碼時(shí)遇上了很大麻煩,但經(jīng)過自己的不懈努力最后還是成功了,多虧了老師和同學(xué)耐心的講解,最終將整個(gè)學(xué)生管理系統(tǒng)相關(guān)表單、報(bào)表、程序代碼完成,唯一遺憾的是老師說的系統(tǒng)要分教師和學(xué)生兩個(gè)不同的權(quán)限,這一點(diǎn)雖然做了但是還有欠缺。</p><p>  我們這個(gè)學(xué)生管理系統(tǒng)課程設(shè)計(jì)大部分都是照著書上的,創(chuàng)新不夠。不過,經(jīng)過這么長時(shí)間的學(xué)習(xí),我學(xué)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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)論