学生管理系统java.docx

上传人:b****5 文档编号:5916985 上传时间:2023-01-02 格式:DOCX 页数:20 大小:227.13KB
下载 相关 举报
学生管理系统java.docx_第1页
第1页 / 共20页
学生管理系统java.docx_第2页
第2页 / 共20页
学生管理系统java.docx_第3页
第3页 / 共20页
学生管理系统java.docx_第4页
第4页 / 共20页
学生管理系统java.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

学生管理系统java.docx

《学生管理系统java.docx》由会员分享,可在线阅读,更多相关《学生管理系统java.docx(20页珍藏版)》请在冰豆网上搜索。

学生管理系统java.docx

学生管理系统java

 

摘要

随计算机的普及和互联网的飞跃发展,人们对信息的要求不断的加强。

数据更新的速度直接决定了人们在现代生活中的工作效益。

从传统的手工管理到信息时代的计算机系统管理过渡。

传统的学生管理依靠人工进行,更新速度慢,出现错误后修改复杂,不利于分类管理。

因此开发此系统—学生成绩管理系统是很有必要的。

本次综合性设计运用.JAVA开发技术,结合数据库的知识开发了一个学生成绩管理系统。

主要功能用学生成绩系统实现添加学生基本信息,修改学生基本信息,查询学生基本信息,添加学生成绩,修改学生成绩,删除学生成绩,模糊查询,对各项信息进行排序显示。

关键词:

学生成绩管理数据库分层管理JAVA技术

 

 

1背景介绍

1.1业务背景

高校对学生管理的好坏与否体现了一个学校的综合管理水平,在现代飞速发展的信息时代。

传统的手工管理模式日渐淘汰,学生作为一个庞大的集体,需要一个很好的数据库来进行管理。

由此开发一个模拟的学生成绩管理系统是很有必要的。

拥有及时准确的学生信息对学校组织学校,制定方针政策都非常有利。

1.2技术背景

本系统使用的是Java技术开发,用Access储存数据。

集成开发环境可使用支持可视化GUI界面设计的主流工具(如eclipse\antbean\jbuilder)。

开发者应有java程序设计语言、SWING基本GUI组件、文件使用、JDBC存取数据库、使用一种集成开发工具的基本知识和技能。

系统采用两层C/S体系结构,C端负责通过GUI与管理员交互、处理业务逻辑及存取数据库。

2需求分析

2.1功能需求分析

能够实现根据以下关键字查询:

学生姓名、学号、班级、课程名称。

2.能够实现按照单科成绩、总成绩、平均成绩、学号排序。

3.能够实现学生信息的插入、删除和修改。

4.能够查询每个课程的最高分、最低分及相应学生姓名、班级和学号。

5.能够查询每个班级某门课程的优秀率(90分及以上)、不及格率,并进行排序。

界面要求:

使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。

2.2业务对象分析

该系统的主要用户为学生和教师,因此设计的界面利用用户的习惯。

学生记录:

反映学生的基本信息,如:

学号,姓名,性别等。

成绩记录:

反映学生成绩的信息,如:

单科成绩,平均成绩等。

学生和教师:

操作者,执行上面的各种数据操作。

3系统设计

3.1总体设计

3.1.1系统体系结构

该学生成绩体管理系采用的C/S架构,主要模块有学生基本信息模块,学生成绩管理模块,系统运行环境(如操作系统、数据库),开发平台及语言。

本系统主要运行在windows系列平台上,数据库使用ACCESS,使用eclipse开发系统。

采用两层C/S体系结构。

系统体系结构图如下图所示:

图1

3.1.2系统功能模块

客户端分3层,图形界面层(采用Java的Swing设计)负责与用户交互,业务逻辑层则根据用户的请求执行各种功能(如上、下机等),数据访问层主要根据业务逻辑层的请求通过JDBC/SQL存取数据库。

数据库使用ACCESS,可根据情况使用其他数据库(如SQLServer),客户端基本不做修改,仅有的少量修改也只在数据访问层。

客户端与服务端在物理上可以运行在一台机器上,也可以分别运行在不同机器上。

如图2:

图2-a总体模块图

数据库表格建立程序流程图

 

图2-b数据库表格建立程序流程图

图2-c学生信息的插入、删除和修改操作的事件处理器程序流程图

3.2详细设计

3.2.1数据库设计

图3

3.2.2系统登录

初次登录系统需要输入用户名和密码,在用户名和密码校验成功后方可使用本系统。

,如图4所示:

图4

3.2.2系统主界面

进入到系统的主界面后,用户可以通过菜单,进行学生管理的操作,该界面有信息操作选项,成绩操作选项,查询选项,和其它选项。

如图5所示:

图5

3.2.3添加学生信息

该模块的功能是对学生信息的添加,包括添加学生学号,学生姓名,通过单选按钮添加学生性别,生日,班级信息,和学院信息。

如图6所示:

图6

3.2.4删除学生信息

该模块通过用户输入学号删除学生信息,点击“重置”则清空所有文本框数据。

如图7所示:

图7

3.2.5修改学生信息

用户可以通过输入学生学号修改相应的信息。

如图8所示:

图8

3.2.6添加学生成绩

此模块完成的功能是对学生成绩的添加,输入学号,姓名等信息后点击“添加”则完成。

如图9所示:

图9

3.2.7查询学生信息

用户输入学号后点击“查询”完成对学生基本信息的查询,点击“重置”则清空文本框的数据.如图10所示:

图10

3.2.8查询学生成绩

用户在下拉框选择好按条件查询的类型后,点击“查询”按钮完成对学生成绩的查询。

如图所示:

如图11所示:

图11

3.2.9排序成绩信息

用户在选择好排序的条件后点击“排序”按钮,完成对学生成绩的排序显示。

图11

3.2.10模糊查询学生信息

用户通过选择排序的方式和性别等条件,对学生的信息排序显示。

如图12所示

图12

4系统实现

4.1数据库访问

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.sql.Statement;

publicclassConnexample{

publicConnexample()

{

try

{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}

catch(ClassNotFoundExceptionex)

{

//System.out.println(ex.getMessage());

}

try

{

Connectionconn

=DriverManager.getConnection("jdbc:

odbc:

student","","");

Statementstmt=conn.createStatement();

//

ResultSetrs=stmt.executeQuery("select*fromgrade");

while(rs.next())

{

System.out.println("学号:

"+rs.getString

(1)+

"\t"+"name:

"+rs.getString

(2)+

"\t"+rs.getString(3)+

"\t"+rs.getDouble(4)+

"\t"+rs.getDouble(5)+

"\t"+rs.getString(6));

}

}

catch(SQLExceptionce)

{

System.out.println(ce.getMessage());

}

}

publicstaticvoidmain(Stringargs[])

{

newConnexample();

}

}

4.2主模块

图13主模块流程图

JMenuBarjm=newJMenuBar();

JMenujm1=newJMenu("信息");

JMenuItemjmi1=newJMenuItem("增加信息");

JMenuItemjmi2=newJMenuItem("删除信息");

JMenuItemjmi3=newJMenuItem("修改信息");

JMenujm4=newJMenu("成绩");

JMenuItemjm41=newJMenuItem("录入成绩");

JMenuItemjm42=newJMenuItem("删除成绩");

JMenuItemjm43=newJMenuItem("修改成绩");

JMenujm2=newJMenu("查询");

JMenuItemjmi21=newJMenuItem("基本信息查询");

JMenuItemjm22=newJMenuItem("学生成绩查询");

JMenuItemjm23=newJMenuItem("学生成绩排序");//

JMenuItemjm24=newJMenuItem("基本信息排序");//

JMenujm3=newJMenu("其它");

JMenuItemjmi31=newJMenuItem("退出");

4.3添加基本信息

图14添加信息流程图

try

{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connectioncot=DriverManager.getConnection("jdbc:

odbc:

student","","");

Statementstm=cot.createStatement();

ResultSetrs=stm.executeQuery(sql);

if(rs.next())

JOptionPane.showMessageDialog(null,"该号已经存在!

");

else

{

sql="insertintostudentvalues('"+snumber+"','"+sname+"','"+sclass+"','"+ssex+"','"+scollect+"','"+sbir+"')";

inti=stm.executeUpdate(sql);

if(i>0)

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

");

else

JOptionPane.showMessageDialog(null,"删除失败!

");

}

}catch(Exceptionee)

{

}

}

if(e.getSource()==JBNext)

{

JTNumber.setText(null);

JTName.setText(null);

JTClass.setText(null);

JT1.setText(null);

JT2.setText(null);

}

if(e.getSource()==JBExit)

{

setVisible(false);

}

}

4.4删除基本信息

图15删除信息流程图

cot=DriverManager.getConnection("jdbc:

odbc:

student","","");

Statementstm=cot.createStatement();

ResultSetrs=stm.executeQuery(sql);

if(rs.next())

{

sql="delete*fromgradewhereId='"+snumber+"'";

intn=stm.executeUpdate(sql);

if(n>0)

JOptionPane.showMessageDialog(null,"删除成功!

");

else

JOptionPane.showMessageDialog(null,"删除失败!

");

4.5修改基本信息

 

图16

try

{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connectioncot=DriverManager.getConnection("jdbc:

odbc:

student","","");

Statementstm=cot.createStatement();

ResultSetrs=stm.executeQuery(sql);

if(rs.next())

{

sql="updategradesetname='"+sname+"',score='"+sclass+"',sex='"+ssex+"',course='"+scollect+"',bir='"+sbir+"'whereId='"+snumber+"'";

intn=stm.executeUpdate(sql);

if(n>0)

JOptionPane.showMessageDialog(null,"修改成功!

");

else

JOptionPane.showMessageDialog(null,"修改失败!

");

}

else

{

JOptionPane.showMessageDialog(null,"此用户不存在!

");

}

}

catch(Exceptioner)

{

}

4.6按条件查询信息

图17

Stringnumorename,searchf,sql;

numorename=searchcbo.getSelectedItem().toString();

searchf=searchfield.getText().trim();

//

if(numorename.equals("按学号")){

sql="select*fromgradewhereId='"+searchf+"'";

}

elseif(numorename.equals("按姓名"))

{

sql="select*fromgradewherename='"+searchf+"'";

}

elseif(numorename.equals("按班级"))

{

sql="select*fromgradewhereclass='"+searchf+"'";

}

else

{

sql="select*fromgradewheresex='"+searchf+"'";

}

5小结

本次综合Java课程设计所开发的学生成绩管理系统是基于B/S构建的,在网络的移植上有很好的表现,该数据库由于涉及的数据库操作不太频繁因此采用Access数据库连接。

Java数据包的运用开发为程序员节约了大量的时间,让更多的时间运用到设计中。

其次Java的使用非常灵活。

在实际的开发中学生数据库是一个庞大的系统,因此用大型的数据库才能满足用户的需求。

在搭建好开发环境后,用一个简单的连接数据库的小程序来测试数据库是否正确连接,这样在开发过程中省去了不必要的时间。

同时在数据库开发的过程中不会出现低级的错误。

然后在工作区添加项目资源,建立类,逐个模块进行测试开发,然后把所有的模块整合为一个系统。

在实际的开发中要注意对嵌入式SQL语句的书写,比如,在按条件查询数据库表信息的时候,要注意给常量赋值,并且SQL语句要和赋值的常量数据类型相匹配。

本次开发中,把数据库里的表绑定到表格的时候注意打开和关闭数据库连接,对应的列和表格之间的关系,防止绑定错位。

6展望

本系统是一个简单的学生成绩管理系统,无论在功能上还是使用方式上,与现实中的学生成绩管理系统相比仍有较大差距,但本系统可进一步扩展成实用的系统,并且大部分代码(业务逻辑、数据库及存取部分)可以重用。

其中从技术角度看实际的系统一般是一个由多客户端(上网机)、单服务器(管理员机)及数据库构成的三层系统,其中客户端受服务器管控(如服务器可以通过网络控制实现对学生的各种管理操作),涉及到的关键技术是数据库与系统的配合,话结束本项目:

“路漫漫其修远兮,吾将上下而求索”。

 

参考文献

1.李忠等《Java语言编程技术课程设计》指导书

2.CayS.Horstmann著、叶乃文等译.《Java2核心技术》.北京:

机械工业出版社.2006。

3.CEckel著、陈昊鹏等译.《Java编程思想》.北京:

机械工业出版社.2005。

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

当前位置:首页 > 幼儿教育 > 唐诗宋词

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

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