1、2. 能够实现按照单科成绩、总成绩、平均成绩、学号排序。3. 能够实现学生信息的插入、删除和修改。4. 能够查询每个课程的最高分、最低分及相应学生姓名、班级和学号。5. 能够查询每个班级某门课程的优秀率(90分及以上)、不及格率,并进行排序。界面要求:使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。2.2 业务对象分析 该系统的主要用户为学生和教师,因此设计的界面利用用户的习惯。学生记录:反映学生的基本信息,如:学号,姓名,性别等。成绩记录:反映学生成绩的信息,如:单科成绩,平均成绩等。学生和教师:操作者,执行上面的各种数据操作。3 系统设计3.1 总体设计3.1.1系统体系结构该学
2、生成绩体管理系采用的C/S架构,主要模块有学生基本信息模块,学生成绩管理模块,系统运行环境(如操作系统、数据库),开发平台及语言。本系统主要运行在windows系列平台上,数据库使用ACCESS,使用eclipse开发系统。采用两层C/S体系结构。系统体系结构图如下图所示:图13.1.2系统功能模块客户端分3层,图形界面层(采用Java的Swing设计)负责与用户交互,业务逻辑层则根据用户的请求执行各种功能(如上、下机等),数据访问层主要根据业务逻辑层的请求通过JDBC/SQL存取数据库。数据库使用ACCESS,可根据情况使用其他数据库(如SQL Server),客户端基本不做修改,仅有的少量
3、修改也只在数据访问层。客户端与服务端在物理上可以运行在一台机器上,也可以分别运行在不同机器上。如图2:图2-a 总体模块图数据库表格建立程序流程图图2-b 数据库表格建立程序流程图图2-c学生信息的插入、删除和修改操作的事件处理器程序流程图3.2 详细设计3.2.1数据库设计图33.2.2系统登录初次登录系统需要输入用户名和密码,在用户名和密码校验成功后方可使用本系统。,如图4 所示:图43.2.2系统主界面进入到系统的主界面后,用户可以通过菜单,进行学生管理的操作,该界面有信息操作选项,成绩操作选项,查询选项,和其它选项。如图 5所示:图53.2.3添加学生信息该模块的功能是对学生信息的添加
4、,包括添加学生学号,学生姓名,通过单选按钮添加学生性别,生日,班级信息,和学院信息。如图6所示:图63.2.4删除学生信息该模块通过用户输入学号删除学生信息,点击“重置”则清空所有文本框数据。如图7所示:图73.2.5修改学生信息用户可以通过输入学生学号修改相应的信息。如图8 所示:图83.2.6添加学生成绩此模块完成的功能是对学生成绩的添加,输入学号,姓名等信息后点击“添加”则完成。如图9 所示:图93.2.7查询学生信息用户输入学号后点击“查询”完成对学生基本信息的查询,点击“重置”则清空文本框的数据.如图10 所示:图103.2.8 查询学生成绩用户在下拉框选择好按条件查询的类型后,点击
5、“查询”按钮完成对学生成绩的查询。如图 所示:如图11 所示:图113.2.9排序成绩信息用户在选择好排序的条件后点击“排序”按钮,完成对学生成绩的排序显示。3.2.10模糊查询学生信息用户通过选择排序的方式和性别等条件,对学生的信息排序显示。如图12 所示图124 系统实现4.1 数据库访问import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class Co
6、nnexample public Connexample() try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException ex) /System.out.println(ex.getMessage(); Connection conn =DriverManager.getConnection(jdbc:odbc:student, Statement stmt=conn.createStatement(); / ResultSet rs=stmt.executeQuery(select *from g
7、rade while(rs.next() System.out.println(学号:+rs.getString(1)+ t+name:+rs.getString(2)+rs.getString(3)+rs.getDouble(4)+rs.getDouble(5)+rs.getString(6); catch(SQLException ce) System.out.println(ce.getMessage(); public static void main(String args) new Connexample();4.2主模块 图13 主模块流程图JMenuBar jm =new JM
8、enuBar(); JMenu jm1 =new JMenu(信息 JMenuItem jmi1=new JMenuItem(增加信息 JMenuItem jmi2=new JMenuItem(删除信息 JMenuItem jmi3=new JMenuItem(修改信息 JMenu jm4= new JMenu(成绩 JMenuItem jm41=new JMenuItem(录入成绩 JMenuItem jm42=new JMenuItem(删除成绩 JMenuItem jm43=new JMenuItem(修改成绩 JMenu jm2=new JMenu(查询 JMenuItem jmi21
9、=new JMenuItem(基本信息查询 JMenuItem jm22=new JMenuItem(学生成绩查询 JMenuItem jm23=new JMenuItem(学生成绩排序/ JMenuItem jm24=new JMenuItem(基本信息排序 JMenu jm3=new JMenu(其它 JMenuItem jmi31=new JMenuItem(退出4.3添加基本信息 图14 添加信息流程图tryClass.forName(Connection cot=DriverManager.getConnection(Statement stm=cot.createStatement
10、();ResultSet rs=stm.executeQuery(sql);if(rs.next()JOptionPane.showMessageDialog(null,该号已经存在!elsesql=insert into student values(+snumber+,+sname+sclass+ssex+scollect+sbir+);int i=stm.executeUpdate(sql);if(i0)添加成功!删除失败!catch(Exception ee) if(e.getSource()=JBNext) JTNumber.setText(null); JTName.setText
11、(null); JTClass.setText(null); JT1.setText(null); JT2.setText(null); if(e.getSource()=JBExit) setVisible(false);4.4删除基本信息图 15 删除信息流程图cot=DriverManager.getConnection(delete * from grade where Id=int n=stm.executeUpdate(sql);if(n删除成功!4.5修改基本信息 图16 update grade set name=,score=,sex=,course=,bir= where
12、Id=修改成功!修改失败!此用户不存在! catch(Exception er)4.6按条件查询信息图 17String numorename,searchf,sql;numorename=searchcbo.getSelectedItem().toString();searchf=searchfield.getText().trim();if(numorename.equals(按学号)select *from grade where Id=+searchf+else if(numorename.equals(按姓名)select *from grade where name=按班级sele
13、ct *from grade where class=select *from grade where sex=5 小结本次综合Java课程设计所开发的学生成绩管理系统是基于B/S构建的,在网络的移植上有很好的表现,该数据库由于涉及的数据库操作不太频繁因此采用Access数据库连接。Java数据包的运用开发为程序员节约了大量的时间,让更多的时间运用到设计中。其次Java的使用非常灵活。在实际的开发中学生数据库是一个庞大的系统,因此用大型的数据库才能满足用户的需求。在搭建好开发环境后,用一个简单的连接数据库的小程序来测试数据库是否正确连接,这样在开发过程中省去了不必要的时间。同时在数据库开发的过
14、程中不会出现低级的错误。然后在工作区添加项目资源,建立类,逐个模块进行测试开发,然后把所有的模块整合为一个系统。在实际的开发中要注意对嵌入式SQL语句的书写,比如,在按条件查询数据库表信息的时候,要注意给常量赋值,并且SQL语句要和赋值的常量数据类型相匹配。本次开发中,把数据库里的表绑定到表格的时候注意打开和关闭数据库连接,对应的列和表格之间的关系,防止绑定错位。6展望本系统是一个简单的学生成绩管理系统,无论在功能上还是使用方式上,与现实中的学生成绩管理系统相比仍有较大差距,但本系统可进一步扩展成实用的系统,并且大部分代码(业务逻辑、数据库及存取部分)可以重用。其中从技术角度看实际的系统一般是一个由多客户端(上网机)、单服务器(管理员机)及数据库构成的三层系统,其中客户端受服务器管控(如服务器可以通过网络控制实现对学生的各种管理操作),涉及到的关键技术是数据库与系统的配合,话结束本项目:“路漫漫其修远兮,吾将上下而求索”。参考文献1李忠等Java语言编程技术课程设计指导书2. Cay S.Horstmann著、叶乃文等译.Java 2核心技术北京:机械工业出版社2006。3 CEckel著、陈昊鹏等译.Java编程思想北京:机械工业出版社2005。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1