欢迎来到天天文库
浏览记录
ID:41225621
大小:222.06 KB
页数:20页
时间:2019-08-19
《大型公司门禁系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、门禁系统的面向对象设计项目答辩制作者:李伟目的:为某公司安装了电子门,而设计的门禁系统开发工具MyEclipse7.0实现功能:公司的雇员可以凭借密码、胸卡、指纹进入公司计算机根据雇员的输入方式对其身份进行验证管理员在监控室可以直接开启电子门访客按门铃请求进入,由管理员为其放行管理员可以为新雇员设置密码其它的适用场合:如学校的电子门门禁系统等需求验证才能进入的电子门适用对象:管理员开启电子门雇员通过验证进入访客向管理员请求进入应用对象(类):门禁系统包括:电子门、计算机、输入设备门禁系统使用者包括:管理员、雇员、访客验证身份有3种方法:密码验证、胸卡验证、指纹验证对象关
2、系:管理员雇员访客验证接口默认实现指纹识别密码验证胸卡验证extends门禁系统包含:电子门、输入设备、计算机implementsextendsextendsextends门禁系统工作分3步:如果有输入且输入信息存在,开启电子门输入是否正确由计算机类调用验证接口的相关方法判断如果收到开门信号,开启电子门//如果电子门已开启,维持5秒,关闭电子门java.lang.Thread.sleep(5000);//程序暂停5000毫秒第一步:检查输入设备的输入缓存第二步:检查开门信号第三步:电子门开启状态维持5秒后关闭电子门输入设备类模拟输入各种验证信息:1.密码、胸卡、指纹都以字
3、符串形式从控制台输入:1、密码以“pa”开头2、胸卡以“ca”开头3、指纹以“fi”开头2.输入的验证信息保存在输入设备的缓存中privateStringinput=null;//输入设备缓存用户级别:管理员雇员访客extendsextends只能按门铃可以输入验证信息可以直接开启电子门,监控门铃系统所用包:sys包:放置门禁系统相关类user包:放置访客、雇员、管理员类validate包:放置验证身份的接口及其实现类test包:放置测试类导入日志包sys包中的类:电子门类:Door.java输入设备类:InputEquip.java计算机类:Computer.jav
4、a门禁系统类:ControlSys.java对电子门的开启提示用户输入,并把输入信息保存到输入缓存中用于存储和验证密码,胸卡,指纹。且可以增加密码,胸卡,指纹包含计算机,电子门,输入设备,门铃,开门信号,日志使用LOG4J输入,记录日志信息user包中的类:访客类:Guest.java雇员类:Employee.java管理员类:Admin.java访客有姓名属性,按门铃方法继承自访客,增加了输入验证信息的方法,该方法需要使用输入设备的输入方法1.继承自雇员,增加3个方法。2.管理员可以向门禁发出开门信号。3.监听门铃:该方法将调用管理员通过监控室按钮开门的方法,4.添加验
5、证信息:valType为pa,ca,fi。valStr为验证信息,2,3,4分别调用计算机类的work()方法的参数为1,2,3个的validate包中的类:验证接口:Validate.java实现接口:GenericValidate.java密码验证:PassWordVld.java胸卡验证:CardVld.java指纹验证:FingerMarkVld.java定义一个验证方法默认实现验证接口中的验证方法,验证密码是否正确验证胸卡是否正确验证指纹是否正确test包中的类:雇员验证:EmployeeTest.java管理员验证:AdminTest.java访客验证:Gue
6、sTest.java验证:Test.java用于测试门禁系统的雇员验证是否正常运行用于测试门禁系统的管理员验证是否正常运行用于测试门禁系统的访客验证是否正常运行用于测试整个门禁系统是否正常运行日志包:用于记录日志,基本日志信息包括电子门开启、关闭、谁通过电子门、验证成功或失败。在有必要记录日志的地方,尽可能的多地输出想要保存的信息。为新雇员设置密码、胸卡、指纹//增加密码publicvoidaddPassWord(StringpassWord){for(inti=0;i<100;i++){if(this.passWord[i]==null){this.passWord[i
7、]=passWord;System.out.println("增加密码"+passWord+"成功!");break;}}}//增加指纹publicvoidaddFingerMark(StringfingerMark){for(inti=0;i<100;i++){if(this.fingerMark[i]==null){this.fingerMark[i]=fingerMark;System.out.println("增加指纹"+fingerMark+"成功!");break;}}}//增加胸卡publicvoidaddCar
此文档下载收益归作者所有