基于Java的学生注册管理系统

Foooooooood

发布日期: 2019-03-03 21:57:46 浏览量: 1769
评分:
star star star star star star star star star_border star_border
*转载请注明来自write-bug.com

摘 要

随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。目前社会上信息管理系统发展飞快,各个企业事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理软件也不少。

该报告中的程序是简单的学生管理系统,该系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作。使用Java程序编写,能够进行学生信息的录入、修改、查看、删除等操作。

关键字:信息,管理系统

1 绪 论

一直以来学生的成续管理是学校工作中的一项重要内容,我国的大中专院校的学生成绩管理水平普遍不高。随着办学规模的护大和招生人数的增加,建立一个成绩维护系统是非常必要的。普通的成绩管理已不能适应时代的发展,因为它浪费了许多的人力和物力。在当今信息时代这种传统的管理方法必然被以计算机为基础的信息管理系统所代替。为了提高成绩管理的效率,我选择了学生成绩管理系统作为毕业设计的课题本系统在大多数成绩管理系统的基础上,主要增加了教师对成绩的操作,教师改完试卷后不用在往学院的教务处办公室报送成绩,可以直接的把成绩上传到网络上,学生也可以方便快速的查询到自己的成绩,考试后教务管理人员也不必总呆在学院的办公室,他们都不受时间,位置,空间的限制,只要有上网的条件,在家里就可以完成有关成绩的录入,更新,管理,查询和删除。本系统将会改变以前靠手工管理学生成绩的状况,提高工作效率。希望能为老师和学校的工作带来便利。

建立学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生成绩维护工作流程的系统化、规范化和自动化。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:

  • 系统应具有实用性、可靠性和适用性,同时注意到先进性

  • 对各个数据库进行动态管理,防止混乱

  • 不同用户有不同的查询和修改权限,防止非法查询非法修改

  • 能够对查询结果进行分类汇总,实现报表打印和下载

  • 方便用户的操作,尽量减少用户的操作

随着高校办学规模的扩大和招生人数的增加,学生成绩管理维护是学校管理中异常重要的一个环节,作为学校,除了育人,就是育知,学生成绩管理的计算机化是整个学校教务管理中的重要一部分,介于它的重要性,学生成绩管興系統的开发与应用就逐渐提入议程并占着越来越重要的份量。运用学生成绩管理维护系统可以减轻学院教学人员的工作量,缩小开支,提高工作效率与准确率,能够节省时间,学生也能够尽快的知道自己的考试成绩,投入新的课程的学习或复习这次没有考过的课程。而学生成绩管理系统的应用也为今天的民办教育在未来市场的竞争力有所提高。在现代高科技的飞跃发展,人们工作习惯的改变,特别是电脑的大量普及,人们生活节奏越来越快,怎样提高工作效率是人们首先考虑的问题。学生成绩管理是一个非常繁琐与复杂的一项工作,一个原因就是工作量大,不好管。对于一个学校而言,管理好学生的成绩,是非常重要的。因此开发出一套学生成绩管理系统是非常必要的。

2 系统需求分析与设计

2.1 系统需求分析

利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行査询,检索迅速、查找方便、可靠性高、存储量大、保密性好。要科学地实现信息化管理,开发一个适合学校的,能够进行信息存储、查询、修改等功能的信息管理系统是十分重妻的。我这次的课题就是设与实现一个学生信息管理系统。

1.2 系统设计

以下是学生信息管理系统功能模块关系图,主要包含、添加、修改、删除、学生信息等功能。

3 数据库设计

3.1 数据库需求分析

java数据库课程设计之学生信息管理系统,利用java数据库的实现对学生信息的管理,包括学生,老师,班级,课程,课程成绩,考试类别的操作。

3.2 数据库表设计

以下为本系统中所有表的简单介绍:

管理员基本信息表包含管理员编号、管理员姓名、管理员密码,设计时注意sid设为主键,如表所示:

字段名称 数据类型 长度 逻辑关系
sid int 11 主键
username varchar 255
password varchar 255

学生表包含的信息是学生编号、学生姓名、学生性别、学生年龄、家庭住址、联系电话等信息,设计时注意ID字段设为主键,如表所示:

字段名称 数据类型 长度 逻辑关系
sid int 11 主键
sno varchar 255
sname varchar 255
password varchar 255
sgender inr 11
class-id inr 11 外键
age inr 11
address varchar 255
mobile varchar 255

班级表包含的信息是班级编号、班级名,设计时注意ID字段设为主键,设为Int类型,如表所示:

字段名称 数据类型 长度 逻辑关系
cid int 11 主键
cname varchar 255

课程表包含的信息是课程编号、课程名、学时、学分,设计时注意ID字段设为主键,设为Int类型,如表所示:

字段名称 数据类型 长度 逻辑关系
cid int 11 主键
cname varchar 255
cperiod- expriment int 255
credit int 255
ctype varchar 255

学生课程表包含的信息是学生编号、课程编号,如表所示:

字段名称 数据类型 长度 逻辑关系
id int 11 主键
sid int 11 外键
cid int 11 外键

分数表包含的信息是学生ID、课程ID,其中sid为主键,设为int型,如图所示:

字段名称 数据类型 长度 逻辑关系
sid int 11 主键
student-id int 11 外键
course-id int 11 外键
grade int 11

4 系统实现

4.1 管理员

管理员登录页面

管理员查看成绩

管理员添加新班级

管理员添加新成绩

管理员添加新课程

管理员添加新学生

4.2 普通用户

普通用户登录

普通用户的成绩

普通用户的个人资料

普通用户的课程

5 系统测试

测试用例名 测试步骤 预期结果 实测结果
“DBConnection连接” 测试 实例化DBConnection对象,调用Connect()方法 控制台没有打印异常 与预期结果相符
“DBConnection关闭连接” 测试 实例化DBConnection对象,调用close()方法 程序执行过程中没有任何异常,程序正常退出 与预期结果相符
“DBConnection查询” 测试 实例化DBConnection对象,调用Connect()方法,调用getQuery(String sql)方法传入sql语句,调用close()方法 返回查询结果 与预期结果相符
“DBConnection批量查询” 测试 实例化DBConnection对象,调用Connect()方法,调用getQueryMany(String sql1, String sql2) 方法传入两条sql语句,调用close()方法 返回查询结果 与预期结果相符
“DBConnection插入删除更新” 测试 实例化”DBConnection对象,调用Connect()方法,调用update(String sql)方法传入sql语句,调用close()方法 返回查询修改结果数量 与预期结果相符
“DBHelper查看学生列表” 测试 调用getStudentList()方法 返回学生列表 与预期结果相符
“DBHelper登录” 测试 调用stuLogin(String username, String pwd)方法,传入用户名和密码 返回非-1 与预期结果相符
“DBHelper超级用户登录” 测试 调用superUserLogin(String username, String pwd)方法,传入超级管理员用户名和密码 返回非-1 与预期结果相符
“DBHelper添加学生信息” 测试 调用addStuProfile()方法,传入学生信息 返回true 与预期结果相符
“DBHelper通过主键查看学生成绩” 测试 调用selectStuScoreBySID(int sid) 方法 返回学生成绩 与预期结果相符
“DBHelper添加学生成绩” 测试 调用addScoreProfile(int stuID, int courseID, int grade)方法 返回true 与预期结果相符
“DBHelper查看科目成绩” 测试 调用selectStuScoreByCID(int courseID)方法 返回科目成绩 与预期结果相符
“DBHelper查看学生某一科目成绩” 测试 调用selectStuScorebySIDandCID(int sid, int cid)方法 返回科目成绩 与预期结果相符
“DBHelper修改学生密码” 测试 调用updateStuPWD(String newPWD, int id)方法 返回true 与预期结果相符
“DBHelper查看学生基本信息” 测试 调用selectStuProfile(int id)方法 返回学生信息 与预期结果相符
“DBHelper查看管理员信息” 测试 调用selectSuperuserProfile(int id)方法 返回管理员信息 与预期结果相符
“DBHelper通过学生主键查看学生选课” 测试 调用selectCourseList(int studentID)方法 返回学生选课 与预期结果相符
“DBHelper修改学生班级” 测试 调用updateStuClassBySID(int studentID, int newClassID)方法 返回true 与预期结果相符
“DBHelper修改学生信息” 测试 调用updateStuProfile()方法 返回true 与预期结果相符
“DBHelper通过课程主键查询成绩排名” 测试 调用getScoreRankingByCID(int courseID)方法 返回成绩排名 与预期结果相符
“DBHelper查看课程列表” 测试 调用getCourseList()方法 返回课程列表 与预期结果相符
“DBHelper通过课程名称查询课程” 测试 调用selectCourseByCName()方法 返回查看课程 与预期结果相符
“DBHelper添加课程” 测试 调用addCourse()方法 返回true 与预期结果相符
“DBHelper通过课程主键修改课程信息” 测试 调用updateCourseInfo()方法 返回true 与预期结果相符
“DBHelper查看班级列表” 测试 调用selectClassList()方法 返回班级列表 与预期结果相符
“DBHelper添加班级” 测试 调用addClass(String newClassName)方法 返回true 与预期结果相符
“DBHelper修改班级名称” 测试 调用renameClassByCID(int classID, String newClassName)方法 返回true 与预期结果相符

结 论

充实的Java课程设计结束了,从刚开始的不只如何下手到最后看到自己的程序按自己的想法运行,心里时不时的有一种喜悦。通过这两周的实验,我认识到书上和老师教的内容是有限的,要想掌握更多的知识我们必须多动脑,多思考,不断地靠自己去学习,同时我们还应向他人请教,从而了解更多自己不知道的知识。

通过这两周的编程我发现了自己的一些不足,在编写时经常犯一些低级错误,由于我们的马虎而浪费了不少时间。这些不足既然被发现就得在以后的做事中注意,争取改掉。

在这期间,经过努力我们掌握了一些基本的面向对象语言进行程序设计的技巧,更深的理解和运用结构化程序设计的思想和方法,掌握开发一个小型实用系统的基本方法,同时学会了一些调试一个较长程序的基本方法,提高了书写程序设计开发文档的能力(书写课程设计报告)。

上传的附件 cloud_download 基于Java的学生注册管理系统.zip ( 2.40mb, 32次下载 )
error_outline 下载需要14点积分

发送私信

一盏灯,一条路,一个你

13
文章数
27
评论数
最近文章
eject