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.
|
|
5 months ago | |
|---|---|---|
| .. | ||
| README.md | 5 months ago | |
README.md
数学学习软件系统文档
注意事项
为了方便助教检查,特在此说明注意事项
事先说明:我们所有的功能都是经过了测试的,确认已经实现;
1.双击jar包就可直接进入界面,如若不行,则进入终端使用java -jar指令运行;
2.使用.json文件存储注册的用户信息,第一次使用需要注册,同时会在存储jar包的文件夹下创建data文件夹,users.json 文件存储用户信息;
3.经过测试可以真实发送邮件,如果没有收到可以看看是否存在垃圾箱中;
4.我们的界面有滚动条,部分提示和功能需要滚动后才可以看到;
5.如果点击一下无效,可尝试多点击几下,或稍微等待一会,因为在部分电脑上测试存在卡顿; 主要是跳转、发送验证码界面需要缓冲几秒钟。
6.考虑到实际情况,能够真正地进行计算,算式相对简单;
7.如果发送验证码显示发送频繁,是由于多次点击,有可能其实已经发送到你的邮箱,但是由于延迟,提示词还没有切换过来,或者再叉掉程序,重新启动一次;
项目概述
数学学习软件是一个基于JavaFX开发的桌面应用程序,提供数学题目练习和考试功能。系统支持用户注册、登录、密码修改,以及小学、初中、高中三个难度级别的数学题目练习。
系统架构
模块结构
com.mathlearning/
├── controller/ # 控制器层
├── model/ # 数据模型
├── service/ # 业务服务层
└── view/ # 用户界面
核心功能模块
1. 用户认证模块 (Auth)
功能特性
- 用户注册(邮箱验证码验证)
- 用户登录(支持邮箱和用户名登录)
- 密码修改
- 用户名修改
- 用户信息管理
核心类
AuthController- 认证控制器UserService- 用户服务EmailService- 邮件服务
注册流程
- 输入邮箱和用户名
- 获取邮箱验证码
- 设置密码(6-10位,包含大小写字母和数字)
- 完成注册
2. 题目管理模块 (Question)
功能特性
- 按难度级别生成题目(小学、初中、高中)
- 题目去重机制
- 自动生成选项
- 支持多种题型
难度级别
- 小学:加减乘除基础运算
- 初中:平方、开方、混合运算
- 高中:三角函数运算
核心类
QuestionService- 题目生成服务Question- 题目模型DifficultyLevel- 难度级别枚举
3. 考试模块 (Exam)
功能特性
- 自定义题目数量(10-30题)
- 题目导航(上一题/下一题)
- 答案保存
- 自动评分
核心类
ExamController- 考试控制器ExamSession- 考试会话ExamView- 考试界面
4. 数据存储模块
存储方式
- JSON文件存储用户数据
- 自动创建数据目录
- 数据持久化
核心类
FileStorageService- 文件存储服务
用户界面
主要界面
1. 登录界面 (LoginView)
- 邮箱/密码登录
- 注册账号入口
- 登录状态提示
2. 注册界面 (RegisterView)
- 邮箱验证
- 用户名实时检查
- 密码强度验证
- 验证码输入
3. 级别选择界面 (LevelSelectView)
- 显示用户信息
- 三个难度级别选择
- 题目数量设置(滑动条+输入框)
- 修改密码功能
4. 考试界面 (ExamView)
- 题目显示
- 选项选择
- 进度指示
- 导航控制
5. 成绩界面 (ScoreView)
- 得分显示
- 成绩评价
- 继续学习选项
6. 修改密码界面 (ChangePasswordView)
- 当前密码验证
- 新密码格式检查
- 操作结果反馈
技术特性
1. 邮件服务
- 支持QQ邮箱SMTP发送
- 验证码有效期10分钟
- 发送频率限制(1分钟内只能发送一次)
- 备用模拟发送模式
2. 密码策略
- 长度:6-10位
- 必须包含:大写字母、小写字母、数字
- 修改密码时需要验证原密码
3. 用户名规则
- 长度:2-20个字符
- 允许:中文、英文、数字、下划线、连字符
- 实时检查可用性
4. 题目生成
- 智能去重机制
- 难度适配算法
- 选项自动生成
- 支持多种数学运算
数据存储
用户数据自动保存在 data/users.json 文件中。
使用流程
-
注册账号
- 输入邮箱和用户名
- 获取邮箱验证码
- 设置符合要求的密码
-
登录系统
- 使用邮箱或用户名登录
- 进入级别选择界面
-
开始学习
- 选择难度级别(小学/初中/高中)
- 设置题目数量(10-30题)
- 开始答题
-
查看成绩
- 完成考试后查看得分
- 获得成绩评价
- 可选择继续学习或退出
-
账户管理
- 修改密码
- 修改用户名
- 退出登录
错误处理
- 输入验证失败时显示明确提示
- 网络异常时的降级处理
- 数据保存失败的重试机制
- 用户操作错误的友好提示
该文档最后更新日期:2025年