# 学生管理系统
## 一、系统总体设计
### 1.1 需求概述
本系统旨在开发一个统一的学生信息管理系统,利用信息化手段辅助学生信息的管理,达到提升学校学生管理信息化的水平的目的。教务管理人员能够利用管理员账户方便地进行教务管理工作,包括学生信息管理、教师信息管理、公告管理、成绩与课程管理等;教师用户能够利用该系统进行学生成绩录入及修改、查看和发布公告等;学生用户能够利用该系统进行成绩查询及导出、查看教务通知等。
**SIMS 学生信息管理系统主要需求列表如下:**
学生信息管理。包括学生信息增加、删除、修改、查询。
教师用户和管理员用户具有对所有学生信息的增加、删除、修改、查询权限;
学生用户只能查看和修改自身的信息;
学生信息能够批量下载。
教师信息管理。包括学生信息增加、删除、修改、查询。
管理员用户具有对所有学生信息的增加、删除、修改、查询权限;
教师用户只能查看和修改自身的信息;
教师信息能够批量下载。
注册管理功能。包括用户注册、密码修改等。
当新增教师或学生信息时,数据库中会自动在用户表中插入新的用户信息,用户 ID 为其职工号或学号,密码默认为 000000;
在新增用户信息时,允许修改证件照。一旦信息录入结束,则只能通过管理员进行修改。
课程及成绩管理。包括课程信息的增加、删除、修改,以及成绩的录入和修改。
课程信息只能通过管理员从数据库进行修改。一旦一门课程被删除,其关联的所有成绩也将被删除。
教师及管理员用户能够录入或修改所有学生的成绩;
学生可以查看或导出自己的成绩
用户登录功能。包括用户名、密码检查,验证码校验,密码找回等。
### 1.2 基本设计概念和处理流程
针对本系统的教务管理人员、教师、学生三种不同的角色,系统的处理流程如下图所示:
![](https://www.writebug.com/myres/static/uploads/2021/12/28/8f4a9312f96805647af28a2c7b2e9dc5.writebug)
![](https://www.writebug.com/myres/static/uploads/2021/12/28/397b649c982f2ce2867e9814fd61d92c.writebug)
### 1.3 结构
![](https://www.writebug.com/myres/static/uploads/2021/12/28/b0186fe7b7e1646c1496c82e367d9a34.writebug)
本系统的体系结构如图 3 所示:
本系统体系结构大致可以定义为:
- 用户浏览器中的表示层主要是通过 Servlet + JSP 技术实现的。由显示视图产生一个请求,请求被在 web.xml 中寻求对应的 URL,找到对应的 Servlet 类后, Servlet 类执行相应的业务逻辑。一旦 Servlet 类处理完相应的业务逻辑,就会提供对应的参数返回给前端 JSP,它指明了处理的结果。当 Servlet 类将结果返回给 JSP 时,请求的过程也就完成了。
- 中间业务层是通过 Spring Boot 框架实现的,首先建立一个 BackEndApplication 启动类,该类需要导入 org.springframework.boot.SpringApplication、org.springframework.boot.autoconfigure.SpringBootApplication、org.springframework.boot.web.servlet.ServletComponentScan,之后通过注解@SpringBootApplication,这样就可以保证业务层能持续运转。之后业务层在部署到服务器上时为了能够自动运行,需要再建立 BackEndServletIntializer 类,通过继承 SpringBootServletIntializer 以正常运行。
- 持久层(PO)由 hibernate 架构及 Spring Boot 框架实现,对每个表的 JavaBean 类添加注解以及实现 CrudRepository,就可以实现通过简单几行代码实现对该表的增删改查。如果需要更多的复杂操作,则需要继承 JpaSpecificationExecutor 类来实现相关功能。
![](https://www.writebug.com/myres/static/uploads/2021/12/28/d784afedf9d5b517c0fbe9502362f65c.writebug)
本系统组件如图 4 所示:
### 1.4 功能分配
本系统中各功能需求与程序模块(组件)之间的关系如下表所示:
![](https://www.writebug.com/myres/static/uploads/2021/12/28/de39d13c876053f954fae305e7388cb5.writebug)
## 1.5 运行设计
### 1.5.1 运行模块组合
前端网页在有输入时启动接收数据模块,通过各模块之间的调用,读入并对输入进行格式化。在接收数据模块得到充分的数据时,将调用网络传输模块,将数据通过网络送到服务器,并等待接收服务器返回的信息。接收到返回信息后随即调用数据传输模块,对信息进行处理,产生相应的输出。
服务器程序的接收网络数据模块必须始终处于活动状态。接收到数据后,调用数据处理/查询模块对数据库进行访问,完成调用网络发送模块,将信息返回前端。
### 1.5.2 运行控制
运行控制将严格按照各模块间函数调用关系来实现。在各事务中心模块中,需对运行控制进行正确的判断,选择正确的运行控制路径。
在网络传输方面,前端网页在发送数据后,将等待服务器确认收到信号。前端收到后,再次等待服务器发送响应数据,然后对数据进行确认。服务器在接到数据后发送确认信号,在对数据处理、访问数据库后,将返回信息送回前端网页,并做相应处理。
## 二、系统详细设计
### 2.1 编写目的
在前一阶段(概要设计说明书)中,已解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的详细设计报告中将对在本阶段中对系统所做的所有详细设计进行说明。
### 2.2 程序系统结构
![](https://www.writebug.com/myres/static/uploads/2021/12/28/745d9e9beccca351135fe1103c0070c3.writebug)
### 2.2.1 主要类图
![](https://www.writebug.com/myres/static/uploads/2021/12/28/a3b16c4ff461b95b2661df3572c2aa5c.writebug)
### 2.2.2 主要界面设计
### 2.2.3 主要模块程序名
![](https://www.writebug.com/myres/static/uploads/2021/12/28/1c3ff02484a3adb014bd8b5a870dbda9.writebug)
## 2.3 模块详细设计
### 2.3.1 登录模块设计
![](https://www.writebug.com/myres/static/uploads/2021/12/28/db8d3d60d6dd009ec31042a8d46c98dd.writebug)
登录身份:Student (level=1), Teacher (level=2), Admin (level=3)
![](https://www.writebug.com/myres/static/uploads/2021/12/28/65fae0e300c402b24f371705f809825d.writebug)
### 2.3.2 公告模块设计
### 2.3.3 教师模块设计
![](https://www.writebug.com/myres/static/uploads/2021/12/28/6cdbbcd36a63ce413ea128e2d27bf7f6.writebug)
### 2.3.4 学生模块设计
![](https://www.writebug.com/myres/static/uploads/2021/12/28/b4910c7a8835ca2ba113dc8a62036271.writebug)
### 2.3.5 课程及成绩模块设计
![](https://www.writebug.com/myres/static/uploads/2021/12/28/ad98108af8137ea068f870d4da58be28.writebug)
## 2.4 接口设计
### 2.4.1 用户接口
在用户界面即网页端部分,用户需要一个交互友善的界面,且尽可能的简单明了、易于操作。系统首页如图所示:
![](https://www.writebug.com/myres/static/uploads/2021/12/28/dd5d1b568880ab137835b83fd3972aa5.writebug)
### 2.4.2 外部接口
服务器端通过使用高度集成的 Spring Boot 完成了对 MySQL 数据库所有的访问,接口详情如下:
该项目下所有外部接口的访问前缀都是。
**User 类:**
增加访问前缀"/user"。
save(User user): 通过调用该接口传入要存入的用户信息。若用户 ID 已经存在,则会更新该用户 ID 对应的用户信息。
参数:userId, passwd, userLevel
访问方式: POST
访问路径: "/save"
deleteByid(String userId): 通过调用该接口删除指定ID的用户。若成功删除,则会返回"SUCCESS。
参数:userId
**访问�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
本系统旨在开发一个统一的学生信息管理系统,利用信息化手段辅助学生信息的管理,达到提升学校学生管理信息化的水平的目的。教务管理人员能够利用管理员账户方便地进行教务管理工作,包括学生信息管理、教师信息管理、公告管理、成绩与课程管理等;教师用户能够利用该系统进行学生成绩录入及修改、查看和发布公告等;学生用户能够利用该系统进行成绩查询及导出、查看教务通知等。
资源推荐
资源详情
资源评论
收起资源包目录
基于Java(Servlet + JSP)+MySQL实现学生管理系统【100012166】 (1117个子文件)
JsonUtil.class 8KB
JsonUtil.class 8KB
UserInsertServlet.class 7KB
UserInsertServlet.class 7KB
TeacherListFrashServlet.class 5KB
StudentListFrashServlet.class 5KB
TeacherListFrashServlet.class 5KB
StudentListFrashServlet.class 5KB
SubjectListQueryServlet.class 5KB
SubjectListQueryServlet.class 5KB
BulletinListServlet.class 5KB
BulletinListServlet.class 5KB
ExpertUtil.class 4KB
ExpertUtil.class 4KB
Email.class 4KB
Email.class 4KB
LoginServlet.class 4KB
LoginServlet.class 4KB
UserPasswdFindServlet.class 4KB
UserPasswdFindServlet.class 4KB
BulletinInsertServlet.class 3KB
BulletinInsertServlet.class 3KB
ImageServlet.class 3KB
ImageServlet.class 3KB
ScoreSubmitServlet.class 3KB
ScoreSubmitServlet.class 3KB
SubjectListGetServlet.class 3KB
SubjectListGetServlet.class 3KB
CosUtil.class 3KB
CosUtil.class 3KB
UploadThread.class 3KB
UploadThread.class 3KB
TeacherInfoServlet.class 3KB
TeacherInfoServlet.class 3KB
StudentInfoServlet.class 3KB
StudentInfoServlet.class 3KB
BulletinInfoServlet.class 3KB
BulletinInfoServlet.class 3KB
Teacher.class 3KB
Teacher.class 3KB
Student.class 3KB
Student.class 3KB
BulletinDeleteServlet.class 3KB
BulletinDeleteServlet.class 3KB
UserPasswdUpdateServlet.class 3KB
UserPasswdUpdateServlet.class 3KB
TeacherDeleteServlet.class 2KB
StudentDeleteServlet.class 2KB
TeacherDeleteServlet.class 2KB
StudentDeleteServlet.class 2KB
ClientUtil.class 2KB
ClientUtil.class 2KB
Page.class 2KB
Page.class 2KB
Bulletin.class 2KB
Bulletin.class 2KB
VerificationServlet.class 2KB
VerificationServlet.class 2KB
Score.class 2KB
Score.class 2KB
Subject.class 1KB
Subject.class 1KB
PageDaoImpl.class 1KB
PageDaoImpl.class 1KB
User.class 1KB
User.class 1KB
FileUtil.class 1KB
FileUtil.class 1KB
CosConstant.class 942B
CosConstant.class 942B
CookieUtil.class 907B
CookieUtil.class 907B
UploadListener.class 879B
UploadListener.class 879B
AdminEmailAccount.class 616B
AdminEmailAccount.class 616B
PageDao.class 295B
PageDao.class 295B
jquery-ui-1.9.2.custom.css 17KB
jquery-ui-1.9.2.custom.css 17KB
jquery-ui-1.9.2.custom.min.css 15KB
jquery-ui-1.9.2.custom.min.css 15KB
style.css 8KB
style.css 8KB
main.css 7KB
main.css 7KB
jquery.grid.css 6KB
jquery.grid.css 6KB
zTreeStyle.css 6KB
zTreeStyle.css 6KB
nav.css 6KB
nav.css 6KB
comboboxmenu.css 4KB
comboboxmenu.css 4KB
datepicker.css 4KB
datepicker.css 4KB
datepicker.css 3KB
datepicker.css 3KB
buttonicon.css 3KB
buttonicon.css 3KB
共 1117 条
- 1
- 2
- 3
- 4
- 5
- 6
- 12
资源评论
神仙别闹
- 粉丝: 2705
- 资源: 7641
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功