diff --git a/doc/结对项目说明文档.md b/doc/结对项目说明文档.md new file mode 100644 index 0000000..9d3319f --- /dev/null +++ b/doc/结对项目说明文档.md @@ -0,0 +1,81 @@ +# 中小学数学学习软件说明文档 + +## 项目概述 + +中小学数学学习软件是一个基于Java Swing开发的桌面应用程序,旨在为小学、初中和高中学生提供数学练习平台。软件采用MVC架构设计,实现了用户注册登录、密码管理、题目生成、在线答题和成绩统计等功能。 + +## 开发环境与依赖 + +### 开发工具 +- **IDE**: IntelliJ IDEA +- **JDK版本**: Java 8或更高版本 + +### 外部依赖库 +项目需要以下两个外部JAR包: + +| 依赖库 | 版本 | 用途 | +|--------|------|------| +| activation-1.1.1.jar | 1.1.1 | JavaBeans Activation Framework,支持邮件服务的MIME类型处理 | +| javax.mail-1.6.2.jar | 1.6.2 | JavaMail API,实现邮件发送功能,用于注册验证码发送 | + +### 依赖配置方法(IntelliJ IDEA) +1. 在项目中创建`lib`文件夹 +2. 将两个JAR文件复制到`lib`目录 +3. 右键点击JAR文件 → `Add as Library` +4. 选择模块并确认 + +## 功能特性 + +### 用户管理功能 +- 用户注册:通过邮箱验证码完成注册 +- 用户登录:支持已注册用户登录 +- 密码管理: + - 密码长度6-10位,必须包含大小写字母和数字 + - 登录状态下可修改密码 + - 密码采用SHA-256加密存储 + +### 题目生成功能 +- 难度分级:小学、初中、高中三个难度级别 +- 题目数量:10-30题可调 +- 题目查重:同一试卷内题目不重复 + +### 答题功能 +- 选择题形式:每题4个选项 +- 进度显示:实时显示答题进度 +- 自动判分:提交后立即显示成绩 + +## 核心类说明 + +### MathLearningApp(主类) +- 应用程序入口 +- 界面切换管理 +- MVC组件初始化 + +### UserManager(用户管理) +**主要功能:** +- 用户注册验证 +- 邮箱验证码发送(依赖javax.mail) +- 密码加密存储 +- 用户数据持久化 + +### QuizController(答题控制) +**主要功能:** +- 题目集管理 +- 答题进度跟踪 +- 成绩计算 +- 用户答案记录 + +### QuestionGenerator(题目生成) +**难度分级:** +- 小学:四则运算,避免负数结果 +- 初中:引入平方、开根号运算 +- 高中:包含三角函数计算 + +## 邮件服务配置 + +### SMTP配置 +```java +private static final String SYSTEM_EMAIL_HOST = "smtp.qq.com"; +private static final String SYSTEM_EMAIL_PORT = "587"; +private static final String SYSTEM_EMAIL_USERNAME = "2747764757@qq.com"; +private static final String SYSTEM_EMAIL_PASSWORD = "dkagkfnxoxgxdcjj"; \ No newline at end of file