美文网首页
面向对象-实验(ATM系统)

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

作者: 最是光阴化浮沫_ | 来源:发表于2018-04-30 21:12 被阅读0次

    问题描述:

    软件学院的项目组近期接到一个大项目----为银行开发一个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用况图.png

    业务详细描述:

    1. 用况名

    登录

    1.1 简述

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

    1.2参与者

    用户、ATM管理员。

    1.3前置条件

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

    1.4 后置条件

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

    2.用况名

    查询余额

    2.1简述

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

    2.2参与者

    用户。

    2.3前置条件

    用户成功进入主界面。

    2.6后置条件

    系统回到主界面。

    ATM类图:

    image.png

    ATM取款顺序图:

    image.png

    ATM存款顺序图:


    image.png

    ATM查询余额顺序图:

    image.png

    ATM转账顺序图:


    image.png

    一、图形文档

    1、取款

    image.png
    1. 存款
    image.png
    1. 转账
    image.png
    1. 查询账户信息活动图
    image.png

    二、文字说明

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

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

    1.ATM状态机图

    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类图.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系统)

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