活期儲蓄賬目管理系統(tǒng)畢業(yè)論文_第1頁
活期儲蓄賬目管理系統(tǒng)畢業(yè)論文_第2頁
活期儲蓄賬目管理系統(tǒng)畢業(yè)論文_第3頁
活期儲蓄賬目管理系統(tǒng)畢業(yè)論文_第4頁
活期儲蓄賬目管理系統(tǒng)畢業(yè)論文_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、活期儲蓄賬目管理系統(tǒng)摘 要銀行作為一個金融機(jī)構(gòu),在現(xiàn)代人們的生活中扮演著極其重要的角色。為生活節(jié)湊飛快的現(xiàn)代人提供快速、便捷、高效的理財服務(wù)。伴隨著電腦技術(shù)的發(fā)展,各大銀行的儲蓄管理系統(tǒng)也隨之出現(xiàn)在這一舞臺上。本次研究開發(fā)的目的是設(shè)計(jì)并實(shí)現(xiàn)一個活期儲蓄賬目管理系統(tǒng)的基本業(yè)務(wù)。本文介紹了活期儲蓄賬目管理系統(tǒng),并深入分析活期儲蓄賬目管理系統(tǒng)的設(shè)計(jì)和各個功能模塊的實(shí)現(xiàn)。系統(tǒng)主要分為五個大的模塊:儲戶開戶模塊、儲戶銷戶模塊、儲戶登錄模塊、儲戶的賬號存款、取款模塊,能夠?qū)崿F(xiàn)對儲戶的自然信息進(jìn)行管理,對儲戶賬戶信息進(jìn)行管理,對當(dāng)天交易進(jìn)行統(tǒng)計(jì),以及查詢指定用戶的交易信息。系統(tǒng)充分采用了模塊化的設(shè)計(jì)思想,將

2、各種功能進(jìn)行封裝,提高了系統(tǒng)的整體擴(kuò)展性,經(jīng)使用證明該系統(tǒng)運(yùn)行良好。關(guān)鍵詞:算法 數(shù)據(jù)結(jié)構(gòu) 管理title current savings account management system abstractbank, as a financial institution, in modern plays an extremely important role in peoples lives. for modern living section of minato quickly with fast, convenient, and efficient financial services.

3、 along with the development of computer technology, the major bank savings management system also arise at this stage.this research aims to design and implement a basic business checking savings account management system. this article describes the current savings account management system, and in-d

4、epth analysis of current savings account management system design and realization of each functional module.system is divided into five modules: customer account login module, customer sales module, savers account deposit, withdrawal of modules, savers can be achieved naturally information managemen

5、t, to manage customer account information, trading statistics on that day, and the query transaction information for the specified user. full systems with modular design concept, package various functions, improve the overall scalability of the system, the used result shows that the system is runnin

6、g well.keywords: algorithm data structure management 目 錄1 緒論11.1 研究開發(fā)目的和意義12 活期儲蓄賬目管理系統(tǒng)開發(fā)技術(shù)22.1 c+語言簡介22.2 visual studio 2005開發(fā)平臺22.3 活期儲蓄賬目管理介紹43 系統(tǒng)分析54 系統(tǒng)設(shè)計(jì)54.1 系統(tǒng)模塊設(shè)計(jì)54.1.1登錄功能模塊的分析64.1.2用戶自然信息管理功能模塊的分析64.1.3賬戶信息管理功能模塊分析74.1.4當(dāng)天交易統(tǒng)計(jì)功能模塊的分析74.1.5用戶交易查詢模塊的分析74.2 系統(tǒng)設(shè)計(jì)所采用技術(shù)74.3 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)84.4 函數(shù)設(shè)計(jì)104.5

7、關(guān)鍵流程114.5.1系統(tǒng)函數(shù)調(diào)用流程114.5.2系統(tǒng)執(zhí)行流程124.5.3功能詳細(xì)執(zhí)行流程135 調(diào)試分析156 測試及運(yùn)行結(jié)果166.1登陸功能166.2主操作界面17結(jié) 論27致 謝28參 考 文 獻(xiàn)291 緒論隨著科技的提高和社會的日益發(fā)展,21世紀(jì)已經(jīng)進(jìn)入到了信息、網(wǎng)絡(luò)的高科技時代,互聯(lián)網(wǎng)逐漸普及,社會現(xiàn)代化的腳步不斷加快,人們的生活也隨之向著多元化的方面發(fā)展。現(xiàn)今的社會,資金流動十分頻繁。不單單是企業(yè)、產(chǎn)商,個人也不例外。銀行作為一個金融機(jī)構(gòu),在現(xiàn)代人們的生活中扮演著極其重要的角色。為生活節(jié)湊飛快的現(xiàn)代人提供快速、便捷、高效的理財服務(wù)。伴隨著電腦技術(shù)的發(fā)展,各大銀行的儲蓄管理系統(tǒng)

8、也隨之出現(xiàn)在這一舞臺上。11.1 研究開發(fā)目的和意義本次研究開發(fā)的目的是設(shè)計(jì)并實(shí)現(xiàn)一個活期儲蓄賬目管理系統(tǒng)的基本業(yè)務(wù)。能夠?qū)崿F(xiàn)對儲戶的自然信息進(jìn)行管理,對儲戶賬戶信息進(jìn)行管理,對當(dāng)天交易進(jìn)行統(tǒng)計(jì),以及查詢指定用戶的交易信息這四項(xiàng)主要功能。詳細(xì)的功能包括:用戶開戶(填寫個人詳細(xì)信息)、銷戶;用戶存入以及支出;統(tǒng)計(jì)當(dāng)日開戶銷戶數(shù)量以及交易金額;并且通過輸入指定用戶編號查詢該用戶交易信息。軟件采用可視化界面,操作簡單方便。本論文限于程序的特性,編寫語言是c+語言,開發(fā)平臺則是微軟的visual studio 2005。同時,本系統(tǒng)的開發(fā)采用了面向?qū)ο蟮姆椒?,將系統(tǒng)劃分模塊時,盡量做到高內(nèi)聚低耦合,提

9、高模塊的獨(dú)立性,給模塊功能的增加與修改帶來了方便,從而使得整個軟件的可擴(kuò)展性大大加強(qiáng)。整個軟件在編寫過程中,采取了規(guī)范化的代碼書寫形式以及清晰的程序注釋,使得代碼的理解更加容易更加方便。2 活期儲蓄賬目管理系統(tǒng)開發(fā)技術(shù)2.1 c+語言簡介c+這個詞在中國大陸的程序員圈子中通常被讀做“c加加”,而西方的程序員通常讀做“c plus plus”,“cpp”。 它是一種使用非常廣泛的計(jì)算機(jī)編程語言。c+是一種靜態(tài)數(shù)據(jù)類型檢查的、支持多重編程范式的通用程序設(shè)計(jì)語言。它支持過程化程序設(shè)計(jì)、數(shù)據(jù)抽象、面向?qū)ο蟪绦蛟O(shè)計(jì)、制作圖標(biāo)等等泛型程序設(shè)計(jì)等多種程序設(shè)計(jì)風(fēng)格。7c+支持c語言的幾乎全部功能,主要是c89

10、的部分,在語法上與c語言僅有極微妙的差別(如括號表達(dá)式的左右值性,具體請參考c+標(biāo)準(zhǔn)文獻(xiàn))。 c+語言原本不具備面向?qū)ο蟮脑O(shè)計(jì)功能,然而隨著面向?qū)ο缶幊痰母拍畹奶岢鲆约叭鏹ava等語言的發(fā)展成熟,c+語言也開發(fā)出了支持面向?qū)ο蠊δ艿陌姹尽?c+強(qiáng)大(但容易失控的)模板功能使它能在編譯期完成許多工作,從而大大提高運(yùn)行期效率。 c+在一定程度上可以和c語言很好的結(jié)合,甚至目前大多數(shù)c語言程序是在c+的集成開發(fā)環(huán)境中完成的。c+相對眾多的面向?qū)ο蟮恼Z言,具有相當(dāng)高的性能。 c+引入了面向?qū)ο蟮母拍?,使得開發(fā)人機(jī)交互類型的應(yīng)用程序更為簡單、快捷。很多優(yōu)秀的程序框架包括mfc、qt、wxwidgets就

11、是使用的c+。34本設(shè)計(jì)經(jīng)過比較分析,選擇c+來開發(fā)。2.2 visual studio 2005開發(fā)平臺2.2.1 全新特性幫助用戶應(yīng)對挑戰(zhàn)visual studio 2005增加了許多獨(dú)特的功能,使整個系列產(chǎn)品更加成熟和完善。它是為用戶開發(fā)的產(chǎn)品,是深入分析用戶的需求,為用戶提供功能強(qiáng)大、高度集成的軟件產(chǎn)品。它主要包括如下新特性: 語言和ide各有特色和創(chuàng)新的四種語言(visual basic, visual c+, visual c#和visual j#)將豐富編程體驗(yàn)ide的改進(jìn)、提供個性化是提高生產(chǎn)力的保證。1415 net framework 2.0提供一個可靠的應(yīng)用平臺,為構(gòu)建安

12、全、高性能、關(guān)鍵業(yè)務(wù)的解決方案提供了堅(jiān)實(shí)基礎(chǔ)。 microsoft office解決方案的開發(fā)增強(qiáng)在microsoft office excel 2003和microsoft office word 2003上面開發(fā)解決方案的能力。 sql server 2005解決方案的開發(fā)sql server 2005集成到visual studio 2005的ide中,可以對數(shù)據(jù)庫對象進(jìn)行開發(fā)和調(diào)試。12 企業(yè)開發(fā)和軟件生命周期管理visual studio team system可以使軟件開發(fā)團(tuán)隊(duì)在開發(fā)過程中降低工作復(fù)雜度,是提高生產(chǎn)和協(xié)作能力的高效率、集成性、可擴(kuò)展的軟件生命周期管理工具。2.2.2

13、 強(qiáng)大的集成環(huán)境讓你心花怒放visual studio 2005的很多新功能大大簡化了開發(fā)步驟,提高了開發(fā)效率,讓開發(fā)人員編寫軟件得心應(yīng)手。photothinking的所有功能均是在visual studio 2005集成開發(fā)環(huán)境下采用c#語言開發(fā)完成。下面列舉5點(diǎn)來談?wù)剰膙isual studio 2005得到的新體驗(yàn)。 分割文件visual c# 2005允許將一個不完全類型分開寫到多個文件中。它使c#開發(fā)人員能夠使用不完全類型,將包含大量源代碼的類型分割到多個不同源文件中。不完全類型提供更方便的開發(fā)和代碼維護(hù),使開發(fā)人員能夠分隔開設(shè)計(jì)器自動生成和用戶編寫的類型部分,以便更有效地補(bǔ)充或修改

14、由工具生成的代碼。例如,新建一個windows form后,ide會自動生成一些代碼,我們會看到一個很明顯的地方,就是它在類名前多加一個修飾符partial,同時我們還會在解決方案資源管理器中發(fā)現(xiàn)系統(tǒng)多產(chǎn)生了一個后綴為designer.cs的文件。 編碼風(fēng)格visual c# 2005對代碼的編寫風(fēng)格 非常講究,能隨時對正在編輯的代碼塊自動進(jìn)行分段并縮進(jìn)。這極好地糾正了部分編碼人員不合適的風(fēng)格,產(chǎn)生一種潛移默化的影響。例如,在一個菜單項(xiàng)的text屬性中輸入該菜單的描述文字,則ide會自動以camel變量命名方式對該菜單進(jìn)行命名。當(dāng)我們每輸入完一條語句,ide會自動對這段代碼進(jìn)行縮進(jìn)。 跟蹤提示

15、當(dāng)我們在編寫代碼時,ide會自動跟蹤提示相關(guān)的類、結(jié)構(gòu)體、枚舉、變量等信息。這極大地提高了編程人員的輸入速度,并保證了編碼的正確性。也許編程人員只需敲幾下空格和回車,按了幾下方向鍵就可以輕松搞定一段代碼。這對于visual c# 2005來說,已不再是神奇的事了。 控件多樣化用visual c# 2005新建一個項(xiàng)目,在ide的工具箱中可以看到品種繁多的工具,讓人眼花繚亂。在那上面隨便動動鼠標(biāo),就可以拖出一個實(shí)用的工具來。photothinking的主界面混合使用了menustrip、toolstripcontainer、toolstrip和statusstrip等控件,做出來的總體效果就很讓

16、人滿意了。 調(diào)試方便在調(diào)試程序的時候,經(jīng)常會遇到這樣的情況:當(dāng)調(diào)試一大段代碼時,遇到了一個小小的錯誤,比如參數(shù)賦值錯誤了,這時候,我們往往希望能夠馬上將這個小錯誤改正過來,并能夠繼續(xù)跟蹤調(diào)試下去,而不用結(jié)束整個調(diào)試過程去修改。在visual studio 2003中,我們必須停止當(dāng)前的調(diào)試,修改完出錯的地方,再重新編譯,這樣十分不方便。然而visual studio 2005提供了一個“edit and continue”的新功能,當(dāng)你在調(diào)試時,遇到了小的錯誤需要馬上修改,可以直接進(jìn)行編輯修改,然后繼續(xù)往下調(diào)試,不需要結(jié)束整個調(diào)試過程,當(dāng)你修改完畢后,調(diào)試器會在后臺自動地進(jìn)行編譯,并且執(zhí)行的是

17、修改后的新代碼,十分方便。52.3 活期儲蓄賬目管理介紹在這里首先解釋一下活期儲蓄的定義,活期儲蓄指無需任何事先通知,存款戶即可隨時存取和轉(zhuǎn)讓的一種銀行存款,其形式有支票存款帳戶,保付支票,本票,旅行支和信用證等.活期存款占一國貨幣供應(yīng)的最大部分,也是商業(yè)銀行的重要資金來源.鑒于活期存款不僅有貨幣支付手段和流通手段的職能,同時還具有較強(qiáng)的派生能力,因此,商業(yè)銀行在任何時候都必須把活期存款作為經(jīng)營的重點(diǎn).但由于該類存款存取頻繁,手續(xù)復(fù)雜,所費(fèi)成本較高,因此西方國家商業(yè)銀行一般都不支付利息,有時甚至還要收取一定的手續(xù)費(fèi)。活期儲蓄管理系統(tǒng)是由銀行人員來進(jìn)行操作,用戶通過該系統(tǒng)可以進(jìn)行存款、取款、銷戶

18、等業(yè)務(wù)。該系統(tǒng)在金融業(yè)給人民帶來了很大的方便,系統(tǒng)開發(fā)成功后,一旦應(yīng)用于銀行領(lǐng)域,會給管理員與用戶帶來很大的方便,其主要作用具體如下:1、 可以代替營業(yè)員進(jìn)行許多繁雜的手動操作2、 給用戶帶來了很大的方便3、 可以節(jié)省許多人力資源4、 可以提高人們的工作效率活期儲蓄賬目管理系統(tǒng)主要是由于在活期儲蓄處理中,儲戶開戶、銷戶、存入、支出活動頻繁,為實(shí)現(xiàn)儲戶的各種操作而設(shè)計(jì)的,本課程設(shè)計(jì)的主要功能包括實(shí)現(xiàn)儲戶開戶、銷戶、存入、支出等活動,為了能比較迅速找到賬戶,實(shí)現(xiàn)這樣的幾個功能,就要通過鏈表來存儲數(shù)據(jù)結(jié)構(gòu),其結(jié)構(gòu)則按照c語言的相關(guān)知識定義結(jié)構(gòu)體,其中儲戶開戶、銷戶就是實(shí)現(xiàn)鏈表的插入與刪除,而存入、支

19、出等活動則是實(shí)現(xiàn)鏈表中結(jié)點(diǎn)的查找,然后進(jìn)行更改。93 系統(tǒng)分析設(shè)計(jì)并實(shí)現(xiàn)一個活期儲蓄賬目管理系統(tǒng)的基本業(yè)務(wù)。能夠?qū)崿F(xiàn)對儲戶的自然信息進(jìn)行管理,對儲戶賬戶信息進(jìn)行管理,對當(dāng)天交易進(jìn)行統(tǒng)計(jì),以及查詢指定用戶的交易信息這四項(xiàng)主要功能。詳細(xì)的功能包括:用戶開戶(填寫個人詳細(xì)信息)、銷戶;用戶存入以及支出;統(tǒng)計(jì)當(dāng)日開戶銷戶數(shù)量以及交易金額;并且通過輸入指定用戶編號查詢該用戶交易信息。軟件采用可視化界面,操作簡單方便。24 系統(tǒng)設(shè)計(jì)4.1 系統(tǒng)模塊設(shè)計(jì) 本程序一共分為五個大功能模塊,包括管理員登陸模塊,用戶自然信息管理模塊,用戶賬戶信息管理模塊,當(dāng)天交易統(tǒng)計(jì)模塊以及查詢用戶交易信息模塊。每個模塊下還包含若

20、干個子模塊,模塊中的若干函數(shù)分別實(shí)現(xiàn)了各個功能。系統(tǒng)主模塊圖如圖4.1所示。6用戶自然信息管理模塊管理員登陸 活期儲蓄賬目管理系統(tǒng)管理員登陸模塊用戶賬戶信息管理模塊當(dāng)天交易統(tǒng)計(jì)模塊查詢用戶交易信息模塊儲戶存款 儲戶銷戶儲戶開戶 儲戶取款 統(tǒng)計(jì)當(dāng)日存入支出信息 統(tǒng)計(jì)當(dāng)日開戶銷戶信息 查詢某一儲戶交易信息 圖 4.1 系統(tǒng)主模塊圖4.1.1登錄功能模塊的分析管理員通過輸入自己的用戶名密碼登錄該管理系統(tǒng),進(jìn)行各種業(yè)務(wù)操作,如果用戶名密碼不匹配,則顯示密碼錯誤并且重新登錄。4.1.2用戶自然信息管理功能模塊的分析本模塊主要實(shí)現(xiàn)對用戶自然信息進(jìn)行管理。其中包括儲戶的開戶和銷戶操作。通過輸入賬戶的詳細(xì)信息

21、在數(shù)據(jù)庫中添加或刪除該賬戶。 儲戶開戶子模塊每當(dāng)有新的儲戶在銀行開戶時,則首先登記儲戶的個人信息,包括:編號、姓名、身份證號碼、銀行密碼以及首次存款金額。提交后則在數(shù)據(jù)庫中形成了該儲戶的自然信息,可供以后交易和查詢。 儲戶銷戶子模塊該模塊通過輸入儲戶的編號在數(shù)據(jù)庫中查詢到該用戶注銷其賬號以及密碼,并刪除其全部信息,實(shí)現(xiàn)銷戶功能。4.1.3賬戶信息管理功能模塊分析 該模塊主要對儲戶的賬戶信息進(jìn)行管理。其中包括用戶的存入和支出操作。通過輸入用戶的編號在數(shù)據(jù)庫中查詢到相應(yīng)的用戶并對其賬戶信息進(jìn)行修改。 儲戶存入操作子模塊 該模塊實(shí)現(xiàn)了用戶的存款功能。通過輸入用戶的編號和存入金額,在數(shù)據(jù)庫中查詢到相應(yīng)

22、的用戶并修改其余額,達(dá)到對用戶存款功能的實(shí)現(xiàn)。 儲戶支出操作子模塊 該模塊實(shí)現(xiàn)用戶的取款功能。通過輸入用戶的編號和取款金額,在數(shù)據(jù)庫中查詢到相應(yīng)的用戶并修改其余額,達(dá)到對用戶取款功能的實(shí)現(xiàn)。4.1.4當(dāng)天交易統(tǒng)計(jì)功能模塊的分析 開戶和銷戶統(tǒng)計(jì)子模塊 該模塊實(shí)現(xiàn)了將當(dāng)天開戶和銷戶的賬戶分類排列并顯示出來的功能。顯示了:開戶(或銷戶)用戶的編號、開戶(或銷戶)時間。查詢后可以返回信息統(tǒng)計(jì)界面繼續(xù)進(jìn)行其他查詢操作。方便管理人員統(tǒng)計(jì)與查詢。 存入和支出統(tǒng)計(jì)子模塊該模塊實(shí)現(xiàn)了將當(dāng)天存款和取款用戶的信息(包括:編號、操作時間、存款金額)分別排列顯示出來的功能。方便管理員查詢、統(tǒng)計(jì)。操作完成后可以返回信息統(tǒng)

23、計(jì)界面繼續(xù)進(jìn)行其他查詢操作。4.1.5用戶交易查詢模塊的分析 該模塊只需輸入用戶在銀行的編號,在數(shù)據(jù)庫中查詢到該用戶,并將該用戶的全部操作信息顯示(包括存取操作、存取時間、及存取金額)。實(shí)現(xiàn)查詢指定用戶交易信息的功能。4.2 系統(tǒng)設(shè)計(jì)所采用技術(shù)本次課程設(shè)計(jì)主要用到了mvc(m-mode,v-view,c-control)思想,其目的是使分層更加明確,使程序易讀和維護(hù)。m層主要用到的技術(shù)是javabean等,c層主要用到的技術(shù)是actionservlet,使用了struts的框架進(jìn)行開發(fā),通過重寫action中的execute()方法,實(shí)現(xiàn)不同的功能,使用return xxxx的方法進(jìn)行頁面的跳

24、轉(zhuǎn)。 v主要的技術(shù)是jsp技術(shù)。把不同的類型的類封裝到不同的包中,其中訪問包中的類得權(quán)限有四種,分別是public、private、protected和默認(rèn),根據(jù)不同的情況來用不同的權(quán)限。910系統(tǒng)在control層設(shè)計(jì)了如下類,并在數(shù)據(jù)庫中代表相應(yīng)操作,對程序進(jìn)行控制,具體設(shè)計(jì)如表4.2.所示:表4.2操作類列表類功能描述 對應(yīng)數(shù)據(jù)庫操作addcountaction實(shí)現(xiàn)開戶的功能在數(shù)據(jù)庫中添加開戶信息delcountaction實(shí)現(xiàn)銷戶的功能在數(shù)據(jù)庫中將某指定用戶信息清除deletecountaction實(shí)現(xiàn)統(tǒng)計(jì)銷戶記錄的功能在數(shù)據(jù)庫中添加銷戶記錄depaction實(shí)現(xiàn)存款記錄功能在數(shù)據(jù)庫中

25、增加存款記錄depositaction 實(shí)現(xiàn)存款功能在數(shù)據(jù)庫中修改用戶賬戶余額loginaction實(shí)現(xiàn)登錄功能在數(shù)據(jù)庫中添加管理員信息opencountaction實(shí)現(xiàn)統(tǒng)計(jì)開戶記錄的功能在數(shù)據(jù)庫中增加開戶記錄searchuseraction實(shí)現(xiàn)查詢用戶交易信息的功能在數(shù)據(jù)庫中查詢用戶交易信息witaction實(shí)現(xiàn)取款記錄的功能在數(shù)據(jù)庫中增加取款記錄withdrawaction實(shí)現(xiàn)取款的功能在數(shù)據(jù)庫中修改用戶賬戶余額4.3數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)選用mysql數(shù)據(jù)庫對表進(jìn)行設(shè)計(jì),其中共包括了4張表。分別為count表、 cash-record表、count-record表、以及manager表。具體內(nèi)容

26、如下:1113 count用戶信息表,其中包括對儲戶的個人信息、密碼以及存款金額的字段。具體如表4.3所示。表4.3 count表字段字段類型是否為空鍵型注解idintegernot nullprimary key編號cidvarchar(45)not null用戶編號passwordvarchar(45)not null密碼namevarchar(45)not null姓名idenvarchar(45)not null身份證號碼moneyvarchar(45)not null余額timevarchar(45)not null開戶時間cash-record賬戶交易記錄表,其中包括操作基本信息的

27、字段。具體內(nèi)容如表4.4所示。表4.4 cash-record表字段字段類型是否為空鍵型注解idintegernot nullprimary key編號cidvarchar(45)not null用戶編號timevarchar(45)not null操作時間tempvarchar(45)not null操作名稱moneyvarchar(45)not null存取金額 count-record開戶銷戶記錄表,其中包括開戶銷戶操作信息如操作時間。具體內(nèi)容如表4.5所示。表4.5 count-record表字段字段類型是否為空鍵型注解idintegernot nullprimary key編號cid

28、varchar(45)not null用戶編號timevarchar(45)not null開戶銷戶時間tempvarchar(45)not null具體操作類別manager管理員表,包含管理員的編號和密碼。方便管理員進(jìn)行登錄管理。具體內(nèi)容如表4.6所示。表4.6 manager表字段字段類型是否為空鍵型注解idintegernot nullprimary key編號cidvarchar(45)not null管理員編號passwordvarchar(45)not null登陸密碼4.4函數(shù)設(shè)計(jì)對于實(shí)現(xiàn)活期儲蓄賬目管理系統(tǒng)的主要功能,主要設(shè)計(jì)了如下函數(shù),具體函數(shù)名稱、變量以及作用如表4.7所

29、示。表4.7 函數(shù)列表函數(shù)名稱函數(shù)原型功能描述loginpublic boolean login(string userid,string password)用戶登錄函數(shù)addcountpublic void addcount(string cid,string iden,string name,string money,string password,string time)用戶開戶函數(shù)addcountrecordpublic void addcountrecord(string cid,string time,sring temp)增加開戶銷戶記錄函數(shù)opencountpublic lis

30、tcountopencount (string name,string temp)返回開戶記錄函數(shù)cashpublic listcashcash(string time,string temp)查詢當(dāng)日存取記錄函數(shù)addcashrecordpublic listcashcash(string time,string temp)增加存取款記錄函數(shù)searchpublic listcashsearch(string cid)查詢具體用戶交易函數(shù)withdrawpublic boolean withdraw(string cid,string change)取款函數(shù)delcountpublic bo

31、olean delcount(string cid)用戶銷戶函數(shù)checkpublic string check(string cid)檢驗(yàn)賬戶是否存在depositpublic boolean deposit(string cid,string change)存款函數(shù)4.5 關(guān)鍵流程4.5.1 系統(tǒng)函數(shù)調(diào)用流程當(dāng)進(jìn)入該系統(tǒng)時,首先進(jìn)入一個登陸頁面,登錄頁面是該系統(tǒng)的首頁面,用來讓管理員登錄,當(dāng)輸入的管理員編號和密碼都正確時,成功跳到主頁面顯示,當(dāng)用戶通過登錄窗口的表單跳到loginaction類,用來判斷配置信息,判斷管理員編號和登錄密碼,如果編號或密碼有錯,返回頁面顯示錯誤信息提示重新登錄

32、,如果信息正確,則登錄成功,并且把登錄人的信息以對象的形式放到session緩存中,以便后用,然后跳到主操作頁面,登錄后實(shí)現(xiàn)相關(guān)操作。登陸成功后,跳轉(zhuǎn)到main.html進(jìn)行其他具體操作。在用戶自然信息管理中可進(jìn)行開戶操作,具體在addcountaction類中實(shí)現(xiàn)、銷戶操作在deletecountaction類中實(shí)現(xiàn)。對用戶賬戶信息管理使用了depositaction類實(shí)現(xiàn)存款功能、withdrawaction類實(shí)現(xiàn)取款功能。并且使用depaction類和witaction類對當(dāng)天交易進(jìn)行統(tǒng)計(jì)。還可以調(diào)用check類對指定編號的儲戶交易記錄進(jìn)行查詢。通過順序調(diào)用功能函數(shù)逐步實(shí)現(xiàn)各個功能。系統(tǒng)

33、總調(diào)用流程圖如圖4.2所示。login.jsp發(fā)出請求,用來傳遞用戶編號,密碼。mysql的api開始結(jié)束進(jìn)入配置文件中找出請求所對應(yīng)的響應(yīng)在struts.xml中配置jsp頁面和actionloginaction類,檢查用戶名和密碼是否相符到達(dá)業(yè)務(wù)類,執(zhí)行相關(guān)數(shù)據(jù)庫操作是否匹配數(shù)據(jù)未匹配映射信息匹配yesno圖4.2系統(tǒng)函數(shù)調(diào)用流程圖4.5.2系統(tǒng)執(zhí)行流程當(dāng)客戶端發(fā)出請求,以get或post方式提交到web.xml配置文件當(dāng)中,檢查是否有相對應(yīng)的映射信息,如果有,則跳轉(zhuǎn)到action中,如果沒有,則返回頁面。成功跳轉(zhuǎn)到servlet中后,在get或post方法當(dāng)中獲取參數(shù),調(diào)用業(yè)務(wù)處理類的相

34、關(guān)函數(shù)執(zhí)行數(shù)據(jù)庫操作。系統(tǒng)的流程如圖4.3所示:開始jsp頁面發(fā)出請求,以post方式提交參數(shù) 在配置文件當(dāng)中找出相對應(yīng)的映射信息進(jìn)行匹配驗(yàn)證未匹配映射信息匹配在action類中excute()方法是否獲取頁面參數(shù)noyes到達(dá)業(yè)務(wù)類,執(zhí)行相關(guān)數(shù)據(jù)庫操作結(jié)束圖4.3 系統(tǒng)執(zhí)行流程圖4.5.3功能詳細(xì)執(zhí)行流程 本程序主要實(shí)現(xiàn)四個大部分功能模塊,共九個子功能,分別通過在各類中調(diào)用相應(yīng)函數(shù)具體實(shí)現(xiàn)個操作,下面以開戶操作為例畫出執(zhí)行的具體流程,其他操作流程與該流程圖基本一致,開戶流程圖如圖4.4所示。開始add_count.jsp發(fā)出請求在配置文件中找出對應(yīng)的響應(yīng)在struts.xml中匹配addco

35、untactionyesaddcount中調(diào)用具體方法修改數(shù)據(jù)庫中相應(yīng)的值no檢驗(yàn)操作是否成功add-success.jsperror.jspyesno結(jié)束 圖4.4開戶操作具體流程圖5 調(diào)試分析(1) 插入中文問題l 問題描述: 在數(shù)據(jù)庫中使用sql語句后,插入則顯示data too long ,無法正常插入。l 問題分析:數(shù)據(jù)庫中默認(rèn)的是使用lant1的編碼格式,此格式下無法插入中文,如插入,則顯示data too long;l 解決方法:在mysql的配置文件my.ini文件中把編碼方式改成gbk格式。(2) 參數(shù)獲得問題l 問題描述:無法獲得add_count.jsp中的參數(shù)。l 問題

36、分析:在addcountaction中未加入?yún)?shù)的get、set方法。 l 解決方法:在addcountaction中增加具體的getxxx()、setxxx()方法攔截獲取頁面?zhèn)鬟f的參數(shù)。(2) 亂碼問題l 問題描述:在頁面上插入的中文無法正常的插入數(shù)據(jù)庫中,插入后在數(shù)據(jù)庫中亂碼。l 問題分析:主要是因?yàn)閿?shù)據(jù)庫中的編碼格式和頁面上的編碼格式不同。l 解決方法:action在獲取參數(shù)后,對參數(shù)進(jìn)行打散重新編碼,具體如:name = new string (name.getbytes(“iso8859-1”),”utf-8”);l 其他方式相同。(4) 空指針問題l 問題描述:后臺回報java.

37、lang.nullpointerexceptionl 問題分析:所引用的值是空引起的錯誤,值無法從jsp頁面?zhèn)鞯絘ction中。l 解決方法:檢查jsp頁面,在withdraw.jsp中的輸入表單一項(xiàng)中加入id=”money”,使得參數(shù)無法傳遞,加入代碼后實(shí)現(xiàn)正常。86 測試及運(yùn)行結(jié)果6.1登陸功能運(yùn)行程序后首先進(jìn)入登陸界面,輸入管理員名字和密碼后登陸成功,若密碼錯誤則返回重新登陸。登陸界面如圖6.1所示。頁面實(shí)現(xiàn)如下:圖6.1登陸界面錄入代碼如下public boolean login(string userid, string password) boolean flag = false;

38、connection conn = null;preparedstatement ps = null;resultsetrs=null;string sql = select * from manager where userid=? and password = ?;try conn = this.getconnection();ps = conn.preparestatement(sql);ps.setstring(1, userid);ps.setstring(2, password);rs = ps.executequery();if (rs.next() flag = true;re

39、turn flag; catch (exception e) e.printstacktrace(); finally try rs.close();ps.close();conn.close(); catch (sqlexception e) e.printstacktrace();return flag;6.2主操作界面管理員登陸成功后,進(jìn)入用戶主頁面。進(jìn)行相應(yīng)操作。主界面如圖6.2所示。圖6.2系統(tǒng)主界面 進(jìn)入主界面后,可進(jìn)行相應(yīng)操作,如儲戶的開戶操作,在相應(yīng)的對話框中填入個人信息及密碼。在數(shù)據(jù)庫中相應(yīng)添加用戶信息。頁面如圖6.3所示。圖6.3用戶開戶界面添加用戶代碼如下public v

40、oid addcount(string cid,string iden ,string name, string money ,string password ,string time)connection conn = null;preparedstatement ps = null;string sql = insert into count (cid,iden,name,money,password,time) values (?,?,?,?,?,?) ;system.out.println(name);try conn = this.getconnection();ps = conn.

41、preparestatement(sql);ps.setstring(1, cid);ps.setstring(2, iden);ps.setstring(3, name);ps.setstring(4, money);ps.setstring(5, password);ps.setstring(6, time);int n = ps.executeupdate(); catch (exception e) e.printstacktrace(); finally try ps.close();conn.close(); catch (sqlexception e) e.printstackt

42、race();也可以通過輸入該用戶的儲戶編號對用戶進(jìn)行銷戶操作。同時在數(shù)據(jù)庫中刪除該用戶的信息。具體頁面如圖6.4所示。圖6.4銷戶操作界面 刪除用戶代碼如下 public boolean delcount(string cid)boolean flag =false;connection conn = null;preparedstatement ps = null;string sql = delete from count where cid=? ;system.out.println(delcount=+cid);conn = this.getconnection();try ps =

43、 conn.preparestatement(sql);/預(yù)編譯語句ps.setstring(1, cid); int i = ps.executeupdate();/執(zhí)行語句if (i != 0) flag = true;return flag; catch (sqlexception e) / todo auto-generated catch blocke.printstacktrace();try conn.close();ps.close(); catch (sqlexception e) / todo auto-generated catch blocke.printstacktr

44、ace();return flag;增加開戶銷戶記錄代碼如下public void addcountrecord(string cid,string time,string temp)connection conn = null;preparedstatement ps = null;string sql = insert into count_record (cid,time,temp) values (?,?,?) ;system.out.println(addcountrecord=+cid);try conn = this.getconnection();ps = conn.prepa

45、restatement(sql);ps.setstring(1, cid);ps.setstring(2, time);ps.setstring(3, temp);int n = ps.executeupdate(); catch (exception e) e.printstacktrace(); finally try ps.close();conn.close(); catch (sqlexception e) e.printstacktrace();通過輸入儲戶編號以及存取款金額,對用戶實(shí)現(xiàn)存取款操作。存款界面如圖6.5所示,取款界面如圖6.6所示。 圖6.5存款操作界面 存款代碼如下

46、 public boolean deposit(string cid, string change) boolean flag = false;connection conn = null;preparedstatement ps = null;string sql = update count set money= ? where cid = ?;try conn = this.getconnection();ps = conn.preparestatement(sql);ps.setstring(1, change);ps.setstring(2, cid);int i = ps.exec

47、uteupdate();if (i != 0) flag = true;return flag; catch (exception e) e.printstacktrace(); finally try ps.close();conn.close(); catch (sqlexception e) e.printstacktrace();return flag;圖6.6取款操作界面在進(jìn)行存款取款功能的時候,我們往往要先查詢一下用戶是否存在。檢查賬戶是否存在代碼如下public string check(string cid) string money = ;connection conn =

48、null;preparedstatement ps = null;resultsetrs=null;string sql = select money from count where cid=?;try conn = this.getconnection();ps = conn.preparestatement(sql);ps.setstring(1, cid);rs = ps.executequery();if (rs.next() money = rs.getstring(money);system.out.println(余額=+money);return money; catch (

49、exception e) e.printstacktrace(); finally try rs.close();ps.close();conn.close(); catch (sqlexception e) e.printstacktrace();return money;取款代碼如下public boolean withdraw(string cid, string change) boolean flag = false;connection conn = null;preparedstatement ps = null;string sql = update count set mon

50、ey= ? where cid = ?;try conn = this.getconnection();ps = conn.preparestatement(sql);ps.setstring(1, change);ps.setstring(2, cid);int i = ps.executeupdate();if (i != 0) flag = true;return flag; catch (exception e) e.printstacktrace(); finally try ps.close();conn.close(); catch (sqlexception e) e.prin

51、tstacktrace();return flag;增加存款取款記錄代碼如下public void addcashrecord(string cid,string time,string temp,string money)connection conn = null;preparedstatement ps = null;string sql = insert into cash_record (cid,time,temp,money) values (?,?,?,?) ;system.out.println(addcountrecord=+cid);try conn = this.getconnection();ps = conn.preparestatement(sql);ps.setstring(1, cid);ps.setst

溫馨提示

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

最新文檔

評論

0/150

提交評論