合并develop #8

Merged
hnu202326010321 merged 4 commits from develop into main 4 months ago

@ -0,0 +1,87 @@
# 学习软件项目文档
## 项目概述
该学习软件是一个基于Java Swing的应用程序提供数学题目练习和考试功能。项目采用MVC架构包含用户管理、题目生成、考试系统等核心模块用户注册账号登录后选择难度进行数学考试软件会给出考试的正确率和得分率。
## 运行环境
编码环境是Java的1.8.0版本运行jar包没有问题打包成exe文件后在Windows系统x64下可以直接运行功能正常
## 使用流程
初始界面可以选择登录或者注册选择注册输入用户名和邮箱根据收到的注册码确认密码完成注册。输入用户名和密码登录进入主功能界面初始小学难度可切换题目数限制在10-30按开始考试进入答题。下方有修改密码和退出登录选项退出登录会回到初始界面。
## 目录结构
src/
├── controller/ 控制器层
├── model/ 数据模型层
├── view/ 视图层
├── utils/ 工具类
└── MathLearningApp.java 应用入口
## 核心功能模块
### 1. 用户管理模块
用户注册:邮箱验证码注册机制
用户登录:用户名密码登录
密码管理:修改密码功能
用户状态:注册状态管理
### 2. 题目管理模块
题目生成:根据难度自动生成数学题目
难度分级:小学、初中、高中三个难度级别
题目类型:四则运算、平方平方根、三角函数等
选项生成:自动生成干扰选项
### 3. 考试系统模块
试卷生成:按难度和题目数量生成试卷
答题界面:友好的用户交互界面
进度管理:题目导航和进度显示
成绩统计:自动评分和正确率计算
### 4. 界面导航模块
视图管理:统一的界面切换控制
用户状态保持:登录用户信息管理
## 核心类说明
### 控制器层 (Controller)
BaseController: 抽象基类,提供验证、日志、消息提示等通用功能
UserController: 用户业务逻辑实现UserService接口
QuestionController: 题目业务逻辑实现QuestionService接口
NavigationController: 界面导航控制实现NavigationService接口
### 服务接口 (Service Interfaces)
UserService: 用户相关业务方法契约
QuestionService: 题目相关业务方法契约
NavigationService: 界面导航方法契约
### 数据模型 (Model)
User: 用户数据模型
Question: 题目数据模型
QuestionGenerator: 题目生成器
### 视图层 (View)
LoginView: 用户登录界面
RegisterView: 用户注册界面
MainView: 主功能界面
ExamView: 考试答题界面
ResultView: 成绩显示界面
ChangePasswordDialog: 修改密码对话框
### 工具类 (Utils)
EmailUtil: 邮件发送功能
FileUtil: 文件读写操作
ValidationUtil: 数据验证工具

Binary file not shown.
Loading…
Cancel
Save