美文网首页python
面向对象ATM设计(问题描述、词汇表、类图)

面向对象ATM设计(问题描述、词汇表、类图)

作者: 林子大Y | 来源:发表于2017-04-15 20:37 被阅读0次

一、Problem Statement

ATM(Automated teller machine,自动提款机)在我们的日常生活中可以帮助客户更加简单快捷的处理一些银行事务,如余额查询、存款、取款、转账等业务,可以在不需要银行工作人员,自主进行操作,很大程度的减少了不必要的时间和精力上的浪费;ATM的日常运行还需要ATM技术人员的日常维护,保证客户和银行的财产安全、客户隐私安全等其他利益,最重要的是减少系统错误,当ATM出现错误时可以尽快的进行修护,尽可能的减少银行客户和银行的损失;无论是银行客户还是ATM技术人员,都是基于银行系统来进行操作的,银行端的数据库相当于一个外部接口。

大多数的银行ATM是需要客户插入银行卡并输入银行卡对应的密码,密码正确后才能进行下一步的操作,密码正确后ATM显示操作界面,界面上的操作包括余额查询、存款、取款、转账、修改密码,以及退卡这一返回操作。

客户使用ATM可以进行余额查询、存款、取款、转账。用户成功进入系统(密码正确且系统不出错),通过查询功能可以查询到当前银行账号下的具体余额;存款功能要求客户放入要存的金钱,每次放入的数额不得超过5万,ATM进行验钞后,显示成功存入的金额,若有不能识别的金钱,退回给客户,其他情况存款失败;取款功能要求客户要输入需要取的金额,金额数每次不能超过5万,也不能超过卡内余额(信用卡等其他特殊情况不考虑),数额正确输入后,出钱,取款成功,其他情况均取款失败;转账功能要求客户输入收款方的银行账号,账号信息正确则界面显示收款方信息,要求客户进行核实,确定后,输入转账金额,每次转账金额不能超过5万,且转账金额不能多于客户银行卡余额,前面的系列操作无误后转账成功,其他情况转账失败;用户可以在银行所属的ATM修改银行密码,要求客户输入一次原始密码,密码正确,输入两次新密码,两次密码一致,密码修改成功,否则失败。上述的操作成功后,客户可以选择打印凭条,即操作详情。

客户在操作过程中可能会遇到问题有疑惑,因此ATM提供问题解答,当用户点击“帮助”按钮时,向客户展现问题列表,问题列表包括客户可能遇到的问题以及相应的解决方案。问题解答这一功能为扩展功能,不属于主要功能,主要用于帮助客户解答疑问,提升用户体验。

客户若输入密码错误,还可再输入两次,总共不得超过三次,超过三次再输入错误密码,银行卡会被锁定,客户需要到银行柜台通过身份验证再进行办理。输入次数小于等于三次,不锁卡,客户在24小时后可以再尝试输入密码进行操作,出错后果同上述。

ATM技术人员的工作包括维护和修复。维护工作包括当ATM内现金不足时,将现金存入到ATM,保证客户取款不出现ATM现金不足的问题;软件的升级,硬件性能的提升;对ATM进行诊断,预防问题的发生。修复工作是在问题、错误发生后要及时进行的,要及时止损。

二、Bank ATM Glossary

1 .客户

通过办理拥有该银行银行卡账号的客户。

2.余额查询

客户银行卡账号的余额,不得小于0。

3.存款

客户将金钱存入到银行卡账号下,银行数据库更新客户名下相应银行卡的相关数据,即账户余额。

4.取款

客户要输入需要取的金额,金额数每次不能超过5万,也不能超过卡内余额(信用卡等其他特殊情况不考虑),数额正确输入后,出现金,银行数据库更新相应的数据。

5.转账

客户输入收款方的银行账号,账号信息正确则界面显示收款方信息,要求客户进行核实,确定后,输入转账金额,每次转账金额不能超过5万,且转账金额不能多于客户银行卡余额,转账成功后,银行数据库更新相应的数据。

6.银行

银行是该系统中的服务端,提供技术和资源,管理客户端和服务端数据。

7.银行数据库

存储相关数据,如客户资料、账户余额、操作记录等数据信息。数据库的维护十分重要,是运作的基础。

8.ATM技术人员

负责ATM的日常维护和维修,保证客户和银行的财产安全、客户隐私安全等其他利益,当ATM出错时,及时修复系统。

9.维护

维护工作是ATM技术人员的工作之一,包括当ATM内现金不足时,将现金存入到ATM,保证客户取款不出现ATM现金不足的问题;软件的升级,硬件性能的提升;对ATM进行诊断,预防问题的发生。

10.修复

ATM技术人员在问题、错误发生后要及时修复系统,要及时止损。

11.退卡

客户取消操作或系统出错的时候把卡退还给客户。

12.银行卡密码

每张银行卡账号下都有一个六位数组成的密码,通过要对银行。

13.修改密码

客户修改密码,即用新密码替换原始密码。要求客户输入一次原始密码,密码正确,输入两次新密码,两次密码一致才成功。

三、Domain Class Diagram

1、银行储存系统

该类包括:用户名、用户ID、用户密码。其操作主要包括:存钱、取钱、转账、余额查询以及其他操作。


2、ATM数据类

该类包括:ATM的ID。其操作包括:收款、吐款、其他服务。

3、银行管理员

对银行数据系统和ATM进行管理。

4、账户库类

该类包括:账户类型、账户号、余额。其操作包括:添加账户、查询余额、结算等其他操作。

5、ATM

系统

包括账号库和银行储存系统。各类之间的关系如下图:

相关文章

  • 面向对象ATM设计(问题描述、词汇表、类图)

    一、Problem Statement ATM(Automated teller machine,自动提款机)在我...

  • Java学习1209

    面向对象入门 ATM机 先创建一个银行账户的类 ATM类 ATM实体

  • 定义类

    定义类 什么是类 在面向对象程序设计中,类是: 一种面向对象编程语言的构造 创建对象的蓝图 描述了所创建对象共同的...

  • 类图-分析业务模型

    类图是我们用的最多的一种UML图。类图是锻炼面向对象分析和面向对象设计思想的重要工具,是业务建模的重要工具。 面向...

  • 设计模式-简介

    什么是设计模式 描述不同情况下,怎么解决问题的一种方案eg: 面向对象设计模式:以类或对象来描述其中的关系和相互作...

  • 面向对象设计的六大设计原则(附 Demo 及 UML 类图)

    面向对象设计的六大设计原则(附 Demo 及 UML 类图)

  • 猿学-Java基础教程包、 继承 、抽象讲解

    面向对象 面向对象是一种思考问题的方式,以对象的形式来思考问题 类:是对象描述 ,类是对象的抽象(抽象:提取对象的...

  • Python学习笔记6

    面向对象(补充)上一部分 描述器 生命周期 内存管理 面向对象三大特性 类的设计原则 描述器 描述器是一个对象,用...

  • Is-a & Has-a

    在面向对象设计、面向对象程序设计等领域,Is-a描述的是类的父子继承关系。 当一个类S继承另外一个类F时,我们一般...

  • 面向对象设计

    极客时间《设计模式之美》学习 如何进行面向对象设计? 在面向对象设计阶段,我们将需求描述转化为具体的类。可以包含以...

网友评论

    本文标题:面向对象ATM设计(问题描述、词汇表、类图)

    本文链接:https://www.haomeiwen.com/subject/aghoattx.html