17-门禁系统的面向对象设计-项目进阶练习电子课件 Java应用程序设计——从模型到代码.ppt
-
资源ID:90570617
资源大小:959.50KB
全文页数:48页
- 资源格式: PPT
下载积分:20金币
快捷下载

会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
17-门禁系统的面向对象设计-项目进阶练习电子课件 Java应用程序设计——从模型到代码.ppt
北京电子科技职业学院门禁系统的面向对象设计北京电子科技职业学院 问题描述某公司安装了电子门,要设计门禁系统:某公司安装了电子门,要设计门禁系统:公司的雇员可以凭借密码、胸卡或指纹进入公司公司的雇员可以凭借密码、胸卡或指纹进入公司计算机根据雇员的验证方式对其身份进行验证计算机根据雇员的验证方式对其身份进行验证 管理员在监控室可以通过按钮直接开启电子门管理员在监控室可以通过按钮直接开启电子门访客可以按门铃请求进入,由管理员为其放行访客可以按门铃请求进入,由管理员为其放行管理员可以为新职员设置密码管理员可以为新职员设置密码北京电子科技职业学院问题分析-1 根据需求分析对象根据需求分析对象 门禁系统、电子门、计算机、输入设备门禁系统、电子门、计算机、输入设备管理员、管理员、雇员、雇员、访客访客验证接口、验证实现验证接口、验证实现北京电子科技职业学院问题分析-2对象关系对象关系管理员管理员雇员雇员访客访客验证接口验证接口默认实现默认实现指纹识别指纹识别密码验证密码验证胸卡验证胸卡验证extends门禁系统包含:电子门、输入设备、计算机门禁系统包含:电子门、输入设备、计算机implementsextendsextendsextends北京电子科技职业学院难点分析-1q门禁系统类:ControlSysq包含属性:电子门对象、计算机对象、输入设备对象、门铃、开门信号、日志对象q包含方法:工作方法privateDoordoor;/门门禁系禁系统统的的电电子子门门privateComputercomputer;/门门禁系禁系统统的的计计算机算机privateInputEquipinputEquip;/门门禁系禁系统统的的输输入入设备设备privateintring;/门铃门铃,0为为安静,安静,1为鸣为鸣响响privateintopenSign;/开开门门信号,由管理信号,由管理员员按下按按下按钮时产钮时产生生privateLoggerlogger;/日志日志publicvoidwork()北京电子科技职业学院难点分析-2q门禁系统工作分3步:q第一步:检查输入设备的输入缓存q第二步:检查开门信号q第三步:电子门开启状态维持5秒后关闭电子门如果有输入且输入信息存在,开启电子门如果有输入且输入信息存在,开启电子门输入是否正确由计算机类调用验证接口的相关方法判断输入是否正确由计算机类调用验证接口的相关方法判断如果收到开门信号,开启电子门如果收到开门信号,开启电子门/如果电子门已开启,维持如果电子门已开启,维持5秒,关闭电子门秒,关闭电子门java.lang.Thread.sleep(5000);/程序暂停程序暂停5000毫秒毫秒北京电子科技职业学院难点分析-3q输入设备类模拟输入各种验证信息:q密码、胸卡、指纹都以字符串形式从控制台输入:1、密码以“pa”开头2、胸卡以“ca”开头3、指纹以“fi”开头输入的验证信息保存在输入设备的缓存中门禁系统保存的验证信息不以上述字符开头验证时使用String类的方法解析字符串java.lang.String.substring(intbeginIndex,intendIndex)java.lang.String.substring(intbeginIndex)privateStringinput=null;/输输入入设备缓设备缓存存北京电子科技职业学院难点分析-4q用户级别管理员管理员雇员雇员访客访客extendsextends只能按门铃只能按门铃可以输入验证信息可以输入验证信息可以直接开启电子门,监控门铃可以直接开启电子门,监控门铃北京电子科技职业学院难点分析-5q验证q验证接口定义验证方法q编写默认的实现类:GenericValidateq具体的验证类继承默认的实现类publicbooleancheck();/定定义验证义验证方法方法privateObjectinner;/系系统统保存的身份信息保存的身份信息privateObjectinput;/需要需要验证验证的身份信息的身份信息publicclassPassWordVldextendsGenericValidatepublicclassFingerMarkVldextendsGenericValidatepublicclassCardVldextendsGenericValidate北京电子科技职业学院阶段划分q第一阶段(25分钟)q编写类:电子门、输入设备 q第二阶段(45分钟)q编写类:计算机、门禁系统q第三阶段(45分钟)q编写类:访客、雇员、管理员q第四阶段(25分钟)q编写类:验证接口、默认实现q第五阶段(35分钟)q编写类:密码验证、指纹验证、胸卡验证q第六阶段(15分钟)q编写类:测试雇员通过电子门q第七阶段(30分钟)q编写类:测试访客按门铃、管理员开启电子门北京电子科技职业学院第一阶段q第一阶段(25分钟)q利用Eclipse创建工程、项目所需包q编写类:电子门、输入设备q要求学员自己动手完成,教员巡视,解答学员提出的问题北京电子科技职业学院阶段检查q针对第一阶段抽查学员的操作结果q教员给出点评北京电子科技职业学院第一阶段标准代码演示q创建工程和包qsys包:放置门禁系统相关类quser包:放置访客、雇员、管理员类qvalidate包:放置验证身份的接口及其实现类qtest包:放置测试类q编写类:电子门类 Door.javaq编写类:输入设备类 InputEquip.java北京电子科技职业学院第二阶段q第二阶段(45分钟)q编写类:计算机、门禁系统q要求学员自己动手编写,教员巡视,解答学员提出的问题北京电子科技职业学院阶段检查q针对第二阶段抽查学员的编码结果q抽查学员编写的完整代码,要求学员上台讲解q教员给出点评或集中演示难点部分北京电子科技职业学院第二阶段标准代码演示q计算机类:Computer.javaq门禁系统类:ControlSys.java北京电子科技职业学院第三阶段q第三阶段(45分钟)q编写类:访客、雇员、管理员q要求学员自己动手编写,教员巡视,解答学员提出的问题北京电子科技职业学院阶段检查q针对第三阶段抽查学员的编码结果q抽查学员编写的完整代码,要求学员上台讲解q教员给出点评或集中演示难点部分北京电子科技职业学院第三阶段标准代码演示q访客类:Guest.javaq雇员类:Employee.javaq管理员:Admin.java北京电子科技职业学院第四阶段q第四阶段(25分钟)q编写类:验证接口、默认实现q要求学员自己动手编写,教员巡视,解答学员提出的问题北京电子科技职业学院阶段检查q针对第四阶段抽查学员的编码结果q抽查学员编写的完整代码,要求学员上台讲解,并演示运行结果q教员给出点评北京电子科技职业学院第四阶段标准代码演示q验证接口:Validate.javaq默认实现:GenericValidate.java/*-GenericValidate.java-*/privateObjectinner;privateObjectinput;/*比比较较方法的默方法的默认认的的实现实现,判断,判断输输入信息是否存在入信息是否存在*return比比较结较结果果*/publicbooleancheck()for(inti=0;ithis.getInner().length;i+)if(this.getInput()!=null&this.getInput().equals(this.getInner()i)returntrue;returnfalse;北京电子科技职业学院第五阶段q第五阶段(35分钟)q编写类:密码验证、指纹验证、胸卡验证q要求学员自己动手编写,教员巡视,解答学员提出的问题北京电子科技职业学院阶段检查q针对第五阶段抽查学员的编码结果q抽查学员编写的完整代码,要求学员上台讲解,并演示运行结果q教员给出点评北京电子科技职业学院第五阶段标准代码演示q密码验证:PassWordVld.javaq胸卡验证:CardVld.javaq指纹验证:FingerMarkVld.java北京电子科技职业学院第六阶段q第六阶段(15分钟)q编写类:测试雇员通过电子门q要求学员自己动手编写,教员巡视,解答学员提出的问题北京电子科技职业学院阶段检查q针对第六阶段抽查学员的编码结果q抽查学员编写的完整代码,要求学员上台讲解,并演示运行结果q教员给出点评北京电子科技职业学院第六阶段标准代码演示q测试雇员通过电子门:EmployeeTest.javapublicclassEmployeeTestpublicstaticvoidmain(Stringargs)Employeeemployee=newEmployee(雇雇员员a);/管理管理员员ControlSyscontrolSys=newControlSys();/门门禁系禁系统统System.out.println(门门禁系禁系统统-雇雇员测试员测试);System.out.println(*);while(true)employee.input(controlSys);controlSys.work();北京电子科技职业学院第七阶段q第七阶段(30分钟)q编写类:测试访客按门铃、管理员开启电子门q要求学员自己动手编写,教员巡视,解答学员提出的问题北京电子科技职业学院阶段检查q针对第七阶段抽查学员的编码结果q抽查学员编写的完整代码,要求学员上台讲解,并演示运行结果q教员给出点评北京电子科技职业学院第七阶段标准代码演示q测试访客:GuestTest.javaq测试管理员:AdminTest.javapublicclassGuestTestpublicstaticvoidmain(Stringargs)Guestguest=newGuest(赵赵强强);/访访客客员员Adminadmin=newAdmin(王石王石头头);/管理管理员员ControlSyscontrolSys=newControlSys();/门门禁系禁系统统System.out.println(门门禁系禁系统统-访访客客测试测试);System.out.println(*);while(true)guest.pressRing(controlSys);admin.work(controlSys,guest);controlSys.work();publicclassAdminTestpublicstaticvoidmain(Stringargs)Adminadmin=newAdmin(王哲王哲);/管理管理员员ControlSyscontrolSys=newControlSys();/门门禁系禁系统统System.out.println(门门禁系禁系统统-管理管理员测试员测试);System.out.println(*);while(true)admin.work(controlSys);controlSys.work();北京电子科技职业学院总结q巩固知识点:q 面向对象的特性:封装、继承、多态q 常量:必需的关键字-finalq 接口:定义接口、实现接口q 异常处理:try/catch/finallyq log4j:输出保存日志信息北京电子科技职业学院Sys包北京电子科技职业学院Sys 包北京电子科技职业学院Sys 包北京电子科技职业学院test 包北京电子科技职业学院test 包北京电子科技职业学院user包北京电子科技职业学院user包北京电子科技职业学院Validate包北京电子科技职业学院Validate包北京电子科技职业学院Validate包北京电子科技职业学院简单版测试输入设备北京电子科技职业学院课堂分析q阅读并思考问题,找出对象q雇员、管理员、访客 q计算机、电子门、门禁系统、输入设备q认证对象(密码、胸卡、指纹)北京电子科技职业学院课堂分析q分析类及类关系q有几个类?q有几个接口?q类、接口之间关系?q问题关键:接口在哪里?北京电子科技职业学院课堂分析q类、接口及关系q第一块:q管理员类extends雇员类q雇员类extends访客类q第二块:q计算机类q电子门类q门禁系统类q输入设备类q第三块:q定义验证接口q密码类继承一般认证类q胸卡类继承一般认证类q指纹类继承一般认证类q一般认证类实现了验证接口 q第四块:q访客测试类q雇员测试类q管理员测试类q输入设备测试类北京电子科技职业学院课堂分析q第一阶段实施q1、创建工程和包qsys包:放置门禁系统相关类quser包:放置访客、雇员、管理员类qvalidate包:放置验证身份的接口及其实现类qtest包:放置测试类q2、创建类和接口,并表示出类、接口的关系q关系:具体请参考代码q3、编写类:电子门类、输入设备类q4、编写类:计算机类、门禁系统类北京电子科技职业学院课堂分析q第一阶段代码参考