Problem Statement 

 
        ATM 系统并不保存数据,它只是为了方便客户和银行交易而开发的系统。数据都存储在银行中。发生交易时,客户向 ATM 系统提交需要进行的操作,然后 ATM 向银行请求客户操作需要的数据,并在交易完成后通知银行让其更新数据库。 

        ATM 系统 的交互对象有 3 个,分别为客户,银行,ATM 技术员。 ATM 系统为不同的对象提供不同的服务。(1)ATM 系统为客户提供 ‘查询余额’,‘存款‘,取款’,‘转账汇款’4 个服务,以满足客户的基本需求。若客户操作一些无法完成的操作,例如取款金额大于客户余额,汇款账号不存在等操作时,ATM 系统需要提示客户操作不能完成,并提示相应的信息。(2)当 ATM 系统出现一些故障时,ATM 系统需要为 ATM 技术员提供‘维护‘,’修理’接口,以方便技术员对其进行调试,由于维护和修理是敏感操作,所以系统必须采取措施来防止未经授权的访问。相应的,技术员在未经授权的情况下也不能访问 ATM 仅为客户提供的 4 个服务。(3)银行拥有 ATM 系统的最高权限,可以使用上述所用服务,且其可以查看客户的交易记录及技术员的调试记录。 


                                     Table of Contents 

1. Introduction 

2. Definitions 

2.1 Customer 

2.2 ATM Technician 

2.3 Check Balances 

2.4 Deposit Funds 

2.5 Withdraw Cash 

2.6 Transfer Funds 

2.7 Maintenance 

2.8 Repair 

2.9 Bank 

用况图文档

一、图形文档

 

 

 

二、文字说明

1、用况图综述

在ATM系统中,参与者有客户,ATM维修员,银行。客户与系统发生ATM交易,

发生交易之前,系统会有发生用户识别,用来判断是否为无效卡或盗卡,如果是无效卡,则发生退卡,如果是盗卡,就发生吞卡行为。当用户识别成功后,其中交易包括转账,取款,查询余额,在取款时,如果发现余额不足,会通知无钱。具体用况图如下图。

 

2、参与者描述

         客户(Customer):客户通过系统进行取款,查询,转账等业务的泛称。它与用况产生交互。

         ATM维修员(ATM Technician): 当系统日常维护或发生故障时,由ATM维修员进行处理。它与用况维护,修理进行交互。

         银行(Bank):是系统的提供方,作为数据的保存者,与用况用户识别,查询,转账,通知无钱,维护,修理进行交互。

 

3、用况描述

         ATM交易(ATM Transacrion):主要与客户发生交互,其中包含用户识别用况,扩展有转账,取款,查询余额,吞卡。当与用户发生交互时候,这个用况会先进行用户识别,待识别通过后,根据用户请求,进行可能的交易操作。

         用户识别(User Verify):其是ATM交易的包含,同事它也有两个扩展,分别为吞卡,退卡。当用户进行ATM交易时,它进行用户识别判定,判断卡是否为无效卡和盗卡,然后进行相应的操作。

         吞卡(Eat card):其是用户识别的扩展,当判断卡是盗卡时,进行吞卡操作。

         退卡(Quit card):其是用户识别的扩展,当判断卡是无效卡时,进行退卡操作。
         转账(Transfer funds):其是ATM交易的扩展,发生转账操作时,它会与银行进行交互,进行数据的更新。
         取款(withdraw cash):其是ATM交易的扩展,发生取款操作时,它会与银行进行交互,当余额不足取时,银行会与通知无钱用况进行交互。

         存款(Deposit Funds):其是ATM交易的扩展,发生存款操作时,他会与银行进行交互。

通知无钱(inform no money):其是取款的扩展若取款金额不足取时,银行会调用它,它返回信息给取款用况,提示无钱。
         查询余额(check balances ):其是ATM交易的扩展,发生查询余额操作时,它会与银行进行交互,进行数据的查询,并返回结果给客户。。

维护(Maintenance):其参与者包括ATM维修员和银行,其功能主要是对ATM系统进行一些日常的维护,获取银行的一些信息返回给ATM维修员。
修理(Repair):其参与者包括ATM维修员和银行,当系统出现故障时,需要维修员进行修理。


类图文档

1.图形文档

图一:ATM Transarcion类

面向对象--ATM系统-----lab1+lab2+lab3+lab4

图二:User Verify类

面向对象--ATM系统-----lab1+lab2+lab3+lab4

 

二.文字说明

  1.ATM Transarcion类

1)        类图综述

ATM Transarcion类作为用户的操作界面,其接收来自用户的操作信息,又发送操作信息给相应的类。另外的,在用户刚登录时,需要调动用户认证类进行认证。

2)        类描述

类名:ATM Transarcion

操作:Which options() 获取用户的操作信息

关系说明:拥有依赖,组合,聚合关系。

3)        关联描述

依赖:TransacrionForCustomer

组合:UserVerifyForTransacrion

聚合:IfForgetCard

聚合:IfAskCheck

聚合:IfAskWithdrawCash

聚合:IfAskDepositFunds

2.User Verify类

1)        类图综述

User Verify类作用为用户认证模块,当ATM交易类发出用户认证请求时,调用此类,然后该类通过向Bank查询并比对信息,决定后续操作是吞卡,密码错误,还是密码正确。

2)        类描述

类名:UserVerify

操作:CkeckPasswd() //验证密码是否正确

           GetCardInfo() //获取卡信息,查看是否为丢失卡

           GetPasswd() //去Bank里查询该卡的密码,用于验证密码

关系说明:与其他类有组合,聚合,关联 关系

3)        关联说明

                组合:TransacrionForUserVerify

                   聚合:IfLossCard

                   组合:Bank

                   聚合:IfOthersCard

顺序图文档

1.图形文档

 

 

 

 

二.文字说明

1)顺序图综述

         本顺序图描述了一个用户发生ATM交易的时间顺序图。在用户认证对象中,采用loop操作,连续3次错误无法再继续,从而停止操作。对,存款,取款,查询,转账对象采用opt操作,进行选择。

2)顺序图中对象的综述

         a.用户:

                   主动对象,与ATM交易对象进行交互。用户与ATM有认证交互,和认证之后的存款,取款,转账查询操作。

         b.ATM交易:

                   主动对象,对外接受用户的操作请求,对内根据用户的操作创建相应的对象来完成用户的操作。

         c.用户识别:

                   主动对象,作用为对用户进行识。与银行对象进行数据交互。

         d.存款:

                   非主动对象,由ATM交易对象创建,直接与银行对象进行交互操作。

         e.取款:

                   非主动对象,由ATM交易对象创建,直接与银行对象进行交互操作。

         f.查询:

                   非主动对象,由ATM交易对象创建,直接与银行对象进行交互操作。

         g.转账:

                   非主动对象,由ATM交易对象创建,直接与银行对象进行交互操作。

         h.银行:

                   非主动对象,保存用户数据,是各种操作请求数据的地方。

3)对象接受/发送信息的描述

         消息名称:认证

         消息格式:send()

消息类型:同步消息

发送消息对象:用户

接收消息对象:ATM交易

 

消息名称:认证结果

消息格式:return()

消息类型:同步返回

发送消息对象:ATM交易

接收消息对象:用户

        

消息名称:存款

消息格式:send()

消息类型:同步消息

发送消息对象:用户

接收消息对象:ATM交易

 

消息名称:取款

消息格式:send()

消息类型:同步消息

发送消息对象:用户

接收消息对象:ATM交易

 

消息名称:转账

消息格式:send()

消息类型:同步消息

发送消息对象:用户

接收消息对象:ATM交易

 

消息名称:查询

消息格式:send()

消息类型:同步消息

发送消息对象:用户

接收消息对象:ATM交易

 

 

 

        





 
 

相关文章:

  • 2021-09-17
  • 2021-12-25
  • 2021-08-25
  • 2021-12-09
  • 2022-01-15
  • 2022-12-23
  • 2022-02-18
  • 2022-12-23
猜你喜欢
  • 2021-10-12
  • 2021-12-02
  • 2021-12-10
  • 2022-01-20
  • 2021-07-16
  • 2021-06-21
相关资源
相似解决方案