atm机需求分析(精选6篇)
1.atm机需求分析 篇一
ATM自动取款机系统界面需求分析报告
1.项目背景及基本描述
ATM自动取款机系统作为银行信息化管理的一部分,已经相当普及了。相比传统的手工操作,大大提高了银行的工作效率,同时降低人力、财力、物力的浪费,使得取款,转账等一些银行的日常业务形成一种规范有序的流程,减少信息交流的烦琐过程及其带来的开销,实现银行管理的规范化、自动化。
2.用户分析
使用该系统的用户包括两类:管理员和客户。
管理员 :系统的超级用户,其对系统的操作包括开户、销户、修改密码。此类用户对计算机有一定的深入了解,对数据库的操作也有一定的基础,其亦可能是此类软件较熟悉的用户,这类用户有能力进行一些复杂的操作,比较数据备份,备份路径等。由于数据库保存着所有客户信息情况,在设计时对这类操作应尽量增加确认操作,以对话框的形式询问是否进行操作。
客户:系统的普通用户,其对系统的操作包括取款、存款、查询余额、转账、修改密码等。此类用户的计算机水平一般较低,系统对其操作的要求不应过高,比如菜单项就放在较为突出的地方,方便其操作,尽可能减少输入的数据与次数,避免因操作过多而出现的失误,同时相应菜单应设置带提示性的图标,提交后应弹出提示信息。
3.系统功能需求
ATM自动取款机系统相关的主要对象有:
用户:使用ATM自动取款机进行现金交易。进行取款、查询余额、设置密码、转账等操作。ATM系统:对用户的需求进行接收,通过与数据库的交互,根据对用户应用服务的响应,更新数据库中用户的信息。
银行数据库:对用户的所有信息进行存储更新。因此,可以把系统具体功能描述如下:
管理员:开户,销户,修改密码。
客户:取款,存款,查询余额,转账,修改密码。主要功能:
取款:用户按照系统输入要求输入取款金额即可取出相应金额的现金。查询余额:用户可以查看账户所剩现金余额。
修改密码:如果用户想要修改当前密码,通过系统可以设置新密码。
转账:用户可以通过该功能将自己账户上的金额转到其他账户
4.界面需求 4.1界面风格
用户界面统一设计,保证界面文字、颜色、图案等的一致性;符合美学标准。整洁、美观、错落有致。4.1.1文字
字体使用适当,一般两到三种为谊;使用清晰易读的文字。4.1.2 颜色
颜色使用适当;选择使用户长期使用不易疲劳的颜色,如灰色。遵循对比原则,深色背景使用浅色文字;浅色背景使用深色文字。4.1.3图案
图案的一致性、使用的恰当性、形象性、见图知意、大小合理。4.1.4界面布局
合理的界面布局,保证习惯,平衡,屏幕不能拥挤,屏幕总体覆盖度最好不要超过40%;而组合框中覆盖度不要超过62%(Mayhew 1992年试验结果)。
有效组合,在逻辑上关联的项目在屏幕上应当加以组合,以显示其关联性。反之任何项目之间毫不相关的项目应当分隔开。在项目集合间用间隔对其进行分组/或用方框也同样可做到这一点。
保持习惯,屏幕组织自上而下、自左而右。4.1.5区域排列
区域排列合理,排列整齐;一般的标签右对齐,编辑框左对齐。4.1.6数据对齐方式
数据对齐要恰当,字符左对齐,数字右对齐。
4.2 操作方式
操作方式遵循Microsoft标准。在没有鼠标的情况下应该保证用户可以方便使用软件;回车键具备Tab健功能;方向健功能可以使用;用直观,标准的快捷建;界面间切换方便;对用户不能访问的功能统一采用灰掉而不是移走;使用非破坏性的缺省按钮,对于保存、删除之类的按钮不用缺省按钮;在操作焦点处排列功能按钮;菜单/工具条设计合理,弹出菜单不应该是唯一功能;主要功能应放于工具条;菜单层次少于4层。
4.3交互信息
提示信息的一致性,措词适当;用清晰简单无二意的文字表述功能。
当程序运行时间较长时,用进度条给于提示。用状态栏提示当前操作。
4.4 输入
控制输入量,在输入时只输入基本信息,非基本信息应在系统中通过基本信息计算生成。
输入设计中应采用多种输入校验和有效性验证技术,尽量采用下拉选择框,让用户选择;减少输入错误。
避免额外步骤,在输入设计中应尽量避免不必要的输入步骤,当步骤不能省略时应仔细验证现有步骤是否完备、高效。
简化输入过程,不能因为校验而是输入复杂化。便于填写、便于归档、保证精度。
4.5 输出
对输出数据要保证精度。
输出尽可能采用多种形式,如声音、图像,各种图形 报表尽可能的满足用户的各种需要,最好能实现报表制定义。
5.小组成员
组长:**(23号)
组员:***(29号)***(51号)****(59号)
6.工作分配
***(23号):写开题报告及后期报告 **(23号):软件功能策划及后期工作 **(29号):界面设计 **(51号):界面设计 ***(59号):界面设计
7.项目进度计划安排
第3周~第4周:写需求分析报告 第4周~第5周:设计方案
第5周~第9周:设计
第9周~第10周:写界面设计报告 第10周~第11周:测试、评估
2.atm机需求分析 篇二
依据中国的现行法律, 广州中级人民法院一审判决被告许霆以非法侵占为目的, 伙同同案人采用秘密手段盗窃金融机构, 数额特别巨大, 行为已构成盗窃罪, 遂判处无期徒刑, 剥夺政治权利终身, 并处没收个人全部财产。在二审中, 法院认为许霆是在发现银行自动柜员机出现异常后产生犯意, 采用持卡非法窃取金融机构经营资金的手段, 其行为与有预谋或者采取破坏手段盗窃金融机构的犯罪有所不同, 从案发具有一定偶然性看, 许霆犯罪的主观恶性尚不是很大。根据本案具体的犯罪事实、犯罪情节和对于社会的危害程度, 最终判决许霆犯盗窃罪, 判处有期徒刑5年, 并处罚金2万元, 追缴许霆的犯罪所得173 826元, 发还受害单位。
无论在中国还是英国, 利用ATM机故障获利均属于不当得利, 违反了基本的诚信原则, 银行均可以要求返还, 对于情节严重的, 取款人还须要面临刑事处罚。英国1968年的盗窃法规定, 一个人如果不诚实地占有另一个人的财产, 并且意图永久剥夺该财产, 属于盗窃罪。根据英国判例, 在得知ATM机多吐钞票后仍去取款, 且不退还多余金额, 就可以定为“不诚实的挪用, 意图永久剥夺他人财产。”所以, 英国银行之所以“宽容大度”, 是有其司法背景及事件本身的特点等综合因素的。
我国银行业自2001年12月11日加入WTO起, 中国人民银行即公布了中国银行业开放时间表, 划定为期5年的过渡保护期, 按地域和业务分阶段扩大对外开放。如今11年过去了, 中国银行业在全面对外开放和激烈的市场竞争中, 其体系发生了历史性变化, 五大商业银行相继上市, 但传统体制下政府主导型银行体制又为中国银行业抹上更多行政色彩。收取小额账户管理费、开通VIP窗口、对有钱人优先办理、离开柜台概不负责等等无一不体现银行的霸道和专横, 致使顾客处于弱势地位。借鉴国外银行管理体制, 深化改革, 以平等的心态对待顾客, 才是中国银行业入世后良性发展与之国外银行竞争的根本所在。
摘要:英国一台ATM机发生故障, 顾客取款时会吐出双倍数额的现金, 200多名顾客取走现金。事后银行称错在自己, 顾客不必为银行工作失误负责, 不用归还多余的钱。“许霆案”判无期徒刑, 重审改判为5年有期徒刑。英国银行之所以“宽容大度”, 是有其司法背景及事件本身的特点等综合因素的。我国银行业应该借鉴国外银行管理体制, 深化改革, 以平等的心态对待顾客。这才是加入WTO后良性发展与国外银行竞争的根本所在。
关键词:ATM机,银行业,入世
参考文献
[1]刘姣洁.英国ATM出错不追讨与“风度”无关[N].中国城乡金融报, 2012-5-28 (A03) .
3.ATM机操作手册(胡) 篇三
一、岗位职责
资金部各成员对ATM机的管理分工如下:
ATM机管理员(许燕萍)负责公司工资卡及ATM机的日常管理,包括:(1)工资卡的发放、挂失、补办、密码重置、注销等;(2)ATM机的加钞操作和日常维护,以及出现硬件故障时及时报修;(3)ATM软件的操作管理,如员工工资数据录入、卡内资金的转出和离职结算、ATM机资金流数据的提取和整理、报告等;(4)负责保管ATM机保险箱的密码。
出纳(廖丽丽)与ATM机管理员共同负责ATM机的加钞,其中出纳负责保管ATM机保险箱钥匙、对加钞前ATM机里的留存现金及新加入ATM机的现金进行清点,参与加钞的全过程;保管ATM机钥匙。
工资卡内资金转出的相关业务也须有资金部主管(复核)(朱辉英)、出纳、资金部汇款管理员,并与ATM机管理员共同完成。如:资金部主管负责核查卡内资金转出额;出纳负责卡内资金提现业务的现金提交;资金部银行业务专员负责卡内资金转入银行卡业务的资金转存。
最后,由资金部主管核查每月员工工资表等数据,并督促ATM机管理员和其他相关职员的日常工作情况。
二、ATM机的加钞制度
一)加钞机制
ATM机的加钞过程包括:加钞前准备、机内余额核算、下钱箱、加钞、上钱箱等。
1.加钞前准备:资金部在加钞前15分钟通知保安作好加钞准
备,保安进入警戒状态,通知机旁等待人员暂停取款,并将取款人群控制在警戒线外。
2.加钞人员进入机室:在保安戒严环境下,ATM机管理员、ATM机保险箱钥匙管理人(出纳)一同进入ATM机室内,关闭机室大门。留在现场的保安挂出暂停取款招牌,并维持现场秩序。
3.机内余额核算准备:出纳打开上部机箱,由ATM机管理员操作行员操作面板,进行加钞前未结帐的交易额小计或合计,通过流水日志打印机得到ATM机内应有资金余额,记录在本子上以备核查;
4.下钱箱:ATM机管理员开启钱箱的电子锁,和出纳共同将保险箱打开,取出钱箱,在保安的护送下返回资金部。
5.机内余额核算:加钞人员关闭资金部大门,由随行保安在大门外保持警戒状态。是时,资金部出纳将钱箱钥匙交ATM机管理员,由其开启钱箱,将箱内剩余现金取出交由出纳进行清点,并与ATM机留存打印机日志上的小计或合计数进行核对。若箱内剩余现金与流水日志上的应有金额不符,立即进行查找,保证每次加钞时ATM剩余资金数与流水日志打印机上的剩余资金数相符。若无误,进行加钞。
5.加钞:出纳将所需添加的资金与ATM管理员共同进行清点,清点无误后,加入钱箱。
6.上钱箱:两名加钞人员开启资金部大门,在保安的护送下一同返回ATM机室,关闭机室大门。重新开启ATM机保险箱,将钱箱放入ATM机。ATM机管理员打乱密码,出纳锁好保险箱,ATM机管理员在行员操作面板上输入加钞数,并锁上钱箱电子锁。最后,加钞人员将ATM机机箱重新锁上,开启机室大门,取下暂停取款广告牌,恢复取款。
二)加钞注意事项
1.ATM机保险箱的开箱密码和钥匙必须交由ATM机管理员与出
纳分开保管,除非二人同时在场,否则无法打开;
2.每次ATM机加钞的全过程,都必须有ATM机管理员出纳双方同时到场,才能进行;
3.在资金部加钞前必须保证没有无关人员在场,加钞时必须给资金部大门上锁,并由保安在门外保持警戒。
4.清点钱箱余额时,如果发现箱内余额和ATM机流水日志上所显示的余额不同,必须立刻查找原因,做到当天问题当天解决。
三、工资卡的发放管理
1.工资卡办理:ATM机管理员根据人力资源部提供的编号制作好员工资料导入表,由资金部主管授权导入ATM软件。ATM机管理员通过读卡仪将员工数据写入工资卡中,在卡背面写上员工号以备员工领取。
员工凭身份证领取工资卡。新工资卡初始密码均为111111,ATM机管理员需提醒员工尽快修改密码。
2.工资卡的挂失、补办、重置密码:由员工携身份证到资金部办理,ATM机管理员通过操作ATM软件及读卡仪等完成。
3.现金领取和离职结薪:ATM机管理员对ATM软件进行相应操作后,填写资金转出凭证或者离职结薪凭证,5000元(含)以上交资金部主管进行复核;资金部主管复核无误后签字,交由出纳发放现金并在凭条上签字;5000元以下直接交出纳取款,每天下班前统一由复核人复核(奉赛嫦)。
3.工资卡资金转入银行卡或还信用卡:由员工自己填写“代汇款凭证”或“信用卡还款凭证”,ATM机管理员对所需转出资金的员工作取款处理,填写工资卡转出凭证签字后,开具收据一起交出纳办理,由出纳确认后签字,并将收据一联交员工保存,另一联与工资卡转出凭证做帐,汇款单由资金部银行业务管理专员汇至员工银行帐
号,汇入成功后该管理专员在工资卡转出凭证上签字。
四、ATM机相关报表
ATM机相关报表由ATM机管理员负责制作、整理,包括:每次发薪明细表、每日加薪提取款报表、加钞报表、累计发薪和累计取款报表等。
1.每日加薪提取款报表:包括每日导入的发薪总额、取款总额、工资转出总额,附带结薪和转出资金备注。通过此表可以看出每天ATM机资金的流动情况。
2.加钞报表:包含上期ATM机结余额、加钞方式、加钞数量、加钞后ATM机余额,通过此卡可以看出ATM机的加钞明细情况。
3.累计发薪和提款报表:包含从ATM机投入运作日起,到报告日的累计发放工资数、累计提现数、累计余额数。通过此表可以看出ATM机资金使用概况和留存资金比例。
资金部须每日做一次报表,做到帐实相符。定期将报表提交核算部进行审核。相关数据每日提交给财务部黄华波总监处,以便公司领导监督及决策。
五、ATM机故障处理机制
ATM机出现硬件故障无法正常工作时,ATM管理员须在第一时间通知服务商前来修理,总经办负责维修所需的零件的购买。在修理期间资金部开放柜台提现以保证广大员工能随时取款。
4.自助设备、ATM机管理办法 篇四
第一章 总则
第一条 为加强和规范自动柜员机管理,保证自动柜员机正常运行,实现自动柜员机“管理规范化、操作标准化”目标,有效防范业务风险,根据监管部门有关规定,特制定本办法。
第二条 自动柜员机是为客户提供自助服务的电子设备,根据提供服务类型分为自动取款机、自动存款机、存取款一体机。
第三条 持卡人可凭密码,在自动柜员机上办理存取款、转账、查询、修改密码等多种银行业务。
第二章 基本规定
第四条 自动柜员机应用模式分为在行式和离行式。
(一)在行式是指自动柜员机在营业网点内运行的应用模式,包括单台布放的在行式自动柜员机和多台集中布放在营业网点自助服务区的在行式自动柜员机。
(二)离行式是指自动柜员机在网点外运行的应用模式,包括单台布放的离行式自动柜员机、自助银行和具有独立营业场所、多台集中布放在离行自助服务区的自动柜员机。
第五条 各县级联社在银行卡部应设立自动柜员机业务管理岗,负责辖内自动柜员机业务管理、渠道推广、市场营销、考核培训等工作。各营业网点应设立自动柜员机运行管理岗,负责管辖自动柜员机日常运行、账务核算、现金运营和客户服务等工作。
第六条 自动柜员机的选型购臵由省联社按照有关集中采购管理办法统一组织实施。
第七条 自动柜员机服务时间应按照“安全、方便”的原则、由自动柜员机所在场所营业时间决定。自动柜员机服务时间应对外公布。
第八条 自动柜员机应保证服务界面、交易流程、外观形象、操作提示、受理标识和服务环境的标准化,符合省联社企业形象管理和营业网点视觉形象规范等规定。
第三章 部门和机构职责
第九条 银行卡部负责自动柜员机制度建设、规划布局、提交需求、市场营销、业务推广、统计分析、考核评价等工作。
(一)负责管理自动柜员机业务,了解和掌握管辖自动
柜员机运行状况,制定和修改自动柜员机业务考核指标,分析评价自动柜员机业务发展状况,协调有关部门确保自动柜员机正常运行;
(二)负责制定、修改和完善自动柜员机业务管理办法;
(三)负责自动柜员机差错业务的处理;
(四)负责制订辖内自动柜员机需求计划,提交可行性立项报告,配合相关部门做好自动柜员机、配套运行监控设备和安全防护设施的安装工作;
(五)负责自动柜员机的选址、分配及布局调整等工作;
(六)负责审批自动柜员机新业务、新功能,制定自动柜员机自助服务营销推广计划,组织开展营销活动;
(七)负责向客户宣传正确使用自动柜员机的操作方法,及时妥善处理客户对自动柜员机的投诉;
(八)负责自动柜员机的业务培训。
第十条 科技部负责自动柜员机(含配套视频监控设备)的安装管理、故障处理、预防性维护、升级管理、停机管理和服务质量管理等技术管理工作。
(一)负责制定自动柜员机选型、订购、验收、安装、故障处理、预防性维护、升级、停机、报废、服务质量等技术管理制度和维护管理流程,做好自动柜员机维护管理工作;
(二)负责自动柜员机相关版本及相关管理系统版本的研发、测试、投产、支持等系统维护工作;
(三)负责自动柜员机安装实施、投产推广工作和设备操作培训工作;
(四)负责组织评估自动柜员机技术研究和技术测评工作;
(五)负责配合集中采购部门做好自动柜员机技术产品采购和保外设备维护服务采购工作;
(六)负责自动柜员机供应商和服务商的监督管理,监督供应商履行假币赔偿承诺工作;
(七)负责组织评估自动柜员机运行状况及维护管理工作;
(八)负责做好自动柜员机和配套视频监控设备技术交流和技术操作的培训工作。
第十一条 会计部负责自动柜员机现金管理、账务核算和收单清算等工作。
(一)负责提交自动柜员机账务核算业务应用需求,并参与测试;
(二)负责制订、修改、完善自动柜员机现金管理、账务核算和收单清算管理办法和操作流程。
(三)负责自动柜员机现金管理和账务核算业务检查和培训;
(四)负责自动柜员机受理国内他行卡调单和差错账务处理,配合处理自动柜员机账务差错的客户投诉。
第十二条 监察保卫部门负责自动柜员机安全保卫工作。
(一)负责配合本地区公安机关对新建、改建自动柜员机安全防范设施进行审批和验收;
(二)负责研究自动柜员机案件和欺诈事件的外部风险防范方案,制订、修改和完善自动柜员机安全防范设施规范和防范措施,督导安装符合有关规范的安全防范设施,检查安全防范设施运行维护情况和防范措施落实情况;
(三)负责协助公安机关侦破撬盗破坏自动柜员机、自助服务区抢盗及人身伤害、在自动柜员机外部或周边环境安(改)装非法设备、利用自动柜员机窃取客户资金等风险事件和案件。统计案件信息,并按有关案件报告制度报告案件情况;
(四)负责指导营业机构做好自动柜员机日常安全巡查、调阅检查视频监控录像等外部风险防范工作;
(五)负责组织自动柜员机安全专项检查,监督整改措施落实情况。
第十三条 营业机构负责自动柜员机日常运行管理工作。
(一)负责组织管理自动柜员机的现金清点、钞箱装卸、钥匙和密码保管、账务核算等工作;
(二)负责提供符合自动柜员机用钞质量、券别和数量
要求的现钞,确保自动柜员机支付;
(三)负责协助处理存入假币索赔等相关工作;
(四)负责管辖自动柜员机的运行监控、业务故障处理、技术故障报修、吞没卡、耗材领用、安全巡查、解决客户求助等工作;
(五)负责新投入运行或排除故障后再投入运行的自动柜员机的测试验收;
(六)负责每日监控管辖自动柜员机运行状态,发现故障应立即检查,业务故障应及时排除;遇有技术故障,应及时通知科技部门;
(七)负责协助查询自动柜员机账务差错、调阅交易流水信息,协调处理自动柜员机账务差错的客户投诉;
(八)负责管辖自动柜员机周围环境的安全巡查。重点检查自动柜员机出钞口、插卡口是否被安装异常装臵,视频监控摄像头是否被堵住,键盘上是否有薄膜(密码记录器),周围有无非法张贴物,检查自动柜员机及自动柜员机视频监控系统是否运行正常等,发现异常情况立即报告,同时做好检查记录;
(九)负责管辖自动柜员机服务环境的日常管理。
第四章 自动柜员机业务限额与收入核算管理
第十四条 金信卡在自动柜员机上存款、取款、转账等业务限额,以及自动柜员机单笔最高取现限额,根据监管部门有关规定或业务发展情况由省联社制定并适时调整。
第十五条 利用自动柜员机渠道办理的各类离柜业务手续费收入应归属自动柜员机业务收入,并按照有关规定计入对应的中间业务收入科目。
第五章 自动柜员机钥匙和密码管理
第十六条 自动柜员机保险柜钥匙和密码须双人分别保管、单线传递,电子柜钥匙可兼管,并做好记录。
第十七条 自动柜员机保险柜钥匙用毕,不得随身携带,必须入库(保险柜)保管。
第十八条 保管密码的人员临时变更或工作调动,接管人员必须及时更换保险柜密码。掌管钥匙人员临时变更或工作调动,必须办理定向交接(掌管密码人员不能接管钥匙)手续,办理钥匙和密码交接时,必须做好记录。
第十九条 保管密码的人员输入密码时,应注意遮掩,其他人员应主动回避。密码须不定期更换,每季度至少更换一次,密码更换后,应及时更新备用密码记录。
第二十条 自动柜员机备用密码记录和备用钥匙应在分别密封后,交由自动柜员机主管负责人分别入保险柜保管并
登记备案,以备应急之用。如需启封,按现金库房钥匙管理的有关规定办理。
第二十一条 如发现保险柜或电子柜钥匙遗失,必须立即采取措施,确保款项安全,同时查明事故原因,及时上报。
第六章 自动柜员机现金出纳管理
第二十二条 自动柜员机现金业务须在电子摄像监控下实施双人管理。凡办理自动柜员机钞箱开闭、装钞、卸钞、整点、账款核对、钞箱检查等工作,必须双人到场、双人办理、发生差错换人复核,做到手续清楚、责任分明、数字准确、账款相符。
第二十三条 自动柜员机钞箱备付金的领用、钞箱余款及客户存入现金的上缴,必须按网点领缴现金办理。领用的备付金必须经过清分、复点,符合使用标准。客户存入现金必须经过整点方可入库。
因特殊情况无法开箱取钞时,应立即报告主管负责人,迅速查明原因,并会同有关技术人员共同开箱。
第二十四条 自动柜员机中的现金须按券别分钞箱管理,严禁将不同券别的现金混装一箱。
第二十五条 每次自动柜员机装填现钞前应进行轧账处理,装钞后对外营业前,必须进行实地吐钞测试,测试无误
后方可投入使用。测试情况要记录在案,以备查考。
第二十六条 自动柜员机备付现钞必须经过票币整点,保证无破损、无断裂、无透明纸粘贴、无褶皱及卷角等符合自动柜员机使用的人民币。禁止使用原封新钞和潮湿的现钞。
第二十七条 自动柜员机交易日志是账款核对和事后检查的重要依据,应按有关规定保管和调阅。
第二十八条 自动柜员机内的现金原则上于营业前一次性装入,遇特殊情况需中途添加现金时,经有关负责人授权后,按照运送和加装自动柜员机备付金的规定执行。
第二十九条 运送自动柜员机备付金必须坚持双人调款,双人武装押运和运钞车接送。
第三十条 自动柜员机如发生错款或存入假币,必须立即报告上级管理部门,核实有关取(存)款人操作记录,核点现金实物,确认错款金额后,按照现金错款溢短处理的相关规定及时处理。
第三十一条 自动柜员机现金和账务核算等业务应实行定期或不定期检查制度,并做好检查记录。检查内容包括:
(一)自动柜员机的备付金与有关分户账是否一致;
(二)日常现金的领取、上缴、装钞、卸钞等手续是否坚持双人办理;
(三)长短款及错账记录是否清楚,是否纳入有关科目核算;
(四)款项清点、交接、运送工作是否符合安全要求;
(五)钥匙、密码的交接和备用钥匙、密码副本的保管是否符合规定;
(六)其他需检查事项。
第七章 自动柜员机吞没卡管理
第三十二条 吞没卡登记。管辖机构应及时取回吞没卡,摘录有关内容和吞卡原因,核对吞没卡数量和交易流水清单,登记《银行卡登记簿》。
第三十三条 吞没卡领取。离行式自动柜员机吞没的银行卡,由就近营业网点负责吞没卡的领取和销毁。
(一)吞没卡为辽宁省农村信用社发行的银行卡,客户在吞卡后5日(自吞卡次日起计算)内要求领取银行卡时,须提交本人有效身份证件。查明吞卡原因、核验有效身份证件,对持卡人身份验证无误后,登记《银行卡登记簿》,摘录客户身份证件内容,将吞没卡返回客户,并由客户签收;
(二)吞没卡为他行发行的银行卡,按照中国银联股份有限公司规定执行:持卡人在吞卡后次日起5个工作日内,持本人有效身份证件及其他可以证明为卡片持有者的材料到自动柜员机管辖机构办理领卡手续。
第三十四条
吞没卡销毁。
吞没卡辽宁省农村信用社发行的银行卡,凡超过日期持卡人未领取且未收到发卡银行查询的,按有关办法和操作规程破坏磁条完整性;
吞没卡为他行卡,凡超过日期无人认领的卡片或按发卡机构吞卡指令吞没的卡片,自动柜员机管辖机构须对卡片作剪角处理,并逐张抄列清单交事后监督部门,由事后监督部门根据银联有关规定处理。
第八章 自动柜员机安全管理
第三十五条 新建或改建的自动柜员机须符合国家安全行业标准及技术规范要求,安装电子摄像监控、防撬窃报警和联网报警等安全防范设施。
第三十六条 离行式自动柜员机应按照国家有关标准实现联网报警;与自动柜员机所在单位签订合作协议,约定双方责任义务,协同做好自动柜员机安全防范。
第三十七条 自动柜员机管辖机构要加强自动柜员机安全防范,互相配合,发现隐患,及时整改。
第三十八条 发生自动柜员机风险事件及案件,应立即上报,迅速查明原因,及时处理解决。
第九章 附则
第三十九条 本办法由省联社负责解释和修订。
第四十条
5.atm机需求分析 篇五
课程设计报告
题
目:
ATM柜员机
专
业:
信息与计算科学
学
号:
姓
名:
单
焱
指导教师:
李
又
良
成绩:
2010 年 12 月 10 日
目 录
1课程设计研究背景及意义.......................................2 2 课程设计题目描述和基本功能设计要求...........................2 3 系统需求分析.................................................2 3.1 功能需求分析............................................2 3.2 其他需求分析............................................3 4 系统设计.....................................................3 4.1 总体设计................................................3 4.2 ATM柜员机界面设计......................................4 4.3 各功能模块设计..........................................5
4.3.1 登陆页面模块设计................................5 4.3.2 选择服务模块设计................................6 4.3.3 取款模块设计....................................7 4.3.4 修改密码模块设计................................8 4.3.5 查询余额模块设计................................9 4.3.6 退卡模块设计....................................9 4.4 异常处理情况说明.......................................10 5 系统实现与测试..............................................10 6 课程设计总结................................................13 6.1 遇到的问题及解决办法...................................13 6.2 心得体会...............................................14 参考文献......................................................14 附录(源码)..................................................14
1课程设计研究背景及意义
这次课程设计是通过JAVA编程来实现ATM柜员机的功能。以前,人们用手算取钱,不管从方便的角度还是速度的角度来看都不及现在。电子技术的不断发展使得ATM自动化的功能不断完善。在二十一世纪的今天,ATM柜员机是人们生活中重要的工具,所以,对ATM柜员机的研究的课程设计具有重大意义。
这次课程设计的主要目的是结合面向对象程序设计课程,培养我们面向对象开发的思维,初步了解软件开发的一般流程,提高用JAVA编程的实际动手能力并增强大家对面向对象的了解。这次课程设计的主要内容是独立用JAVA语言开发一个小的应用程序。课程设计题目描述和基本功能设计要求
本次设计的ATM柜员机主要是由各个Windows窗口组成,它是由登录页面、选择服务、取款、查询余额、修改密码和退卡等功能。它的各种按钮的事件和功能可以简单的模拟ATM柜员机的要求。组员分工:
组长(单焱): 负责分配其他组员的任务,构建需求分析,系统实现及异常处理情况,调试程序等,把握ATM柜员机的整体布局。
组员1(刘星):负责登陆界面模块,选择服务模块及退卡模块,编写相应代码。组员2(王玲玲):负责取款、修改密码、查询余额模块,编写相应代码。系统需求分析 3.1 功能需求分析
本ATM柜员机的主要功能如下所述:
要求使用图形用户界面。当输入给定的卡号和密码(初始卡号为000000和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:
查询余额:初始余额为50000元
ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。
ATM存款:不能出现负存款。
修改密码:只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
3.2 其他需求分析
(1)性能描述
实时性好、灵活性强、易于不同年龄阶段的人操作。(2)设计约束 开发工具:Eclipse3.2.运行环境:Windows 2000以上。(3)界面要求
以Windows窗口形式显示,标题栏为ATM柜员机名称,右上角有最小化按钮、最大化按钮、关闭按钮,不同的窗口中有不同的按钮和选择菜单。系统设计 4.1 总体设计
本次设计的ATM柜员机主要是由登录页面模块还由选择服务模块组成,其中选择服务模块又由取款模块、查询余额模块、修改密码模块、退卡模块组成。如图:
图1
ATM功能结构示意图
4.2 ATM柜员机界面设计
一个系统的界面应该要简单明了,当然样式美观就更好了。本次设计的界面主要是由窗体组成,操作简单。而每一个窗口则执行相应的功能。
一个系统界面的好坏直接影响到用户的操作,界面设计要求样式美观、简单明了、方便易操作。界面主要分为窗体、菜单、按钮和文本输入框几个部分,分别执行相应的操作。
(1)窗体的设计
窗体整个框架使用Frame类构造,Frame有自己的外边框和自己的标题,创建Frame时可以指定其窗口标题,我创建的窗口标题是各个不同功能的模块的名字,比如说查询余额,还有取款等。相应源代码为:WindowBox(String s){super(s);}、Selection(String s,Account act){ } 向Frame窗口中添加组件使用add()。例如:button1 = new Button(“存款”);
p1.add(button1);this.add(p1);super(s);每个Frame在其右上角都有三个控制图标,分别代表将窗口最小化、窗口最大化和关闭的操作,其中最小化和最大化操作Frame可自动完成,而关闭窗口操作实现需要书写有关的代码,在我的程序中我采用的是对WINDOWS_CLOSING事件做出响应,调用dispose()方法关闭窗口。Frame也可以引发WindowsEvent类代表的窗口事件。相应源代码为:
addWindowListener(new WindowAdapter()//窗口侦听器,以从此窗口接收窗口事件 {public void windowClosing(WindowEvent e)//处理窗口关闭事件
{ System.exit(0);} });}(2)窗体的主要结构的设计(网格布局)
我所设计的窗口的主要结构的特点就是每个窗口都对应着一个特定的功能。比如说报各种各样的错,还有各种查询余额、取款、选择服务等,所以它们都是由各种按钮和文本框,标签组成的,而联系各个窗体成为一个整体的就是各个按钮的监听事件。所以整个设计就趋向简单化了。
为了定义各个按钮所对应的命令和操作,首先需要将各个按钮注册给实现了动作事件的监听接口ActionListener的监听者,然后为监听者定义actionPerformed(ActionEvent e)方法,在这个方法中调用e.getSource()或e.getActionCommand()来判断用户点击的菜单子项,并完成这个菜单子项定义的操作。
4.3 各功能模块设计 4.3.1 登陆页面模块设计
与ATM柜员机打交道比较多的,也是大家对安全比较关心的问题:密码。所以第一个界面就是要输入密码和卡号才能继续服务。
我定义了文本框累的对象tf1,tf2。抓药是用于输入单行的文本;文本区调用public String getText()方法,获取用户想要的字符串。用来判断输入的密码和卡号是否正确,如果不正确的话,则弹出密码或卡号错误的警告框,并用dispose()关掉窗口。此模块相应的部分源代码为:
public void actionPerformed(ActionEvent e){
Account act;
String card;
String pwd;
act=new Account(“000000”,“Devil”,“123456”,50000);//初始化
/*选择各种服务*/
if(e.getSource()== button1){
String number1,number2;
number1=tf1.getText();
number2=tf2.getText();
/*判断密码和卡号是否正确*/ if((act.get_Code().equals(number1))&&(act.get_Password().equals(number2))){
dispose();
/*卡号和密码都正确则进入功能选择窗口*/
Selection s = new Selection(“选择服务”,act);
}else{
dispose();
JOptionPane.showMessageDialog(null, “您输入的卡号或密码不正确,请核实后再确定”,“消息!”, JOptionPane.INFORMATION_MESSAGE);
new WindowBox(“登录界面”);
}
}
/*退卡*/ if(e.getSource()==button2){
dispose();
JOptionPane.showMessageDialog(null, “谢谢使用!”, “消息!”,JOptionPane.INFORMATION_MESSAGE);System.exit(0);
} } 4.3.2 选择服务模块设计
在选择服务模块中,有各种ATM的服务功能,只要用户在该界面中选择按钮,它就会弹出各个相应的界面。每一个按钮都有监听器,在选择了按钮后,java.awt.event中的ActionEvent类创建一个事件对象,并将它传递给方法public void actionPerformed(ActionEvent e)中的参数e,监视器就会知道所发生的事件,对此事件进行处理。其中的部分源代码为:
p.add(new Label(“请选择你要的服务”));
this.add(p);
button1 = new Button(“存款”);
p1.add(button1);
this.add(p1);
button2 = new Button(“取款”);
p2.add(button2);
this.add(p2);
button3 = new Button(“查询余额”);
p3.add(button3);
this.add(p3);
button4 = new Button(“退出”);
p4.add(button4);
this.add(p4);
button5 = new Button(“修改密码”);
p5.add(button5);
this.add(p5);
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
});button2.addActionListener(this);button3.addActionListener(this);button4.addActionListener(this);button5.addActionListener(this);setBounds(300,300,300,300);setVisible(true);validate();} public void actionPerformed(ActionEvent e){ if(e.getSource()==button2){//取款
dispose();
GetBalance gb = new GetBalance(“取款”,act);} if(e.getSource()==button3){//查询余额
Query q =new Query(“查询余额”,act);
dispose();} else if(e.getSource()==button4){//退出
dispose();
} JOptionPane.showMessageDialog(null, “谢谢使用!”, “消息!”,JOptionPane.INFORMATION_MESSAGE);System.exit(0);
} else if(e.getSource()==button5){//修改密码
ChangePassword cp = new ChangePassword(“修改密码”,act);
dispose();} 4.3.3 取款模块设计
在取款模块中,和其他的界面也是同样的结构。也是有一个文本框和一个按钮还有标签组成的。用户在文本框中输入他想取的数额,但是必须是100的倍数,而且每一次最多只能取5000块。当然了取款的时候也不能超过卡里的余额,再就是卡里的余额不可以为负,否则就会弹出报错的窗口。其方法为:
if(e.getSource()== button){
if(act.get_Money()< 0){// 判断余额是否为负
dispose();JOptionPane.showMessageDialog(null, “余额为负数”, “消息”,JOptionPane.INFORMATION_MESSAGE);} else if(money <= act.get_Money()){// 取钱的数额不大于余额
if(money % 100 == 0){
dispose();
JOptionPane.showMessageDialog(null, “取款成功!”, “消息”,JOptionPane.INFORMATION_MESSAGE);act.set_Balance(money);this.setVisible(false);Selection s = new Selection(“选择服务”, act);}
if((money % 100!= 0)||(money >= 5000)){// 取钱数为100的倍数或不大于5000
dispose();
JOptionPane.showMessageDialog(null,的钱!“, ”消息“,务窗口
}
”每次只能取100的倍数,而且不能超过5000,请重新输入你想取
JOptionPane.INFORMATION_MESSAGE);act.get_Money();this.setVisible(false);Selection s = new Selection(“选择服务”, act);// 返回选择服} else if(money > act.get_Money()){// 判断取款数额是否大于余额
dispose();
JOptionPane.showMessageDialog(null, “超过已有的钱数,请重新输入你想取的钱!”,“消息”, JOptionPane.INFORMATION_MESSAGE);
this.setVisible(false);
} Selection s = new Selection(“选择服务”, act);} 4.3.4 修改密码模块设计
在修改密码模块中,首先你必须要输入你的旧密码是否正确,否则就会报错。再一个就是要两次输入你的新密码,且两次药匹配,否则也会报错,然后再重新回到修改密码的界面。在修改密码时用到的方法为:
/*判断旧密码是是否正确*/ if(pwd2.equals(act.get_Password())){ /*判断两次输入的密码是否匹配*/
if(pwd3.equals(pwd4)){
/*如果都正确的话就设置新密码*/
act.setPassword(pwd3);
dispose();
Selection s = new Selection(“选择”,act);}else{
dispose();
ErrorWarn2 ew2 = new ErrorWarn2(“消息”,act);
} }else{
this.setVisible(false);
ErrorWarn3 ew1 = new ErrorWarn3(“消息”,act);
dispose();} 4.3.5 查询余额模块设计
在查询余额模块设计中, 和其他的界面的结构相差不多。有一个余额显示和一个按钮还有标签组成的。查询时用到的方法:
Query(String s, Account act){// 构造函数
super(s);this.act = act;button = new Button(“确定”);// TextField tf = new TextField(6);Panel panel1 = new Panel();Panel panel = new Panel();panel1.add(new Label(“你的余额为: ” + act.get_Money()));// 查询余额的button.addActionListener(this);panel.add(button);this.add(panel);this.add(panel1);this.setLayout(new GridLayout(2, 1));this.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){
System.exit(0);} });setBounds(300, 300, 300, 300);setVisible(true);
方法
} 4.3.6 退卡模块设计
在退卡模块设计中,这个方法就更加的简单了,它只是用了if(e.getSource()==button4){//退出
dispose();JOptionPane.showMessageDialog(null, “谢谢使用!”, “消息!”,JOptionPane.INFORMATION_MESSAGE);System.exit(0);} 这个方法就可以实现了,这里就不再多说了。
4.4 异常处理情况说明
(1)打开、保存文件时的异常处理 需要处理的异常:IOException(2)数据库访问时的异常处理 需要处理的异常:SQLException(3)加载类时的异常处理
需要处理的异常:ClassNotFindException,当应用程序试图使用Class类中的forName方法通过字符串名加载类时,但是没有找到具有指定名称的类的定义。
(4)加载URL时的异常
需要处理的异常:MalformedURLException,抛出这一异常指示出现了错误的 URL。或者在规范字符串中找不到任何合法协议,或者无法分析字符串。系统实现与测试
(1)编译运行程序后,将会看到如下的界面,如图2所示。如果输入的密码或卡号不正确的话就会报右下图的错误。
图2 主界面—登陆页面
(2)选择服务界面效果
当输入的密码和卡号正确,单击确定后就会进入到选择服务的界面,如图3所示。然后就可以选择所需要的服务了。
图3 选择服务界面
(3)取款界面,如图4所示。
图4 取款界面
当输入的钱数不是100的倍数或每一次大于5000时就会报图5的错误。
图5 输入错误1 当取款时如果超过卡里的余额的话就会报图6的错误。
图6 输入错误2(4)查询余额界面,如图7所示。
图7 查询余额界面
(5)修改密码界面,如图8所示。
图8 修改密码界面
当输入的初始密码不正确会报图9所示错误。
图9 输入错误1
当2次输入的新密码不同会报图10所示错误。
图10 输入错误2
经过测试,所有的功能基本上都实现了,而且运行正常。课程设计总结
6.1 遇到的问题及解决办法
在此次课程设计中遇到了一些问题,如:对于面向对象的方法了解不够透彻,运用到实际的软件开发中存在着困难;对于Java语言,只学习到了一些最基本的知识,这导致编写程序时经常出现一些语法错误,而且要在短时间内用Java语言来设计一个具体的系统是一个较大的挑战;还有对于正规开发一个系统的流程不熟悉,适应起来比较慢,编写各个模块相对应的操作时,自己感觉难以动手,这表明所学的知识不能灵活运用到实际中。
对于以上的问题,自己有清楚的认识,解决办法是需要大量阅读相关的书籍,对于书上以及网站上下载的资料中的Java实例必须有清楚的理解,还有就是多跟精通此方面的老师和同学交流,取其精华。对于实际动手能力与系统开发的流程的适应,必须多进
行实际的练习与操作,才能有大的进步。
6.2 心得体会
在这次的课程设计中,主要运用了Java语言的界面设计、异常处理、、Awt控件、Swing控件,输入输出流等,综合运用了Java语言。深刻感受到了面向对象语言中类库的强大功能,掌握了运用Java中的类实现某些基本功能,并学会了自己查询使用类的方法,为以后的面向对象语言的自学奠定了基础。
通过这次课程设计我学到了一些东西,这次的课程设计中,主要是运用JAVA语言来编写一个小的应用程序,当然还可以用其他的技术来辅助。在这个小应用程序当中,我用了Java外还用了Swing控件。输入输出流等。由于以前学的不是很扎实,而且还有些知识我们都是没有学过的,这就要求我们去查相关的书籍,还有就是和同学之间的交流。正因为这样,才锻炼了我的自学的能力,还有就是加深了我对各个知识点的认识,并且提高了我对专业的学习的兴趣,为我以后的学习打下了基础。此外,还感受到了面向对象语言的类库的强大的功能,掌握了运用JAVA中的类实现某些基本功能,并学会了自己查询使用类的方法,也就是要会用API文档,为以后更好的学习面向对象语言奠定了基础。
通过努力,这次课程设计终于完成了,在这个过程当中,学到了很多的知识,同时也感谢我的同学的帮助和指导。在以后的学习当中,我会更加努力的学习好专业知识,并将所学的知识用于实践当中去,以便牢固掌握知识。
参考文献
[1] 王萌,刘婧,来宾著.JAVA程序设计[M]北京 冶金工业出版社,2004 [2] 黄聪明 精通 JAVA2程序设计[M]北京:清华大学出版社,2004.4 [3] 王文涛,袁海燕 JAVA实用程序设计100例[M]北京:人民邮电出版社,2005.5 [4] 雍俊海 JAVA程序设计[M]北京:清华大学出版社,2006.8 [5] 刘宝林 JAVA程序设计与案例[M]北京:高等教育出版社,2006.11 附录(源码)
/******登陆页面首窗口*******/ import javax.swing.*;import java.awt.*;import javax.swing.border.*;import java.awt.event.*;
import java.io.*;
public class WindowBox extends Frame implements ActionListener { Box baseBox, box1, box2;TextField tf1, tf2;Button button1;Button button2;
WindowBox(String s){// 构造方法
super(s);tf1 = new TextField(6);tf2 = new TextField(6);box1 = Box.createVerticalBox();
box1.add(new Label(“请输入你的卡号”));// 输入卡号 box1.add(Box.createVerticalStrut(8));box1.add(new Label(“请输入你的密码”));// 输入密码 box2 = Box.createVerticalBox();box2.add(tf1);// box2.add(new TextField(16));
box2.add(Box.createVerticalStrut(8));box2.add(tf2);// box2.add(new TextField(16));
baseBox = Box.createHorizontalBox();baseBox.add(box1);baseBox.add(Box.createHorizontalStrut(10));baseBox.add(box2);add(baseBox);button1 = new Button(“确定”);// 加入按钮 button1.addActionListener(this);add(button1);button2 = new Button(“退卡”);// 退卡按钮 button2.addActionListener(this);add(button2);setLayout(new FlowLayout());/* 监听器 */
this.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){
System.exit(0);} });setBounds(300,300,220,220);setVisible(true);} public void actionPerformed(ActionEvent e){
Account act;String card;String pwd;act = new Account(“000000”, “Devil”, “123456”, 50000);// 初始化 /* 选择各种服务 */
if(e.getSource()== button1){
String number1, number2;// 输入的两个卡号和密码的变量 number1 = tf1.getText();number2 = tf2.getText();/* 判断两次输入的卡号和密码是否正确 */
if((act.get_Code().equals(number1))
&&(act.get_Password().equals(number2))){ dispose();Selection s = new Selection(“选择服务”, act);} else { dispose();
JOptionPane.showMessageDialog(null, “您输入的卡号或密码不正确,请核实后再确定”,“消息!”, JOptionPane.INFORMATION_MESSAGE);
// 报输入密码或卡号不正确
new WindowBox(“登录界面”);
}
}
if(e.getSource()== button2){
System.exit(0);
dispose();// 退出
} } }
/*************主函数****************/ public class ATM { public static void main(String[] args){
new WindowBox(“登录页面”);} } /********* 选择服务窗口 ***************/ import java.awt.*;import java.awt.event.*;
public class Selection extends Frame implements ActionListener { Button button1, button2, button3, button4, button5;
Panel p1 = new Panel();Panel p2 = new Panel();Panel p3 = new Panel();Panel p4 = new Panel();Panel p5 = new Panel();Panel p = new Panel();Account act;public Selection(){ } Selection(String s, Account act){ super(s);this.act = act;this.setLayout(null);this.setLayout(new GridLayout(6, 1));
p.add(new Label(“请选择你要的服务”));this.add(p);/* 各种服务功能 */
button1 = new Button(“存款”);p1.add(button1);this.add(p1);button2 = new Button(“取款”);p2.add(button2);this.add(p2);button3 = new Button(“查询余额”);p3.add(button3);this.add(p3);button4 = new Button(“退出”);p4.add(button4);this.add(p4);button5 = new Button(“修改密码”);p5.add(button5);this.add(p5);this.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){
System.exit(0);} });button2.addActionListener(this);button3.addActionListener(this);button4.addActionListener(this);button5.addActionListener(this);setBounds(300, 300, 300, 300);setVisible(true);validate();
} } public void actionPerformed(ActionEvent e){
} if(e.getSource()== button2){// 取款
dispose();GetBalance gb = new GetBalance(“取款”, act);} if(e.getSource()== button3){// 查询余额
Query q = new Query(“查询余额”, act);dispose();} else if(e.getSource()== button4){// 退出
dispose();
JOptionPane.showMessageDialog(null, “谢谢使用!”, “消息!”,JOptionPane.INFORMATION_MESSAGE);System.exit(0);} else if(e.getSource()== button5){// 修改密码
ChangePassword cp = new ChangePassword(“修改密码”, act);dispose();} /**********取款功能************/ import javax.swing.*;import java.awt.*;import javax.swing.border.*;import java.awt.event.*;
public class GetBalance extends Frame implements ActionListener { Box baseBox, box1, box2;Button button;TextField tf;Account act;
GetBalance(String s, Account act){// 构造函数
super(s);this.act = act;
button = new Button(“确定”);Panel panel = new Panel();Panel panel1 = new Panel();tf = new TextField(6);this.setLayout(new GridLayout(2, 1));panel1.add(new Label(“请输入你想取钱的数目”));panel1.add(tf);panel.add(button);this.add(panel1);
this.add(panel);button.addActionListener(this);this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
} });setBounds(300, 300, 300, 300);this.setVisible(true);} public void actionPerformed(ActionEvent e){ // System.out.println(e.getActionCommand());
double money;money = Double.parseDouble(tf.getText().trim());if(e.getSource()== button){
if(act.get_Money()< 0){// 判断余额是否为负
dispose();JOptionPane.showMessageDialog(null, “余额为负数”, “消息”,JOptionPane.INFORMATION_MESSAGE);} else if(money <= act.get_Money()){// 取钱的数额不大于余额
if(money % 100 == 0){
dispose();
JOptionPane.showMessageDialog(null, “取款成功!”, “消息”,JOptionPane.INFORMATION_MESSAGE);act.set_Balance(money);this.setVisible(false);Selection s = new Selection(“选择服务”, act);}
if((money % 100!= 0)||(money >= 5000)){// 取钱数为100的倍数或不大于5000
dispose();
JOptionPane.showMessageDialog(null,的钱!“, ”消息“,务窗口
”每次只能取100的倍数,而且不能超过5000,请重新输入你想取
JOptionPane.INFORMATION_MESSAGE);act.get_Money();this.setVisible(false);Selection s = new Selection(“选择服务”, act);// 返回选择服 // dispose();} } else if(money > act.get_Money()){// 判断取款数额是否大于余额
dispose();JOptionPane.showMessageDialog(null, “超过已有的钱数,请重新输入
你想取的钱!”,“消息”, JOptionPane.INFORMATION_MESSAGE);
this.setVisible(false);口
Selection s = new Selection(“选择服务”, act);// 返回选择服务窗
} } } }
/********修改密码功能*************/ import java.awt.Button;import java.awt.Frame;import java.awt.GridLayout;import java.awt.Label;import java.awt.Panel;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.JOptionPane;
public class ChangePassword extends Frame implements ActionListener { Panel panel1 = new Panel();Panel panel2 = new Panel();Panel panel3 = new Panel();Panel panel = new Panel();TextField tf4, tf5, tf6;Button button;Account act;ChangePassword(String s, Account act){
super(s);
this.act = act;
tf4 = new TextField(6);
tf5 = new TextField(6);
tf6 = new TextField(6);
button = new Button(“确定”);button.addActionListener(this);/* 建立新密码 */
panel1.add(new Label(“请输入你的旧密码:”));panel1.add(tf4);panel2.add(new Label(“请输入你的新密码:”));panel2.add(tf5);
} panel3.add(new Label(“请再次输入你的新密码”));panel3.add(tf6);panel.add(button);this.add(panel1);this.add(panel2);this.add(panel3);this.add(panel);setLayout(new GridLayout(4, 1));setBounds(300, 300, 300, 300);this.setVisible(true);/* 窗口事件 */
this.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){
System.exit(0);} });/* 判断事件源,看条件是否成立再修改密码 */
public void actionPerformed(ActionEvent e){ if(e.getSource()== button){
String pwd2, pwd3, pwd4;
pwd2 = tf4.getText();
pwd3 = tf5.getText();
pwd4 = tf6.getText();
if(pwd2.equals(act.get_Password())){// 判断旧密码是否正确
if(pwd3.equals(pwd4)){// 判断两次输入的新密码是个匹配
act.setPassword(pwd3);// 启用新的密码
dispose();
JOptionPane.showMessageDialog(null, “密码修改成功!”, “消息
JOptionPane.INFORMATION_MESSAGE);
”,Selection s = new Selection(“选择”, act);// 返回服务窗口 } else { this.setVisible(true);
// ErrorWarn2 ew = new ErrorWarn2(“消息”,act);dispose();JOptionPane.showMessageDialog(null, “两次密码输入不匹配”, “
JOptionPane.INFORMATION_MESSAGE);
消息”,Selection s = new Selection(“选择”, act);// 返回服务窗口
} } else { this.setVisible(false);dispose();
“,} JOptionPane.showMessageDialog(null, ”初始密码输入错误“, ”消息
JOptionPane.INFORMATION_MESSAGE);
Selection s = new Selection(“选择”, act);// 返回选择服务窗口
} } } /**************查询余额功能******************/ import javax.swing.*;import java.awt.*;import javax.swing.border.*;import java.awt.event.*;
public class Query extends Frame implements ActionListener { Button button;Account act;
Query(String s, Account act){// 构造函数
super(s);this.act = act;
button = new Button(“确定”);// TextField tf = new TextField(6);Panel panel1 = new Panel();Panel panel = new Panel();
panel1.add(new Label(“你的余额为: ” + act.get_Money()));// 查询余额的方法
// panel1.add(tf);
button.addActionListener(this);
panel.add(button);
this.add(panel);
this.add(panel1);
this.setLayout(new GridLayout(2, 1));
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
setBounds(300, 300, 300, 300);
setVisible(true);} public void actionPerformed(ActionEvent e){
if(e.getSource()== button){
dispose();
Selection s = new Selection(“选择服务”, act);// 返回选择服务窗口
} } }
/***********账户****************/ import java.io.*;/* 该类为实现客户信息及部分功能 */ public class Account {
{
} private String code = null;// 信用卡号 private String name = null;// 客户姓名
private String password = null;// 客户密码 private double money = 0.0;// 卡里金额
public Account(String code, String name, String password, double money)
} this.code = code;this.name = name;this.password = password;this.money = money;public String get_Code(){// 取得卡号
return code;} public String get_Name(){// 取得名字
return name;} public String get_Password(){// 取得密码
return password;} public double get_Money(){// 重置余额
return money;} /* 得到剩余的钱的数目 */
protected void set_Balance(double mon){ money-= mon;} /* 重置密码的方法 */
6.atm机需求分析 篇六
ATM机又被称之为“自助柜员机”, 通过现代化的自助服务设施, 它为客户提供了便捷、高效的自助金融服务, 包括存取现金、转账、查询余额、缴费等。ATM机不但方便了客户的日常金融活动, 而且拓宽了银行的服务渠道, 为金融行业节省了大量服务成本。基于这些优势, ATM机在我国各大城市的普及率越来越高, 截至2012 年, 我国拥有约50 万台ATM机, 从而超越美国成为ATM机拥有量最大的国家。然而, 在使用ATM机过程中, 操作繁琐、易误操作、安全性不足等问题普遍存在, 不仅为客户带来不便, 还浪费了社会资源。基于此, 本文从人因工程的角度出发, 改善ATM机的设计。
1 人因工程概述
人因工程学 (Human Factors Engineering) 又被称为工效学, 主要研究人和机器、环境的相互作用及其合理结合, 使设计的机器和环境系统适合人的生理、心理等特点, 以达到在生产中提高效率、安全性、健康性和舒适度的目的[1]。本文对现有市面上主流的ATM机的改善设计主要运用的人因工程学科的理论和方法有以下几方面。
(1) 人体测量[1], 是指通过测量人体各部位尺寸来确定个体之间和群体之间在人体尺寸上的差别, 用以研究人的形态特征, 从而为ATM机设计提供人体测量数据。
(2) 视觉特性, 包括人们在操作ATMA机时, 通过视觉通道感知信息时的视觉运动规律、不同类型工作的最佳视距、不同作业任务下的最佳视野等。
(3) 认知心理学, 是主要研究人与外界交互及人认知外界的科学。认知心理学的研究内容包括:感知与处理信息、记忆和学习、思维与决策、注意和持续警觉等认知特征和内容。
(4) 可用性设计, 即ATM机的设计要以用户需求为中心, 应包含三方面的内容: (1) 有效性, 用户使用该产品是否能达成目标任务; (2) 效率, 用户为达成目标任务需要付出多大精力; (3) 满意度, 用户使用该产品的过程中用户体验如何。
2 改善前ATM机的用户满意度问卷调查
本文选取中国建设银行在某高校内的ATM机为改善实例。遵循全面性、代表性、相关性和可实施性的调查指标体系设计原则, 选取可操作性、安全性、舒适性三个指标设计了包括10 个问题的问卷, 共发出140 份, 回收128份, 回收率91.4%。其中, 有效问卷116 份, 占总问卷数的82.9%, 占回收问卷数的90.6%。有效问卷基本涵盖了各性别、年龄、学历层级, 具有代表性, 能够较真实地反映用户对ATM机的满意度情况。经过问卷的信度和效度的检验, 可得出以下结论:在可操作性方面, 控制装置的布局和软件界面信息的指引满意度较低, 系统提示音效果和机器运行稳定度满意度一般;在安全性方面, 密码防泄漏和安全信息宣传指导满意度较好, 防吞卡、吞钞机制则满意度一般;在舒适性方面, ATM亭空间大小满意度较好, 光线亮度满意度一般, 按键的触感满意度较差。
3 ATM机可操作性的改善设计
3.1 坐标体系的选取
(1) 表征各部件在ATM机上具体的位置: (1) 坐标描述式, 以ATM机最左下角与地面接触点为基准点 (0, 0, 0) 建立坐标系, 以人面向ATM机而论, 取水平方向从左至右为X轴, 取水平方向视线往前为Y轴, 垂直方向从下往上为Z轴, 坐标轴上单位长度取1mm; (2) 文字描述式, 距ATM机左侧面多少mm, 距地面高度多少mm, 及部件的长宽。
(2) 表证各部件相对于用户所处的位置:不采用绝对的坐标描述, 以相对于用户位置 (人正中点) 的距离进行文字描述, 包括:在左/ 右侧距用户多少mm, 在前方距用户多少mm, 距地高度多少mm。经实地考证且观察测量多名用户实际操作上述建行ATM机所站位置, 取用户位置为正对ATM机显示屏幕中心点, 且前立面距ATM前立面171mm。
3.2 尺寸分析与设计
ATM机属于通用产品, 故采用平均尺寸设计原则, 取成年男性 (18 岁至60 岁) 立姿眼高、上臂长、前臂长、最大肩宽、立姿肩高、立资手功能高和立姿肘高等相关尺寸的第50 百分位数为ATM机相关尺寸的设计依据。同时考虑穿鞋修正量, 根据GB/T12985-91 规定身高、立姿眼高、立姿肩高、立姿肘高对男子加25mm, 对女子加40mm。本文选取中国建设银行在某高校内的ATM机为改善的实例, 具体分析如下。
3.2.1 显示器
测量的显示器 (取显示器中心点) 相对用户位置参数:处于用户正中面上, 在前方距用户306mm, 距地高1075mm, 显示器与冠状面所成锐角角度为30°。
(1) 从视角角度分析, 取成年男性 (18 岁至60 岁) 的第50 百分位数的眼高为1568mm, 加上25mm的功能修正量后为1593mm, 可求得:用户视角角度=arctan[ (眼高-显示器高) /Y轴上人眼到显示器距离]=arctan[ (1593-1075) /306]=59°。根据人的视觉特性, 当视角为15°时处在最佳观察角度, 可求得:最佳Z轴上人眼到显示器距离=Y轴上人眼到显示器距离 ×tan15° =306×tan15° =82mm, 则:显示器改善后距地高= 眼高- 最佳Z轴上人眼到显示器距离=1593-82=1511mm;按视角向下偏离水平视线15°计算可得:显示器与视线所成角度=30°+75°=105°, 根据视线与屏幕最佳角度为垂直角度, 按此可求得:显示器与冠状面所成锐角=15°。
(2) 从视距角度分析, 按显示器改善后位置, 取改善后显示器最佳据地高数值来计算, 可求得:属于适合精细作业的视距范围内, 可以接受。
属于适合精细作业的视距范围内, 可以接受。
综上分析, 将显示器距地高改为1511mm, 显示器与冠状面所成锐角为15°。
3.2.2 输入键盘
测量的键盘 (取键盘中心点) 相对用户位置参数:处于用户正中面上, 在前方距用户171mm, 距地高913mm, 与水平面所成锐角为15°, 击键力4.2N。
(1) 从作业范围分析, 输入键盘在整个ATM机使用中属于相对作业精度较高的, 根据作业空间模型结论, 应处在最适宜活动范围。键盘在前方距用户的距离处于最适宜活动范围, 可不改变。键盘距地高为913mm, 低于最适宜活动范围, 应改为处于1043 ~ 1393mm之间。键盘倾斜度为15°, 处于人因工程推荐范围内, 较为适宜, 无需修改。
(2) 从视角分析, 取成年男性 (18 岁至60 岁) 的第50 百分位数的眼高为1568mm, 加上25mm的功能修正量后为1593mm。键盘应处于良好视区, 故取视角角度为30°计算可得:键盘据地高= 眼高-Y轴上人眼和键盘距离 ×tan30° =1593-171×tan30° =1494mm, 即键盘距地高应处于1494 ~ 1593mm之间。
(3) 其余位置受限条件分析, 改善后显示器底端高=显示器中心高- 显示器垂直宽/2=1511-185/2=1419mm, 另有键盘遮挡板高=73mm, 故键盘最高据地高= 改善后显示器底端高- 键盘挡板高=1419-73=1346mm。
(4) 键盘击键力改善分析, 测得键盘击键力为4.2N, 较为费力。根据日本工效学协会建立的平板显示器功效学会委员会提出的“针对计算机显示终端的一些人因工程建议”表, 键盘的推荐击键力范围为0.25 ~ 1.5N。据此推荐值, 将ATM机输入键盘的击键力改为1.5N较为适宜。
(5) 遮档板改善分析, 遮挡板的作用是为了保护密码安全, 但保护安全的同时也造成了对用户视线的遮挡, 使其看不清上方的键盘, 每次使用前都需要蹲下才能看清上方的键盘标识, 非常麻烦。建议将遮挡板改为可翻起式, 当需要看清上方键盘标识时, 可将遮挡板上方翻起, 当实际输入密码时, 将遮挡板再放下。
综上分析, 将键盘距地高改为1346mm, 将键盘击键力改为1.5N, 将遮挡板上方改为可翻起式。
3.2.3 屏幕按钮
显示器按钮位置 (取竖排四个按钮中心点) 按改善后显示器位置来算, 可得其相对用户位置参数:在左/ 右侧距用户148mm, 在前方距用户306mm, 距地高1486mm, 击键力4.2N。
(1) 从作业范围分析, 作为屏幕按钮, 其据地高跟随改善后的显示器, 即改善后屏幕按钮距地高为1511mm, 略高于最适宜的活动范围是1043 ~ 1393mm, 考虑到显示器位置的安排具有更高优先级, 故屏幕按钮距地高还是取1511mm。 (2) 击键力改善分析, 如上文分析, 将ATM机输入键盘的击键力改为1.5N较为适宜。
综上分析, 将按钮距地高改为1511mm, 击键力改为1.5N。
3.2.4 插卡槽
测量的插卡槽相对用户位置参数: 在右侧距用户234mm, 在前方距用户171mm, 距地高1053mm。
(1) 从作业范围分析, 插卡槽距地高处于最适宜活动范围1043 ~ 1393mm内, 无需修改。
(2) 从视角分析, 因为用户取钞退卡后会出现将磁卡遗忘的情况, 故应考虑将磁卡置于良好视区内。取成年男性 (18 岁至60 岁) 的第50 百分位数的眼高为1568mm, 加上25mm的功能修正量后为1593mm, 取最佳观察视角角度15°, 可求得:
综上分析, 相较于作业方便和不将银行卡遗漏, 后者更为重要, 故将其列为优先考虑级, 按视角分析更改数据, 将插卡槽距地高改为1173mm。
3.2.5 凭条出口
测量的凭条出口相对用户位置参数:在右侧距用户234mm, 在前方距用户171mm, 距地高1147mm。
据上可知, 现已将插卡槽据地高改为1173mm, 与凭条出口现在位置相距太近, 应改变凭条出口所在位置。对凭条出口而言, 作业方便与视角方便相比, 前者重要程度更高, 应优先考虑, 已知插卡槽原位置处于最适宜活动范围内, 故将凭条出口挪至插卡槽原位置。
综上分析, 将凭条出口距地高改为1053mm。
3.2.6 出钞口
测量的出钞口相对用户位置参数:处于用户正中面上, 在前方距用户258mm, 距地高810mm。
从作业范围分析, 在前方距用户距离较适宜, 处于水平放行最适宜作业范围508mm内, 故无需修改。从用户取钞动作特点分析, 出钞口距地高可做调整:由于本台ATM机只有取款而无存款功能, 故出钞口的作业活动很简单, 只有一个取钞的动作, 此处重点考虑手功能高来设计高度。取成年男性 (18 岁至60 岁) 的第50 百分位数的手功能高为741mm, 考虑功能修正量, 其中, 着装修正量取25mm, 取抓取动作时手臂向上微微抬起的姿态修正量为50mm。可求得:出钞口距地高= 第50 百分位数男性手功能高+ 功能修正量=741+25+50=816mm。
综上分析, 将出钞口距地高改为816mm。
改善后的ATM机各部件布局主视图如图1 所示。图中1为ATM机身, 2 为显示器, 3、4 为显示器旁按钮, 5 为输入键盘及其遮挡板, 6 为插卡槽, 7 为打印凭条出口, 8 为出钞口, 9 为呼救装置, 10 为监控摄像头。
4 安全性改善设计
4.1 现有安全漏洞问题
ATM机使用中现有的安全漏洞问题主要有以下三点[2,3,4]。
(1) 磁卡遗漏问题。在ATM机完成吐钞后, 很多人会顺手按下退卡按钮, 然后忙于清点钞票并装入钱包, 很容易忘记及时取出磁卡, 以致造成磁卡30 秒无人处理后被吞卡。
(2) 当现钞被堵不能从出钞口吐出而进入废钞箱时, 无明确的语音或屏幕提示。许多人并不一定能看明白交易单上的字符含义, 往往认为交易是成功的。
(3) 磁卡出入口闸门出现故障无报警。在磁卡正确插进磁卡入口处后, 柜员机打开闸门, 传送机构导进磁卡, 闸门关闭。退卡时, 闸门打开, 卡退出, 闸门再次关闭, 等侯下一次插卡。不法分子用一个特制的夹卡器, 给出插卡信号, 闸门打开后顶进去, 并卡在中间, 使从磁卡出入口处从外观上看不出异常。持卡人将银行卡插进后, 将被带进夹卡器内, 进也不能, 退也不能, 柜员机上提示柜员机故障。不法分子待持卡人走后将夹卡器钩出来, 从而获得持卡人磁卡。
4.2 解决方案
(1) 在插卡槽处添加光电传感器。出入口上部发射红外光, 下部接收红外光, 当有卡片处于磁卡出入口, 阻断红外线, 光电传感器传出插卡信号给ATM主机, 主机检测到插卡信号维持超过20s, 则驱动扬声器发出“请注意及时取出或插入银行卡!”的告警音, 提示持卡人注意。
(2) 安装出钞口卡死传感器。主机通过传感器识别出钞口卡死情况后会马上播放告警音, 提醒持卡人取款失败, 拨打提示音中正确的银行服务电话处理, 进而避免产生坏账。
(3) 建立银行卡卡住处理机制。传感器可检测到银行卡被卡住, ATM主机检测到银行卡卡住30s以上时, 则给银行值班人员发送相应短信, 报告银行卡卡住持续时间过长, 柜员机有故障发生。值班人员通过短信可判断发生故障的柜员机在何处, 开启现场监控镜头, 若判定机器前为普通用户, 则立即开启柜员机现场语音告警“柜员机故障, 请勿离开并与XXXX电话联系”, 提醒持卡人不要离开现场, 拨打银行服务电话处理, 从而避免持卡人的损失。若通过摄像头发现ATM机前为可疑分子, 则到现场附近观察, 进行布控, 直接将不法分子捕获。如果值班人员未能及时接受到主机发送的信息, 则过二十秒后自动启动语音告警提示。
5 舒适性改善设计
5.1 照明改善
利用照度计测得人操作界面处照明度约为106lx。本文以美国照明工程学会 (IES) 提出的方法确定最低照明水平[5], ATM机的使用为D类活动, 使用ATM机的用户以低于40 岁的人为主, 故年龄权重-1;速度/ 精度方面在使用ATM机时不重要, 权重-1;任务背景的反差指的是墙壁与地板的反差, ATM亭里反差大于70%, 故权重为-1。算出代数权重和为-3, 则可知应取D类的低值, 即200lx, 故应将ATM机操作界面处的照明度调整至2 00lx。
5.2 噪声改善
经测量, ATM机系统提示音音量为71 分贝, 钞箱出钞声音为65 分贝。以普通人的听觉, 20 ~ 40 分贝安静、犹如轻声细语;40 ~ 60 分贝一般;普通室内谈话60 ~ 70 分贝, 吵闹, 有损神经;90 ~ 100 分贝吵闹加剧, 听力受损[6]。系统提示音音量应改为60 分贝, 因有ATM亭存在, 操作环境较为安静, 且60 分贝能营造普通朋友对话的氛围, 不带压迫性。钞箱出钞声音应改为50 分贝, 让用户能感知到钞箱在出钞即可。
6 结语
本文以银行自助渠道的ATM机为研究对象, 在现有的ATM机产品的基础上, 综合运用人因工程学的相关知识, 从可操作性、安全性和舒适性三方面提出了全面的改善设计, 给出了较系统改善设计方案, 从而优化用户的操作体验, 提高用户满意度, 保障用户操作安全。
摘要:针对当前市面上主流的ATM机用户满意度调查不理想的问题, 运用人因工程的理论和方法, 从可操作性、安全性和舒适性的角度进行改善分析, 并给出系统的改善设计方案, 从而优化用户体验, 提高用户满意度, 保障用户的操作安全。
关键词:ATM机,人因工程,用户体验
参考文献
[1]孙林岩.人因工程[M].北京:科学出版社, 2011.
[2]肖树杰, 张晓峰.ATM柜员机存在问题的对策与建议[J].华南金融电脑, 2008, (10) :49-51.
[3]张晓锋.ATM柜员机存在问题亟待解决[J].金卡工程, 2007, (10) :64-65.
[4]阳富强, 吴超.基于人机工程学的银行ATM设计[J].工业安全与环保, 2007, (3) :45-47.
[5]王姗姗.自助服务系统的人机界面研究[D].沈阳:沈阳航空工业学院, 2010.
【atm机需求分析】推荐阅读:
会计岗位需求分析08-27
网站需求调查表和网站需求分析报告09-20
淘宝商城系统需求分析08-01
村村通需求分析09-16
企业需求分析报告10-20
需求性分析报告10-28
公司招聘需求分析10-31
企业培训需求分析11-13
信息安全需求分析报告06-15
网上购物用户需求分析06-26