Java Swing学生成绩管理系统

📅 2026/6/27 13:39:58
Java Swing学生成绩管理系统
一、项目概述本项目为三人小组Java课程设计基于Java Swing桌面GUI SQLite轻量文件数据库开发学生成绩管理系统。系统实现用户登录鉴权、学生信息增删改查、多科目成绩录入与自动统计、CSV文件导入导出、成绩柱状图可视化、批量生成测试数据六大核心功能。项目采用标准MVC分层架构解耦代码使用Gitee组织仓库完成多人协同版本管理通过Issues拆分跟踪开发任务完整落地小组协作开发流程。二、开发环境与技术栈1. 开发语言Java 262. 开发工具IntelliJ IDEA 2026.13. 数据库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-accessALL-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拆分任务、分支开发、代码审核规范了团队开发流程锻炼了需求拆解、分工配合、问题排查的综合开发能力。