- 多端使用:支持浏览器 Web、桌面端、移动端安装使用,同一套账号和数据贯通。
- 统一登录:支持管理员、教务处、教师、学生四类角色登录。
- 账号生命周期:支持学生账号激活、密码重置、个人改密、管理员重置账号。
- 学生管理:支持学生档案新增、编辑、删除、分页查询、按年级和关键词筛选。
- 专业管理:支持专业目录维护、专业启停、专业说明维护。
- 课程管理:支持课程目录维护,区分必修课和选修课,维护学分和状态。
- 教师管理:支持教师档案维护、教师账号生成、教师任课关系维护。
- 培养方案管理:支持按专业配置必修/选修课程方案。
- 自动承接必修:学生进入系统后自动关联本专业必修课程。
- 选修课业务:学生可自主选修开放课程,并在规则允许时退选。
- 教师录分:教师按自己任课范围查看学生名单、录入成绩、保存草稿、提交审核。
- 成绩审核:教务处/管理员对教师提交的成绩进行通过或驳回。
- 补考机制:支持补考分录入,并按规则折算最终成绩。
- 成绩变更流程:已审核成绩不能直接改,必须走变更工单。
- 成绩复核流程:学生可对本人已出成绩发起复核申请。
- 流程闭环:支持工单查看、审批、驳回、记录处理意见。
- 统计分析:支持学生排名、GPA、加权平均分、科目统计、专业统计、学业预警。
- 风险识别:自动识别不及格、补考、高风险学生,形成预警名单。
- 通知提醒:对不及格成绩生成补考提醒通知记录。
- 报表导出:支持导出 Excel 兼容报表,便于线下留档和汇报。
- 后端语言与框架:Java 8 + Spring Boot 2.7.18,Web 层使用 MVC + REST API。
- 页面架构:Thymeleaf 只负责页面壳,实际交互由前端 Vue 3 接管。
- 前端实现:前端是原生 Vue 3 CDN 方案,不依赖复杂工程化;图表使用 ECharts 5。
- 认证方式:采用 HttpSession 做登录态管理,适合当前单体部署场景。
- 权限模型:围绕 ADMIN / ACADEMIC_AFFAIRS / TEACHER / STUDENT 四类角色做访问控制。
- 核心业务层:ManagementFacade 作为统一门面,汇总学生、课程、教师、成绩、工单、通知、统计等服务。
- 领域服务拆分:按职责拆为 StudentService、CourseService、TeacherService、ScoreService、ScoreRequestService、StatisticsService 等。
- 持久化方式:不使用 MySQL,而是基于 CSV 文件存储,便于本地演示、轻量部署和数据可视化排查。
- 存储内容:学生、用户、课程、专业、教师、选课、成绩、成绩工单、短信记录都分别落成独立 CSV。
- 统计实现:统计层基于内存聚合,计算 GPA、排名、课程通过率、专业画像、风险分层。
- 导出实现:导出不是依赖 POI,而是直接生成 Excel 可识别的 Spreadsheet XML,输出 .xls 文件。
- 多端复用:控制台版、Swing 版、Web 版共用同一套领域模型和业务规则。
- 移动化实现:Web 端补了 manifest、service worker、离线页和安装提示,可作为 PWA 安装。
- 安卓封装:通过 Bubblewrap 将 PWA 打包为 TWA/Android APK。
- 部署方式:支持 Docker 和 Railway,数据目录、导出目录可通过环境变量配置。
- 当前技术取舍:这是一个偏“业务演示 + 轻量交付”的架构,优点是部署简单、可本地即开即用;缺点是并发、事务、一致性和复杂查询能力不如数据库方案。