学生成绩管理系统的设计与实现.docx

上传人:b****6 文档编号:5956357 上传时间:2023-01-02 格式:DOCX 页数:27 大小:943.77KB
下载 相关 举报
学生成绩管理系统的设计与实现.docx_第1页
第1页 / 共27页
学生成绩管理系统的设计与实现.docx_第2页
第2页 / 共27页
学生成绩管理系统的设计与实现.docx_第3页
第3页 / 共27页
学生成绩管理系统的设计与实现.docx_第4页
第4页 / 共27页
学生成绩管理系统的设计与实现.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

学生成绩管理系统的设计与实现.docx

《学生成绩管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统的设计与实现.docx(27页珍藏版)》请在冰豆网上搜索。

学生成绩管理系统的设计与实现.docx

学生成绩管理系统的设计与实现

学生成绩管理系统的设计与实现

(德州学院信息管理学院,山东德州253023)

摘要:

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对学生档案进行管理,具有手工管理所无法比拟的优点。

现基于Java与数据库技术建立一个高校成绩管理系统,重点介绍了学生成绩管理系统的实现过程:

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

为教师和学生提供了增加记录、查询、修改、删除等功能,基本上能满足学生和老师的要求。

依据开发要求主要应用于教育系统,完成对日常的教育工作中学生成绩档案的数字化管理,使学院老师减轻工作压力。

关键字:

Java;myeclipse;学生成绩管理系统

目录

摘要1

1引言3

2需求分析3

2.1项目要求3

2.2系统功能设计4

2.2.1系统的功能描述图4

2.2.2系统的功能特点4

2.3数据字典5

2.4系统性能需求7

3总体设计7

3.1数据库设计8

3.2系统的功能设计10

3.2.1学生权限的功能设计10

3.2.2教师权限的功能设计10

4详细设计11

4.1主要模块说明及其细分11

4.2实现过程11

5系统的实现13

5.1用户管理模块13

5.2增加学生信息模块15

5.3修改学生信息模块17

5.4综合查询模块19

6系统测试19

7结论23

8参考文献25

致谢27

1引言

现在社会日新月异,发展迅速,学校的发展也是逐步攀升,而且每年都有不同的要求。

学生的量非常的大,资料可能经常性能的发生更换,学生档案管理系统就成了学校信息化管理系统中不可缺少的部分,它的内容对于学校的管理者来说都至关重要。

但一直以来人们使用传统人工的方式进行学生的档案管理,这种管理方式存在着许多缺点,如:

效率低、容易出错、格式不规范。

另外时间一长,不容易进行统计和分析等这些优点能够极大地提高学校学生档案管理的效率。

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

而且只要软件的设计合理,可以为学校提供合理的管理模式。

建立学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效益和现代化水平。

帮助广大教师提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化。

巩固和加深对java语言课程的基本知识的理解和掌握;掌握java语言编程和程序调试的基本技能;利用java语言进行基本的软件设计;掌握书写程序设计说明文档的能力;提高运用java语言解决实际问题的能力;训练掌握、加深理解并巩固《Java程序设计实用教程》课程中所学到的基本概念、编程思路;综合运用Java程序设计的编程方法,能够利用这些程序设计方法来解决工程和科研中常见的实际问题;培养分析问题、解决问题的能力,进一步提高进行大型程序设计的能力。

2需求分析

2.1项目要求

(1)查询:

按照学号进行查询

(2)用户分为两类,即:

教师、学生。

(3)系统登录界面美观大方完成用户身份验证。

(4)教师可以根据教师的固有的用户名和密码登陆学生成绩管理系统。

学生可以用学生固有的用户名和密码登陆成绩管理系统。

(5)教师从键盘输入一个或多个学生信息;输入完成后数据库自动更新。

(6)教师输入欲删除的学生的学号;删除成功后,数据库自动更新。

(7)给定一个学生学号删除一个学生信息,查询数据库中是否有输入学号的学生信息。

如果存在,提示是否删除。

如果没有重新输入。

(8)教师输入欲修改的学生的学号,判断该学生是否存在于记录中;若学生记录存在,提供修改学生信息功能,修改成功后,更新数据库,查看记录

(9)教师输入欲查询学生学号;若该学生存在,输出该学生相关信息。

查看多个学生记录,点击输出所有学生的记录;能分别按学号、分数进行排序。

(10)退出系统,退出时提示是否退出

2.2系统功能设计

2.2.1系统的功能描述图

如图1所示,根据系统的总体需求得到系统功能描述图,这个图是本系统最基础的模型。

 

图1系统功能描述图

2.2.2系统的功能特点

(1)面向管理决策

MXS是继管理学的思想方法、管理与决策的行为理论之后的一个重要发展,它是一个为管理决策服务的信息系统,它必须能够根据管理的需要及时提供所需要的信息,帮助决策者作出决策。

(2)综合性

MXS是一个对学生成绩进行全面管理的综合系统。

建设管理信息系统时,可根据需要逐步应用个别领域的子系统,然后进行综合,最终达到应用学生成绩管理系统进行综合管理的目标。

(3)人机系统

MXS的目的在于辅助决策,而决策只能由人来做,因而学生成绩管理系统必然是一个人机综合的系统。

在成绩管理系统中,各级管理人员既是系统的使用者,又是系统的组成部分。

(4)现代管理方法和手段向结合的系统

项目

描述

数据流名称

学生名单

说明

某班全部学生名单

数据流来源

学生信息

数据流去向

班级学生名单显示

组成

班级学号姓名

平均流量

高峰期流量

随机存储

如果不采用先进的管理方法,只简单地采用计算机书籍提高处理速度,成绩管理系统的作用发挥十分有限。

成绩管理系统发挥其在管理中的作用,就必须与先进的管理手段和方法结合起来,在开发系统时,融进现代化的管理思想和方法。

2.3数据字典

数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合

项目

描述

数据流名称

修改成绩要求

说明

数据流来源

教师

数据流去向

修改成绩

组成

平均流量

高峰期流量

随机存储

(1)数据项的描述

表1学号数据项表2成绩数据项

 

(2)数据流描述

成绩录入数据流主要包含“学生名单”,“变动成绩要求”,“删除成绩要求”,“添加成绩要求”,“新增的成绩”,“原成绩”,“删除的成绩”,“修改后的成绩”等数据流

项目

描述

数据项名称

学号

含义说明

唯一标识符

别名

学生编号

数据类型

字符型

长度

5

项目

描述

数据项名称

成绩

含义说明

别名

学分

数据类型

字符型

长度

5

表3修改成绩数据流表4学生名单数据流

(3)数据存储的描述

成绩录入数据流中,包含“学生信息”和“考试成绩”等数据存储如下表所示

项目

描述

数据存储名称

学生信息

说明

记录学生的基本信息

流入数据流

学生的各项基本信息

流出数据流

学生基本信息

组成

学号、姓名、成绩

数据量

学生人数

存储方式

随机存储

表5学生信息的数据存储表6考试成绩的数据存储

项目

描述

数据存储名称

考试成绩

说明

保存学生各门功课的考试成绩

流入数据流

新增的成绩、修改后的成绩

流出数据流

原成绩

组成

学号、姓名、成绩

数据量

学生人数*课程数

存储方式

随机存储

(4)处理过程的描述

在成绩录入数据流中,包含“班级学生名单查询”、“增加成绩”、“修改成绩”、“删除成绩”、“成绩查询”等处理过程。

表7增加学生信息

项目

描述

处理过程名

增加成绩

说明

录入学生某门课的考试成绩

流入数据流

学号、课程、成绩

输出数据流

考试成绩

处理

在“考试成绩”数据存储中增加一个学生的考试成绩。

本系统的数据字典卡片如下:

表8成绩表卡片

描述:

成绩表

定义:

score=studentid+student_name +student_age+ course_name+ score+zongfen+pingjunfen 

studentid={限10个字符以内} student_name={限30个字符以内}scorname={限30个字符型} score={整数型}

zongfen={整型}pingjunfen={整型}

2.4系统性能需求

为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以下的性能需求:

(1)系统处理的准确性和及时性。

系统处理的准确性和及时性是系统的必然要求。

在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足信息处理的需求。

(2)系统的开放性和系统的可扩充性。

系统在开发过程中,应该充分考虑以后的可扩充性。

例如数据表中用户选择字段方式的改变,用户查询的需求也会不断的更新和完善。

所有这些,都要求系统提供足够的方法进行功能的调整和扩充。

而要实现这一点,应通过系统的开放性来完成,即系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。

通过软件的修补、替换完成系统的升级和更新换代。

(3)系统的易用性和易维护性。

要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面。

针对用户可能出现的使用问题,要提供足够多的在线帮助,缩短用户对系统熟悉的过程。

(4)系统的数据要求。

数据录入和处理的准确性和实时性;数据的一致性与完整性;数据的共享性与独立性。

(5)系统运行环境要求。

该系统要求运行在java+mysql的环境下,根据软件工程的原理,结合面向对象方法开发完成

3总体设计

根据实际情况,我们使用以少量代价快速地构造一个可执行的软件系统模型。

使用户可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的功能逐渐增加上去,直到所有的功能全部满足。

此时模块也发展成为最终产品了

3.1数据库设计

在开发一个信息系统时,一个贯穿于整个开发过程的问题就是数据的存储以及对数据的操作。

数据通常存放在数据库中,因此,数据库的设计是信息系统设计的主要工作。

数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。

计算机的数据库可以分为两类:

非关系数据库和关系数据库。

关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语。

本系统对系统数据的要求:

数据录入和处理的准确性和实时性;数据的一致性与完整性;数据的共享性与独立性。

根据上面三种要求并结合实际情况,该系统的数据库采用的是mysql。

它是现在流行的关系数据库中的一种,相比其它的数据库管理系统(DBMS)来说,目前mysql被广泛地应用在Internet上的中小型网站中。

由于其体积小、速度快、总体成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体成本而选择了mysql作为网站数据库。

(1)

概要结构设计

 

图2课程属性图

 

图3用户属性图

(2)系统关系E-R图:

 

 

 

图4系统E-R图

(3)逻辑结构设计

逻辑结构设计的任务是把概念结构设计阶段设计好的E-R图转换成与选用的DBMS产品所支持的数据模型相符合的逻辑结构。

E-R图所需解决的问题是如何确定实体和实体间的关系,如何确定这些关系模式的属性和码。

数据库中两实体间1:

n联系转换为一个与n端对应的关系模式合并的关系模式的方法是将联系的属性与1端的码加入n端作为属性,主码为n端实体的主码。

以下为本系统中部分表的简单介绍。

表9学生基本信息表

字段名

数据类型

说明

ID

Int

学生学号号

Name

Varchar(10)

学生姓名

Sex

Char(10)

性别

Age

Int

年龄

表10成绩基本信息表

字段名

数据类型

说明

id

char

学生学号

Gaili

Zongfen

Pingjunfen

int

int

int

概率论成绩

个人成绩总和

个人成绩平均分

3.2系统的功能设计

该系统针对不同权限的用户提供不同的操作界面,它负责与用户交互,接收用户通过浏览器传来的数据请求,并将请求传给数据库,同时将请求处理结果通过浏览器呈现给用户。

所以本设计主要包括两个方面:

学生权限的功能设计、教师权限的功能设计。

登录:

只有输入正确的用户名和密码才能登录系统。

登录系统后根据不同的权限进入不同的操作界面。

3.2.1学生权限的功能设计

学生运行该系统,应具有用户登录、成绩查询、查看排名等功能。

(1)信息查询:

学生登录管理系统后可以查看自己的个人信息。

(2)成绩查询:

学生可以输入学号查看自己的所有考试成绩。

(3)查看排名:

学生可以点击排名然后查看自己在班级里的名次。

3.2.2教师权限的功能设计

教师运行该系统,应具有教师登录、录入学生信息和成绩、学生成绩排名,更改学生成绩、删除学生信息和成绩等功能。

(1)录入学生信息和成绩:

教师登录系统以后,可以录入每位学生的基本信息,并依据学号依次输入成绩。

(2)学生成绩排序:

实现排序功能,依据总成绩进行排序,确定学生是否通过本学期检验。

(3)更改学生成绩:

如果经过核实发现输入有误可以及时更改信息。

(4)删除学生信息和成绩:

删除已经不用的信息,保持数据库的实时对应更新。

4详细设计

4.1主要模块说明及其细分

主要模块可以分为两部分:

界面的实现、数据库的连接。

界面主要包括:

登录界面、主界面。

登录界面主要包括:

用户名、密码,实现用户登录。

主界面包括五大功能部分:

查询、添加、修改、删除、排序显示。

数据库的连接包括:

表的建立、数据源的配置。

主要实现的功能及其操作如表11:

表11模块功能

输入信息

处理操作

输出信息

登录信息

用户名、密码

登录,退出

相关的信息界面

学生信息管理

学号、姓名

添加、删除、修改

相关的信息界面

学生成绩管理

学号、姓名

查询、插入、删除、修改、

相关的信息界面

4.2实现过程

(1)登录界面的实现

首先看下面的截图,由两个标签,两个单行文本编辑框,三个按钮组成。

这个登录界面的实现,首先得声明界面上所要显示的东西:

label、TextField、Button.

创建一个框架JFrame对象作为应用程序的主窗口,设置窗口标题和窗口大小及背景图片。

在设置按钮的界限时,我们要注意代码坐标的书写,不要让两个按钮有重叠。

图5登陆界面

(2)主界面的实现

同理,我们先看下面的截图,有七个功能,采用按钮的形式实现,添加、删除、年龄、java、数据库、网页设计、概率论是7个标签,其后分别跟一个单行文本编辑框。

代码后面有相对应的注释,简单做一介绍。

在这个界面中,有一个特色,大家也都看见,在学号这一行上面有一部分空白,如果我们想实现相对应五个功能模块中的一部分,相对应的实现就会在这空白处。

这部分的实现在Java程序中的实现是首先在数据库中取得表的列数、行数;取得单元格中的属性值、设置数据模型不可编辑、取得表格列明、取得所属对象类、设置单元格不可编辑;声明数据模型、生成自己的数据模型、显示水平线、显示垂直向、声明滚动条、给表格加上滚动条;切记加上初始化向量对象,更新表格内容。

图6信息录入界面

(3)数据库的连接

建表:

此学生成绩管理系统采用ACCESS数据库的连接,首先在ACCESS建立表格,有两个表格,登录界面、主界面各对应一张表。

首先我们使用设计器创建表,打开一张空白表格后设置字段名称和数据类型,设置完成后,直接关闭此表,自动会弹出一个对话框,命名并关闭此表。

在下面找到你所设置命名的表格,打开进行相关信息及其数据的填写。

数据库的连接:

以此执行,开始—>设置—>控制面板—>性能和维护->管理工具->数据源。

打开数据源,单击添加,选择MicrososfAccessDriver(*.mdb),在配置数据源名称时切忌,数据源名必须与你程序中的数据源名相同,不可以是表名;单击选择,在相应的目录下选择你所保存的表名,点击确定,完成数据库的连接。

5系统的实现

5.1用户管理模块

删除用户:

publicvoidactionPerformed(ActionEventee){

if(ee.getSource()==button1){

newchuangkou();

frame.dispose();

}

booleanboo=true;

s=input.getText();

Stringm;

try{

Class.forName("com.mysql.jdbc.Driver");

}catch(ClassNotFoundExceptioneee){

System.out.println(""+eee);

}

try{

con=DriverManager.getConnection("jdbc:

mysql:

//localhost:

3306/xueshengchengjiguanli","root","44944hua");

sql=con.createStatement();

rs=sql.executeQuery("SELECT*FROMchengjibiao");

while(rs.next()){

Stringnumber=rs.getString

(1);

Stringname=rs.getString

(2);

intdate=rs.getInt(3);

intmath=rs.getInt(4);

intenglish=rs.getInt(5);

intwangye=rs.getInt(6);

intgaili=rs.getInt(7);

if(number.equals(s)){

intn=JOptionPane.showConfirmDialog(null,"是否确认删除吗?

","确认删除框",JOptionPane.YES_NO_OPTION);

if(n==JOptionPane.YES_OPTION){

show.setText("你删除了学号为--"+number+"--同学的记录\n\n学号\t姓名\t年龄\tjava\t数据库\t网页设计\t概率论\n");

show.append(number+"\t"+name+"\t"+date+"\t"+math+"\t"+english+"\t"+wangye+"\t\t"+gaili);

show.append("\n");

m="DELETEFROMchengjibiaoWHEREid='"+input.getText()+"'";

if(boo){

JOptionPane.showMessageDialog(this,"你输入的学号不存在");

}

sql.executeUpdate(m);

}elseif(n==JOptionPane.NO_OPTION){

}

}

}

//con.close();

}catch(SQLExceptione){

System.out.println(e);}

图7用户管理流程图

5.2增加学生信息模块

(1)对学生信息进行增加:

publicvoidactionPerformed(ActionEventee){

if(ee.getSource()==button1){

newchuangkou();

frame.dispose();

}

Strings1,s2,s3,s4,s5,m6,m7,insert1,recode,name,date,number;

intm1,m2,math,english,wangye,gaili,s6,s7,s8,s9;

s1=input1.getText();

s2=input2.getText();

s3=input3.getText();

s4=input4.getText();

s5=input5.getText();

m6=input5.getText();

m7=input5.getText();

number=s1;

name=s2;

date=s3;

m1=Integer.parseInt(s4);

math=m1;

m2=Integer.parseInt(s5);

english=m2;

s7=Integer.parseInt(m6);

wangye=s7;

s8=Integer.parseInt(m7);

gaili=s8;

s6=math+english+wangye+gaili;

s9=(math+english+wangye+gaili)/4;

try{

Class.forName("com.mysql.jdbc.Driver");

}catch(ClassNotFoundExceptioneee){

System.out.println(""+eee);

}

try{

intn=JOptionPane.showConfirmDialog(null,"是否确认添加吗?

","确认删除框",JOptionPane.YES_NO_OPTION);

if(n==JOptionPane.YES_OPTION){

con=DriverManager.getConnection("jdbc:

mysql:

//localhost:

3306/xueshengchengjiguanli","root","44944hua");

sql=con.createStatement();

recode="("+"'"+number+"'"+","+"'"+name+"'"+","

+"'"+date+"'"+","+math+","+english+","+wangye+","+gaili+","+s6+","+s9+")";

insert1="INSERTINTOchengjibiaoVALUES"+recode;

sql.executeUpdate(insert1);

show.setText("你添加了以下信息\n学号\t姓名\t年龄\tjava\t数据库\t网页设计\t概率论\t总分\t平均分\n");

show.append(number+"\t"+name+"\t"+date

+"\t"+math+"\t"+english+"\t\t"+wangye+"\t"+gaili+"\t"+s6+"\t"+s9);

show.appen

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

当前位置:首页 > 自然科学

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

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