news 2026/6/27 13:39:48

Java Swing学生成绩管理系统

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java Swing学生成绩管理系统

一、项目概述

本项目为三人小组Java课程设计,基于Java Swing桌面GUI + SQLite轻量文件数据库开发学生成绩管理系统。
系统实现用户登录鉴权、学生信息增删改查、多科目成绩录入与自动统计、CSV文件导入导出、成绩柱状图可视化、批量生成测试数据六大核心功能。
项目采用标准MVC分层架构解耦代码,使用Gitee组织仓库完成多人协同版本管理,通过Issues拆分跟踪开发任务,完整落地小组协作开发流程。

二、开发环境与技术栈

1. 开发语言:Java 26

2. 开发工具:IntelliJ IDEA 2026.1

3. 数据库:SQLite3(无需部署数据库服务,开箱即用)

4. 核心依赖包:sqlite-jdbc驱动、JFreeChart图表绘制工具

5. 协作工具:Gitee组织仓库、Issues任务管理、Pull Request代码审核

三、系统MVC分层架构设计

项目严格分层,代码低耦合,便于分工开发与后期维护:

1. Model实体层
Student、Grade、User三个实体类,分别映射数据库学生表、成绩表、用户表,封装对应数据属性与get/set方法。

2. DAO持久层
StudentDAO、GradeDAO、UserDAO封装全部SQLite增删改查逻辑;DatabaseManager统一管理数据库连接、程序启动自动建表初始化。

3. Service业务层
封装业务校验与统计逻辑:学生信息合法性校验、成绩总分/平均分计算、CSV文件读写导出、排名排序等。

4. View视图层
基于Swing实现全部桌面窗口:登录窗口、主窗口、学生管理面板、成绩录入/查询面板、报表统计面板、柱状图面板。

四、小组分工明细(表格插入)
组员 负责模块 开发文件清单 核心工作职责
吴文轩 学生管理模块 App.java、LoginFrame.java、MainFrame.java、StudentPanel.java、StudentService.java、StudentDAO.java、Student.java 程序启动入口、登录页面、主窗口框架、学生信息全套增删改查界面与数据库逻辑
夏伟琳 成绩管理模块 GradePanel.java、SearchPanel.java、GradeService.java、GradeDAO.java、Grade.java、DatabaseManager.java 全局数据库初始化、成绩录入界面、多条件成绩查询、成绩数据持久化操作
车艳洁 报表统计模块 ReportPanel.java、ReportService.java、DataGenerator.java、ChartPanel.java、User.java、UserDAO.java 用户登录校验、班级成绩统计排名、CSV导入导出、柱状图可视化、批量测试数据生成、项目整体联调测试

五、核心功能演示说明

1. 用户登录功能:区分管理员、普通用户权限,校验账号密码,登录成功跳转主窗口;

2. 学生管理功能:支持新增、删除、修改学生信息,支持学号/姓名模糊检索;

3. 成绩管理功能:录入多科目成绩,自动计算总分、班级平均分、最高分最低分;

4. 报表统计功能:展示全班成绩排名,一键导出CSV文件,生成各科平均分柱状图;

5. 测试工具:一键批量生成随机学生、成绩测试数据,快速填充数据库用于演示。

六、团队Gitee协作开发流程

1. 仓库搭建:组长创建Gitee普通组织,新建团队仓库,将两名组员添加为仓库开发者;

2. 任务拆分:组长提前创建全部Issues,按模块分配给对应组员,实时跟踪开发进度;

3. 分支规范:禁止直接推送代码至master主分支,每位成员新建feat-功能名独立分支开发;

4. 代码提交规范:提交备注绑定任务编号,格式#Issue编号 完成XX功能;

5. 代码合并:功能自测完成后提交Pull Request,组长审核无Bug后合并至主分支。

七、开发过程遇到的问题与解决方案

1. 问题:JDK26运行SQLite驱动弹出native access警告
解决:在IDEA运行配置中添加VM参数 --enable-native-access=ALL-UNNAMED,消除安全警告,不影响数据库功能。

2. 问题:Swing窗口运行后一闪而过,无法正常显示
解决:所有界面初始化代码放入SwingUtilities.invokeLater()中执行,同时设置窗口关闭策略setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)。

3. 问题:提交Pull Request提示账号安全等级过低创建失败
解决:进入Gitee个人设置,绑定QQ第三方账号提升账号安全评分,即可正常提交PR。

八、项目源码地址

项目完整代码开源仓库:https://gitee.com/你的组织地址/StudentsGradeManage

九、项目开发总结

本次小组课程设计完整实践了MVC分层开发、Swing桌面程序开发、SQLite数据库操作,同时熟练掌握基于Gitee的多人团队协作模式。
通过Issues拆分任务、分支开发、代码审核,规范了团队开发流程,锻炼了需求拆解、分工配合、问题排查的综合开发能力。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/27 13:39:03

4G+Lora物联网在智慧农业土壤监测中的应用实践

1. 项目背景与核心需求在农业物联网领域,土壤养分监测一直是个技术难点。传统的手动采样检测方式耗时耗力,而市面上常见的无线监测设备要么传输距离有限,要么功耗过高。这个项目正好解决了这些痛点——通过4GLora的组合,实现了远程…

作者头像 李华
网站建设 2026/6/27 13:23:01

树莓派摄像头应用rpicam-apps核心选项详解与实战调优指南

1. rpicam-apps 核心选项全解析:从入门到精通如果你正在玩树莓派,并且用上了官方的摄像头模块,那么rpicam-apps这套工具集绝对是你绕不开的利器。它基于libcamera,提供了rpicam-hello、rpicam-still、rpicam-vid等一系列命令行应用…

作者头像 李华
网站建设 2026/6/27 13:17:39

树莓派5通过M.2 HAT+扩展NVMe硬盘:从硬件安装到系统配置全指南

1. 项目概述:为树莓派5扩展高速存储 如果你手头有一块树莓派5,并且觉得它的存储性能或容量有些捉襟见肘,那么给这个小家伙加装一块M.2 NVMe固态硬盘,绝对是能带来质变体验的升级。今天要聊的,就是如何通过一块名为“M.…

作者头像 李华
网站建设 2026/6/27 12:58:08

基于ISL73849SLHEV1Z评估板的GaN多相POL电源设计与实战指南

1. 项目概述与核心价值 如果你正在为新一代的FPGA、ASIC或者高性能处理器设计核心供电电路,那么对高效率、高功率密度、快速瞬态响应的点负载电源的需求,一定深有体会。传统的硅基MOSFET方案在开关频率和效率上逐渐触及天花板,而氮化镓器件的…

作者头像 李华
网站建设 2026/6/27 12:57:20

基于瑞萨RH850/U2B6的100kW汽车牵引逆变器硬件设计与工程解析

1. 项目概述:一个100kW级汽车牵引逆变器的“解剖”实录如果你正在为新能源汽车的电驱系统选型或开发而头疼,特别是面对如何将几百伏的电池直流电,高效、可靠地转换成驱动电机旋转的三相交流电这个核心难题,那么今天这份基于瑞萨&a…

作者头像 李华