欢迎来到天天文库
浏览记录
ID:1519508
大小:277.50 KB
页数:22页
时间:2017-11-12
《门禁系统的面向对象设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、门禁系统的面向对象设计2021/6/181问题描述某公司安装了电子门,要设计门禁系统:公司的雇员可以凭借密码、胸卡或指纹进入公司计算机根据雇员的验证方式对其身份进行验证管理员在监控室可以通过按钮直接开启电子门管理员可以为新职员设置密码访客可以按门铃请求进入,由管理员为其放行2021/6/182软件素养与训练2问题分析-1根据需求分析对象门禁系统、电子门、计算机、输入设备管理员、雇员、访客验证接口、验证实现2021/6/183软件素养与训练2问题分析-2对象关系管理员雇员访客验证接口默认实现指纹识
2、别密码验证胸卡验证extends门禁系统包含:电子门、输入设备、计算机implementsextendsextendsextends2021/6/184软件素养与训练2难点分析-1门禁系统类:ControlSys包含属性:电子门对象、计算机对象、输入设备对象、门铃、开门信号、日志对象包含方法:工作privateDoordoor;//门禁系统的电子门privateComputercomputer;//门禁系统的计算机privateInputEquipinputEquip;//门禁系统的输入设备pr
3、ivateintring;//门铃,0为安静,1为鸣响privateintopenSign;//开门信号,由管理员按下按钮时产生privateLoggerlogger;//日志publicvoidwork()2021/6/185软件素养与训练2难点分析-2门禁系统工作分3步:第一步:检查输入设备的输入缓存第二步:检查开门信号第三步:电子门开启状态维持5秒后关闭电子门如果有输入且输入信息存在,开启电子门输入是否正确由计算机类调用验证接口的相关方法判断如果收到开门信号,开启电子门//如果电子门已开启
4、,维持5秒,关闭电子门java.lang.Thread.sleep(5000);//程序暂停5000毫秒2021/6/186软件素养与训练2难点分析-3输入设备类模拟输入各种验证信息:密码、胸卡、指纹都以字符串形式从控制台输入:1、密码以“pa”开头2、胸卡以“ca”开头3、指纹以“fi”开头输入的验证信息保存在输入设备的缓存中门禁系统保存的验证信息不以上述字符开头验证时使用String类的方法解析字符串java.lang.String.substring(int beginIndex,int
5、endIndex)java.lang.String.substring(int beginIndex)privateStringinput=null;//输入设备缓存2021/6/187软件素养与训练2难点分析-4用户级别管理员雇员访客extendsextends只能按门铃可以输入验证信息可以直接开启电子门,监控门铃2021/6/188软件素养与训练2难点分析-5验证验证接口定义验证方法编写默认的实现类:GenericValidate具体的验证类继承默认的实现类publicbooleanchec
6、k();//定义验证方法privateObject[]inner;//系统保存的身份信息privateObjectinput;//需要验证的身份信息publicclassPassWordVldextendsGenericValidatepublicclassFingerMarkVldextendsGenericValidatepublicclassCardVldextendsGenericValidate2021/6/189软件素养与训练2阶段划分第一阶段编写类:电子门、输入设备第二阶段编写类:
7、计算机、门禁系统第三阶段编写类:访客、雇员、管理员第四阶段编写类:验证接口、默认实现第五阶段编写类:密码验证、指纹验证、胸卡验证第六阶段编写类:测试雇员通过电子门第七阶段编写类:测试访客按门铃、管理员开启电子门2021/6/1810软件素养与训练2第一阶段第一阶段利用Eclipse创建工程、项目所需包编写类:电子门、输入设备2021/6/1811软件素养与训练2创建工程和包sys包:放置门禁系统相关类user包:放置访客、雇员、管理员类validate包:放置验证身份的接口及其实现类test包:
8、放置测试类编写类:电子门类编写类:输入设备类2021/6/1812软件素养与训练2第二阶段第二阶段编写类:计算机类门禁系统类2021/6/1813软件素养与训练2第三阶段第三阶段编写类访客类雇员类管理员类2021/6/1814软件素养与训练2第四阶段第四阶段编写类验证接口默认实现类2021/6/1815软件素养与训练2验证接口:Validate.java默认实现:GenericValidate.java/*-------GenericValidate.java-------*/privateOb
此文档下载收益归作者所有