# 数据分析与简历生成系统
# 项目背景介绍
作为一名学生,我们难免要与学生管理系统打交道。在这次的Java课程项目中,我们便选择了这个主题,试着实现一个基础的学生管理系统。
# 项目环境说明
- 操作系统:Windows 10
- JAVA版本:java 11.0.4
# 系统功能介绍
主要有五个界面,分别是初始界面、登陆界面、注册界面、学生主界面、教师主界面。
进入系统后进入初始界面,可选择登录或注册。如果已经有账号,选择登录,在登录界面,输入姓名和密码,根据账号的身份跳转到学生主界面或教师主界面。如果没有账号,选择注册,在注册界面进行注册,注册后跳转个人页面。
在学生主界面中显示学生的基本信息,如姓名、班级、身份、个人简介、各科成绩和排名、获奖信息。其中个人简介、各科成绩和排名、获奖信息可以更改。如果学生有需要,可以下载有关个人信息的txt或md格式文件,也就是一个简易的简历。
在教师主界面显示教师对应组别的学生成绩信息,按照不同科目进行展示。教师可以对本组学生的成绩信息进行修改,可以查看本组某一科目的成绩分布情况。
![主界面](./Document/image/Menu_Page.png "主界面")
![登录界面](./Document/image/Sign_In_Page.PNG "登陆界面")
![注册界面](./Document/image/Sign_Up_Page.PNG "注册界面")
![学生界面](./Document/image/Student_Page.JPEG "学生界面")
![教师界面](./Document/image/Teacher_Page.JPEG "教师界面")
# 项目结构说明
- 目录树:
```
.
├── README.md
├── ResumeBuildSystem.iml
├── lib // 项目驱动文件
│ └── mysql-connector-java-8.0.18.jar
├── out
│ └── production
│ └── ResumeBuildSystem
│ ├── Controller
│ │ ├── GroupController.class
│ │ └── UserController.class
│ ├── GUI
│ │ ├── GUIController
│ │ │ ├── AwardInformation.class
│ │ │ ├── MainApp.class
│ │ │ ├── MenuPageController.class
│ │ │ ├── RootLayoutController.class
│ │ │ ├── ScoreInforForTeacher.class
│ │ │ ├── ScoreInformation.class
│ │ │ ├── Server.class
│ │ │ ├── ServerThread.class
│ │ │ ├── SignInController.class
│ │ │ ├── SignUpController.class
│ │ │ ├── StudentPageController.class
│ │ │ └── TeacherPageController.class
│ │ └── view
│ │ ├── MenuPage.fxml
│ │ ├── RootLayout.fxml
│ │ ├── SignInController.fxml
│ │ ├── SignUpController.fxml
│ │ ├── StudentPageController.fxml
│ │ └── TeacherPageController.fxml
│ ├── META-INF
│ │ └── ResumeBuildSystem.kotlin_module
│ ├── database
│ │ ├── Mysql.class
│ │ └── MysqlManager.class
│ └── model
│ ├── Award.class
│ ├── File.class
│ ├── Group.class
│ └── User.class
└── src
├── Controller// 后台接口
│ ├── GroupController.java // 群组相关接口
│ └── UserController.java // 用户相关接口
├── GUI
│ ├── GUIController
│ │ ├── MainApp.java
│ │ ├── MenuPageController.java
│ │ ├── RootLayoutController.java
│ │ ├── Server.java
│ │ ├── ServerThread.java
│ │ ├── SignInController.java
│ │ ├── SignUpController.java
│ │ ├── StudentPageController.java
│ │ └── TeacherPageController.java
│ └── view
│ ├── MenuPage.fxml
│ ├── RootLayout.fxml
│ ├── SignInController.fxml
│ ├── SignUpController.fxml
│ ├── StudentPageController.fxml
│ └── TeacherPageController.fxml
├── database
│ ├── Mysql.java // 数据库操作接口
│ └── MysqlManager.java // 数据库连接
└── model
├── Award.java
├── File.java
├── Group.java
└── User.java
```
# 系统类图
![Top-Level Package](./Document/image/Top-Level_Package.svg "Top-Level Package")
![Package model](./Document/image/Package_model.svg "Package model")
![Package database](./Document/image/Package_database.svg "Package database")
![Package Controller](./Document/image/Package_Controller.svg "Package controller")
![Package GUIController](./Document/image/Package_GUIController.svg "Package GUIController")
# 关键模块说明
# 知识点应用说明
## 1. 类和对象
- User
- Group
- File
- Award
- GroupController
- UserController
- Mysql
- MysqlManager
- MainApp
- MenuPageController
- SignUpController
- AwardInformation
- Server
- SignInController
- ServerThread
- RootLayoutController
- ScoreInformation
- StudentPageController
- ScoreInforForTeacher
- TeacherPageController
## 2. 超类与继承
- ServerThread继承Thread类
- MainApp继承Application类
## 3. 接口及其实现
- SignInController实现Initializable接口
- StudentPageController实现Initializable接口
## 4. 异常处理
Mysql、MysqlManager、MainApp、Server、ServerThread、SignInController、SignUpController、StudentPageController、TeacherPageController几个类中均有异常处理。
## 5. 多线程
在界面跳转时使用多线程的方法来传递用户名。跳转前页面的socket的output为用户名,跳转后页面的socket的input为用户名,在ServerThread类中处理。
## 6. 文件存储
学生界面可以生成txt或md文件,并导出到运行的电脑中用户选择的位置。
## 7. 网络编程
在界面的跳转时,通过网络编程实现用户名的传递。即运行Server,跳转时生成两个Socket,第一个output用户名,第二个input用户名。
## 8. Java 图形界面
我们使用JavaFX实现Java图形界面,JavaFX是一个Java库,是一个强大的图形和多媒体处理工具包集合,它允许开发者来设计、创建、测试、调试和部署富客户端程序,并且和Java一样跨平台。
FXML是一种基于XML的声明式标记语言,用于描述JavaFX应用程序的用户界面。通过在FXML中编码或者使用JavaFX Scene Builder来设计图形用户接口(GUI)。
相比Swing,JavaFX的优点有:
1. 绑定Binding,JavaFX新增了Property类,区别在于它可以绑定,UI线程刷新控件时,可以自动读取Property属性所绑定的对应属性的值。
2. Group类,这是一个Swing中没有的容器。它可以通过坐标设置控件位置,而且控件和控件之间可以重叠,更容易实现界面的设计。
3. 支持CSS,因此更容易实现界面的美化。
4. 自带更多动画,界面运行时更加美观。
5. JavaFX提供了将jar和jre打包成exe,双击即可运行。
## 9. Java JDBC
### 后台介绍
该项目的后台采用了mysql作为存储信息的数据库,数据库运行在云服务器上。后台的接口也基本与数据库的增删查改相关。
#### 数据表
##### group表
- 表结构
![QX7jCF.png](https://s2.ax1x.com/2019/12/21/QX7jCF.png)
![QXbSJS.png](https://s2.ax1x.com/2019/12/21/QXbSJS.png)
##### user表
- 表结构
![QXq9k6.png](https://s2.ax1x.com/2019/12/21/QXq9k6.png)
![QXqB3F.md.png](https://s2.ax1x
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Java课程大作业基于JavaFX+MySQL的学生管理系统源代码+数据库+详细文档,具有成绩数据可视化分析及自动生成简历功能 主要有五个界面,分别是初始界面、登陆界面、注册界面、学生主界面、教师主界面。 进入系统后进入初始界面,可选择登录或注册。如果已经有账号,选择登录,在登录界面,输入姓名和密码,根据账号的身份跳转到学生主界面或教师主界面。如果没有账号,选择注册,在注册界面进行注册,注册后跳转个人页面。 在学生主界面中显示学生的基本信息,如姓名、班级、身份、个人简介、各科成绩和排名、获奖信息。其中个人简介、各科成绩和排名、获奖信息可以更改。如果学生有需要,可以下载有关个人信息的txt或md格式文件,也就是一个简易的简历。 在教师主界面显示教师对应组别的学生成绩信息,按照不同科目进行展示。教师可以对本组学生的成绩信息进行修改,可以查看本组某一科目的成绩分布情况。
资源推荐
资源详情
资源评论
收起资源包目录
ResumeBuildSystem-master.zip (80个子文件)
ResumeBuildSystem-master
lib
mysql-connector-java-8.0.18.jar 2.22MB
src
database
Mysql.java 21KB
MysqlManager.java 918B
GUI
view
RootLayout.fxml 972B
MenuPage.fxml 2KB
TeacherPageController.fxml 5KB
SignUpController.fxml 3KB
SignInController.fxml 2KB
StudentPageController.fxml 3KB
GUIController
RootLayoutController.java 801B
ServerThread.java 2KB
MenuPageController.java 449B
SignUpController.java 3KB
StudentPageController.java 10KB
SignInController.java 2KB
Server.java 719B
MainApp.java 4KB
TeacherPageController.java 8KB
model
File.java 5KB
Group.java 3KB
User.java 3KB
Award.java 481B
Controller
GroupController.java 1KB
UserController.java 6KB
out
production
ResumeBuildSystem
database
Mysql.class 16KB
MysqlManager.class 1KB
GUI
view
RootLayout.fxml 972B
MenuPage.fxml 2KB
TeacherPageController.fxml 5KB
SignUpController.fxml 3KB
SignInController.fxml 2KB
StudentPageController.fxml 3KB
GUIController
RootLayoutController.class 2KB
Server.class 1KB
MainApp.class 4KB
ScoreInformation.class 2KB
MenuPageController.class 810B
TeacherPageController.class 9KB
ServerThread.class 2KB
AwardInformation.class 1KB
StudentPageController.class 12KB
SignUpController.class 3KB
ScoreInforForTeacher.class 1KB
SignInController.class 3KB
model
Award.class 771B
Group.class 5KB
User.class 5KB
File.class 6KB
Controller
GroupController.class 2KB
UserController.class 6KB
META-INF
ResumeBuildSystem.kotlin_module 16B
.idea
project-template.xml 89B
dataSources
57c9b920-43ff-46d7-94f5-7c4903a051c0
storage_v2
_src_
schema
information_schema.FNRwLQ.meta 76B
57c9b920-43ff-46d7-94f5-7c4903a051c0.xml 40KB
dataSources.local.xml 982B
description.html 97B
uiDesigner.xml 9KB
libraries
lib.xml 579B
vcs.xml 167B
workspace.xml 37KB
misc.xml 401B
dataSources.xml 812B
ResumeBuildSystem.iml 336B
compiler.xml 294B
modules.xml 274B
.gitignore 78B
encodings.xml 159B
ResumeBuildSystem.iml 998B
README.md 13KB
Document
image
Package_Controller.svg 73KB
Menu_Page.png 16KB
Top-Level_Package.svg 136KB
Package_database.svg 58KB
Package_GUIController.svg 350KB
Student_Page.JPEG 307KB
Package_model.svg 131KB
Sign_Up_Page.PNG 15KB
Teacher_Page.JPEG 251KB
Sign_In_Page.PNG 13KB
README.md 9KB
共 80 条
- 1
资源评论
yanglamei1962
- 粉丝: 2469
- 资源: 794
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 在 Linux 中发送 HTTP 请求的多种方法:使用 curl、wget 和 Python 示例
- 毕业设计Python+基于OpenCV的交通路口红绿灯控制系统设计源码(Sqlite +PyCharm)
- 校园二手交易管理系统+vue
- 制作一棵美丽的圣诞树:HTML 和 CSS 实现指南
- 基于Python+OpenCV的交通路口红绿灯控制系统设计源码(高分毕设)
- 基于SSM的停车管理系统+jsp设计和实现
- 毕业设计 基于Python+carla的高性能分布式自动驾驶仿真系统源码(高分项目)
- SQL学习资料(必知必会)
- 毕业设计-基于carla的高性能分布式自动驾驶仿真系统源码(高分项目)
- 企业员工管理系统+vue
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功