銀行卡管理系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
銀行卡管理系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
銀行卡管理系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
銀行卡管理系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
銀行卡管理系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩74頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

銀行卡管理系統(tǒng)的設(shè)計與實現(xiàn)關(guān)鍵字?jǐn)?shù)據(jù)庫系統(tǒng)開發(fā)信息系統(tǒng)SQLJava語言KeywordsDatabasesystem 1 1.1需求分析 21.2可行性分析 21.3功能分析 31.4開發(fā)步驟 32系統(tǒng)設(shè)計 42.1概述 42.2系統(tǒng)的數(shù)據(jù)流圖 42.3系統(tǒng)的功能 42.4數(shù)據(jù)庫設(shè)計 52.4.1數(shù)據(jù)庫需求分析 52.4.2概念設(shè)計 62.4.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計 82.5用戶界面設(shè)計 92.5.1系統(tǒng)安全性驗證用戶界面設(shè)計 92.5.2系統(tǒng)主屏幕的區(qū)域設(shè)計 93系統(tǒng)編碼與實現(xiàn) 3.1硬件的選擇 3.2軟件的選擇 3.3系統(tǒng)的主要文件及目的 3.4創(chuàng)建普通用戶系統(tǒng)管理模塊 3.4.2創(chuàng)建“功能菜單” 3.4.3創(chuàng)建“存款功能” 3.4.4創(chuàng)建“取款功能” 3.4.5創(chuàng)建“轉(zhuǎn)賬功能” 3.4.6創(chuàng)建“交易記錄查詢”和“余額查詢” 3.4.7創(chuàng)建“個人信息”和“密碼設(shè)置” 3.5創(chuàng)建管理員的登錄模塊 3.5.1創(chuàng)建“管理員的登錄” 3.5.2創(chuàng)建“功能菜單” 3.5.3創(chuàng)建“凍結(jié),刪除功能” 3.5.4創(chuàng)建“查詢凍結(jié)和啟用賬戶功能” 3.6工具欄 4系統(tǒng)運(yùn)行與調(diào)試 4.1系統(tǒng)的配置 4.2系統(tǒng)的運(yùn)行 4.3系統(tǒng)的調(diào)試 結(jié)論 致謝 參考文獻(xiàn) 附錄部分核心代碼 1引言本次的系統(tǒng)開發(fā)是銀行卡管理系統(tǒng),這個系統(tǒng)是對一些基礎(chǔ)銀行卡基礎(chǔ)業(yè)務(wù)的管理,是面向所有群體以及銀行的管理員。接下來分析此次銀行卡管理系統(tǒng)的研究意義以及研究設(shè)想。傳統(tǒng)的人工管理已經(jīng)被社會證明為效率極低的管理方式,對于一些企業(yè)來說,信息交流溝通如果不能及時回應(yīng),往往會帶來很負(fù)面的影響。然而對于銀行的管理者來說,及時的了解資產(chǎn)負(fù)債等重要信息,將非常有利于管理層人員及時制定有效的應(yīng)對措施,避免一些多余的損失。隨著計算機(jī)的流行,經(jīng)濟(jì)社會的發(fā)展。手機(jī)支付代替了貨幣的交易,網(wǎng)上購物代替了實體店的購物,就連原來的課堂學(xué)習(xí)都變成了線上的網(wǎng)絡(luò)學(xué)習(xí)。因此,許多人工的工作會慢慢被計算機(jī)銀行以及用戶都追求更高的效率,并且還要求做到種類的豐富以及復(fù)雜度的提高。銀行卡管理系統(tǒng)的出現(xiàn)解決了這個問題,這是一種新型的管理系統(tǒng),可以降低操作復(fù)雜度和出錯率從而提高工作效率。如今處于信息時代,互聯(lián)網(wǎng)使得整個世界成為一個聯(lián)系日益緊密的群體。銀行想要在這個領(lǐng)域里站穩(wěn)腳跟,就必須跟隨時代的發(fā)展不斷創(chuàng)新。管理信息系統(tǒng)便是實現(xiàn)這一目標(biāo)的有效手作為一個畢業(yè)設(shè)計,本次設(shè)計的管理系統(tǒng)在完成的功能上還有些欠缺。最初需要建立的用戶表格只有四個,但是表與表之間的聯(lián)系還是很密切的,這個就需要對數(shù)據(jù)庫有熟悉的了解和應(yīng)用。所以完成這個項目,要不斷提高數(shù)據(jù)庫設(shè)計的標(biāo)準(zhǔn)和編程能力,這兩個基本功缺一不題目可以不斷訓(xùn)練在這兩方面知識的表達(dá)。本信息管理系統(tǒng)是利用網(wǎng)絡(luò)技術(shù),實現(xiàn)對銀行卡的管理。本系統(tǒng)致力于減少銀行內(nèi)人員的工作量,便于與銀行客戶的交流,不再是通過語言口頭形式的傳達(dá),而是計算機(jī)的操作。及時反映出用戶需求,提高在人工管理上的效率低的問題,銀作人員也能節(jié)省人力。減少了工作量上的要求,銀行工作人員可以解決計算機(jī)做21.1需求分析隨時代發(fā)展的一種趨勢,管理系統(tǒng)的不斷研發(fā)和跟進(jìn)是十分必要的。息。在賬戶業(yè)務(wù)部分,可以查詢用戶的信息,包括各種基本信息、余額、賬單等。在操作完成之后依舊可以存儲相應(yīng)的操作紀(jì)錄并能夠查詢操作紀(jì)錄等功能;在信息操作部分,有修改個人信息行某些賬戶的開戶及凍結(jié)等;在信息操作部分,有修改和查詢的功能。1.2可行性分析系統(tǒng)的可行性分析可以分成三個方面的問題。首先是技術(shù)可行性分析,運(yùn)用到的工具是IDEA,需要掌握的是java語言的編寫以及對數(shù)據(jù)庫的了解。在校期間,我校開設(shè)的課程在Java和數(shù)據(jù)庫運(yùn)用方面已經(jīng)有了學(xué)習(xí),可以充分利用到本次項目中。然而,學(xué)習(xí)所學(xué)的學(xué)術(shù)性已經(jīng)掌握,我還缺乏了開發(fā)經(jīng)歷。在大四下學(xué)期,我去馳星進(jìn)行了三周的實訓(xùn),小組完成了一個購物車管理系統(tǒng)。這個項目從接觸到完成,我學(xué)會了很也有在代碼書寫中的規(guī)范性問題。因此,這個項目的開發(fā)在知識需求上我是具備的。開發(fā)系統(tǒng)的計算機(jī)硬件已經(jīng)十分普及,在一般的電腦上都能夠?qū)崿F(xiàn),同時還要求存儲空間的要求,這兩個要求達(dá)到的話,硬件方面運(yùn)行以及編寫代碼是完全沒有問題的。用到的工具是IDEA,這是一款與Eclipe十分相似的工具,在使用方面因此這個經(jīng)濟(jì)可行性是不予考慮的。這個項目的開發(fā)是可以執(zhí)行的。最后是運(yùn)行可行性分析,需要考慮到面向的群體戶是各類人群,有一些高學(xué)歷的或者低學(xué)歷的或者是老人等,因此要考慮到是方便簡單的操作。3其次還需要有專業(yè)的人員指導(dǎo),可以在這個系統(tǒng)運(yùn)行時在銀行配備工作人員,當(dāng)用戶遇到操作困1.3功能分析率,首先需要改進(jìn)的就是人工的功能辦理。使用計算機(jī)來管理銀行卡可以大大增加管理的效率,還可以利用計算機(jī)管理豐富在各個方面功能上的多樣化。(1)用戶可以進(jìn)行簡單的轉(zhuǎn)賬、取款、存款以及密碼修改等功能;(2)管理員可以進(jìn)行賬號的凍結(jié)和解凍以及密碼修改等功能。接下來,經(jīng)過了一系列的對功能上的分析,可以簡單列出數(shù)據(jù)庫的構(gòu)建:(1)用戶信息表:包括編號,密碼,姓名,余額,啟用狀態(tài)以及扮演的角色等。(2)個人信息表:包括用戶編號,姓名,年齡,性別,地區(qū),電話,卡號等。(3)菜單表:包括編號,功能名,所在界面位置,用戶權(quán)限管理等。(4)轉(zhuǎn)賬交易表:包括編號,轉(zhuǎn)賬或者是存款操作,操作對象,時間,金額等。(1)有詳細(xì)的設(shè)計說明書;(2)模塊在功能上的流程圖要很清晰,即使是不懂代碼的人看到流程圖也能知曉這個項目(3)系統(tǒng)能正常運(yùn)行;(4)系統(tǒng)在界面設(shè)計上,要有簡潔的界面,用戶和管理員都方便操作。1.4開發(fā)步驟可行性進(jìn)行分析,主要分析本次項目的進(jìn)行完成度,確保在軟件和硬件以及知識儲備上達(dá)到開發(fā)的要求;第二個步驟的要求是概要設(shè)計,主要實現(xiàn)取款子系統(tǒng),個人信息子系統(tǒng),管理員系統(tǒng)和用戶系統(tǒng)四個部分,主要從四個方面實現(xiàn)對銀行卡的管理;第三個步驟的要求是詳細(xì)設(shè)計,在分析了系統(tǒng)的需求后,能夠確定開發(fā)應(yīng)用到的軟件和硬件,準(zhǔn)備好數(shù)據(jù)庫的建立以及整個界面開發(fā)的美觀和簡潔性。這里確定了系統(tǒng)的主要功能,需要反復(fù)核對和確認(rèn)。每一個步驟都不能馬虎,42系統(tǒng)設(shè)計卡的一些信息,通過后臺對數(shù)據(jù)的處理將有用信息反饋給給銀行或普通辦理業(yè)務(wù)的客戶。這個系統(tǒng)在各個方面都能超越人工的處理效率。銀行卡一種普遍的支付工具,日常生活中這是必不可少的額,例如,我們可以在銀行進(jìn)行存款取款以及轉(zhuǎn)賬等功能。隨著網(wǎng)絡(luò)以及計算機(jī)的不斷發(fā)展,行卡的管理還是十分重要的,它需要做到基本的查詢以及存取款服務(wù)。如果是單純以的自己的知識來看,銀行對每個用戶的交易信息的處理量是一個十分復(fù)雜的問題,但是如今便捷的網(wǎng)絡(luò)條件為銀行卡的管理提供了有利的技術(shù)條件。這些快捷的方法使得這個系統(tǒng)的運(yùn)行更加必要。2.2系統(tǒng)的數(shù)據(jù)流圖數(shù)據(jù)庫之前,可以將總的數(shù)據(jù)流圖整理出來,如圖1所示。形有靴資舞數(shù)據(jù)流數(shù)據(jù)流圖1系統(tǒng)數(shù)據(jù)流圖2.3系統(tǒng)的功能經(jīng)過了對知識進(jìn)行理解和整個系統(tǒng)應(yīng)該要具備的功能進(jìn)行初步的規(guī)劃后,本系統(tǒng)應(yīng)具備開5戶,存款,取款,轉(zhuǎn)賬,查詢交易,修改密碼等功能,得出結(jié)構(gòu)如圖2所示。修改密碼修改密碼啟用賬戶凍結(jié)賬戶開戶所有賬戶修改密碼個人信息余額查詢交易記錄信息設(shè)置賬戶信息管理員存2.4數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫的基本步驟就是:創(chuàng)建數(shù)據(jù)庫、創(chuàng)建各個所需要的表、附加約束條件(有字符類型的約束和字符的限制)、創(chuàng)建需要登錄的賬戶信息。數(shù)據(jù)庫需要設(shè)計的功能有增、刪、改、查,這些基本的功能在本次項目中都有充分的表達(dá)。由此看來,數(shù)據(jù)庫的創(chuàng)建的好與壞是十分重要的,好的數(shù)據(jù)庫創(chuàng)建完成后,可以將整個系統(tǒng)的功能進(jìn)行連接并且實現(xiàn)所需信息的頁面跳轉(zhuǎn)。在設(shè)計數(shù)據(jù)庫系統(tǒng)時,要不斷更新各個方面用戶的不同需求,可以進(jìn)行一個簡單的調(diào)查后確定所需要實現(xiàn)的功能。在調(diào)查時也應(yīng)該注意到人群的分布,不同群體的需求是不同的。只有了解數(shù)據(jù)庫創(chuàng)建過程中的這些問題和要求,才能夠?qū)崿F(xiàn)功能強(qiáng)大的查詢以及復(fù)雜的業(yè)務(wù)規(guī)則。2.4.1數(shù)據(jù)庫需求分析在本項目中,主要是銀行管理員和普通操作人員。整個系統(tǒng)可以進(jìn)行查詢、保存、更新和查詢。這里就牽涉到我們需要先收集一些基本的數(shù)據(jù),如個人信息,姓名,電話等等。接著可以對數(shù)據(jù)進(jìn)行處理,形成一份全面的并且完整的數(shù)據(jù)字典。數(shù)據(jù)字典是一個為后續(xù)數(shù)據(jù)庫創(chuàng)建提供便利的工具,在這個階段如果仔細(xì)完成,后面的工作將更加的簡潔。62.4.2概念設(shè)計在對項目的概念設(shè)計階段,作為一個開發(fā)者,要從用戶的不同角度來看對數(shù)據(jù)的處理,在處理數(shù)據(jù)之后會有一個概念模式的產(chǎn)生,利用這個概念模式可以對整個系統(tǒng)再一次進(jìn)行分析,最終的目的是把它轉(zhuǎn)化成在項目中體現(xiàn)的概念。如果這樣,將概念設(shè)計從設(shè)計中獨立開來,使各階段的任務(wù)變得更加簡單化,表現(xiàn)為由粗到精、由模糊到清晰、由抽象到具體的不斷跟進(jìn)。在本項目中,初步可以設(shè)置數(shù)據(jù)庫的E—R模型圖,保證各個信息是正確并完整的。首先要做的就是設(shè)計好局部的E-R模式,然后把各局E-R模式,綜合轉(zhuǎn)換成一個全局模式,最后優(yōu)化修改得到最終概念模式。圖3、圖4、圖5。編號個人信息名字密碼編號編號姓名年齡用戶性別電話地區(qū)卡號圖3個人信息實體圖圖4用戶信息實體圖7編號編號姓名編號年齡存儲對象轉(zhuǎn)賬信息時間金額性別功能名用戶權(quán)限執(zhí)行菜單用戶記錄姓名編號密碼包括地區(qū)卡號編號電話8圖5總體的實體ER圖2.4.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計完成后,可以將E-R圖轉(zhuǎn)換成多張表格,進(jìn)行邏輯設(shè)計??梢詫⑸厦娴臄?shù)據(jù)庫概念轉(zhuǎn)化為某種數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)類型。在銀行卡管理系統(tǒng)中使用的各個數(shù)據(jù)表的字段設(shè)置如表1、表2、表3、表4:字段名類型長度可否為空小數(shù)點說明否0主索引字段040080000表1個人信息表(personinfo)字段名類型長度可否為空小數(shù)點說明否0主索引字段00000000表2菜單表(f_menu)字段名類型長度可否為空小數(shù)點說明否0主索引字段00200表3用戶表(account)字段名類型長度可否為空小數(shù)點說明否0主索引字段00290002.5用戶界面設(shè)計的界面與方式等。由于本系統(tǒng)的最終用戶是各種各樣的群體,有老人和精通設(shè)計的專業(yè)人員,因此本系統(tǒng)需要簡潔。所以在本系統(tǒng)上,采用了直接登錄和點擊的方式。2.5.1系統(tǒng)安全性驗證用戶界面設(shè)計登錄本系統(tǒng),用戶將看到如下畫面(如圖6所示):圖6用戶登錄界面圖2.5.2系統(tǒng)主屏幕的區(qū)域設(shè)計在對主屏幕進(jìn)行設(shè)計時,可以把界面劃分成幾個不同的區(qū)域,其中有工作區(qū),狀態(tài)信息區(qū)以及主菜單區(qū),如表5所示:主菜單區(qū)主要有執(zhí)行的業(yè)務(wù)工作區(qū)記錄當(dāng)前執(zhí)行業(yè)務(wù)的進(jìn)度以及歷史記錄中間是具體的業(yè)務(wù)的工作流程右下角顯示頁數(shù)表5區(qū)域設(shè)計表3系統(tǒng)編碼與實現(xiàn)3.1硬件的選擇在硬件的選擇上,我們選擇了Windows平臺作為開發(fā)、測試和運(yùn)行的平臺。和其他操作平臺在為了方便的前提下,大多數(shù)人還是會選擇Windows。如果選用它作為開發(fā)平臺,要功能的添加上會更加方便,如果軟件更新時也會比較節(jié)約時間。3.2軟件的選擇在學(xué)校我們學(xué)習(xí)使用eclipse操作并管理數(shù)據(jù)庫,但是我發(fā)現(xiàn)它也有缺點。在實習(xí)的這段時間,我接觸到了IDEA,最后經(jīng)過認(rèn)真分析兩者的不同,結(jié)合銀行卡管理系統(tǒng)的需要和目前的硬件環(huán)境,我們選用IntelijIDEA作為軟件開發(fā)工具。IDEA相比eclipse有以下幾方面的優(yōu)點:類似于eclipse中的project。IDEA在建立工程時是十分方便快捷的。在其他人的幫助下解到,代碼的工程化會使項目在運(yùn)行上更通俗化。簡而言之就是,就算是外行來運(yùn)行,可以在一(2)在開發(fā)效率上十分快速。IDEA可以在任意的代碼界面提示相關(guān)值,遇到棘手的情況也能快速解決。在一些基本的單詞和語法上,計算機(jī)會自動提示所在的語法行或者位置,而且可使用,首字母的提示就是一個簡單的體現(xiàn)。在代碼編寫的過程中速度是十分快捷的,并且能做到準(zhǔn)確報錯。如果不小心將單詞輸入錯誤,將不會出現(xiàn)下一步的提示,這就說明在前面的代碼中出3.3系統(tǒng)的主要文件及目的系統(tǒng)主要文件及目的如表6所示。文件作用發(fā)送一個請求,將用戶執(zhí)行的操作數(shù)據(jù)發(fā)送給前端,主要的是進(jìn)行頁面的設(shè)計文件作用用來尋找在類下面的函數(shù)的具體實現(xiàn),可以找到具體運(yùn)行的方法聲明幾個對應(yīng)數(shù)據(jù)庫的類,利用私有方法對.xml頁面下的操作進(jìn)行實現(xiàn)和部分調(diào)用對應(yīng)xml文件執(zhí)行,這里面是在sql語言執(zhí)行的情況下,給出具體的函數(shù)并且執(zhí)行回的信息作相應(yīng)的處理3.4創(chuàng)建普通用戶系統(tǒng)管理模塊3.4.1創(chuàng)建“系統(tǒng)登錄”系統(tǒng)登錄的界面主要由一個“登錄”按鈕構(gòu)成,運(yùn)行界面如上一章圖2-6所示?!镜卿洝?1)輸入用戶和密碼信息。(2)在登錄界面中,當(dāng)賬號密碼不為空時,對后臺發(fā)送一個請求,將賬號密碼以及角色發(fā)用findByUser()方法,對應(yīng)判斷是否密碼賬戶的正確性,最后進(jìn)入系統(tǒng)。(3)在密碼的輸入上需要正確才能進(jìn)入系統(tǒng)。(4)其中角色方面可以選擇是普通用戶和管理員。3.4.2創(chuàng)建“功能菜單”“個人信息”和“密碼修改”按鈕構(gòu)成,界面如圖7所示。單參報行業(yè)務(wù)4安圖7功能菜單圖菜單的主要實現(xiàn):首先執(zhí)行g(shù)etA11方法,返回類型為list,list里面以menu存儲,通過對菜3.4.3創(chuàng)建“存款功能”【存款】按鈕實現(xiàn)過程為:首先聲明一個TransactionConttoller的公共類,然后賦予它一個depoist的值,利用ajax找到里面兩個參數(shù),判斷是否符合大于0的存款要求,符合就將這個trmoney傳給所在name,顯示操作成功,否則操作失敗。(如圖8)圖8存款功能圖3.4.4創(chuàng)建“取款功能”【取款】按鈕實現(xiàn)過程為:首先聲明一個TransactionConttoller的公共類,然后賦予它一的用ajax找到對應(yīng)參數(shù),判斷取款要求需要大于0并且小于等于余額里的值,否則取款失敗。(如圖9所示)。兩w圖9取款功能圖3.4.5創(chuàng)建“轉(zhuǎn)賬功能”【取款】按鈕實現(xiàn)過程為:首先聲明一個Transactio個在transfer的值,找到這個文件下的函數(shù),可以看到使用了result()的公共類,然后賦予它一利用findbalance()方法,判斷是否符合轉(zhuǎn)賬條件,如果statue==0,則執(zhí)行轉(zhuǎn)賬功能,否則轉(zhuǎn)賬失敗。(如圖10所示)。內(nèi)四西取稱入存教●轉(zhuǎn)蟹·圖10轉(zhuǎn)賬功能圖3.4.6創(chuàng)建“交易記錄查詢”和“余額查詢”【交易記錄】【余額查詢】按鈕實現(xiàn)過程為:首先聲明一個TransactionConttoller的公共類,然后賦予它一個在allTrans的值,找到這個文件下的records函數(shù),這里是根據(jù)session找到所有交易記錄,返回Trans列表,列表中可以查到具體的記錄以及余額。(如圖11,圖12所示)。B1交期金元》交期金元》軸他工1用戶名4照戶狀態(tài)扇用圖12余額查詢圖3.4.7創(chuàng)建“個人信息”和“密碼設(shè)置”回給ftl,ft1根據(jù)返回的信息作相應(yīng)的處理。密碼修改時,用到一個changepassword方法判斷修改的密碼是否符合規(guī)范,全空則提示不能為空;新密碼和輸入密碼不一樣時則提示兩次密碼不一致;符合規(guī)范則提示密碼修改成功。(如圖13所示)。V育實班名:QQ年齡10圖13密碼設(shè)置圖3.5創(chuàng)建管理員的登錄模塊3.5.1創(chuàng)建“管理員的登錄”同普通用戶的登錄過程一樣,如圖14所示。管理員上圖14管理員登錄表3.5.2創(chuàng)建“功能菜單”碼修改”按鈕構(gòu)成,實現(xiàn)過程和普通用戶執(zhí)行過程一樣。界面如圖15所示。P圖15創(chuàng)建的功能菜單圖3.5.3創(chuàng)建“凍結(jié),刪除功能”【凍結(jié)】按鈕實現(xiàn)過程為:首先聲明一個PersonController的公共類,然后賦予它一個在Allperson的值,找到這個文件下的StopPerson函數(shù)。執(zhí)行的是獲取所有人員信息list,將所選的一行進(jìn)行刪除,并修改statue的值。(如圖16所示)。¥$y國下p2●2m解卷辯基基小工身州廣州市區(qū)49712*19050011454曉器所雨就雨出用3.5.4創(chuàng)建“查詢凍結(jié)和啟用賬戶功能”【查詢】按鈕實現(xiàn)過程為:聲明一個PersonController的公共類,然后賦予它一個在Allperson的值,找到這個文件下的OpenPerson函數(shù)。將其中的內(nèi)容賦值叫map,最后輸出到界面。(如圖17、圖18所示)。二已A結(jié)瓶產(chǎn)請情卷觸產(chǎn)條數(shù)元0姓名芹燕某她址材賣圖17查詢凍結(jié)圖磁辦州制每子且與結(jié)解戶七正其獨廣,2主38湘產(chǎn)名融盧本斷無:踏書煙震寧多籠需冊廣他無河區(qū)廣他子同區(qū)牌做證密用要用群用船用盤用密用商用圖18啟用賬戶圖【開戶】按鈕實現(xiàn)過程為:首先聲明一個SubmitInfo的公共類,將它設(shè)置在一個叫personvo的對象里面,對里面的用戶名設(shè)置權(quán)限,其中i=0為初始值,i<=4000,名字可以用中文和英文,其他約束條件還有:personV0.setCardid("47546119930457"personVO.setTelephone("1557594"+(1000personVO.setSex(rd+"personService.submitInfo(perso如果沒有達(dá)到條件,則顯示數(shù)據(jù)插入失敗,具體實現(xiàn)界面如圖19所示。答用戶名兩年齡;性觸圖19開戶功能圖3.6工具欄3.6工具欄【注銷】的功能:退出信息管理,連接到login界面?!炬i屏】【解鎖】按鈕的實現(xiàn)過程:鎖屏?xí)r使用getlock()方法,將頁面不可實現(xiàn)跳轉(zhuǎn)。解鎖時使用unlockSubmit()方法,首先判斷獲得一個close的命令,出現(xiàn)解鎖提示,跳轉(zhuǎn)并使用getuserName()方法,連接到登錄界面,輸入密碼后,查詢對應(yīng)表單的密碼是否正確,正確(如圖20和圖21所示)信用卡管理系統(tǒng)1rm產(chǎn)行圖20工具欄展示圖解鎖密碼:圖21解鎖界面圖4系統(tǒng)運(yùn)行與調(diào)試4.3系統(tǒng)的調(diào)試程序調(diào)試是在程序運(yùn)行之前,利用人工的方法,例如手動編譯的方法對代碼進(jìn)行修改,可以修正代碼在邏輯和語法上的一些錯誤。在這個過程中可以完善程序的可讀性,將程序出現(xiàn)錯誤的地方進(jìn)行修改,要保證運(yùn)行和調(diào)試時都不會出錯。程序?qū)τ谡Z法和邏輯的要求是非常高的,就算運(yùn)行成功,但是一旦出現(xiàn)問題,整個系統(tǒng)就會崩潰。例如游戲的一些服務(wù)器卡頓瞬間,都是代碼的不完善導(dǎo)致的。如果可以根據(jù)測試時所發(fā)現(xiàn)的錯誤,進(jìn)一步診斷,找出出錯誤位置進(jìn)行修正,那么就能減少后期會出現(xiàn)的風(fēng)險問題。修改代碼是十分復(fù)雜的,因此要在代碼完成時立刻進(jìn)行檢測。在常見的調(diào)試中,我們通常會出(1)在程序中插入簡單的測試語句或者打印。這樣方便對源程序進(jìn)行調(diào)試,但是缺點是效率低,再每一次的打印后會生成一些無關(guān)的數(shù)據(jù),這個過程是十分復(fù)雜的,因此不可取。當(dāng)然,我們依舊可以做到在每一個語句后面加入一個return測試,例如:publicStringtoLog(2)運(yùn)行部分程序。有時只是一段代碼的的問題,如果整個程序運(yùn)行的話十分消耗時間和精力,因此我們可以運(yùn)行部分代碼,以此提高效率。第一步在這里顯然就有些復(fù)雜了,因為打印的效率低,我們需要將每一個語句一遍遍打印,所有后面的我實行了一次性的運(yùn)行,將一個版塊的程序?qū)懲旰缶瓦\(yùn)行一次,這樣提高第一步驟中效率低的問題。其中最突出的問題就是大小寫的字母大寫,我們可以直接等軟件提示,因為每一個正確的代碼,他都會提示所有調(diào)用的函數(shù)。借助自帶的調(diào)試工具。一般來說,程序設(shè)計語言都有專門的調(diào)試工具,調(diào)試的人員可以用這些工具來分析程序的動態(tài)行為。Java可以利用debug來進(jìn)行最后的調(diào)試。由于本項目最后的運(yùn)行十分順利所以沒有用到調(diào)試工具。本次的畢業(yè)設(shè)計完成了用戶存款和取款的一系列銀行卡最基本的功能,基本上滿足了銀行對通過本次的畢業(yè)設(shè)計,我對Java和數(shù)據(jù)庫技術(shù)的相關(guān)知識有了更深刻的了解,現(xiàn)在的我已經(jīng)能夠運(yùn)用sql語言和使用Java程序來訪問Access數(shù)據(jù)庫。在計算機(jī)流行的時代,掌握J(rèn)ava崗位。當(dāng)然,我們所學(xué)的知識還是遠(yuǎn)遠(yuǎn)不夠的。在課余之際,我也看了很多關(guān)于java語言的知識,學(xué)好一門計算機(jī)語言并不是那么簡單的。該設(shè)計還是存在著很多問題的,比如在設(shè)計程序的符流的異常,在上網(wǎng)查詢后才發(fā)現(xiàn)是數(shù)據(jù)庫里設(shè)置數(shù)據(jù)景中,不需要把所有字段都設(shè)置的非常長,這會造成短暫的資源浪費,導(dǎo)致輸入的字符被截斷,因此要檢查管理員的登錄狀態(tài),或者唯一甚至多個管理員的信息狀態(tài)。如果出現(xiàn)密碼正確,用戶名正確的情況下,依舊登錄不了,那一定是信息凍結(jié)在接下來的系統(tǒng)調(diào)試階段,單獨運(yùn)行程序時背景圖片還存在,但是打包后運(yùn)行文件時就沒有圖片了,經(jīng)過咨詢后發(fā)現(xiàn)圖片不僅要放在當(dāng)前文件夾下,還要放在另外的文件夾中,后圖片就顯示了。調(diào)試階段的一些語法錯誤也給我留下了深刻的印象,在編寫代碼時要細(xì)心。在最后階段,我還學(xué)會了附加數(shù)據(jù)庫文件,如果該系統(tǒng)被使用在數(shù)據(jù)庫中,就可以使得數(shù)據(jù)庫文件隨身攜帶,從別的數(shù)據(jù)庫分離,直接附加到自己的考慮到了用戶的問題,在操作上,我沒有設(shè)置很多復(fù)雜的鍵位以及閱讀障礙的文字,使得該系統(tǒng)致謝在吝維軍老師和同組成員的幫助下,大學(xué)的畢業(yè)設(shè)計算是完成了,在此過程但是都得以解決。因此,我要感謝吝維軍老師不厭其煩的講解和幫我糾錯,改錯;感謝同組成員認(rèn)真的幫我解決一些程序上的錯誤,還要感謝論文組對畢業(yè)論文的審核與驗收。本論文是在導(dǎo)師吝維軍指導(dǎo)下完成收尾,由于疫情的影響,吝維軍多次在還需要上網(wǎng)課的情況下抽出時間給我們開會。交代了下一個階段需要完成的任務(wù),并細(xì)心修改查閱了四遍論文稿。其中在知道我們第二個階段任務(wù)時,不厭其煩的將修改幾次的文案幫我審查,使我掌握了基本的研究方法,在以后的生活中也有一個準(zhǔn)則。最后有同學(xué)因為考研不能修改時,老師還特意親子修改,這是一位值得尊敬的老師。本論文從選題到完成,都少不了導(dǎo)師的幫忙。在此,向?qū)煴硎綶1]??藸?美).Java編程思想[M].北京:機(jī)械工業(yè)出版社,2007.4[2]鐘啟泉.學(xué)習(xí)環(huán)境設(shè)計:框架與課題[J].教育研究,2015.1[3]李東海.Access2007數(shù)據(jù)庫辦公應(yīng)用[M].北京:科海電子出版社,2010.1[4]張永常.Java程序設(shè)計實用教程[M].北京:電子工業(yè)出版社,2006.8[5]耿祥義,張躍平.Java2實用教程[M].[6]趙文靖.Java程序設(shè)計基礎(chǔ)與上機(jī)指導(dǎo)[M].北京:清華大學(xué)出版社,2006.6[7]朱福喜.Java語言程序設(shè)計[M].北京:清華大學(xué)出版社,2005.1[8]李興華.Java開發(fā)實戰(zhàn)經(jīng)典[M].北京:清華大學(xué)出版社,2009.8[9]張帆.Java范例開發(fā)大全[M].北京:清華大學(xué)出版社,2010.6[10]陳佛敏.Access2003數(shù)據(jù)庫應(yīng)用教程[M].湖北:華中科技大學(xué)出版社,2010.1[11]邵麗萍,邵光亞,張后揚(yáng).Java語言程序設(shè)計[M].北京:清華大學(xué)出版社,2008.8[12]譚浩強(qiáng).c程序設(shè)計[M].北京:清華大學(xué)出版社,2010.6[13]嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)[M].北京:清華大學(xué)出版社,1999.2[14]雷景生.數(shù)據(jù)庫原理及應(yīng)用[M].北京:清華大學(xué)出版社,2012.1[15]寶玉,楊潔,賀志強(qiáng),王曉湘.信息論基礎(chǔ)[M].北京:人民郵電出版社,2008.8附錄部分核心代碼packagetk.mybatis.springbopublicclassWebMvcConfigepublicvoidaddResourceHandlers(ResourceHandlerRegistryregistry){registry.addResourceHandler("/static/**").addResourceLocations("cl}}packagetk.mybatis.springboot.controller;org.springframework.sterorg.springframework.web.bind.annotapublicclassInitControllerpublicStringtolndex(){}@RequestMapping(value="/toLogin")packagetk.mybatis.springboot.controller;privateLoginServiceloginService;return"/personinfo/pas}}}packagetk.mybatis.springboot.cpublicclassMprivateMenuServiAccountaccount=(Account)sessList<MenuVo>menuList=menuService.getAll(menu,account);}packagetk.mybatis.springboot.cpublicclassPersonController{privatePersonServicepersonService;//跳轉(zhuǎn)凍結(jié)賬戶頁面}//跳轉(zhuǎn)開戶頁面//跳轉(zhuǎn)啟用賬戶頁面publicStringshowOpen}//獲取所有人員信息publicMap<String,Object>getAllPerson(PersonVOpersonVO){List<PersonVO>personVOList=personService.getAlinttotal=personService.counMap<String,Object>map=newmap.put(“rows”,person//修改狀態(tài)信息publicJsonResult<Integer>changeStatus(HttpServletRequestresult=personService.changeStatus(newJsonResult<Integer>(result);}//刪除個人信息publicJsonResult<Integer>deleteInfo(HttpServletRequestreturnnewJsonResult<Integer>(result);publicMap<String,Object>getStopPerson(Persinttotal=personService.countAllPerson(personVO);Map<String,Object>map=newHasmap.put("rows",personVpersonvu,publicMap<String,Object>getOpenPerson(personvu,inttotal=personService.countAllPerson(personVO);Map<String,Object>map=newHashMap<>();map.put("rows",personVpublicJsonResult<Integer>submitInfo(Per/*for(inti=0;i<4000personVO.setRealname("秦菜菜"+i);personVO.setCardid("47546119930457"+(1000+personV0.setSex(rd+")}FileUtil.downloadFile(response,personService.get}file,HttpServletResponseresponse)throwsException{}}List<List<String>>list=importExecl.read(file.getInputStreinti=personService.importExcel(return"數(shù)據(jù)上傳失敗";}packagetk.mybatis.springboot.contpublicclassTransactionControlleprivateTransactionServicetransactionService;}//顯示取款頁面@RequestMapping(value="/showWithdrawals")publicStringshowwithdrawal}//顯示轉(zhuǎn)賬頁面@RequestMapping(value="/showTransfer")}}//存款@RequestMapping(value="/save",method=RequestMethod.POST)publicJsonResult<Integer>saveMoney(TransactiontransJsonResult<Integer>jsonResult=newJsonResuAccountaccount=(Account)session.getAttribute("accountAccounttemp=(Account)session.getAttrintn=transactionService.saveMojsonResult.setState(0);jsonResult.setData(n);jsonResult.setState(1);jsonResult.setMessage(}}returnjsonResult;//查看交易記錄//根據(jù)session找到所有的交易記錄,返回trans列表@RequestMapping(valuepublicMap<String,Object>getAllTrans(Transactiontransaction,HttpServletRequest//Stringtype=request.getParaAccountaccount=(Account)request.getSession).getAttribute("account");List<Transaction>transactionstransactionService.getAllTrans(transaction,account,}packagetk.mybatis.springboimporttk.mybatis.springimporttk.mybatis.sprpublicinterfaceAccountMapperex)packagetk.mybatis.springboot.mimporttk.mybatis.springboot.model.Account;importtk.mybatis.springboot.util.MyMapper;publicinterfaceLoginMapperextendsMyMapper<Account>{packagetk.mybatis.springboot.mimporttk.mybatis.springboot.modelimporttk.mybatis.springboot.util.MyMapper;publicinterfaceMenuMapperextendsMyMapackagetk.mybatis.springboList<PersonVO>getAllPerson(@Param("rows")introws,@PaintcountAllPerson(@Param("status")String}packagetk.mybatis.springboot.mimportorg.apache.ibatiimporttk.mybatis.springbimporttk.mybatis.springboot.util.MyMapper;importjava.util.Date;importjava.util.List;@Param("endTime")packagetk.mybatis.springboot.service;privatePersoninfoMapperpersoninfoMapper;publicAccountfindByUser(AccountuserInfo.setBalance(Accountaccount=loginMapp二二loginMapper.selectUserByUsernameAndPassword(uuserInfo.getPassword}}/*if(!account.getRole().equalslgnoreCase(userInfo.greturnloginMapper.update丁publicPersonfindByPerson(Personperson)throwsException{Personpersons=personinfoMapper.selectOne(person);}}publicintupdatePerson(Personperson){returnpersoninfoMapper.updateByPrimaryKey(person)}packagetk.mybatis.springboot.service;privateMenuMappermenuMapper;publicList<MenuVo>getAll(Menuselmenu,Accountaccount){}Example.Criteriacriteria=eif(selmenu.getMenutype()==1l|selmecriteria.andLike("menutype","%"+selList<Menu>list=menuMapper.sif("".equalsIgnoreCase(m了}parseParentAndChilren(mainList,su}privatevoidparseParentAndChilren(List<MenuVo>mainList,List<MenuVo>subList){List<MenuVo>list=newArrayList<>();if(main.getId().equalsIgnoreCase(s}電腦快捷知識大全編輯本段F1顯示當(dāng)前程序或者windows的幫助內(nèi)容。F2當(dāng)你選中一個文件的話,這意味著“重命名”F3當(dāng)你在桌面上的時候是打開“查找:所有文件”對話框粘貼剪貼板中的內(nèi)容到當(dāng)前位置撤銷上一步的操作重做上一步被撤銷的操作Windows鍵+L鎖屏鍵打開資源管理器打開“查找:所有文件”對話框打開“運(yùn)行”對話框SHIFT+F10或鼠標(biāo)右擊打開當(dāng)前活動項目的快捷菜單SHIFT在放入CD的時候按下不放,可以跳過自動播放CD。在打開word的時候按下不放,可以跳過自啟動的宏打開程序最左上角的菜單窗口在窗口和全屏幕狀態(tài)間切換PRINTSCREEN將當(dāng)前屏幕以圖象方式拷貝到剪貼板將當(dāng)前活動程序窗口以圖象方式拷貝到剪貼板CTRL+F4關(guān)閉當(dāng)前應(yīng)用程序中的當(dāng)前文本(如word中)CTRL+F6切換到當(dāng)前應(yīng)用程序中的下一個文本(加shift可以跳到前一個窗口)顯示前一頁(前進(jìn)鍵)顯示后一頁(后退鍵)在頁面上的各框架中切換(加shift反向)F5刷新目的快捷鍵激活程序中的菜單欄F10執(zhí)行菜單上相應(yīng)的命令A(yù)LT+菜單上帶下劃線的字母關(guān)閉多文檔界面程序中的當(dāng)關(guān)閉當(dāng)前窗口或退出程序ALT+F4顯示所選對話框項目的幫助F1顯示當(dāng)前窗口的系統(tǒng)菜單ALT+空格鍵顯示所選項目的快捷菜單SHIFT+F10顯示“開始”菜單CTRL+ESC顯示多文檔界面程序的系統(tǒng)切換到上次使用的窗口或者切換到另一個窗口ALT+TAB編輯本段二、使用“Windows資源管理器”的快捷鍵目的快捷鍵如果當(dāng)前選擇展開了,要折疊或者選擇父文件夾左箭頭如果當(dāng)前選擇折疊了,要展開或者選擇第一個子文件夾右箭頭在左右窗格間切換F6編輯本段可以使用Microsoft自然鍵盤或含有Windows徽標(biāo)鍵的其他任何兼容鍵盤目的快捷鍵撤消最小化所有窗口SHIFT+WINDOWS+M編輯本段四、“我的電腦”和“資源管理器”的快捷鍵關(guān)閉所選文件夾及其所有父文件夾按住SHIFT鍵再單擊“關(guān)閉按鈕(僅適用于“我的電腦”)編輯本段五、使用對話框中的快捷鍵目的快捷鍵取消當(dāng)前任務(wù)ESC如果當(dāng)前控件是個按鈕,要單擊該按鈕或者如果當(dāng)前控件是個復(fù)選框,要選擇或清除該復(fù)選框或者如果當(dāng)前控件是個選項按鈕,要單擊該選項空格鍵單擊相應(yīng)的命令A(yù)LT+帶下劃線的字母在選項上向后移動SHIFT+TAB在選項卡上向后移動CTRL+SHIFT+TAB在選項卡上向前移動CTRL+TAB如果在“另存為”或“打開”對話框中選擇了某文件夾,在“另存為”或“打開”對話框中打開“保存到”或“查閱”F4刷新“另存為”或“打開”對話框F5六、桌面、我的電腦和“資源管理器”快捷鍵選擇項目時,可以使用以下快捷鍵。目的快捷鍵插入光盤時不用“自動播放”復(fù)制文件按住CTRL拖動文件“回收站”顯示“查找:所有文件”F3刷新窗口的內(nèi)容F5重命名項目F2他兼容鍵編輯本段這里運(yùn)用Windows徽標(biāo)鍵和其他鍵的組合??旖萱I目的將屏幕復(fù)制到剪貼板(包括鼠標(biāo)光標(biāo))將屏幕復(fù)制到剪貼板(不包括鼠標(biāo)光標(biāo))Windows徽標(biāo)+向上箭頭增加放大率Windows徽標(biāo)+向下箭頭減小放大率編輯本段目的快捷鍵切換粘滯鍵開關(guān)SHIFT鍵五次Alt+S快速回復(fù)Alt+C關(guān)閉當(dāng)前窗口Alt+H打開聊天記錄Alt+T更改消息模式Ait+J打開聊天紀(jì)錄Ctrl+A全選當(dāng)前對話框里的內(nèi)容Ctrl+FQQ里直接顯示字體設(shè)置工具條Ctrl+J輸入框里回車(跟回車一個效果)Ctrl+M輸入框里回車(跟回車一個效果)Ctrl+L對輸入框里當(dāng)前行的文字左對齊Ctrl+R對輸入框里當(dāng)前行的文字右對齊Ctrl+E對輸入框里當(dāng)前行的文字居中Ctrl+V在qq對話框里實行粘貼Ctrl+Z清空/恢復(fù)輸入框里的文字Ctrl+回車快速回復(fù)這個可能是聊QQ時最常用到的了Ctrl+Alt+Z快速提取消息最常用的快捷鍵F5刷新DELETE刪除TAB改變焦點CTRL+C復(fù)制CTRL+X剪切CTRL+V粘貼CTRL+A全選CTRL+Z--ALT+F4關(guān)閉CTRL+Y恢復(fù)ALT+TAB切換CTRL+F5強(qiáng)制刷新CTRL+W關(guān)閉CTRL+F查找CTRL+空格--中英文輸入切換CTRAlt+1保存當(dāng)前表單Alt+2保存為通用表單Alt+A展開收藏夾列表資源管理器數(shù)字鍵盤的減號(-)折疊所選的文件夾NUMLOCK+數(shù)字鍵盤的加號(+)顯示所選文件夾的內(nèi)容數(shù)字鍵盤的星號(*)顯示所選文件夾的所有子文件夾向左鍵當(dāng)前所選項處于展開狀態(tài)時折疊該項,或選定其父文件夾向右鍵當(dāng)前所選項處于折疊狀態(tài)時展開該項,或選定第一個子文件夾【窗口】顯示或隱藏“開始”菜單【窗口】+F1幫助【窗口】+D顯示桌面【窗口】+R打開“運(yùn)行”【窗口】+E打開“我的電腦”【窗口】+F搜索文件或文件夾【窗口】+U打開“工具管理器”【窗口】+BREAK顯示“系統(tǒng)屬性”【窗口】+TAB在打開的項目之間切換輔助功能按右邊的SHIFT鍵八秒鐘切換篩選鍵的開和關(guān)按SHIFT五次切換粘滯鍵的開和關(guān)五秒鐘切換切換鍵的開和關(guān)運(yùn)行按“開始”—“運(yùn)行”,或按WIN鍵+R,在『運(yùn)行』窗口中輸入:(按英文字符順序排列)……C:\DocumentsandSettings\用戶名

溫馨提示

  • 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

提交評論