學生信息管理系統(tǒng)畢業(yè)設計_第1頁
已閱讀1頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)設計(論文)</b></p><p>  題目:學生信息管理系統(tǒng)</p><p>  學 生 姓 名: </p><p>  學 號: </p><p>  專 業(yè): 計算機軟件技術 </p>

2、<p>  指導老師姓名: </p><p>  論文提交時間: 2012年3月5日</p><p><b>  目錄</b></p><p>  中文摘要(含關鍵詞)………………………………………………… 1</p><p>  英文摘要(含關鍵詞)…………………………………………………

3、1</p><p>  一、系統(tǒng)可行性研究…………………………………………………… 2</p><p> ?。ㄒ唬┘夹g可行性研究……………………………………………… 2</p><p> ?。ǘ┎僮骺尚行匝芯俊?3</p><p>  二、需求分析…………………………………………………………… 3</

4、p><p>  (一)開發(fā)平臺…………………………………………………………3</p><p> ?。ǘ┦褂闷脚_……………………………………………………… 4</p><p>  三、系統(tǒng)分析…………………………………………………………… 4</p><p> ?。ㄒ唬┫到y(tǒng)開發(fā)的意義……………………………………………… 4</p>

5、<p> ?。ǘ┫到y(tǒng)概要設計………………………………………………… 5</p><p>  (三)設計原則……………………………………………………… 5</p><p> ?。ㄋ模┕δ苄枨蟆?5</p><p> ?。ㄎ澹┬阅苄枨蟆?8</p><p>

6、; ?。┻壿嬯P系圖…………………………………………………… 8</p><p>  四、系統(tǒng)詳細設計……………………………………………………… 10</p><p> ?。ㄒ唬┫到y(tǒng)功能結構圖……………………………………………… 10</p><p> ?。ǘ┐a實現(xiàn)……………………………………………………… 14</p><p>  五

7、、結論………………………………………………………………… 22</p><p>  參考文獻目錄…………………………………………………………… 22</p><p><b>  中文摘要</b></p><p>  信息管理系統(tǒng)是一個計算機軟硬件資源以及數(shù)據(jù)庫的人-機系統(tǒng)。學生信息管理系統(tǒng)是典型的信息管理系統(tǒng),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維

8、護以及前端應用程序的開發(fā)兩個方面。對于前者要求建立起資料安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。建立學生成績管理系統(tǒng),采用計算機對學生成績進行管理,進一步提高辦學效益和現(xiàn)代化水平。幫助廣大教師提高工作效率,實現(xiàn)學生成績信息管理工作流程的系統(tǒng)化、規(guī)范化和自動化,對整個學生管理進行記載,并實行電子化管理。 </p><p>  于是,我們使用 Microsoft 公司的 Visual B

9、asic 6.0 開發(fā)工具,在對系統(tǒng)進行設計和完善后,創(chuàng)建了 SQL數(shù)據(jù)庫。并將二者連接起來,形成學生信息管理系統(tǒng)。</p><p>  關鍵詞:學生管理 軟件工程 數(shù)據(jù)庫 信息</p><p><b>  ABSTRACT</b></p><p>  Information management system is a computer

10、 software and hardware resources and database people - machine system. Students' information management system is the typical information management system, its development mainly includes the setting and maintenance

11、 of database and the programming of the frontend application. The former required build material security good storehouse. For the latter requires the application program function complete, easy to use, etc. </p>

12、<p>  Hence, we use the Microsoft company's Visual Basic 6.0 development tools on system design and perfect, created after SQL database. And both, forming students connected information management system.</p&

13、gt;<p>  Key Words: Student management software engineering database information</p><p><b>  學生信息管理系統(tǒng)</b></p><p>  隨著各個學校的規(guī)模增大,有關學生管理工作所涉及的數(shù)據(jù)量越來越大,各個學校的學生管理基本上都是靠手工進行,有的學校不

14、得不靠增加人力、物力來進行學生管理。</p><p>  作為計算機應用的一部分,使用計算機對學生信息進行管理,具有手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高學生管理的效率,也是企業(yè)的科學化、正規(guī)化管理,與世界接軌的重要條件。建立學生成績管理系統(tǒng),采用計算機對學生成績進行管理,進一步提高辦學效益和現(xiàn)代化水平。幫助廣大教師提高工作效率,

15、實現(xiàn)學生成績信息管理工作流程的系統(tǒng)化、規(guī)范化和自動化。</p><p>  因此,開發(fā)這樣一套管理軟件成為很有必要的事情,在下面的各章中我將以開發(fā)學生管理系統(tǒng)為例,談談其開發(fā)過程和所涉及到的問題及解決方法。</p><p><b>  一、系統(tǒng)可行性研究</b></p><p> ?。ㄒ唬┘夹g可行性研究</p><p>

16、  學生信息管理是高校管理的重要組成部分,是高等學校非常重要的一項數(shù)據(jù)資源,是一個教育單位不可缺少一部分。學生的穩(wěn)定是學校快速發(fā)展的有力保障,這不僅僅關系到學生在校期間的表現(xiàn),在很大程度上度量了一個學生的跟蹤管理。學生管理的重要性不言而喻,但因為其包含的數(shù)據(jù)量大,涉及的人員面廣,而且需要及時更新,所以學生管理在學校中是很繁瑣的,在每個系,每個學生都需要有對應的檔案記錄。在學校各項管理中,學生管理牽涉到的其他管理內(nèi)容是最復雜的,它牽涉到了

17、學生個人檔案管理、學籍管理、成績管理、課程管理等。所以在實際管理工作中,往往由于記錄的數(shù)量多、管理復雜、可連續(xù)性差,造成學生管理的混亂。對這一混亂,最好的解決辦法就是借助計算機技術和數(shù)據(jù)庫管理系統(tǒng),對整個學生管理進行記載,并實行電子化管理。本課題的目的就是開發(fā)“學生管理系統(tǒng)”,通過這一系統(tǒng)來掌握學生的管理情況,實現(xiàn)學生信息管理的電子化,提供一個電子化的學生管理平臺。</p><p>  以Windows為操作系統(tǒng)

18、,運用SQL Server的數(shù)據(jù)庫技術,開發(fā)以Windows為用戶的操作平臺,界面友善、功能齊全的《學生管理系統(tǒng)》。</p><p>  新系統(tǒng)的運行硬件環(huán)境PC機,當用戶使用系統(tǒng)時,通過正確的口令進入系統(tǒng),進行數(shù)據(jù)庫的維護操作和運用。</p><p> ?。ǘ┎僮骺尚行匝芯?lt;/p><p>  本系統(tǒng)采用基于Windows的圖形用戶界面,而該系統(tǒng)是大家熟悉的操作

19、系統(tǒng),對于那些有一般的計算機知識的人員就可以輕松上手。而整個管理系統(tǒng)采用最友好的交互界面,簡潔明了,不需要對數(shù)據(jù)庫進行深入的了解。</p><p>  由此,該系統(tǒng)的操作是可行的,有必要開發(fā)該系統(tǒng)。</p><p>  綜合以上三方面,該系統(tǒng)具有很高的開發(fā)可行性,無論是從技術上或者經(jīng)濟上還是操作上。因此,可以設計該系統(tǒng)的數(shù)據(jù)流程圖。</p><p><b>

20、;  二、需求分析</b></p><p><b> ?。ㄒ唬╅_發(fā)平臺</b></p><p><b>  1.數(shù)據(jù)庫選擇</b></p><p><b>  2、操作系統(tǒng)的選擇</b></p><p>  3、而本系統(tǒng)選擇的開發(fā)平臺是</p><

21、;p>  系統(tǒng):Microsoft Windows2003</p><p>  硬件:計算機(CPU 2.40GH、內(nèi)存 512MB、硬盤80G)</p><p>  軟件:Microsoft Visual Studio2005、SQL Server2000</p><p><b> ?。ǘ┦褂闷脚_</b></p><

22、;p>  硬件配置主要包括客戶端硬件的選擇和服務器端硬件的選擇。學生管理系統(tǒng)的硬件配置根據(jù)用戶對系統(tǒng)的穩(wěn)定性要求、系統(tǒng)的容量、系統(tǒng)的吞吐量以及用戶的維護水平來確定。 如:表1,表2</p><p>  1. 客戶端硬件選擇</p><p><b>  表1</b></p><p>  2.服務器端硬件選擇</p>

23、<p><b>  表2</b></p><p><b>  三、系統(tǒng)分析</b></p><p> ?。ㄒ唬┫到y(tǒng)開發(fā)的意義</p><p>  學生管理系統(tǒng)的建立是可以有效的節(jié)省人力資源提高管理效率的投資,其設計理念很簡單,變?nèi)斯す芾韺W生信息為計算機自動化進行學生信息的管理,既省時間又提高效率。因此在系統(tǒng)構建時

24、,只要我們本著豐富學生管理的信息資源,為學生和教務管理員方便的快捷的學生信息查詢途徑和管理手段,去改變原有的效率低下的管理方式,那么學生管理系統(tǒng)是完全可行的.學生管理系統(tǒng)是一個學校不可缺少的部分,它的內(nèi)容對于學校管理者來說是至關重要,所以學生管理系統(tǒng)應該能夠為學校管理者提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理學生檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間長了,將產(chǎn)生大量的文件和數(shù)據(jù),這對

25、于查找、更新和維護都帶來了不少的困難。</p><p>  隨著計算機科學技術的不斷研究與發(fā)展,計算機正日益廣泛地應用到社會各大領域,他在人類社會各個領域發(fā)揮著越來越重要的作用,給人們的學習、工作、生活帶來了極大的便利,在教育系統(tǒng)領域亦是如此。</p><p>  作為計算機應用的一部分,使用計算機對學生信息進行管理,具有手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量

26、大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高的效率,也是學校科學化、正規(guī)化管理的重要條件。</p><p><b>  (二)系統(tǒng)概要設計</b></p><p>  系統(tǒng)分成幾個相對獨立的模塊,這些模塊都進行集中式管理。分層的模塊化程序設計思想,整個系統(tǒng)采用模塊化結構設計。合理的數(shù)據(jù)流設計,在應用系統(tǒng)設計中,相對獨立的模塊間以數(shù)據(jù)流相互連接,使各模塊間的耦

27、合性較低,方便系統(tǒng)運行,提高系統(tǒng)安全性。</p><p><b>  (三)設計原則</b></p><p>  為了使本系統(tǒng)功能齊全完備,操作簡便,最大限度的提高軟件的質(zhì)量,從而滿足用戶的實際需要,在設計開發(fā)過程中遵循了如下原則:</p><p>  正 確 性 原 則:消息在不同系統(tǒng)平臺之間進行傳遞和顯示時不會出現(xiàn)亂碼現(xiàn)象。</p&g

28、t;<p>  健 壯 性 原 則:能夠容納100-200人同時在線交流,服務器端程序連續(xù)應工作半年以上。</p><p>  可 靠 性 原 則:應用程序異常退出及崩潰的機率小于等于5%。</p><p>  準 確 性 原 則:對輸入的相關資料建立檢錯機制,及時報錯,使用戶能夠及時準確的輸入合法資料。</p><p>  程序可讀性原則:為了便于其

29、他人員設計,維護人員讀懂代碼或以后的代碼修改,軟件升級維護,盡可能地做好代碼注釋工作。</p><p>  易 操 作 原 則:要求設計的系統(tǒng)功能齊全,界面友好,操作方便,必要的地方進行提示。</p><p><b> ?。ㄋ模┕δ苄枨?lt;/b></p><p>  本系統(tǒng)采用自定向下方法開發(fā),其功能模塊主要有如下幾個部分:系統(tǒng)主界面、基礎資料部

30、分、學生管理部分、課程管理部分、成績管理部分。具體的功能描述如下:</p><p><b>  如表1所示</b></p><p><b>  表1</b></p><p>  后臺管理用例圖:如表2所示 </p><p><b>  表2</b></p>

31、<p><b>  1.用戶登錄</b></p><p>  根據(jù)用戶填寫的名稱和密碼,判斷該用戶是否為管理員。如果用戶名和密碼都正確,則轉到主界面,如果不正確,提示錯誤信息。</p><p>  業(yè)務流程圖:如圖3所示</p><p><b>  圖3</b></p><p><

32、b>  2.基礎資料設置</b></p><p>  基礎資料設置包括院系設置、班級設置和學期設置等幾個方面。</p><p>  (1)院系設置包括院系的添加、修改、查看、刪除。</p><p> ?。?)班級設置包括班級的添加、修改、查看、刪除。</p><p> ?。?)學期設置包括學期的添加、修改、查看、刪除。<

33、;/p><p><b>  3.學生管理</b></p><p>  學生管理包括學生檔案的管理編輯和學生學籍管理兩個方面。</p><p>  學生檔案管理編輯包括學生各種 資料 的添加、修改、查看、刪除。</p><p> ?。?) 學生學籍管理包括學生院系和班級的變動以及學生離校的處理。</p><

34、p>  檔案管理用例圖:如圖4所示</p><p><b>  圖4</b></p><p><b>  4.課程管理</b></p><p>  課程管理包括設置和班級選課兩個方面。</p><p>  課程的設置:用戶選擇添加,修改,刪除操作,系統(tǒng)執(zhí)行添加課程信息。</p>

35、<p>  班級選課:班級選課是以班級為單位選擇在某個學期內(nèi)的所有課程,同時也為此班級內(nèi)的所有成員選擇了課程。因為每一班級每一個學期所學的課程名稱不能相同,所有選擇ListBox將所有課程名稱列出來,然后在選擇此課程的同時,刪除顯示課程名稱ListBox中的此課程名稱。這樣在這個班的下個學期就不會再出現(xiàn)此課程了。同時根據(jù)選擇課程名稱創(chuàng)建表結構。以便查詢所有學生的成績。</p><p><b>

36、  5.成績管理</b></p><p>  成績管理包括學生成績編輯和學生成績分析兩個方面。</p><p>  學生成績編輯包括學生成績錄入和學生成績修改。</p><p>  學生成績分析是用列表和圖形等方法給出某個班級某個科目的最高、最低、平均分統(tǒng)計和總體分數(shù)分布圖。</p><p>  前臺用戶登錄:根據(jù)不同的身份(學生

37、,老師)登錄,賦予用戶不同的權限。</p><p>  以學生身份登錄:學生以姓名,學號登錄,學籍信息以及某個學期的所有成績。</p><p><b>  如圖5所示</b></p><p><b>  圖5</b></p><p>  以老師身份登錄:老師以用戶名,密碼登錄的某系某班學生的所有學籍

38、信息以及 某學期的所有人的成績?;蚴悄硞€任課老師想要查詢他所教的學科的該班人的成績。</p><p><b>  (五)性能需求</b></p><p><b>  1.時間特性</b></p><p>  該管理系統(tǒng)軟件從啟動到進入系統(tǒng)登錄界面的時間正常情況下應少于5秒,錄入并更新數(shù)據(jù)的時間正常情況下少于2秒。<

39、/p><p><b>  2.適應性</b></p><p>  該管理系統(tǒng)軟件適用于Windows 2000/xp及以上操作系統(tǒng)。</p><p><b> ?。┻壿嬯P系圖</b></p><p><b>  1.數(shù)據(jù)庫關系圖</b></p><p>

40、<b>  如圖6所示</b></p><p><b>  圖6</b></p><p><b>  2.邏輯結構圖</b></p><p>  如表7,表8,表9,表10,表11,表12,表13,表14所示</p><p>  Department(院系信息表)</p&

41、gt;<p><b>  表7</b></p><p>  Class(班級信息表)</p><p><b>  表8</b></p><p>  Course(課程信息表)</p><p><b>  表9</b></p><p>  S

42、emester(學期信息表)</p><p><b>  表10</b></p><p>  Student(學生信息表)</p><p><b>  表11</b></p><p>  SelectCourse(選課信息表)</p><p><b>  表12&l

43、t;/b></p><p>  Score(成績信息表)</p><p><b>  表13</b></p><p>  UserInfo(用戶表)</p><p><b>  表14</b></p><p><b>  四、系統(tǒng)詳細設計</b>&

44、lt;/p><p> ?。ㄒ唬┫到y(tǒng)功能結構圖</p><p>  學生管理系統(tǒng)提供:基礎設置,學生管理,課程管理,成績管理。</p><p>  登錄界面如圖1所示:</p><p><b>  圖1</b></p><p>  當以老師身份登錄成功后,界面如圖2所示:</p><

45、p><b>  圖2</b></p><p><b>  成績管理</b></p><p>  成績管理包括學生成績編輯和學生成績分析兩個方面。</p><p>  學生成績編輯包括學生成績錄入和學生成績修改,其界面如圖3所示:</p><p><b>  圖3</b>&

46、lt;/p><p>  當窗體加載時二次確認和修改按鈕禁用。當選擇院系、班級、學期后點擊確認按鈕后禁用解除,用戶可以在課程框中選擇課程,點擊二次確認按鈕數(shù)據(jù)加載成功。其界面如圖4所示:</p><p><b>  圖4</b></p><p>  選擇所要修改的信息,按修改按鈕進行修改,提示修改成功,其界面如圖5所示:</p><

47、;p><b>  圖5</b></p><p><b>  修改完畢退出。</b></p><p><b>  2、成績分析</b></p><p>  學生成績分析是用列表和圖形等方法給出某個班級某個科目的最高、最低、平均分統(tǒng)計和總體分數(shù)分布圖。成績列表情況,如圖6所示:</p>

48、<p><b>  圖6</b></p><p>  列表統(tǒng)計情況,如圖7所示:</p><p><b>  圖7</b></p><p>  圖表分析情況,如圖8所示:</p><p><b>  圖8</b></p><p><b&

49、gt; ?。ǘ?、代碼實現(xiàn)</b></p><p><b>  1、成績編輯</b></p><p>  //確定院系、班級、學期以后 對選定課程的確認</p><p>  private void btnScoreCourseSure_Click(object sender, EventArgs e)</p><

50、;p><b>  {</b></p><p>  if (this.cmbCourse.Text == null || this.cmbCourse.Text == "")</p><p><b>  {</b></p><p>  MessageBox.Show("請選擇課程"

51、;, "用戶提示");</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  String dispSql = "exec proc_v_studentSc

52、ore '" + this.cmbDepartment.SelectedItem.ToString() + "','" + this.cmbClass.SelectedItem.ToString() + </p><p>  "','" + this.cmbSemester.SelectedItem.ToString() +

53、 "','" + this.cmbCourse.SelectedItem.ToString() + "'";</p><p>  dispDS = DBCon.getDataSet(dispSql);</p><p>  if (dispDS.Tables[0].Rows.Count == 0)</p><

54、p><b>  {</b></p><p>  this.dgScoreEdit.Enabled = false;</p><p>  this.btnScoreSubmit.Enabled = false;</p><p><b>  }</b></p><p><b>  els

55、e</b></p><p><b>  {</b></p><p>  this.dgScoreEdit.Enabled = true;</p><p>  this.btnScoreSubmit.Enabled = true;</p><p>  this.dgScoreEdit.DataSource =

56、dispDS.Tables[0];</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  //成績修改</b></p><p>  pri

57、vate void btnScoreSubmit_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>  for (int

58、 i = 0; i < dispDS.Tables[0].Rows.Count; i++)</p><p><b>  {</b></p><p>  double score = Convert.ToDouble(dispDS.Tables[0].Rows[i][2]);</p><p>  String studentid = dis

59、pDS.Tables[0].Rows[i][1].ToString();</p><p>  String modSql = "exec proc_update_v_studentScore "+score+",'"+studentid+"','" + this.cmbDepartment.SelectedItem.ToStrin

60、g() + "','" + this.cmbClass.SelectedItem.ToString() + "','" + this.cmbSemester.SelectedItem.ToString() + "','" + this.cmbCourse.SelectedItem.ToString() + "'&

61、quot;;</p><p>  DBCon.updateScore(modSql);</p><p>  //this.label5.Text = score.ToString();</p><p>  MessageBox.Show("成績修改成功", "用戶提示");</p><p>  //更新

62、stu_score</p><p>  String up_Stuscore = "update stu_score set" + this.cmbCourse.SelectedItem.ToString() + " =" + score + " where 班級='" + this.cmbClass.SelectedItem.ToString(

63、) + "' and 學號='" + studentid+"'";</p><p><b>  //</b></p><p>  DBCon.Update_stu_score(up_Stuscore);</p><p><b>  }</b></p>

64、;<p>  }catch(Exception ex)</p><p><b>  {</b></p><p>  MessageBox.Show(ex.ToString());</p><p><b>  }</b></p><p><b>  }</b><

65、;/p><p><b>  //成績退出</b></p><p>  private void btnScoreExit_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  this.Close();</p>&l

66、t;p><b>  }</b></p><p><b>  //窗體加載</b></p><p>  private void ScoreEdit_Load(object sender, EventArgs e)</p><p><b>  {</b></p><p>&

67、lt;b>  //讀取所有院系</b></p><p>  String departmentSql = "select DepartmentName from Department";</p><p>  DataSet departmentDS = DBCon.getDataSet(departmentSql);</p><p&

68、gt;  foreach (DataRow dr in departmentDS.Tables[0].Rows)</p><p><b>  {</b></p><p>  this.cmbDepartment.Items.Add(dr["DepartmentName"].ToString());</p><p><b

69、>  }</b></p><p><b>  }</b></p><p>  //選中某一院系 讀取 特定班級、有幾個學期</p><p>  private void cmbDepartment_SelectedIndexChanged(object sender, EventArgs e)</p><p

70、><b>  {</b></p><p>  this.cmbCourse.Items.Clear();</p><p>  this.cmbCourse.Text = "";</p><p><b>  //班級</b></p><p>  this.cmbClass.I

71、tems.Clear();</p><p>  this.cmbClass.Text = "";</p><p>  String classSql = "exec proc_v_allClass '" + this.cmbDepartment.SelectedItem.ToString() + "'";</

72、p><p>  DataSet classDS = DBCon.getDataSet(classSql);</p><p>  foreach (DataRow dr in classDS.Tables[0].Rows)</p><p><b>  {</b></p><p>  this.cmbClass.Items.Ad

73、d(dr["ClassName"].ToString());</p><p><b>  }</b></p><p><b>  //學期</b></p><p>  this.cmbSemester.Items.Clear();</p><p>  this.cmbSemest

74、er.Text = "";</p><p>  String semesterSql = "exec proc_v_allSemester '"+this.cmbDepartment.SelectedItem.ToString()+"'";</p><p>  DataSet semesterDS = DBCon.

75、getDataSet(semesterSql);</p><p>  foreach (DataRow dr in semesterDS.Tables[0].Rows)</p><p><b>  {</b></p><p>  this.cmbSemester.Items.Add(dr["SemesterName"].To

76、String());</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  2.成績分析</b></p><p><b>  //窗體加載</b></p><p>  priva

77、te void ScoreFenxi_Load(object sender, EventArgs e)</p><p><b>  {</b></p><p><b>  //讀取所有院系</b></p><p>  String departmentSql = "select DepartmentName fr

78、om Department";</p><p>  DataSet departmentDS = DBCon.getDataSet(departmentSql);</p><p>  foreach (DataRow dr in departmentDS.Tables[0].Rows)</p><p><b>  {</b></

79、p><p>  this.cmbFXDepartment.Items.Add(dr["DepartmentName"].ToString());</p><p><b>  }</b></p><p>  this.rvFenxi.RefreshReport();</p><p>  this.rvFen

80、xi.RefreshReport();</p><p><b>  }</b></p><p>  //選中某一院系 讀取 特定班級、有幾個學期</p><p>  private void cmbFXDepartment_SelectedIndexChanged(object sender, EventArgs e)</p>&

81、lt;p><b>  {</b></p><p>  this.cmbFXClass.Items.Clear();</p><p>  this.cmbFXClass.Text = "";</p><p>  this.cmbFXCourse.Enabled = false;</p><p> 

82、 this.btnCount.Enabled = false;</p><p>  this.tabControl1.Enabled = false;</p><p><b>  //班級</b></p><p>  this.cmbFXClass.Items.Clear();</p><p>  this.cmbFXC

83、lass.Text = "";</p><p>  String classSql = "exec proc_v_allClass '" + </p><p>  this.cmbFXDepartment.SelectedItem.ToString() + "'";</p><p>  Da

84、taSet classDS = DBCon.getDataSet(classSql);</p><p>  foreach (DataRow dr in classDS.Tables[0].Rows)</p><p><b>  {</b></p><p>  this.cmbFXClass.Items.Add(dr["ClassNa

85、me"].ToString());</p><p><b>  }</b></p><p><b>  //學期</b></p><p>  this.cmbFXSemester.Items.Clear();</p><p>  this.cmbFXSemester.Text = &quo

86、t;";</p><p>  String semesterSql = "exec proc_v_allSemester '"+this.cmbFXDepartment.SelectedItem.ToString()+"'";</p><p>  DataSet semesterDS = DBCon.getDataSet(s

87、emesterSql);</p><p>  foreach (DataRow dr in semesterDS.Tables[0].Rows)</p><p><b>  {</b></p><p>  this.cmbFXSemester.Items.Add(dr["SemesterName"].ToString());

88、</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  //開始統(tǒng)計</b></p><p>  private void btnCount_Click(object sender, EventArgs e)</p&g

89、t;<p><b>  {</b></p><p>  if (this.cmbFXCourse.Text == null || this.cmbFXCourse.Text == "")</p><p><b>  {</b></p><p>  MessageBox.Show("

90、;請選擇課程", "用戶提示");</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  String dispFXSql = "exec pro

91、c_v_studentScore '" + this.cmbFXDepartment.SelectedItem.ToString() + "','" + this.cmbFXClass.SelectedItem.ToString() + "','" + this.cmbFXSemester.SelectedItem.ToString() </

92、p><p>  + "','" + this.cmbFXCourse.SelectedItem.ToString() + "'";</p><p>  dispFXDS = DBCon.getDataSet(dispFXSql);</p><p>  if (dispFXDS.Tables[0].Rows.

93、Count == 0)</p><p><b>  {</b></p><p>  MessageBox.Show("沒有獲取數(shù)據(jù),相關控件將禁用");</p><p>  this.tabControl1.Enabled = false;</p><p><b>  }</b>

94、</p><p><b>  else</b></p><p><b>  {</b></p><p>  this.tabControl1.Enabled = true;</p><p>  this.dgList.DataSource = dispFXDS.Tables[0];</p>

95、;<p><b>  }</b></p><p>  } </p><p><b>  }</b></p><p>  //用三種方式顯示數(shù)據(jù)</p><p>  private void tabControl1_Selected(object sender, T

96、abControlEventArgs e)</p><p><b>  {</b></p><p>  if (this.tabControl1.SelectedIndex == 0)</p><p><b>  {</b></p><p>  this.dgList.DataSource = di

97、spFXDS.Tables[0];</p><p><b>  }</b></p><p>  else if (this.tabControl1.SelectedIndex == 1)</p><p><b>  {</b></p><p>  this.lvCount.Clear();</

98、p><p>  this.lvCount.Columns.Add("統(tǒng)計項");</p><p>  this.lvCount.Columns.Add("得分");</p><p>  double averageMark;//平均分</p><p>  double maxMark = 0;//最高分&l

99、t;/p><p>  double minMark = 100;//最低分</p><p>  double sum = 0;//總分</p><p>  double score;</p><p>  for (int i = 0; i < dispFXDS.Tables[0].Rows.Count; i++)</p>&l

100、t;p><b>  {</b></p><p>  score = Convert.ToDouble(dispFXDS.Tables[0].Rows[i][2]);</p><p>  if (maxMark < score)</p><p>  maxMark = score;</p><p>  if (

101、minMark > score)</p><p>  minMark = score;</p><p>  sum = sum + score;</p><p><b>  }</b></p><p>  averageMark = sum / (Convert.ToDouble(dispFXDS.Tables[0

102、].Rows.Count));</p><p>  //顯示平均分、最高分、最低分</p><p>  ListViewItem lviAverage = new ListViewItem();</p><p>  lviAverage.SubItems.Clear();</p><p>  lviAverage.SubItems[0].Te

103、xt = "平均分";</p><p>  lviAverage.SubItems.Add(averageMark.ToString());</p><p>  this.lvCount.Items.Add(lviAverage);</p><p>  ListViewItem lviMax = new ListViewItem();</p

104、><p>  lviMax.SubItems.Clear();</p><p>  lviMax.SubItems[0].Text = "最高分";</p><p>  lviMax.SubItems.Add(maxMark.ToString());</p><p>  this.lvCount.Items.Add(lviMa

105、x);</p><p>  ListViewItem lviMin = new ListViewItem();</p><p>  lviMin.SubItems.Clear();</p><p>  lviMin.SubItems[0].Text = "最低分";</p><p>  lviMin.SubItems.Ad

106、d(minMark.ToString());</p><p>  this.lvCount.Items.Add(lviMin);</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p>

107、<p><b>  //用圖表形式顯示</b></p><p>  this.proc_v_studentScoreTableAdapter.Fill(this.dS_StuScore.proc_v_studentScore,this.cmbFXDepartment.SelectedItem.ToString(),this.cmbFXClass.SelectedItem.ToStr

108、ing(),this.cmbFXSemester.SelectedItem.ToString(),this.cmbFXCourse.SelectedItem.ToString());</p><p>  this.rvFenxi.RefreshReport();</p><p><b>  }</b></p><p><b>  }&

109、lt;/b></p><p><b>  五、結論</b></p><p>  通過這段時間的設計和開發(fā),我終于完成了學生信息管理系統(tǒng)。再此過程中使我學會了很多有用的東西,受益匪淺。在編寫程序的過程中,我回顧了以前所學的知識,將學習到得知識在這個項目中得到了充分的應用,達到了檢驗自我的目的。并且通過和別人一起合作,學到了新的知識,積累了經(jīng)驗。</p>

110、<p>  我感覺系統(tǒng)的分析與設計是一項很辛苦的工作,但同時也是一個充滿樂趣的過程。在設計過程中我們不斷遇到新問題,經(jīng)過自己的努力和摸索,問題又不斷得到了解決。努力和摸索的過程也是鍛煉自己耐心和毅力的過程,這其間的樂趣也只有親身實踐才能體會到。分析工作的深入與否直接影響到系統(tǒng)設計的質(zhì)量,我們在系統(tǒng)調(diào)試工作中深深體會到:越是早期的錯誤,往往越難發(fā)現(xiàn),處理起來越困難。所以要非常重視早期的系統(tǒng)分析工作,決不能草率行事,否則一旦出

111、現(xiàn)錯誤,將使系統(tǒng)的開發(fā)工作大量返工,造成工期的延誤和人力物力的極大浪費。</p><p>  在這次設計中我得到了老師和同學的指導和幫助,使我們認識到團隊精神的重要性,因為一個人所學的知識不可能面面俱到的,只有通過合作,發(fā)揮自己的優(yōu)點,體現(xiàn)團隊精神,才能使工作做得更為出色。通過這次設計,我學到了許多書本上學不到的知識,增強了自己的動手能力和自信心。通過這次設計使我們能力有了很大的提高,為我們以走上工作崗位打下了扎

112、實的基礎。</p><p><b>  參考文獻目錄:</b></p><p>  [1] 林晨磊.面向對象程序設計系列教材[Z].人民郵電出版社,2008[2] 周培德.數(shù)據(jù)庫原理及應用[Z].電子工業(yè)出版社,1998 </p><p>  [3] 劉斌文.Visual basic運用技術[J].北京大學出版社,2010[4] 王耀武.管

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論