VB課程設計(論文)學生成績管理系統(tǒng)_第1頁
VB課程設計(論文)學生成績管理系統(tǒng)_第2頁
VB課程設計(論文)學生成績管理系統(tǒng)_第3頁
VB課程設計(論文)學生成績管理系統(tǒng)_第4頁
VB課程設計(論文)學生成績管理系統(tǒng)_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1vb 課程設計學生成績管理系統(tǒng)姓名:學號:班級:系別:電子工程系2前前 言言隨著信息技術(shù)在管理上越來越深入而廣泛的應用,管理信息系統(tǒng)的實施在技術(shù)上已逐步成熟。管理信息系統(tǒng)是一個不斷發(fā)展的新型學科,任何一個單位要生存要發(fā)展,要高效率地把內(nèi)部活動有機地組織起來,就必須建立與自身特點相適應的管理信息系統(tǒng)。本文介紹了在 visual basic6.0 環(huán)境下采用“自上而下地總體規(guī)劃,自下而上地應用開發(fā)”的策略開發(fā)一個管理信息系統(tǒng)的過程。通過分析學生成績管理的不足,創(chuàng)建了一套行之有效的計算機管理學生的方案。文章介紹了學生成績管理信息系統(tǒng)的系統(tǒng)分析部分,包括可行性分析、業(yè)務流程分析等;系統(tǒng)設計部分主要介

2、紹了系統(tǒng)功能設計和數(shù)據(jù)庫設計及代碼設計;系統(tǒng)實現(xiàn)部分說明了幾個主要模塊的算法, 本系統(tǒng)面友好,操作簡單,比較實用。3目 錄前 言2第一章 學生成績管理系統(tǒng)511 需求分析6111 系統(tǒng)概述81. 1. 2 功能需求描述10第二章 總體設計及流程圖142.1 開發(fā)與設計的總體思想152.2 系統(tǒng)模塊結(jié)構(gòu)圖162.2.1 模塊設計162.2.2 界面設計172.2.3 數(shù)據(jù)庫設計17第三章 詳細設計183.1 學生管理模塊1843.2 教師管理模塊233.3 課程管理模塊233.4 成績管理模塊23參考文獻27致 謝27河南工業(yè)職業(yè)技術(shù)學院 vb 大型作業(yè)- -1前前 言言 幾年的學習即將結(jié)束,經(jīng)

3、過幾個月的努力,我所設計的“學生成績管理系統(tǒng)”也已完成。以往學的都是理論性很強的知識,再加上實踐機會不多,更增強了我對計算機科學的興趣。在這段時間里,我增強了自己動手的能力,更重要的是似乎把握住了計算機的一些實質(zhì)性的東西終于能夠用我所學的知識解決一些實際應用的問題了。但我知道,數(shù)據(jù)庫技術(shù)只是計算機科學的一個小小分支,計算機還有更廣闊的領(lǐng)域有待我們?nèi)ヌ剿鳌?這次畢業(yè)設計是用 visul basic 語言設計的“學生成績管理系統(tǒng)” ,這就要求對 visul basic 語言及數(shù)據(jù)庫技術(shù)能夠真正了解和熟練的掌握,并且能夠靈活的運用。 當今的時代是信息的時代,數(shù)據(jù)庫技術(shù)是數(shù)據(jù)管理的最新方法,也是信息管

4、理中一項非常重要的新技術(shù),數(shù)據(jù)庫管理是幫助人們處理大量信息,實現(xiàn)科學化和現(xiàn)代化的強有力工具,數(shù)據(jù)庫管理子系統(tǒng)已發(fā)展成為通用的系統(tǒng)軟件。由于數(shù)據(jù)庫具有數(shù)據(jù)結(jié)構(gòu)化、最低冗余度、較高的程序獨立性、易于擴充、易于編制應用程序等優(yōu)點,因而是近年來發(fā)展非常迅猛的計算機軟件。數(shù)據(jù)庫技術(shù)是數(shù)據(jù)信息管理技術(shù)的最新成果,被廣泛應用于國民經(jīng)濟、文化教育、軍事情報、科學計算、人工智能和計算機輔助設計領(lǐng)域,為計算機的應用開辟了廣闊的天地。河南工業(yè)職業(yè)技術(shù)學院 vb 大型作業(yè)- -2第一章 學生成績管理系統(tǒng)11 需求分析 考試成績是學生在校期間的重要歷史資料,學生成績信息的管理(成績的錄入、查詢、分類統(tǒng)計等)是各個學校面

5、臨的一個重要問題。該成績管理系統(tǒng)主要是用于管理在校學生的考試成績,對教、班級、學生、課程和成績信息進行維護與管理。本系統(tǒng)要求運行穩(wěn)定,圖形用戶界面符合用戶的日常使用習慣,數(shù)據(jù)處理正確無誤。111 系統(tǒng)概述 學生成績管理系統(tǒng)主要完成學生成績的管理,包括:(1)教師管理。主要完成教師的添加、修改、刪除和查詢。(2)班級管理。主要完成班級的添加、修改、刪除和班級列表。(3)學生管理。主要完成對學生信息的添加、修改、刪除和查詢。(4)課程管理。主要完成對課程信息的維護,包括課程添加、修改、刪除和查詢功能。(5)成績管理。主要完成成績的添加、刪改和成績杳詢。1.1.2 功能需求描述 該系統(tǒng)的功能需求有如

6、下幾個方面:(1)教師管理。主要用于對教師信息進得維護。功能包括新教師信息的添加、修改和刪除已有的教師信息,對教師信息進行查詢。(2)班級管理。主要用于對班級信息進行維護。功能包括對班級信息的添河南工業(yè)職業(yè)技術(shù)學院 vb 大型作業(yè)- -3加、刪改和班級列表。(3)學生管理。主要用于維護學生信息。功能包括對學生信息的添加、刪改和查詢。(4)課程管理。主要用于維護課程信息,功能包括課程的添加、刪改和查詢。(5)成績管理。用于維護成績信息,功能包括成績的添加和查詢。第二章 總體設計及流程圖 上面的需求分析已經(jīng)對系統(tǒng)的功能需求、環(huán)境需求做了較為明確的闡述。根據(jù)上述需求,下面按照開發(fā)設計思想、功能模塊、

7、圖形用戶界面、數(shù)據(jù)庫等方面闡述成績管理系統(tǒng)的總體設計。2.1 開發(fā)與設計的總體思想 作為學校使用的成績管理系統(tǒng),能夠滿足成績管理的基本功能需求,界面簡單、操作簡便是設計的一個重要考慮。2.22.2 系統(tǒng)模塊結(jié)構(gòu)圖系統(tǒng)模塊結(jié)構(gòu)圖 河南工業(yè)職業(yè)技術(shù)學院 vb 大型作業(yè)- -42.2.1 模塊設計河南工業(yè)職業(yè)技術(shù)學院 vb 大型作業(yè)- -5圖 2-7 主窗體菜單設計的效果圖1.教師管理菜單設計(1)教師信息添加界面設計 教師信息添加界面使用文本框輸入教師相關(guān)基本信息,使用組合列表框選擇部門和性別。單擊添加按鈕保存教師信息,單擊返回按鈕返回主菜單。具體設計效果圖如圖 2-8 所示。河南工業(yè)職業(yè)技術(shù)學院

8、 vb 大型作業(yè)- -6圖 2-8 具體設計效果圖(2)教師信息修改刪除界面設計圖 2-9 具體設計效果圖2.學生管理界面設計河南工業(yè)職業(yè)技術(shù)學院 vb 大型作業(yè)- -7(1)學生信息添加界面設計學生信息添加界面使用文本框輸入學生的姓名、學號、生日、電話、地址和備注信息。同時使用了兩個組合列表框,分別用于選擇班級和性別。組合列表框中的數(shù)據(jù)會在窗體加載的時候就進行初始化。具體設計效果圖如圖 1-11 所示。(2)學生信息刪改界面設計在學生信息刪改界面中,在班級組合列表框中選擇班級,該班級的所有學號會添加到學號組合列表框中,在學號組合列表框中選擇學號,就會在下方顯示該學生的基本信息。根據(jù)需要單擊修

9、改按鈕來修改學生信息,也可以單擊刪除按鈕來刪除該學生的信息,或是單擊返回按鈕返回主菜單。具體設計效果圖如圖 2-10 所示。圖 2-10 具體設計效果圖(3)學生信息查詢界面設計河南工業(yè)職業(yè)技術(shù)學院 vb 大型作業(yè)- -8學生信息查詢辦面提供了四種查詢方式:全部、按班級查詢、按學號查詢和按姓名查詢。提供了一個表格用于赤示查詢結(jié)果。3.課程管理界面設計(1)課程信息添加界面設計課程添加界面提供了文本框,用于輸入課程名稱、課程編號、課程學時數(shù)和學分等課程基本信息。并且提供了兩個組合列表框,分別用于選擇課程類型和任課教師。這兩個組合列表框的數(shù)據(jù)是在加載窗體的時候進行初始化的。(2)課程信息刪改界面設

10、計課程信息刪改界面提供了文本框,用于輸入課程編號,單擊查詢按鈕就會查找該課程編號所代表的課程信息,找到后將信息顯示出來。修改和刪除按鈕用于完成修改和刪除操作。具體設計效果圖如圖 2-11 所示。圖 2-11 具體設計效果圖河南工業(yè)職業(yè)技術(shù)學院 vb 大型作業(yè)- -94.成績管理界面設計(1)成績錄入界面設計成績界面使用文本框輸入學生學號和課程成績。使用組合列表框選擇課程編號。使用表格顯示查詢結(jié)果。使用兩個文本框顯示學生姓名和課程名稱。這兩個文本框是不可編輯的。具體設計效果圖如圖 2-12 所示。圖 2-12 具體設計效果圖(2)成績刪改界面設計河南工業(yè)職業(yè)技術(shù)學院 vb 大型作業(yè)- -10圖

11、2-13 具體設計效果圖(3)成績查詢界面設計成績查詢界面提供了三種查詢方式:按學號、按課程和按成績查詢。使用表格顯示查詢結(jié)果。2.2.3 數(shù)據(jù)庫設計 根據(jù)系統(tǒng)功能設計的要求以及功能模塊的劃分,數(shù)據(jù)庫表結(jié)構(gòu)設計如下。1.學生信息表名稱:學生信息表(見表 2-1)表名稱標識:studentinfo數(shù)據(jù)來源:學生管理模塊進行錄入。2教師信息表名稱:教師信息表(見表 2-2)表名稱標識:teacherinfo數(shù)據(jù)來源:教師管理模塊進行錄入。3.班級信息表 表 2-3 班級信息表名稱字段名稱類型主鍵非空班級編號classno文本yesyes河南工業(yè)職業(yè)技術(shù)學院 vb 大型作業(yè)- -11班級名稱clas

12、sname文本noyes4.部門信息表 表 2-4 部門信息表名稱字段名稱類型主鍵非空部門編號dept_no文本yesyes部門名稱dept_name文本noyes5.課程信息表 表 2-5 課程信息表名稱字段名稱類型主鍵非空序號no自動編號yesyes課程編號course_no文本noyes課程名稱course_name文本noyes課程類型course_type文本noyes學時數(shù)course_hours數(shù)字noyes學分score數(shù)字noyes河南工業(yè)職業(yè)技術(shù)學院 vb 大型作業(yè)- -12授課教師teacher文本noyes6.成績信息表 表 2-6 成績信息表名稱字段名稱類型主鍵非空編

13、號no自動編號yesyes學號stu_no文本noyes課程號course_no文本noyes成績score數(shù)字noyes第三章 詳細設計基于系統(tǒng)需求分析與系統(tǒng)總體設計的結(jié)論,本系統(tǒng)采用 visual basic 6.0實現(xiàn)各模塊的功能,下面按照功能模塊的劃分來分別闡述系統(tǒng)的詳細設計和實現(xiàn)過程。3.1 學生管理模塊1.功能描述為用戶提供學生信息的添加、修改、刪除和查詢界面,完成學生信息的添加、修改、刪除和查詢功能。2.窗體和源文件定義河南工業(yè)職業(yè)技術(shù)學院 vb 大型作業(yè)- -13該功能模塊涉及到的窗體名稱和文件名參見表 3-1。 表 3-1 窗體列表窗體各稱窗體文件名作用frmstudentf

14、rmstudent.frm用于學生信息添加frmupdatestudentfrmupdatestudent.frm用于修改、刪除學生信息frmquerystudentfrmquerystudent.frm用于查詢學生信息module1module1.bas用于定義全局變量和公用函數(shù)3.2 教師管理模塊1功能描述 該模塊提供教師信息的添加、修改、刪除和查詢界面,完成教師信息的添加、修改、刪除和查詢功能。2窗體和源文件定義 表 3-3 窗體列表窗體名稱窗體文件名作用frmaddteacherfrmaddteacher.frm用于教師信息河南工業(yè)職業(yè)技術(shù)學院 vb 大型作業(yè)- -14添加frmupd

15、ateteacherfrmupdateteacher.frm用于修改、刪除教師信息frmqueryteacherfrmqueryteacher.frm用于查詢教師信息3.變量聲明窗體模塊中的聲明public sqlstr as stringpublic msgtext as string代碼模塊中的聲明public dbpath as stringpublic connstr as string4.函數(shù)與方法聲明 表 3-4 主要函數(shù)與方法窗體名稱函數(shù)/方法名作用frmaddteachersub initdepartment()在組合列表框中列出所有部門名稱河南工業(yè)職業(yè)技術(shù)學院 vb 大型作業(yè)

16、- -15sub initform()初始化窗體上的文本框和組合列表框private sub cmdok_click()添加教師信息sub initdepartment()在組合列表框中列出所有部門名稱sub initteacherno()在組合列表框中列出所有教師編號sub getteacherno()獲取教師信息private sub cmddelete_click()刪除教師信息frmupdateteacherprivatesubcmdupdate_click()修改教師信息sub initdepartment()在組合列表框中列出所有部門名稱sub inittitles()在組合列表框

17、中列出所有的職稱frmqueryteacherprivate sub queryteacher()查詢教師信息河南工業(yè)職業(yè)技術(shù)學院 vb 大型作業(yè)- -16處理:1)獲取信息輸入窗口中填寫的數(shù)據(jù)。2)執(zhí)行查詢得到結(jié)果集,然后調(diào)用結(jié)果集對象的 addnew 方法。3)設置各個字段的值。4)調(diào)用 update 方法更新結(jié)果集,完成教師信息添加。輸出:將數(shù)據(jù)寫入教師信息表程序清單:與學生信息添加代碼類似,請參考本書提供的源代碼。(3)frmupdateteacher 窗體:private sub cmdupdate_click()功能:主要用來完成教師信息的修改,將窗體上修改后的信息添加到數(shù)據(jù)庫中。

18、輸入:教師信息刪改窗體上輸入的數(shù)據(jù)。處理:1)獲取信息輸入窗口中填寫的數(shù)據(jù)并得到 sql 語句。2)執(zhí)行 sql 語句完成數(shù)據(jù)修改。輸出:將修改后的數(shù)據(jù)寫入教師信息表。程序清單:private sub cmdupdate_click() dim conn as adodb.connection sqlstr= “update teacherinfo set birthdate=#”& txtbirth 河南工業(yè)職業(yè)技術(shù)學院 vb 大型作業(yè)- -17& “#,department= ”&cbodept(0).text & “,telno= ”&txttel.text&” ,title= ”&tx

19、ttitle.text&” ”& “where teacher_no= ” & txtno.text & “ ”on error goto exitsubset conn=new adodb.connectionconn.open connstrconn.execute sqlstrmsgbox “成功修改數(shù)據(jù)!” exitsub:conn.closeinitdepartmentend sub 3.5 成績管理模塊1功能描述該模塊提供成績信息的錄入、修改、刪除和查詢界面,完成成績信息的錄入、修改、刪除和查詢功能。2窗體和源文件定義該功能模塊涉及到的窗體名稱和文件名參見表 3-9。 表 3-9

20、窗體列表河南工業(yè)職業(yè)技術(shù)學院 vb 大型作業(yè)- -18窗體名稱窗體文件名作用frmaddscorefrmaddscore.frm用于成績信息添加frmupdatescorefrmupdatescore.frm用于修改、刪除成績信息frmqueryscorefrmqueryscore.frm用于查詢成績信息3.變量聲明 窗體模塊中的聲明public sqlstr as stringpublic msgtext as string代碼模塊中的聲明public dbpath as stringpublic connstr as string4函數(shù)與方法聲明 表 3-10 主要函數(shù)與方法窗體名稱函數(shù)/

21、方法名作用河南工業(yè)職業(yè)技術(shù)學院 vb 大型作業(yè)- -19sub initcourseno()在下拉列表框中顯示所有課程號private sub txtstuno_keypress(keyascii as integer)文本框響應回車鍵,如果輸入學號后回車,就會查找并顯示學生姓名private sub cbocourseno_click()在組合列表框中選擇課程編號,觸發(fā) click 事件,查找顯示課程名稱frmaddscoreprivate sub cmdok_click()向數(shù)據(jù)庫中添加成績信息sub initcourseno()在下拉列表框中顯示所有課程號sub getscoreinfo

22、()從數(shù)據(jù)庫中查找成績信息private sub cmdupdate_click()修改成績信息frmupdatescoreprivate sub cmddelete_click()刪除成績信息frmqueryscoreprivate sub cmdok_click()查詢成績河南工業(yè)職業(yè)技術(shù)學院 vb 大型作業(yè)- -20(1)frmaddscore 窗體:private sub txtstuno_keypress(keyascii as integer)功能:相應鍵盤事件,如果是回車鍵,則按學號查詢學生姓名。輸入:按鍵的 ascii 碼。處理:1)判斷按鍵是否為回車鍵。2)如果為回車鍵,剛轉(zhuǎn)

23、 3,否則退出。3)查詢學生姓名并顯示出來。輸出:學生姓名。程序清單: private sub txtstuno_keypress(keyascii as integer)dim rststudent as adodb.recordsetif keyascii=13 then sqlstr= “select name from studentinfo” set rststudent=executesql(sqlstr,msgtext) if not rststudent.eof thentxtname=rststudent.fields(0) else msgbox “未找到學生的信息記錄!”

24、,vbokonly+vbexclamation, “警告”河南工業(yè)職業(yè)技術(shù)學院 vb 大型作業(yè)- -21 exit subend ifrststudent.close end if end sub (2)frmaddscore 窗體:private sub cmdok_click()功能:將窗體中的成績信息添加到數(shù)據(jù)庫中。輸入:成績添加窗體中填寫的數(shù)據(jù)。處理:1)獲取信息輸入窗口中填寫的數(shù)據(jù)。2)執(zhí)行查詢得到結(jié)果集,然后調(diào)用結(jié)果集對象的 addnew 方法。3)設置各個字段的值。4)調(diào)用 update 方法更新結(jié)果集,完成成績信息添加。輸出:將成績信息寫入數(shù)據(jù)庫。程序清單: private s

25、ub cmdok_click() dim rstscore as adodb.recordset dim stuno as string河南工業(yè)職業(yè)技術(shù)學院 vb 大型作業(yè)- -22 dim courseno as string dim score as string 獲取數(shù)據(jù) stuno=trim(txtstuno.text) courseno=trim(cbocourseno.text) score=trim(txtscore.text) if stuno= “”or score= “”then msgbox “請將信息補充完整”,vbokonly+vbexclamation, “警告”e

26、xit sub end if 添加新記錄 sqlstr=”select*from scoreinfo” set rstscore=executesql(sqlstr,msgtext) rstscore.addnew rstscore.fields(“stu_no”)=stuno rstscore.fields(“course_no”)=courseno rstscore.fields(“course_score”)=scorerstscore.updaterstscore.close河南工業(yè)職業(yè)技術(shù)學院 vb 大型作業(yè)- -23msgbox “成績信息添加完成!”,vbookonly+vbex

27、clamation, “警告”initformend sub(3)frmupdatescore 窗體:sub getscoreinfo()功能:根據(jù)課程編號和學號,從數(shù)據(jù)庫中讀取成績信息、課程名和學生名。輸入:課程編號和學號。處理:1)獲取課程名稱和學號,得到多表查詢的 sql 語句。2)執(zhí)行查詢得到結(jié)果集。3)從結(jié)果集中讀取各個字段的值并顯示出來。輸出:學生姓名、課程名稱、考試成績。程序清單: sub getscoreinfo() dim rstscore as adodb.recordset從數(shù)據(jù)庫中讀取成績相關(guān)信息并添加到窗體中的輸入框 sqlstr= “select name,cour

28、se_name,coure_score fromcourseinfo,studentinfo,scoreinfo”&“wherescoreinfo.course_no= ”&cbocourseno.text & “ ”& “and scoreinfo.course_no=courseinfo.course_no”& “and 河南工業(yè)職業(yè)技術(shù)學院 vb 大型作業(yè)- -24scoreinfo.stu_no=studentinfo.stu_no”& “and scoreinfo.stu_no= ”& txtstuno.text & “ ” txtname=trim(rstscore.fields(

29、“name”) txtcoursename.text=trim(rstscore.fields(“dourse_name”) txtscore.text=trim(rstscore.fields(“course_score”)else msgbox “沒找到符合條件的數(shù)據(jù)!”,vbokonly+vbexclamation, “警告” exit sub end if rstscore.closeend sub(4)frmqueryscore 窗體:private sub cmdok_click()功能:根據(jù)查詢條件查找成績信息。輸入:查詢方式和關(guān)鍵字。處理:1)獲取查詢方式和輸入的關(guān)鍵字。2)形

30、成 sql 語句,執(zhí)行 sql 語句得到結(jié)果集。3)從結(jié)果集中讀取全部數(shù)據(jù),并在表格中顯示出來。輸出:符合查詢條件的課程成績信息。河南工業(yè)職業(yè)技術(shù)學院 vb 大型作業(yè)- -25程序清單:dim sqlstr1 as stringdim sqlcond1 as stringdim sqlcond2 as stringdim sqlcond3 as stringdim sign as booleansqlcond1= “”sqlcond2= “”sqlcond3= “”sign=falsesqlstr=”selectstudentinfo.stu_noasstuno.studenti as stuname,”_&“courseinfo.course_nameascoursename,scoreinfo.course_score as score”&_ “from studentinfo,courseinfo,scoreinfo where”檢查是否已選

溫馨提示

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

評論

0/150

提交評論