面向对象分析与设计ATM系统分析与设计.doc

上传人:自*** 文档编号:126174254 上传时间:2020-03-22 格式:DOC 页数:15 大小:221KB
返回 下载 相关 举报
面向对象分析与设计ATM系统分析与设计.doc_第1页
第1页 / 共15页
面向对象分析与设计ATM系统分析与设计.doc_第2页
第2页 / 共15页
面向对象分析与设计ATM系统分析与设计.doc_第3页
第3页 / 共15页
面向对象分析与设计ATM系统分析与设计.doc_第4页
第4页 / 共15页
面向对象分析与设计ATM系统分析与设计.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《面向对象分析与设计ATM系统分析与设计.doc》由会员分享,可在线阅读,更多相关《面向对象分析与设计ATM系统分析与设计.doc(15页珍藏版)》请在金锄头文库上搜索。

1、ATM系统分析与设计需求分析一总体要求:1,ATM机要可以判断磁卡的类别,如果不是有效的磁卡则退卡; 2,可以在较快的时间内响应用户的请求,并针对相应的请求执行正确的操作;3,当卡在ATM机内30秒内没有操作时,系统自动没收信用卡;4,查自己的账户时应显示余额和可用余额,并显示ATM机里所拥有的现金面值,让用户可以做出正确的选择;5,提取现金时提示用户输入取款金额并判断输入是否确,如果错误提醒用户并要求重新操作,正确则提醒用户收取现金;钞票在出钞机内30秒内没人取走,自动回收钞票;6,转账汇款时让用户选择转账类型,要求用户输入转账账号并要求用户输入两次,以确保没有输入错误,在两次输入都正确的情

2、况下,让用户输入转账金额,并作最后的确认。7,进入修改密码界面后提醒用户输入新密码,并要求再次输入以确保密码统一无误,在确认后完成修改操作,并提醒用户新询密码生效;8,对于错误的操作或者操作延时做出有效的处理。二,系统要求:要求用户一次取款数额不得大于2500元;要求用户一天取款数额不得超过5000元;要求用户连续输入错误密码次数不得超过3次。三,系统性能要求:要求反应时间不得大于10秒钟;四:设计目标:系统可以提供24小时不间断服务,操作简单,可以很方便为用户提供取款、转账/汇款、查询账户信息等服务。 模型分析一:设计DFD图。(1) 顶层DFD图:用户 银行卡交易凭条银行卡ATM系统用户

3、(2)0层DFD图:银行卡密码确认用户 选择操作账户信息退出退出类型用户判断超时执行操作提示信息操作类型没收信用卡(3)1层DFD图:超时信息未超时信息没收信用卡操作是否超过30秒退出用户警告信息银行卡取款取款操作查询是否打印账单查询操作打印账单选择信息选择交易密码确认退出类型转账操作更改密码操作退出转账银行卡更改密码用户取款子系统:客户存储信息单 选择交易收回货币30秒内无响应提取现金取款金额选择货币种类调用取款系统选择信息取款操作选择信息现金警示信息用户查询子系统:客户存储信息单选择交易调用查询系统 选择货币种类选择信息查询信息查询账户查询操作显示选择信息用户转账子系统:客户存储信息单卡内

4、转账选择信息选择交易调用转账系统 查询操作转入卡号信息选择信息卡卡转账选择信息转入卡号信息转账金额记录记录记录更改密码子系统:客户存储信息单调用更改密码系统选择交易记录新密码新密码更改密码信息确认选择信息 二:组织结构设计 (1)系统结构读卡机模块键盘输入模块显示模块ATM机系统认证模块出钞模块打印模块(2) 读卡机系统输入:银行卡 查询数据库,识别卡号及所属银行输出:显示卡号及所属银行信息(3)键盘输入子系统输入:密码,取款金额,查询余额等验证信息显示相关操作10秒内无操作则吞卡认证子系统:输入卡号连接认证服务器验证卡号信息正确则显示输入密码,否则吐卡 显示子系统:信息输入后台处理在屏幕上显

5、示处理情况出钞子系统:输入金额后台处理输出现金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 fet

6、chmoney(); / 取款 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* g

7、et_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 Mone

8、y,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 consume

9、r: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(c

10、h!=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: f

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号