1.引言
1.1目的
1.2背景
眼下疫情正处于重要的防控阶段,在大学生活的学生必不可少的会遇到请假出门的情况,本系统可以帮助学生更方便的申请线上请假,也帮助老师更加方便快速的进行批复和反馈。
2.需求分析
2.1总体目标
分为学生登录端和教师登录端,学生端具有填写登录和填写请假条等功能,将学生的账号和请假手续上传到服务器数据库中。老师端具有登录和批复请假条等功能并具有查看服务器数据库权限。
2.2功能目标
学生端:具有填写登录和填写请假条等功能,将学生的账号和请假手续上传到服务器数据库中。
教师端:具有登录和批复请假条等功能并具有查看服务器数据库权限。
服务器数据库:储存所有学生和教师的账号密码和请假条详细信息等内容。
2.3数据需求
学生端:1.学号 2.登录密码。
教师端:1.工号 2.登录密码。
服务器:MySQL数据库:所有账号密码,请假条详细信息。
2.4数据流图
图1 详细操作流程图
2.5性能要求
服务器应当支持多学生和教师端同时登录,对于上传的信息,服务器应做到及时反馈和回复。
3.系统设计
3.1总体设计
使用mysql 创建一个数据库student_information,在这个数据库中创建两张表,分别为users 用于比对用户登录 id 信息,student 用于请假管理人员查看所有学生请假信息。
使用java swing 设计界面,一个用于用户选择登录身份(老师 or 学生)
一个登录界面,用学号/工号和密码登录请假管理系统,一个学生请假信息填写界面,一个学生查询请假情况界面,一个老师查询所有请假学生的信息界面
使用JDBC驱动器连接Mysql 数据库student_information 信息,Mysql增删改查,建库删库,建表删表。
用java 实现各个界面按钮功能,例如登录、查询、退出、提交等
图2 总体设计关系图
3.2功能设计
主要功能/作用 | 代码文件 | 继承的文件 |
登录界面初始化 | Admin_Main_Window.java | |
背景板设置 | BackgroundPanel.java | Admin_Main_Window.java |
注册登录账号密码验证 | loginView.java | |
数据库控制 | MysqlContrl.java | StudentPermissionslip.java |
学生请假界面工作控制 | StudentPermissionslip.java | |
主函数 | Main.java | |
教师批准请假系界面控制 | Check.java | MysqlContrl.java |
表1 学生请假管理系统功能设计表
图3 功能设计关系图
3.3数据库概念结构设计
数据库整体结构 | 用处 |
student_information | 整体数据库文件 |
student_information.student | 管理学生申请的请假条 |
student_information.users | 管理全部的账号密码 |
表2 数据库概念结构设计表
图4 数据库概念结构关系图
4.实现
4.1开发技术
1.搭建开发环境,官网下载MYSQL Shell,Navicat Premium,JDBC 驱动器等,并且配置好环境。
2.创建数据库student_information
4.2登录数据库
使用命令行登录Mysql数据库
图5 登录数据库图
4.3创建用户数据库
数据表 users,check,student,在控制台输入命令后,利用数据库可视化工具创建数据库和数据表。
图6 创建用户数据库图
创建student_information.student 数据表
图7 用户数据库图
创建student_information.users
数据表图8图
4.4设计Java Swing 界面
选择界面设计,图标选择为珠海科技学院的校徽,背景图片设计为图书馆,老师和学生的按钮分别两种不同的登录方式,根据身份选择登录身份。
图9 选择界面设计图
登陆界面设置,学生可以输入学号密码点击登录填写请假信息,也可以点击查询,查看请假状态;老师输入工号密码查询批准学生请假信息。输入学号与密码,并且与数据库比对,一致准许登录,不一致会有提示错误。
图10登录界面设计图
学生登录 ID 填写请假信息,当填写的信息不全面的时候,点击提交按钮,系统会提示错误,只有全部填写完毕,才能提交请教信息。界面背景图片选择图书馆喷泉照片,有两个按钮,一个提交信息,一个退出界面。运行截图和源代码截图如下
图11请假信息设计图1
当填写信息不全面的时候,系统会提示无法提交
图12请假信息设计图2
按钮监听事件源代码截图如下
老师查看学生请假信息,并且在 agree 那一栏填写是否通过,1 为通过,0 为不通过。设置两个按钮,同意和驳回。并且点击不同意按钮既可以不通过学生的请假申请,数据提交到数据库并且在界面更新。
图13查看学生请假信息设计图
学生填写请假信息后,如果想要查询是否申请通过,可以通过以下界面的查询按钮,查看状态,1 为通过,0 为不通过。
5.用JDBC 连接数据库
连接student_information
设置 flag 来判断 insert 是否成功
获取数据库的数据后,输出 list
登录判断,查找 id 是否在数据库中,判断 id 与密码是否一一对应
在数据库中通过id 查找agree 状态
5.1测试技术
黑盒测试,让用户来进行使用体验
5.2连接数据库
成功登录并连接数据库,正常运行,没有发现问题
图14 连接数据库图
5.3运行程序
成功运行程序并显示了选择用户的界面
图15 运行程序图
5.4学生登录
输入学号密码,点击登录,进入学生请假信息填写界面。
图16 学生登录图
5.5学生填写请假信息
填写请假信息,提交数据库 student_information.student
图17学生填写请假信息图
若少填写信息,系统会提示填写不允许为空。
图18 学生填写请假失败图
5.6教师进行登录
选择蓝色头像登录为老师管理登录
图19 教师进行登录图
5.7教师进行请假批阅和查询
登录查看所有请假学生的填写信息,并且决定是否准许请假,准许为 1, 不准许为 0,老师随时可以更改请假状态,并且在数据库更新。
图20 教师进行数据库查看图