版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
目錄TOC\o"1-5"\h\z\o"CurrentDocument"第一章概述31.1引言31.2記賬系統(tǒng)研究?jī)?nèi)容簡(jiǎn)介3\o"CurrentDocument"ECLIPSE概述4\o"CurrentDocument"JAVA編程語言簡(jiǎn)介4\o"CurrentDocument"第二章需求分析5\o"CurrentDocument"2.1需求分析5\o"CurrentDocument"2.2功能需求62.2.1個(gè)人管理模塊62.2.2收支分析模塊62.2.3資產(chǎn)管理模塊6\o"CurrentDocument"2.3記賬系統(tǒng)的性能需求6\o"CurrentDocument"第三章總體設(shè)計(jì)6\o"CurrentDocument"3.1記賬系統(tǒng)的模型結(jié)構(gòu)6\o"CurrentDocument"3.2記賬系統(tǒng)的功能模塊簡(jiǎn)介8\o"CurrentDocument"3.3數(shù)據(jù)庫設(shè)計(jì)9\o"CurrentDocument"3.3.1數(shù)據(jù)庫設(shè)計(jì)9\o"CurrentDocument"3.3.2數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)9\o"CurrentDocument"第四章系統(tǒng)詳細(xì)設(shè)計(jì)及實(shí)現(xiàn)10\o"CurrentDocument"4.1系統(tǒng)登錄104.1.1注冊(cè)新用戶11\o"CurrentDocument"4.2用戶管理模塊114.2.1修改密碼12\o"CurrentDocument"4.3收支錄入模塊13\o"CurrentDocument"4.3.1收支信息添加144.3.2收支分析報(bào)警模塊154.4系統(tǒng)配置164.4.1Server.xml文件配置164.4.2ContextServer.xml文件配置164.5系統(tǒng)部分重要功能及其代碼164.5.1連接池代碼16\o"CurrentDocument"第五章測(cè)試17\o"CurrentDocument"5.1系統(tǒng)測(cè)試18\o"CurrentDocument"5.2性能測(cè)試18\o"CurrentDocument"5.3驗(yàn)收測(cè)試18\o"CurrentDocument"第六章總結(jié)18致謝19\o"CurrentDocument"參考文獻(xiàn)19第_章概述1.1引言隨著計(jì)算機(jī)網(wǎng)絡(luò)的日益發(fā)展和廣泛應(yīng)用,以及數(shù)據(jù)庫技術(shù)的應(yīng)用,人們傳統(tǒng)的一些方式發(fā)生了巨大的改變,銀行的業(yè)務(wù)從單一的吸收存款,發(fā)放貸款,發(fā)展為綜合財(cái)務(wù)業(yè)務(wù)。業(yè)務(wù),拓寬經(jīng)營(yíng)范圍。而近些年銀行理財(cái)服務(wù)開始像網(wǎng)絡(luò)化轉(zhuǎn)變。銀行個(gè)人記賬系統(tǒng)應(yīng)運(yùn)而生。銀行個(gè)人理財(cái)就是銀行管理自己的財(cái)富,是自己私有理財(cái)顧問,合理的規(guī)劃自己的財(cái)務(wù)的盈虧,進(jìn)而提高財(cái)富的效能的經(jīng)濟(jì)活動(dòng)。理財(cái)也就是對(duì)資本金和負(fù)債資產(chǎn)的科學(xué)合理的運(yùn)作。通俗的來說,理財(cái)就是賺錢、省錢、花錢之道。理財(cái)就是打理錢財(cái)。說起來理財(cái)是一件非常平凡的事情,但實(shí)際上卻非常有學(xué)問。個(gè)人理財(cái)是一門新興的實(shí)用科學(xué),它是以經(jīng)濟(jì)學(xué)為指導(dǎo)(追求極大化目標(biāo))、以會(huì)計(jì)學(xué)為基礎(chǔ)(客觀忠實(shí)記錄)、以財(cái)務(wù)學(xué)為手段(計(jì)劃與滿足未來財(cái)務(wù)需求、維持資產(chǎn)負(fù)債平衡)的邊緣科學(xué)。既然個(gè)人理財(cái)是門科學(xué),我們就必須以科學(xué)、理性的態(tài)度來對(duì)待它。只有這樣,才能達(dá)到理財(cái)?shù)哪繕?biāo)。因?yàn)橐酝睦碡?cái)方法比較單調(diào)和麻煩,所以本論文中的記賬系統(tǒng)就是要建立一個(gè)綜合的、系統(tǒng)的理財(cái)軟件,進(jìn)而開發(fā)出一個(gè)完整的計(jì)劃和全權(quán)負(fù)責(zé)一項(xiàng)個(gè)人理財(cái)業(yè)務(wù)。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)個(gè)人財(cái)務(wù)信息進(jìn)行管理,具有手工管理所無法比擬的優(yōu)點(diǎn)。例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠?qū)⒛馁Y產(chǎn)就會(huì)一目了然,便于您對(duì)于所持有資產(chǎn)的分配管理。在面向?qū)ο缶幊碳夹g(shù)中,Eclipse憑借著其強(qiáng)大的功能和快速開發(fā)的特點(diǎn),應(yīng)用越來越廣泛。本文介紹了個(gè)人理財(cái)?shù)母拍罴癊clipse的有關(guān)技術(shù),并探討了記賬系統(tǒng)的設(shè)計(jì)思路和構(gòu)成,然后詳細(xì)分析了本子模塊的實(shí)現(xiàn)過程,并給出了用Eclipse實(shí)現(xiàn)的關(guān)鍵代碼。該記賬系統(tǒng)能夠完成數(shù)據(jù)的輸入、修改、刪除、查詢與統(tǒng)計(jì)等基本功能,適用于現(xiàn)代普通個(gè)人的財(cái)務(wù)管理。順應(yīng)這種趨勢(shì),本次畢業(yè)設(shè)計(jì)主要是分析、設(shè)計(jì)和實(shí)現(xiàn)了記賬系統(tǒng),實(shí)現(xiàn)了個(gè)人理財(cái)中的用戶管理、資產(chǎn)管理、債權(quán)債務(wù)管理、債券投資,股票投資等功能,能夠?qū)崿F(xiàn)網(wǎng)絡(luò)化的個(gè)人理財(cái)管理。本文主要探討個(gè)人資產(chǎn)債權(quán)債務(wù)模塊的分析、設(shè)計(jì)和實(shí)現(xiàn)。1.2記賬系統(tǒng)研究?jī)?nèi)容簡(jiǎn)介理財(cái)是一個(gè)范疇很廣的概念。從理財(cái)?shù)闹黧w來說,個(gè)人、公司、政府部門全國(guó)家等都有理財(cái)活動(dòng),但本文所闡述的主要是個(gè)人通過銀行理財(cái)。個(gè)人理財(cái)、個(gè)人理財(cái)實(shí)際上是同一個(gè)概念。在國(guó)外,普通叫個(gè)人理財(cái)(可能與西方國(guó)家尊重個(gè)人自由、個(gè)體獨(dú)立有關(guān);或者是從理財(cái)中介的角度來說的,因?yàn)樗麄兠鎸?duì)的是個(gè)人成員中的個(gè)體),在國(guó)內(nèi),我們主要叫個(gè)人理財(cái)比較合適,因?yàn)橹袊?guó)是一個(gè)重視個(gè)人、家族觀念比較重的國(guó)家,以個(gè)人為主體進(jìn)行理財(cái)?shù)幕顒?dòng)更加普遍。所謂個(gè)人理財(cái)從概念上講,就是學(xué)會(huì)有效、合理地處理和運(yùn)用錢財(cái),讓自己的花費(fèi)發(fā)揮最大的效用,以達(dá)到最大限度地滿足日常生活需要的目的。簡(jiǎn)而言之,個(gè)人理財(cái)就是利用企業(yè)理財(cái)和金融的方法對(duì)個(gè)人經(jīng)濟(jì)(主要指?jìng)€(gè)人收入和支出)進(jìn)行計(jì)劃和管理,增強(qiáng)個(gè)人經(jīng)濟(jì)實(shí)力,提高抗風(fēng)險(xiǎn)能力,增大個(gè)人效用。從廣義的角度來講,合理的個(gè)人理財(cái)也會(huì)節(jié)省社會(huì)資源,提高社會(huì)福利,促進(jìn)社會(huì)的穩(wěn)定發(fā)展。從技術(shù)的角度講,個(gè)人理財(cái)就是利用開源節(jié)流的原則,增加收入,節(jié)省支出,用最合理的方式來達(dá)到一個(gè)個(gè)人所希望達(dá)到的經(jīng)濟(jì)目標(biāo)。這樣的目標(biāo)小到增添家電設(shè)備,外出旅游,大到買車、購屋、儲(chǔ)備子女的教育經(jīng)費(fèi),直至安排退休后的晚年生活等等。個(gè)人理財(cái)就是管理自己的財(cái)富,進(jìn)而提高財(cái)富的效能的經(jīng)濟(jì)活動(dòng)。理財(cái)也就是對(duì)資本金和負(fù)債資產(chǎn)的科學(xué)合理的運(yùn)作。通俗的來說,理財(cái)就是賺錢、省錢、花錢之道。理財(cái)就是打理錢財(cái)。1.3ECLIPSE概述Eclipse是一個(gè)開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,Eclipse附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開發(fā)工具(JavaDevelopmentTools,JDT)。雖然大多數(shù)用戶很樂于將Eclipse當(dāng)作JavaIDE來使用,但Eclipse的目標(biāo)不僅限于此。Eclipse還包括插件開發(fā)環(huán)境(Plug-inDevelopmentEnvironment,PDE),這個(gè)組件主要針對(duì)希望擴(kuò)展Eclipse的軟件開發(fā)人員,因?yàn)樗试S他們構(gòu)建與Eclipse環(huán)境無縫集成的工具。由于Eclipse中的每樣?xùn)|西都是插件,對(duì)于給Eclipse提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場(chǎng)所。這種平等和一致性并不僅限于Java開發(fā)工具。盡管Eclipse是使用Java語言開發(fā)的,但它的用途并不限于Java語言;例如,支持諸如C/C++、COBOL和Eiffel等編程語言的插件已經(jīng)可用,或預(yù)計(jì)會(huì)推出。Eclipse框架還可用來作為與軟件開發(fā)無關(guān)的其他應(yīng)用程序類型的基礎(chǔ),比如內(nèi)容管理系統(tǒng)。基于Eclipse的應(yīng)用程序的突出例子是IBM的WebSphereStudioWorkbench,它構(gòu)成了IBMJava開發(fā)工具系列的基礎(chǔ)。例如,WebSphereStudioApplicationDeveloper添加了對(duì)JSP、servlet、EJB、XML、Web服務(wù)和數(shù)據(jù)庫訪問的支持。2.2SQLSERVER數(shù)據(jù)庫簡(jiǎn)介目前市場(chǎng)上數(shù)據(jù)庫的主流廠商及產(chǎn)品有IBMDB2、MicrosoftSQLSERVER2000、ORACLE9i、Sybase。本系統(tǒng)采用SQLServer2000數(shù)據(jù)庫進(jìn)行數(shù)據(jù)管理。SQLServer作為微軟在Windows系列平臺(tái)上開發(fā)的數(shù)據(jù)庫,一經(jīng)推出就以其易用性得到了很多用戶的青睞。MicrosoftWindowsServer2000是最新的、功能強(qiáng)大的、面向商業(yè)用戶的操作系統(tǒng),它的特點(diǎn)是易于使用,具有靈活性、可靠性的優(yōu)點(diǎn)。它具有學(xué)習(xí)操作簡(jiǎn)單,兼容性良好,適用于電子商務(wù)建設(shè),增加了數(shù)據(jù)倉庫的特性,增強(qiáng)了建設(shè)在線商務(wù)方面的功能等優(yōu)點(diǎn)。區(qū)別于FoxPro、Access小型數(shù)據(jù)庫,SQLServer是一個(gè)功能完備的數(shù)據(jù)庫管理系統(tǒng)。SQLServer的事務(wù)處理量大,響應(yīng)速度快,并能為數(shù)百或更多用戶維持這種高性能。SQLServer2000也是當(dāng)今網(wǎng)絡(luò)編程中使用的比較多的一個(gè)數(shù)據(jù)庫系統(tǒng),java是目前最流行的編程語言,在編程中涉及的比較多也比較重要的就是數(shù)據(jù)庫問題,java自身提供了對(duì)各類主流數(shù)據(jù)庫系統(tǒng)的支持,通過java.sql庫,提供了統(tǒng)一的接口,使得可以在java環(huán)境下不必對(duì)程序作大規(guī)模的修改,只要更改相應(yīng)的驅(qū)動(dòng)程序,即可實(shí)現(xiàn)對(duì)各類數(shù)據(jù)庫的操作,從而提高軟件的生存周期和降低軟件的開發(fā)成本和維護(hù)費(fèi)用。所以本系統(tǒng)采用SQLServer2000數(shù)據(jù)庫進(jìn)行開發(fā)。1.4JAVA編程語言簡(jiǎn)介Java是一種語法簡(jiǎn)潔、清晰的語言,它的程序運(yùn)行需要一個(gè)解釋器,也就是所謂的“虛擬機(jī)”。虛擬機(jī)以某種高速算法解釋執(zhí)行Java的面向?qū)ο笳Z言代碼。Java是基于WWW開發(fā)的,主要分為客戶端和服務(wù)器端兩大類型°Java客戶端軟件包括Applet應(yīng)用小程序,傳統(tǒng)的客戶端圖形界面程序、各類加點(diǎn)設(shè)備的客戶端應(yīng)用程序。服務(wù)器端軟件則包括利用Socket套接字或使用封裝了Socket功能函數(shù)的Java高級(jí)網(wǎng)絡(luò)流類編寫的Server并發(fā)程序、Servlet程序、JSP網(wǎng)頁程序和服務(wù)器端的EJB組件等。根據(jù)Sun的Java語言白皮書中的歸納和總結(jié),簡(jiǎn)單地說,Java語言有如下特點(diǎn):簡(jiǎn)單(Simple)。程序較小,編寫容易,能夠在小型機(jī)器上執(zhí)行,基本的解釋器約為40KB,若加上基本的程序庫,約為215KB。面向?qū)ο?Object-Oriented)。一個(gè)對(duì)象的狀態(tài)只由對(duì)象自己可知的變量定義。Java把這些變量稱為數(shù)據(jù)域或者成員變量。數(shù)據(jù)域?qū)?duì)象來說是私有的,除非顯示地使用關(guān)鍵字來定義它們的作用域,使它們對(duì)其他類可見。一個(gè)對(duì)象的行為是由它上面的操作定義的。在Java中,這些操作被叫做方法。方法可以改變一個(gè)對(duì)象的狀態(tài),創(chuàng)建新對(duì)象,實(shí)現(xiàn)實(shí)用的功能等。分布式(Distributed)oJava有一個(gè)龐大的程序庫,且容易地與HTTP和FTP等TCP/IP通信協(xié)議相配合。健壯性(Robust)。有Java所編寫的程序,在多數(shù)情況下執(zhí)行穩(wěn)定。Java與C/C++最大不同是Java通過一個(gè)指針模型來排除內(nèi)存被覆蓋和毀損數(shù)據(jù)的可能性。安全性(Secure)oJava是被設(shè)計(jì)用于網(wǎng)絡(luò)及分布式的環(huán)境中,Java擁有數(shù)個(gè)階層的互鎖保護(hù)措施,能有效地防止病毒的侵入和破壞行為的發(fā)生。結(jié)構(gòu)中立(ArchitectureNeutral)。Java的編譯器產(chǎn)生一種結(jié)構(gòu)中立的目標(biāo)文件格式,這使得編譯碼得以在很多種處理器中執(zhí)行。解釋執(zhí)行(Interpreted)。Java解釋器能直接在任何機(jī)器上執(zhí)行Java位元碼,這對(duì)于縮短程序的開發(fā)過程,有很大的幫助。高性能(HighPerformance)oJava位元碼可迅速地能被轉(zhuǎn)換成機(jī)器碼,從位元碼轉(zhuǎn)換到機(jī)器碼的性能與C和C++幾乎沒有分別。多線程的(Multithreaded)oJava語言具有多線程的功能,這對(duì)于交互回應(yīng)能力及即時(shí)執(zhí)行行為是有幫助的。動(dòng)態(tài)性(Dynamic)。Java比C或C++語言更具有動(dòng)態(tài)性,更能適應(yīng)時(shí)刻在變的環(huán)境,Java不會(huì)因程序庫的更新而必須重新編譯程序。第二章需求分析2.1需求分析生命周期是指軟件開發(fā)全部過程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。軟件開發(fā)包括需求、設(shè)計(jì)、編碼和測(cè)試等階段,有時(shí)也包括維護(hù)階段。好的軟件必須要有一個(gè)合理,科學(xué)的需求分析。有人經(jīng)統(tǒng)計(jì)發(fā)現(xiàn),在不成功的軟件項(xiàng)目中有一半左右是由于需求分析不周造成的,可見把建立完善的需求分析作為第一條基本原理是吸取了前人的教訓(xùn)而提出來的。2.2功能需求2.2.1個(gè)人管理模塊用戶管理模塊是對(duì)用戶進(jìn)行管理的,主要實(shí)現(xiàn)的功能有用戶的注冊(cè),用戶的登陸,用戶信息的更新和用戶密碼修改等功能。2.2.2收支分析模塊收支分析主要是對(duì)個(gè)人的收入和支出的一種合理管理,另外提供了理財(cái)報(bào)警功能,如果支出大于收入則系統(tǒng)將會(huì)給用戶警報(bào)。2.2.3資產(chǎn)管理模塊資產(chǎn)管理模塊主要是對(duì)個(gè)人買入和賣出個(gè)人資產(chǎn)的一種管理??傮w上來說就是對(duì)現(xiàn)金的支出和收入進(jìn)行管理,讓用戶對(duì)自己的資產(chǎn)能夠一目了然,也能夠更好的計(jì)劃個(gè)人的開支。2.3記賬系統(tǒng)的性能需求該系統(tǒng)在性能功能上應(yīng)達(dá)到如下需求:?操作簡(jiǎn)單、界面友好:錄入數(shù)據(jù)簡(jiǎn)單易操作,主要實(shí)現(xiàn)的個(gè)人理財(cái)?shù)氖罩Х治?,資產(chǎn)管理,債券管理,股票投資,保險(xiǎn)投入。收支分析主要是為了給用戶提供一個(gè)平衡收支的一個(gè)平臺(tái),如果收支失衡,則系統(tǒng)會(huì)提示用戶合理理財(cái);債券管理主要是對(duì)個(gè)人債券信息進(jìn)行錄入,系統(tǒng)會(huì)根據(jù)你債券的情況買入價(jià)格和收益率計(jì)算出盈利金額;資產(chǎn)管理主要是對(duì)用戶的買入和賣出的資產(chǎn)進(jìn)行整合分析,最后計(jì)算出資產(chǎn)的合計(jì)金額;股票投資主要是對(duì)個(gè)人買入股票的價(jià)格和數(shù)量以及賣出的價(jià)格進(jìn)行計(jì)算,最好得出盈利金額;保險(xiǎn)投入主要是對(duì)個(gè)人保險(xiǎn)信息的一個(gè)記錄。?即時(shí)可見:對(duì)個(gè)人理財(cái)信息的處理(包括錄入、修改、刪除)將立即在系統(tǒng)界面顯示出來,達(dá)到“即時(shí)發(fā)布、即時(shí)見效”的功能;?系統(tǒng)運(yùn)行應(yīng)該快速、穩(wěn)定、高效和可靠;?在結(jié)構(gòu)上應(yīng)具有很好的可擴(kuò)展性,便于將來的第三章總體設(shè)計(jì)3.1記賬系統(tǒng)的模型結(jié)構(gòu)
該系統(tǒng)的模型結(jié)構(gòu)如圖3-1所示:該系統(tǒng)結(jié)構(gòu)分為三個(gè)邏輯層:三層架構(gòu):模型層主要是為了聯(lián)接顯示層和業(yè)務(wù)層,本系統(tǒng)遵循MVC三層架構(gòu),模型層起到一個(gè)傳遞數(shù)據(jù)和存儲(chǔ)數(shù)據(jù)的作用,而客戶端瀏覽器相當(dāng)于顯示層,主要是為了給用戶展現(xiàn)數(shù)據(jù),而業(yè)務(wù)層是對(duì)用戶的需求的一種動(dòng)作執(zhí)行。3.2記賬系統(tǒng)的功能模塊簡(jiǎn)介圖3-2列出系統(tǒng)的功能模塊:記賬系統(tǒng)用戶管理用戶注冊(cè)用戶登陸收支分析資產(chǎn)管理收支報(bào)警添加收支修改收支刪除收支添加資產(chǎn)修改資產(chǎn)刪除資產(chǎn)用戶登陸登陸后經(jīng)權(quán)限判斷債券管理股票投資保險(xiǎn)投資添加保險(xiǎn)修改保險(xiǎn)刪除保險(xiǎn)記賬系統(tǒng)用戶管理用戶注冊(cè)用戶登陸收支分析資產(chǎn)管理收支報(bào)警添加收支修改收支刪除收支添加資產(chǎn)修改資產(chǎn)刪除資產(chǎn)用戶登陸登陸后經(jīng)權(quán)限判斷債券管理股票投資保險(xiǎn)投資添加保險(xiǎn)修改保險(xiǎn)刪除保險(xiǎn)添加保險(xiǎn)修改保險(xiǎn)刪除保險(xiǎn)添加債券修改債券刪除債券工作流程為:打開該系統(tǒng),用戶注冊(cè)個(gè)人帳號(hào),根據(jù)個(gè)人帳號(hào)登錄系統(tǒng),每個(gè)人登錄系統(tǒng)后只可以對(duì)個(gè)人理財(cái)信息進(jìn)行操作,本系統(tǒng)為單機(jī)版記賬系統(tǒng),即用戶注冊(cè)即為系統(tǒng)管理員,用戶可以任意對(duì)自己的理財(cái)信息進(jìn)行增加,修改和刪除。并且可以對(duì)個(gè)人密碼進(jìn)行修改。收支分析模塊主要是對(duì)用戶收支情況的分析,用戶可以錄入自己的收支信息,并且可以對(duì)自己的信息進(jìn)行修改和刪除操作,用戶收支情況是系統(tǒng)自動(dòng)計(jì)算得出的,用戶,如果用戶的支出大于收入,貝U點(diǎn)擊收支分析則會(huì)出現(xiàn)系統(tǒng)警報(bào);債券管理主要是用戶對(duì)個(gè)人債券信息的錄入,如果需要變動(dòng)則可以對(duì)債券信息進(jìn)行修改,并且只要填寫用戶債券數(shù)和盈利率就可以得出債券的盈利金額。資產(chǎn)管理模塊:資產(chǎn)管理模塊主要是對(duì)個(gè)人買入和賣出個(gè)人資產(chǎn)的一種管理。總體上來說就是對(duì)現(xiàn)金的支出和收入進(jìn)行管理,讓用戶對(duì)自己的資產(chǎn)能夠一目了然,也能夠更好的計(jì)劃個(gè)人的開支;股票管理模塊:股票管理模塊主要是為了能夠幫助個(gè)人更好的管理股票信息的模塊,并且可以計(jì)算出股票的盈利情況;保險(xiǎn)投入模塊:保險(xiǎn)投入模塊主要是記錄個(gè)人投保信息。整個(gè)記賬系統(tǒng)開發(fā)的總目標(biāo)是讓用戶可以輕易的對(duì)個(gè)人收入與支出進(jìn)行管理。可以對(duì)自己的金錢進(jìn)行大膽的規(guī)劃,對(duì)自己應(yīng)該做出怎樣的投資也不用在頭疼,通過該軟件,用戶可以在進(jìn)行參考后較為輕易的做出決定。該系統(tǒng)運(yùn)用簡(jiǎn)單,操作方便,可以使用戶節(jié)約記賬的時(shí)間,克服紙張不容易保存的缺點(diǎn)。可以通過資產(chǎn)管理模塊,實(shí)現(xiàn)用戶對(duì)個(gè)人資產(chǎn)的記錄、統(tǒng)計(jì)、規(guī)劃??梢越⒏鞣N賬戶類型,以便管理各種賬戶的財(cái)務(wù)狀〉兄。對(duì)資產(chǎn),股票,保險(xiǎn)的基本信息存入數(shù)據(jù)庫,可以進(jìn)行檢索。有方便的查詢方法,如:日期,狀態(tài)等信息進(jìn)行檢索。提供較為完善的差錯(cuò)控制與友好的用戶界面,盡量避免誤操作。3.3數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫的設(shè)計(jì)是MIS系統(tǒng)的核心部分,設(shè)計(jì)數(shù)據(jù)庫,首先要進(jìn)行需求分析,然后進(jìn)行數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫結(jié)構(gòu)實(shí)現(xiàn)等步驟。本套記賬系統(tǒng)采用的MicrosoftSQLServer2000作為訪問數(shù)據(jù)庫的服務(wù)器,用它來對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),在數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)過程中,數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計(jì)是一個(gè)非常重要的問題。我們?cè)谶@里所說的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)是指數(shù)據(jù)庫中各個(gè)表結(jié)構(gòu)的設(shè)計(jì),包括信息保存在哪個(gè)表格中,各個(gè)表的結(jié)構(gòu)如何以及各個(gè)表之間的關(guān)系。數(shù)據(jù)庫結(jié)構(gòu)的好壞將直接對(duì)應(yīng)用系統(tǒng)的效率以及實(shí)現(xiàn)的效果產(chǎn)生影響,好的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)會(huì)減少數(shù)據(jù)庫的存儲(chǔ)量,數(shù)據(jù)的完整性和一致性比較高,系統(tǒng)具有較快的響應(yīng)速度,簡(jiǎn)化基于此數(shù)據(jù)庫的應(yīng)用程序的實(shí)現(xiàn)等等。3.3.1數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫邏輯設(shè)計(jì)分為三個(gè)階段,分別是:收集和分析用戶要求、建立E-R模型和數(shù)據(jù)庫模式設(shè)計(jì)。數(shù)據(jù)庫邏輯設(shè)計(jì)中的第一階段收集和分析用戶需求是按以下四步進(jìn)行的:分析用戶活動(dòng),確定系統(tǒng)范圍,分析用戶活動(dòng)所涉及的數(shù)據(jù)和分析系統(tǒng)數(shù)據(jù)。邏輯設(shè)計(jì)第二階段建立E-R模型分兩步,首先應(yīng)進(jìn)行局部E-R模型設(shè)計(jì),然后進(jìn)行總體E-R模型的設(shè)計(jì)。邏輯設(shè)計(jì)第三階段在數(shù)據(jù)庫模式設(shè)計(jì)階段分兩步進(jìn)行,第一步初步設(shè)計(jì):把E-R圖轉(zhuǎn)換為關(guān)系模型,第二步優(yōu)化設(shè)計(jì):對(duì)模式進(jìn)行調(diào)整和改善。我們所要進(jìn)行研究的是邏輯設(shè)計(jì)的第三步即將E-R圖像關(guān)系模型轉(zhuǎn)化。實(shí)體轉(zhuǎn)換出的關(guān)系模式:賬戶表{賬戶號(hào),賬戶名稱,電話,郵箱,地址,密碼}1:n聯(lián)系轉(zhuǎn)換出的關(guān)系模式:不轉(zhuǎn)換為表,而將1端實(shí)體的主鍵放到n端的實(shí)體作為n端實(shí)體的外鍵。3.3.2數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫物理設(shè)計(jì)包括:選擇存儲(chǔ)結(jié)構(gòu)、確定存取方法、選擇存取路徑、確定數(shù)據(jù)的存放位置。主要解決選擇文件存儲(chǔ)結(jié)構(gòu)和確定文件存取方法的問題。在數(shù)據(jù)庫中訪問數(shù)據(jù)的路徑主要表現(xiàn)為如何建立索引。如要直接定位到所要查找的記錄,應(yīng)采用索引方法存取方法(索引表)。順序表只能從起點(diǎn)進(jìn)去向后一個(gè)個(gè)訪問記錄。數(shù)據(jù)庫的物理實(shí)現(xiàn)取決于特定的DBMS,在規(guī)劃存儲(chǔ)結(jié)構(gòu)時(shí)主要應(yīng)考慮存取時(shí)間和存儲(chǔ)空間,這兩者通常是互相矛盾的,要根據(jù)實(shí)際情況決定。索引并不是越多越好。雖然索引能提高查詢效率,但由于是對(duì)數(shù)據(jù)表的映射,所以進(jìn)行DML操作(增、刪、改)時(shí)效率就會(huì)降低。經(jīng)常查詢的字段應(yīng)該建索引,數(shù)據(jù)量龐大,查詢的結(jié)果記錄很少也需要建索引。在上面的實(shí)體以及實(shí)體之間關(guān)系模式的基礎(chǔ)上,形成數(shù)據(jù)庫中的表以及各表之間的關(guān)系。通過合理規(guī)劃,需要設(shè)計(jì)7個(gè)數(shù)據(jù)庫表來保存需要更新的數(shù)據(jù):賬戶表(表3-1)、債券記錄表(表3-2)、股票記錄表(表3-3)、社會(huì)保險(xiǎn)表(表3-5)、商業(yè)保險(xiǎn)表(表3-6)。其結(jié)構(gòu)如下:表3-1:賬戶表(Account)字段名說明類型長(zhǎng)度可否為空主鍵user_id賬戶號(hào)int4否是user_name賬戶名稱varchar30是Password密碼varchar30是real_name真實(shí)姓名varchar30是Email郵件varchar30是Address地址varchar60是Phone電話varchar30是第四章系統(tǒng)詳細(xì)設(shè)計(jì)及實(shí)現(xiàn)4.1系統(tǒng)登錄登錄頁面:主要功能是用戶利用用戶名和密碼登錄,并且可以注冊(cè)新用戶。已存在用戶可直接登錄。新用戶需點(diǎn)擊“注冊(cè)”進(jìn)行注冊(cè)賬號(hào)。點(diǎn)擊注冊(cè)后,頁面跳轉(zhuǎn)到"web/enterAddUserAction.do"。如圖4-1所示:關(guān)鍵代碼:publicclassLogoutActionextendsBaseAction{publicActionForwardexecute(ActionMappingactionMapping,ActionFormactionForm,HttpServletRequestrequest,HttpServletResponseresponse){HttpSessionsession=request.getSession();session.invalidate();returnactionMapping.findForward("success");pFfsCopyi*ight^SO11ThinkbankAllRightsReservedE_ma.ilwwwwQ圖4-1登錄頁面截圖提交用戶名密碼(英文數(shù)字支持),填寫真實(shí)姓名,郵箱,地址,電話(可以為空值)。點(diǎn)擊提交,可以注冊(cè)新賬戶。點(diǎn)擊后退可以返回登錄界面。如圖4-1.1所示:記賬系統(tǒng)記賬系統(tǒng)W11年12月16曰星期五注冊(cè)用戶:用戶名:張三密碼:*?*真實(shí)姓名:張山:;■圖4-1.1新用戶注冊(cè)截圖系統(tǒng)登錄成功頁面:系統(tǒng)登錄成功后可以看到系統(tǒng)的所有功能菜單以及歡迎語句,在此頁面可使用系統(tǒng)功能:個(gè)人管理、收支分析、后贅產(chǎn)管理債券投資、股票投資、保險(xiǎn)投入。點(diǎn)擊功能“button"即可觸發(fā)功能,跳轉(zhuǎn)到功能頁面如圖4-2所示:關(guān)鍵代碼:publicclassEnterLoginActionextendsBaseAction{publicActionForwardexecute(ActionMappingactionMapping,ActionFormactionForm,HttpServletRequestrequest,HttpServletResponseresponse){UserFormuserForm=(UserForm)actionForm;returnactionMapping.findForward("success");4.2用戶管理模塊returnactionMapping.findForward("success");用戶登錄后可以修改個(gè)人信息、用戶名、郵箱、地址、電話。填寫新的信息后,點(diǎn)擊修改,即可完成修改個(gè)人信息的操作。點(diǎn)擊“后退”取消修改。如圖4-2.1所示:關(guān)鍵代碼:publicclassEnterSysAdminActionextendsBaseAction{publicActionForwardexecute(ActionMappingactionMapping,ActionFormactionForm,HttpServletRequestrequest,HttpServletResponseresponse){UserFormuserForm=(UserForm)actionForm;IdentityBeanbean=this.getIdBean(request);UserFormform=DBController.getMemberById(Integer.parseInt(bean.getUserId()));try{BeanUtils.copyProperties(userForm,form);}catch(IllegalAccessExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}catch(InvocationTargetExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}returnactionMapping.findForward("success");圖4-2.1用戶管理截圖4.2.1修改密碼點(diǎn)擊“修改密碼”button,頁面跳轉(zhuǎn)到“web/changePasswordAction.do?userId=1”。用戶進(jìn)行修改密碼操作,點(diǎn)擊“后退”取消修改。關(guān)鍵代碼:publicclassChangePasswordActionextendsBaseAction{publicActionForwardexecute(ActionMappingactionMapping,ActionFormactionForm,HttpServletRequestrequest,HttpServletResponseresponse){UserFormuserForm=(UserForm)actionForm;returnactionMapping.findForward("success");4.3收支錄入模塊收支錄入頁面:用戶成功登陸后可以對(duì)自己的個(gè)人收支情況進(jìn)行系統(tǒng)錄入,和修改操作。對(duì)收支情況進(jìn)行修改。輸入查詢?nèi)掌诜秶樵兪罩г斍?。點(diǎn)擊“添加信息”進(jìn)行收支情況錄入。選擇收支條目,進(jìn)行刪除操作。如圖4-3所示:關(guān)鍵代碼:publicclassSearchFeeActionextendsBaseAction{publicActionForwardexecute(ActionMappingactionMapping,ActionFormactionForm,HttpServletRequestrequest,HttpServletResponseresponse){TechContentFormform=(TechContentForm)actionForm;IdentityBeanidBean=this.getIdBean(request);Listlist=null;Stringforward="";if(this.isButton(request,"save1")){list=DBController.getMaxRate(idBean.getUserId(),form.getCreateDate(),form.getEndDate());}elseif(this.isButton(request,"save2")){list=DBController.getMaxFee(idBean.getUserId(),form.getCreateDate(),form.getEndDate());}else{list=DBController.getFeeList(idBean.getUserId(),form.getCreateDate(),form.getEndDate());}if(list!=null&&!list.isEmpty()){TechContentFormform2=(TechContentForm)list.get(list.size()-1);form.setTotalFee(form2.getTotalFee());form.setTotalRate(form2.getTotalRate());}form.setTechList(list);returnactionMapping.findForward("success");用戶:Admin[退出]今天是2011年12月用戶:Admin[退出]曰期范圍:到查找信息1添加信息1收支分析資產(chǎn)管理查找結(jié)果:日期版支原因收入支出,注傍券段資12011-12-15醫(yī)療保健0.0100000.0住院治療n22011-12-14工資10000.00.0獎(jiǎng)勵(lì).女示按-E32011-12-05額外津貼90000.00.0n42011-01-11工資11000.00.0公司獎(jiǎng)勵(lì)保除粉入52008-12-17生活噩0.02000.02000n62008-12-17電話賽0.070000.00000E72008-12-17工笑1000.00.01000112000.0172000.0總計(jì):-60000.0|W|圖4-3收支情況輸入頁面截圖4.3.1收支信息添加點(diǎn)擊“添加信息"button頁面跳轉(zhuǎn)到“web/enterAddFeeAction.do?path”Y日期欄選擇支出日期(系統(tǒng)自動(dòng)彈出日期選擇對(duì)話框),選擇收支原因(下拉list給出備選選項(xiàng))工資,獎(jiǎng)金,分紅,額外津貼,其他收入,生活費(fèi),交通費(fèi),服裝費(fèi),休息娛樂,電話費(fèi),醫(yī)療保險(xiǎn),其他費(fèi)用,備注錄入支出具體原因。點(diǎn)擊提交進(jìn)行提交。點(diǎn)擊后退,取消錄入。如圖4-3.1所示:關(guān)鍵代碼:publicclassAddFeeActionextendsBaseAction(publicActionForwardexecute(ActionMappingactionMapping,ActionFormactionForm,HttpServletRequestrequest,HttpServletResponseresponse)throwsException(TechContentFormform=(TechContentForm)actionForm;IdentityBeanidBean=this.getIdBean(request);if(StringUtils.isEmpty(form.getNoId()))(DBController.addFee(Integer.parseInt(idBean.getUserId()),form);}else(DBController.updateFee(form);}if(〃Y〃.equals(form.getPath()))(returnactionMapping.findForward(〃success〃);}returnactionMapping.findForward(〃success2〃);添加收支分析主要是對(duì)用戶的收入和支出進(jìn)行記錄,單擊添加按鈕的單擊事件主要程序如下:publicclassAddFeeActionextendsBaseAction(publicActionForwardexecute(ActionMappingactionMapping,ActionFormactionForm,HttpServletRequestrequest,HttpServletResponseresponse)throwsException(TechContentFormform=(TechContentForm)actionForm;IdentityBeanidBean=this.getldBean(request);if(StringUtils.isEmpty(form.getNoId())){//執(zhí)行插入操作的方法DBController.addFee(Integer.parseInt(idBean.getUserId()),form);}else{DBController.updateFee(form);}if("Y”.equals(form.getPath())){//執(zhí)行成功頁面的轉(zhuǎn)向returnactionMapping.findForward("success");}returnactionMapping.findForward("success2”);}圖4-3.1添加支出信息截圖4.3.2收支分析報(bào)警模塊收支分析報(bào)警頁面:如果用戶支出大于則系統(tǒng)會(huì)進(jìn)行報(bào)警。如圖4-3.2所示:圖4-3.2收支報(bào)警頁面截圖4.4系統(tǒng)配置4.4.1Server.xml文件配置本系統(tǒng)采用連接池連接數(shù)據(jù)庫,需要對(duì)Tomcat下的Server.xml進(jìn)行配置。首先打開tomcat下的conf文件夾,然后找到Server.xml文件,找到以下段落:<GlobalNamingResources><Resourcename="UserDatabase"auth="Container”type="org.apache.catalina.UserDatabase”description="Userdatabasethatcanbeupdatedandsaved"factory="org.apache.catalina.users.MemoryUserDatabaseFactory”pathname="conf/tomcat-users.xml”/></GlobalNamingResources>在<GlobalNamingResources>中間添加<Resourcename="jdbc/money2009”type="javax.sql.DataSource”username="sa”password="sa”driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver”maxIdle="2000”maxWait="5000”url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=money”maxActive="1000"/>4.4.2ContextServer.xml文件配置然后配置Context上下文文件:填入下面段落:<ResourceLinkglobal="jdbc/money2009"name="jdbc/money2009”type="javax.sql.DataSource"/>完成以上工作則連接池配置成功。4.5系統(tǒng)部分重要功能及其代碼4.5.1連接池代碼首先,讓我們來看看連接池的概念:連接池允許應(yīng)用程序從連接池中獲得一個(gè)連接并使用這個(gè)連接,而不需要為每一個(gè)連接請(qǐng)求重新建立一個(gè)連接。一旦一個(gè)新的連接被創(chuàng)建并且放置在連接池中,應(yīng)用程序就可以重復(fù)使用這個(gè)連接而不必實(shí)施整個(gè)數(shù)據(jù)庫連接創(chuàng)建過程。當(dāng)應(yīng)用程序請(qǐng)求一個(gè)連接時(shí),連接池為該應(yīng)用程序分配一個(gè)連接而不是重新建立一個(gè)連接;當(dāng)應(yīng)用程序使用完連接后,該連接被歸還給連接池而不是直接釋放。優(yōu)點(diǎn):使用連接池的最主要的優(yōu)點(diǎn)是性能。創(chuàng)建一個(gè)新的數(shù)據(jù)庫連接所耗費(fèi)的時(shí)間主要取決于網(wǎng)絡(luò)的速度以及應(yīng)用程序和數(shù)據(jù)庫服務(wù)器的(網(wǎng)絡(luò))距離,而且這個(gè)過程通常是一個(gè)很耗時(shí)的過程。而采用數(shù)據(jù)庫連接池后,數(shù)據(jù)庫連接請(qǐng)求可以直接通過連接池滿足而不需要為該請(qǐng)求重新連接、認(rèn)證到數(shù)據(jù)庫服務(wù)器,這樣就節(jié)省了時(shí)間。缺點(diǎn):數(shù)據(jù)庫連接池中可能存在著多個(gè)沒有被使用的連接一直連接著數(shù)據(jù)庫(這意味著資源的浪費(fèi))。ps:這必須要求開發(fā)人員在開發(fā)時(shí)估計(jì)這個(gè)系統(tǒng)最大提供的數(shù)量是多少。池的創(chuàng)建和分配當(dāng)連接打開時(shí),將根據(jù)一種精確的匹配算法來創(chuàng)建連接池,該算法會(huì)使連接池與連接中的字符串相關(guān)聯(lián)。每個(gè)連接池都與一個(gè)不同的連接字符串相關(guān)聯(lián)。當(dāng)新連接打開時(shí),如果連接字符串不精確匹配現(xiàn)有池,則將創(chuàng)建一個(gè)新池。連接數(shù)據(jù)庫代碼:publicclassDBController{publicstaticConnectiongetConnection(){Connectionconn=null;try{ContextinitCtx=newInitialContext();Contextctx=(Context)initCtx.lookup("java:comp/env");//獲取連接池對(duì)象Objectobj=(Object)ctx.lookup("jdbc/money");//類型轉(zhuǎn)換javax.sql.DataSourceds=(javax.sql.DataSource)obj;conn=ds.getConnection();}catch(Exceptione){e.printStackTrace();}returnconn;}}第五章測(cè)試軟件測(cè)試事按弩箭開發(fā)過程的重要組成部分,是用來確定一個(gè)程序平直或者性能的師傅符合開發(fā)之前所提出的一些要求。軟件測(cè)試就是在軟件投入運(yùn)行前,對(duì)軟件需求分析,設(shè)計(jì)規(guī)格說明和編碼的最終復(fù)審,是軟件品質(zhì)保證的關(guān)鍵步驟。軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。在編寫出買一個(gè)模塊之后,已經(jīng)對(duì)系統(tǒng)做了必要的單元測(cè)試和整合測(cè)試。為了驗(yàn)證本系統(tǒng)的功能及質(zhì)量,本章將對(duì)銀行記賬系統(tǒng)進(jìn)行全面的系統(tǒng)性能測(cè)試性能測(cè)試及驗(yàn)收測(cè)試,以求達(dá)到完善的目的。對(duì)于軟件測(cè)試技術(shù),可以從不同角度加以分類。從測(cè)試是否針對(duì)系統(tǒng)的內(nèi)部結(jié)構(gòu)和具體實(shí)現(xiàn)算法的角度來看,可以分為白盒測(cè)試和黑盒測(cè)試。黑盒測(cè)試也成功能測(cè)試或者數(shù)據(jù)驅(qū)動(dòng)測(cè)試,著眼于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度生態(tài)園區(qū)場(chǎng)地租賃合同標(biāo)準(zhǔn)范本6篇
- 二零二五年新能源發(fā)電設(shè)施建設(shè)泥工勞務(wù)合同3篇
- 二零二五版海上貨物運(yùn)輸合同適用范圍與船舶代理服務(wù)合同3篇
- 二零二五年度環(huán)境安全檢測(cè)技術(shù)服務(wù)合同2篇
- 二零二五年度防火門銷售、推廣及市場(chǎng)拓展合同3篇
- 二零二五版智慧城市基礎(chǔ)設(shè)施建設(shè)項(xiàng)目施工合同6篇
- 二零二五版新材料研發(fā)中心與實(shí)驗(yàn)員勞務(wù)合同2篇
- 二零二五年度游戲運(yùn)營(yíng)合同3篇
- 二零二五版醫(yī)療器械貼牌研發(fā)及銷售合同3篇
- 二零二五版304不銹鋼建筑結(jié)構(gòu)材料采購合同2篇
- 品質(zhì)經(jīng)理工作總結(jié)
- 供電搶修述職報(bào)告
- 集成電路設(shè)計(jì)工藝節(jié)點(diǎn)演進(jìn)趨勢(shì)
- 新型電力系統(tǒng)簡(jiǎn)介演示
- 特種設(shè)備行業(yè)團(tuán)隊(duì)建設(shè)工作方案
- 眼內(nèi)炎患者護(hù)理查房課件
- 肯德基經(jīng)營(yíng)策略分析報(bào)告總結(jié)
- 買賣合同簽訂和履行風(fēng)險(xiǎn)控制
- 中央空調(diào)現(xiàn)場(chǎng)施工技術(shù)總結(jié)(附圖)
- 水質(zhì)-濁度的測(cè)定原始記錄
- 數(shù)字美的智慧工業(yè)白皮書-2023.09
評(píng)論
0/150
提交評(píng)論