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

下載本文檔

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

文檔簡介

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

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

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

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

5、<p>  (二)系統(tǒng)概要設(shè)計………………………………………………… 5</p><p> ?。ㄈ┰O(shè)計原則……………………………………………………… 5</p><p>  (四)功能需求……………………………………………………… 5</p><p> ?。ㄎ澹┬阅苄枨蟆?8</p><p>

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

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

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

9、asic 6.0 開發(fā)工具,在對系統(tǒng)進(jìn)行設(shè)計和完善后,創(chuàng)建了 SQL數(shù)據(jù)庫。并將二者連接起來,形成學(xué)生信息管理系統(tǒng)。</p><p>  關(guān)鍵詞:學(xué)生管理 軟件工程 數(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>  學(xué)生信息管理系統(tǒng)</b></p><p>  隨著各個學(xué)校的規(guī)模增大,有關(guān)學(xué)生管理工作所涉及的數(shù)據(jù)量越來越大,各個學(xué)校的學(xué)生管理基本上都是靠手工進(jìn)行,有的學(xué)校不

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

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

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

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

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

19、系統(tǒng),對于那些有一般的計算機(jī)知識的人員就可以輕松上手。而整個管理系統(tǒng)采用最友好的交互界面,簡潔明了,不需要對數(shù)據(jù)庫進(jìn)行深入的了解。</p><p>  由此,該系統(tǒng)的操作是可行的,有必要開發(fā)該系統(tǒng)。</p><p>  綜合以上三方面,該系統(tǒng)具有很高的開發(fā)可行性,無論是從技術(shù)上或者經(jīng)濟(jì)上還是操作上。因此,可以設(shè)計該系統(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>  硬件:計算機(jī)(CPU 2.40GH、內(nèi)存 512MB、硬盤80G)</p><p>  軟件:Microsoft Visual Studio2005、SQL Server2000</p><p><b> ?。ǘ┦褂闷脚_</b></p><

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

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

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

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

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

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

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

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

30、分、學(xué)生管理部分、課程管理部分、成績管理部分。具體的功能描述如下:</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ù)用戶填寫的名稱和密碼,判斷該用戶是否為管理員。如果用戶名和密碼都正確,則轉(zhuǎn)到主界面,如果不正確,提示錯誤信息。</p><p>  業(yè)務(wù)流程圖:如圖3所示</p><p><b>  圖3</b></p><p><

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

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

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

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

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

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

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

39、/p><p><b>  2.適應(yīng)性</b></p><p>  該管理系統(tǒng)軟件適用于Windows 2000/xp及以上操作系統(tǒng)。</p><p><b>  (六)邏輯關(guān)系圖</b></p><p><b>  1.?dāng)?shù)據(jù)庫關(guān)系圖</b></p><p>

40、<b>  如圖6所示</b></p><p><b>  圖6</b></p><p><b>  2.邏輯結(jié)構(gòu)圖</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(學(xué)期信息表)</p><p><b>  表10</b></p><p>  Student(學(xué)生信息表)</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)詳細(xì)設(shè)計</b>&

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

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

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

47、;p><b>  圖5</b></p><p><b>  修改完畢退出。</b></p><p><b>  2、成績分析</b></p><p>  學(xué)生成績分析是用列表和圖形等方法給出某個班級某個科目的最高、最低、平均分統(tǒng)計和總體分?jǐn)?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; ?。ǘ⒋a實現(xiàn)</b></p><p><b>  1、成績編輯</b></p><p>  //確定院系、班級、學(xué)期以后 對選定課程的確認(rèn)</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 學(xué)號='" + 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>  //選中某一院系 讀取 特定班級、有幾個學(xué)期</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>  //學(xué)期</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>  //選中某一院系 讀取 特定班級、有幾個學(xué)期</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>  //學(xué)期</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ù),相關(guān)控件將禁用");</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>  五、結(jié)論</b></p><p>  通過這段時間的設(shè)計和開發(fā),我終于完成了學(xué)生信息管理系統(tǒng)。再此過程中使我學(xué)會了很多有用的東西,受益匪淺。在編寫程序的過程中,我回顧了以前所學(xué)的知識,將學(xué)習(xí)到得知識在這個項目中得到了充分的應(yīng)用,達(dá)到了檢驗自我的目的。并且通過和別人一起合作,學(xué)到了新的知識,積累了經(jīng)驗。</p>

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

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

112、實的基礎(chǔ)。</p><p><b>  參考文獻(xiàn)目錄:</b></p><p>  [1] 林晨磊.面向?qū)ο蟪绦蛟O(shè)計系列教材[Z].人民郵電出版社,2008[2] 周培德.數(shù)據(jù)庫原理及應(yīng)用[Z].電子工業(yè)出版社,1998 </p><p>  [3] 劉斌文.Visual basic運用技術(shù)[J].北京大學(xué)出版社,2010[4] 王耀武.管

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論