|
|
|
|
@ -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: 数据验证工具
|
|
|
|
|
|