收藏 分享(赏)

门禁系统的面向对象设计.ppt

上传人:dreamzhangning 文档编号:3356521 上传时间:2018-10-17 格式:PPT 页数:22 大小:277.50KB
下载 相关 举报
门禁系统的面向对象设计.ppt_第1页
第1页 / 共22页
门禁系统的面向对象设计.ppt_第2页
第2页 / 共22页
门禁系统的面向对象设计.ppt_第3页
第3页 / 共22页
门禁系统的面向对象设计.ppt_第4页
第4页 / 共22页
门禁系统的面向对象设计.ppt_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、2018/10/17,1,门禁系统的面向对象设计,软件素养与训练2,2,2018/10/17,问题描述,某公司安装了电子门,要设计门禁系统: 公司的雇员可以凭借密码、胸卡或指纹进入公司 计算机根据雇员的验证方式对其身份进行验证 管理员在监控室可以通过按钮直接开启电子门管理员可以为新职员设置密码 访客可以按门铃请求进入,由管理员为其放行,软件素养与训练2,3,2018/10/17,问题分析-1,根据需求分析对象 门禁系统、电子门、计算机、输入设备管理员、 雇员、 访客验证接口、验证实现,软件素养与训练2,4,2018/10/17,问题分析-2,对象关系,管理员,雇员,访客,验证接口,默认实现,指

2、纹识别,密码验证,胸卡验证,extends,门禁系统包含:电子门、输入设备、计算机,implements,extends,extends,extends,软件素养与训练2,5,2018/10/17,难点分析-1,门禁系统类:ControlSys 包含属性:电子门对象、计算机对象、输入设备对象、门铃、开门信号、日志对象包含方法:工作,private Door door; / 门禁系统的电子门 private Computer computer; / 门禁系统的计算机 private InputEquip inputEquip; / 门禁系统的输入设备 private int ring; / 门铃

3、,0为安静,1为鸣响 private int openSign; / 开门信号,由管理员按下按钮时产生 private Logger logger; / 日志,public void work(),软件素养与训练2,6,2018/10/17,难点分析-2,门禁系统工作分3步: 第一步:检查输入设备的输入缓存第二步:检查开门信号第三步:电子门开启状态维持5秒后关闭电子门,如果有输入且输入信息存在,开启电子门 输入是否正确由计算机类调用验证接口的相关方法判断,如果收到开门信号,开启电子门,/如果电子门已开启,维持5秒,关闭电子门 java.lang.Thread.sleep(5000); / 程序

4、暂停5000毫秒,软件素养与训练2,7,2018/10/17,难点分析-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 =

5、 null; / 输入设备缓存,软件素养与训练2,8,2018/10/17,难点分析-4,用户级别,管理员,雇员,访客,extends,extends,只能按门铃,可以输入验证信息,可以直接开启电子门,监控门铃,软件素养与训练2,9,2018/10/17,难点分析-5,验证 验证接口定义验证方法编写默认的实现类:GenericValidate具体的验证类继承默认的实现类,public boolean check(); / 定义验证方法,private Object inner; / 系统保存的身份信息 private Object input; / 需要验证的身份信息,public class

6、 PassWordVld extends GenericValidate public class FingerMarkVld extends GenericValidate public class CardVld extends GenericValidate,软件素养与训练2,10,2018/10/17,阶段划分,第一阶段 编写类:电子门、输入设备 第二阶段 编写类:计算机、门禁系统 第三阶段 编写类:访客、雇员、管理员 第四阶段 编写类:验证接口、默认实现 第五阶段 编写类:密码验证、指纹验证、胸卡验证 第六阶段 编写类:测试雇员通过电子门 第七阶段 编写类:测试访客按门铃、管理员开启

7、电子门,软件素养与训练2,11,2018/10/17,第一阶段,第一阶段 利用Eclipse创建工程、项目所需包 编写类:电子门、输入设备,软件素养与训练2,12,2018/10/17,创建工程和包 sys包:放置门禁系统相关类 user包:放置访客、雇员、管理员类 validate包:放置验证身份的接口及其实现类 test包:放置测试类 编写类:电子门类 编写类:输入设备类,软件素养与训练2,13,2018/10/17,第二阶段,第二阶段 编写类 : 计算机类 门禁系统类,软件素养与训练2,14,2018/10/17,第三阶段,第三阶段 编写类 访客类 雇员类 管理员类,软件素养与训练2,1

8、5,2018/10/17,第四阶段,第四阶段编写类 验证接口 默认实现类,软件素养与训练2,16,2018/10/17,验证接口 : 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

9、()!=null ,软件素养与训练2,17,2018/10/17,第五阶段,第五阶段编写类 密码验证类 指纹验证类 胸卡验证类,软件素养与训练2,18,2018/10/17,第六阶段,第六阶段 编写类 测试雇员通过电子门,软件素养与训练2,19,2018/10/17,测试雇员通过电子门:EmployeeTest.java,public class EmployeeTest public static void main(String args)Employee employee = new Employee(“雇员a“); / 管理员ControlSys controlSys = new Co

10、ntrolSys(); / 门禁系统System.out.println(“门禁系统-雇员测试“);System.out.println(“*“);while(true)employee.input(controlSys);controlSys.work(); ,软件素养与训练2,20,2018/10/17,第七阶段,第七阶段 编写类 测试管理员开启电子门 测试访客按门铃,软件素养与训练2,21,2018/10/17,测试访客:GuestTest.java 测试管理员:AdminTest.java,public class GuestTest public static void main(S

11、tring 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

12、public static void main(String args)Admin admin = new Admin(“王哲“); / 管理员ControlSys controlSys = new ControlSys(); / 门禁系统System.out.println(“门禁系统-管理员测试“);System.out.println(“*“);while(true)admin.work(controlSys);controlSys.work(); ,软件素养与训练2,22,2018/10/17,总结,巩固知识点:面向对象的特性:封装、继承、多态常量:必需的关键字 - final接口:定义接口、实现接口异常处理:try/catch/finallylog4j:输出保存日志信息,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报