




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ATM系统分析与设计需求分析一总体要求:1,ATM机要可以判断磁卡的类别,如果不是有效的磁卡则退卡; 2,可以在较快的时间内响应用户的请求,并针对相应的请求执行正确的操作;3,当卡在ATM机内30秒内没有操作时,系统自动没收信用卡;4,查自己的账户时应显示余额和可用余额,并显示ATM机里所拥有的现金面值,让用户可以做出正确的选择;5,提取现金时提示用户输入取款金额并判断输入是否确,如果错误提醒用户并要求重新操作,正确则提醒用户收取现金;钞票在出钞机内30秒内没人取走,自动回收钞票;6,转账汇款时让用户选择转账类型,要求用户输入转账账号并要求用户输入两次,以确保没有输入错误,在两次输入都正确的情况下,让用户输入转账金额,并作最后的确认。7,进入修改密码界面后提醒用户输入新密码,并要求再次输入以确保密码统一无误,在确认后完成修改操作,并提醒用户新询密码生效;8,对于错误的操作或者操作延时做出有效的处理。二,系统要求:要求用户一次取款数额不得大于2500元;要求用户一天取款数额不得超过5000元;要求用户连续输入错误密码次数不得超过3次。三,系统性能要求:要求反应时间不得大于10秒钟;四:设计目标:系统可以提供24小时不间断服务,操作简单,可以很方便为用户提供取款、转账/汇款、查询账户信息等服务。 模型分析一:设计DFD图。(1) 顶层DFD图:用户 银行卡交易凭条银行卡ATM系统用户 (2)0层DFD图:银行卡密码确认用户 选择操作账户信息退出退出类型用户判断超时执行操作提示信息操作类型没收信用卡(3)1层DFD图:超时信息未超时信息没收信用卡操作是否超过30秒退出用户警告信息银行卡取款取款操作查询是否打印账单查询操作打印账单选择信息选择交易密码确认退出类型转账操作更改密码操作退出转账银行卡更改密码用户取款子系统:客户存储信息单 选择交易收回货币30秒内无响应提取现金取款金额选择货币种类调用取款系统选择信息取款操作选择信息现金警示信息用户查询子系统:客户存储信息单选择交易调用查询系统 选择货币种类选择信息查询信息查询账户查询操作显示选择信息用户转账子系统:客户存储信息单卡内转账选择信息选择交易调用转账系统 查询操作转入卡号信息选择信息卡卡转账选择信息转入卡号信息转账金额记录记录记录更改密码子系统:客户存储信息单调用更改密码系统选择交易记录新密码新密码更改密码信息确认选择信息 二:组织结构设计 (1)系统结构读卡机模块键盘输入模块显示模块ATM机系统认证模块出钞模块打印模块(2) 读卡机系统输入:银行卡 查询数据库,识别卡号及所属银行输出:显示卡号及所属银行信息(3)键盘输入子系统输入:密码,取款金额,查询余额等验证信息显示相关操作10秒内无操作则吞卡认证子系统:输入卡号连接认证服务器验证卡号信息正确则显示输入密码,否则吐卡 显示子系统:信息输入后台处理在屏幕上显示处理情况出钞子系统:输入金额后台处理输出现金30秒内客户不取走现金则吞入现金打印子系统:客户选择是否打印后台处理输出报表或者无动作数据库子系统:客户输入信息数据库查询在输出显示查询信息建立模型一:建立基本系统模型图二:建立序列图:代码设计:#includeclass consumer;class ATM / ATM取款机public: ATM(consumer& cn):cnsm(cn) void welcome(); / 登陆界面 bool check_passwd(char n,char pwd); / 核对密码 void change_passwd(); / 修改密码 void fetchmoney(); / 取款 void information(); / 查询信息 void exitATM(); / 退出系统 void functionshow(); / 功能界面 void lock(); / 锁机private: int times; / 记录密码输入次数 consumer& cnsm;class consumer/ 用户public: friend class ATM; consumer(char Name,char Num, float Money,char Password);protected: char* get_name(); / 取得姓名 char* get_num(); / 取得卡号 char* get_passwd(); / 取得密码 float get_money(); / 取得余额 void set_passwd(char pwd); / 设置密码 void set_money(float m); / 取钱private: char passwd8; / 用户密码 char name20; / 用户姓名 char num20; float money;/ * consumer类的成员函数 *#includefunction.h#includeconsumer:consumer(char Name,char Num,float Money,char Password) strcpy(name,Name); strcpy(num,Num); money=Money; strcpy(passwd,Password);float consumer:get_money() return money;char* consumer:get_name() return name;char* consumer:get_num() return num;char* consumer:get_passwd() return passwd;void consumer:set_money(float m) money-=m;void consumer:set_passwd(char pwd) strcpy(passwd,pwd);/ * ATM类的成员函数 *#include function.h#include #includevoid ATM:welcome() times=0; cout$ 欢迎使用ATM自动取款机! endl; char pwd8,num20,ch; int i=0; do i=0; coutendl请输入卡号:; do cin.get(ch); numi+=ch; while(ch!=n); numi-1=0; i=0; cout请输入密码:; do cin.get(ch); pwdi+=ch; while(ch!=n); pwdi-1=0; if(!check_passwd(num,pwd) cout你输入的卡号或密码有误, 请重新输入endl; times+; else functionshow(); while(times3); lock(); bool ATM:check_passwd(char num,char pwd) if(strcmp(num,cnsm.get_num()=0&strcmp (pwd,cnsm.get_passwd()=0) return true; else return false;void ATM:functionshow() int n; do coutendl请你输入相应的操作序号进行操作:endl; cout1) 修改密码 endl2) 取款 endl3) 查询余额 endl4) 退出系统 endl; cout; cinn; while(n4) cout请输入正确的操作序号!endl; cout; cinn; switch(n) case 1: change_passwd(); break; case 2: fetchmoney(); break; case 3: information(); break; case 4: exitATM(); break; while(true);void ATM:change_passwd() char pwd8,repwd8; times=0; do coutendlpwd; if(!check_passwd(cnsm.get_num(),pwd) times+; else break; while(times3); if(times=3) lock(); int t=0; do coutpwd; coutrepwd; if(t=strcmp(pwd,repwd)!=0) cout密码不一致, 请重新输入!endl; while(t!=0); cnsm.set_passwd(pwd); cout密码修改成功endl;void ATM:fetchmoney() float m; char ch; do coutendl请输入取款金额:m; while(m=0) cout请输入正确金额endl; cout ; cinm; if(cnsm.get_money()-m0) cout对不起,你的余额不足!endl; else coutendl操作成功,请取钱!endl; cnsm.set_money(m); cout是否要继续该项操作:(Y/N) endl; cout ; cinch; while(ch!=n&ch!=N&ch!=Y&ch!=y) cout; cinch; while(ch=y|ch=Y);void ATM:information() coutendl; coutendl; cout 用户姓名:cnsm.get_name()endl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 森林水文学课件
- 电力系统职业技能鉴定考试试题及答案
- 2025年市场营销经理职位招聘笔试题及解题策略
- 2025年篮球裁判规则题库及答案
- 2025年轻微型无人机考试题库含完整答案详解【易错题】
- 2025年电力行业信息技术部招聘面试全攻略及模拟题答案
- 2025年初级无损检测员磁粉-MT-模拟面试题及答案详解
- 2025年市场营销经理专业技能考核预测题
- 洪水公务员面试题目及答案
- 2025注册验船师考试(C级船舶检验专业综合能力)自测试题及答案一
- 《龋病》教学课件
- 2024年全国巾帼家政服务职业技能大赛(养老护理员)选拔赛试题库-上(单选题)
- 罗森伯格的自尊量表(SES)
- 盘扣式卸料平台施工方案
- CJT 409-2012 玻璃钢化粪池技术要求
- YD-T 4339-2023 5G移动通信网能力开放(NEF)总体技术要求
- 风险分级隐患排查治理风险分级管控隐患排查与治理措施培训课件
- 《克雷洛夫寓言》阅读手册寒假阅读作业设计
- 门窗销售技巧培训总结报告
- 对外汉语教学教案设计及板书省公开课金奖全国赛课一等奖微课获奖课件
- 康复科常见病小讲课
评论
0/150
提交评论