11銀行儲(chǔ)蓄管理系統(tǒng)_第1頁
11銀行儲(chǔ)蓄管理系統(tǒng)_第2頁
11銀行儲(chǔ)蓄管理系統(tǒng)_第3頁
11銀行儲(chǔ)蓄管理系統(tǒng)_第4頁
11銀行儲(chǔ)蓄管理系統(tǒng)_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)庫系統(tǒng)原理及其應(yīng)用教程課程設(shè)計(jì)報(bào)告題目名稱:銀行儲(chǔ)蓄管理系統(tǒng)任課教師:朱長元姓名:王媛媛2014.2.18隨著社會(huì)的不斷發(fā)展,計(jì)算機(jī)已無處不在,它進(jìn)入各行各業(yè),改 變著人們的生活。銀行系統(tǒng)事關(guān)民之財(cái)政,重中之重,然而它的管理模式也隨著時(shí)代不斷進(jìn)步發(fā)展,為實(shí)現(xiàn)人們方便省時(shí)的辦理銀行儲(chǔ)蓄 業(yè)務(wù),出現(xiàn)了銀行儲(chǔ)蓄管理系統(tǒng)。銀行儲(chǔ)蓄系統(tǒng)可以為人們方便辦理 儲(chǔ)蓄業(yè)務(wù),使人們在互聯(lián)網(wǎng)辦理存款、取款、查賬等業(yè)務(wù),以高效、 安全、互聯(lián)為主要特征,為儲(chǔ)戶足不出戶,提供各項(xiàng)業(yè)務(wù)的綜合辦理。銀行儲(chǔ)蓄管理系統(tǒng)的主要作用是針對各類銀行中的儲(chǔ)蓄業(yè)務(wù)進(jìn)行 有效管理。銀行儲(chǔ)蓄是我們現(xiàn)實(shí)生活屮常見的活動(dòng)。就儲(chǔ)蓄業(yè)務(wù)而言, 無

2、論國內(nèi)還是國外,也無論是哪家銀行,雖然所開展的業(yè)務(wù)種類稍有 不同,利息的結(jié)算也存在差異,但儲(chǔ)蓄的本質(zhì)是完全相同的。本次開發(fā)以一個(gè)銀行業(yè)務(wù)為背景,在深入了解銀行儲(chǔ)蓄管理要求 的基礎(chǔ)上,力爭開發(fā)出一個(gè)實(shí)用性強(qiáng)的銀行儲(chǔ)蓄管理系統(tǒng),基本上可 以滿足正常銀行業(yè)的工作需要。目錄第一章系統(tǒng)概述1.1現(xiàn)狀描述1. 2系統(tǒng)目標(biāo)1. 3開發(fā)方法第二章需求分析2. 1系統(tǒng)功能分析2. 1. 1功能需求2.2系統(tǒng)業(yè)務(wù)流程分析2.2. 1系統(tǒng)功能圖2.2.2數(shù)據(jù)流圖第三章系統(tǒng)概念設(shè)計(jì)3.1功能模塊設(shè)計(jì)3. 1. 1登錄功能模塊設(shè)計(jì)3. 1.2查詢功能模塊設(shè)計(jì)3. 1.3儲(chǔ)戶管理模塊設(shè)計(jì)3.1.4業(yè)務(wù)管理模塊設(shè)計(jì)3.2

3、輸入、輸岀設(shè)計(jì)3.3數(shù)據(jù)庫設(shè)計(jì)3. 3. 1 e-r 圖3. 3.2數(shù)據(jù)庫分析第四章系統(tǒng)詳細(xì)設(shè)計(jì)4.1登錄界面設(shè)計(jì)4.2操作界而設(shè)計(jì)4.3人工服務(wù)界面設(shè)計(jì)第五章系統(tǒng)測試5. 1系統(tǒng)測試5. 1. 1測試計(jì)劃5.1.2測試目的5.1.3測試ii標(biāo)5. 1. 4測試方法第六章工作總結(jié)源程序第一章系統(tǒng)概述1.1現(xiàn)狀描述現(xiàn)在的銀行系統(tǒng)工作效率低,越來越不能滿足人們的需求,人們 希望更方便更省時(shí)就可以辦理儲(chǔ)蓄業(yè)務(wù);隨著擁有多種銀行業(yè)務(wù)的人 群不斷上漲,人們急切需要有一個(gè)通用的銀行系統(tǒng)以便隨時(shí)隨地都可 以存款取款。在這樣的背景下,很明顯現(xiàn)在的銀行儲(chǔ)蓄系統(tǒng)已經(jīng)不能 滿足人們?nèi)找嬖鲩L的需要,急切需要建立一個(gè)新

4、的、高效的、方便的、 互聯(lián)的銀行儲(chǔ)蓄管理系統(tǒng)。1. 2系統(tǒng)目標(biāo)在一個(gè)銀行建立銀行內(nèi)部存儲(chǔ)管理系統(tǒng),初步實(shí)現(xiàn)銀行儲(chǔ)蓄系統(tǒng) 計(jì)算機(jī)化,同時(shí)促進(jìn)多類銀行間的互聯(lián)合作,實(shí)現(xiàn)銀行儲(chǔ)蓄的計(jì)算機(jī) 管理體制,提高銀行儲(chǔ)蓄的管理水平,從而提高銀行的信用度。1. 3開發(fā)方法本系統(tǒng)采用visual basic開發(fā)語言,采用面向?qū)ο蟮拈_發(fā)方法。第二章需求分析2. 1系統(tǒng)分析2. 1. 1功能需求(1)功能劃分軟件分別有開戶、銷戶、掛失、修改、查詢、等功能,各個(gè)模塊各 有不同的功能,但都能完成查詢和存儲(chǔ)功能,各模塊的數(shù)據(jù)都存在數(shù) 據(jù)庫中。數(shù)據(jù)的調(diào)用和連接都有程序來完成。此系統(tǒng)要完成的功能有:開戶、銷戶、掛失等管理;存款

5、(包括活期存款和定期存款);取款(包括活期取款、定期到期取款和定期提前取款);轉(zhuǎn)帳(一次轉(zhuǎn)帳可以從一個(gè)帳戶資金轉(zhuǎn)到多個(gè)帳戶,一如代發(fā)工資的 情況)。儲(chǔ)戶可以通過網(wǎng)絡(luò)查詢自已的帳戶信息;還可以通過網(wǎng)絡(luò)掛失。查詢、統(tǒng)計(jì)與報(bào)表(如查詢交易歷史); 其它管理功能。2. 2系統(tǒng)業(yè)務(wù)流程分析2. 2.1系統(tǒng)功能圖1 系統(tǒng)功能圖(圖1. 1)2. 2. 2數(shù)據(jù)流圖第三章系統(tǒng)概念設(shè)計(jì)3. 1功能模塊設(shè)計(jì)3. 1.1登錄功能模塊設(shè)計(jì)該模塊提供銀行儲(chǔ)蓄系統(tǒng)的登錄界面,是主系統(tǒng)的唯一人口。該界 面提供管理員登錄的窗口,對于進(jìn)入管理員操作功能還要核對用戶名 和口令。3. 1. 2查詢功能模塊設(shè)計(jì)該模塊提供儲(chǔ)戶操作明細(xì)

6、信息查詢和儲(chǔ)戶基本信息資料查詢界 面,管理員可以選擇一個(gè)儲(chǔ)戶,查詢儲(chǔ)戶的操作明細(xì)和基本信息,該 模塊查詢并顯示用戶的操作明細(xì)和基本信息。3. 1.3儲(chǔ)戶管理模塊設(shè)計(jì)該模塊提供儲(chǔ)戶的開戶、銷戶的界面。當(dāng)進(jìn)入開戶界面時(shí),儲(chǔ)戶 需基本填寫信息,包括儲(chǔ)戶編號、姓名、性別、密碼、出生日期、身 份證號、住址、聯(lián)系電話,確認(rèn)密碼后保存。當(dāng)進(jìn)入銷戶儲(chǔ)戶界面后, 需輸入賬號、密碼,確認(rèn)密碼后點(diǎn)擊確定,將刪除該儲(chǔ)戶賬號。3. 1.4業(yè)務(wù)管理模塊設(shè)計(jì)當(dāng)進(jìn)入存款功能界面前,輸入卡號,確認(rèn)卡的掛失信息后,儲(chǔ)戶 須輸入姓名、賬戶號碼、金額,輸入完畢后將彈出存款清單顯示該用 戶基本資料和存款總金額及存款時(shí)間,確認(rèn)無誤后點(diǎn)擊

7、“確定”。3.2 輸入、輸出設(shè)計(jì)系統(tǒng)輸入輸出(10)設(shè)計(jì)是一個(gè)在系統(tǒng)中很容易被忽視的環(huán)節(jié), 但它是一個(gè)重耍的環(huán)節(jié),它對于用戶和系統(tǒng)今后數(shù)用的方便和安全可靠性來說都是十分重要的。一個(gè)好的輸入設(shè)計(jì)可以為用戶和系統(tǒng)雙方 帶來良好的工作環(huán)境,一個(gè)好的輸出設(shè)計(jì)可以為管理者提供便捷、明 了、有效、實(shí)用的管理和控制信息。3.3據(jù)庫設(shè)計(jì)3. 3. 1 e-r 圖3. 3. 2數(shù)據(jù)庫分析(1)本系統(tǒng)由四張表組成,具體如下:表名屬性(字段)名儲(chǔ)戶表賬號、身份證號、姓名、性別、地址、存款余 額存款單表存款單號、金額、存款方式、賬號、存款日期取款單表取款單號、金額、取款方式、賬號、取款fi期轉(zhuǎn)賬單表轉(zhuǎn)賬單號、金額、轉(zhuǎn)

8、賬款方式、賬號、轉(zhuǎn)賬日 期(2)表間關(guān)系:一個(gè)存款單或取款單屬于一個(gè)用戶,一個(gè)用戶可以擁有多次存款單或取款單。一次轉(zhuǎn)帳可以從一個(gè)帳戶資金轉(zhuǎn)到多個(gè)帳戶,用戶通過存款操作與存款單建立聯(lián)系,通過取款操作與取款單建立聯(lián)系。(3)表的具體信息和創(chuàng)建表的代碼如下:儲(chǔ)戶表:字段(屬性)含義字段(屬性)名字段(屬性)類型賬號acnumvarchar (5)身份證號idnumber姓名namevarchar(20)性別sexvarchar(2)地址addressvarchar(20)存款金額balanceint創(chuàng)建儲(chǔ)戶表的代碼如下:create table useracnum id name sexvarcha

9、r2 (5) not null ,number not null ,varchar2 (20) not null ,varchar2 (2) check (sex in ('男','女'),address balancedps_nummoney dpsway acnum dpstime );varchar2 (20) not null ,int not null);alter table user添加主鍵約束add constraint xpkluser primary key (acnum);存款單表:字段(屬性)含義字段(屬性)名字段(屬性)類型存款單號dp

10、s numnumber賬號acnumvarchar(5)存款時(shí)間dps timetimestamp金額moneyint存款方式dps wayvarchar(10)創(chuàng)建存款單表的代碼如下:create table depositslipnumber not null ,int check(money>=0), varchar2(10) not null , varchar2 (5) not null , timestamp nullalter table depositslip 添加主鍵約棗add constraint xpkdepositslip primary key (dps_num

11、,acnum);alter table depositslip 在depositslip表中的acnum字段中添加外鍵約束add (constraint r_5 foreign key (acnum) references luser(acnum);取款單表:字段(屬性)含義字段(屬性)名字段(屬性)類型取款單號dw numnumber賬號acnumvarchar(5)金額moneyint取款方式dw wayvarchar(10)取款時(shí)間dw timetimestamp創(chuàng)建取款單表的代碼如下:create table drawslipdw_numnumber not null ,moneyin

12、t check(money>=0),dwwayvarci1ar2(1o) not null ,acnumvarci1ar2 (5) not null ,dw timetimestamp null);alter table drawslip添加主鍵約束add constraint xpkdrawslip primary key (dw_num, acnum);alter table drawslip在drawslip表中的acnum字段中添加外鍵約束add (constraint r_6 foreign key (acnum) references luser(acnum);(4) 索引建

13、立索引遵循的規(guī)律:1. 建立在where子句經(jīng)常引用的列上,2. 經(jīng)常需要排序的列上,3. 連接屬性列上等在存款單農(nóng)的存款單號字段和賬號字段建立組合索引create unique index xpkdepositslip on depositslip(dps num asc,acnum asc);在存款單表的賬號字段建'/:索引create index xifldepositslip on depositslip(acnum asc);在取款單表的取款單號字段和賬號字段建立組合索引create unique index xpkdrawslip on drawslip(dw_num as

14、c, acnum asc);在哌款單表的賬號字段建立索引create index xifldrawslip on drawslip(acnum asc);在儲(chǔ)戶表的賬戶字段上建立索引,方便查詢create unique index xpkluser on luser (acnum asc);(5) 觸發(fā)器1、插入存款,對應(yīng)儲(chǔ)戶表的相應(yīng)儲(chǔ)戶的余額(balance)增加插入記錄包含的金額 數(shù)(money)create or replace trigger operatingdpsafter insert on depositslipfor each rowdeclaren_ac varchar2(

15、5);n_mo 1nt;beginn_ac: = :new. acnum;n_mo: =:new. money;update luser set balance=balance+n_mo where luseracnum二n_ac;end operatingdps;2、刪除存款,對應(yīng)儲(chǔ)戶表的相應(yīng)儲(chǔ)戶的余額(balance)減去所刪除記錄的金額數(shù) (money)create or replace trigger 0peratingdps2after delete on depositslipfor each rowdeclareo_ac varchar2(5);o_mo 1nt;begino_a

16、c: = :old. acnum;o_mo: = :old. money;update luser set balance=balance-o_mo where luseracnum二o_ac;end 0peratingdps2;3、插入取款,對應(yīng)儲(chǔ)戶表的相應(yīng)儲(chǔ)戶的余額(balance)減少插入記錄包含的金額 數(shù)(money)create or replace trigger operatingdwafter insert on drawslipfor each rowdeclaren_ac varchar2(5);n mo 1nt;beginn_ac:二:new. aenuni;n_mo:二

17、:new. money;update luscr set balanee二baleincc-n_mo where luscr. acnum=n_ac;end opcratingdw;4、刪除取款,對應(yīng)儲(chǔ)戶表的相應(yīng)儲(chǔ)戶的余額(balance)加上所刪除記錄的金額數(shù) (money)create or replace trigger 0peratingdw2after delete on drawslipfor each rowdeclareo_ac varchar2(5);o_mo tnt;begino_ac:二:old. aenum;o_mo: = :old. money;update 1 us

18、er set balance=balance+o_mo where 1 user. acnum=o ac;end operati ngdw2;5、插入的取款金額(money)大于對應(yīng)用戶的余額(balance)時(shí),系統(tǒng)報(bào)錯(cuò)create or replace trigger operatingdw3after insert on draws1 ipfor each rowdeclaren_ac varchar2(5);n mo tnt;n_ba tnt;beginn_ac: = :new. aenum;n_mo:二:new. money;seiect balance into n_ba from

19、 luser where acnum=n_ac;if n_mo>n_ba thenratse_appijcatton_error(-20000,'存款余額不足!請重新插入存款!);end if;end operatingdw3;第四章系統(tǒng)詳細(xì)設(shè)計(jì)4.1登錄界面設(shè)計(jì)4. 1. 1在visual basic中新鍵一個(gè)工程,將工程名稱命名為“銀行 儲(chǔ)蓄管理系統(tǒng)”。在visual basic窗口中有一個(gè)默認(rèn)的窗體forml, 在窗體中添加一個(gè) picturebox,個(gè) label,兩個(gè) commandbuttorio 并設(shè)計(jì)它們各自的屬性。在對幾個(gè)控件進(jìn)行click事件的設(shè)置。開始這個(gè)l

20、abel的click事件的代碼為:adm inf omi adminformnew adminform ();adminform show();this. hide ();作用:當(dāng)點(diǎn)擊它是的時(shí)候顯示新的窗體adminform,并關(guān)閉原來的窗 體。退出botton按鈕的click事件的代碼為:application. exit ();作用:當(dāng)點(diǎn)擊它的時(shí)候會(huì)退出應(yīng)用程序。圖女口4. 2操作界面設(shè)計(jì)4. 2. 1當(dāng)選擇開始按鈕時(shí),則進(jìn)入了操作界面窗口,在窗體中加入六 個(gè) commandbutton 和一個(gè) picturebox 和一個(gè) textboxo4. 2.2設(shè)計(jì)六個(gè)commandbutton的

21、名稱分別為轉(zhuǎn)賬、存款、取款、修 改密碼、查詢余額、退卡。并分別設(shè)計(jì)它們的屬性,在textbox中輸 入“請選擇所需要的操作”。點(diǎn)擊所需的按鈕進(jìn)入操作,即圖為:4. 3人工服務(wù)界面的功能界面設(shè)計(jì)4. 3.1新建一個(gè)窗體,將窗體名稱命名為“人工服務(wù)”,并加入七個(gè) commandbotton 按鈕、五個(gè) label> 五個(gè) textbox 和一個(gè) picturebox0 并分別設(shè)計(jì)它們的屬性。七個(gè)commandbotton名稱分別為開戶、銷戶、 掛失、轉(zhuǎn)賬、取消、開戶。dp& at®務(wù)亙|亙:亙二:開戶銷戶 掛失 轉(zhuǎn)賬 ahh 開戶姓名二;m_ m ; m m m身份證號碼m

22、i開戶取消:退出第五章 系統(tǒng)測試5. 1系統(tǒng)測試5. 1. 1測試計(jì)劃軟件測試階段的主要任務(wù)是發(fā)現(xiàn)并排除在分析、設(shè)計(jì)、編程各階段 中所產(chǎn)生的各種類型的錯(cuò)誤,以得到可使用的軟件系統(tǒng)。5.1.2測試目的(1)測試是程序的執(zhí)行過程,目的在于發(fā)現(xiàn)錯(cuò)誤。(2)一個(gè)好的測試用例在于發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤。(3)一個(gè)成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測試。5.1.3測試目標(biāo)測試的目標(biāo)是保證軟件在投入運(yùn)行中的安全性和穩(wěn)定性。5. 1. 4測試方法1. 系統(tǒng)測試2. 單元測試第六章工作總結(jié)通過這次課程設(shè)計(jì),把學(xué)過的數(shù)據(jù)庫和系統(tǒng)知識都綜合的復(fù)習(xí)了 一遍,達(dá)到了這次課程設(shè)計(jì)的初步目標(biāo)。在這次的課程設(shè)計(jì)中,借助 于網(wǎng)

23、絡(luò)的強(qiáng)大力量,在很多時(shí)候,口己遇到了很多問題,但口己的調(diào) 試就是無法通過或是達(dá)不到自己想要的結(jié)果,比如這次的查詢代碼設(shè) 計(jì),每次查詢都是把表全部瀏覽一遍,而不是根據(jù)查詢條件得到的結(jié) 果??傮w來說這次課程設(shè)計(jì)做的一般般,因?yàn)樵诳紤]問題時(shí)不是很全 面,有些細(xì)節(jié)方面可能還欠缺,不過在今后的學(xué)習(xí)中我會(huì)加強(qiáng)理論與 實(shí)踐的結(jié)合,通過不懈的努力和信念彌補(bǔ)我在軟件制作方面的不足。源程序:#include<iostream>#i nclude<fstream>#include<string>using namespace std;const int max=100;void

24、wait();用八類的聲明class userpublic:user ()currentacount=0;void resertl (user *u,double a)u->currentacount二u->cuirentacount+a;void resert2(user *u,double a)u->currentacount=u->currentacount-a;char *getnamc()return name;/初始化當(dāng)前的賬戶/取得用戶名long getnumo return num;/取得帳戶號double getcurrentacount ()retu

25、rn currentacount; void output ()cout«z,用戶名 cout«賬號 cout«z/ 余額/輸出相關(guān)信息ame<<endl;,z<<num<<endl; z,«currentacount<<endl;void adduser (char *namo, long num)strcpy (this->name, name);thi s >num=num; void deposit(user *u,double acount) u->resertl(u,acoun

26、t);/存款if (acount>u->getcurrentacount ()cout«z/余額不足.n;elsecout«z,請及時(shí)取走你的鈔票.rt; u->resert2(u, acount);void locate(user *u)u->output ();private:char name20;long num;double currentacount;class dobankpublic:dobank ()user a;top二_1;fstream file(f:use txt", ios:in); while(l)fila r

27、ead(char*)&a, sizeof (a);if(!file) break;top+;btop二a;file. closeo ;/查詢余額/銀行管理類的聲明/以讀的方式打開文件/關(guān)閉文件void work();void adduser(char *name, int num)user *p=equal(num);if(p=null)top+;b top. adduser (name, num); cout<<,z 成功載入nnrt;else cout«z,該用戶已存在.n"user *equal(long num)int i;for (i=0;it

28、op;i+)if (bij. getnumo =num)return &bi;return null;dobank ()/以寫的方式打fstream file cf: user. txt", ios: :out); 開文件for (int i二0;i二top;i+)file, write(char *)&bi, sizeof(bi);/關(guān)閉文件file, close();private:user bmax;int top;;void wait ()int i=0;while(i<999999999)void menu()/顯示功能菜單cout«z,nnnn;cout«,zcout«z,cout«,zcout<"cout«,z1、2、3、4、0、用戶維護(hù)r;存款取款n 查詢n 退出nvoid dobank:work()iimenu ();user *us;user *usl;char name20;long num;long numl;long tacount;char number;cin»number;while (number !=,o')if(int

溫馨提示

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

最新文檔

評論

0/150

提交評論