版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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ào)或者其它行賬號(hào)之間的金額交流,是銀行貨幣流通的重要環(huán)節(jié)。它實(shí)現(xiàn)了由本人的活期賬戶中將款項(xiàng)轉(zhuǎn)到自己或他人的活期賬戶或信用卡賬戶中。輸入賬戶金額,進(jìn)行核對(duì),核對(duì)通過(guò)后可進(jìn)行交易;不通過(guò)則返回重新輸入。確認(rèn)后提交易,更改雙方用戶賬戶信息,返回給用戶賬戶信息,記錄交易內(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. 存款:存錢到自己賬戶里面2.
2、 取款:從賬戶里面取錢出來(lái)3. 轉(zhuǎn)賬:由于轉(zhuǎn)賬既可以在同一銀行之間進(jìn)行,也可以在不同的銀行之間進(jìn)行,因此這里用了二個(gè)用例,使用本行轉(zhuǎn)賬和跨行轉(zhuǎn)賬來(lái)描述。他行轉(zhuǎn)賬是將當(dāng)前賬戶的金額轉(zhuǎn)向其他銀行自己或者他人的賬戶;本行轉(zhuǎn)賬是將當(dāng)前賬戶的金額轉(zhuǎn)向同行自己的其它賬戶或者同行他人的賬戶。1.1用例中的類1.2用例的業(yè)務(wù)邏輯用例名:轉(zhuǎn)賬前置條件:用戶已登錄賬戶,輸入對(duì)方的賬戶信息和轉(zhuǎn)賬金額后置條件:轉(zhuǎn)賬成功扣除賬戶的余額,并記錄轉(zhuǎn)賬信息事件流:1.輸入對(duì)方的賬號(hào)2.輸入轉(zhuǎn)賬金額3.檢查用戶賬戶余額是否充足,若充足則繼續(xù)否則提示錯(cuò)誤并回到第2步4.檢查對(duì)方的賬戶是否存在,若存在則繼續(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) 用戶在系統(tǒng)主界面請(qǐng)求轉(zhuǎn)賬操作,系統(tǒng)創(chuàng)建轉(zhuǎn)賬界面。(2) 用戶輸入轉(zhuǎn)賬信息(3) 數(shù)據(jù)庫(kù)賬戶類確認(rèn)是否存在該賬戶,并確認(rèn)賬戶中的金額是否足夠支付轉(zhuǎn)賬款項(xiàng),如可足夠支付則計(jì)算新的賬戶余額,更新數(shù)據(jù)庫(kù)中該賬戶的信息,發(fā)送消息給轉(zhuǎn)賬類,創(chuàng)建轉(zhuǎn)賬交易記錄,保存轉(zhuǎn)賬交易記錄。(4)轉(zhuǎn)賬信息傳遞給賬戶(轉(zhuǎn)入),查詢?cè)撡~戶是否存在。如存在計(jì)算賬戶余額,然后更新數(shù)據(jù)庫(kù)的數(shù)據(jù)。發(fā)送消息給轉(zhuǎn)賬類,創(chuàng)建轉(zhuǎn)賬交易記錄,保存轉(zhuǎn)賬交易記錄。 不同銀行轉(zhuǎn)賬順序圖:(1) 用戶在系統(tǒng)主界面請(qǐng)求轉(zhuǎn)賬操作,系統(tǒng)創(chuàng)建
4、轉(zhuǎn)賬界面。(2) 用戶輸入轉(zhuǎn)賬信息(3)數(shù)據(jù)庫(kù)的賬戶類確認(rèn)是否存在該賬戶,并確認(rèn)賬戶中的金額是否足夠支付轉(zhuǎn)賬款項(xiàng),如可足夠支付則計(jì)算新的賬戶余額,更新數(shù)據(jù)庫(kù)中該賬戶的信息,發(fā)送消息給轉(zhuǎn)賬類,創(chuàng)建轉(zhuǎn)賬交易記錄,保存轉(zhuǎn)賬交易記錄。(4)最后,發(fā)送轉(zhuǎn)賬通知到另一家銀行。1.3需求描述術(shù)語(yǔ)表類圖描述:賬戶:用戶注冊(cè)的賬戶,里面包含金額和其他基本信息轉(zhuǎn)賬信息:用戶轉(zhuǎn)賬的記錄 二、概要設(shè)計(jì)2.1體系結(jié)構(gòu)本系統(tǒng)采用MVC架構(gòu),表示層顯示系統(tǒng)應(yīng)用界面,邏輯層對(duì)用戶的操作進(jìn)行邏輯處理,數(shù)據(jù)庫(kù)層對(duì)數(shù)據(jù)庫(kù)進(jìn)行讀寫操作。MVC架構(gòu)的分層降低了耦合度使系統(tǒng)更加的內(nèi)聚。三、詳細(xì)設(shè)計(jì)銀行轉(zhuǎn)賬模塊將自己賬戶存款余額轉(zhuǎn)到他人的
5、賬戶余額上,要考慮到賬戶余額不足時(shí)可以存款,能實(shí)現(xiàn)行內(nèi)轉(zhuǎn)賬和外行轉(zhuǎn)賬。歸納功能點(diǎn)為:1) 存款2) 行內(nèi)轉(zhuǎn)賬3) 外行轉(zhuǎn)賬3.1類圖描述3.2方法列表類名:TransferController方法名稱完成功能transferAction用戶賬戶金額轉(zhuǎn)賬給他人的賬戶類名:AccountController方法名稱完成功能depositAction存款類名:ITransfer方法名稱完成功能transfer轉(zhuǎn)賬接口類名:InTransfer方法名稱完成功能transfer行內(nèi)轉(zhuǎn)賬類名:OutTransfer方法名稱完成功能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,賬戶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)賬方賬戶b:Acount,收款方賬戶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)賬方賬戶b:Acount,收款方賬戶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)賬方賬戶b:Acount,收款方賬戶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)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 四年級(jí)數(shù)學(xué)(四則混合運(yùn)算)計(jì)算題專項(xiàng)練習(xí)與答案
- 2025年北師大版高一英語(yǔ)上冊(cè)月考試卷含答案
- 機(jī)房租賃協(xié)議
- 工程墊資合同
- 租賃物料提升機(jī)協(xié)議書
- 廣告位租賃協(xié)議
- 2025年北師大版八年級(jí)生物下冊(cè)月考試卷含答案
- 2025年上教版七年級(jí)化學(xué)上冊(cè)階段測(cè)試試卷含答案
- 2025年人教五四新版八年級(jí)生物下冊(cè)階段測(cè)試試卷含答案
- 2025年外研銜接版選擇性必修1物理上冊(cè)月考試卷含答案
- 中金在線測(cè)評(píng)多少題
- PEP新人教版小學(xué)英語(yǔ)單詞三到五年級(jí)
- 納米復(fù)合材料增強(qiáng)金屬基材
- 拆除豬場(chǎng)補(bǔ)償協(xié)議書模板
- 水利水電工程施工安全管理導(dǎo)則
- 5歲幼兒數(shù)學(xué)練習(xí)題
- 2024年高中生物新教材同步選擇性必修第三冊(cè)學(xué)習(xí)筆記第3章 本章知識(shí)網(wǎng)絡(luò)
- 2024年全國(guó)體育單招英語(yǔ)考卷和答案
- 食品安全管理制度可打印【7】
- 藥物流行病學(xué)教學(xué)大綱
- 健康管理師二級(jí)理論考核試題及答案
評(píng)論
0/150
提交評(píng)論