




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
门禁系统的面向对象设计,问题描述,某公司安装了电子门,要设计门禁系统: 公司的雇员可以凭借密码、胸卡或指纹进入公司 计算机根据雇员的验证方式对其身份进行验证 管理员在监控室可以通过按钮直接开启电子门 访客可以按门铃请求进入,由管理员为其放行 管理员可以为新职员设置密码,问题分析-1,根据需求分析对象 门禁系统、电子门、计算机、输入设备 管理员、 雇员、 访客 验证接口、验证实现,问题分析-2,对象关系,管理员,雇员,访客,验证接口,默认实现,指纹识别,密码验证,胸卡验证,extends,门禁系统包含:电子门、输入设备、计算机,implements,extends,extends,extends,难点分析-1,门禁系统类:ControlSys 包含属性:电子门对象、计算机对象、输入设备对象、门铃、开门信号、日志对象 包含方法:工作方法,private Door door; / 门禁系统的电子门 private Computer computer; / 门禁系统的计算机 private InputEquip inputEquip; / 门禁系统的输入设备 private int ring; / 门铃,0为安静,1为鸣响 private int openSign; / 开门信号,由管理员按下按钮时产生 private Logger logger; / 日志,public void work(),难点分析-2,门禁系统工作分3步: 第一步:检查输入设备的输入缓存 第二步:检查开门信号 第三步:电子门开启状态维持5秒后关闭电子门,如果有输入且输入信息存在,开启电子门 输入是否正确由计算机类调用验证接口的相关方法判断,如果收到开门信号,开启电子门,/如果电子门已开启,维持5秒,关闭电子门 java.lang.Thread.sleep(5000); / 程序暂停5000毫秒,难点分析-3,输入设备类模拟输入各种验证信息: 密码、胸卡、指纹都以字符串形式从控制台输入: 1、密码以“pa”开头 2、胸卡以“ca”开头 3、指纹以“fi”开头 输入的验证信息保存在输入设备的缓存中 门禁系统保存的验证信息不以上述字符开头 验证时使用String类的方法解析字符串,java.lang.String.substring( int beginIndex, int endIndex ),java.lang.String.substring( int beginIndex ),private String input = null; / 输入设备缓存,难点分析-4,用户级别,管理员,雇员,访客,extends,extends,只能按门铃,可以输入验证信息,可以直接开启电子门,监控门铃,难点分析-5,验证 验证接口定义验证方法 编写默认的实现类:GenericValidate 具体的验证类继承默认的实现类,public boolean check(); / 定义验证方法,private Object inner; / 系统保存的身份信息 private Object input; / 需要验证的身份信息,public class PassWordVld extends GenericValidate public class FingerMarkVld extends GenericValidate public class CardVld extends GenericValidate,阶段划分,第一阶段(25分钟) 编写类:电子门、输入设备 第二阶段(45分钟) 编写类:计算机、门禁系统 第三阶段(45分钟) 编写类:访客、雇员、管理员 第四阶段(25分钟) 编写类:验证接口、默认实现 第五阶段(35分钟) 编写类:密码验证、指纹验证、胸卡验证 第六阶段(15分钟) 编写类:测试雇员通过电子门 第七阶段(30分钟) 编写类:测试访客按门铃、管理员开启电子门,第一阶段,第一阶段(25分钟) 利用Eclipse创建工程、项目所需包 编写类:电子门、输入设备 要求学员自己动手完成,教员巡视,解答学员提出的问题,阶段检查,针对第一阶段抽查学员的操作结果 教员给出点评,第一阶段标准代码演示,创建工程和包 sys包:放置门禁系统相关类 user包:放置访客、雇员、管理员类 validate包:放置验证身份的接口及其实现类 test包:放置测试类 编写类:电子门类 Door.java 编写类:输入设备类 InputEquip.java,第二阶段,第二阶段(45分钟) 编写类 :计算机、门禁系统 要求学员自己动手编写,教员巡视,解答学员提出的问题,阶段检查,针对第二阶段抽查学员的编码结果 抽查学员编写的完整代码,要求学员上台讲解 教员给出点评或集中演示难点部分,第二阶段标准代码演示,计算机类: Computer.java 门禁系统类: ControlSys.java,第三阶段,第三阶段(45分钟) 编写类:访客、雇员、管理员 要求学员自己动手编写,教员巡视,解答学员提出的问题,阶段检查,针对第三阶段抽查学员的编码结果 抽查学员编写的完整代码,要求学员上台讲解 教员给出点评或集中演示难点部分,第三阶段标准代码演示,访客类:Guest.java 雇员类:Employee.java 管理员:Admin.java,第四阶段,第四阶段(25分钟) 编写类:验证接口、默认实现 要求学员自己动手编写,教员巡视,解答学员提出的问题,阶段检查,针对第四阶段抽查学员的编码结果 抽查学员编写的完整代码,要求学员上台讲解,并演示运行结果 教员给出点评,第四阶段标准代码演示,验证接口 : Validate.java 默认实现:GenericValidate.java,/*- GenericValidate.java -*/ private Object inner; private Object input; /* * 比较方法的默认的实现,判断输入信息是否存在 * return 比较结果 */ public boolean check() for( int i=0; ithis.getInner().length; i+ ) if( this.getInput()!=null ,第五阶段,第五阶段(35分钟) 编写类:密码验证、指纹验证、胸卡验证 要求学员自己动手编写,教员巡视,解答学员提出的问题,阶段检查,针对第五阶段抽查学员的编码结果 抽查学员编写的完整代码,要求学员上台讲解,并演示运行结果 教员给出点评,第五阶段标准代码演示,密码验证: PassWordVld.java 胸卡验证: CardVld.java 指纹验证: FingerMarkVld.java,第六阶段,第六阶段(15分钟) 编写类:测试雇员通过电子门 要求学员自己动手编写,教员巡视,解答学员提出的问题,阶段检查,针对第六阶段抽查学员的编码结果 抽查学员编写的完整代码,要求学员上台讲解,并演示运行结果 教员给出点评,第六阶段标准代码演示,测试雇员通过电子门:EmployeeTest.java,public class EmployeeTest public static void main(String args) Employee employee = new Employee(“雇员a“); / 管理员 ControlSys controlSys = new ControlSys(); / 门禁系统 System.out.println(“门禁系统-雇员测试“); System.out.println(“*“); while(true) employee.input(controlSys); controlSys.work(); ,第七阶段,第七阶段(30分钟) 编写类:测试访客按门铃、管理员开启电子门 要求学员自己动手编写,教员巡视,解答学员提出的问题,阶段检查,针对第七阶段抽查学员的编码结果 抽查学员编写的完整代码,要求学员上台讲解,并演示运行结果 教员给出点评,第七阶段标准代码演示,测试访客:GuestTest.java 测试管理员:AdminTest.java,public class GuestTest public static void main(String args) Guest guest = new Guest(“赵强“); / 访客员 Admin admin = new Admin(“王石头“); / 管理员 ControlSys controlSys = new ControlSys(); / 门禁系统 System.out.println(“门禁系统-访客测试“); System.out.println(“*“); while(true) guest.pressRing(controlSys); admin.work(controlSys, guest); controlSys.work(); ,public class AdminTest public static void main(String args) Admin admin = new Admin(“王哲“); / 管理员 ControlSys controlSys = new ControlSys(); / 门禁系统 System.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030高档办公家具市场行业市场占有率及投资前景评估规划报告
- 2025至2030静止搅拌机行业市场占有率及投资前景评估规划报告
- 2025至2030陶瓷软管行业市场占有率及投资前景评估规划报告
- 2025至2030队列显示行业市场占有率及投资前景评估规划报告
- 2025至2030铸造钓鱼卷筒行业市场占有率及投资前景评估规划报告
- 2025至2030重碱性苯行业市场占有率及投资前景评估规划报告
- 分子印迹聚合物毛细管涂层的制备工艺与电色谱性能评价研究
- 山东省济宁鱼台县联考2026届中考数学对点突破模拟试卷含解析
- 2026届湖南省长沙市一中学教育集团中考数学对点突破模拟试卷含解析
- 路面挖掘管理办法
- 《医学基础知识》考试题库大全(按章节)-病理学(重点题)
- 麦凯66表格(完全版)
- 2023静脉治疗护理技术操作标准解读
- 高中化学方程式总结
- 辽宁省医学影像云技术规范
- 申报高级会计师资格评审的公示填写模板
- GB/T 17285-2022电气设备电源特性的标记安全要求
- LY/T 2565-2015竹塑复合材料
- GB 11550-2009汽车座椅头枕强度要求和试验方法
- MATLAB和Origin绘制发动机万有特性曲线程序及方法
- 品质意识,品质基础知识培训
评论
0/150
提交评论