個人信用卡管理系統(tǒng)設(shè)計分析_第1頁
個人信用卡管理系統(tǒng)設(shè)計分析_第2頁
個人信用卡管理系統(tǒng)設(shè)計分析_第3頁
個人信用卡管理系統(tǒng)設(shè)計分析_第4頁
個人信用卡管理系統(tǒng)設(shè)計分析_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

杭州國際服務(wù)工程學(xué)院(信息科學(xué)與工程學(xué)院)本科生畢業(yè)設(shè)計(論文)正文

個人信用卡治理系統(tǒng)摘要隨著我國經(jīng)濟(jì)的快速發(fā),人們的出行活動越來月頻繁,對行業(yè)服務(wù)和支付方式的快捷、便利的需求越來越高。在我國,信用卡業(yè)務(wù)進(jìn)展十分迅猛,截止2011年末,我國信用卡新增發(fā)卡量5500萬張,累計發(fā)卡量達(dá)2.85億張,同比增長24.3%;交易筆數(shù)28.50億筆,交易金額達(dá)7.56萬億元,較2011年分不增長18.75%和47.95%。由于信用卡的支付的方便、快捷,深受用戶的喜愛,一名用戶可能擁有多張信用卡。但在信用卡在給我?guī)肀憷耐瑫r,銀行同樣要求持卡人必須保持一定期間的消費(fèi)次數(shù)和額度,但在每次消費(fèi)都需要繁雜的計算信用卡免息和最后還款日,一步留心信用卡過期還款或者還款金額不夠。不但要承擔(dān)高額的罰款,還會在信用報告中留下逾期記錄,阻礙以后到銀行貸款。因此開發(fā)一個個人信用卡治理系統(tǒng)是有十分的必要性,能夠方便用戶來治理自己的所擁有的信用卡,方便明了清晰的掌握自己信用卡的詳細(xì)信息,提醒用戶能在規(guī)定時刻內(nèi)及時還款,幸免不必要的損失。論文對個人信用卡治理系統(tǒng)進(jìn)行需求分析,提出了一個系統(tǒng)實現(xiàn)方案并予以設(shè)計和實現(xiàn)。系統(tǒng)利用Internet技術(shù)和先進(jìn)JavaSeverPages(JSP)技術(shù)的優(yōu)勢,采納B/S模式和MVC架構(gòu)。關(guān)鍵詞:信用卡,治理系統(tǒng),MVC,JSP,B/S

PERSONALCREDITCARDMANAGEMENTSYSTEMABSTRACTWiththerapiddevelopmentofChina’stravelactivitiesbecomemoreandmorefrequent,theindustryserviceandquickpaymentandconvenientdemandalsobecomemoreandmorehigh.InChina,creditcardbusinessdevelopedrapidly.Bytheendof2011,China'snewcreditcardvolumeof55millioncardsamountedto285million,anincreaseof24.3%;pen2.85billionoftransactions,thetransactionamountedto7.56trillionyuanin2011,representinganincreaseof18.75%and47.95%.Duetotheconvenienceofcreditcardpayment,fast,arepopular,ausermayhavemultiplecreditcards..Butthecreditcardconveniencebroughtme,thebankalsorequiresthecardholdermustmaintainacertainperiodofconsumptionfrequencyandtheamountofinterest-free,butineveryconsumerneedcomplicatedcalculationofcreditcardandthefinalrepaymentdate,stepcarefullycreditcardslatepaymentorrepaymentamountisnotenough.Notonlyhavetobearthehighfines,overduerecordwillbeleftinthecreditreport,affectfuturetobankloans.Soitnecessarytodevelopapersonalcreditmanagementsystem,itcanmakesusereasilymanagetheirowncards,easytoknowtheircards’information。Thissystemremindusertobeabletopaytheirbilltimely.ThesystemutilizestheadvantagesofInternettechnologyandadvancedJavaSeverPages(JSP)technology,theuseofB/SmodeandMVCarchitecture.Keywords:CreditCard,ManagementSystem,MVC,JSP,B/S目錄第一章 緒論 11.1引言 11.2研究要緊的內(nèi)容和目標(biāo) 11.3開發(fā)工具和運(yùn)行環(huán)境介紹 11.3.1開發(fā)工具介紹 11.3.2運(yùn)行環(huán)境介紹 21.4相關(guān)技術(shù)知識 21.4.1B/S結(jié)構(gòu)模式 21.4.2MVC 31.4.3Struts 31.4.4Spring 41.4.5Hibernate 41.5術(shù)語定義 4第二章 可行性研究 52.1可行性研究 52.1.1技術(shù)可行性研究 52.1.2經(jīng)濟(jì)可行性 52.1.3操作可行性 62.1.4法律可行性 6第三章 需求分析 63.1系統(tǒng)功能分析 63.2系統(tǒng)流程圖 8第四章 系統(tǒng)結(jié)構(gòu)設(shè)計 84.1系統(tǒng)分析模型 84.2數(shù)據(jù)庫設(shè)計 94.2.1數(shù)據(jù)庫邏輯卷結(jié)構(gòu)設(shè)計 94.2.2要緊涉及的數(shù)據(jù)庫 94.3系統(tǒng)功能模塊設(shè)計 11第五章 詳細(xì)設(shè)計 125.1界面設(shè)計 125.1.1登錄界面 125.1.2用戶注冊 135.1.3登錄后界面 135.1.4添加信用卡 145.1.5添加銀行信息 145.1.6添加消費(fèi)記錄 155.1.7添加信用卡的還款記錄 155.1.7查詢消費(fèi)信息 155.1.8還款信息查詢 165.1.9賬單提醒 165.1.10密碼修改 165.1.11個人信息修改 165.2編碼設(shè)計 165.2.1登錄部分代碼 165.2.2信用卡部分代碼 175.3部署方案 24第六章總結(jié) 25參考文獻(xiàn) 26致謝 27緒論1.1引言信用卡起源于美國的二十世紀(jì),以金屬制成,使用場所和發(fā)行對象都特不有限。自1951年大來卡問世以來,奠定了現(xiàn)代信用卡的雛形基礎(chǔ)。當(dāng)時持卡人消費(fèi)時只要出示卡片,該筆賬務(wù)就能夠由大來卡公司墊付,之后持卡人再將大來卡公司墊付的賬款進(jìn)行還款。近十年,信用卡在臺灣真正得到較大規(guī)模的普及和進(jìn)展,國際信用卡組織MasterCard(萬事達(dá)卡)、VISA(威士卡)、AmericanExpress(美國運(yùn)通卡)、DinnersCard(大來卡)、JCB(吉世美卡)等都在費(fèi)盡心機(jī)攻占和搶占當(dāng)今市場。從1979年,中行廣東分行首先同香港東亞銀行簽訂協(xié)議,開始代理東美信用卡業(yè)務(wù)。1985年中國銀行在我國發(fā)行了第一張信用卡。信用卡在中國2003年開始流行。據(jù)統(tǒng)計部門分析,至2010年,我國信用卡的發(fā)卡量從300萬張,增加到2.3億張,是2003年信用卡發(fā)卡量的77倍【1】。據(jù)相關(guān)媒體報道,中國銀行(601988)業(yè)協(xié)會近日公布了《2012年中國信用卡產(chǎn)業(yè)進(jìn)展藍(lán)皮書》,藍(lán)皮書顯示2011年我國信用卡新增發(fā)行量5500萬張,累計發(fā)行量已達(dá)2.85億張,交易筆數(shù)達(dá)到28.5億筆,交易金額達(dá)7.56萬億元,連續(xù)了2010年的快速增長【2】。近段時刻內(nèi),新卡進(jìn)展將會在發(fā)卡量上增速放緩,這比起之前幾年的一味著重數(shù)量增長,是一個理性的進(jìn)展策略。不再單純在競爭發(fā)卡數(shù)量,而是對信用卡行業(yè)開始精耕細(xì)作。這將作為近時期信用卡進(jìn)展的趨勢【3】。在現(xiàn)今社會中,信用卡的用戶一般擁有多張信用卡,因此對信用卡有效的治理和對信用卡信息的詳細(xì)、準(zhǔn)確的掌握,是十分有必要的。1.2研究要緊的內(nèi)容和目標(biāo)本系統(tǒng)的目的是方便用戶治理個人的信用卡。要緊功能有:注冊用戶賬戶、用戶的登錄、用戶新增信用卡操作、對信用卡額度的設(shè)置查詢、信用卡還款查詢、信用率查詢、添加消費(fèi)記錄、還款提醒的功能。1.3開發(fā)工具和運(yùn)行環(huán)境介紹1.3.1開發(fā)工具介紹(1)MyEclipseMyEclipse是一個十分優(yōu)秀的用于開發(fā)Java,J2EE的Eclipse插件集合,MyEclipse的功能特不強(qiáng)大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持十分不錯。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC數(shù)據(jù)庫鏈接工具等多項功能。能夠講MyEclipse幾乎囊括了目前所有主流開源產(chǎn)品的專屬eclipse開發(fā)工具。(2)TomcatTomcat服務(wù)器是一個免費(fèi)的開放源代碼的Web應(yīng)用服務(wù)器。Tomcat是Apache軟件基金會(ApacheSoftwareFoundation)的Jakarta項目中的一個核心項目,由Apache、Sun和其他一些公司及個人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和JSP規(guī)范總是能在Tomcat中得到體現(xiàn)。因為Tomcat技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web應(yīng)用服務(wù)器。(3)MYSQLMySQL是一個開放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫治理系統(tǒng),開發(fā)者為瑞典MySQLAB公司。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。1.3.2運(yùn)行環(huán)境介紹名稱版本語種服務(wù)器操作系統(tǒng)WindowsServer2003SP2中文客戶端操作系統(tǒng)WindowsXP/7SP3中文數(shù)據(jù)庫平臺MySQL10G應(yīng)用平臺Tomcat6.x郵件系統(tǒng)無客戶端軟件InternetExplorerFireFoxChrome8.03.01.4相關(guān)技術(shù)知識1.4.1B/S結(jié)構(gòu)模式B/S結(jié)構(gòu)(Browser/Server,掃瞄器/服務(wù)器模式),是WEB興起后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式,WEB掃瞄器是客戶端最要緊的應(yīng)用軟件。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實現(xiàn)的核心部分集中到服務(wù)器上,簡化了系統(tǒng)的開發(fā)、維護(hù)和使用。客戶機(jī)上只要安裝一個掃瞄器(Browser),如NetscapeNavigator或InternetExplorer,服務(wù)器安裝Oracle、Sybase、Informix或SQLServer等數(shù)據(jù)庫。掃瞄器通過WebServer同數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互。傳統(tǒng)的基于C/S(客戶/服務(wù)器)機(jī)構(gòu)的Windows引用程序總是讓客戶面臨一些令人頭疼的問題,如部署問題、升級困難、維護(hù)困難、安全性等。為了解決那個問題,同時伴隨著Internet的高速進(jìn)展,出現(xiàn)了基于Web服務(wù)器的B/S結(jié)構(gòu),客戶端也就成了“瘦客戶端”。這種形式的客戶端結(jié)構(gòu),解決了許多與應(yīng)用程序部署和維護(hù)相關(guān)聯(lián)的問題。瘦客戶端應(yīng)用程序是在中央Web服務(wù)器上部署和更新的,因此,它們消除了,將應(yīng)用程序的任何部分顯式部署到客戶計算機(jī)并加以治理的必要性。B/S模式是一種以Web技術(shù)為基礎(chǔ)的新型的MIS系統(tǒng)平臺模式。把傳統(tǒng)C/S模式中的服務(wù)器部分分解為一個數(shù)據(jù)服務(wù)器與一個或多個應(yīng)用服務(wù)器(Web服務(wù)器),從而構(gòu)成一個三層結(jié)構(gòu)的客戶服務(wù)器體系。圖1-1三層構(gòu)架B/S模式的最大缺點是無法利用客戶計算機(jī)充足的內(nèi)存和強(qiáng)大的計算能力,單靠服務(wù)器全然無法承載需要耗費(fèi)大量內(nèi)存的計算能力。鑒于B/S相關(guān)于C/S的先進(jìn)性,B/S逐漸成為一種流行的MIS系統(tǒng)平臺。各軟件公司紛紛推出自己的Internet方案,基于Web的財務(wù)系統(tǒng)、基于Web的ERP。一些企業(yè)差不多領(lǐng)先一步開始使用它,同時收到了一定的成效。B/S模式的新穎與流行,和在某些方面相關(guān)于C/S的巨大改進(jìn),使B/S成了MIS系統(tǒng)平臺的首選。本系統(tǒng)也采納B/S結(jié)構(gòu)開發(fā)。1.4.2MVCMVC是Model-View-Controller的簡寫。"Model"代表的是應(yīng)用的業(yè)務(wù)邏輯(通過JavaBean,EJB組件實現(xiàn)),"View"是應(yīng)用的表示面(由JSP頁面產(chǎn)生),"Controller"是提供應(yīng)用的處理過程操縱(一般是一個Servlet),通過這種設(shè)計模型把應(yīng)用邏輯,處理過程和顯示邏輯分成不同的組件實現(xiàn)。這些組件能夠進(jìn)行交互和重用。1.4.3StrutsStruts是Apache軟件基金會(ASF)贊助的一個開源項目。它最初是Jakarta項目中的一個子項目,并在2004年3月成為ASF的頂級項目。它通過采納JavaServlet/JSP技術(shù),實現(xiàn)了基于JavaEEWeb應(yīng)用的Model-View-Controller〔MVC〕設(shè)計模式的應(yīng)用框架〔WebFramework〕,是MVC經(jīng)典設(shè)計模式中的一個經(jīng)典產(chǎn)品。在Struts中,差不多由一個名為ActionServlet的Servlet充當(dāng)操縱器(Controller)的角色,依照描述模型、視圖、操縱器對應(yīng)關(guān)系的struts-config.xml的配置文件,轉(zhuǎn)發(fā)視圖(View)的請求,組裝響應(yīng)數(shù)據(jù)模型(Model)。在MVC的模型(Model)部分,經(jīng)常劃分為兩個要緊子系統(tǒng)(系統(tǒng)的內(nèi)部數(shù)據(jù)狀態(tài)與改變數(shù)據(jù)狀態(tài)的邏輯動作),這兩個概念子系統(tǒng)分不具體對應(yīng)Struts里的ActionForm與Action兩個需要繼承實現(xiàn)超類。在那個地點,Struts能夠與各種標(biāo)準(zhǔn)的數(shù)據(jù)訪問技術(shù)結(jié)合在一起,包括EnterpriseJavaBeans(EJB),JDBC與JNDI。在Struts的視圖(View)端,除了使用標(biāo)準(zhǔn)的JavaServerPages(JSP)以外,還提供了大量的標(biāo)簽庫使用,同時也能夠與其他表現(xiàn)層組件技術(shù)(產(chǎn)品)進(jìn)行整合,比如VelocityTemplates,XSLT等。通過應(yīng)用Struts的框架,最終用戶能夠把大部分的關(guān)注點放在自己的業(yè)務(wù)邏輯(Action)與映射關(guān)系的配置文件(struts-config.xml)中。1.4.4SpringSpring框架提供了構(gòu)建Web應(yīng)用程序的全功能MVC模塊。使用Spring可插入的MVC架構(gòu),能夠選擇是使用內(nèi)置的SpringWeb框架還能夠是Struts如此的Web框架。通過策略接口,Spring框架是高度可配置的,而且包含多種視圖技術(shù),例如JavaServerPages(JSP)技術(shù)、Velocity、Tiles、iText和POI。SpringMVC框架并不明白使用的視圖,因此可不能強(qiáng)迫您只使用JSP技術(shù)。SpringMVC分離了操縱器、模型對象、分派器以及處理程序?qū)ο蟮慕巧?,這種分離讓它們更容易進(jìn)行定制。1.4.5HibernateHibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了特不輕量級的對象封裝,使得Java程序員能夠為所欲為的使用對象編程思維來操縱數(shù)據(jù)庫。Hibernate能夠應(yīng)用在任何使用JDBC的場合,既能夠在Java的客戶端程序使用,也能夠在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate能夠在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。圖1-2采納Struts+Spring+Hibernate3種框架整合技術(shù)的整體架構(gòu)設(shè)計示圖1.5術(shù)語定義【信用額度】指銀行在批準(zhǔn)你的信用卡的時候給予你信用卡的一個最高透支的限額,你只能在那個額度內(nèi)刷卡消費(fèi),超過了那個額度就無法正常刷卡消費(fèi)。信用額度是依據(jù)您申請信用卡時所填寫的資料和提供的相關(guān)證明文件綜合評定核定的,主卡、附屬卡共享同一額度。一般情況下,雙幣信用卡的額度中人民幣額度和美元額度是能夠互相換算的,例如:您的額度是30,000人民幣,當(dāng)你在境外用卡時,您的信用額度就大約等值于5,000美元。信用額度將由銀行定期進(jìn)行調(diào)整,但您能夠主動提供相關(guān)的財力證明要求調(diào)整信用額度。此外,當(dāng)您在出國旅游、喬遷新居等情況在一定時刻內(nèi)需要較高額度時,可要求調(diào)高臨時信用額度?!镜诙~度】第二額度,也確實是所謂的要分期才用的上的額度,他是一個不占用你原本額度的一個外用額度。據(jù)了解目前支持分期使用第二額度的銀行還有光大銀行、中國銀行。【交易日】持卡人實際用卡交易的日期?!居涃~日】又稱入賬日,是指持卡人用卡交易后,發(fā)卡銀行將交易款項記入其信用卡賬戶的日期,或發(fā)卡銀行依照相關(guān)約定將有關(guān)費(fèi)用記入其信用卡賬戶的日期。【賬單日】賬單日是指發(fā)卡銀行每月定期對持卡人的信用卡賬戶當(dāng)期發(fā)生的各項交易、費(fèi)用等進(jìn)行匯總,并結(jié)計利息、計算持卡人當(dāng)期應(yīng)還款項的日期?!具€款日】持卡人實際向銀行償還信用卡賬款的日期?!久庀⑦€款期】非現(xiàn)金交易,從銀行記賬日起至到期還款日之間的日期為免息還款期。免息還款期最短20天,最長56天。在此期間,您只要全額還清當(dāng)期對賬單上的本期應(yīng)還金額,便不用支付任何非現(xiàn)金交易由銀行代墊給商店資金的利息(預(yù)借現(xiàn)金則不享受免息優(yōu)惠)。【到期還款日】發(fā)卡銀行規(guī)定的持卡人應(yīng)該償還其全部應(yīng)還款或最低還款額的最后日期??尚行匝芯?.1可行性研究2.1.1技術(shù)可行性研究技術(shù)可行性要考慮現(xiàn)有的技術(shù)條件是否能夠順利完成開發(fā)工作,軟硬件配置是否滿足開發(fā)的需求等。基于J2EE技術(shù)的個人治理系統(tǒng)JSP進(jìn)行開發(fā),開發(fā)和調(diào)試相對簡單,想在的電腦配置完全無壓力的運(yùn)行,因此在技術(shù)上是絕對可行的。軟件方面:由于目前BS模式軟件相對進(jìn)展成熟,故軟件的開發(fā)平臺成熟可行,它們速度快、容量大、可靠性能高、價格低,完全能滿足系統(tǒng)的需求。2.1.2經(jīng)濟(jì)可行性隨著現(xiàn)在社會的快速進(jìn)步和經(jīng)濟(jì)的告訴進(jìn)展,人們的生活水平不斷的提高,電腦和互聯(lián)網(wǎng)差不多走進(jìn)千家萬戶了,如此關(guān)于用戶的使用成本大大的降低了,幾乎能夠不計。本系統(tǒng)是學(xué)校的畢業(yè)設(shè)計來開發(fā)的,在經(jīng)濟(jì)上的開發(fā)費(fèi)用忽略不計,硬件上的成本知識自己的電腦、寬帶、電費(fèi)、書,這些費(fèi)用都不大。因此經(jīng)濟(jì)上是可行的。2.1.3操作可行性該系統(tǒng)設(shè)計清晰,有良好的用戶界面,操作簡潔,有完善的異常處理機(jī)制和提示信息機(jī)制,用戶只要簡單看下講明就能對系統(tǒng)能使用了,因此操作方面可行。2.1.4法律可行性(1)所查看的所有技術(shù)資料都為合法。(2)開發(fā)過程中沒有知識產(chǎn)權(quán)問題。(3)本系統(tǒng)沒有違反國家相關(guān)法律規(guī)定。綜上所述,本系統(tǒng)的開發(fā)從技術(shù)上、從經(jīng)濟(jì)上、從法律上差不多上完全可靠的。需求分析3.1系統(tǒng)功能分析本系統(tǒng)要緊是方便信用卡用戶治理所擁有的信用卡,及時掌握信用卡的信息。通過信用卡的治理系統(tǒng)建設(shè),能實現(xiàn)對信用卡的信息治理,消費(fèi)治理,讓用戶對自己的信用卡用詳細(xì)的了解,提醒用戶及時的還款。用戶所擁有的功能如下圖:圖3-1用戶的所擁有功能(1)賬戶治理:用戶進(jìn)行賬戶注冊,用戶的登錄對賬戶信息進(jìn)行修改,對密碼進(jìn)行修改,退出系統(tǒng);用戶注冊:用戶使用本系統(tǒng)時必須要有自己的賬戶,因此使用前必須先注冊一個自己的賬號來使用本系統(tǒng),用戶注冊時候能夠填寫相關(guān)信息,也能夠以后再填寫,然而密碼和賬號一定要填寫。用戶登錄:用戶使用自己所注冊過的賬號進(jìn)行登錄,從而使用本系統(tǒng)來添加注冊自己的信用卡,來治理自己所注冊的信用卡。用戶信息和密碼:用戶能夠修改自己的用戶信息和用戶密碼。(2)信用卡治理:用戶登錄后能夠?qū)~戶下進(jìn)行添加注冊信用卡,對信用卡的信息進(jìn)行添加,添加信用卡的消費(fèi)信息,添加信用卡的還款信息,添加信用卡的銀行信息,能夠依照自己的需要對自己的信用卡的信息進(jìn)行查詢。信用卡的注冊:用戶添加信用卡的信息從而才能治理信息,設(shè)置指定信用卡的信用額度,賬單日、還款日等信息。信用卡的消費(fèi)信息添加:用戶每消費(fèi)一次信用卡,能夠通過本系統(tǒng)對消費(fèi)的信用卡進(jìn)行消費(fèi)信息登錄,系統(tǒng)會錄入消費(fèi)金額和消費(fèi)信息,從而生成相應(yīng)的賬單信息。信用卡還款信息添加:用戶還款后能夠?qū)€款信用卡進(jìn)行登記。消除賬單提醒。信用卡信息查詢:查詢信用卡消費(fèi)(還款)記錄,依照信用卡卡號和消費(fèi)(還款)日期來查詢。信用卡的信息的編輯:在信用卡信息的表中有編輯按鈕來選擇要修改信息的信用卡。選擇要修改信用卡后面的編輯按鈕來編輯。信用卡刪除:用戶能夠刪除不需要的信用卡。(3)銀行信息治理:用戶在自己的賬戶能夠為自己的信用卡天添加銀行信息,用戶還能夠?qū)Σ畈欢嗵砑拥你y行信息進(jìn)行修改。添加銀行信息:用戶能夠添加相應(yīng)的銀行信息修改銀行信息:用戶能夠修改相應(yīng)的銀行信息3.2系統(tǒng)流程圖圖3-2業(yè)務(wù)流程圖系統(tǒng)結(jié)構(gòu)設(shè)計4.1系統(tǒng)分析模型系統(tǒng)實現(xiàn)對個人信用卡的治理,用戶對自己所擁有的信用卡進(jìn)行治理是系統(tǒng)實現(xiàn)的要緊目標(biāo)。用戶必須擁有自己的帳號才能進(jìn)行對自己的所擁有的卡進(jìn)行注冊和操作,信用卡有對應(yīng)相應(yīng)的銀行信息,用戶能夠?qū)︺y行信息進(jìn)行添加設(shè)置,每張卡有相應(yīng)的信息,如信用額度、使用金額、還款日、賬單日、消費(fèi)信息、還款信息?,F(xiàn)將他們的關(guān)系E-R圖畫出:圖4-1E-R圖4.2數(shù)據(jù)庫設(shè)計4.2.1數(shù)據(jù)庫邏輯卷結(jié)構(gòu)設(shè)計用戶(賬戶ID,賬號,密碼,姓名,性不,年齡,電話號碼,地址)信用卡(信用卡ID,信用卡卡號,信用卡名字,信用額度,賬單日,還款日,使用金額,所屬銀行ID,用戶ID)銀行信息(銀行ID,銀行名字,客服號碼,備注)消費(fèi)信息(消費(fèi)ID,消費(fèi)日期,消費(fèi)金額,對應(yīng)賬單日,對應(yīng)還款日,備注,所屬信用卡ID)還款信息(還款I(lǐng)D,還款日期,還款金額,備注,所對應(yīng)還款日,所屬的信用卡ID)4.2.2要緊涉及的數(shù)據(jù)庫表4-1用戶數(shù)據(jù)庫表設(shè)計名稱字段名數(shù)據(jù)類型主鍵非空賬戶IDuserIdintYESYES賬號userNamevarcharNOYES密碼userRealNamevarcharNOYES性不sexvarcharNONO年齡ageintNONO地址addressvarcharNONO電話號碼phonevarcharNONO表4-2信用卡數(shù)據(jù)庫表設(shè)計名稱字段名數(shù)據(jù)類型主鍵非空信用卡IDcardIdintYESNO信用卡卡號cardNointNONO信用卡名字cardNamevarcharNONO信用額度cardMoneydoubleNONO賬單日zdDatevarcharNONO還款日payDatevarcharNONO使用金額usedMoneydoubleNONO用戶IDuseridintNONO銀行IDbankIdintNONO表4-3銀行數(shù)據(jù)庫表設(shè)計名稱字段名數(shù)據(jù)類型主鍵非空銀行IDbankIdintYESNO銀行名字bankNamevarcharNONO客服號碼phoneintNOYES備注bankRemarkvarcharNOYES表4-4消費(fèi)信息數(shù)據(jù)庫表設(shè)計名稱字段名數(shù)據(jù)類型主鍵非空消費(fèi)IDoutIdintYESNO消費(fèi)金額outMoneydoubleNONO消費(fèi)日期outDatevarcharNONO還款日期outDateHkvarcharNONO賬單日期outDateZdvarcharNONO備注outRemarkvarcharNOYES信用卡IDcardIdintNONO表4-5還款信息數(shù)據(jù)庫表設(shè)計名稱字段名數(shù)據(jù)類型主鍵非空還款I(lǐng)DinIdintYESNO還款金額inMoneydoubleNONO賬單日期zdDatevarcharNONO備注inRemarkvarcharNOYES4.3系統(tǒng)功能模塊設(shè)計圖圖4-2個人信用卡治理系統(tǒng)功能模塊圖詳細(xì)設(shè)計5.1界面設(shè)計5.1.1登錄界面圖5-1登錄界面那個是登錄界面,用戶使用自己的賬戶和密碼來進(jìn)行登錄,假如登錄失敗會有相應(yīng)的信息提示在登錄框中顯示,如用戶不存在,密碼錯誤等信息。圖5-2登錄錯誤信息—用戶不存在5.1.2用戶注冊圖5-3注冊頁面用戶在登錄界面點注冊進(jìn)入注冊頁面進(jìn)行注冊。5.1.3登錄后界面圖5-4系統(tǒng)主界面那個是用戶正確登錄后的界面。用戶能夠通過左邊的導(dǎo)航欄進(jìn)行相應(yīng)的操作。5.1.4添加信用卡圖5-5添加信用卡信息這是對信用卡信息進(jìn)行添加,在發(fā)卡銀行按鈕那兒選擇所屬銀行信息添加。添加卡號,和信用卡名稱,每個月的還款日和賬單日,信用卡信用額度等信息。5.1.5添加銀行信息圖5-6添加銀行信息5.1.6添加消費(fèi)記錄圖5-7添加消費(fèi)記錄用戶在選擇要添加的信用卡來添加這張卡的信用卡的消費(fèi)信息,選擇這張信用卡時候,信用卡的信用卡名稱、信用卡卡號和賬單日、還款日、信用額度都會在頁面中顯示,用戶需要輸入消費(fèi)金額和消費(fèi)時刻。5.1.7添加信用卡的還款記錄圖5-8添加還款記錄相應(yīng)的操作如添加消費(fèi)記錄功能差不多。5.1.7查詢消費(fèi)信息圖5-9消費(fèi)信息查詢用戶能夠依照消費(fèi)的卡卡號和時刻來查詢相關(guān)信息。5.1.8還款信息查詢圖5-10還款信息查詢用戶可依照卡號和時刻來查詢相應(yīng)的還款的時刻5.1.9賬單提醒圖5-10賬單提醒對還沒有還款的賬單打印出來,提醒用戶哪些信用卡要進(jìn)行還款,幸免額外的罰息。5.1.10密碼修改圖5-11密碼修改用戶要輸入舊密碼和重復(fù)確認(rèn)輸入新密碼兩次,確認(rèn)新密碼填寫無誤,在只有就密碼正確和兩次新密碼填寫一致的情況下才能修改密碼。5.1.11個人信息修改用戶在這張頁面上能夠進(jìn)行信息修改。5.2編碼設(shè)計5.2.1登錄部分代碼推斷是否輸入帳號和密碼<script> functiondoAdd(){ if(document.login.userName.value==""){ alert("用戶名不能為空。"); returnfalse; } if(document.login.userPwd.value==""){ alert("密碼不能為空。"); returnfalse; } document.login.submit(); }</script>顯示登錄信息 <divclass="alertalert-info"> <s:iftest="#request.erro!=null"> <s:propertyvalue="#request.erro"/> </s:if> <s:else> 請輸入用戶名和密碼 </s:else> </div>推斷request獲得是否為空值,為空值的時候div中顯示“請輸入用戶名和密碼”,否則就顯示request中的erro屬性5.2.2信用卡部分代碼推斷信用卡信息輸入格式正確否<scripttype="text/javascript"> functiondoAdd() { if(document.getElementById("cardNo").value==""){ alert("請輸入銀行卡號!"); returnfalse; } if(document.addCard.cardName.value==""){ alert("請輸入銀行名稱"); returnfalse; } if(document.addCard.cardMoney.value==""){ alert("請輸入信用額度!"); returnfalse; } if(document.addCard.zdDate.value==""){ alert("請輸入賬單日期!"); returnfalse; } if(document.addCard.payDate.value==""){ alert("請輸入還款日期!"); returnfalse; } if(isNaN(document.addCard.cardMoney.value)){ alert("請輸入正確的信用額度"); returnfalse; } if(isNaN(document.addCard.zdDate.value)){ alert("請輸入正確的賬單日"); returnfalse; } if(isNaN(document.addCard.payDate.value)){ alert("請輸入正確的還款日期"); returnfalse; } if(document.addCard.bankName.value==""){ alert("請選擇發(fā)卡銀行!"); returnfalse; } document.addCard.submit(); }</script>添加信用卡數(shù)據(jù)處理部分CardAction;publicStringaddCard()throwsIOException{ HttpServletRequestrequest=ServletActionContext.getRequest(); HttpServletResponseresponse=ServletActionContext.getResponse(); response.setContentType("text/html;charset=UTF-8"); request.setCharacterEncoding("UTF-8"); PrintWriterout=response.getWriter();// Userloginuser=mySession.get("loginuser");// System.out.println("user1!!"+loginuser.getUserId()); System.out.println("User"+card.getUserInfo().getUserId()); System.out.println("bank"+card.getBankInfo().getBankId()); CardSvcIfcardsvc=newCardSvcImpl(); if(cardsvc.addCard(card)){ out.print("<script>"); out.print("alert('添加成功!');"); out.print("window.location.href='/s2sh/card/addCard.jsp'"); out.print("</script>"); out.flush(); out.close(); System.out.println("1111"); return"success"; }else{ out.print("<script>"); out.print("alert('失敗');"); out.print("window.location.href='/s2sh/card/addCard.jsp'"); out.print("</script>"); out.flush(); out.close(); return"failed"; } }CardDaoImpl: publicCardaddCard(Cardcard){ //TODOAuto-generatedmethodstub System.out.println("daocard"+card.getCardNo());// session.merge(card); session.save(card); returncard; }刪除信用卡publicbooleandelCard(intcardId){ //TODOAuto-generatedmethodstub try{ Carddelcard=(Card)session.get(Card.class,cardId); session.delete(delcard); returntrue; } catch(Exceptione){ //TODO:handleexception returnfalse; } }修改信用卡信息 publicCardeditCard(Cardcard){ System.out.println("daocard"+card.getCardNo()); inti=card.getCardId(); CardnewCard=(Card)session.merge(card); session.update(newCard); System.out.println("daocar1111d"+card.getCardId()); returnnewCard; }查詢信用卡信息通過卡號查詢信用卡:publicList<Card>findCardByNo(intcardNo){ //TODOAuto-generatedmethodstub HttpServletRequestrequest=ServletActionContext.getRequest(); HttpSessionmysession=request.getSession(); UserloginUser2=(User)mysession.getAttribute("loginuser"); Stringhql="selectcFromCardcwherec.cardNo=?andc.userInfo.userId=?"; Queryquery=session.createQuery(hql); query.setParameter(0,cardNo); query.setParameter(1,loginUser2.getUserId()); List<Card>searchCard=(List<Card>)query.list(); returnsearchCard; }查詢消費(fèi)信息代碼:通過卡號查詢 publicList<OutInfo>findOutInfoByCard(intcardNo){ //TODOAuto-generatedmethodstub Stringhql="selectoutFromOutInfooutwhereout.cardInfo.cardNo=?orderbyout.outDate"; Queryquery=session.createQuery(hql); query.setParameter(0,cardNo); List<OutInfo>outinfo=(List<OutInfo>)query.list(); returnoutinfo; }同時使用卡號和日期查詢: publicList<OutInfo>findOutInfoByCard_Date(intcardNo,Stringstart, Stringend){ //TODOAuto-generatedmethodstub Stringhql="selectoutFromOutInfooutwhereout.cardInfo.cardNo=?andout.outDatebetween?and?"; Queryquery=session.createQuery(hql); query.setParameter(0,cardNo); query.setParameter(1,start); query.setParameter(2,end); List<OutInfo>outinfo=(List<OutInfo>)query.list(); returnoutinfo; }通過消費(fèi)日期查詢: publicList<OutInfo>findOutInfoByDate(Stringstart,Stringend){ //TODOAuto-generatedmethodstub Stringhql="selectoutFromOutInfooutwhereout.outDatebetween?and?"; Queryquery=session.createQuery(hql); query.setParameter(0,start); query.setParameter(1,end); List<OutInfo>outinfo=(List<OutInfo>)query.list(); returnoutinfo; }生成賬單代碼 publicListListHKZD(Pagepage,intuserId){ //TODOAuto-generatedmethodstub Stringhql="selectout.outDateHk,max(out.outId),max(out.cardInfo.cardNo),max(out.cardInfo.cardName),max(out.cardInfo.bankInfo.bankName),"+ "max(out.cardInfo.zdDate),max(out.cardInfo.payDate),sum(out.outMoney),max(out.outDateZd)"+ "fromOutInfooutwhereout.cardInfo.userInfo.userId=?groupbyout.outDateHk"; Queryquery=session.createQuery(hql); query.setInteger(0,userId); List<OutInfo>list=query.list(); ArrayListlist12=newArrayList(); for(Iteratoriterator=list.iterator();iterator.hasNext();){ Object[]eles=(Object[])iterator.next(); HashMapmap=newHashMap(); map.put("outDateHk",eles[0]); map.put("outid",eles[1]); map.put("cardNo",eles[2]); map.put("cardName",eles[3]); map.put("bankName",eles[4]); map.put("zdDate",eles[5]); map.put("payDate",eles[6]); map.put("usedmoney",eles[7]); map.put("outDateZd",eles[8]); list12.add(map); } Stringcsql="selectdistinctout.outDateHkfromOutInfooutwhereout.cardInfo.userInfo.userId=?)"; System.out.println(page.getFirstResult()+"====="+page.getMaxResult()); Listlist2=session.createQuery(csql).setInteger(0,userId).list(); intcount=list12.size(); page.setTotalResult(count); returnlist12; }5.3部署方案圖5-12部署方案第六章總結(jié)幾個月來的學(xué)習(xí)和在這段時刻中完成的畢業(yè)設(shè)計,在這斷時刻中緊張忙碌但又專門充實,學(xué)到了專門多平常沒有在課堂上學(xué)到的知識,使我有機(jī)會對本專業(yè)的基礎(chǔ)知識系統(tǒng)化的復(fù)習(xí)下,有了更進(jìn)一步深入的了解和體會,對往常不能理解的知識有了新的理解,能將學(xué)到知識能真正的學(xué)以致用。在那個幾個月中,我更加學(xué)會了如何去學(xué)習(xí)一項自己從遇到過的知識,并親手自己去動手實踐,不再停留在書上的理論,不在空談。本系統(tǒng)采納了基于B/S模式,MVC框架,基于JSP技術(shù),使用Spring、Hibernate、struts來完成本系統(tǒng)的實現(xiàn)。采納MYSQL數(shù)據(jù)庫和TOM

溫馨提示

  • 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

提交評論