《学生综合测评系统(Java).pdf》由会员分享,可在线阅读,更多相关《学生综合测评系统(Java).pdf(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、.学生综合测评系统学生综合测评系统目录目录1234需求分析. 2概要设计. 2详细设计. 2用户使用手册. 24.1 环境设置 . 24.2 操作步骤 . 2567程序创新点. 2使用的主要技术. 2总结 . 2附录 . 2精品.1 1需求分析需求分析随着软件的发展,学生的信息如今都是存储在电脑的数据库当中的,依靠电脑软件的学生综合测评系统可以大大节约教师们的工作时间, 所以我们编写了学生综合测评系统。综合测评系统能实时反应数据库中同学的信息记录和信息处理。每条信息记录要求包含:1学号2姓名3性别4家庭地址5联系电话6高等数学7物理8英语系统功能包括:1查询学生信息2添加学生信息3删除学生信息
2、4修改学生信息精品9考试平均成绩10. 考试名次11. 同学互评分12. 品德成绩13. 任课老师评分14. 综合测评总分15. 综合测评名次.5显示所有学生信息6查询学生成绩7添加学生成绩8修改学生成绩9显示所有学生成绩10. 显示所有信息(按考试名次排序、按综合测名名次排序)11. 退出2 2概要设计概要设计根据需求分析中的描述,我们把学生的信息都存入数据库中,在数据库中单个学生内包含信息如下:学号:sno姓名:sname短文本短文本精品.性别:sex短文本家庭地址:add 长文本联系电话:tel短文本高等数学:math数字(Double)物理:physics英语:english数字(Do
3、uble)数字(Double)数字(Double)数字(Integer)考试平均成绩:score_ave考试名次:no_test同学互评分:score_tog 数字(Double)品德成绩:score_pol数字(Double)数字(Double)数字(Double)数字(Integer)任课教师评分:score_tea综合测试综合:score_syn综合测试名次:no_syn在此程序中所运用的函数全部为构造函数的功能AddStudentFrm_info.class/按信息添加界面AddStudentFrm_score.class/按成绩添加界面DeleteStudentFrm_info.cl
4、ass/删除界面DispStudentFrm_info.class/按信息显示全部界面DispStudentFrm_score.class/按成绩显示全部界面EnterStudentFrm_delete_info.class/进入删除信息界面EnterStudentFrm_disp_info.class/进入显示信息界面精品.EnterStudentFrm_disp_score.class/进入显示成绩界面EnterStudentFrm_modify_info.class/进入修改信息界面EnterStudentFrm_modify_score.class/进入修改成绩界面MainFrm.cl
5、ass/主界面ModifyStudentFrm_info.class/按信息修改界面ModifyStudentFrm_score.class/按成绩修改界面StudentDao.class/操作函数StudentFrm_all.class/显示全部信息界面StudentFrm_info_all.class/显示信息界面StudentFrm_score_all.class/显示成绩界面3 3详细设计详细设计*查询学生信息:1) 输入要查询学生的学号public EnterStudentFrm_disp_info()2) 查询学生信息界面public DispStudentFrm_info(Str
6、ing sno)3) 查询信息的函数public String queryStudents_info_one(String sno)private void executeUpdate(String sql)*精品.查询学生成绩:1) 输入要查询学生的学号public EnterStudentFrm_disp_score()2) 查询学生成绩界面public DispStudentFrm_score(String sno)3) 查询成绩的函数public String queryStudents_score_one(String sno)private void executeUpdate(S
7、tring sql)*添加学生信息:1) 添加学生信息界面public AddStudentFrm_info()2) 添加学生信息的函数public boolean addStudent_info(String sno, String sname, String sex, Stringadd ,String tel)private void executeUpdate(String sql)*添加学生成绩:1) 添加学生成绩界面public AddStudentFrm_score()2) 添加学生成绩的函数public int addStudent_score(String sno,doubl
8、e math,double physics,double精品.english,doublescore_ave,doublescore_tog,doublescore_pol,doublescore_tea,double score_syn)精品.public void orderStudent_no_test()public void orderStudent_no_syn()private void executeUpdate(String sql)*删除学生:1) 输入要删除学生的学号public EnterStudentFrm_delete_info()2) 删除学生界面public D
9、eleteStudentFrm_info(String sno)3) 删除的函数public void deleteStudent_sno(String sno)public void orderStudent_no_test()public void orderStudent_no_syn()private void executeUpdate(String sql)*修改学生信息:1) 输入要修改学生的学号public EnterStudentFrm_modify_info()2) 修改学生信息界面public ModifyStudentFrm_info(String sno)精品.3)
10、修改信息的函数public boolean modifyStudent_info(String sno, String sname, String sex, Stringadd ,String tel)private void executeUpdate(String sql)*修改学生成绩:1) 输入要修改学生的学号public EnterStudentFrm_modify_score()2) 修改学生成绩界面public ModifyStudentFrm_score(String sno)3) 修改成绩的函数publicbooleansno,doublemath,doublemodifyS
11、tudent_score(Stringenglish,doublephysics,doublescore_ave,doublescore_tog,doublescore_pol,double score_tea,double score_syn)public void orderStudent_no_test()public void orderStudent_no_syn()private void executeUpdate(String sql)*显示所有学生信息:1) 显示信息界面:private void initTable()private void updateTable()精品
12、.public StudentFrm_info_all()2) 显示的函数public String queryStudents_info_all()private void executeUpdate(String sql)*显示所有学生信息:1) 显示信息界面:private void initTable()private void updateTable()public StudentFrm_score_all()2) 显示的函数public String queryStudents_score_all()private void executeUpdate(String sql)*显示
13、所有信息:1) 显示信息界面:private void initTable()private void updateTable()public StudentFrm_all()2) 显示的函数public String queryStudents_all()private void executeUpdate(String sql)精品.*4 4用户使用手册用户使用手册4.14.1 环境设置环境设置1在 Eclipse 中创建一个 Java 工程和使用的类,如图所示。2. 在 Access 中创建名为 stu_pro 的数据库。精品.4.24.2 操作步骤操作步骤0编译 MainFrm.jav
14、a 的文件,如果有编译错误,则根据提示修改,否则编译成功。最后编译、连接和运行测试程序文件,如图所示。1.1 在主窗口中,选择学生信息管理,进入学生信息管理菜单,如图所示。1.2 在主窗口中,选择查询学生信息,输入要查询学生的学号点击“确定”,如没有该同学,系统会提示返回主界面,如图所示。精品.1.3 在主窗口中,选择添加学生信息,输入完毕后点击“确定”系统会查询是否有相同学生,如有系统提示返回主界面,如图所示1.4 在主窗口中,选择删除学生信息,输入要删除学生的学号点击“确定”,如没有该同学,系统会提示返回主界面。点击“确定”就删除此学生,如图所示。精品.1.5 在主窗口中,选择修改学生信息
15、,输入要修改学生的学号点击“确定”,如没有该同学,系统会提示返回主界面。直接修改信息完成后点击“确定” ,如图所示。1.6 在窗口中,选择显示所有学生信息,如图所示。精品.2.1 在主窗口中,选择学生成绩管理,进入学生成绩管理菜单,如图所示。2.2 在主窗口中,选择查询学生成绩,输入要查询学生的学号点击“确定”,如没有该同学,系统会提示返回主界面,如图所示。精品.1.3 在主窗口中,选择添加学生成绩,输入完毕后点击“确定” ,系统会查询是否有此同学,如有相同学号系统提示返回主界面,如图所示精品.2.5 在主窗口中,选择修改学生信息,输入要修改学生的学号点击“确定”,如没有该同学,系统会提示返回
16、主界面。直接修改信息完成后点击“确定” ,如图所示。2.6 在窗口中,选择显示所有学生成绩,可以选择按照哪一类进行排序,如图所示。精品.3.1 在主窗口中,选择显示所有信息,进入显示所有信息菜单,如图所示。3.2 在窗口中,选择显示所有信息,如图所示。精品.5 5程序创新点程序创新点系统自动对同学的考试名次和综合成绩名次进行排序。6 6使用的主要技术使用的主要技术主要使用数据库添加、插入、排序、读取、删除和 Java 界面设计7 7总结总结在本次编程过程中, 我先进行编程思路的梳理, 搭建起系统大体的结构框架。在此系统编写中要运用到数据库技术和 Java 界面功能,我翻阅了以前的课程学习和实验
17、报告也到图书馆和网络进行相关内容的复习和补充, 并在此程序中逐步攻克实践。程序使用 GUI 的界面能让用户更加方便地使用此系统。我采用 SQL语句进行对数据库的处理。本学生综合测评系统仍然有不完善的地方,在 GUI 的控制界面设计比较简单, 只完成了系统要求的功能。系统在连接数据库操作和对数据库频繁地进行开关, 使得程序的时间效率大大降低, 希望在以后做出改进。 本系统采用的是 Access桌面数据库,希望以后改进采用 MySQL 的数据库。本系统在运行过程中没有释放使用的内存, 希望以后有待改进。相信在之后的学习和实践中能不断完善此学生综合测评系统的编写。精品.附录附录packagepack
18、age project;importimport javax.swing.*;importimport java.awt.*;importimport java.awt.event.*;publicpublic classclass MainFrm extendsextends JFrame privateprivate voidvoid initMenu() JMenuBar bar = newnew JMenuBar();JMenu m1 = newnew JMenu(学生信息管理);JMenu m2 = newnew JMenu(学生成绩管理);JMenu m3 = newnew JMe
19、nu(显示所有信息);JMenuItem m11 = newnew JMenuItem(查询学生信息);JMenuItem m12 = newnew JMenuItem(添加学生信息);JMenuItem m13 = newnew JMenuItem(删除学生信息);JMenuItem m14 = newnew JMenuItem(修改学生信息);JMenuItem m15 = newnew JMenuItem(显示所有学生信息);JMenuItem m16 = newnew JMenuItem(退出);JMenuItem m21 = newnew JMenuItem(查询学生成绩);JMen
20、uItem m22 = newnew JMenuItem(添加学生成绩);JMenuItem m23 = newnew JMenuItem(修改学生成绩);JMenuItem m24 = newnew JMenuItem(显示所有学生成绩);JMenuItem m31 = newnew JMenuItem(显示所有信息);m11.addActionListener(newnew ActionListener() );m12.addActionListener(newnew ActionListener() );m13.addActionListener(newnew ActionListene
21、r() );m14.addActionListener(newnew ActionListener() publicpublic voidvoid actionPerformed(ActionEvent e) ModifyStudent_info_Clicked();publicpublic voidvoid actionPerformed(ActionEvent e) DeleteStudent_info_Clicked();publicpublic voidvoid actionPerformed(ActionEvent e) AddStudent_info_Clicked();publi
22、cpublic voidvoid actionPerformed(ActionEvent e) StudentFrm_info_Clicked();精品.);m15.addActionListener(newnew ActionListener() );m16.addActionListener(newnew ActionListener() );m21.addActionListener(newnew ActionListener() );m22.addActionListener(newnew ActionListener() );m23.addActionListener(newnew
23、ActionListener() );m24.addActionListener(newnew ActionListener() );m31.addActionListener(newnew ActionListener() );m1.add(m11);m1.add(m12);m1.add(m13);m1.add(m14);m1.add(m15);m1.addSeparator();m1.add(m16);m2.add(m21);publicpublic voidvoid actionPerformed(ActionEvent e) StudentFrm_all_Clicked();publi
24、cpublic voidvoid actionPerformed(ActionEvent e) StudentFrm_score_all_Clicked();publicpublic voidvoid actionPerformed(ActionEvent e) ModifyStudent_score_Clicked();publicpublic voidvoid actionPerformed(ActionEvent e) AddStudent_score_Clicked();publicpublic voidvoid actionPerformed(ActionEvent e) Stude
25、ntFrm_score_Clicked();publicpublic voidvoid actionPerformed(ActionEvent e) exit_Clicked();publicpublic voidvoid actionPerformed(ActionEvent e) StudentFrm_info_all_Clicked();精品.privateprivate voidvoid DeleteStudent_info_Clicked() newnew EnterStudentFrm_delete_info();protectedprotected voidvoid Studen
26、tFrm_info_all_Clicked() newnew StudentFrm_info_all();protectedprotected voidvoid ModifyStudent_info_Clicked() newnew EnterStudentFrm_modify_info();protectedprotected voidvoid StudentFrm_info_Clicked() newnew EnterStudentFrm_disp_info();protectedprotected voidvoid StudentFrm_score_Clicked() newnew En
27、terStudentFrm_disp_score();protectedprotected voidvoid AddStudent_score_Clicked() newnew AddStudentFrm_score();protectedprotected voidvoid ModifyStudent_score_Clicked() newnew EnterStudentFrm_modify_score();protectedprotected voidvoid StudentFrm_score_all_Clicked() newnew StudentFrm_score_all();prot
28、ectedprotected voidvoid StudentFrm_all_Clicked() newnew StudentFrm_all();m2.add(m22);m2.add(m23);m2.add(m24);m3.add(m31);bar.add(m1);bar.add(m2);bar.add(m3);thisthis.setJMenuBar(bar);精品.packagepackage project;importimport java.math.BigDecimal;importimport java.sql.*;publicpublic classclass StudentDa
29、o privateprivate voidvoid executeUpdate(String sql) trytry Class.forName(driver);Connection con = DriverManager.getConnection(url);Statement cmd = con.createStatement();cmd.executeUpdate(sql);con.close();ex.printStackTrace();privateprivate String driver = sun.jdbc.odbc.JdbcOdbcDriver;privateprivate
30、String url = jdbc:odbc:mydb;publicpublic staticstatic voidvoid main(String args) newnew MainFrm();publicpublic MainFrm() JPanel jp = (JPanel) thisthis.getContentPane();initMenu();thisthis.setTitle(学生综合测评系统);thisthis.setSize(1000, 600);thisthis.setVisible(truetrue);thisthis.setDefaultCloseOperation(J
31、Frame.EXIT_ON_CLOSE);privateprivate voidvoid exit_Clicked() if if (JOptionPane.showConfirmDialog(thisthis, 确认退出?, 退出系统,JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE) =privateprivate voidvoid AddStudent_info_Clicked() newnew AddStudentFrm_info();JOptionPane.YES_OPTION)System.exit(0); catchc
32、atch (Exception ex) 精品.publicpublic booleanboolean modifyStudent_info(String sno, String sname, String sex, String add ,String tel) publicpublic booleanboolean modifyStudent_score(String sno,doubledouble math,doubledouble physics,doubledouble english,doubledoublepublicpublic voidvoid orderStudent_no
33、_syn()String rows = nullnull;intint rowcount=0;trytry Class.forName(driver);Connection con = DriverManager.getConnection(url);Statement cmd = con.createStatement();String sql = select count(*) from stu_pro;ResultSet rs = cmd.executeQuery(sql);rs.next();rowcount = rs.getInt(1);rows = newnew Stringrow
34、count3;sql = select * from stu_pro order by score_syn desc;rs = cmd.executeQuery(sql);rowcount = 0;whilewhile (rs.next() rowsrowcount0 = rs.getString(1);rowsrowcount1 = rs.getString(15);doubledouble score_tog,doubledouble score_pol,doubledouble score_tea,doubledouble score_syn)String sql = update st
35、u_pro set sno = +sno+,sname = +sname+,sex = +sex+,add =+,tel = +tel+where sno = +sno+ ;+addexecuteUpdate(sql);orderStudent_no_test();orderStudent_no_syn();returnreturn truetrue ;score_ave,String sql = update stu_pro set math = +math+,physics = +physics+,english =+,score_ave = +score_ave+,score_tog =
36、 +score_tog+,score_pol =+,score_tea = +score_tea+,score_syn = +score_syn+ where sno =+english+score_pol+sno+ ;executeUpdate(sql);orderStudent_no_test();orderStudent_no_syn();returnreturn truetrue;精品.publicpublic voidvoid orderStudent_no_test()String rows = nullnull;intint rowcount=0;trytry forfor(in
37、tint i=0;irows.length;i+)executeUpdate(update stu_pro set no_test = +rowsi2+ whereClass.forName(driver);Connection con = DriverManager.getConnection(url);Statement cmd = con.createStatement();String sql = select count(*) from stu_pro;ResultSet rs = cmd.executeQuery(sql);rs.next();rowcount = rs.getIn
38、t(1);rows = newnew Stringrowcount3;sql = select * from stu_pro order by score_ave desc;rs = cmd.executeQuery(sql);rowcount = 0;whilewhile (rs.next() con.close();ex.printStackTrace();rowsrowcount0 = rs.getString(1);rowsrowcount1 = rs.getString(9);rowsrowcount2 = String.valueOf(rowcount+1);forfor(inti
39、nt i=0;irows.length;i+)executeUpdate(update stu_pro set no_syn = +rowsi2+ wherecon.close();ex.printStackTrace();rowsrowcount2 = String.valueOf(rowcount+1);rowcount+; catchcatch (Exception ex) sno=+rowsi0+);rowcount+; catchcatch (Exception ex) sno=+rowsi0+);精品.publicpublic booleanboolean addStudent_i
40、nfo(String sno, String sname, String sex, String add ,String tel) publicpublic intint addStudent_score(String sno,doubledouble math,doubledouble physics,doubledouble english,doubledouble score_ave,doubledouble score_tog,doubledouble score_pol,doubledouble score_tea,doubledouble score_syn) intint fla
41、g=-1;StudentDao studentDao = newnew StudentDao();trytry String temp_info=studentDao.queryStudents_info_one(sno);String temp_score=studentDao.queryStudents_score_one(sno);if if(flag!=0)forfor(intint i=1;itemp_info.length;i+)if if(temp_infoi=nullnull)flag=1;returnreturn flag;Class.forName(driver);Conn
42、ection con = DriverManager.getConnection(url);Statement cmd = con.createStatement();String sql = select count(sno) from stu_pro where sno = +sno+ ;ResultSet rs = cmd.executeQuery(sql);rs.next();flag=rs.getInt(1);con.close();ex.printStackTrace();intint flag=-1;trytry if if(flag=0)String sql = insert
43、into stu_pro(sno,sname,sex,add,tel)executeUpdate(sql);returnreturn truetrue ;Class.forName(driver);Connection con = DriverManager.getConnection(url);Statement cmd = con.createStatement();String sql = select count(sno) from stu_pro where sno = +sno+ ;ResultSet rs = cmd.executeQuery(sql);rs.next();fla
44、g=rs.getInt(1);con.close();ex.printStackTrace(); catchcatch (Exception ex) values(+sno+,+sname+,+sex+,+add+,+tel+);elseelse returnreturn falsefalse; catchcatch (Exception ex) 精品.publicpublic String queryStudents_all() String rows = nullnull;trytry Class.forName(driver);Connection con = DriverManager
45、.getConnection(url);Statement cmd = con.createStatement();String sql = select count(*) from stu_pro;ResultSet rs = cmd.executeQuery(sql);rs.next();intint rowcount = rs.getInt(1);rows = newnew Stringrowcount15;sql = select * from stu_pro order by sno asc;rs = cmd.executeQuery(sql);rowcount = 0;whilew
46、hile (rs.next() publicpublic voidvoid deleteStudent_sno(String sno) String sql = deletefrom stu_pro where sno= + sno + ;executeUpdate(sql);orderStudent_no_test();orderStudent_no_syn();returnreturn flag;forfor(intint i=2;itemp_score.length;i+)String sql = update stu_pro set math = +math+,physics = +p
47、hysics+,english =+,score_ave = +score_ave+,score_tog = +score_tog+,score_pol =+,score_tea = +score_tea+,score_syn = +score_syn+ where sno =if if(temp_scorei!=nullnull)flag=2;returnreturn flag;+english+score_pol+sno+ ;executeUpdate(sql);orderStudent_no_test();orderStudent_no_syn();returnreturn flag=3
48、;精品.publicpublic String queryStudents_info_all() publicpublic String queryStudents_score_all(intint t) String rows = nullnull;trytry Class.forName(driver);Connection con = DriverManager.getConnection(url);Statement cmd = con.createStatement();String sql = select count(*) from stu_pro;String rows = n
49、ullnull;trytry returnreturn rows;Class.forName(driver);Connection con = DriverManager.getConnection(url);Statement cmd = con.createStatement();String sql = select count(*) from stu_pro;ResultSet rs = cmd.executeQuery(sql);rs.next();intint rowcount = rs.getInt(1);rows = newnew Stringrowcount5;sql = s
50、elect * from stu_pro order by sno asc;rs = cmd.executeQuery(sql);rowcount = 0;whilewhile (rs.next() con.close();ex.printStackTrace();forfor (intint i = 1; i = 5; i+)rowsrowcounti - 1 = rs.getString(i);rowcount+;returnreturn rows;con.close();ex.printStackTrace();forfor (intint i = 1; i = 15; i+)rowsr