成绩管理系统_第1页
成绩管理系统_第2页
成绩管理系统_第3页
成绩管理系统_第4页
成绩管理系统_第5页
免费预览已结束,剩余23页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JAVA程序设计学院:班级:学号:姓名:目录1项目研究开发的背景及意义 . .31.1本课题设计学术价值、理论意义和实践意义.31.2 本课题设计拟研究的主要问题 . .31.3重点和难点 .31.4研究方法、预期效益 . .31.5本项目创新点和特色 . .42需求分析 . .42.1开发背景 . .42.2项目目标 . .52.3运行环境 . .53技术路线及关键技术 . .53.1系统总体功能图 .53.2学生成绩管理系统的功能模块简介:.83.3系统运用的主要技术: . .213.4数据库设计 .223.5连接数据库 .254测试报告及系统评价 . .264.1系统简介: . .264

2、.2系统特色及缺点: . .275 个人感受及收获 . .276 大作业总结 .281 项目研究开发的背景及意义1.1本课题设计学术价值、理论意义和实践意义现在的社会知识经济在世界经济发展的地位越来越高,国家综合国力和国际竞争能力越来越取决于教育发展,科学技术和知识创新的水平,教育在经济和社会发展过程中将呈现出越来越突出的重要作用。 学生成绩管理系统是一个教育单位不可缺少的部分, 它的内容对于学校的决策者和管理者来说都至关重要, 所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段。但是有些学校还是使用传统人工的方式管理学生成绩,填写各种表格,这种管理方式存在着许多缺点,如:效率低

3、,保密性差,另外所用其时间长,产生大量的文件和数据,这对于查找,更新和维护都带来了不少的困难。在此次大作业中,我综合java 编程、 SQL数据库和SQL查询语言来实现一个简单的学生成绩管理系统。1.2 本课题设计拟研究的主要问题一个完整的学生管理系统包括四个功能模板:(1)基本信息管理:包括对学生、教师、课程、成绩信息进行查找、删除、修改和添加。(2)课表查询:学生和教师都可以对自身的课表进行查询。(3)统计功能:对学生单科成绩、总成绩、所有学生成绩的平均分进行统计,并作出相应的排名。(4)图形界面,将学生单科成绩用柱形图表示出来,清晰简单地表示出成绩的分布情况。1.3 重点和难点( 1)界

4、面要求美观,需熟练掌握利用java 语言来布局。( 2)数据库多个表联系,利用视图或者存储过程,需熟练掌握数据库的操作。( 3)模糊查找和精确查找,在界面上要求两者兼容,数据库上要求联系紧密。( 4)统计功能,单科和总成绩要求进行统计。( 5)图形界面, 系统主界面加入背景图片以及成绩统计时以不同颜色的柱形图形象表达。1.4研究方法、预期效益本次课程设计属于很普遍的应用研究类,我只是在大家做的基础上加上我自己的的想法以及设计。 同时结合我们现在学生的成绩情况来进行设计。我采用的方法是理论分析结合实际来进行研究的,通过学习经验来建立模型,在此基础上对学生成绩管理系统进行设计。这个系统将在 12

5、月下旬设计结束,界面美观,使用方便,功能较全的一个原型系统。此系统可以应用于落后的乡村的中小学教学管理。1.5本项目创新点和特色( 1)本系统采用 java 和数据库结合的方式开发,可以对大量的数据进行存储和操作。( 2)本系统使用 java 开发,具有跨平台特性。( 3)本系统功能俱全,具有学生、教师、课程的信息管理和多条件的成绩查询和课程查询,成绩统计和利用柱形图反应成绩分布。( 4)系统具有安全性,用户只能通过用户名和密码访问。 同时设定三种用户:管理员、学生、教师。不同的用户权限不同。2 需求分析2.1开发背景当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛

6、应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理. 使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性. 尤其对于复杂的信息管理, 计算机能够充分发挥它的优越性. 。管理信息系统是进行信息的采集、存储、加工、维护和使用的系统, 它是随着管理科学和技术科学的发展而形成的。学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段,对学生来说可以轻松的查阅自己在校的成绩,个人信息和课表查询等,但是一直以来在落后的乡村一些中小学人们都是靠传统人工的方式管理学生成绩

7、,这种管理方式存在着许多缺点,如:效率低,保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用,作为计算机应用的一部分,使用计算机对学生成绩信息进行管理, 有着手工管理所无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生成绩管理的效率,也是企业的科学化,正规化管理,与世界接轨的重要条件。因此,开发这样的一套成绩管理系统成为很有必要的事情。学生成绩管理系统提供了比较全面的

8、学生成绩管理管理功能,方便系统管理员对学生成绩等信息的添加、修改、删除、查询、统计等操作。2.2项目目标( 1)管理员能够实现对整个学生信息的添加、修改、删除、查询等操作。( 2)管理员能够实现对整个教师信息的添加、修改、删除、查询等操作。( 3)管理员能够实现对整个课程信息的添加、修改、删除、查询等操作。( 4)学生、教师、管理员对整个成绩的查询。( 5)教师、学生查询课表。( 6)系统对成绩具有统计计算的功能,将成绩情况用柱形图形象地表现出来,并对成绩进行排名,包括单科和总成绩。( 7)不同的角色不同的权限。2.3运行环境学生成绩对运行环境没有很高的要求,而且可以跨平台运行, 包括现有的l

9、inux和 uniux等操作系统。3 技术路线及关键技术3.1 系统总体功能图(1)系统结构图学生成绩管理系统管理学生老师员学教课成课查查查查查查生师程绩程询询询询询询信信信信授成个成成教成息息息息课绩人绩绩师绩管管管管管课统课统理理理理理表计表计图 3.1- 系统总结构图( 2)系统流程图:在系统设计中,将用户分成三种权限,不同权限的用户,则访问的内容不同、控制的信息也不同,系统结构图如图3.1 ,系统流程图如图3.2 。开始选择用户登录输入用户名密码Y正确操作退出结束图 3.2- 系统流程图( 3)在系统结构图中,我们可以看到管理员对学生、课程、成绩、教师的基本信息有增删改除的功能,以下是

10、具体功能模块结构图:学生信息管理学学学学生生生生信信信信息息息息添修查删加改询除图 3.3- 学生信息管理模块教师信息管理教教教教师师师师信信信信息息息息添修查删加改询除图 3.4- 教师信息管理模块课程信息管理课课课课程程程程信信信信息息息息添修查删加改询除图 3.5- 课程信息管理模块成绩信息管理成成成成成绩绩绩绩绩信信信信统息息息息计添修查删加改询除图 3.6- 成绩信息管理模块3.2 学生成绩管理系统的功能模块简介:( 1)基本信息管理(以学生为例)if (obj= tianjia)/添加Sno=tf_xuehao.getText().trim();Sname=tf_xingming.

11、getText().trim();sex =tf_xingbie.getText().trim();age1=Integer.parseInt ( tf_nianlingtel_no =tf_dianhua.getText().trim();classno =tf_banhao .getText().trim();addr =tf_dizhi.getText().trim();.getText().trim();if ( Sno.length()=0|Sname.length()=0|sex .length()=0|age1=0|Sno.length()=0| tel_no .length()

12、=0|addr .length()=0|classno .length()=0)JOptionPane.showMessageDialog( this, 请添加完整信息!, 提示信息 ,JOptionPane. QUESTION_MESSAGE);elsetryvalues(?,?,?,?,?,?,?)ps=con .prepareStatement(insert into student);ps.setString(1,Sno);ps.setString(2,Sname);ps.setString(3,sex );ps.setString(4,classno );ps.setString(5

13、,addr );ps.setInt(6,age1);ps.setString(7,tel_no);JOptionPane.showMessageDialog( this , 确定添加吗?,提示信息 ,JOptionPane. QUESTION_MESSAGE);tf_xuehao.setText( );tf_xingming.setText( );tf_xingbie.setText( );tf_nianling.setText( );tf_dianhua.setText( );tf_dizhi.setText( );tf_banhao .setText( );rs =ps .executeQ

14、uery();catch (SQLException sql)JOptionPane.showMessageDialog( this , 添加成功! , 提示信息 ,JOptionPane. QUESTION_MESSAGE);if(obj= xiugai)/修改String no=shuru .getText().trim();Sno=tf_xuehao.getText().trim();Sname=tf_xingming.getText().trim();sex =tf_xingbie.getText().trim();age1=Integer.parseInt ( tf_nianling

15、tel_no =tf_dianhua.getText().trim();addr =tf_dizhi.getText().trim();classno =tf_banhao .getText().trim();try.getText().trim();ps=con .prepareStatement(update student setSno=?,Sname=?,sex=?,classno=?,addr=?,age=?,tel_no=? where Sno=?ps.setString(1,Sno);ps.setString(2,Sname);ps.setString(3,sex );ps.se

16、tString(4,classno );ps.setString(5,addr );ps.setInt(6,age1);ps.setString(7,tel_no );ps.setString(8,no);JOptionPane.showMessageDialog( this , 确定修改吗?);, 提示信息 ,JOptionPane. QUESTION_MESSAGE);tf_xuehao .setText( );tf_xingming.setText( );tf_xingbie.setText( );tf_banhao .setText( );tf_dizhi.setText( );tf_

17、nianling.setText( );tf_dianhua.setText( );JOptionPane.showMessageDialog( this , 修改成功 ! , 提示信息 ,JOptionPane. INFORMATION_MESSAGE); rs =ps.executeQuery(); rs .next();catch (SQLException sql)JOptionPane.showMessageDialog(Component) null ,sql.getMessage(),示信息 ,JOptionPane.QUESTION_MESSAGE); 提if (obj= sh

18、anchu )/删除tryString no=shuru .getText().trim();ps=con .prepareStatement(delete from student where Sno=?);ps.setString(1,no);JOptionPane.showMessageDialog( this , 确定删除吗? , 提示信息 ,JOptionPane. QUESTION_MESSAGE);tf_xuehao.setText( );tf_nianling.setText();tf_xingming.setText();tf_dianhua.setText( );tf_di

19、zhi.setText( );tf_xingbie.setText( );tf_banhao.setText( );rs =ps.executeQuery();JOptionPane.( this , 删除成功! , 提示信息showMessageDialog ,JOptionPane. INFORMATION_MESSAGE);catch (SQLException sqlex)sqlex.getMessage();if (obj= qingkong )/ 清空shuru .setText( );tf_xuehao.setText( );tf_nianling.setText( );tf_x

20、ingming.setText( );tf_dianhua.setText( );tf_dizhi.setText( );tf_xingbie.setText( );tf_banhao.setText( );主要功能:添加、删除、修改、查询学生基本信息。实现目的:对于每个新的学年都有大量的学生入录,对学生信息的添加是必不可少的。同时,在管理员的日常工作过程中, 难免不出现错误。 所以对其信息修改功能也是必不可少的, 删除则是在学生开除学籍时可以使用。同时课程、教师、成绩信息和学生信息操作是相同的。(2) 成绩统计:/ 统计各科平均分publicString SubjectAvg(String

21、subject)String s =null ;floatt = 0 ;this .Connect();if (subject.equals( 计算机网络 )s =select avg(grade) from transcript where Cno=003125;tryst =rs =whilethis .Connect().prepareStatement(s);st .executeQuery();( rs .next()t =rs .getFloat(1); catch (Exception e)e.printStackTrace();if (subject.equals( 数据库系统

22、原理 )s =select avg(grade) from transcript where Cno=003126;tryst =rs =whilethis .Connect().prepareStatement(s);st .executeQuery();( rs .next()t =rs .getFloat(1); catch (Exception e)e.printStackTrace();if (subject.equals( 多媒体技术基础 )s =select avg(grade) from transcript where Cno=003127;tryst =rs =whilet

23、his .Connect().prepareStatement(s);st .executeQuery();( rs .next()t =rs .getFloat(1); catch (Exception e) e.printStackTrace();if (subject.equals( 概率论与数理统计 )s =select avg(grade) from transcript where Cno=003128;tryst =rs =whilethis .Connect().prepareStatement(s);st .executeQuery();( rs .next()t =rs .

24、getFloat(1); catch (Exception e)e.printStackTrace();returnFloat.toString(t);/ 总分平均分统计publicString allAvg()floatsum = 0;intcount = 0;/ st = this.Connect().prepareStatement(sql);String s =select sum(grade) as total from transcriptSystem. out .println(s= +s);try st =this.Connect().prepareStatement(s);r

25、s =st .executeQuery();System. out .println(if ( rs .next()rs= +rs );sum = rs .getFloat(total );System. out .println(sum= +sum);rs=null ;s =select sum(grade) from transcript where Cno=001325;st=this .Connect().prepareStatement(s);rs=st .executeQuery();if( rs .next()sum =sum + rs .getFloat(1);rs=null

26、;s =select sum(grade) from transcript where Cno=001326;st=this .Connect().prepareStatement(s);rs=st .executeQuery();if( rs .next()sum =sum + rs .getFloat(1);rs=null ;s =select sum(grade) from transcript where Cno=001328;st=this .Connect().prepareStatement(s);rs=st .executeQuery();if( rs .next()sum =

27、sum + rs .getFloat(1);rs=null ;s =select count(distinct Sno) from transcript;st=this .Connect().prepareStatement(s);rs=st .executeQuery();if( rs .next()count =rs .getInt(1); catch (Exception e)e.printStackTrace();if (count = 0)return0 ;elsesum = sum/count;returnFloat.toString(sum);/ 获得各科的分数段人数public

28、intgethigh(String subject,intgrade)/ 总的人数intnum = 0;String s =null ;this .Connect();if (subject.equals( 计算机网络 )if (grade = 60)s = select count(sno) fromtranscripta.Cno=b.Cno and Cname=计算机网络 ;if (grade = 70)s = select count(sno) fromtranscriptgrade =60 and a.Cno=b.Cno and Cname=计算机网络 ;if (grade = 80)

29、s = select count(sno) fromtranscriptgrade =70 and a.Cno=b.Cno and Cname=计算机网络 ;if (grade = 90)s = select count(sno) fromtranscriptgrade =80 and a.Cno=b.Cno and Cname=计算机网络 ;if (grade = 100)s = selectcount(sno)from transcriptgrade =90 and a.Cno=b.Cno and Cname=计算机网络 ;try a,course bwhere grade 60anda,

30、course bwhere grade 70anda,course bwhere grade 80anda,course bwhere grade 90anda,courseb where grade 100 andst =this .Connect().prepareStatement(s);rs =st .executeQuery();while ( rs .next()num= rs .getInt(1); catch (Exception e) e.printStackTrace();if (subject.equals( 数据库系统原理 )if (grade = 60)s = sel

31、ectcount(sno)a.Cno=b.Cno and Cname=数据库系统原理from;transcripta,courseb where grade 60 andif (grade = 70)s = select count(sno) fromtranscripta,course bwhere grade =60 and a.Cno=b.Cno and Cname=数据库系统原理 ;if (grade = 80)s = select count(sno) fromtranscripta,course bwhere grade =70 and a.Cno=b.Cno and Cname=

32、数据库系统原理 ;if (grade = 90)s = select count(sno) from transcript a,course b where grade =80 and a.Cno=b.Cno and Cname=数据库系统原理 ;if (grade = 100)s = selectcount(sno)from transcripta,courseb where grade =90 and a.Cno=b.Cno and Cname=数据库系统原理 ;try st =this .Connect().prepareStatement(s);rs =st .executeQuery

33、();while ( rs .next()num= rs .getInt(1); catch (Exception e)e.printStackTrace();if(subject.equals( 多媒体技术基础 )if (grade = 60)s = select count(sno) fromtranscripta.Cno=b.Cno and Cname=多媒体技术基础 ;if (grade = 70)s = select count(sno) fromtranscriptgrade =60 and a.Cno=b.Cno and Cname=多媒体技术基础if (grade = 80)s

34、 = select count(sno) fromtranscriptgrade =70 and a.Cno=b.Cno and Cname=多媒体技术基础if (grade = 90)s = select count(sno) fromtranscriptgrade =80 and a.Cno=b.Cno and Cname=多媒体技术基础if (grade = 100)s = selectcount(sno)from transcriptgrade =90 and a.Cno=b.Cno and Cname=多媒体技术基础try a,course bwhere grade 60anda,c

35、ourse bwhere grade 70and;a,course bwhere grade 80and;a,course bwhere grade 90and;a,courseb where grade =60 and a.Cno=b.Cno and Cname=概率论与数理统计if (grade = 80)s = select count(sno) fromtranscriptgrade =70 and a.Cno=b.Cno and Cname=概率论与数理统计if (grade = 90)s = select count(sno) fromtranscriptgrade =80 and

36、 a.Cno=b.Cno and Cname=概率论与数理统计if (grade = 100)s = selectcount(sno)from transcriptgrade =90 and a.Cno=b.Cno and Cname=概率论与数理统计try a,courseb where grade 60 anda,course bwhere grade 70and ;a,course bwhere grade 80and ;a,course bwhere grade 90and ;a,courseb where grade 100 and ;st =this .Connect().prep

37、areStatement(s);rs =st .executeQuery();while ( rs .next()num= rs .getInt(1); catch (Exception e)e.printStackTrace();returnnum;/ 获得总的人数publicintcount()intcount = 0;String s =select count(distinct Sno) from transcriptthis .Connect();try st =this.Connect().prepareStatement(s);rs =st .executeQuery();whi

38、le ( rs .next()count =rs .getInt(1); catch (Exception e) e.printStackTrace();returncount; 主要功能:对各科成绩和总成绩进行统计,算出它的平均分。同时显示每科小于60 或者大于分的同学成绩列表。并且用直方图将每个分数段的学生数量形象地表示出来。主要目的:在实际的学生成绩管理过程中,计算平均分是很重要的,便于学校和老师对学生总体成绩的了解。 从而不断发现新的教学方法来提高总体学生的学习成绩。同时成绩分布图给予协助。60( 3) 管理员界面及主函数入口模块: MainAndGUI.java / 主界面(管理员界

39、面)import javax.swing.*import java.awt.*;import java.awt.event.*;import java.text.DateFormat;import java.util.Date;public class Grade extends JFrame private static final long serialVersionUID = 1L;/ 定义主框架private JFrame frame = new JFrame(学生成绩管理系统);/ 定义菜单栏private JMenuBar Bar = new JMenuBar();/ 定义菜单private JToolBar

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论