java的學生信息管理系統(tǒng)_第1頁
java的學生信息管理系統(tǒng)_第2頁
java的學生信息管理系統(tǒng)_第3頁
java的學生信息管理系統(tǒng)_第4頁
java的學生信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1. 學生信息管理系統(tǒng)概述1.1 系統(tǒng)開發(fā)背景學生信息管理系統(tǒng)是學校管理的重要工具,是學校不可或缺的部分。 隨著在校大學生人數(shù)的不斷增加,教務系統(tǒng)的數(shù)量也不斷的上漲,。學校工作繁雜、資料眾多,人工管理信息的難度也越來越大,顯然是不能滿足實際的需要,效率也是很低的。并且這種傳統(tǒng)的方式存在著很多的弊端,如:保密性差、查詢不便、效率低,很難維護和更新等。然而,本系統(tǒng)針對以上缺點能夠極大地提高學生信息管理的效率,也是科學化、正規(guī)化的管理,與世界接軌的重要條件。學生信息管理系統(tǒng)具有手工管理所無法比擬的優(yōu)點。如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高學生

2、信息管理的效率。1.2 開發(fā)意義隨著這些年電腦計算機的速度質(zhì)的提高,成本的下降,IT互聯(lián)網(wǎng)大眾趨勢的發(fā)展。我們使用電腦的高效率才處理數(shù)據(jù)信息成為可能。 學生學籍管理系統(tǒng)的出現(xiàn),正是管理人員與信息數(shù)據(jù),計算機的進入互動時代的體現(xiàn)。友好的人機交互模式,清晰簡明的圖形界面,高效安全的操作使得我們對成千上萬的信息的管理得心應手。通過這個系統(tǒng),可以做到信息的規(guī)范管理,科學統(tǒng)計和快速的查詢,從而減少管理方面的工作量毋庸置疑,切實有效地把計算機管理引入學校教務管理中,對于促進學校管理制度,提高學校教學質(zhì)量與辦學水平有著顯著意義1.3系統(tǒng)使用范圍 本系統(tǒng)的設計考慮了系統(tǒng)的通用性,可以應用于教育系統(tǒng)的各種類型院

3、校。系統(tǒng)開發(fā)技術(shù)2. 系統(tǒng)需求分析2.1 開發(fā)環(huán)境和軟件(1) 操作系統(tǒng):Windows 7 (2) 數(shù)據(jù)庫軟件:SQL Server 2005 (3) Java開發(fā)工具:Eclipse2.2 系統(tǒng)設計與功能分析學生信息管理系統(tǒng),可用于學校等機構(gòu)的學生信息管理,查詢,更新與維護,使用方便,易用性強,圖形界面清晰明了。該軟件用java語言編寫,用SQLServer2005數(shù)據(jù)庫作為后臺的數(shù)據(jù)庫進行信息的存儲,用SQL語句完成學生學籍信息的添加,查詢,修改,刪除的操作以及成績的錄入,修改,刪除等。用ODBC驅(qū)動實現(xiàn)前臺Java與后臺SQL數(shù)據(jù)庫的連接。Java語言跨平臺性強,可以在windows,

4、linux,ubuntu等系統(tǒng)下使用,方便簡單,安全性好。SQLServer2005數(shù)據(jù)庫高效安全,兩者結(jié)合可相互利用各自的優(yōu)勢。該系統(tǒng)實現(xiàn)的大致功能:1 用戶登陸界面。該界面可以選擇使用者的身份學生。不同的身份有不同的操作界面和功能權(quán)限。ID號和密碼輸入正確即可登錄。學生管理界面。提供了學生學籍信息的查詢,相關(guān)科目的成績查詢和排名,修改登錄密碼等功能。2 管理員管理界面。擁有最高的權(quán)限。允許添加教師信息和課程信息等。3 登錄的用戶信息分別存儲在SQL數(shù)據(jù)庫的“管理員信息表”, “學籍信息表”中,如果用戶信息不存在則三張表中,將會無權(quán)利登錄本管理系統(tǒng)。保證了本學生管理系統(tǒng)的安全性。3數(shù)據(jù)庫設計

5、3.1 系統(tǒng)概念結(jié)構(gòu)設計圖3-1學籍管理系統(tǒng)圖3-2成績管理系統(tǒng)圖3-4管理員系統(tǒng)學籍管理系統(tǒng)登錄驗證登錄添加查詢修改信息查看信息查看信息查看成績判斷是管理員/學生圖3-4學籍管理系統(tǒng)流程圖實體屬性表:實體屬性管理員管理員號,登錄密碼學籍學號,姓名,性別,籍貫,生源地,入學年份,學院,專業(yè)成績學號,數(shù)據(jù)庫,JAVA程序設計,高等數(shù)學,應用集成,操作系統(tǒng),專業(yè)英語,計算機網(wǎng)絡 3.2 系統(tǒng)邏輯結(jié)構(gòu)設計管理員信息表:字段名 類型空值約束條件管理員號 varchar(10)not null主鍵登錄密碼varchar(10)not null成績信息表:字段名 類型空值約束條件學號 varchar(15

6、)not null主鍵,外鍵數(shù)據(jù)庫floatnot nullJAVA程序設計floatnot null計算機網(wǎng)絡floatnot null高等數(shù)學floatnot null專業(yè)英語floatnot null應用集成floatnot null操作系統(tǒng)floatnot null數(shù)據(jù)挖掘floatnot null學籍信息表:字段名 類型空值約束條件學號int not null主鍵姓名varchar(30)not null性別char(2)入學年份datatimenot null籍貫char(10)  生源地Char(20)not null學院Char(20)not null專業(yè)Char(2

7、0)not null3.3數(shù)據(jù)庫實現(xiàn)3.3.1 SQL語句實現(xiàn)(1)學籍信息表創(chuàng)建:create table 學籍信息表(學號varchar(15) primary key,姓名varchar(8) not null ,性別varchar(4) ,入學年份datatime,not null,學院varchar(8) not null ,專業(yè)varchar(8) not null ,籍貫varchar(5) ,生源地archar(6) not null)(2)成績信息表創(chuàng)建:create table 成績信息表(學號varchar(15),數(shù)據(jù)庫 float,not null,數(shù)據(jù)挖掘flaoa

8、t,not null計算機網(wǎng)絡 float,not null,Java程序設計 float,not null,應用集成 float,not null,foreign key (學號) references 學籍信息表(學號),)(3)管理員信息表創(chuàng)建:create table 課程信息表(管理員號 varchar(8) primary key,登錄密碼 varchar(12) not null)視圖的創(chuàng)建: “學生成績信息”視圖創(chuàng)建:create view 學生成績信息asSELECT 學籍信息表.學號,學籍信息表.姓名,學籍信息表.性別,課程信息表.入學年份,成績信息表.學院,成績信息表.專

9、業(yè)FROM 成績信息表JOIN 學籍信息表 ON 成績信息表.學號 = 學籍信息表.學號4. 系統(tǒng)模塊詳細設計4.1登錄模塊4.2添加學生信息界面4.3添加學生成績界面5.系統(tǒng)測試5.1測試登陸5.2查詢學生成績界面5.3測試添加學生成績5.4測試查詢分數(shù)6附錄(代碼)由于篇幅有限,所以只附上主要功能的代碼:6.1登陸界面代碼import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.sql.*;public class systems extends JFrame implements ActionLi

10、stenerstatic systems ss;JPanel panel = new JPanel();JLabel label1 = new JLabel("輸入學號:");JLabel label3 = new JLabel("歡迎來到學生信息管理系統(tǒng)");JTextField name = new JTextField();JLabel label2 = new JLabel("密 碼:");JPasswordField pwd = new JPasswordField();JButton Enter = new JButton

11、("登錄");JButton Exit = new JButton("退出");String url = "D:Systemstitle.jpg"ButtonGroup bgp = new ButtonGroup();JRadioButton stu = new JRadioButton("學生");JRadioButton tch = new JRadioButton("教師");public systems()super("學生信息管理系統(tǒng)");this.setResiz

12、able(false); JLabel img = new JLabel(new ImageIcon(url);img.setBounds(0,0,500,100);panel.add(img);stu.setBounds(165,210,70,20);tch.setBounds(265,210,70,20);bgp.add(stu);bgp.add(tch);panel.add(stu);panel.add(tch);Enter.setBounds(150,250,80,20);Exit.setBounds(270,250,80,20);Enter.addActionListener(thi

13、s);Exit.addActionListener(this);panel.add(Enter);panel.add(Exit); panel.setLayout(null);this.add(panel);label1.setBounds(135,130,100,25);panel.add(label1);label3.setBounds(70,20,380,100);label3.setFont(new Font("Serif",Font.PLAIN,30);panel.add(label3); name.setBounds(265,130,100,25);panel.

14、add(name);label2.setBounds(135,165,100,25);panel.add(label2); pwd.setBounds(265,165,100,25);panel.add(pwd);this.setBounds(100,100,500,350);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);public void actionPerformed(ActionEvent e)if(e.getSource()=Enter)String username , pass

15、word;username = name.getText(); password = pwd.getText();tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");catch (ClassNotFoundException ce)JOptionPane.showMessageDialog(ss,ce.getMessage();if(stu.isSelected()try Connection con = DriverManager.getConnection("jdbc:odbc:sysdb","

16、sa",""); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("select * from STU"); while(rs.next() if(rs.getString("ID").equals(username)&&(rs.getString("Pwd").equals(password) JOptionPane.showMessageDialog(ss,"登陸成功"

17、);Students stu = new Students(); else JOptionPane.showMessageDialog(ss,"登錄失敗"); rs.close(); stmt.close(); catch (SQLException se) JOptionPane.showMessageDialog(ss,se.getMessage(); else if(tch.isSelected()tryConnection con = DriverManager.getConnection("jdbc:odbc:systchdb","s

18、a","");Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery("select * from TCH");while(rs.next()if(rs.getString("ID").equals(username)&&(rs.getString("Pwd").equals(password)JOptionPane.showMessageDialog(ss,"登陸成功");else

19、JOptionPane.showMessageDialog(ss,"登錄失敗");catch (SQLException se)JOptionPane.showMessageDialog(ss,se.getMessage();elseSystem.exit(0);public static void main(String args)systems sys = new systems();6.2查詢學生成績import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.awt.font.*

20、;import java.sql.*;public class Score extends JFrame implements ActionListenerstatic Score s;JLabel title = new JLabel("查詢成績",JLabel.CENTER);Font f = new Font("楷體",Font.BOLD+Font.ITALIC,16);JPanel jpl = new JPanel();JLabel label1 = new JLabel("請輸入學號:",JLabel.CENTER);JTe

21、xtField num = new JTextField();JButton serch = new JButton("查詢成績");JButton reset = new JButton("重置");JLabel label2 = new JLabel("計算機網(wǎng)絡:",JLabel.LEFT);JLabel label3 = new JLabel("操 作 系 統(tǒng):",JLabel.LEFT);JLabel label4 = new JLabel("專業(yè)英語:",JLabel.LEFT);J

22、Label label5 = new JLabel("數(shù) 據(jù) 挖 掘:",JLabel.LEFT);JLabel label6 = new JLabel("Java程序設計:",JLabel.LEFT);JLabel label7 = new JLabel("數(shù) 據(jù) 庫:",JLabel.LEFT);JLabel label8 = new JLabel("高 等 數(shù) 學:",JLabel.LEFT);JLabel label9 = new JLabel("應 用 集 成:",JLabel.LEF

23、T);JTextField txt = new JTextField() , new JTextField() , new JTextField() , new JTextField() , new JTextField() , new JTextField() ,new JTextField() , new JTextField();static int p = 140;public Score()super("查詢分數(shù)");this.setResizable(false);this.setSize(500,550);this.setVisible(true);this.

24、setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); title.setFont(f);this.add(jpl);jpl.setLayout(null);title.setBounds(100,20,300,20);jpl.add(title);label1.setBounds(100,60,90,20);jpl.add(label1);num.setBounds(210,60,140,20);jpl.add(num);serch.setBounds(130,100,90,20);reset.setBounds(240,100,90,20);jpl.

25、add(serch);jpl.add(reset);serch.addActionListener(this);reset.addActionListener(this);label2.setBounds(100,140,140,20);label3.setBounds(100,180,140,20);label4.setBounds(100,220,140,20);label5.setBounds(100,260,140,20);label6.setBounds(100,300,140,20);label7.setBounds(100,340,140,20);label8.setBounds

26、(100,380,140,20);label9.setBounds(100,420,140,20);jpl.add(label2);jpl.add(label3);jpl.add(label4);jpl.add(label5);jpl.add(label6);jpl.add(label7);jpl.add(label8);jpl.add(label9);for(int i = 0 ;i<txt.length ; i+)txti.setBounds(260,p,140,20);jpl.add(txti);p=p+40;public void actionPerformed(ActionEv

27、ent e)if(e.getSource()=serch)String id = num.getText();try Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch (ClassNotFoundException ce) JOptionPane.showMessageDialog(s,ce.getMessage(); tryConnection con = DriverManager.getConnection("jdbc:odbc:sysdb","sa","&quo

28、t;);Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery("select 計算機系成績.* from STU , 計算機系成績 where STU.ID ='" + id + "' AND STU.ID = 計算機系成績.SID");while(rs.next()for(int i = 0 ; i<txt.length ; i+)txti.setText(rs.getString(i+2);catch (SQLException se)JO

29、ptionPane.showMessageDialog(s,se.getMessage();elsefor(int i = 0;i<txt.length ; i+)txti.setText("");num.setText("");public static void main(String args)Score s = new Score();6.3添加學生成績import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.sql.*;public class A

30、ddscore extends JFrame implements ActionListenerstatic Addscore ss;JLabel label = new JLabel("學號:") , new JLabel("計算機網(wǎng)絡:") , new JLabel("操作系統(tǒng):") , new JLabel("專業(yè)英語:") , new JLabel("數(shù)據(jù)挖掘:") , new JLabel("Java程序設計:") , new JLabel("數(shù)據(jù)庫:&q

31、uot;) , new JLabel("高等數(shù)學:") , new JLabel("應用集成:"); JTextField txt = new JTextField() , new JTextField() , new JTextField() , new JTextField() , new JTextField() ,new JTextField() , new JTextField() ,new JTextField() ,new JTextField() ;JButton add = new JButton("添加");JBu

32、tton reset = new JButton("重置");JPanel jpl = new JPanel();JLabel title = new JLabel("添加學生成績" , JLabel.CENTER);Font f = new Font("黑體" , Font.BOLD , 16 );int s = 100;public Addscore()super("添加學生信息");this.setResizable(false);this.setSize(500,600);this.setDefaultCl

33、oseOperation(EXIT_ON_CLOSE);this.setVisible(true);this.add(jpl);add.addActionListener(this);reset.addActionListener(this);jpl.setLayout(null);title.setBounds(150,40,200,20);title.setFont(f);title.setForeground(Color.red);jpl.setBackground(Color.LIGHT_GRAY);jpl.add(title);for(int i = 0 ; i <label.

34、length ; i+)labeli.setBounds(100,s,140,20);jpl.add(labeli);txti.setBounds(260,s,140,20);jpl.add(txti);s=s+40;add.setBounds(150,s,80,20);reset.setBounds(250,s,80,20);jpl.add(add);jpl.add(reset);public void actionPerformed(ActionEvent e)if(e.getSource()=add)tryClass.forName("sun.jdbc.odbc.JdbcOdb

35、cDriver");catch (ClassNotFoundException ce)JOptionPane.showMessageDialog(ss,ce.getMessage();tryConnection con = DriverManager.getConnection("jdbc:odbc:sysdb","sa","");Statement stmt = con.createStatement();int a = stmt.executeUpdate("insert into 計算機系成績(SID , 計

36、算機網(wǎng)絡 , 操作系統(tǒng) , 專業(yè)英語 , 數(shù)據(jù)挖掘 , Java程序設計 , 數(shù)據(jù)庫 , 高等數(shù)學 , 應用集成)values('"+txt0.getText()+"','"+txt1.getText()+"','"+txt2.getText()+"','"+txt3.getText()+"','"+txt4.getText()+"','"+txt5.getText()+"',&#

37、39;"+txt6.getText()+"','"+txt7.getText()+"','"+txt8.getText()+"')");if(a=1)JOptionPane.showMessageDialog(ss,"添加成功");elseJOptionPane.showMessageDialog(ss,"添加失敗");catch (SQLException se)JOptionPane.showMessageDialog(ss,se.getMe

38、ssage();elsefor(int i = 0 ; i<txt.length ; i+)txti.setText("");txt0.requestFocus();public static void main(String args)Addscore as = new Addscore();6.4添加學生信息代碼import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.sql.*;public class AddMsg extends JFrame implements A

39、ctionListenerstatic AddMsg s;/*添加學生信息控件*/JPanel jpl = new JPanel();JLabel label1 = new JLabel("添加基本信息",JLabel.CENTER);JLabel label2 = new JLabel("學 號:",JLabel.CENTER);JLabel label3 = new JLabel("姓 名:",JLabel.CENTER);JLabel label4 = new JLabel("性 別:",JLabel.CEN

40、TER);JLabel label5 = new JLabel("班 級:",JLabel.CENTER);JLabel label6 = new JLabel("學 院:",JLabel.CENTER);JLabel label7 = new JLabel("專 業(yè):",JLabel.CENTER);JLabel label8 = new JLabel("籍 貫:",JLabel.CENTER);JLabel label9 = new JLabel("生 源 地:",JLabel.CENTER

41、);JLabel label10 = new JLabel("入學年份:",JLabel.CENTER);JTextField num = new JTextField(2);JTextField nam = new JTextField(4);ButtonGroup bgp = new ButtonGroup();JRadioButton man = new JRadioButton("男");JRadioButton women = new JRadioButton("女");JTextField clas = new JText

42、Field();JTextField scl = new JTextField();JTextField sc2 = new JTextField();JTextField sc3 = new JTextField();JTextField sc4 = new JTextField();JTextField sc5 = new JTextField();JButton reset = new JButton("重置");JButton addmsg = new JButton("添加");public AddMsg()super("添加學生信息

43、");this.setResizable(false);this.setSize(450,580);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.add(jpl);jpl.setLayout(null);addmsg.addActionListener(this);reset.addActionListener(this);/*插入面板*/label1.setBounds(100,20,300,20);jpl.add(label1);label2.setBounds(100

44、,50,70,20);jpl.add(label2);num.setBounds(190,50,140,20);jpl.add(num);label3.setBounds(100,90,70,20);jpl.add(label3);nam.setBounds(190,90,140,20);jpl.add(nam);label4.setBounds(100,130,70,20);jpl.add(label4);man.setBounds(190,130,60,20);women.setBounds(270,130,60,20);jpl.add(man);jpl.add(women);bgp.ad

45、d(man);bgp.add(women);label5.setBounds(100,170,70,20);jpl.add(label5);clas.setBounds(190,170,140,20);jpl.add(clas);label6.setBounds(100,210,70,20);jpl.add(label6);scl.setBounds(190,210,140,20);jpl.add(scl);label7.setBounds(100,250,70,20);jpl.add(label7);sc2.setBounds(190,250,140,20);jpl.add(sc2);lab

46、el8.setBounds(100,290,70,20);jpl.add(label8);sc3.setBounds(190,290,140,20);jpl.add(sc3);label9.setBounds(100,330,70,20);jpl.add(label9);sc4.setBounds(190,330,140,20);jpl.add(sc4);label10.setBounds(100,370,70,20);jpl.add(label10);sc5.setBounds(190,370,140,20);jpl.add(sc5);reset.setBounds(120,410,90,2

47、0);addmsg.setBounds(240,410,90,20);jpl.add(reset);jpl.add(addmsg);public void actionPerformed(ActionEvent e)if(e.getSource()=addmsg)String sex;if(man.isSelected() sex="男"else sex="女" tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");catch (ClassNotFoundException ce)JOptionPane.showMessageDialog(s,ce.getMessage();tryConnection con = DriverManager.getConnection("jdbc:odbc:sysd

溫馨提示

  • 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

提交評論