面向對象--ATM系統-----lab1+lab2+lab3+lab4

                                  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類

圖二:User Verify類


 

二.文字說明

  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交易

 

 

 

        





 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章