diff --git a/doc/说明文档.MD b/doc/说明文档.MD new file mode 100644 index 0000000..40dd3f3 --- /dev/null +++ b/doc/说明文档.MD @@ -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: 数据验证工具 + diff --git a/doc/说明文档.pdf b/doc/说明文档.pdf new file mode 100644 index 0000000..42ca7c0 Binary files /dev/null and b/doc/说明文档.pdf differ