1、(3)模糊查找和精确查找,在界面上要求两者兼容,数据库上要求联系紧密。(4)统计功能,单科和总成绩要求进行统计。(5)图形界面,系统主界面加入背景图片以及成绩统计时以不同颜色的柱形图形象表达。1.4 研究方法、预期效益 本次课程设计属于很普遍的应用研究类,我只是在大家做的基础上加上我自己的的想法以及设计。同时结合我们现在学生的成绩情况来进行设计。我采用的方法是理论分析结合实际来进行研究的,通过学习经验来建立模型,在此基础上对学生成绩管理系统进行设计。这个系统将在12月下旬设计结束,界面美观,使用方便,功能较全的一个原型系统。此系统可以应用于落后的乡村的中小学教学管理。1.5 本项目创新点和特色
2、(1)本系统采用java和数据库结合的方式开发,可以对大量的数据进行存储和操作。(2)本系统使用java开发,具有跨平台特性。(3)本系统功能俱全,具有学生、教师、课程的信息管理和多条件的成绩查询和课程查询,成绩统计和利用柱形图反应成绩分布。(4)系统具有安全性,用户只能通过用户名和密码访问。同时设定三种用户:管理员、学生、教师。不同的用户权限不同。2 需求分析2.1 开发背景当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理.使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性.尤其
3、对于复杂的信息管理,计算机能够充分发挥它的优越性.。管理信息系统是进行信息的采集、存储、加工、维护和使用的系统,它是随着管理科学和技术科学的发展而形成的。学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段,对学生来说可以轻松的查阅自己在校的成绩,个人信息和课表查询等,但是一直以来在落后的乡村一些中小学人们都是靠传统人工的方式管理学生成绩,这种管理方式存在着许多缺点,如:效率低,保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高
4、,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用,作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,有着手工管理所无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生成绩管理的效率,也是企业的科学化,正规化管理,与世界接轨的重要条件。因此,开发这样的一套成绩管理系统成为很有必要的事情。学生成绩管理系统提供了比较全面的学生成绩管理管理功能,方便系统管理员对学生成绩等信息的添加、修改、删除、查询、统计等操作。2.2 项目目标(1)管理员能够实现对整个学生信息的添加、修改、删
5、除、查询等操作。(2)管理员能够实现对整个教师信息的添加、修改、删除、查询等操作。(3)管理员能够实现对整个课程信息的添加、修改、删除、查询等操作。(4)学生、教师、管理员对整个成绩的查询。(5)教师、学生查询课表。(6)系统对成绩具有统计计算的功能,将成绩情况用柱形图形象地表现出来,并对成绩进行排名,包括单科和总成绩。(7)不同的角色不同的权限。2.3 运行环境学生成绩对运行环境没有很高的要求,而且可以跨平台运行,包括现有的linux和uniux等操作系统。3 技术路线及关键技术3.1系统总体功能图(1)系统结构图图3.1-系统总结构图(2)系统流程图:在系统设计中,将用户分成三种权限,不同
6、权限的用户,则访问的内容不同、控制的信息也不同,系统结构图如图3.1,系统流程图如图3.2。 图3.2-系统流程图(3)在系统结构图中,我们可以看到管理员对学生、课程、成绩、教师的基本信息有增删改除的功能,以下是具体功能模块结构图: 图3.3-学生信息管理模块 图3.4-教师信息管理模块 图3.5-课程信息管理模块 图3.6-成绩信息管理模块 3.2学生成绩管理系统的功能模块简介:(1)基本信息管理(以学生为例)if(obj=tianjia)/添加 Sno=tf_xuehao.getText().trim(); Sname=tf_xingming.getText().trim(); sex=t
7、f_xingbie.getText().trim(); age1=Integer.parseInt(tf_nianling.getText().trim(); tel_no=tf_dianhua.getText().trim(); classno=tf_banhao.getText().trim(); addr=tf_dizhi.getText().trim(); if(Sno.length()=0|Sname.length()=0|sex.length()=0|age1=0|Sno.length()=0|tel_no.length()=0|addr.length()=0|classno.le
8、ngth()=0) JOptionPane.showMessageDialog(this,请添加完整信息!,提示信息,JOptionPane.QUESTION_MESSAGE); else try ps=con.prepareStatement(insert into student values(?,?); ps.setString(1, Sno); ps.setString(2, Sname); ps.setString(3, sex); ps.setString(4, classno); ps.setString(5, addr); ps.setInt(6, age1); ps.setS
9、tring(7, tel_no); JOptionPane.showMessageDialog(this,确定添加吗? tf_xuehao.setText( tf_xingming.setText( tf_xingbie.setText( tf_nianling.setText( tf_dianhua.setText( tf_dizhi.setText( tf_banhao.setText( rs=ps.executeQuery(); catch(SQLException sql)添加成功! if(obj=xiugai)/修改 String no=shuru.getText().trim();
10、 tel_no=tf_dianhua.getText().trim(); try ps=con.prepareStatement(update student set Sno=?,Sname=?,sex=?,classno=?,addr=?,age=?,tel_no=? where Sno=? ps.setString(1, Sno); ps.setString(2, Sname); ps.setString(3,sex); ps.setString(4,classno); ps.setString(5,addr); ps.setInt(6,age1); ps.setString(7,tel_
11、no); ps.setString(8,no);确定修改吗? tf_xuehao.setText( tf_xingming.setText( tf_xingbie.setText( tf_dizhi.setText( tf_nianling.setText( tf_dianhua.setText(修改成功!,JOptionPane.INFORMATION_MESSAGE); rs=ps.executeQuery(); rs.next(); catch(SQLException sql) JOptionPane.showMessageDialog(Component)null,sql.getMe
12、ssage(), if(obj=shanchu)/删除 String no=shuru.getText().trim();delete from student where Sno=? ps.setString(1,no);确定删除吗?删除成功! catch(SQLException sqlex) sqlex.getMessage(); if(obj=qingkong)/清空 shuru.setText( tf_xuehao.setText( tf_nianling.setText( tf_xingming.setText( tf_dianhua.setText( tf_dizhi.setTe
13、xt( tf_xingbie.setText( tf_banhao.setText(主要功能:添加、删除、修改、查询学生基本信息。实现目的:对于每个新的学年都有大量的学生入录,对学生信息的添加是必不可少的。同时,在管理员的日常工作过程中,难免不出现错误。所以对其信息修改功能也是必不可少的,删除则是在学生开除学籍时可以使用。同时课程、教师、成绩信息和学生信息操作是相同的。(2) 成绩统计:/统计各科平均分 public String SubjectAvg(String subject) String s = null; float t = 0 ; this.Connect(); if(subje
14、ct.equals(计算机网络) s = select avg(grade) from transcript where Cno=003125; try st = this.Connect().prepareStatement(s); rs = st.executeQuery(); while(rs.next() t = rs.getFloat(1); catch(Exception e) e.printStackTrace();数据库系统原理select avg(grade) from transcript where Cno=003126多媒体技术基础select avg(grade) f
15、rom transcript where Cno=003127概率论与数理统计select avg(grade) from transcript where Cno=003128 return Float.toString(t); /总分平均分统计 public String allAvg() float sum = 0; int count = 0;/ st = this.Connect().prepareStatement(sql); String s = select sum(grade) as total from transcript System.out.println(s=+s)
16、; try st = this.Connect().prepareStatement(s); rs = st.executeQuery(); System.out.println(rs=+rs); if(rs.next() sum = rs.getFloat(total System.out.println(sum=+sum); rs = null;select sum(grade) from transcript where Cno=001325 sum =sum + rs.getFloat(1);select sum(grade) from transcript where Cno=001
17、326select sum(grade) from transcript where Cno=001328select count(distinct Sno) from transcript count = rs.getInt(1); catch(Exception e) e.printStackTrace(); if(count = 0) return 0 else sum = sum/count; return Float.toString(sum); /获得各科的分数段人数 public int gethigh(String subject,int grade) /总的人数 int num = 0; if(grade = 60) s = select count(sno) from transcript a,course b where grade =60 and a.Cno=b.Cno and Cname= if(grade = 80)80 and grade =70 and a.Cno=b.Cno and Cname= if(grade = 90)90 and grade =80 and a.Cno=b.Cno and Cname= if(grade = 100)100 and grade =90 and a.Cno=b.Cno and Cname= num= rs.g
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1