蒋鹏程 2 months ago
parent a134280c6b
commit 73f941db59

@ -1,2 +1,131 @@
# PPAES
# PPAES——编程能力个性化评价系统
## doc
#### 01_行业和领域调研分析报告
1. 行业和领域背景
2. 典型应用
3. 采用技术
4. 存在不足
5. 未来关注
#### 02_软件系统的需求构思及描述
1. 项目背景
2. 欲解决问题
3. 软件创意
4. 系统的组成
5. 软件系统的功能描述
6. 可行性及潜在风险
#### 03_软件需求规格说明书
1. 引言
1. 软件项目概述
1. 项目意义
2. 软件目标用户
2. 软件功能概述
3. 软件实现难点及特色分析
1. 项目实现难点
2. 项目特色
4. 参考资料
2. 软件项目需求描述
1. 2.1 软件需求的用例模型
2. 2.2 软件需求的用例描述及分析顺序图
1. 用例名:用户登录
2. 用例名:查看基础数据统计
3. 用例名:查看个人能力评估
4. 用例名:查看学习建议
5. 用例名:基础数据统计
6. 用例名:知识点掌握程度预测
7. 用例名:训练深度学习模型
3. 软件需求的分析类图
1. 核心类的属性与操作
2. 类之间的关系
3. 其他需求描述
1. 性能要求
2. 交付要求
3. 验收要求
#### 04_软件设计规格说明书
1. 引言
1. 软件设计目标和原则
2. 软件设计的约束和限制
2. 软件体系结构设计
3. 用户界面设计
1. 系统界面的外观设计及其类表示
1. LoginUI
2. MainUI
3. StatisticsUI
4. AssessmentUI
5. RecommendationUI
2. 系统界面流设计
4. 详细设计
1. 用例设计
1. 基础数据统计用例实现的设计方案
2. 知识点掌握程度预测用例实现的设计方案
3. 训练深度学习模型用例实现的设计方案
2. 类设计
3. 数据模型设计
1. 编程能力个性化评价系统数据设计类图
2. 编程能力个性化评价系统数据的操作设计
4. 部署设计
## model
编程能力个性化评价系统用例模型;
编程能力个性化评价系统“知识点掌握预测”用例的顺序图;
编程能力个性化评价系统“用户登录”用例的顺序图;
编程能力个性化评价系统“深度学习模型”用例的顺序图;
编程能力个性化评价系统“基础数据统计”用例的顺序图;
编程能力个性化评价系统“查看学习建议”用例的顺序图;
编程能力个性化评价系统“查看基础数据统计”用例的顺序图;
编程能力个性化评价系统“查看个人能力评估”用例的顺序图;
编程能力个性化评价系统分析类图;
编程能力个性化评价系统体系结构逻辑视图;
编程能力个性化评价系统StatisticsUI外观设计
编程能力个性化评价系统StatisticsUI类设计
编程能力个性化评价系统RecommendationUI外观设计
编程能力个性化评价系统RecommendationUI类设计
编程能力个性化评价系统MainUI外观设计
编程能力个性化评价系统MainUI类设计
编程能力个性化评价系统LoginUI外观设计
编程能力个性化评价系统LoginUI类表示
编程能力个性化评价系统AssessmentUI外观设计
编程能力个性化评价系统AssessmentUI类设计;
编程能力个性化评价系统界面流的顺序图;
编程能力个性化评价系统“知识点掌握预测”用例设计顺序图;
编程能力个性化评价系统“训练深度学习模型”用例设计顺序图;
编程能力个性化评价系统“基础数据统计”用例设计顺序图;
编程能力个性化评价系统设计类图;
编程能力个性化评价系统数据设计类图;
编程能力个性化评价系统的部署图;
## src
models
services
templates
tests
## other
05_软件工程课程设计汇报PPT
06_软件开发项目的个人自评报告每个成员都要填写一个文档
07_软件开发项目的团队自评报告
08_学号姓名-实践总结报告(每个成员单独一份)
09_演示运行视频
10_项目宣传海报

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 MiB

After

Width:  |  Height:  |  Size: 4.4 MiB

@ -0,0 +1,120 @@
编程能力个性化评价系统
—— 系统简介与环境配置指南
一、系统简介
编程能力个性化评价系统是一款融合 人工智能预测 与 多维度数据分析 的智能学习辅助平台,专为 ACM-ICPC 等算法竞赛选手设计。系统基于用户在在线判题OJ平台的历史提交数据通过深度挖掘行为模式、知识点掌握情况和解题趋势提供科学、动态、个性化的编程能力评估与发展建议。
核心价值:
精准画像:构建用户编程能力的六维雷达图,量化评估真实水平
智能预测:采用 PyTorch + LSTM 神经网络,预测未来知识点掌握趋势
等级对标:建立符合 ACM 竞赛体系的 6 级能力等级(新手 → 世界决赛级)
因材施教:生成 12 周个性化学习计划、知识图谱路线与资源推荐
极速响应:通过数据库索引 + 内存缓存,实现 <0.1 访
适用人群:
高校 ACM/ICPC 参赛队员
技术实现:
后端架构 Flask 微服务 + 分层服务设计AuthService / StatsService / AssessmentService 等)
AI 模块 PyTorch 构建 2 层 LSTM 网络,输入 10 维时序特征,输出掌握度预测
数据存储 SQLite 轻量级数据库 + 8 个复合索引优化查询性能
前端交互 Bootstrap 5 响应式布局 + ECharts 5 可视化图表(词云、雷达图、趋势线等)
性能保障 CTE 排名算法(提速 90%++ TTL 内存缓存(命中率 >95%
本系统不仅是一个评估工具,更是一个 AI 驱动的成长伙伴,帮助用户从“盲目刷题”走向“精准提升”。
二、环境配置指南
系统要求:
操作系统 Windows / macOS / Linux推荐 Linux 或 macOS 用于训练)
Python 版本 3.8 或更高(建议 3.93.11
浏览器 Chrome / Edge / Firefox需启用 JavaScript
磁盘空间 ≥ 200 MB含数据库与模型
内存 ≥ 2 GB训练 LSTM 时建议 ≥ 4 GB
安装步骤:
1⃣ 克隆或下载项目
bash
git clone https://bdgit.educoder.net/pc729iqo3/PPAES.git
cd PPAES
若无 Git可直接下载 ZIP 并解压到本地目录。
2⃣ 创建虚拟环境(推荐)
bash
创建虚拟环境
python -m venv venv
激活虚拟环境
Windows:
venv\Scripts\activate
macOS/Linux:
source venv/bin/activate
3⃣ 安装依赖
方案 A完整功能含 AI 预测)
bash
pip install -r requirements.txt
包含 Flask、PyTorch、Pandas、NumPy、ECharts 等全部依赖。
方案 B基础功能不含 LSTM
bash
pip install Flask==2.3.3 flask-login==0.6.2 pandas==2.2.3 numpy==1.26.4
适用于仅需统计与评估功能,无需 AI 预测的场景。
注意PyTorch 安装可能较慢,请确保网络通畅。如需 GPU 支持,请参考 [PyTorch 官网](https://pytorch.org/get-started/locally/) 安装对应版本。
4⃣ 初始化数据库
bash
创建表结构
python backend/scripts/init_db.py
导入示例题目与提交记录(来自 data/ 目录)
python backend/scripts/ingest_json.py
(推荐)优化数据库性能(创建索引 + VACUUM
python optimize_database.py
成功后将在 backend/instance/app.sqlite 生成约 158 MB 的数据库文件。
5⃣ (可选)训练 LSTM 预测模型
若需启用 AI 趋势预测 功能:
bash
基础训练(约 2-5 分钟CPU
python models/train_lstm_model.py
或自定义参数训练(例如 100 轮 + 绘图)
python models/train_lstm_model.py --epochs 100 --batch_size 64 --plot
训练完成后,模型将保存为 models/lstm_knowledge_predictor.pth。
提示:首次使用可跳过此步,系统会检测模型是否存在并提示。
6⃣ 启动系统
bash
推荐方式:使用启动脚本(自动打开浏览器)
python start_system.py
或直接运行 Flask
python app.py
成功启动后,终端将显示:
✅ 系统已启动!正在打开浏览器...
🌐 访问地址: http://localhost:5000
👤 测试账号: 52密码: 123456
🔐 默认所有用户密码均为 123456可在 config.py 中修改)。
🧪 快速验证
操作 验证方式
------ --------
Web 服务 访问 http://localhost:5000应显示登录页
数据库 登录后进入仪表板,查看是否有统计数据
LSTM 模型 进入「学习建议」页面查看是否有「AI 掌握度预测」模块
API 接口 访问 http://localhost:5000/api/grades/52应返回 JSON 数据
🛠 配置说明config.py
python
class Config:
SECRET_KEY = 'your-secret-key' # 生产环境务必修改!
DB_PATH = 'backend/instance/app.sqlite' # 数据库路径
DEBUG = True # 开发模式
HOST = '0.0.0.0' # 允许外部访问
PORT = 5000 # 端口号
DEFAULT_PASSWORD = '123456' # 默认用户密码
📌 生产部署建议:关闭 DEBUG设置强 SECRET_KEY使用 Nginx + Gunicorn。
🚀 下一步
登录系统用户名52密码123456
探索四大核心模块:仪表板 → 数据统计 → 能力评估 → 学习建议
查看 docs/ 目录获取详细开发与使用文档
Loading…
Cancel
Save