摘要
门禁管理系统可以控制人员的出入,还可以控制人员在楼内及敏感区域的行为并准确记录和统计管理数据的数字化出入控制系统。它主要解决了企事业单位、学校、社区、办公室等重要场所的安全问题。在楼门口、电梯等处安装控制装置,例如 门禁控制器、密码键盘等。住户要想进入,必须有卡或输入正确的密码,或按专用生物密码才能获准通过。门禁管理系统可有效管理门的开启与关闭,保证授权人员自由出入,限制未授权人员进入。本文首先研究并介绍国内外目前的背景和现状,在此基础上给出论文的主要研究内容,其次,对企业门禁管理系统的需求进行了分析。再次,对企业门禁管理系统进行了总体设计,根据其总体设计、软件架构和总体功能模块进行了详细设计,作出了业务流程图以及数据流程图。总体上把系统分为用户和管理员两种角色,用户主要负责用户注册、用户登录、我的申请、我的门禁申请、刷卡开门、人脸识别开门、修改密码;管理员角色主要负责了用户管理、区域管理、安全门管理、申请审核、门禁申请审核、开门历史记录、修改密码等最后根据详细设计的结果,运用JavaEE技术平台,使用更灵活的B/S开发模式和经典的SSM组合框架实现系统的MVC分层架构,并结合MySQL数据库实现了企业门禁管理系统的信息化管理,并列出核心代码和部分主要页面。还对系统的核心功能就行了压力测试。
关键词:门禁管理;人脸识别;SSM;MySQL
3.2.1功能需求
企业门禁管理系统分为了用户和管理员两种角色,其中
用户模块:
(1)用户注册:不是本系统的用户可以在线注册拥有自己的账户;
(2)用户登录:正式用户可以登录使用本系统;
(3)我的申请:可以查看到自己以为的申请记录;
(4)门禁申请:可以申请门禁;
(5)我的门禁申请:可以查看到自己以往申请的门禁申请记录;
(6)刷卡开门:可以用刷卡形式开门;
(7)人脸识别开门:可以用自己的人脸进行识别开门;
管理员模块:
(1)用户管理:可以对注册的用户信息进行审核和管理;
(2)区域管理:可以对区域信息进行管理;
(3)安全门管理:可以对连接2个区域的安全们信息进行管理;
(4)申请审核:可以对用户的申请进行审核;
(5)门禁申请审核:可以对用户提交的门禁申请进行审核;
(6)开门记录:可以查看到所有开门记录信息;
3.3用例分析
其中用户角色主要包括用户注册、用户登录、我的申请、门禁申请、我的门禁申请、刷卡开门、人脸识别开门、修改密码等。
管理员角色主要包括用户管理、区域管理、安全门管理、申请审核、门禁申请审核、开门记录等。
4.1系统总体模块设计
根据前面的分析研究,企业门禁管理系统的功能性需求可大致分为前台和后台两大部分。
4.2.2物理设计
根据本系统主要功能模块需求,下面主要介绍数据库中核心的几个数据表内容。
(1)用户表:用于存储系统中用户的所有信息,具体内容如下表4-1所示。
表4-1用户users表
字段名称 | 字段意义 | 字段类型 | 是否主键 | 是否外键 | 能否为空 |
id | 主键编号 | int(10) | 是 | 否 | 否 |
username | 用户名 | varchar(200) | 否 | 否 | 否 |
password | 密码 | varchar(200) | 否 | 否 | 否 |
name | 姓名 | varchar(200) | 否 | 否 | 否 |
tel | 电话 | varchar(200) | 否 | 否 | 否 |
| 邮箱 | varchar(200) | 否 | 否 | 否 |
status | 审核状态 | varchar(200) | 否 | 否 | 否 |
time | 注册时间 | varchar(200) | 否 | 否 | 否 |
isadmin | 创建日期 | datetime | 否 | 否 | 否 |
(2)区域表:用于存储系统中企业区域信息。
表4-2区域信息area表
字段名称 | 字段意义 | 字段类型 | 是否主键 | 是否外键 | 能否为空 |
id | 主键编号 | int(10) | 是 | 否 | 否 |
name | 名称 | varchar(200) | 否 | 否 | 否 |
address | 地点 | varchar(200) | 否 | 否 | 否 |
levels | 安全级别 | varchar(200) | 否 | 否 | 否 |
(3)安全门表:用于存储系统中企业的安全门信息。
表4-3安全门信息door表
字段名称 | 字段意义 | 字段类型 | 是否主键 | 是否外键 | 能否为空 |
id | 主键编号 | int(11) | 是 | 否 | 否 |
areaid1 | 区域1 | int(11) | 否 | 否 | 否 |
areaid2 | 区域2 | int(11) | 否 | 否 | 否 |
(4)申请表:用于存储系统中用户申请信息。
表4-4申请信息access表
字段名称 | 字段意义 | 字段类型 | 是否主键 | 是否外键 | 能否为空 |
id | 主键编号 | int(11) | 是 | 否 | 否 |
userid | 用户ID | int(11) | 否 | 是 | 否 |
type | 申请类型 | varchar(255) | 否 | 否 | 否 |
reason | 申请原因 | varchar(255) | 否 | 否 | 否 |
date | 申请时间 | varchar(255) | 否 | 否 | 否 |
status | 申请状态 | varchar(255) | 否 | 否 | 否 |
(5)门禁申请表:用于存储系统中门禁申请信息。
表4-5 门禁申请信息userdoor表
字段名称 | 字段意义 | 字段类型 | 是否主键 | 是否外键 | 能否为空 |
id | 主键编号 | int(11) | 是 | 否 | 否 |
userid | 用户ID | int(11) | 否 | 是 | 否 |
doorid | 安全门ID | int(11) | 否 | 是 | 否 |
status | 申请状态 | varchar(255) | 否 | 否 | 否 |
(6)开门记录表:用于存储系统中用户开门记录信息。
表4-6 开门记录信息history表
字段名称 | 字段意义 | 字段类型 | 是否主键 | 是否外键 | 能否为空 |
id | 主键编号 | int(11) | 是 | 否 | 否 |
userid | 用户ID | int(11) | 否 | 是 | 否 |
doorid | 安全门ID | int(11) | 否 | 是 | 否 |
date | 开门时间 | varchar(255) | 否 | 否 | 否 |