成绩管理系统(28页).doc

上传人:1595****071 文档编号:36326783 上传时间:2022-08-26 格式:DOC 页数:28 大小:404KB
返回 下载 相关 举报
成绩管理系统(28页).doc_第1页
第1页 / 共28页
成绩管理系统(28页).doc_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《成绩管理系统(28页).doc》由会员分享,可在线阅读,更多相关《成绩管理系统(28页).doc(28页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、-JAVA程序设计学院:班级:学号:姓名:目录1 项目研究开发的背景及意义21.1 本课题设计学术价值、理论意义和实践意义21.2 本课题设计拟研究的主要问题21.3重点和难点31.4 研究方法、预期效益31.5 本项目创新点和特色32 需求分析32.1 开发背景32.2 项目目标42.3 运行环境43 技术路线及关键技术73.1系统总体功能图73.2学生成绩管理系统的功能模块简介:103.3 系统运用的主要技术:233.4数据库设计243.5连接数据库274 测试报告及系统评价284.1 系统简介:284.2 系统特色及缺点:285 个人感受及收获376大作业总结371 项目研究开发的背景及

2、意义1.1 本课题设计学术价值、理论意义和实践意义现在的社会知识经济在世界经济发展的地位越来越高,国家综合国力和国际竞争能力越来越取决于教育发展,科学技术和知识创新的水平,教育在经济和社会发展过程中将呈现出越来越突出的重要作用。学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段。但是有些学校还是使用传统人工的方式管理学生成绩,填写各种表格,这种管理方式存在着许多缺点,如:效率低,保密性差,另外所用其时间长,产生大量的文件和数据,这对于查找,更新和维护都带来了不少的困难。在此次大作业中,我

3、综合java编程、SQL数据库和SQL查询语言来实现一个简单的学生成绩管理系统。 1.2 本课题设计拟研究的主要问题一个完整的学生管理系统包括四个功能模板:(1)基本信息管理:包括对学生、教师、课程、成绩信息进行查找、删除、修改和添加。(2)课表查询:学生和教师都可以对自身的课表进行查询。(3)统计功能:对学生单科成绩、总成绩、所有学生成绩的平均分进行统计,并作出相应的排名。(4)图形界面,将学生单科成绩用柱形图表示出来,清晰简单地表示出成绩的分布情况。1.3重点和难点(1)界面要求美观,需熟练掌握利用java语言来布局。(2)数据库多个表联系,利用视图或者存储过程,需熟练掌握数据库的操作。(

4、3)模糊查找和精确查找,在界面上要求两者兼容,数据库上要求联系紧密。(4)统计功能,单科和总成绩要求进行统计。(5)图形界面,系统主界面加入背景图片以及成绩统计时以不同颜色的柱形图形象表达。1.4 研究方法、预期效益 本次课程设计属于很普遍的应用研究类,我只是在大家做的基础上加上我自己的的想法以及设计。同时结合我们现在学生的成绩情况来进行设计。我采用的方法是理论分析结合实际来进行研究的,通过学习经验来建立模型,在此基础上对学生成绩管理系统进行设计。这个系统将在12月下旬设计结束,界面美观,使用方便,功能较全的一个原型系统。此系统可以应用于落后的乡村的中小学教学管理。1.5 本项目创新点和特色(

5、1)本系统采用java和数据库结合的方式开发,可以对大量的数据进行存储和操作。(2)本系统使用java开发,具有跨平台特性。(3)本系统功能俱全,具有学生、教师、课程的信息管理和多条件的成绩查询和课程查询,成绩统计和利用柱形图反应成绩分布。(4)系统具有安全性,用户只能通过用户名和密码访问。同时设定三种用户:管理员、学生、教师。不同的用户权限不同。2 需求分析2.1 开发背景当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理.使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性.尤其对

6、于复杂的信息管理,计算机能够充分发挥它的优越性.。管理信息系统是进行信息的采集、存储、加工、维护和使用的系统,它是随着管理科学和技术科学的发展而形成的。学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段,对学生来说可以轻松的查阅自己在校的成绩,个人信息和课表查询等,但是一直以来在落后的乡村一些中小学人们都是靠传统人工的方式管理学生成绩,这种管理方式存在着许多缺点,如:效率低,保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,

7、计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用,作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,有着手工管理所无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生成绩管理的效率,也是企业的科学化,正规化管理,与世界接轨的重要条件。因此,开发这样的一套成绩管理系统成为很有必要的事情。学生成绩管理系统提供了比较全面的学生成绩管理管理功能,方便系统管理员对学生成绩等信息的添加、修改、删除、查询、统计等操作。2.2 项目目标(1)管理员能够实现对整个学生信息的添加、修改、删除

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

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

10、管理模块课程信息管理课程信息添加课程信息修改课程信息查询课程信息删除 图3.5-课程信息管理模块成绩信息管理成绩信息添加成绩信息修改成绩信息查询成绩信息删除成绩统计 图3.6-成绩信息管理模块 3.2学生成绩管理系统的功能模块简介:(1)基本信息管理(以学生为例)if(obj=tianjia)/添加Sno=tf_xuehao.getText().trim();Sname=tf_xingming.getText().trim();sex=tf_xingbie.getText().trim();age1=Integer.parseInt(tf_nianling.getText().trim();t

11、el_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.length()=0)JOptionPane.showMessageDialog(this,请添加完整信息!,提示信息,JOptionPane.QUESTION_MESSA

12、GE);elsetryps=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.setString(7, tel_no);JOptionPane.showMessageDialog(this,确定添加吗?,提示信息,JOptionPane.QUESTION_

13、MESSAGE);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)JOptionPane.showMessageDialog(this,添加成功!,提示信息,JOptionPane.QUESTION_MESSAGE); if(obj=xiugai)/修改String

14、no=shuru.getText().trim();Sno=tf_xuehao.getText().trim();Sname=tf_xingming.getText().trim();sex=tf_xingbie.getText().trim();age1=Integer.parseInt(tf_nianling.getText().trim();tel_no=tf_dianhua.getText().trim();addr=tf_dizhi.getText().trim();classno=tf_banhao.getText().trim();tryps=con.prepareStateme

15、nt(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_no);ps.setString(8,no);JOptionPane.showMessageDialog(this,确定修改吗?,提示

16、信息,JOptionPane.QUESTION_MESSAGE);tf_xuehao.setText();tf_xingming.setText();tf_xingbie.setText();tf_banhao.setText();tf_dizhi.setText();tf_nianling.setText();tf_dianhua.setText();JOptionPane.showMessageDialog(this,修改成功!,提示信息,JOptionPane.INFORMATION_MESSAGE);rs=ps.executeQuery();rs.next();catch(SQLExc

17、eption sql)JOptionPane.showMessageDialog(Component)null,sql.getMessage(),提示信息,JOptionPane.QUESTION_MESSAGE);if(obj=shanchu)/删除tryString no=shuru.getText().trim();ps=con.prepareStatement(delete from student where Sno=?);ps.setString(1,no);JOptionPane.showMessageDialog(this,确定删除吗?,提示信息,JOptionPane.QUE

18、STION_MESSAGE);tf_xuehao.setText();tf_nianling.setText();tf_xingming.setText();tf_dianhua.setText();tf_dizhi.setText();tf_xingbie.setText();tf_banhao.setText();rs=ps.executeQuery();JOptionPane.showMessageDialog(this,删除成功!,提示信息,JOptionPane.INFORMATION_MESSAGE);catch(SQLException sqlex) sqlex.getMessa

19、ge(); if(obj=qingkong)/清空shuru.setText();tf_xuehao.setText();tf_nianling.setText();tf_xingming.setText();tf_dianhua.setText();tf_dizhi.setText();tf_xingbie.setText();tf_banhao.setText();主要功能:添加、删除、修改、查询学生基本信息。实现目的:对于每个新的学年都有大量的学生入录,对学生信息的添加是必不可少的。同时,在管理员的日常工作过程中,难免不出现错误。所以对其信息修改功能也是必不可少的,删除则是在学生开除学籍

20、时可以使用。同时课程、教师、成绩信息和学生信息操作是相同的。(2) 成绩统计:/统计各科平均分public String SubjectAvg(String subject)String s = null;float t = 0 ;this.Connect();if(subject.equals(计算机网络)s = select avg(grade) from transcript where Cno=003125;tryst = this.Connect().prepareStatement(s);rs = st.executeQuery();while(rs.next()t = rs.ge

21、tFloat(1);catch(Exception e)e.printStackTrace();if(subject.equals(数据库系统原理)s = select avg(grade) from transcript where Cno=003126;tryst = this.Connect().prepareStatement(s);rs = st.executeQuery();while(rs.next()t = rs.getFloat(1);catch(Exception e)e.printStackTrace();if(subject.equals(多媒体技术基础)s = sel

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

23、atement(s);rs = st.executeQuery();while(rs.next()t = rs.getFloat(1);catch(Exception e)e.printStackTrace();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.pri

24、ntln(s=+s); tryst = 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;s = select sum(grade) from transcript where Cno=001325;st = this.Connect().prepareStatement(s);rs = st.executeQuery();i

25、f(rs.next()sum =sum + rs.getFloat(1);rs = null;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().prepareState

26、ment(s);rs = st.executeQuery();if(rs.next()sum =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)return 0;elsesum = sum/coun

27、t;return Float.toString(sum);/获得各科的分数段人数public int gethigh(String subject,int grade)/总的人数int num = 0;String s = null;this.Connect();if(subject.equals(计算机网络)if(grade = 60)s = select count(sno) from transcript a,course b where grade 60 and a.Cno=b.Cno and Cname=计算机网络;if(grade = 70)s = select count(sno

28、) from transcript a,course b where grade =60 and a.Cno=b.Cno and Cname=计算机网络;if(grade = 80)s = select count(sno) from transcript a,course b where grade =70 and a.Cno=b.Cno and Cname=计算机网络;if(grade = 90)s = select count(sno) from transcript a,course b where grade =80 and a.Cno=b.Cno and Cname=计算机网络;i

29、f(grade = 100)s = select count(sno) from transcript a,course b where grade =90 and a.Cno=b.Cno and Cname=计算机网络;tryst = 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 = select c

30、ount(sno) from transcript a,course b where grade 60 and a.Cno=b.Cno and Cname=数据库系统原理;if(grade = 70)s = select count(sno) from transcript a,course b where grade =60 and a.Cno=b.Cno and Cname=数据库系统原理;if(grade = 80)s = select count(sno) from transcript a,course b where grade =70 and a.Cno=b.Cno and Cn

31、ame=数据库系统原理;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 = select count(sno) from transcript a,course b where grade =90 and a.Cno=b.Cno and Cname=数据库系统原理;tryst = this.Connect().prepareStatement(s);rs = st.executeQue

32、ry();while(rs.next()num= rs.getInt(1);catch(Exception e)e.printStackTrace();if(subject.equals(多媒体技术基础)if(grade = 60)s = select count(sno) from transcript a,course b where grade 60 and a.Cno=b.Cno and Cname=多媒体技术基础;if(grade = 70)s = select count(sno) from transcript a,course b where grade =60 and a.C

33、no=b.Cno and Cname=多媒体技术基础;if(grade = 80)s = select count(sno) from transcript a,course b where grade =70 and a.Cno=b.Cno and Cname=多媒体技术基础;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 = select count(sno) from trans

34、cript a,course b where grade =90 and a.Cno=b.Cno and Cname=多媒体技术基础;tryst = 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 = select count(sno) from transcript a,course b where

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

36、nt(sno) from transcript a,course b where grade =80 and a.Cno=b.Cno and Cname=概率论与数理统计;if(grade = 100)s = select count(sno) from transcript a,course b where grade =90 and a.Cno=b.Cno and Cname=概率论与数理统计;tryst = this.Connect().prepareStatement(s);rs = st.executeQuery();while(rs.next()num= rs.getInt(1);

37、catch(Exception e)e.printStackTrace();return num;/获得总的人数public int count()int count = 0;String s = select count(distinct Sno) from transcript;this.Connect();tryst = this.Connect().prepareStatement(s);rs = st.executeQuery();while(rs.next()count = rs.getInt(1);catch(Exception e)e.printStackTrace();ret

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

39、teFormat;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 statusBar=new JToolBar(); /状态栏statusprivate JMenu JMedit = new JMenu(成绩信息);private JMenu JMcount = new JMenu(统计);p

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 单元课程

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com