Java大作业学生成绩管理.docx

上传人:b****5 文档编号:5608683 上传时间:2022-12-29 格式:DOCX 页数:38 大小:129.57KB
下载 相关 举报
Java大作业学生成绩管理.docx_第1页
第1页 / 共38页
Java大作业学生成绩管理.docx_第2页
第2页 / 共38页
Java大作业学生成绩管理.docx_第3页
第3页 / 共38页
Java大作业学生成绩管理.docx_第4页
第4页 / 共38页
Java大作业学生成绩管理.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

Java大作业学生成绩管理.docx

《Java大作业学生成绩管理.docx》由会员分享,可在线阅读,更多相关《Java大作业学生成绩管理.docx(38页珍藏版)》请在冰豆网上搜索。

Java大作业学生成绩管理.docx

Java大作业学生成绩管理

本科学生综合性实验报告

课程名称:

Java开发技术

项目名称:

学生成绩管理系统

学生姓名学号

指导教师

开课学期2011至2012学年第一学期

完成时间2011年1月3日

目录

摘要2

1项目研究开发的背景及意义2

1.1本课题设计学术价值、理论意义和实践意义2

1.2本课题设计拟研究的主要问题2

1.3重点和难点3

1.4研究方法、预期效益3

1.5本项目创新点和特色3

2需求分析3

2.1开发背景3

2.2项目目标4

2.3运行环境4

2.4任务说明书4

3技术路线及关键技术7

3.1系统总体功能图7

3.2学生成绩管理系统的功能模块简介:

10

3.3系统运用的主要技术:

23

3.4数据库设计24

3.5连接数据库27

4测试报告及系统评价28

4.1系统简介:

28

4.2系统特色及缺点:

28

5系统使用说明29

5.1用户操作指南:

29

6个人感受及收获37

7大作业总结37

感谢38

8参考文献:

38

摘要

人类已进入21世纪,科学技术突飞猛进,经济知识和信息产业初见端倪,特别是信息技术和网络技术的讯速发展和广泛应用,对社会的政治,经济,军事,文化等领域产生越来越深刻.学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。

本次大作业的学生成绩管理系统是用java编程+SQLserver2000数据库+SQL查询语言实现的.重点介绍了学生成绩管理系统的实现过程:

包括系统需求分析、功能设计、数据库设计、系统实现、系统测试和调试等。

关键字:

成绩管理统计信息管理数据库

1项目研究开发的背景及意义

1.1本课题设计学术价值、理论意义和实践意义

现在的社会知识经济在世界经济发展的地位越来越高,国家综合国力和国际竞争能力越来越取决于教育发展,科学技术和知识创新的水平,教育在经济和社会发展过程中将呈现出越来越突出的重要作用。

学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段。

但是有些学校还是使用传统人工的方式管理学生成绩,填写各种表格,这种管理方式存在着许多缺点,如:

效率低,保密性差,另外所用其时间长,产生大量的文件和数据,这对于查找,更新和维护都带来了不少的困难。

在此次大作业中,我综合java编程、SQL数据库和SQL查询语言来实现一个简单的学生成绩管理系统。

1.2本课题设计拟研究的主要问题

一个完整的学生管理系统包括四个功能模板:

(1)基本信息管理:

包括对学生、教师、课程、成绩信息进行查找、删除、修改和添加。

(2)课表查询:

学生和教师都可以对自身的课表进行查询。

(3)统计功能:

对学生单科成绩、总成绩、所有学生成绩的平均分进行统计,并作出相应的排名。

(4)图形界面,将学生单科成绩用柱形图表示出来,清晰简单地表示出成绩的分布情况。

1.3重点和难点

(1)界面要求美观,需熟练掌握利用java语言来布局。

(2)数据库多个表联系,利用视图或者存储过程,需熟练掌握数据库的操作。

(3)模糊查找和精确查找,在界面上要求两者兼容,数据库上要求联系紧密。

(4)统计功能,单科和总成绩要求进行统计。

(5)图形界面,系统主界面加入背景图片以及成绩统计时以不同颜色的柱形图形象表达。

1.4研究方法、预期效益

本次课程设计属于很普遍的应用研究类,我只是在大家做的基础上加上我自己的的想法以及设计。

同时结合我们现在学生的成绩情况来进行设计。

我采用的方法是理论分析结合实际来进行研究的,通过学习经验来建立模型,在此基础上对学生成绩管理系统进行设计。

这个系统将在12月下旬设计结束,界面美观,使用方便,功能较全的一个原型系统。

此系统可以应用于落后的乡村的中小学教学管理。

1.5本项目创新点和特色

(1)本系统采用java和数据库结合的方式开发,可以对大量的数据进行存储和操作。

(2)本系统使用java开发,具有跨平台特性。

(3)本系统功能俱全,具有学生、教师、课程的信息管理和多条件的成绩查询和课程查询,成绩统计和利用柱形图反应成绩分布。

(4)系统具有安全性,用户只能通过用户名和密码访问。

同时设定三种用户:

管理员、学生、教师。

不同的用户权限不同。

2需求分析

2.1开发背景

当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。

计算机的最大好处在于利用它能够进行信息管理.使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性.尤其对于复杂的信息管理,计算机能够充分发挥它的优越性.。

管理信息系统是进行信息的采集、存储、加工、维护和使用的系统,它是随着管理科学和技术科学的发展而形成的。

学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段,对学生来说可以轻松的查阅自己在校的成绩,个人信息和课表查询等,但是一直以来在落后的乡村一些中小学人们都是靠传统人工的方式管理学生成绩,这种管理方式存在着许多缺点,如:

效率低,保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用,作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,有着手工管理所无法比拟的优点,例如:

检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高学生成绩管理的效率,也是企业的科学化,正规化管理,与世界接轨的重要条件。

因此,开发这样的一套成绩管理系统成为很有必要的事情。

学生成绩管理系统提供了比较全面的学生成绩管理管理功能,方便系统管理员对学生成绩等信息的添加、修改、删除、查询、统计等操作。

2.2项目目标

(1)管理员能够实现对整个学生信息的添加、修改、删除、查询等操作。

(2)管理员能够实现对整个教师信息的添加、修改、删除、查询等操作。

(3)管理员能够实现对整个课程信息的添加、修改、删除、查询等操作。

(4)学生、教师、管理员对整个成绩的查询。

(5)教师、学生查询课表。

(6)系统对成绩具有统计计算的功能,将成绩情况用柱形图形象地表现出来,并对成绩进行排名,包括单科和总成绩。

(7)不同的角色不同的权限。

2.3运行环境

学生成绩对运行环境没有很高的要求,而且可以跨平台运行,包括现有的linux和uniux等操作系统。

但是让学生成绩管理系统反应操作更快,我推荐用户使用如下的配置:

最佳配置:

CPU2GHz内存512M硬盘80G

WindowsXP/linux/uniux

JDK1.6.0,Java程序开发环境Eclipse/MyEclipse,SQLsever2000

2.4任务说明书

任务概述:

通过在网上看一些学生成绩管理系统的源代码,构想自己系统该有的功能框架。

将自己的构想和网上的进行对比,将自己的系统不断地完善。

一下是此次大作业的工程进度安排表:

 

表2.4-工程进度表

阶段任务

时间

计划完成工作

实际完成情况

阶段一:

分析选题阶段

2011年11月20日-2011年11月30日

接到大作业任务后,对供选题目进行分析,并通过查询资料及相关信息,结合我们所学习的知识及的具体情况,选择相应的题目并且确定工作方案。

通过网上查阅地资料,结合自身目前所学的知识,并且结合了老师的相关意见,最终个人选择了学生成绩管理系统。

该系统是桌面应用系统,结合数据库和java来完成。

阶段二:

程序编写及调试阶段

阶段二:

程序编写及调试阶段

2011年12月1日-2011年12月9日

思考程序的大体方向及主题思路,确定程序所包含的相关功能,同时完成对程序流程、模块以及相关类的设计。

个人经过一番思考,确定程序大体的思路及程序包含的功能,即为教学单位提供一个能对学生成绩统计与管理,学生信息,教师信息,授课信息管理的系统。

然后画出了程序主体的流程图,将系统分成三个大模块模块。

(1)成绩信息

(2)成绩统计

(3)基本信息管理

2011年12月10日-2011年12月15日

在前期设定的流程图和系统模块化的基础上,完成程序所有的具体部分代码的编写及各种相关功能的实现。

经过一段的时间的编写,建立好数据库,同时完成了程序各个具体部分的实现,完成了三个模块及其他布局函数的编写,具体如下:

(1)Manage_student.java实现学生信息的添加、删除、查询、修改功能。

(2)Manage_course.java实现课程信息的添加、删除、查询、修改功能。

(3)Manage_teacher.java实现教师信息的添加、删除、查询、修改功能。

(4)Manage_teach实现授课的添加、删除、查询、修改功能。

(5)SignalCount.java实现分数的计算

(6)SignalCount.java实现分数的计算

(7)Photo.java实现分数的分布图,将数据以柱形图的形式表示出来。

(8)DataManager.java实现数据库的连接。

阶段三:

程序编写及调试阶段

阶段三:

报告撰写阶段

阶段三:

报告撰写阶段

阶段三:

程序完善阶段

2011年12月16日-2011年12月21日

完成了整个程序的编写工作之后,将数据库中的数据对我们的程序进行完善的测试,确保程序的准确性。

使用所准备的数据库中不同的数据对程序进行测试,并且对得出的结果进行分析,最终得出测试结果没有错误的结论。

确定程序没有错误,整个程序的具体情况与个人最初的目标相吻合。

2011年12月22日-2011年12月27日

完成大作业报告中的需求分析及程序分析部分的填写。

基于在第一阶段所作的工作并结合收集的相关资料,我们用了很短的时间完成这一部分的填写。

2011年12月28日-2011年12月31日

完成大作业报告技术路线及测试报告部分的填写。

基于在第二阶段所作的工作,对整个程序经过细致的分析最后对其进行逻辑的归类,完成了技术路线这一部分的填写;再对前期所作的测试的结果进行分析、汇总、总结,完成了测试部分的填写。

因为程序需要添加很多注释,再加上程序的内容较多以及对前期测试结果的整理,使得这一部分花费了相对较长的时间

2011年1月1日—2012年1月3日

完善程序代码以及实验报告

由于前阶段代码出现了一定的错误,对其进行修改,并取得成功。

3技术路线及关键技术

3.1系统总体功能图

(1)系统结构图

图3.1-系统总结构图

(2)系统流程图:

在系统设计中,将用户分成三种权限,不同权限的用户,则访问的内容不同、控制的信息也不同,系统结构图如图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=tf_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.length()==0)

{

JOptionPane.showMessageDialog(this,"请添加完整信息!

","提示信息",JOptionPane.QUESTION_MESSAGE);

}

else

{

try

{

ps=con.prepareStatement("insertintostudentvalues(?

?

?

?

?

?

?

)");

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_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(SQLExceptionsql)

{

JOptionPane.showMessageDialog(this,"添加成功!

","提示信息",JOptionPane.QUESTION_MESSAGE);

}

}

}

if(obj==xiugai)//修改

{

Stringno=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();

try

{

ps=con.prepareStatement("updatestudentsetSno=?

Sname=?

sex=?

classno=?

addr=?

age=?

tel_no=?

whereSno=?

");

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,"确定修改吗?

","提示信息",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(SQLExceptionsql)

{

JOptionPane.showMessageDialog((Component)null,sql.getMessage(),"提示信息",JOptionPane.QUESTION_MESSAGE);

}

}

if(obj==shanchu)//删除

{

try

{

Stringno=shuru.getText().trim();

ps=con.prepareStatement("deletefromstudentwhereSno=?

");

ps.setString(1,no);

JOptionPane.showMessageDialog(this,"确定删除吗?

","提示信息",JOptionPane.QUESTION_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(SQLExceptionsqlex)

{

sqlex.getMessage();

}

}

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("");

}

}}

主要功能:

添加、删除、修改、查询学生基本信息。

实现目的:

对于每个新的学年都有大量的学生入录,对学生信息的添加是必不可少的。

同时,在管理员的日常工作过程中,难免不出现错误。

所以对其信息修改功能也是必不可少的,删除则是在学生开除学籍时可以使用。

同时课程、教师、成绩信息和学生信息操作是相同的。

(2)成绩统计:

//统计各科平均分

publicStringSubjectAvg(Stringsubject){

Strings=null;

floatt=0;

this.Connect();

if(subject.equals("计算机网络"))

{

s="selectavg(grade)fromtranscriptwhereCno=003125";

try{

st=this.Connect().prepareStatement(s);

rs=st.executeQuery();

while(rs.next())

{

t=rs.getFloat

(1);

}

}catch(Exceptione){

e.printStackTrace();

}

}

if(subject.equals("数据库系统原理"))

{

s="selectavg(grade)fromtranscriptwhereCno=003126";

try{

st=this.Connect().prepareStatement(s);

rs=st.executeQuery();

while(rs.next())

{

t=rs.getFloat

(1);

}

}catch(Exceptione){

e.printStackTrace();

}

}

if(subject.equals("多媒体技术基础"))

{

s="selectavg(grade)fromtranscriptwhereCno=003127";

try{

st=this.Connect().prepareStatement(s);

rs=st.executeQuery();

while(rs.next())

{

t=rs.getFloat

(1);

}

}catch(Exceptione){

e.printStackTrace();

}

}

if(subject.equals("概率论与数理统计"))

{

s="selectavg(grade)fromtranscriptwhereCno=003128";

try{

st=this.Connect().prepareStatement(s);

rs=st.executeQuery();

while(rs.next())

{

t=rs.getFloat

(1);

}

}catch(Exceptione){

e.printStackTrace();

}

}

r

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1