01068基于B/S的门禁与考勤一体化系统的设计与实现
摘 要
基于B/S架构的门禁与考勤一体化系统设计旨在通过整合企业内部的门禁控制和用户考勤管理,提高工作效率及管理水平。本系统利用现代信息技术手段,实现了集中管理和数据实时更新等功能。普通用户可以通过浏览器登录系统进行日常打卡签到、查看个人考勤记录、申请请假或加班等操作,并能够对系统的使用体验提交反馈信息。管理员能够高效地审核各种申请、处理用户反馈、管理门禁设施以及监控整个系统的运行状态。
在技术实现方面,该系统采用了流行的Web开发框架和技术,如HTML5、CSS3、JavaScript以及后端服务编程语言(如Java或Python),确保了系统的稳定性和安全性。数据库管理系统则用于存储用户的个人信息、考勤记录等重要数据。为了增强系统的可扩展性和兼容性,还考虑了与其他企业管理系统的集成接口设计。
关键词:B/S架构,门禁控制,考勤管理。
ABSTRACT
The design of an integrated access control and attendance management system based on the B/S architecture aims to enhance work efficiency and management levels by integrating internal enterprise access control and user attendance management. The system utilizes modern information technology to achieve centralized management and real-time data updates. Ordinary users can log in via a browser to perform daily check-ins, view personal attendance records, submit leave or overtime requests, and provide feedback on system usage. Administrators can efficiently review applications, handle user feedback, manage access control facilities, and monitor the overall system status.
In terms of technical implementation, the system adopts popular web development frameworks and technologies such as HTML5, CSS3, JavaScript, and backend programming languages like Java or Python, ensuring system stability and security. A database management system is used to store important data such as user personal information and attendance records. To enhance system scalability and compatibility, integration interfaces with other enterprise management systems have been considered.
Keywords: B/S architecture, access control, attendance management.
目 录
摘 要
ABSTRACT
1. 绪 论
1.1 研究背景
1.2 研究意义
1.3 国内现状
1.4 国外现状
2. 相关技术介绍
2.1 Springboot框架
2.2 MySQL数据
3. 系统分析
3.1 可行性分析
3.1.1 技术可行性
3.1.2 经济可行性
3.1.3 操作可行性
3.2 系统功能需求
3.2.1 普通用户主要功能
3.2.2 管理员主要功能
3.3 非功能性需求分析
3.4 系统用户用例分析
3.4.1 普通用户用例图
3.4.2 管理员用例图
3.5 系统流程分析
3.5.1 用户修改密码操作流程
3.5.2 用户登录操作流程
3.5.3 添加门禁设施信息流程
4. 系统设计
4.1 功能模块设计
4.2 数据库设计
4.2.1 概念设计
4.2.2 逻辑设计
5. 系统实现
5.1 注册用户主要功能实现
5.1.1 用户注册
5.1.2 用户登录
5.1.3 企业资讯
5.1.4 门禁设施
5.1.5 个人中心
5.2 管理员主要功能实现
5.2.1 后台首页
5.2.2 打卡签到管理
5.2.3 考勤记录管理
5.2.4 门禁设施管理
5.2.5 申请信息管理
6. 系统测试
6.1 测试目的
6.2 测试用例
6.3 测试结果
结 论
致 谢
参考文献
1.
绪 论
1.1研究背景
随着信息技术的快速发展,企业对高效、便捷的管理系统需求日益增长。传统的门禁控制与考勤管理往往依赖于人工处理或独立系统,这不仅效率低下,而且难以满足现代企业管理的需求。基于B/S架构的门禁与考勤一体化系统应运而生,通过将门禁控制和考勤管理整合到一个平台,实现了集中化管理与数据共享[1]。这种系统允许员工通过浏览器随时随地进行打卡签到、查看个人出勤记录以及提交请假申请等操作,管理员可以实时监控系统状态并处理相关事务。这大大提高了工作效率,降低了管理成本,并提升了企业的管理水平[2]。
1.2研究意义
在现代企业管理中,提高工作效率和优化资源配置是两大核心目标。通过设计与实现基于B/S架构的门禁与考勤一体化系统,企业能够实现对员工出入管理和工作时间记录的自动化处理,这不仅减少了人工干预带来的误差和延迟,还提升了数据处理的速度和准确性[3]。该系统方便了员工随时随地进行自我管理,如查看个人考勤情况、提交请假申请等,也为管理层提供了强大的工具来监督和管理员工的出勤情况,确保公司运营顺畅[3]。这种系统有助于提升企业的整体管理水平,促进信息透明化,并增强组织内部的沟通与协作效率。
1.3国内现状
在国内,随着企业规模的不断扩大和管理要求的日益提高,对高效、集成化的管理系统需求愈发明显。目前,许多企业已经开始采用基于B/S架构的解决方案来优化门禁控制与考勤管理,但整体发展水平参差不齐[3]。部分大型企业已经实现了高度自动化的系统,集成了多种功能如远程打卡、实时监控以及数据分析等,显著提升了管理效率[4]。中小企业由于资金和技术限制,仍多依赖传统方式或初步的信息系统,面临升级换代的需求。市场上虽然存在多种相关产品,但在易用性、稳定性和安全性方面仍有待提升,以满足不同企业的多样化需求。
1.4国外现状
在国外,企业对于采用先进技术提升管理效率同样重视,尤其是在信息化和自动化方面走在前列的国家[5]。许多公司已经实施了基于B/S架构的门禁与考勤一体化系统,这些系统通常具备高度的定制化能力,能够满足不同规模企业的特定需求[6]。发达国家的企业更倾向于使用云服务来支持这类系统的运行,这不仅减少了本地服务器的维护成本,还提高了数据的可靠性和安全性。国际市场上有较多成熟的解决方案提供商,它们的产品和服务在用户体验、功能完整性以及系统兼容性上表现优异。随着技术的发展,对于更加智能化、集成化的管理系统的需求仍在持续增长,促使供应商不断推陈出新。
2.
相关技术介绍
2.1Springboot框架
在基于B/S架构的门禁与考勤一体化系统的设计与实现中,Spring Boot框架发挥了重要作用。作为一种轻量级的Java开发框架,Spring Boot以其快速开发、简化配置和高效运行的特点,为系统的后端开发提供了强有力的支持[6]。它通过自动配置机制减少了繁琐的手动设置,使开发者能够专注于业务逻辑的实现[7]。Spring Boot内置了对多种数据库的支持,便于实现数据存储与管理。其模块化设计允许灵活扩展功能,如集成安全认证和接口测试工具等。这些特性不仅提升了开发效率,还增强了系统的稳定性和可维护性,为构建高性能的企业级应用奠定了坚实基础[7]。
2.2MySQL数据
在设计与实现基于B/S架构的门禁与考勤一体化系统时,数据存储的选择至关重要。采用关系型数据库管理系统来存储和管理数据,可以确保数据的一致性、完整性和安全性。该系统利用数据库来记录用户的基本信息、打卡签到、考勤状态以及各类申请等重要数据。通过优化的数据表设计,可以高效地进行数据检索和更新操作,支持系统的实时查询和统计需求。良好的数据库设计还包括建立适当的索引以加快查询速度,实施事务管理保证数据操作的可靠性,并定期备份数据以防数据丢失。这些措施共同保障了系统的稳定运行和数据安全。
3.
系统分析
3.1可行性分析
3.1.1技术可行性
在探讨基于B/S架构的门禁与考勤一体化系统的设计与实现时,技术可行性是一个核心考量因素。当前的技术环境提供了丰富的开发工具和框架,支持快速构建高效、稳定的网络应用。通过利用先进的前端技术和后端服务框架,可以确保系统的响应速度和用户体验。成熟的数据库管理系统能够有效处理大量数据,保证数据的准确性和安全性。现有的网络安全措施为系统提供了坚实的保护层,防止数据泄露和未授权访问。现有技术完全支持开发一个功能全面、性能优越的门禁与考勤一体化系统。
3.1.2经济可行性
在评估基于B/S架构的门禁与考勤一体化系统的设计与实现时,经济可行性是不可忽视的一环。首先由于采用B/S架构,企业能够大幅减少客户端软件的部署和维护成本,因为用户仅需通过浏览器即可访问系统,无需安装额外软件。系统的集中式管理减少了对IT支持的需求,降低了人力成本。通过提高工作效率、减少人为错误以及提供数据驱动的决策支持,该系统有助于提升企业的整体经济效益,实现资源的最佳配置,并促进可持续发展。
3.1.3操作可行性
该系统设计旨在提供一个用户友好的界面,使普通员工能够轻松进行打卡签到、查看个人考勤记录及提交各类申请。通过直观的操作流程和清晰的指引,即使是技术不熟练的用户也能快速上手。对于管理员而言,系统的集中管理功能简化了日常任务,如处理用户反馈、审核申请以及监控系统状态等。系统提供的详细帮助文档和技术支持进一步降低了使用门槛。由于所有操作均可通过网络浏览器完成,无需复杂的安装过程或特定硬件设备,极大地提升了使用的便捷性和灵活性。这使得不同规模的企业都能高效地部署和应用该系统。
3.2系统功能需求
B/S的门禁与考勤一体化系统包含普通用户和管理员二个角色划分,每个角色对应的主要功能如下:
3.2.1普通用户主要功能
- 首页:展示的是轮播图、企业资讯、门禁设施等推荐
- 用户注册:点击注册,进入注册页面,填写相关账号、密码、确认密码、昵称、邮箱、用户姓名、用户性别、用户电话、选择身份等字段信息,点击下方注册按钮,提示注册成功后,系统将自动跳转回到登录页面。
- 用户登录:首先点击“登录”按钮,输入账号、密码、验证码点击登录按钮,登录时前端会自动校验用户名与密码,用户输入正确则登录成功,输入错误会有提示信息。
- 我的账户:显示用户个人资料,可以更换头像,编辑昵称、邮箱、名称等信息,点击提交,修改成功。修改密码:主要输入原密码、新密码,请确认密码后点击确认修改后提示修改成功跳转到登录页面,再次登录的话需要用新密码才能登录成功。
- 通知公告:主要展示后台管理员发布的公告信息和重要通知。
- 企业资讯:主要展示后台发布的有关的企业资讯信息。点击信息可点赞、收藏、发表评论等操作。
- 用户反馈:提交门禁与考勤体验问题,提出改进建议,确保反馈精准传达至管理员进行处理。
- 门禁设施:主要展示后台发布的门禁设施。用户可浏览门禁设施详情,用户浏览到感兴趣的门禁设施可点击“申请”,申请需后台管理员审核通过才能使用门禁设施。点击信息可点赞、收藏、发表评论等操作。
- 个人中心:包含个人首页、打卡签到、考勤记录、申请信息和收藏等。打卡签到:主要展示该用户的日常打卡签到,实时记录出勤情况,支持多种签到方式,确保考勤数据准确无误。考勤记录:主要查看该用户的个人考勤记录,包括迟到、早退、缺勤情况,便于自我管理与核对。并且可在该功能申请请假。请假需管理员审核通过才能请假成功。申请信息:主要实时查看该用户的申请设施的审核状态。收藏:用户可收藏自己感兴趣的门禁设施信息,放到自己的收藏夹方便自己下次浏览申请。
3.2.2管理员主要功能
- 管理员登录:首先点击“登录”按钮,输入账号、密码、验证码点击登录按钮,登录时前端会自动校验用户名与密码以及上传头像验证,用户输入正确则登录成功,输入错误会有提示信息。
- 后台首页:展示的是打卡签到统计和考勤记录统计等。
- 系统用户:管理员可以管理平台的所有系统用户,确保用户权限和信息的安全性。可进行增删改查等操作。
- 打卡签到管理:包含打卡签到列表和打卡签到添加功能。打卡签到列表:主要是管理打卡签到信息详情,可进行增删改查等操作。打卡签到添加:主要是添加新的打卡签到信息。
- 考勤记录管理:包含考勤记录列表和考勤记录添加功能。考勤记录列表:主要是管理考勤记录详情,审核用户的请假、加班等。可进行增删改查等操作。考勤记录添加:主要是添加新的考勤记录信息。
- 门禁设施管理:包含门禁设施列表和门禁设施添加功能。门禁设施列表:主要是管理门禁设施详情,可进行增删改查等操作。门禁设施添加:主要是添加新的门禁设施信息。
- 申请信息管理:管理员可管理用户的门禁设施信息申请请求,实时更新处理状态,确保流程高效、信息准确。可进行查询、删除、重置等操作。
- 系统管理:主要是轮播图管理:管理员可以管理平台首页的轮播图内容,提供宣传和推广信息,可进行增删改查等操作。添加的轮播图可在前台首页展示。
- 留言管理:主要管理收集并处理用户反馈,针对门禁与考勤系统的改进建议进行评估和实施,提升系统性能,可进行查询、删除、重置等操作。
- 通知公告管理:管理员可发布公告信息和重要通知,发布的公告信息可在前台首页展现,可进增删改查等操作。
- 资源管理:包含企业资讯信息和资讯分类等功能,企业资讯信息:管理员可查看添加企业资讯信息,可进行增删改查等操作。资讯分类:管理员可手动资讯分类信息,添加的信息都可在前台展示。
- 权限管理:管理所有用户的权限操作。
3.3非功能性需求分析
在B/S的门禁与考勤一体化系统的毕业设计中,非功能性需求分析是也是非常重要的。它主要关注性能、安全性、易用性、可靠性、可维护性等,这些特性对于确保系统的稳定运行和用户满意度至关重要。
表3-1 非功能性需求分析
| 序号 | 非功能性需求 | 需求要求 |
| 1 | 性能 | 系统需快速响应,处理大数据量时无明显延迟,确保高效运行 |
| 2 | 安全性 | 严格数据加密,防止信息泄露,提供权限管理,确保数据访问安全。 |
| 3 | 易用性 | 界面简洁明了,操作流程直观易懂,降低用户学习成本 |
| 4 | 可靠性 | 系统稳定运行,故障率低,数据备份恢复机制完善,保障业务连续性。 |
| 5 | 可维护性 | 模块化设计,代码清晰可读,便于后期维护与功能升级 |
3.4系统用户用例分析
3.4.1普通用户用例图
B/S的门禁与考勤一体化系统中普通用户包含注册、登录、我的账户、通知公告、企业资讯、用户反馈、门禁设施、个人中心等功能。普通用户用例图如下所示:
图3-1 普通用户用例图
3.4.2管理员用例图
B/S的门禁与考勤一体化系统中管理员包含登录、后台首页、系统用户、打卡签到管理、考勤记录管理、门禁设施管理、申请信息管理、系统管理、留言管理、通知公告管理、资源管理、权限管理等功能。管理员用例图如下所示:
图3-3 管理员用例图
3.5系统流程分析
3.5.1用户修改密码操作流程
所有用户可以我的账户信息页面,点击修改修改密码进行修改登录密码操作,修改密码流程如图所示:
图3-4 修改密码流程图
3.5.2用户登录操作流程
所有用户登录系统需要前端校验用户名、密码是否正确以及是否为空,具体流程图如图所示:
图3-3 用户登录流程图
3.5.3添加门禁设施信息流程
添加门禁设施,输入设施名称、设施类型、设施位置、设施图片等信息,并校验输入是否正确,门禁设施添加流程图,如图所示:
图3-5 门禁设施添加流程图
4.
系统设计
4.1功能模块设计
B/S的门禁与考勤一体化系统主要涉及有普通用户和管理二个角色,每个角色对应的功能模块如图4.1所示。
图4-1系统功能结构图
4.2数据库设计
4.2.1概念设计
B/S的门禁与考勤一体化系统中普通用户、管理员、门禁设施、 申请信息、打卡签到、考勤记录等E-R实体关系图
图4-2总体ER图
4.2.2逻辑设计
通过4.2小节B/S的门禁与考勤一体化系统中总E-R关系图上大概得出一共需要创建很多个数据表。在此主要罗列几个主要的数据库表结构设计。
介绍了一些根据各类别主要数据库表的设计结构以及基本功能建立数据库表:
表 4-1-access_control_facilities(门禁设施)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | access_control_facilities_id | int |
| 是 | 是 | 门禁设施ID |
| 2 | name_of_facility | varchar | 64 | 否 | 否 | 设施名称 |
| 3 | type_of_facility | varchar | 64 | 否 | 否 | 设施类型 |
| 4 | facility_location | varchar | 64 | 否 | 否 | 设施位置 |
| 5 | picture_of_facilities | varchar | 255 | 否 | 否 | 设施图片 |
| 6 | facility_information | text | 65535 | 否 | 否 | 设施信息 |
| 7 | access_information | text | 65535 | 否 | 否 | 门禁信息 |
| 8 | praise_len | int |
| 是 | 否 | 点赞数 |
| 9 | collect_len | int |
| 是 | 否 | 收藏数 |
| 10 | application_information_limit_times | int |
| 是 | 否 | 申请限制次数 |
| 11 | create_time | datetime |
| 是 | 否 | 创建时间 |
| 12 | update_time | timestamp |
| 是 | 否 | 更新时间 |
表 4-2-application_information(申请信息)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | application_information_id | int |
| 是 | 是 | 申请信息ID |
| 2 | name_of_facility | varchar | 64 | 否 | 否 | 设施名称 |
| 3 | type_of_facility | varchar | 64 | 否 | 否 | 设施类型 |
| 4 | facility_location | varchar | 64 | 否 | 否 | 设施位置 |
| 5 | ordinary_user | int |
| 否 | 否 | 普通用户 |
| 6 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
| 7 | user_phone | varchar | 64 | 否 | 否 | 用户电话 |
| 8 | application_time | date |
| 否 | 否 | 申请时间 |
| 9 | application_use | text | 65535 | 否 | 否 | 申请用途 |
| 10 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 11 | examine_reply | varchar | 255 | 否 | 否 | 审核回复 |
| 12 | create_time | datetime |
| 是 | 否 | 创建时间 |
| 13 | update_time | timestamp |
| 是 | 否 | 更新时间 |
| 14 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 15 | source_id | int |
| 否 | 否 | 来源ID |
| 16 | source_user_id | int |
| 否 | 否 | 来源用户 |
表 4-3-punch_in(打卡签到)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | punch_in_id | int |
| 是 | 是 | 打卡签到ID |
| 2 | ordinary_user | int |
| 否 | 否 | 普通用户 |
| 3 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
| 4 | user_phone | varchar | 64 | 否 | 否 | 用户电话 |
| 5 | clock_in_time | date |
| 否 | 否 | 打卡时间 |
| 6 | pin_in_picture | varchar | 255 | 否 | 否 | 打卡图片 |
| 7 | number_of_clock_in_times | varchar | 64 | 否 | 否 | 打卡次数 |
| 8 | create_time | datetime |
| 是 | 否 | 创建时间 |
| 9 | update_time | timestamp |
| 是 | 否 | 更新时间 |
表 4-4-attendance_record(考勤记录)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | attendance_record_id | int |
| 是 | 是 | 考勤记录ID |
| 2 | ordinary_user | int |
| 否 | 否 | 普通用户 |
| 3 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
| 4 | user_phone | varchar | 64 | 否 | 否 | 用户电话 |
| 5 | application_type | varchar | 64 | 否 | 否 | 申请类型 |
| 6 | application_time | date |
| 否 | 否 | 申请时间 |
| 7 | reason_for_application | text | 65535 | 否 | 否 | 申请理由 |
| 8 | create_time | datetime |
| 是 | 否 | 创建时间 |
| 9 | update_time | timestamp |
| 是 | 否 | 更新时间 |
表 4-5-ordinary_user(普通用户)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | ordinary_user_id | int |
| 是 | 是 | 普通用户ID |
| 2 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
| 3 | user_gender | varchar | 64 | 否 | 否 | 用户性别 |
| 4 | user_phone | varchar | 64 | 否 | 否 | 用户电话 |
| 5 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 6 | user_id | int |
| 是 | 否 | 用户ID |
| 7 | create_time | datetime |
| 是 | 否 | 创建时间 |
| 8 | update_time | timestamp |
| 是 | 否 | 更新时间 |
表 4-6-access_token(登陆访问时长)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | token_id | int |
| 是 | 是 | 临时访问牌ID |
| 2 | token | varchar | 64 | 否 | 否 | 临时访问牌 |
| 3 | info | text | 65535 | 否 | 否 | 信息 |
| 4 | maxage | int |
| 是 | 否 | 最大寿命:默认2小时 |
| 5 | create_time | timestamp |
| 是 | 否 | 创建时间 |
| 6 | update_time | timestamp |
| 是 | 否 | 更新时间 |
| 7 | user_id | int |
| 是 | 否 | 用户编号 |
表 4-7-article(文章)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | article_id | mediumint |
| 是 | 是 | 文章id |
| 2 | title | varchar | 125 | 是 | 是 | 标题 |
| 3 | type | varchar | 64 | 是 | 否 | 文章分类 |
| 4 | hits | int |
| 是 | 否 | 点击数 |
| 5 | praise_len | int |
| 是 | 否 | 点赞数 |
| 6 | create_time | timestamp |
| 是 | 否 | 创建时间 |
| 7 | update_time | timestamp |
| 是 | 否 | 更新时间 |
| 8 | source | varchar | 255 | 否 | 否 | 来源 |
| 9 | url | varchar | 255 | 否 | 否 | 来源地址 |
| 10 | tag | varchar | 255 | 否 | 否 | 标签 |
| 11 | content | longtext | 4294967295 | 否 | 否 | 正文 |
| 12 | img | varchar | 255 | 否 | 否 | 封面图 |
| 13 | description | text | 65535 | 否 | 否 | 文章描述 |
表 4-8-article_type(文章分类)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | type_id | smallint |
| 是 | 是 | 分类ID |
| 2 | display | smallint |
| 是 | 否 | 显示顺序 |
| 3 | name | varchar | 16 | 是 | 否 | 分类名称 |
| 4 | father_id | smallint |
| 是 | 否 | 上级分类ID |
| 5 | description | varchar | 255 | 否 | 否 | 描述 |
| 6 | icon | text | 65535 | 否 | 否 | 分类图标 |
| 7 | url | varchar | 255 | 否 | 否 | 外链地址 |
| 8 | create_time | timestamp |
| 是 | 否 | 创建时间 |
| 9 | update_time | timestamp |
| 是 | 否 | 更新时间 |
表 4-9-auth(用户权限管理)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | auth_id | int |
| 是 | 是 | 授权ID |
| 2 | user_group | varchar | 64 | 否 | 否 | 用户组 |
| 3 | mod_name | varchar | 64 | 否 | 否 | 模块名 |
| 4 | table_name | varchar | 64 | 否 | 否 | 表名 |
| 5 | page_title | varchar | 255 | 否 | 否 | 页面标题 |
| 6 | path | varchar | 255 | 否 | 否 | 路由路径 |
| 7 | parent | varchar | 64 | 否 | 否 | 父级菜单 |
| 8 | parent_sort | int |
| 是 | 否 | 父级菜单排序 |
| 9 | position | varchar | 32 | 否 | 否 | 位置 |
| 10 | mode | varchar | 32 | 是 | 否 | 跳转方式 |
| 11 | add | tinyint |
| 是 | 否 | 是否可增加 |
| 12 | del | tinyint |
| 是 | 否 | 是否可删除 |
| 13 | set | tinyint |
| 是 | 否 | 是否可修改 |
| 14 | get | tinyint |
| 是 | 否 | 是否可查看 |
| 15 | field_add | text | 65535 | 否 | 否 | 添加字段 |
| 16 | field_set | text | 65535 | 否 | 否 | 修改字段 |
| 17 | field_get | text | 65535 | 否 | 否 | 查询字段 |
| 18 | table_nav_name | varchar | 500 | 否 | 否 | 跨表导航名称 |
| 19 | table_nav | varchar | 500 | 否 | 否 | 跨表导航 |
| 20 | option | text | 65535 | 否 | 否 | 配置 |
| 21 | create_time | timestamp |
| 是 | 否 | 创建时间 |
| 22 | update_time | timestamp |
| 是 | 否 | 更新时间 |
表 4-10-code_token(验证码)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | code_token_id | int |
| 是 | 是 | 验证码ID |
| 2 | token | varchar | 255 | 否 | 否 | 令牌 |
| 3 | code | varchar | 255 | 否 | 否 | 验证码 |
| 4 | expire_time | timestamp |
| 是 | 否 | 失效时间 |
| 5 | create_time | timestamp |
| 是 | 否 | 创建时间 |
| 6 | update_time | timestamp |
| 是 | 否 | 更新时间 |
表 4-11-collect(收藏)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | collect_id | int |
| 是 | 是 | 收藏ID |
| 2 | user_id | int |
| 是 | 是 | 收藏人ID |
| 3 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 4 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 5 | source_id | int |
| 是 | 否 | 来源ID |
| 6 | title | varchar | 255 | 否 | 否 | 标题 |
| 7 | img | varchar | 255 | 否 | 否 | 封面 |
| 8 | create_time | timestamp |
| 是 | 否 | 创建时间 |
| 9 | update_time | timestamp |
| 是 | 否 | 更新时间 |
表 4-12-comment(评论)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | comment_id | int |
| 是 | 是 | 评论ID |
| 2 | user_id | int |
| 是 | 是 | 评论人ID |
| 3 | reply_to_id | int |
| 是 | 否 | 回复评论ID |
| 4 | content | longtext | 4294967295 | 否 | 否 | 内容 |
| 5 | nickname | varchar | 255 | 否 | 否 | 昵称 |
| 6 | avatar | varchar | 255 | 否 | 否 | 头像地址 |
| 7 | create_time | timestamp |
| 是 | 否 | 创建时间 |
| 8 | update_time | timestamp |
| 是 | 否 | 更新时间 |
| 9 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 10 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 11 | source_id | int |
| 是 | 否 | 来源ID |
表 4-13-hits(用户点击)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | hits_id | int |
| 是 | 是 | 点赞ID |
| 2 | user_id | int |
| 是 | 否 | 点赞人 |
| 3 | create_time | timestamp |
| 是 | 否 | 创建时间 |
| 4 | update_time | timestamp |
| 是 | 否 | 更新时间 |
| 5 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 6 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 7 | source_id | int |
| 是 | 否 | 来源ID |
表 4-14-message(留言板)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | message_id | int |
| 是 | 是 | 留言板ID |
| 2 | user_id | int |
| 是 | 否 | 用户ID |
| 3 | title | varchar | 64 | 否 | 否 | 标题 |
| 4 | content | longtext | 4294967295 | 是 | 否 | 内容 |
| 5 | nickname | varchar | 32 | 是 | 否 | 昵称 |
| 6 | avatar | varchar | 255 | 否 | 否 | 头像 |
| 7 | | varchar | 125 | 否 | 否 | 留言者邮箱 |
| 8 | phone | varchar | 11 | 否 | 否 | 留言者手机号码 |
| 9 | create_time | timestamp |
| 是 | 否 | 创建时间 |
| 10 | update_time | timestamp |
| 是 | 否 | 更新时间 |
| 11 | reply | longtext | 4294967295 | 否 | 否 | 回复 |
| 12 | reply_state | tinyint |
| 否 | 否 | 回复状态 |
表 4-15-notice(公告)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | notice_id | mediumint |
| 是 | 是 | 公告ID |
| 2 | title | varchar | 125 | 是 | 否 | 标题 |
| 3 | content | longtext | 4294967295 | 否 | 否 | 正文 |
| 4 | create_time | timestamp |
| 是 | 否 | 创建时间 |
| 5 | update_time | timestamp |
| 是 | 否 | 更新时间 |
表 4-16-praise(点赞)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | praise_id | int |
| 是 | 是 | 点赞ID |
| 2 | user_id | int |
| 是 | 是 | 点赞人 |
| 3 | create_time | timestamp |
| 是 | 否 | 创建时间 |
| 4 | update_time | timestamp |
| 是 | 否 | 更新时间 |
| 5 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 6 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 7 | source_id | int |
| 是 | 否 | 来源ID |
| 8 | status | tinyint |
| 是 | 否 | 点赞状态:1为点赞,0已取消 |
表 4-17-slides(轮播图)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | slides_id | int |
| 是 | 是 | 轮播图ID |
| 2 | title | varchar | 64 | 否 | 否 | 标题 |
| 3 | content | varchar | 255 | 否 | 否 | 内容 |
| 4 | url | varchar | 255 | 否 | 否 | 链接 |
| 5 | img | varchar | 255 | 否 | 否 | 轮播图 |
| 6 | hits | int |
| 是 | 否 | 点击量 |
| 7 | create_time | timestamp |
| 是 | 否 | 创建时间 |
| 8 | update_time | timestamp |
| 是 | 否 | 更新时间 |
表 4-18-upload(文件上传)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | upload_id | int |
| 是 | 是 | 上传ID |
| 2 | name | varchar | 64 | 否 | 否 | 文件名 |
| 3 | path | varchar | 255 | 否 | 否 | 访问路径 |
| 4 | file | varchar | 255 | 否 | 否 | 文件路径 |
| 5 | display | varchar | 255 | 否 | 否 | 显示顺序 |
| 6 | father_id | int |
| 否 | 否 | 父级ID |
| 7 | dir | varchar | 255 | 否 | 否 | 文件夹 |
| 8 | type | varchar | 32 | 否 | 否 | 文件类型 |
表 4-19-user(用户账户)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | user_id | int |
| 是 | 是 | 用户ID |
| 2 | state | smallint |
| 是 | 否 | 账户状态:(1可用|2异常|3已冻结|4已注销) |
| 3 | user_group | varchar | 32 | 否 | 否 | 所在用户组 |
| 4 | login_time | timestamp |
| 是 | 否 | 上次登录时间 |
| 5 | phone | varchar | 11 | 否 | 否 | 手机号码 |
| 6 | phone_state | smallint |
| 是 | 否 | 手机认证:(0未认证|1审核中|2已认证) |
| 7 | username | varchar | 16 | 是 | 否 | 用户名 |
| 8 | nickname | varchar | 16 | 否 | 否 | 昵称 |
| 9 | password | varchar | 64 | 是 | 否 | 密码 |
| 10 | | varchar | 64 | 否 | 否 | 邮箱 |
| 11 | email_state | smallint |
| 是 | 否 | 邮箱认证:(0未认证|1审核中|2已认证) |
| 12 | avatar | varchar | 255 | 否 | 否 | 头像地址 |
| 13 | open_id | varchar | 255 | 否 | 否 | 针对获取用户信息字段 |
| 14 | create_time | timestamp |
| 是 | 否 | 创建时间 |
表 4-20-user_group(用户组)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | group_id | mediumint |
| 是 | 是 | 用户组ID |
| 2 | display | smallint |
| 是 | 否 | 显示顺序 |
| 3 | name | varchar | 16 | 是 | 否 | 名称 |
| 4 | description | varchar | 255 | 否 | 否 | 描述 |
| 5 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 6 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 7 | source_id | int |
| 是 | 否 | 来源ID |
| 8 | register | smallint |
| 否 | 否 | 注册位置 |
| 9 | create_time | timestamp |
| 是 | 否 | 创建时间 |
| 10 | update_time | timestamp |
| 是 | 否 | 更新时间 |
5.
系统实现
5.1注册用户主要功能实现
5.1.1用户注册
用户注册:点击注册,进入注册页面,填写相关账号、密码、确认密码、昵称、邮箱、用户姓名、用户性别、用户电话、选择身份等字段信息,点击下方注册按钮,提示注册成功后,系统将自动跳转回到登录页面。注册界面如下图所示。
图5-1 注册界面
关键代码:
5.1.2用户登录
用户登录:首先点击“登录”按钮,输入账号、密码、验证码点击登录按钮,登录时前端会自动校验用户名与密码,用户输入正确则登录成功,输入错误会有提示信息。登录界面如下图所示。
图5-2 登录界面
关键代码:
5.1.3企业资讯
企业资讯:主要展示后台发布的有关的企业资讯信息。点击信息可点赞、收藏、发表评论等操作。企业资讯界面如下图所示。
图5-3 企业资讯界面
关键代码:
5.1.4门禁设施
门禁设施:主要展示后台发布的门禁设施。用户可浏览门禁设施详情,浏览到感兴趣的门禁设施可点击“申请”,申请需后台管理员审核通过才能使用门禁设施。点击信息可点赞、收藏、发表评论等操作。门禁设施界面如下图所示。
图5-4门禁设施界面
5.1.5个人中心
个人中心:包含个人首页、打卡签到、考勤记录、申请信息和收藏等。打卡签到:主要展示该用户的日常打卡签到,实时记录出勤情况,支持多种签到方式,确保考勤数据准确无误。考勤记录:主要查看该用户的个人考勤记录,包括迟到、早退、缺勤情况,便于自我管理与核对。并且可在该功能申请请假。请假需管理员审核通过才能请假成功。申请信息:主要实时查看该用户的申请设施的审核状态。收藏:用户可收藏自己感兴趣的门禁设施信息,放到自己的收藏夹方便自己下次浏览申请。打卡签到和考勤记录界面如下图所示。
图5-5打卡签到界面
图5-6考勤记录界面
5.2管理员主要功能实现
5.2.1后台首页
后台首页:展示的是打卡签到统计和考勤记录统计等。后台首页界面如下图所示。
图5-7后台首页界面
5.2.2打卡签到管理
打卡签到管理:包含打卡签到列表和打卡签到添加功能。打卡签到列表:主要是管理打卡签到信息详情,可进行增删改查等操作。打卡签到添加:主要是添加新的打卡签到信息。打卡签到管理界面如下图所示。
图5-8打卡签到管理界面
关键代码:
5.2.3考勤记录管理
考勤记录管理:包含考勤记录列表和考勤记录添加功能。考勤记录列表:主要是管理考勤记录详情,审核用户的请假、加班等。可进行增删改查等操作。考勤记录添加:主要是添加新的考勤记录信息。考勤记录管理界面如下图所示。
图5-9考勤记录管理界面
关键代码:
5.2.4门禁设施管理
门禁设施管理:包含门禁设施列表和门禁设施添加功能。门禁设施列表:主要是管理门禁设施详情,可进行增删改查等操作。门禁设施添加:主要是添加新的门禁设施信息。门禁设施管理如下图所示。
图5-10门禁设施管理界面
关键代码:
5.2.5申请信息管理
申请信息管理:管理员可管理用户的门禁设施信息申请请求,实时更新处理状态,确保流程高效、信息准确。可进行查询、删除、重置等操作。申请信息管理界面如下图所示。
图5-11申请信息管理界面
6.
系统测试
6.1测试目的
软件测试的目的是为了尽可能的发现系统功能中所存在的缺陷。系统测试是软件生命周期中必不可少的环节之一,它旨在验证整个软件系统是否满足需求规格说明书定义的要求。
6.2测试用例
用户登录功能测试:
表6-1 用户登录功能测试表
| 用例名称 | 普通用户登录系统 |
| 目的 | 测试用户通过正确的用户名和密码可否登录功能 |
| 前提 | 未登录的情况下 |
| 测试流程 | 1) 进入登录页面 2) 输入正确的用户名和密码 |
| 预期结果 | 用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入 |
| 实际结果 | 实际结果与预期结果一致 |
查看门禁设施功能测试:
表6-2 查看门禁设施功能测试表
| 用例名称 | 查看门禁设施 |
| 目的 | 测试查看门禁设施 |
| 前提 | 用户登录 |
| 测试流程 | 点击门禁设施按钮 |
| 预期结果 | 可以查看门禁设施 |
| 实际结果 | 实际结果与预期结果一致 |
管理员添加门禁设施测试:
表6-3 管理员添加门禁设施测试表
| 用例名称 | 管理员添加门禁设施测试用例 |
| 目的 | 测试管理员添加门禁设施功能 |
| 前提 | 管理员正常登录情况下 |
| 测试流程 | 1)点击门禁设施管理,点击门禁设施添加,点击添加按钮,输入相关门禁设施 2)点击进行提交。 |
| 预期结果 | 提交以后,该门禁设施显示在对应列表中 |
| 实际结果 | 实际结果与预期结果一致 |
门禁设施搜索功能测试:
表6-4门禁设施搜索功能测试表
| 用例名称 | 门禁设施搜索测试 |
| 目的 | 测试门禁设施搜索功能 |
| 前提 | 无 |
| 测试流程 | 1)在搜索框输入设施名称搜索关键字。 2)点击搜索按钮。 |
| 预期结果 | 页面显示包含有搜索关键字的门禁设施 |
| 实际结果 | 实际结果与预期结果一致 |
门禁设施删除功能测试:
表6-5门禁设施删除功能测试表
| 用例名称 | 门禁设施删除测试 |
| 目的 | 测试门禁设施删除功能 |
| 前提 | 管理员登录—》门禁设施管理—》门禁设施列表 |
| 测试流程 | 1)选择一个门禁设施。 2)点击删除按钮。 |
| 预期结果 | 提示删除成功,门禁设施列表不在展示该门禁设施 |
| 实际结果 | 实际结果与预期结果一致 |
密码修改功能测试:
表6-6密码修改功能测试表
| 用例名称 | 密码修改测试用例 |
| 目的 | 测试游注册用户密码修改功能 |
| 前提 | 普通用户正常登录情况下 |
| 测试流程 | 1)注册用户密码修改并完成填写。 2)点击进行提交。 |
| 预期结果 | 使用新的密码可以登录 |
| 实际结果 | 实际结果与预期结果一致 |
6.3测试结果
在本次主要测试普通用户登录、修改密码、查看门禁设施操作以及管理员添加、删除、修改门禁设施等业务流程操作。验证所有操作都能够正常运行,因此能够保证本次设计的,已实现的功能能够正常运行并且相关数据库的信息也同样保存正确。
结 论
至此,基于B/S架构的门禁与考勤一体化系统的设计与实现已接近完成。在项目初期,进行了广泛的调研和准备,包括深入研究相关文献和技术文档,从中获取了丰富的设计灵感和实用信息,为项目的顺利推进打下了坚实基础。选用的技术框架如Spring Boot和MySQL数据库等均基于以往的经验积累,这些技术不仅保证了数据处理和业务逻辑的高效执行,也极大地提升了系统的稳定性和安全性。尽管项目涉及的功能模块众多,但得益于前期充分的准备工作,整个开发流程较为顺畅。
系统前端界面采用现代Web技术构建,提供了简洁直观的操作体验,使用户能够方便快捷地进行打卡签到、查看考勤记录及提交申请等操作。管理员则可以通过后台管理系统高效地处理用户反馈、审核各类申请以及监控系统运行状态。尽管该系统已经具备了一定的功能和性能,但仍存在改进空间。受限于当前技术水平,系统在某些方面可能尚存不足。展望未来,计划进一步优化系统功能和用户体验,以更好地满足企业和员工的需求,提高管理效率和服务质量。这不仅是对所学知识的一次实际应用,也为未来的技术探索和发展奠定了基础。
致 谢
在设计与实现基于B/S架构的门禁与考勤一体化系统的过程中,我获得了来自各方的支持与帮助,在此深表感谢。特别要感谢我的指导老师,他们在项目的重要阶段提供了宝贵的建议和方向指引,无论是在技术挑战还是设计理念上都给予了巨大的支持,确保了项目的顺利推进。我也感激那些分享深刻见解和技术细节的文献作者们,他们的研究成果为我提供了坚实的理论基础,并启发了我在开发过程中的创新思维和解决方案。我要向我的家人表达最深切的感激之情,是他们的理解、鼓励和支持赋予了我克服重重困难的决心和动力,使我能够顺利完成这个项目。向所有给予我帮助和支持的朋友和同事们致以诚挚的谢意,正是你们的陪伴与共同努力,使得这一系统从构思变为现实,完成了这段富有意义的开发旅程。谢谢你们。
参考文献
- 裴鸿雁. 高校门禁考勤管理系统研究与设计[D]. 内蒙古大学, 2014.
- 李宏坤,郑光勇,谢舞,等. 基于spring boot框架的公司考勤系统的研究与设计 [J]. 电脑知识与技术, 2019, 15 (18): 55-56. DOI:10.14004/j.cnki.ckt.2019.1949.
- 黎焕. 基于B/S的门禁管理系统的设计与实现;基于B/S的门禁管理系统的设计与实现[D]. 中山大学, 2014.
- 汪涛. 基于SpringBoot和人脸识别的企业考勤管理系统设计与实现[D]. 阜阳师范大学, 2023. DOI:10.27846/d.cnki.gfysf.2023.000144.
- 马安琪,朱洪军,阮奇. 基于Spring Boot和人脸识别的考勤系统的设计和实现 [J]. 电子元器件与信息技术, 2021, 5 (07): 28-30. DOI:10.19772/j.cnki.2096-4455.2021.7.014.
- 马若鹏. 基于微信小程序的实验室考勤管理系统的设计与实现[D]. 华中科技大学, 2021. DOI:10.27157/d.cnki.ghzku.2021.005867.
- 胡胜丰,康美林. 高校学生考勤统计分析系统设计 [J]. 电脑编程技巧与维护, 2021, (10): 13-15. DOI:10.16184/j.cnki.comprg.2021.10.004.
- 何鹏举,徐荣青,郭振宇,等. 基于B/S的智能防盗门禁系统的设计 [J]. 单片机与嵌入式系统应用, 2016, 16 (10): 47-50.
- 冯德尹. 基于B/S架构的实验室门禁管理系统设计 [J]. 电脑编程技巧与维护, 2014, (16): 59-61. DOI:10.16184/j.cnki.comprg.2014.16.038.
- 李鸿. 开放型实验室网络门禁考勤管理系统设计 [J]. 电脑与信息技术, 2008, 16 (06): 60-62+72. DOI:10.19414/j.cnki.1005-1228.2008.06.018.
- 邱翔飘. 基于B/S的监狱门禁管理系统的设计与实现[D]. 中山大学, 2014.
- 赵云鹏. 基于C/S和B/S的指纹出入管理系统的设计与实现[D]. 安徽理工大学, 2010.
- 吴雨桐,王娜. 基于Spring Boot的OA办公系统设计与实现 [J]. 山西电子技术, 2024, (03): 79-83+123.
- Liu Y . Design and Implementation of a Student Attendance Management System based on Springboot and Vue Technology [J]. Frontiers in Computing and Intelligent Systems, 2024, 8 (1): 91-97.
- Smolik B ,Wójcikowska S M . Correction: Smolik, B.; Sędzik-Wójcikowska, M. Examining Nicotinamide Application Methods in Alleviating Lead-Induced Stress in Spring Barley. Agronomy 2024, 14, 1314 [J]. Agronomy, 2024, 14 (12): 3069-3069.
- Kaliluthin K A ,Vimala M ,Kumar R M , et al. An examination of the grid‐tied solar photovoltaic energy system installed at the B. S. Abdur Rahman Crescent Institute of Science and Technology in India [J]. Environmental Progress & Sustainable Energy, 2025, 44 (2): e14576-e14576.
- 金怿. 基于深度学习的小区防疫智能门禁系统设计与实现[D]. 东南大学, 2023. DOI:10.27014/d.cnki.gdnau.2023.003321.
- 房桂梅. H企业考勤系统开发[D]. 山东大学, 2021. DOI:10.27272/d.cnki.gshdu.2021.006226.
- 田路强,栗佩康,宁君宇. 基于Spring的门禁系统架构设计与实现 [J]. 科技风, 2020, (17): 9. DOI:10.19392/j.cnki.1671-7341.202017008.
- 王瑞锋,胡聪聪. 学生出入管理云平台设计与实现 [J]. 信息技术与信息化, 2017, (03): 21-24.









