学生管理系统作业
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

12 KiB

学生信息管理系统 — 业务扩展任务表

基于现有 JSP + Servlet + JavaBean + JDBC + DAO 架构,按模块划分扩展任务。
难度: 入门 · 中等 · 较难 · 高级
优先级:P0 必做推荐 · P1 建议做 · P2 进阶 · P3 选做


一、总览

阶段 目标 建议任务数 预估总工时
第一阶段 夯实基础安全与数据规范 5 项 15~20 h
第二阶段 丰富核心业务实体 6 项 25~35 h
第三阶段 流程、统计与高级功能 6 项 30~40 h
第四阶段 架构升级与工程化 4 项 20~30 h

二、扩展任务明细

模块 A:安全与账户体系

编号 功能任务 业务说明 主要改动 技术要点 难度 优先级 工时
A-01 密码加密存储 数据库不再明文存密码,提升安全性 User 表、UserDao、登录/注册 Servlet MD5 或 BCrypt;注册加密、登录比对 P0 3 h
A-02 登录失败锁定 连续输错密码 5 次锁定账户 30 分钟 新增 login_log 表、登录 Servlet Session/Redis 计数;Ajax 提示剩余次数 P1 4 h
A-03 找回密码 用户通过邮箱验证码重置密码 邮件发送工具类、重置密码 Servlet/JSP JavaMail 或模拟验证码;验证码有效期 P1 6 h
A-04 记住我 / 自动登录 勾选后 7 天内免登录 Cookie 工具类、LoginServlet、Filter Token 存 Cookie + 数据库;HttpOnly P2 5 h
A-05 在线用户管理 管理员查看当前在线用户并强制下线 Session 监听器、在线用户列表页 HttpSessionListener;Session 映射表 P2 5 h
A-06 三级角色权限 新增「教师」角色,三类用户权限隔离 User.role 扩展、RBAC 表、AuthFilter 角色-权限-菜单;Filter 细粒度拦截 P1 8 h

模块 B:学生档案扩展

编号 功能任务 业务说明 主要改动 技术要点 难度 优先级 工时
B-01 院系 / 专业 / 班级 学生归属组织结构,支持按班级查询 新增 departmentmajorclazz 多表关联;下拉级联 Ajax P0 6 h
B-02 学号自动生成 注册或录入时按规则生成唯一学号 学号生成工具类、新增用户逻辑 规则如 2026CS001;唯一约束 P1 3 h
B-03 学生状态管理 在读 / 休学 / 毕业 / 退学等状态流转 users 增加 status 字段、状态变更 Servlet 状态枚举;变更记录;列表筛选 P1 4 h
B-04 头像上传 用户上传个人头像并展示 文件上传 Servlet、存储路径配置 commons-fileupload;大小/格式校验 P1 4 h
B-05 学生详情页 单独页面展示完整档案(含班级、状态等) 详情 Servlet、详情 JSP 多表 JOIN 查询;EL/JSTL 展示 P1 3 h
B-06 批量导出 Excel 管理员按条件导出学生信息为 .xlsx 导出 Servlet、Apache POI 依赖 POI 写 Excel;条件筛选与 CSV 导出并存 P1 5 h
B-07 高级组合搜索 多条件(班级+性别+年龄区间+状态)联合查询 列表 Servlet、DAO 动态 SQL StringBuilder 拼接 SQL;防注入用 PreparedStatement P2 6 h

模块 C:课程与成绩

编号 功能任务 业务说明 主要改动 技术要点 难度 优先级 工时
C-01 课程管理 CRUD 管理员维护课程(编号、名称、学分、授课教师) course 表、CourseDao、Servlet、JSP 标准 DAO CRUD;分页列表 P1 6 h
C-02 学生选课 一般用户在线选课,限制人数与重复选课 enrollment 表、选课 Servlet 事务控制;名额校验;已选课程列表 P1 8 h
C-03 成绩录入 教师/管理员录入课程成绩 score 表、成绩 Servlet 权限校验;批量录入表单 P1 6 h
C-04 成绩查询 学生查看本人成绩,管理员查看全班成绩 成绩列表 JSP、查询 Servlet 按角色过滤数据;GPA 简单计算 P1 4 h
C-05 成绩统计报表 按课程统计平均分、最高/最低分、及格率 统计 DAO、报表 JSP SQL 聚合函数 AVG/MAX/MIN/COUNT P2 5 h
C-06 课表展示 学生个人课表(按周视图或列表) 课表查询 Servlet、课表 JSP 多表关联;前端表格布局 P2 4 h

模块 D:考勤与请假

编号 功能任务 业务说明 主要改动 技术要点 难度 优先级 工时
D-01 考勤记录 教师记录学生出勤(出勤/迟到/缺勤) attendance 表、考勤 Servlet 按日期+课程+学生唯一;批量提交 P2 6 h
D-02 请假申请 学生提交请假,填写起止时间与原因 leave_request 表、申请 JSP/Servlet 表单校验;状态:待审/通过/驳回 P2 6 h
D-03 请假审批 教师/管理员审批请假申请 审批 Servlet、待办列表 JSP 工作流状态机;审批意见字段 P2 5 h
D-04 考勤统计 按学生/班级统计出勤率 统计 DAO、图表 JSP 聚合查询;可选 ECharts 展示 P3 6 h

模块 E:通知与日志

编号 功能任务 业务说明 主要改动 技术要点 难度 优先级 工时
E-01 系统公告 管理员发布公告,登录后所有用户可见 announcement 表、公告 CRUD 置顶、有效期;首页滚动展示 P1 4 h
E-02 站内消息 管理员向指定用户/send 全体发消息 message 表、收件箱/发件箱 JSP 已读/未读;Ajax 未读数角标 P2 6 h
E-03 操作日志 记录增删改等关键操作(谁、何时、做了什么) operation_log 表、日志 Filter/AOP 式拦截 Filter 或 Servlet 基类;日志分页查询 P1 6 h
E-04 登录日志 记录每次登录 IP、时间、结果 login_log 表、LoginServlet 埋点 获取客户端 IP;失败/成功分类 P1 3 h

模块 F:数据统计与可视化

编号 功能任务 业务说明 主要改动 技术要点 难度 优先级 工时
F-01 管理员 Dashboard 首页展示用户数、今日注册、班级分布等 仪表盘 JSP、统计 Servlet 多指标卡片;SQL 聚合 P1 5 h
F-02 图表可视化 性别比例、年龄分布、院系人数饼图/柱状图 引入 ECharts、统计 API Servlet Servlet 返回 JSON;Ajax 渲染图表 P2 6 h
F-03 数据大屏(选做) 全屏展示核心指标,适合答辩演示 单独大屏 JSP + ECharts CSS 全屏布局;定时 Ajax 刷新 P3 8 h

模块 G:流程与审批

编号 功能任务 业务说明 主要改动 技术要点 难度 优先级 工时
G-01 信息变更审批 学生修改关键信息(姓名、学号)需管理员审核 change_request 表、审批 Servlet 暂存待审;通过后更新主表 P2 8 h
G-02 新生注册审核 注册后状态为「待审核」,管理员通过后激活 注册流程改造、审核列表 状态字段;邮件/站内信通知 P2 5 h
G-03 批量导入审核 CSV 导入先进临时表,确认后再写入正式表 临时表 + 确认 Servlet 两阶段导入;预览与回滚 P3 8 h

模块 H:工程化与架构升级

编号 功能任务 业务说明 主要改动 技术要点 难度 优先级 工时
H-01 引入 Service 层 DAO 之上增加业务层,Servlet 只调 Service 新增 service 包、重构 Servlet 分层解耦;事务放 Service P1 8 h
H-02 DBUtils / Druid 连接池 替换原生 JDBC 连接管理 引入依赖、改造 DBUtil 连接池配置;SQL 性能提升 P1 4 h
H-03 统一 JSON 接口 列表/删除等改为 REST 风格 Ajax API 统一响应 JavaBean、JsonServlet 基类 Gson/Jackson;前后端分离雏形 P2 6 h
H-04 JSP 标签 / 公共片段 抽取 header、sidebar、分页为 jsp:include WEB-INF/jspf/ 公共片段 减少重复代码;统一布局 P0 4 h

三、推荐实施路线

路线 1:课程设计 / 作业答辩(约 2~3 周)

顺序 任务编号 理由
1 A-01 密码加密 必讲安全,改动小见效快
2 H-04 公共 JSP 片段 为后续页面扩展打基础
3 B-01 院系班级 业务实体明显变复杂
4 E-03 操作日志 体现系统完整性
5 F-01 Dashboard 答辩展示效果好
6 C-01 + C-04 课程与成绩 核心业务闭环

路线 2:功能丰富型(约 4~6 周)

在路线 1 基础上增加:

顺序 任务编号
7 A-06 三级角色
8 C-02 学生选课
9 D-02 + D-03 请假与审批
10 E-01 系统公告
11 F-02 图表可视化
12 B-06 Excel 导出

路线 3:架构进阶型(约 6~8 周)

在路线 2 基础上增加:

顺序 任务编号
13 H-01 Service 层
14 H-02 连接池
15 G-01 信息变更审批
16 H-03 统一 JSON 接口

四、任务依赖关系

A-01 密码加密
  └── A-02 登录锁定
  └── A-03 找回密码

B-01 院系/班级
  └── B-02 学号生成
  └── B-07 高级搜索
  └── C-02 学生选课

C-01 课程管理
  └── C-02 选课
  └── C-03 成绩录入
  └── C-04 成绩查询
  └── D-01 考勤记录

E-04 登录日志
  └── A-02 登录锁定

H-04 JSP 公共片段
  └── F-01 Dashboard
  └── 所有新增 JSP 页面

H-01 Service 层
  └── H-03 JSON 接口
  └── G-01 审批流程

五、答辩可强调的「业务复杂度」亮点

亮点 对应任务 答辩话术要点
安全体系 A-01、A-02、E-04 密码加密、防暴力破解、审计追踪
组织模型 B-01、B-03 院系-专业-班级三级结构,状态流转
教学业务 C-01~C-05 选课-成绩完整链路,含统计报表
流程控制 D-02、G-01、G-02 请假/变更/注册多级审批
数据可视化 F-01、F-02 Dashboard + ECharts 图表
架构演进 H-01、H-02 三层架构 + 连接池,体现工程能力

六、数据库扩展预览(核心新增表)

表名 说明 关联任务
department 院系 B-01
major 专业 B-01
clazz 班级 B-01
course 课程 C-01
enrollment 选课记录 C-02
score 成绩 C-03
attendance 考勤 D-01
leave_request 请假 D-02
announcement 公告 E-01
message 站内消息 E-02
operation_log 操作日志 E-03
login_log 登录日志 E-04
change_request 变更审批 G-01

七、选型建议

如果目标是… 优先选这些任务
快速加分 A-01、F-01、E-01、B-04
业务深度 B-01、C-01~C-04、D-02~D-03
技术深度 H-01、H-02、H-03、A-06
演示效果好 F-01、F-02、C-06、E-01
工作量可控 路线 1 的 6 项即可

可根据课程要求和时间,从表中勾选 5~10 项组成你的扩展计划。