java课设 学生信息管理系统

一、软件环境及开发工具

Windows10 eclipse sqlite

二、课程设计功能要求

1.添加学生功能:姓名、学号、性别、出生年月日。(注意:学号自动生成,学号必须唯一)

2.添加学生成绩功能:假设每个人都选修了数学、Java与体育。但输入成绩的时候,一般是给所有学生输入某一门课程的成绩。

3.根据学生学号查找学生成绩,并在界面上显示姓名、学号和成绩,学号不存在的给出提示信息

4. 根据学生姓名(支持模糊匹配)查找学生成绩,并在界面上显示姓名、学号和成绩,如果有多个相同姓名学生存在,一起显示出来,姓名不存在的给出提示信息

*5. 生成学生学习情况报表:报表包含学号、姓名、各科目成绩及对应的该科目班级平均值,总成绩以及班级总成绩平均值。最后以总成绩平均值降序在图形界面输出,并可将该排序结果按照输出至"成绩表.txt"文件或者excel文件

6. 支持对学生信息的修改与删除(要在文件或数据库中有所体现),不能修改学号。

7.支持用户登录、验证操作

界面:GUI 或 Web

数据存储在数据库或者文件中,建议存储在数据库。

三、需求分析

1.信息需求

对学校而言,学生成绩管理系统是所有工作的首要之选,但是高校学生的成绩管理工作量大、繁杂,人工处理非常困难。因此,借助于强大计算机的处理能力,能够把人从繁重的成绩管理工作中解脱出来,并且更加准确、安全、清晰的管理环境。

2.功能需求

能够进行数据库的数据定义、数据操纵、数据控制等处理功能。

具体功能应包括:系统应该提供课程安排数据的添加、插入、删除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。

3. 安全性与完整性要求

    对于学生成绩管理系统数据库来讲,由于其主要数据是学生成绩,只能由本人以及所教老师及教务处知道,因此做好数据安全性是重中之重。另外,要求所有在校学生的信息都要录入其中,并且要设计好个别情况。

四、总体功能设计

1.登录功能。

输入账号和密码,当账户密码正确时跳转下一个页面,否则弹出提示密码或账户名不正确并清除输入框内的内容。如果输入错误,可以按reset按钮手动清除。

2.学生表的增加,修改,删除功能。

学生表增加通过姓名,性别,生日选项增加,学号自动生成。

学生表的删除通过学号删除。

学生表的更新需要输入所有字段。

3.课程表的增加,修改,删除功能。

课程表的增加通过课程号和课程名增加。

课程表的删除通过课程号的删除。

课程表的更新通过课程号,课程名更新。

4.成绩表的增加,修改,删除功能。

成绩表的增加通过姓名,课程号,成绩字段增加。

成绩表的修改需要输入所有字段。

成绩表的删除通过学号和课程号删除。

5.学生表中按姓名,学号查询成绩功能,支持模糊查询。

如果存在相同姓名的学生,则会一同显示出来。

支持模糊查询,可以输入不完整字段查询。

6.将成绩表导入到excel中。

使用POI技术将学生,课程,成绩导入到excel。

五、数据库设计

  1. 数据库设计

1.E-R图

2.关系模型

学生(学号,姓名,性别,生日)

课程(课程号,课程名)

成绩(学号,课程号,成绩)

关系模型满足BC范式要求。

六、应用程序设计

程序使用java实现,有图形界面。

1.文件目录结构

加粗为包名,包名下是包内的java文件。

BaseDAO

BaseDAO/BaseDAO.java

定义了一些获得DAO类的方法,便于后面直接用类调用类里的方法。

Constants

Constants/Constants.java

Constants/DAO.java

定义了程序中需要的常量和枚举类。

DAO

DAO/AdminDAO.java

DAO/CourseDAO.java

DAO/GradeDAO.java

DAO/StudentDAO.java

具体定义了对数据库四个表的查询修改更新方法,后面直接调用。

Database

Database/DBUtil.java

定义了数据库连接,关闭方法,定义了对数据库的基本的增删查改的方法。

Main

Main/Main.java

主程序,初始化数据库,对四个表进行定义,并调用登录窗口开始程序。

Model

Model/Admin.java

Model/Course.java

Model/Grade.java

Model/Result.java

Model/Result2.java

Model/Student.java

定义了一些需要的模型,数据库与用户的交互通过这些模型中转,数据库查询的结果先保存到这些模型里,再输出到窗口,同理,用户查询的数据先输入到模型里,再传到数据库里。

Windows

Windows/CourseAddWindow.java

Windows/CourseDeleteWindow.java

Windows/CourseUpdateWindow.java

Windows/CourseWindow.java

Windows/GradeAddWindow.java

Windows/GradeDeleteWindow.java

Windows/GradeUpdateWindow.java

Windows/GradeWindow.java

Windows/Login.java

Windows/MainWindow.java

Windows/QuaryWindow.java

Windows/StudentAddWindow.java

Windows/StudentDeleteWindow.java

Windows/StudentUpdateWindow.java

Windows/StudentWindow.java

定义的需要的界面,登录,学生表,课程表,成绩表等。

运行截图:

 

 

 

 

代码已上传github:wuhuxp/java-course-design: 简单学生管理系统 (github.com)https://github.com/wuhuxp/java-course-design

  • 5
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
该学生成绩信息管理系统涉及到学生、教师、系统管理员、班级、学生成绩、课程。设置一个系统管理员对系统进行管理。所有用户需输入账号、密码登录进入系统;管理员进入系统后可对学生、老师、班级、课程进行增删改查操作;学生进入系统,查看成绩、查看和修改自己的信息;老师进入系统后,对自己这门课程的学生设置课程成绩、查看和修改自己的信息,查看学生的信息和成绩、以及统计分析学生的成绩; 管理员为班级设置年级,为年级设置课程,为班级的每门课程设置老师,为学生设置班级。一个年级有多门课程(语文、数学、外语等等),班级的每门课程只能有一名老师,一个老师可以有多门课程;老师选择自己这门课程为该课程的学生登记成绩。老师可以查看其他老师的信息(可以当成是老师的通讯录),查看本课程学生的信息和成绩;学生可以查看班级其他同学的信息(可以看成是班级的同学录)。 考试分为两种,一种是年级统考,一种是平时考试。年级统考需要管理员事先添加一次年级统考,考试成绩出来后,老师进入系统选择该次考试为学生登记成绩。平时考试则是班级平时的考试,老师添加考试信息,登记成绩。成绩统计分析则是针对年级统考进行分析,主要涉及各学科分数名次,总分名次。 技术实现 系统环境:Windows开发工具:IDEAJava版本:JDK 1.8服务器:Tomcat 1.8数据库:MySQL 5.X系统采用技术:Servlet+Jsp+Jdbc+H-ui+EasyUI+jQuery+Html+Css+Ajax 系统功能系统主要分为三种用户角色,分别是管理员、老师以及学生,其具体功能如下: - 管理员   学生信息管理、教师信息管理、年级信息管理、班级信息管理、课程信息管理、考试信息管理,系统参数设置 - 老师   教学管理、教师个人信息维护、教师通讯录管理 - 学生考试成绩查询、学生通讯录、学生个人信息维护 运行截图 登录界面: 管理员界面: 考试列表:  成绩统计: 学生信息管理: 教师信息管理: 年级、班级信息管理:  系统设置: 教师界面:  成绩登记:  教师通讯录: 个人信息:  学生界面: 学生成绩查询: 班级通讯录: 学生个人信息:              
JAVA程序设计 课程设计报告 课 题: 学生信息管理系统 姓 名: 学 号: 同组姓名: 专业班级: 指导教师: 设计时间: 目 录 一、系统描述 2 1、需要实现的功能 3 2、设计目的 3 二、分析与设计 3 1、功能模块划分 3 2、数据库结构描述 4 3、系统详细设计文档 6 4、各个模块的实现方法描述 9 5、测试数据及期望结果 11 三、系统测试 16 四、心得体会 23 五、参考文献 24 六、附录 24 一、系统描述 1、需求实现的功能 1.1、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入 时,如果数据库已经存在该学号,则不能再插入该学号。 1.2、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 1.3、查询学生基本信息的功能 可使用 "姓名"对已存有的学生资料进行查询。 1.4、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 1.5、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 1.6、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息 管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者 和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快 捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据, 这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一 长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学 技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人 类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无 法比拟的优点。例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好 、寿命长、成本低等。这些优点能够极大地提高学校信息管理的效率,也是一个单位科 学化、正规化管理,与世界接轨的重要条件。 本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流 程设计完成的。通过一个简化的学生信息管理系统,使学生信息管理工作系统化、规范 化、自动化,从而达到提高学生信息管理效率的目的。 二、分析与设计 1、功能模块划分 图1 功能模块划分图 2、数据库结构描述 2.1、数据库E-R模型 图2 登录用户管理E-R图 图3 实体学生E-R图 2.2、数据库关系模型——二维表 表1 学生表(student) "字段 "数据类型 "说明 " "stuId "nvarchar(30) "学号 " "stuName "nvarchar(30) "姓名 " "stuSex "nvarchar(30) "性别 " "stuAge "int "年龄 " "stuJg "nvarchar(30) "籍贯 " "stuZy "nvarchar(30) "专业 " "classId "nvarchar(30) "班号 " "stuSourse "numeric(5,2) "总学分 " 图4 录入数据后的学生表 表2 登陆权限表(login) "字段 "数据类型 "说明 " "userId "nvarchar(30) "用户名(账号),即登 " " " "陆Id " "password "nvarchar(30) "登陆密码 " "position "nvarchar(30) "职位,如班委,普通学 " " " "生 " 图5 录入数据后的登陆权限表 3、系统详细设计文档 3.1、系统执行流程图 图6 系统执行流程图 3.2、类的划分 表3 学生信息查询类 "类名 "类的成员属性与方法 "说明 " "StuQuery.jav"JPanel jp1 "定义一个面板 " "a " " " " "JLabel jp1_jl1 "定义两个标签 " " "JTextField jp1_jtf1 "定义一个文本输入框 " " "JButton "定义三个按钮 " " "jp1_jb1,jp1_jb2,jp1_jb3 " " " "JTable jtb "定义一个表 " " "JScrollPane jsp "定义一个滚动面板,用于" " " "存放表 " " "TableModel tm "自定义一个表模型,用于" " " "更新表数据 " " "public StuQuery(Frame "构造方法,通过传递三个" " "Main,String title ,boolean "参数,实
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值