信陽(yáng)農(nóng)林學(xué)院信息工程學(xué)院 聶小璠 趙 莉
?
學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)
信陽(yáng)農(nóng)林學(xué)院信息工程學(xué)院 聶小璠趙莉
【摘要】學(xué)生成績(jī)管理系統(tǒng)可以對(duì)學(xué)生成績(jī)信息進(jìn)行有效的管理,它的使用可以大大方便教師和學(xué)生。該系統(tǒng)涉及到學(xué)生成績(jī)管理中的各個(gè)方面。學(xué)生可以查詢相關(guān)成績(jī),教師可以查詢學(xué)生的相關(guān)信息并進(jìn)行編輯、統(tǒng)計(jì)等操作,管理員可以對(duì)系統(tǒng)進(jìn)行維護(hù),使學(xué)生成績(jī)管理這項(xiàng)繁瑣的工作更加便捷化、科學(xué)化、人性化,從而提高了學(xué)校的管理效率,同時(shí)節(jié)省了寶貴的人力資源和經(jīng)濟(jì)資源,系統(tǒng)的開(kāi)發(fā)工具為eclipse,數(shù)據(jù)庫(kù)工具為SQL 2008。
【關(guān)鍵詞】信息管理;成績(jī)管理;eclipse
河南省教育廳項(xiàng)目,項(xiàng)目名稱:基于Moodle的高校研究型教學(xué)平臺(tái)的設(shè)計(jì)與開(kāi)發(fā)(項(xiàng)目編號(hào):16A520091)。
隨著學(xué)校規(guī)模的不斷增大,學(xué)校信息管理工作變得越來(lái)越繁重。目前的學(xué)生成績(jī)管理系統(tǒng)基本上可以實(shí)現(xiàn)學(xué)生的管理,成績(jī)的錄入、刪除、統(tǒng)計(jì)等功能,但是在功能的具體實(shí)現(xiàn)上不夠完善,設(shè)計(jì)不夠人性化,操作麻煩,人力投入仍然很大。
本文研討開(kāi)發(fā)的系統(tǒng)旨在完善上述系統(tǒng)的功能,修改缺陷,簡(jiǎn)要探討一下學(xué)生成績(jī)管理系統(tǒng)模塊的設(shè)計(jì)與實(shí)現(xiàn)。本系統(tǒng)主要使用的是JAVA語(yǔ)言及Eclipse語(yǔ)言。首先,分析系統(tǒng)需求如:學(xué)生操作功能模塊,注冊(cè)管理模塊,登錄管理模塊。
本部分主要用于本系統(tǒng)工作人員的登錄,只有在分配了用戶名和密碼時(shí)才可以進(jìn)入該系統(tǒng),另外為了安全還設(shè)置了隨機(jī)碼。管理相應(yīng)的工作,并且工作人員不能瀏覽數(shù)據(jù)庫(kù)中的用戶表和注冊(cè)用戶名密碼和隨機(jī)碼,以免非法登錄,不便于管理。用戶登錄時(shí)將按照用戶名和密碼進(jìn)行驗(yàn)證,當(dāng)輸入錯(cuò)誤或沒(méi)有用戶名和密碼時(shí)會(huì)出現(xiàn)相應(yīng)的提示(用戶名或密碼輸入錯(cuò)誤!請(qǐng)重新輸入),當(dāng)用戶名和密碼都正確時(shí)會(huì)進(jìn)入程序主界面,才能進(jìn)行日常管理工作。
主要代碼實(shí)現(xiàn)如下:
if(b){sql1 = “select * from Login_Tabel1 where stuId=’”+ str2 + “’”;
combox_index=comboBox.getSelectedIndex();
if ((str1.equals(“”))|(str2.equals(“”)))
{JOptionPane.showMessageDialog(null, “密碼和用戶名不能為空”);
} else if(str3.equals(“”))
JOptionPane.showMessageDialog(null, “請(qǐng)輸入驗(yàn)證碼”);
else if(!str3.equals(test_R)){
JOptionPane.showMessageDialog(null, “輸入的驗(yàn)證碼不正確,重新輸入”) textField_15.setText(“”); textField_20. setText(“”);
textField_20.setText(String.valueOf((int)((Math.random())* 10000)/1));}else{ try{Connection con=new Class_ConnectSql(). Create_Connection();
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql1);
while (rs.next()){
strID = rs.getString(“stuId”).toString().trim();strname = rs.getString(“Name”).toString().trim(); Limite=rs.getInt(“RightLimt”);
if (((str2.equals(strID)) && (str1.equals(strname))))
{Text_Limite(test_R,str3,Limite,combox_index);
if(flag){str_state=strID; RightLimte=Limite;internalFra me.setVisible(false);break;}} else {
JOptionPane.showMessageDialog(null, “成功不登陸!重新輸入 “);
textField.setText(“”);passwordField.setText(“”);}
如果是合法用戶則可以幫用戶注冊(cè)。注冊(cè)流程如下:
首先輸入用戶名,測(cè)試是否存在此用戶名,如果用戶名不存在,則可以使用此用戶名,然后輸入用戶的真實(shí)名字,登錄密碼,聯(lián)系地址,聯(lián)系電話和電子郵箱等。驗(yàn)證用戶名主要代碼實(shí)現(xiàn)如下:
String strsql_0=”select stuId from STULOGIN_BASE_INFOR where stuId=’”+str_Password+”’”;
String strsql_1=”select stuId from TEALOGIN_BASE_INFOR where stuId=’”+str_Password+”’”;
String str_Mysql=”insert into Login_Tabel1(stuId,Na me,RightLimt) values(‘”+str_Password+”’,’”+str_ID+”’,’”+limite+”’)”;
….............
Statement stmt=conn.createStatement();
int temp=stmt.executeUpdate(str_Mysql);
stmt.close();
conn.close(); JOptionPane.showMessageDialog(null, comboBox_1.getItemAt(limite)+”用戶:“+str_ID+”注冊(cè)成功”);
如果學(xué)生用戶登陸成功,學(xué)生能查詢?yōu)g覽、修改基本信息、查看成績(jī)、查看班級(jí)信息、以及課程安排信息。
實(shí)現(xiàn)學(xué)生查詢成績(jī)操作時(shí),只有學(xué)生用戶才能進(jìn)入次界面,主要設(shè)計(jì)代碼如下:
Connection con=new Class_ConnectSql().Create_Connection();
try { String str_sql=”select subject_name,subject_index from subject_index”;
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(str_sql); int count=0;
while(rs.next()) {xuesheng_chengji.subject_name[count]=rs. getString(“subject_name”).toString().trim();xuesheng_chengji. subject_index[count]=rs.getString(“subject_index”).toString(). trim();count++; }
stmt.close();rs.close();String str_sql1=”select Stu_code,myclass,[ “+xuesheng_chengji.subject_index[0]+”],[“+xuesheng_chengji. subject_index[1]+”],[“+xuesheng_chengji.subject_index[2]+”],[ “+xuesheng_chengji.subject_index[3]+”],[“+xuesheng_chengji. subject_index[4]+”],[“+xuesheng_chengji.subject_index[5]+”],[ “+xuesheng_chengji.subject_index[6]+”],[“+xuesheng_chengji. subject_index[7]+”]”+” from CHENGJI_BASE_BIAO where Stu_code=’”+str_code+”’”;
Statement stmt1=con.createStatement();
ResultSet rs1=stmt1.executeQuery(str_sql1);
while(rs1.next())
{…………………………….}
for(int i=0;i { sum_all+=xuesheng_chengji.scort[i];} avarage=(float)sum_all/8; rs1.close(); stmt1.close() }catch(Exception ex) { JOptionPane.showMessageDialog(null, ex.toString());} 通過(guò)以上模塊的設(shè)計(jì),可以實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng)的功能,它真正達(dá)到了數(shù)據(jù)準(zhǔn)確、流程清晰、查詢高效。這樣會(huì)減少因管理不當(dāng)而產(chǎn)生一些不必要的損失,希望本文能在現(xiàn)有的學(xué)生成績(jī)管理系統(tǒng)上提供與時(shí)俱進(jìn)的模塊改進(jìn)。 參考文獻(xiàn) [1]黃明等,梁旭,周紹斌.Java課程設(shè)計(jì)[M].北京:電子工業(yè)出版社,2006,03. [2]薛為民.JAVA應(yīng)用教程[M].北京:清華、北交大出版社,2005,9. [3]耿祥義.Java課程設(shè)計(jì)[M].北京:清華大學(xué)出版社,2004,02. [4][美]Bruce Eckel.京京工作室譯.JAVA編程思想[M].北京:機(jī)械工業(yè)出版社,1999,04. [5]耿祥義,張躍平.Java2實(shí)用教程[M].北京:清華大學(xué)出版社,2004,09. 聶小璠(1986—),女,河南信陽(yáng)人,大學(xué)本科,助理實(shí)驗(yàn)師,研究方向:軟件開(kāi)發(fā)、計(jì)算機(jī)網(wǎng)絡(luò)。 作者簡(jiǎn)介: