面向对象-实验(ATM系统)

问题描述:

软件学院的项目组近期接到一个大项目----为银行开发一个ATM系统。银行方面希望新的系统能够安全高效地服务大众。新的系统不仅要实现用户使用ATM机进行查询余额,取款,转账,更换密码等基本功能,还要实现高效,简单并且安全的人性化流程,以供用户使用。

银行方面表示资金充足,主要是系统的可靠性和方便性。故可以租匿多个服务器,实现负载均衡访问,服务器均选择linux服务器,如果技术人员允许的情况下,可以采用项目docker化,为ATM机提供各种需要的接口。数据库方面的安全性是必须要有保障的,因为这是本项目的根本,故可以把项目的大部分资金用在安全性的实现上,也可在运维上下功夫。

用户进入系统,输入密码可选取款,存款,转账,查询余额等操作。

取款:输入取款金额,验证金额是否合法,如果合法则吐出现金,否则跳回输入金额页面。
存款:放入现金,验证是否有假币,只把有效的数值存入数据库。
转账:选择转账的账户,验证账户是否合法,输入转账金额,验证金额是否合法,完成转账。
查询余额:系统查询余额,显示余额。

每当有用户使用ATM机时,会播放一个教学视频,显示了ATM机的各种操作,还时刻播放警惕安全的录音。
摄像头也把用户的操作以及周边的环境都录下来,以便应对特发情况。

词汇表:

  1. 插卡
    用户把存蓄卡插入到ATM机的卡控
    2.选择目录
    ATM机可选的操作目录
    3.验证
    验证输入是否正确
    3.1验证密码
    验证输入的密码与数据库中密码是否对等
    3.2验证金额
    验证输入的金额是否正确
    3.3验证通过
    输入正确
    3.4验证失败
    输入不通过,不能进行下一步操作
    4.吐出金钱
    取款时ATM机吐出的现金
    5.继续请求
    完成一个操作后,可选继续操作
    6.退卡
    完成系列操作后,将卡从ATM机吐出

用况图:

面向对象-实验(ATM系统)_第1张图片
ATM用况图.png

业务详细描述:

  1. 用况名

登录

1.1 简述

描述用户或ATM管理员录入卡号并输入密码进入主界面的动作。

1.2参与者

用户、ATM管理员。

1.3前置条件

ATM系统处于开始界面,用户或管理员插卡操作

1.4 后置条件

输入的密码正确,系统进入主界面/管理员界面;或者密码错误,系统退回到开始界面,并冻结了银行卡/管理员卡;或者取消输入密码,系统退卡并退回到开始界面。

2.用况名

查询余额

2.1简述

这个用例是描述用户到ATM上查询账户余额信息的操作。

2.2参与者

用户。

2.3前置条件

用户成功进入主界面。

2.6后置条件

系统回到主界面。

ATM类图:

面向对象-实验(ATM系统)_第2张图片
image.png

ATM取款顺序图:

面向对象-实验(ATM系统)_第3张图片
image.png

ATM存款顺序图:


面向对象-实验(ATM系统)_第4张图片
image.png

ATM查询余额顺序图:

面向对象-实验(ATM系统)_第5张图片
image.png

ATM转账顺序图:


面向对象-实验(ATM系统)_第6张图片
image.png

一、图形文档

1、取款

面向对象-实验(ATM系统)_第7张图片
image.png
  1. 存款
面向对象-实验(ATM系统)_第8张图片
image.png
  1. 转账
面向对象-实验(ATM系统)_第9张图片
image.png
  1. 查询账户信息活动图
面向对象-实验(ATM系统)_第10张图片
image.png

二、文字说明

1、取款活动图 描述客户取款的过程,包含的动作有:选择取款功能、提示输入取款金额、输入取款金额、吐出相应金额的钱、取走现金、发送取款金额和账户、修改账户余额、返回账户余额、显示账户余额、选择退出。具有的泳道有:用户、取款界面、取款控制、银行主机。 2、存款活动图 描述客户存款的过程,包含的动作有:选择取款功能、提示将现金放入槽中、将现金放入槽中、发送存款金额和账户、修改账户余额、返回账户余额、显示账户余额、选择退出。具有的泳道有:存款界面、存款控制、银行主机、客户。 3、转账活动图 描述客户转账的过程,包含的动作有:选择转账功能、提示输入转账金额和账户、输入转账金额和账户、发送转账金额和账户、修改账户余额、返回账户余额、显示账户余额、选择退出。具有的泳道有:转账界面、转账控制、银行主机、客户。

4、查询账户信息活动图 描述客户查询信息的过程,包含的动作有:具有的泳道有:选择查询账户信息功能、发送帐号、查询账户信息、返回账户信息、显示账户信息、选择退出。查询账户信息界面、查询账户信息控制、银行主机、客户。

1.ATM状态机图

面向对象-实验(ATM系统)_第11张图片
image.png

1.状态机图综述 状态机图描述了ATM机使用时的状态变化,包含登录、取款、存款、转账、修改密码、打印凭条、查询余额、退卡、查询交易记录、主界面状态。 2.状态描述 图中涉及的所有状态都是简单状态。 (1)登录:用户/ATM管理员登陆ATM系统,入口动作为输入密码,密码错误时,重新输入密码。 (2)主界面:用户/ATM管理员登陆ATM系统后系统显示的主界面,以供选择操作类型,入口动作为选择操作。 (3)取款:取款动作,入口动作为输入金额,出口动作为生产交易记录。 (4)存款:存款动作,入口动作为放入现金,出口动作为生产交易记录。 (5)转账:转账动作,入口动作为输入账号,出口动作为生产交易记录。 (6)修改密码:修改密码动作,入口动作为输入旧密码,出口动作为生产交易记录。 (7)打印凭条:打印凭条动作,入口动作为打印,出口动作为生产交易记录。 (8)查询余额:查询余额动作,入口动作为显示余额,出口动作为生产交易记录。 (9)查询交易记录:查询交易记录动作,入口动作为显示交易记录,出口动作为生产交易记录。 (10)退卡:退卡动作,入口动作为退卡。 3.状态转移 (1)登录到主界面:当输入密码正确时执行。 (2)主界面到取款、存款、转账、修改密码、打印凭条、查询余额、查询交易记录、退卡:当该状态被选中时执行。 (3)取款、存款、转账、修改密码、打印凭条、查询余额、查询交易记录到主界面:当该状态退出时执行。

类图综述

类图描述了ATM系统的全部类的关系和功能。

面向对象-实验(ATM系统)_第12张图片
ATM类图.png

类描述

user 类是描述使用者的实体类,是client和administrator的父类,属于抽象类。 client类和administrator类继承自user类,cardNum和ID属性的数据类型不同,具有多态性。

bankCard类bankCard类特有balance(余额)属性,adCard类特有ATMNum(ATM编号)属性,均私有,并封装。bankCard类通过银行卡信息接口获得银行卡信息。 record****类管理是控制类,有增删查改的基本操作。 record类是实体类,关联bankCard类,每个record信息会关联一个银行卡信息,record类有serialNum(流水号)、tradeType(交易类型)、date(交易日期)、time(交易时间)、amount(交易金额)、cardNum(卡号)、tradeCard(交易卡号)、result(交易结果)、remark(备注)九个属性,均私有,并封装。record类中有增删查改基本操作。 record类是控制类,管理record类,有recordList(记录列表)一个属性,有增上查改的基本操作。 ATM类是实体类,administrator类与ATM类关联,1或多个管理员管理一个ATM,ATM类中有ID(编号)、bank(所属银行)、balance(余额)三个属性,均私有,并封装。

你可能感兴趣的:(面向对象-实验(ATM系统))