銀行轉(zhuǎn)賬模塊_第1頁(yè)
銀行轉(zhuǎn)賬模塊_第2頁(yè)
銀行轉(zhuǎn)賬模塊_第3頁(yè)
銀行轉(zhuǎn)賬模塊_第4頁(yè)
銀行轉(zhuǎn)賬模塊_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、銀行轉(zhuǎn)賬分析設(shè)計(jì) 一、系統(tǒng)定義銀行轉(zhuǎn)賬系統(tǒng)是銀行系統(tǒng)其中一個(gè)子系統(tǒng),也是比較重要的模塊,它實(shí)現(xiàn)了用戶(hù)與其他用戶(hù)、用戶(hù)與自己其它本行賬號(hào)或者其它行賬號(hào)之間的金額交流,是銀行貨幣流通的重要環(huán)節(jié)。它實(shí)現(xiàn)了由本人的活期賬戶(hù)中將款項(xiàng)轉(zhuǎn)到自己或他人的活期賬戶(hù)或信用卡賬戶(hù)中。輸入賬戶(hù)金額,進(jìn)行核對(duì),核對(duì)通過(guò)后可進(jìn)行交易;不通過(guò)則返回重新輸入。確認(rèn)后提交易,更改雙方用戶(hù)賬戶(hù)信息,返回給用戶(hù)賬戶(hù)信息,記錄交易內(nèi)容。銀行轉(zhuǎn)賬系統(tǒng)又分為本行轉(zhuǎn)賬和它行轉(zhuǎn)賬,本行轉(zhuǎn)賬不需要收取手續(xù)費(fèi),外行轉(zhuǎn)賬則需要收取手續(xù)費(fèi)并調(diào)用外行轉(zhuǎn)賬模塊來(lái)處理轉(zhuǎn)賬。1. 銀行轉(zhuǎn)賬用例描述銀行轉(zhuǎn)賬用例包含以下幾個(gè):1. 存款:存錢(qián)到自己賬戶(hù)里面2.

2、 取款:從賬戶(hù)里面取錢(qián)出來(lái)3. 轉(zhuǎn)賬:由于轉(zhuǎn)賬既可以在同一銀行之間進(jìn)行,也可以在不同的銀行之間進(jìn)行,因此這里用了二個(gè)用例,使用本行轉(zhuǎn)賬和跨行轉(zhuǎn)賬來(lái)描述。他行轉(zhuǎn)賬是將當(dāng)前賬戶(hù)的金額轉(zhuǎn)向其他銀行自己或者他人的賬戶(hù);本行轉(zhuǎn)賬是將當(dāng)前賬戶(hù)的金額轉(zhuǎn)向同行自己的其它賬戶(hù)或者同行他人的賬戶(hù)。1.1用例中的類(lèi)1.2用例的業(yè)務(wù)邏輯用例名:轉(zhuǎn)賬前置條件:用戶(hù)已登錄賬戶(hù),輸入對(duì)方的賬戶(hù)信息和轉(zhuǎn)賬金額后置條件:轉(zhuǎn)賬成功扣除賬戶(hù)的余額,并記錄轉(zhuǎn)賬信息事件流:1.輸入對(duì)方的賬號(hào)2.輸入轉(zhuǎn)賬金額3.檢查用戶(hù)賬戶(hù)余額是否充足,若充足則繼續(xù)否則提示錯(cuò)誤并回到第2步4.檢查對(duì)方的賬戶(hù)是否存在,若存在則繼續(xù)否則提示錯(cuò)誤并回到第1步

3、5.檢查是行內(nèi)轉(zhuǎn)賬還是外行轉(zhuǎn)賬6.處理行內(nèi)轉(zhuǎn)賬或外行轉(zhuǎn)賬7.轉(zhuǎn)賬成功轉(zhuǎn)賬用例的活動(dòng)圖如下:同一銀行轉(zhuǎn)賬順序圖:(1) 用戶(hù)在系統(tǒng)主界面請(qǐng)求轉(zhuǎn)賬操作,系統(tǒng)創(chuàng)建轉(zhuǎn)賬界面。(2) 用戶(hù)輸入轉(zhuǎn)賬信息(3) 數(shù)據(jù)庫(kù)賬戶(hù)類(lèi)確認(rèn)是否存在該賬戶(hù),并確認(rèn)賬戶(hù)中的金額是否足夠支付轉(zhuǎn)賬款項(xiàng),如可足夠支付則計(jì)算新的賬戶(hù)余額,更新數(shù)據(jù)庫(kù)中該賬戶(hù)的信息,發(fā)送消息給轉(zhuǎn)賬類(lèi),創(chuàng)建轉(zhuǎn)賬交易記錄,保存轉(zhuǎn)賬交易記錄。(4)轉(zhuǎn)賬信息傳遞給賬戶(hù)(轉(zhuǎn)入),查詢(xún)?cè)撡~戶(hù)是否存在。如存在計(jì)算賬戶(hù)余額,然后更新數(shù)據(jù)庫(kù)的數(shù)據(jù)。發(fā)送消息給轉(zhuǎn)賬類(lèi),創(chuàng)建轉(zhuǎn)賬交易記錄,保存轉(zhuǎn)賬交易記錄。 不同銀行轉(zhuǎn)賬順序圖:(1) 用戶(hù)在系統(tǒng)主界面請(qǐng)求轉(zhuǎn)賬操作,系統(tǒng)創(chuàng)建

4、轉(zhuǎn)賬界面。(2) 用戶(hù)輸入轉(zhuǎn)賬信息(3)數(shù)據(jù)庫(kù)的賬戶(hù)類(lèi)確認(rèn)是否存在該賬戶(hù),并確認(rèn)賬戶(hù)中的金額是否足夠支付轉(zhuǎn)賬款項(xiàng),如可足夠支付則計(jì)算新的賬戶(hù)余額,更新數(shù)據(jù)庫(kù)中該賬戶(hù)的信息,發(fā)送消息給轉(zhuǎn)賬類(lèi),創(chuàng)建轉(zhuǎn)賬交易記錄,保存轉(zhuǎn)賬交易記錄。(4)最后,發(fā)送轉(zhuǎn)賬通知到另一家銀行。1.3需求描述術(shù)語(yǔ)表類(lèi)圖描述:賬戶(hù):用戶(hù)注冊(cè)的賬戶(hù),里面包含金額和其他基本信息轉(zhuǎn)賬信息:用戶(hù)轉(zhuǎn)賬的記錄 二、概要設(shè)計(jì)2.1體系結(jié)構(gòu)本系統(tǒng)采用MVC架構(gòu),表示層顯示系統(tǒng)應(yīng)用界面,邏輯層對(duì)用戶(hù)的操作進(jìn)行邏輯處理,數(shù)據(jù)庫(kù)層對(duì)數(shù)據(jù)庫(kù)進(jìn)行讀寫(xiě)操作。MVC架構(gòu)的分層降低了耦合度使系統(tǒng)更加的內(nèi)聚。三、詳細(xì)設(shè)計(jì)銀行轉(zhuǎn)賬模塊將自己賬戶(hù)存款余額轉(zhuǎn)到他人的

5、賬戶(hù)余額上,要考慮到賬戶(hù)余額不足時(shí)可以存款,能實(shí)現(xiàn)行內(nèi)轉(zhuǎn)賬和外行轉(zhuǎn)賬。歸納功能點(diǎn)為:1) 存款2) 行內(nèi)轉(zhuǎn)賬3) 外行轉(zhuǎn)賬3.1類(lèi)圖描述3.2方法列表類(lèi)名:TransferController方法名稱(chēng)完成功能transferAction用戶(hù)賬戶(hù)金額轉(zhuǎn)賬給他人的賬戶(hù)類(lèi)名:AccountController方法名稱(chēng)完成功能depositAction存款類(lèi)名:ITransfer方法名稱(chēng)完成功能transfer轉(zhuǎn)賬接口類(lèi)名:InTransfer方法名稱(chēng)完成功能transfer行內(nèi)轉(zhuǎn)賬類(lèi)名:OutTransfer方法名稱(chēng)完成功能transfer外行轉(zhuǎn)賬3.3方法說(shuō)明方法原型AccountControll

6、erpublic static void depositAction(Account account, Double money)功能說(shuō)明操作:存款結(jié)果:存款成功或失敗條件:參數(shù)正確調(diào)用關(guān)系無(wú)輸入?yún)?shù)acount:Acount,賬戶(hù)money:Double,存款金額返回值無(wú)備注無(wú)方法原型TransferControllerpublic static int transferAction (Account a, Account b, Double amount, ITransfer bank)功能說(shuō)明操作:轉(zhuǎn)賬結(jié)果:轉(zhuǎn)賬成功或失敗條件:參數(shù)正確調(diào)用關(guān)系調(diào)用ITransfer接口實(shí)現(xiàn)行內(nèi)或外行轉(zhuǎn)賬

7、輸入?yún)?shù)a:Acount,轉(zhuǎn)賬方賬戶(hù)b:Acount,收款方賬戶(hù)amount:Double,轉(zhuǎn)賬金額bank:ITransfer,行內(nèi)或外行的轉(zhuǎn)賬方式返回值int,轉(zhuǎn)賬成功返回1,否則返回0備注無(wú)方法原型InTransfer implements ITransferpublic int transfer(Account a, Account b, Double amount)功能說(shuō)明操作:行內(nèi)轉(zhuǎn)賬結(jié)果:轉(zhuǎn)賬成功或失敗條件:參數(shù)正確調(diào)用關(guān)系實(shí)現(xiàn)ITransfer接口實(shí)現(xiàn)行內(nèi)轉(zhuǎn)賬輸入?yún)?shù)a:Acount,轉(zhuǎn)賬方賬戶(hù)b:Acount,收款方賬戶(hù)amount:Double,轉(zhuǎn)賬金額返回值int,轉(zhuǎn)賬成

8、功返回1,否則返回0備注無(wú)方法原型OutTransfer implements ITransferpublic int transfer(Account a, Account b, Double amount)功能說(shuō)明操作:行內(nèi)轉(zhuǎn)賬結(jié)果:轉(zhuǎn)賬成功或失敗條件:參數(shù)正確調(diào)用關(guān)系實(shí)現(xiàn)ITransfer接口實(shí)現(xiàn)行內(nèi)轉(zhuǎn)賬輸入?yún)?shù)a:Acount,轉(zhuǎn)賬方賬戶(hù)b:Acount,收款方賬戶(hù)amount:Double,轉(zhuǎn)賬金額返回值int,轉(zhuǎn)賬成功返回1,否則返回0備注無(wú)四、程序代碼Account.java:package models;public class Account private String a

9、ccountNumber;private String password;private String name;private Double deposits;public String getAccountNumber() return accountNumber;public void setAccountNumber(String accountNumber) this.accountNumber = accountNumber;public String getPassword() return password;public void setPassword(String pass

10、word) this.password = password;public String getName() return name;public void setName(String name) = name;public Double getDeposits() return deposits;public void setDeposits(Double deposits) this.deposits = deposits;public Account(String accoutNumber, String password, String name,Double d

11、eposits) this.accountNumber = accoutNumber;this.password = password; = name;this.deposits = deposits;ITransfer.java:package models;public interface ITransfer public int transfer(Account a, Account b, Double amount);InTransfer.java:package models;public class InTransfer implements ITransferO

12、verridepublic int transfer(Account a, Account b, Double amount) if(a.getDeposits() < amount)return 0;Double deposits = b.getDeposits() + amount;b.setDeposits(deposits);a.setDeposits(a.getDeposits() - amount);return 1;AccountController.java:package controllers;import models.Account;public class Ac

13、countController public static void depositAction(Account account, Double money) account.setDeposits(account.getDeposits() + money);OutTransfer.java: package models;public class OutTransfer implements ITransferpublic int transfer(Account a, Account b, Double amount) if(a.getDeposits() < amount)ret

14、urn 0;Double deposits = b.getDeposits() + amount;b.setDeposits(deposits);a.setDeposits(a.getDeposits() - amount);return 1;TransferController.java:package controllers;import models.Account;import models.ITransfer;public class TransferController public static int transferAction(Account a, Account b, D

15、ouble amount,ITransfer bank) return bank.transfer(a, b, amount);IndexView.java:package view;import controllers.TransferController;import models.Account;import models.InTransfer;import models.OutTransfer;public class IndexView public static void main(String args) Account x = new Account("62260000", "1", "林", 100D);Account y = new Account("62260001", "2", "王", 200D);Account z= new Account("62260002", "3", "李", 50D);InTransfer bank = new InTransfer();/本行轉(zhuǎn)賬Tra

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論