学生成绩管理系统自我评价与总结_第1页
学生成绩管理系统自我评价与总结_第2页
学生成绩管理系统自我评价与总结_第3页
学生成绩管理系统自我评价与总结_第4页
学生成绩管理系统自我评价与总结_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学生成绩管理系统自我评价与总结第一章项目背景与目标1.1场景定位2022年9月,本校教务处提出“成绩管理数字化2.0”需求,要求用一学期时间完成旧系统迁移、数据清洗、权限重构、报表自动化四项硬指标。项目由信息学院“数据治理与可视化”课程组12名大三学生承接,我担任技术组长,直接向教务处副主任李静汇报。1.2量化目标①成绩录入响应时间≤800ms(并发200教师同时提交);②成绩修改可审计率100%,任意字段变动5分钟内推送审计日志到企业微信;③学期末3小时内生成18种固定报表(含绩点、排名、学分预警、毕业预审);④系统可用性≥99.9%,单点故障恢复时间≤15分钟;⑤项目预算0元,全部使用开源组件与校内闲置服务器。第二章需求拆解与风险清单2.1需求矩阵|角色|痛点|功能|非功能|验收标准||任课教师|重复录入|一键导入Excel|并发200|JMeter压测通过||教学秘书|人工核对|自动比对培养方案|准确率100%|抽样500条0误差||学生|查询延迟|微信小程序3秒出分|缓存命中率90%|埋点监控||校领导|决策滞后|可视化大屏实时刷新|更新周期30s|演示无卡顿|2.2风险清单R1:旧系统14年历史数据480万条,字符集混杂(Latin1/GBK/UTF-8)。R2:教师端浏览器IE8占比27%,需兼容至ES5。R3:学期中段教师外出调研,集中培训难以组织。R4:学校网络安全法要求等保2.0三级,但无预算购买堡垒机。第三章技术选型与架构设计3.1选型原则“能开源不采购、能容器不裸机、能离线不断网”。3.2架构图(文字描述)浏览器层:Vue2+Vant(兼容IE用Vite插件转ES5)。网关层:Nginx+Lua脚本做IP白名单、防刷限流(令牌桶200req/s)。服务层:SpringBoot2.7+MyBatis-Plus+Undertow(内存占用比Tomcat少38%)。缓存层:Redis6.2哨兵模式,开启keyspace通知用于审计日志。数据层:MySQL8.0主从+分库分表(按学期哈希分8库32表)。离线层:Airflow2.4每日02:00跑ETL,同步到ClickHouse供大屏。3.3开源组件清单|功能|组件|许可证|备注||工作流|Camunda7.19|Apache-2.0|成绩修改审批流||报表|JasperReports|LGPL|模板已上传Git||监控|Prometheus+Grafana|Apache-2.0|钉钉告警webhook||容器|Docker20.10|Apache-2.0|镜像托管到校内Harbor|第四章数据治理实施流程4.1字符集统一①导出旧库SQL时使用mysqldump--default-character-set=binary保持原貌;②写Python脚本chardet探测编码,批量转UTF-8;③建立映射表记录异常字符(如“浣犲ソ”→“你好”),人工确认后入库;④使用MySQLCONVERTTO语法变更表字符集,校验哈希值确保无损。4.2重复成绩去重规则:同一学号+课程代码+学期,成绩非空且相差≤0.5分,取最新录入时间。实现:a.创建临时表insertignore唯一索引;b.用窗口函数ROW_NUMBER()OVER(PARTITIONBY…ORDERBYupdate_timeDESC)标记最新;c.删除非latest记录;d.触发器防新增重复。4.3缺失数据补全来源:教务补充接口、教师手写签字确认扫描件。流程:①OCR识别成绩→人工二次校验→生成CSV;②调用系统/api/score/batch接口,带上补录原因字段;③审计表t_ocr_patch记录图片路径、识别置信度、操作人;④每学期末导出补录清单,教学院长签字存档,保存4年。第五章权限与审计制度5.1RBAC模型角色:超级管理员、教学秘书、任课教师、学生、访客五级。权限颗粒度到按钮级,后端使用SpringSecurity@PreAuthorize("hasRole('TEACHER')and@ss.hasCourse(#courseId)"),防止越权。5.2成绩修改审批流①教师发起申请→填写变动原因→上传佐证(PDF/JPG);②系统调用Camunda接口,生成任务;③教学秘书收到企业微信卡片,点“同意”后流转到学院负责人;④两级审批通过后,系统执行UPDATE,同时写入t_audit_log(旧值、新值、MD5、IP、UA);⑤审批拒绝则回退,教师可在“我的申请”查看驳回理由。5.3法规遵循《个人信息保护法》第28条:成绩属敏感个人信息,系统启用国密SM4字段级加密,密钥托管在HashiCorpVault,轮询周期90天。《网络安全法》第21条:日志留存6个月以上,使用Logrotate按200MB切割,加密后转存到冷备份服务器(Ubuntu20.04+LUKS)。第六章部署与上线步骤6.1前置条件服务器:DellR7302台(64vCPU/256GB/RAID102TBSSD),CentOS7.9。域名:成绩系统使用,已申请SSL证书(RSA2048)。时间:2023年1月15日—2月25日寒假窗口,教师离线率低。6.2详细步骤Step1基础环境a.安装Docker、docker-compose、Harbor;b.关闭SELinux、firewalld,改用iptables脚本仅开放80/443/22/9090;c.修改/etc/security/limits.conf,*softnofile65535。Step2数据库主从a.主节点f添加server-id=1,binlog_format=ROW;b.从节点server-id=2,开启replica_parallel_workers=8;c.使用gtid_mode=ON,xtrabackup热备份,每天01:00全量。Step3中间件a.Redis哨兵三节点,sentineldown-after-milliseconds5000;b.Nginx配置lua-resty-limit-req,burst50,nodelay;c.申请免费OpenLDAP,同步教师工号、学生学号,减少重复注册。Step4应用容器a.编写multi-stageDockerfile,alpine基础镜像仅87MB;b.使用GitLabCI,.gitlab-ci.yml定义build→unittest→dockerbuild→push→deploy四阶段;c.部署脚本docker-compose-fprod.ymlup-d,health-check间隔30s,失败3次自动重启。Step5灰度发布a.流量比例10%→30%→100%,每阶段观察Prometheus指标:P99延迟、错误率、Pod重启次数;b.若错误率>1%或P99>1s,自动触发rollback:kubectlrolloutundo;c.教学秘书在微信群发公告,教师端强制刷新Ctrl+F5获取最新静态资源。第七章性能优化实录7.1索引优化原始SQL:SELECT*FROMt_scoreWHEREcourse_code='A101'ANDterm='2022-2023-2';问题:全表扫描1.2s。解决:建立联合索引(course_code,term,score),覆盖查询,降至18ms。7.2缓存预热写Python脚本每日06:00把本学期热点课程平均成绩、排名1000条预加载到Redis,使用pipeline批量,降低首次查询90%延迟。7.3报表加速JasperReports原先生成8000人成绩单需240s;改为异步:①前端点击“导出”→后端生成taskId→立即返回;②Airflow调度Jasper服务器渲染→输出到NFS→回写下载链接到Redis;③前端轮询,3min内完成,教师感知“秒开”。第八章培训与推广方案8.1分层培训|对象|形式|时长|内容|考核||教学秘书|线下机房|2h|审批流、报表|上机实操100分||教师|腾讯会议|1h|Excel导入、修改申请|在线问卷≥90分||学生|微信小程序推文|图文|查询、异议申诉|阅读完成率80%|8.2激励措施①前50名完成培训的教师赠送16G金士顿U盘;②系统运行首月无差错的学院,年终考核加2分;③学生端发现有效Bug奖励50元话费。第九章运维与应急预案9.1日常巡检每日08:30值班同学查看Grafana大盘,填写《巡检表》:CPU、内存、磁盘、主从延迟、Redis命中率,异常30分钟内处理。9.2数据灾难演练场景:主库RAID卡损坏,数据目录丢失。预案:a.立即切换VIP到从库,应用层感知30s;b.使用xtrabackup最新备份+binlog恢复到新主;c.通知教师暂停录入30min,完成后验证50条随机数据;d.填写《演练报告》,李静签字,扫描PDF存档。9.3安全事件响应若发现SQL注入或越权下载,启动二级响应:①5分钟内封禁IP、下线容器;②30分钟内溯源日志,保存证据;③2小时内向学校网络中心提交《事件说明表》;④24小时内修复漏洞,复测后上线。第十章项目成果与量化复盘10.1数据成果截至2023年7月1日,系统共录入成绩5,736,420条,修改14,092次,审计日志100%覆盖;平均查询耗时380ms;学期末报表生成最长时间2h11min,满足3h指标。10.2用户满意度问卷回收1,188份,满意度94.7%,较去年旧系统提升17个百分点。教师端最满意功能:Excel一键导入;学生端最满意:微信小程序推送成绩。10.3个人收获①技术:第一次完整实施MySQL分库分表,踩坑主键雪花算法与BI报表兼容问题;②管理:学会用甘特图+燃尽图双轨跟踪,把12人团队拆成“数据、后端、前端、测试、运维”五个虚拟小组,每日15min站会,需求变更率控制在5%以内;③法规:通读《个人信息保护法》并落地SM4加密,意识到“技术不是免责牌”,合规需写进需求文档。第十一章后续改进路线11.12023秋季学期引入ClickHouse替换Jasper实时汇总,实现“秒级”大屏;对接学校统一身份认证OAuth2,废除单独密码;增加学业预警AI模型,用历史5年成绩训练,提前一学期预测不及格概率,辅助辅导员精准帮扶。11.22024春季学期建设双活数据中心,采用MySQLGroupReplication+Orchestrator自动切换;上线区块链成绩存证,使用Fabric2.4将毕业审核哈希写入ledger,防止学历造假;开放API给第三方教务应用,建立开发者门户,签署《数据使用协议》,按调用量阶梯计费,反哺项目经费。第十

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论