# 基于java的班级管理系统
# **一、需求分析**
- 能够实现对班级学生基本资料的录入,包括学生的学号,姓名,性别,所学专业,家庭住址以及出生年月等
- 能够实现对学生基本资料的修改
- 根据学号对学生资料进行查询
- 能够删除某些学生的资料
# **二、总体设计**
本班级管理系统共有6个java源文件。
类之间的主要关系如下图所示:
![](http://www.writebug.com/myres/static/uploads/2021/10/19/3abf91faeeb9be2d5fc2fc64e1bc5dc7.writebug)
各主类的主要作用如下:
- StudentManager.java
- 该java文件的类负责创建班级学生管理系统的主窗口。该类包含main方法,程序从该类开始执行
- StudentStituation.java
- 该文件的类负责创建班级学生管理系统的学生信息录入界面
- ModifySituation.java
- 该文件的类负责创建班级学生管理系统的学生基本信息修改界面
- Inquest.java
- 该文件的类负责创建班级学生管理系统的学生基本信息查询界面
- Delete.java
- 该文件的类负责创建班级学生管理系统的学生信息删除界面
- Student.java
- 负责创建存放学生信息的对象
# **三、详细设计**
## 3.1 **主类StudentManager.java**
**成员变量**
| 成员变量描述 | 变量类型 | 变量名称 |
| --------- | ---------------- | ----------- |
| 基本信息录入界面 | StudentSituation | 基本信息录入 |
| 基本信息修改界面 | ModifySituation | 基本信息修改 |
| 基本信息查询界面 | Inquest | 基本信息查询 |
| 基本信息删除界面 | Delete | 基本信息删除 |
| 菜单选项 | JMenuItem | 录入,修改,查询,删除 |
| 存基本信息的散列表 | Hashtable | 基本信息 |
| 存放散列表的文件 | File | file |
**方法**
| 名称 | 功能 | 备注 |
| --------------- | --------------- | ---- |
| StudentManager | 创建程序主窗口 | 构造方法 |
| actionPerformed | 处理ActionEvent事件 | 接口方法 |
| main | 程序开始运行 | |
## 3.2 **录入界面**
**成员变量**
| 描述 | 变量类型 | 变量名称 |
| ------------ | ---------- | ------------------ |
| 存放“学生”对象的散列表 | Hashtable | 基本信息表 |
| 输入学生基本信息的文本 | JTextField | 学号,姓名,所学专业,家庭住址,出生 |
| 存放学生信息的对象 | Student | 学生 |
**方法**
| 名称 | 功能 | 备注 |
| ---------------- | --------------- | ---- |
| StudentSituation | 创建学生信息录入界面 | 构造方法 |
| actionPerformed | 处理ActionEvent事件 | 接口方法 |
## 3.3 **查询界面**
**成员变量**
| 描述 | 变量类型 | 变量名称 |
| ----------- | ---------- | ------------------ |
| 存放“学生”对象的散表 | Hashtabel | 基本信息表 |
| 显示学生基本信息的文本 | JTextField | 学号,姓名,所学专业,家庭住址,出生 |
**方法**
| 名称 | 功能 | 备注 |
| --------------- | --------------- | ---- |
| Inquest | 创建查询界面 | 构造方法 |
| actionPerformed | 处理ActionEvent事件 | 接口方法 |
## 3.4 **修改界面**
**成员变量**
| 描述 | 变量类型 | 变量名称 |
| ------------ | ---------- | ------------------ |
| 存放“学生”对象的散列表 | Hashtabel | 基本信息表 |
| 输入学生基本信息的文本条 | JTextField | 学号,姓名,所学专业,家庭住址,出生 |
**方法**
| 名称 | 功能 | 备注 |
| --------------- | --------------- | ---- |
| ModifySituation | 创建学生信息修改界面 | 构造方法 |
| actionPerform | 处理ActionEvent事件 | 接口方法 |
## 3.5 **删除界面**
**成员变量**
| 描述 | 变量类型 | 变量名称 |
| ------------ | ---------- | ------------------ |
| 存放“学生”对象的散列表 | Hashtabel | 基本信息表 |
| 显示学生基本信息的文本条 | JTextField | 学号,姓名,所学专业,家庭住址,出生 |
**方法**
| 名称 | 功能 | 备注 |
| --------------- | ------------- | ---- |
| Delete | 创建学生信息删除界面 | 构造方法 |
| actionPerformed | 处理ActionEvent | 接口方法 |
## 3.6 **学生对象**
**成员变量**
| 描述 | 变量类型 | 变量名称 |
| ---- | ------ | ---------- |
| 学号 | String | Number |
| 姓名 | String | Name |
| 所学专业 | String | Discipling |
| 家庭住址 | String | Grade |
| 出生 | String | Borth |
| 性别 | String | Sex |
**方法**
| 名称 | 功能 |
| ------------ | ------ |
| Setnumber | 设置学号 |
| Setnumber | 获取学号 |
| Setname | 设置姓名 |
| Setname | 获取姓名 |
| setDisciping | 设置所学专业 |
| setDisciping | 获取所学专业 |
| setGrade | 设置家庭住址 |
| setGrade | 获取家庭住址 |
| setBorth | 设置出生 |
| setBorth | 获取出生 |
| setSex | 设置性别 |
| setSex | 获取性别 |
# **四、测试结果**
程序运行的主要界面如下所示:
![](http://www.writebug.com/myres/static/uploads/2021/10/19/e8e1e22c185f4167a41fc1903a9960df.writebug)
![](http://www.writebug.com/myres/static/uploads/2021/10/19/9ce4b863c050c116fb3643224109811e.writebug)
![](http://www.writebug.com/myres/static/uploads/2021/10/19/2ed943cb978a954400006c45f154cf27.writebug)