學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)5_第1頁
學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)5_第2頁
學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)5_第3頁
學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)5_第4頁
學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)5_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 課 程 設(shè) 計(jì) 報(bào) 告課程設(shè)計(jì)名稱:學(xué)生成績(jī)管理系統(tǒng)系 : 三系 學(xué)生姓名: * 班 級(jí): 計(jì)算機(jī)(3)班 學(xué) 號(hào): * 成 績(jī): 指導(dǎo)教師: * 開課時(shí)間:2010-2011學(xué)年 2 學(xué)期一設(shè)計(jì)題目學(xué)生成績(jī)管理系統(tǒng)二主要內(nèi)容學(xué)生成績(jī)管理系統(tǒng)從功能上劃分可分為以下幾大模塊:1.學(xué)生信息管理學(xué)生信息管理模塊:設(shè)置學(xué)生基本信息,并可以對(duì)學(xué)生信息進(jìn)行添加、修改、刪除。2.課程信息管理課程信息管理:設(shè)置課程號(hào),課程名,任課教師等課程信息,并可以對(duì)課程信息進(jìn)行添加、修改、刪除。3.學(xué)生成績(jī)管理成績(jī)信息管理模塊:設(shè)置成績(jī)信息,并可以對(duì)成績(jī)信息進(jìn)行添加、修改、刪除。還可以用關(guān)鍵字查詢并調(diào)出數(shù)據(jù)庫(kù)里的學(xué)生基

2、本成績(jī)信息的修改、刪除等。輸出查詢的學(xué)生成績(jī)信息,并對(duì)學(xué)生成績(jī)總分,平均分等進(jìn)行統(tǒng)計(jì)。三具體要求1.具有良好的系統(tǒng)性能,友好的用戶界面2.較高的處理效率,便于使用和維護(hù)3.采用成熟的技術(shù)開發(fā),是系統(tǒng)具有較高的技術(shù)水平和較長(zhǎng)的生命周期4.系統(tǒng)盡可能簡(jiǎn)化重復(fù)工作,提高工作效率簡(jiǎn)化數(shù)據(jù)查詢、降低統(tǒng)計(jì)難度四進(jìn)度安排序號(hào)內(nèi) 容時(shí)間(天)1調(diào)試工具使用0.52概要設(shè)計(jì)13詳細(xì)設(shè)計(jì)24調(diào)試分析0.55測(cè)試結(jié)果16總結(jié)和完成設(shè)計(jì)報(bào)告2合 計(jì)7五成績(jī)?cè)u(píng)定正文1、 系統(tǒng)的需求分析和功能設(shè)計(jì)需求分析:該學(xué)生成績(jī)管理系統(tǒng)的開發(fā)是為了能夠讓用戶方便、快速的查找有關(guān)于一些學(xué)生的基本信息。同時(shí)該學(xué)生成績(jī)管理系統(tǒng)的建立也要要

3、求能夠節(jié)約用戶時(shí)間和節(jié)約系統(tǒng)資源等。該系統(tǒng)是由以下幾部分組成:系統(tǒng)管理、學(xué)生管理、課程管理、成績(jī)管理和信息管理。在系統(tǒng)管理功能中有退出功能;學(xué)生成績(jī)管理功能中有增加學(xué)生、修改學(xué)生和刪除學(xué)生;課程管理功能中有增加課程、修改課程和刪除課程;成績(jī)管理功能中成績(jī)?cè)黾雍统煽?jī)修改;信息管理功能中學(xué)生信息查詢、課程信息查詢和成績(jī)查詢。在查詢功能中還有一些子功能。功能設(shè)計(jì):1.系統(tǒng)功能結(jié)構(gòu)學(xué)生成績(jī)管理系統(tǒng)分為3大功能模塊,分別為:學(xué)生信息管理、課程管理、成績(jī)管理。系統(tǒng)各個(gè)部分及其包括的具體功能模塊如圖1所示。學(xué)生成績(jī)管理系統(tǒng)學(xué)生信息管理課程信息管理成績(jī)信息管理信息查詢學(xué)生信息修改學(xué)生信息刪除課程信息添加課程信

4、息修改課程信息刪除成績(jī)信息添加成績(jī)信息修改成績(jī)信息刪除學(xué)生信息查詢課程信息查詢成績(jī)信息查詢按學(xué)號(hào)查詢按姓名查詢按性別查詢按專業(yè)查詢按班級(jí)查詢按課程名查詢按任課老師查詢按科目查詢圖1 系統(tǒng)功能結(jié)構(gòu)圖2.數(shù)據(jù)庫(kù)設(shè)計(jì)(1) 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)局部e-r圖 學(xué)生實(shí)體圖:共有6中屬性,包括學(xué)號(hào)、姓名、性別、出生日期、專業(yè)、籍貫等6種屬性,如圖2所示。學(xué)生學(xué)號(hào)姓名籍貫專業(yè)性別出生日期圖2學(xué)生實(shí)體圖課程實(shí)體圖,課程信息實(shí)體共有3種屬性,包括課程號(hào),課程名,任課教師等3種屬性,如圖3所示。課程課程號(hào)任課教師課程名圖3課程實(shí)體圖成績(jī)信息學(xué)號(hào)考試成績(jī)課程名成績(jī)實(shí)體圖,成績(jī)信息實(shí)體共有3種屬性,包括學(xué)生學(xué)號(hào),課程名

5、稱,平考試成績(jī),成績(jī)信息實(shí)體圖如圖4所示。 圖4成績(jī)信息實(shí)體圖系統(tǒng)e-r圖如圖5所示11nn學(xué)生學(xué)號(hào)姓名籍貫專業(yè)出生日期性別課程信息選課課程名課程號(hào)任課教師成績(jī)信息課程名學(xué)號(hào)成績(jī)考試(2) 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)采用access數(shù)據(jù)庫(kù),各數(shù)據(jù)表結(jié)構(gòu)如下:學(xué)生信息表: 如表1所示表1 學(xué)生信息表課程信息表: 如表2所示表2 課程信息表成績(jī)信息表: 如表3所示表3 成績(jī)信息表2、源程序及注釋(1)增加學(xué)生代碼中主要代碼如下:public void actionperformed(actionevent e) if(e.getsource()=clearinfo) /設(shè)置清空按鈕功能 snum.s

6、ettext(); sbirth.settext(); smajor.settext(); shome.settext(); sname.settext(); else if(e.getsource()=addinfo) /設(shè)置增加按鈕功能 string xh=snum.gettext(); string xm=sname.gettext(); string xb; if(xb1.isselected() /判斷所選人的性別 xb=男; else xb=女; string csrq=sbirth.gettext(); string zy=smajor.gettext(); string jg=

7、shome.gettext(); if(xh.equals() joptionpane.showmessagedialog(this,學(xué)號(hào)不能為空!,操作提,joptionpane.error_message); /創(chuàng)建學(xué)號(hào)不能為空提示信息框 else if(xm.equals() joptionpane.showmessagedialog(this,姓名不能為空!,操作提示,joptionpane.error_message); /創(chuàng)建姓名不能為空提示信息框 try /用來捕獲異常 class.forname(sun.jdbc.odbc.jdbcodbcdriver); string url

8、=jdbc:odbc:driver=microsoft access driver (*.mdb);dbq=student.mdb; /連接student數(shù)據(jù)庫(kù)connection con=drivermanager.getconnection(url); /建立連接statement stm=con.createstatement(); /創(chuàng)建statement對(duì)象 /創(chuàng)建添加學(xué)生sql語句string str=insert into xs(xh,xm,xb,csrq,zy,jg) values(+xh+,+xm+,+xb+,+csrq+,+zy+,+jg+);int rs=stm.exec

9、uteupdate(sqlstr); /更新數(shù)據(jù)庫(kù)記錄if(rs0) /判斷記錄是否添加joptionpane.showmessagedialog(this,恭喜你,學(xué)生信息添加成功!,提示,joptionpane.information_message); /創(chuàng)建信息添加成功提示框con.close(); / 關(guān)閉結(jié)果集stm.close(); /關(guān)閉語句catch(exception e) /用來處理異常 public static void main(string arg) /創(chuàng)建主函數(shù)new stuinfo(); /調(diào)用stuinfo()方法(2).修改學(xué)生代碼中主要部分代碼如下:pu

10、blic void actionperformed(actionevent ae) if(ae.getsource()=btnclear) /設(shè)置取消按鈕功能 snum.settext(); snum.requestfocus(); else if(ae.getsource()=btnok) /設(shè)置確定按鈕功能 string xh=snum.gettext(); if(xh.equals() joptionpane.showmessagedialog(this,學(xué)號(hào)不能為空!,警告,joptionpane.error_message); 創(chuàng)建提示信息框 else stuinfo newst=n

11、ew stuinfo(); newst.snum.settext(xh); newst.snum.setenabled(false); /把學(xué)號(hào)文本框禁用 newst.addinfo.setenabled(false); /把增加按鈕設(shè)置為禁用 newst.modifyinfo.setenabled(true); /把修改按鈕設(shè)置為可用 newst.deleteinfo.setenabled(false); /把刪除按鈕設(shè)置為禁用 try class.forname(sun.jdbc.odbc.jdbcodbcdriver); string url= jdbc:odbc:driver=micr

12、osoft access driver (*.mdb);dbq=student.mdb;/連接student數(shù)據(jù)庫(kù)connection con=drivermanager.getconnection(url);/建立連接statement stm=con.createstatement();/創(chuàng)建statement對(duì)象string sql =select * from xs where xh=+xh+; /按學(xué)號(hào)查詢學(xué)生表中所有數(shù)據(jù) resultset rs= stm.executequery(sql); /執(zhí)行sql操作 while(rs.next() /循環(huán)執(zhí)行數(shù)據(jù)庫(kù)中每條記錄newst.

13、snum.settext(rs.getstring(xh); / 獲取xh字段 newst.sname.settext(rs.getstring(xm); / 獲取xm字段if(rs.getstring(xb).equals(男) /獲取xb字段,判斷所選性別 newst.xb1.setselected(true); else newst.xb2.setselected(true); newst.smajor.settext(rs.getstring(zy); newst.shome.settext(rs.getstring(jg);int n=stm.executeupdate(sql);

14、/ 執(zhí)行sql更新命令if(n0) /判斷是否修改數(shù)據(jù)庫(kù)joptionpane.showmessagedialog(null,成功修改一條新的紀(jì)錄!);elsejoptionpane.showmessagedialog(null, 更新失敗, 錯(cuò)誤, joptionpane.error_message); con.close(); /關(guān)閉結(jié)果集stm.close(); /關(guān)閉語句catch(exception e)system.out.println(e); /輸出信息 public static void main(string args) /創(chuàng)造主函數(shù) new xiugai(); /調(diào)用x

15、iugai()方法 (3).學(xué)生刪除代碼中主要部分代碼:public void actionperformed(actionevent e) if(e.getsource()=button) /設(shè)置刪除按鈕 tryclass.forname(sun.jdbc.odbc.jdbcodbcdriver); string url= jdbc:odbc:driver=microsoft access driver (*.mdb);dbq=student.mdb; /連接student數(shù)據(jù)庫(kù)connection conn=drivermanager.getconnection(url);/建立連接sta

16、tement stmt=conn.createstatement(); /創(chuàng)建statement對(duì)象 string sqlstr =delete from xs where xh=+shome.gettext()+;/創(chuàng)建刪除從xs表中刪除語句 int result= stmt.executeupdate(sqlstr); /執(zhí)行更新命令 if (result0) /判斷是否刪除 joptionpane.showmessagedialog(this,學(xué)生刪除成功!,提示,joptionpane.information_message); conn.close(); / 關(guān)閉結(jié)果集 stmt.c

17、lose(); /關(guān)閉語句 catch(exception e) public static void main(string arg) /創(chuàng)建主函數(shù)new scstudent(); /調(diào)用scstudent()方法3、運(yùn)行示例及結(jié)果分析(1).主界面結(jié)果分析:該界面是學(xué)生成績(jī)管理系統(tǒng)的主界面,從這界面可以看出有幾個(gè)功能系統(tǒng)。(2).添加界面結(jié)果分析:在學(xué)生信息中輸入相應(yīng)的信息后按增加按鈕就會(huì)出現(xiàn)恭喜你,學(xué)生信息添加成功。 如果在輸入信息時(shí),沒有輸入相應(yīng)的學(xué)號(hào)和姓名,則會(huì)出現(xiàn)相應(yīng)的提示框提示學(xué)號(hào)和姓名不能為空。(3).修改界面結(jié)果分析:在信息框中輸入課程號(hào),按確定按鈕則會(huì)跳出相應(yīng)的課程信息框,

18、如果數(shù)據(jù)庫(kù)中有這一課程號(hào),則會(huì)把相應(yīng)的信息顯示出來,否則只會(huì)顯示課程號(hào)。(4).刪除界面結(jié)果分析:在信息框中輸入要?jiǎng)h除的學(xué)生學(xué)號(hào)按確定按鈕,如果所輸入的學(xué)號(hào)在數(shù)據(jù)庫(kù)中存在,則會(huì)跳出學(xué)生刪除成功提示框,否則按確定按鈕無效。(5).查詢界面結(jié)果分析:此結(jié)果會(huì)從所有的顯示數(shù)據(jù)中被提取出來,并不是只顯示查詢結(jié)果。4、調(diào)試和運(yùn)行程序過程中產(chǎn)生的問題及采取的措施(1).在調(diào)試程序時(shí)在定義公共類是出現(xiàn)問題,導(dǎo)致錯(cuò)誤的原因是類名和java文件名不同,只要public去掉或把java文件名修改成與類名一致。(2).在調(diào)試課程增加程序時(shí),調(diào)試結(jié)果沒有顯示錯(cuò)誤,但在運(yùn)行時(shí)增加功能沒有實(shí)現(xiàn),導(dǎo)致錯(cuò)誤的原因可能是數(shù)據(jù)庫(kù)

19、問題,查找數(shù)據(jù)庫(kù)代碼和數(shù)據(jù)庫(kù)中相應(yīng)的表發(fā)現(xiàn)課程表中沒有xm這一字段,代碼中出現(xiàn)了,刪除這一字段即可。(3).在調(diào)試主函數(shù)代碼時(shí)會(huì)出現(xiàn)一些找不到符號(hào)的問題,有可能時(shí)你調(diào)用的子函數(shù)不在同一個(gè)文件下,也有可能是你調(diào)用的子函數(shù)不存在,還有可能是子函數(shù)沒有調(diào)試和運(yùn)行。要想解決問題只要把相應(yīng)的java文件放在同一個(gè)文件下或創(chuàng)建相應(yīng)的子函數(shù)還可以把那些子函數(shù)調(diào)試和運(yùn)行一邊,再調(diào)試主函數(shù)即可。(4).在調(diào)試和運(yùn)行后界面中出現(xiàn)的文字不全和文本框大小與窗體大小不搭調(diào),導(dǎo)致的原因是標(biāo)簽和文本框大小沒有設(shè)置好。只要重新設(shè)置一下大小即可。5、對(duì)系統(tǒng)相關(guān)功能的討論、分析,改進(jìn)設(shè)想該學(xué)生成績(jī)管理系統(tǒng)的建立主要分為系統(tǒng)管理、

20、學(xué)生管理、課程管理、成績(jī)管理和信息管理。在這幾個(gè)系統(tǒng)功能中有些功能的實(shí)現(xiàn)是運(yùn)用繼承jframe類和實(shí)現(xiàn)監(jiān)聽器actionlistener來實(shí)現(xiàn)的。為了更好的實(shí)現(xiàn)功能可以創(chuàng)建構(gòu)造函數(shù)來實(shí)現(xiàn)初始化。同時(shí)也可以創(chuàng)造方法通過方法調(diào)用來實(shí)現(xiàn)相應(yīng)的功能。為了進(jìn)一步完善學(xué)生成績(jī)管理系統(tǒng)可以有以下改進(jìn)設(shè)想:1).在信息查詢系統(tǒng)功能中增加補(bǔ)考信息查詢菜單項(xiàng),再補(bǔ)考信息查詢菜單中設(shè)置補(bǔ)考學(xué)生信息查詢和成績(jī)及格學(xué)生信息查詢子菜單項(xiàng)。在補(bǔ)考學(xué)生信息查詢中添加補(bǔ)考是否通過信息查詢。2).在信息查詢系統(tǒng)功能中添加按學(xué)期查詢,在這個(gè)查詢中把學(xué)生這一學(xué)期的所有信息都顯示在界面上。3).在主界面中增加獲獎(jiǎng)信息系統(tǒng)功能項(xiàng),在這中

21、添加獲獎(jiǎng)信息,修改獲獎(jiǎng)信息,刪除獲獎(jiǎng)信息和獲獎(jiǎng)信息查詢。在獲獎(jiǎng)信息查詢中添加按等級(jí)查詢和按競(jìng)賽查詢。在按等級(jí)查詢中只要等級(jí)名后按查詢按鈕就會(huì)顯示此等級(jí)是否通過等這樣的信息;在按競(jìng)賽查詢中輸入競(jìng)賽名,則會(huì)彈出你有沒有參加此競(jìng)賽框,如有則按確定按鈕,則會(huì)顯示出此同學(xué)獲講情況。4).在主界面中添加評(píng)價(jià)信息系統(tǒng)功能項(xiàng),此功能主要是為了實(shí)現(xiàn)一些人對(duì)學(xué)生的評(píng)價(jià)。在這項(xiàng)中分別添加輔導(dǎo)員評(píng)價(jià)、任課教師評(píng)價(jià)和同學(xué)評(píng)價(jià)。在輔導(dǎo)員評(píng)價(jià)中只要輸入學(xué)生的學(xué)號(hào)按確定按鈕就會(huì)跳出相應(yīng)的評(píng)價(jià)信息;在任課教師評(píng)價(jià)中輸入學(xué)生學(xué)號(hào)后按確定按鈕,則會(huì)跳出要你輸入課程名信息框,輸入課程名后,在按確定按鈕則會(huì)跳出課程名和任課教師名點(diǎn)擊查

22、詢則會(huì)顯示出相應(yīng)的信息;在同學(xué)評(píng)價(jià)中只要輸入學(xué)生學(xué)號(hào)即可。6、總結(jié)這次的課程設(shè)計(jì)任務(wù)是開發(fā)學(xué)生成績(jī)管理系統(tǒng),在開發(fā)的過程中可以看出自己對(duì)java知識(shí)學(xué)到的很少,這次的課程設(shè)計(jì)能夠讓我學(xué)到很多java知識(shí),同時(shí)也有利于期末考試。因?yàn)樵撓到y(tǒng)的建立幾乎用到了java這學(xué)期所學(xué)的所有知識(shí)。這等于讓我復(fù)習(xí)了一邊java知識(shí)。在創(chuàng)建學(xué)生成績(jī)管理系統(tǒng)時(shí),要想把界面布局好看些首先要會(huì)設(shè)置標(biāo)簽和文本框大小位置,在設(shè)置這時(shí)用setbounds( ),在這括號(hào)中有四個(gè)數(shù)字分別表示垂直、水平、長(zhǎng)度和高度。同時(shí)為了防止誤操作一些按鈕和文本框可以利用setenabled(false)來把按鈕和文本框禁用。要想使該學(xué)生成績(jī)管理系統(tǒng)實(shí)現(xiàn)添加、修改、刪除和查詢功能時(shí)就必須與數(shù)據(jù)庫(kù)連接起來。用以下代碼實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接:class.forname(sun.jdbc.odbc.jdbcodbcdriver); string url=”jdbc:odbc:d

溫馨提示

  • 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. 人人文庫(kù)網(wǎng)僅提供信息存儲(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)論