|
|
|
|
@ -0,0 +1,56 @@
|
|
|
|
|
# 软件需求分析
|
|
|
|
|
|
|
|
|
|
## 1. 引言
|
|
|
|
|
|
|
|
|
|
该系统是为小学、初中和高中数学老师设计的,用于生成数学题目。老师通过命令行界面输入用户名和密码登录后,可以根据所选账户类型生成相应难度的数学题目,并保存为文本文件。系统应确保生成的题目不重复,并且支持账号类型切换和题目数量设置。
|
|
|
|
|
|
|
|
|
|
## 2. 功能需求
|
|
|
|
|
|
|
|
|
|
### 2.1 用户登录功能
|
|
|
|
|
- **输入**:命令行输入用户名和密码,用户名和密码之间用空格隔开。
|
|
|
|
|
- **验证**:系统预设小学、初中和高中三个账号(每种类型有三个账号),用户名和密码必须正确才能登录。
|
|
|
|
|
- **输出**:登录成功后显示账户类型,并提示“准备生成 XX 数学题目,请输入生成题目数量”(XX 为用户登录的账户类型,如小学、初中或高中)。登录失败则提示“请输入正确的用户名、密码”,要求重新输入。
|
|
|
|
|
|
|
|
|
|
### 2.2 题目生成功能
|
|
|
|
|
- **输入**:用户输入生成的题目数量(有效范围:10-30),输入-1则退出当前用户,重新登录。
|
|
|
|
|
- **题目要求**:题目数量应在指定范围内,系统根据账号类型生成题目(小学、初中或高中难度),每道题目的操作数为1-5个,操作数取值范围为1-100。
|
|
|
|
|
- **题目存储**:生成的题目将以“年-月-日-时-分-秒.txt”的形式保存到指定文件夹下,每个账号有独立的文件夹。每道题目以题号为标识,每题之间空一行。
|
|
|
|
|
|
|
|
|
|
### 2.3 避免重复题目
|
|
|
|
|
- **要求**:同一个老师生成的卷子中的题目不能与以前已生成的题目重复。系统需要根据历史题目文件(存储在指定文件夹下)进行检查,避免题目重复生成。
|
|
|
|
|
|
|
|
|
|
### 2.4 账号类型切换功能
|
|
|
|
|
- **输入**:在登录状态下,用户可以输入命令“切换为 XX”来切换账户类型(XX 为小学、初中和高中)。
|
|
|
|
|
- **输出**:系统显示“准备生成 XX 数学题目,请输入生成题目数量”,用户输入题目数量后系统重新根据选定类型生成题目。
|
|
|
|
|
|
|
|
|
|
### 2.5 退出功能
|
|
|
|
|
- **输入**:用户输入-1以退出当前登录状态并重新登录。
|
|
|
|
|
|
|
|
|
|
## 3. 系统架构设计
|
|
|
|
|
|
|
|
|
|
### 3.1 用户登录模块
|
|
|
|
|
- **输入**:用户名和密码
|
|
|
|
|
- **处理**:验证用户输入,确认是否匹配预设账号
|
|
|
|
|
- **输出**:登录成功后根据账号类型显示相关信息,失败则重新提示。
|
|
|
|
|
|
|
|
|
|
### 3.2 题目生成模块
|
|
|
|
|
- **输入**:题目数量和账户类型
|
|
|
|
|
- **处理**:根据用户输入生成对应难度的数学题目,确保题目不重复,并按指定格式保存为文件。
|
|
|
|
|
|
|
|
|
|
### 3.3 文件管理模块
|
|
|
|
|
- **输入**:生成的题目
|
|
|
|
|
- **处理**:检查是否存在相同题目文件,保存新生成的题目为指定格式的文件。
|
|
|
|
|
- **输出**:生成的题目文件保存在指定的文件夹中。
|
|
|
|
|
|
|
|
|
|
### 3.4 账号类型切换模块
|
|
|
|
|
- **输入**:切换命令“切换为 XX”
|
|
|
|
|
- **处理**:修改当前账号类型并更新题目生成模式。
|
|
|
|
|
|
|
|
|
|
### 3.5 错误处理和提示模块
|
|
|
|
|
- **输入**:用户的各种操作
|
|
|
|
|
- **处理**:根据不同情况给出详细的错误提示和操作提示。
|
|
|
|
|
|
|
|
|
|
## 4. 数据库设计
|
|
|
|
|
|
|
|
|
|
由于题目数据和用户信息较少,系统可以采用简单的文件存储方式,而不需要使用数据库。每个用户的历史题目将保存在指定的文件夹内,文件名为“年-月-日-时-分-秒.txt”。
|
|
|
|
|
|