大型公司门禁系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
指纹验证
对象关系:
门禁系统包含:电子门、输入设备、计算机
访客 extends
雇员
extends 管理员
验证接口
implements 默认实现
extends
extends
密码验证
指纹识别 胸卡验证
门禁系统工作分3步:
– 第一步:检查输入设备的输入缓存
如果有输入且输入信息存在,开启电子门 输入是否正确由计算机类调用验证接口的相关方法判断
forf(oinrt(ii=n0ft;oii<=r1(00i0n;;iti<+i+1=)0{00;i;<i+1+0)0{;i++){
if(thiitSsfh.y(fitsisnht.efgiimentshrg..iMoceifusra(aMtt.rr.chpkdara[iri[isnkr]it=.dt[]hpli==n][ia=n(is="]fsu.增i=npsnllWgcua)加{easlrlos指rM)dWr{a纹d;ro[k"i;r+]d=fi[n=ig]ne=ruMplala)sr{ks+W"成o功rd!; ");
提示用户输入,并把输入信息保存到输入缓存中
• 计算机类 : Computer.java
用于存储和验证密码,胸卡,指纹。
• 门禁系且可统以增类加:密码C,o胸n卡tr,o指lS纹ys.java
包含计算机,电子门,输入设备,门铃,开门信号,日志 使用LOG4J输入,记录日志信息
user包中的类:
• 访客类: Guest.java
– 第二步:检查开门信号
如果收到开门信号,开启电子门
– 第三步:电子门开启状态维持5秒后关闭电子门
//如果电子门已开启,维持5秒,关闭电子门 java.lang.Thread.sleep(5000); // 程序暂停5000毫秒
输入设备类模拟输入各种验证信息:
1.密码、胸卡、指纹都以字符串形式从控制台输入:
访客有姓名属性,按门铃方法
• 雇员类:Employee.java
继承自访客,增加了输入验证信息的方法,该方法需要使用输入设备的输 入方法
• 管理员类: Admin.java
1.继承自雇员,增加3个方法。 2.管理员可以向门禁发出开门信号。 3.监听门铃:该方法将调用管理员通过监控室按钮开门的方法, 4.添加验证信息:valType为 pa, ca, fi。valStr为验证信息, 2,3,4分别调用计算机类的work()方法的参数为1,2,3个的
其它的适用场合:
• 如学校的电子门门禁系统等需求验证才能 进入的电子门
适用对象:
• 管理员开启电子门 • 雇员通过验证进入 • 访客向管理员请求进入
应用对象(类):
– 门禁系统包括:电子门、计算机、输入设备 – 门禁系统使用者包括:管理员、 雇员、 访客 – 验证身份有3种方法:密码验证、胸卡验证、
系统所用包:
– sys包:放置门禁系统相关类 – user包:放置访客、雇员、管理员类 – validate包:放置验证身份的接口及其实 现
类 – test包:放置测试类 – 导入日志包
sys包中的类:
• 电子门类 : Door.java
对电子门的开启
• 输入设备类 : InputEquip.java
validate包中的类:
• 验证接口 :Validate.java
定义一个验证方法
• 实现接口 :GenericValidate.java
默认实现验证接口中的验证方法,
• 密码验证 :PassWordVld.java
验证密码是否正确
• 胸卡验证 :CardVld.java
验证胸卡是否正确
• 指纹验证 :FingerMarkVld.java
谢 谢!
1、密码以“pa”开头 2、胸卡以“ca”开头 3、指纹以“fi”开头
2.输入的验证信息保存在输入设备的缓存中
private String input = null; // 输入设备缓存
用户级别:
访客 雇员 管理员
只能按门铃 extends
可以输入验证信息 extends
可以直接开启电子门,监控门铃
验证指纹是否正确
test包中的类:
雇员验证 :EmployeeTest.java
用于测试门禁系统的雇员验证是否正常运行
管理员验证 :AdminTest.java
用于测试门禁系统的管理员验证是否正常运行
访客验证 :GuesTest.java
用于测试门禁系统的访客验证是否正常运行
验证 :Test.java
用于测试整个门禁系统是否正常运行
日志包:
• 用于记录日志,基本日志信息包括电子门 开启、关闭、谁通过电子门、验证成功或 失败。在有必要记录日志的地方,尽可能 的多地输出想要保存的信息。
为新雇员设置密码、胸卡、指纹
////增增加加指胸//增纹卡加密码 ppuubblilcicvovpidouibaddldiacFdinvdgoeCirdMaraadrdk((dSSPttrraiinnsgsgfWincgoaerrrddM)(a{Srktr){ing passWord){
目的:
• 为某公司安装了电子门,而设计的门禁系 统
• MyEclipse7.0
开发工具
实现功能:
• 公司的雇员可以凭借密码、胸卡、指纹进入公司 • 计算机根据雇员的输入方式对其身份进行验证 • 管理员在监控室可以直接开启电子门 • 访客按门铃请求进入,由管理 员为其放行 • 管理员可以为新雇员设置密码
breakS; ystemS.oyustt.epmri.notulnt.(p"r增int加ln胸("增卡加"+密ca码rd+"成功!");
}
}
"}+passWbroeradk+;"成功!");
}
break;
}
}
Biblioteka Baidu
}
}
}
开发中遇到的困难:
• 输入类中的缓存中信息会在调用中被清空。 • 解决方法:用构造函数传递信息的副本
相关文档
最新文档