銀行賬戶管理系統(tǒng)樣本_第1頁
銀行賬戶管理系統(tǒng)樣本_第2頁
銀行賬戶管理系統(tǒng)樣本_第3頁
銀行賬戶管理系統(tǒng)樣本_第4頁
銀行賬戶管理系統(tǒng)樣本_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

文獻(xiàn)綜述一、概述ATM自動(dòng)取款機(jī)是由計(jì)算機(jī)控制持卡人自我服務(wù)型金融專用設(shè)備。ATM是英文AutomaticTellerMachine縮寫。ATM是最普遍自助銀行設(shè)備,可以提供最基本銀行服務(wù)之一,即出鈔交易,有些全功能產(chǎn)品還可以提供信封存款業(yè)務(wù)。在ATM自動(dòng)取款機(jī)上也可以進(jìn)行賬戶查詢、修改密碼和轉(zhuǎn)賬業(yè)務(wù)。同步在制作這個(gè)系統(tǒng)過程中也應(yīng)用了數(shù)據(jù)庫知識(shí),這個(gè)相對(duì)于想從事軟件開發(fā)人來說是比較重要內(nèi)容,這個(gè)也是本次設(shè)計(jì)重點(diǎn)知識(shí),同步數(shù)據(jù)庫鏈接是必要要學(xué)會(huì),由于這個(gè)是最核心內(nèi)容,培養(yǎng)自己堅(jiān)實(shí)邏輯表達(dá)能力和溝通能力,和培養(yǎng)自己良好文案能力,規(guī)定掌握ATM取款機(jī)詳細(xì)工作原理以及java簡(jiǎn)樸系統(tǒng)設(shè)計(jì)辦法。二、內(nèi)容(一)ATM研究現(xiàn)狀眾所周知隨著信息時(shí)代科技飛速發(fā)展和隨著全球金融行業(yè)興起,使用ATM取款機(jī)、計(jì)算機(jī)信息技術(shù)以及計(jì)算機(jī)科學(xué)技術(shù)發(fā)展,給人們生活帶來了翻天覆地變化,同步這些技術(shù)在人們生活中運(yùn)用,隨著科學(xué)技術(shù)進(jìn)步,經(jīng)營(yíng)方式轉(zhuǎn)變,解決信息系統(tǒng)內(nèi)容和形式也在發(fā)生變化。當(dāng)前,以計(jì)算機(jī)和通信技術(shù)為基本信息系統(tǒng)正處在蓬勃發(fā)展時(shí)期,ATM取款系統(tǒng)可充分運(yùn)用網(wǎng)絡(luò)技術(shù)和數(shù)據(jù)庫技術(shù)發(fā)展,形成一種全新運(yùn)作方式。隨著因特網(wǎng)形成和發(fā)展,基于網(wǎng)絡(luò)技術(shù)信息系統(tǒng)除了它老式功能外,實(shí)現(xiàn)了特定地方刷卡消費(fèi)等。不但提高了銀行業(yè)務(wù)解決能力,并且大大節(jié)約了人們?nèi)″X所耗費(fèi)時(shí)間和價(jià)值;并且在有效防止了某些非法業(yè)務(wù)操作,對(duì)于某些復(fù)雜信息,就可以充分發(fā)揮它們優(yōu)越性。據(jù)悉,中華人民共和國(guó)近來幾年ATM增長(zhǎng)速度維持在10%以上,而世界其他國(guó)家ATM增長(zhǎng)率大體為3%。當(dāng)前,中華人民共和國(guó)已經(jīng)成為全球最大ATM市場(chǎng)。但是,市場(chǎng)研究機(jī)構(gòu)同步以為,國(guó)內(nèi)此后幾年發(fā)展勢(shì)頭將較過去幾年慢下來,不再維持過去兩位數(shù)高增長(zhǎng)率,由于大都市ATM擁有量已達(dá)一定限度,而二線都市ATM則需要一定配套設(shè)施方能開始高速度發(fā)展。當(dāng)前,國(guó)內(nèi)ATM最多只有七八種功能,相對(duì)于其他國(guó)家,如新加坡,功能的確少某些。新加坡ATM交易功能多達(dá)40各種。在發(fā)達(dá)國(guó)家,各種新技術(shù)應(yīng)用于ATM,使ATM使用更加便捷,功能也更多。持卡人無需攜帶銀行卡,虹膜辨認(rèn)、手紋辨認(rèn)ATM可通過辨認(rèn)客戶獨(dú)有生物特性進(jìn)行交易。借助無線通ATM,持卡人可以遠(yuǎn)程在手機(jī)上先行操作交易,并在ATM上按最后一種交易指令。此外,有ATM可以打印彩色地圖、銷售電影票和郵票等。從技術(shù)上講,這些最先進(jìn)ATM隨時(shí)可以提供應(yīng)中華人民共和國(guó)商業(yè)銀行。但ATM是一種終端,其功能需要銀行主機(jī)配合。并且中華人民共和國(guó)銀行業(yè)正對(duì)外資銀行加速開放,進(jìn)入中華人民共和國(guó)外資銀行此后一定會(huì)將最新ATM帶入中華人民共和國(guó)。(二)ATM取款機(jī)系統(tǒng)影響ATM取款機(jī)誕生可以說是世界金融行業(yè)一大進(jìn)步,也是歷史性轉(zhuǎn)折點(diǎn)。ATM自動(dòng)取款機(jī)不但能提高了銀行業(yè)務(wù)解決能力,還能大大節(jié)約人們?nèi)″X所耗費(fèi)時(shí)間和價(jià)值;并且在有效防止了某些非法業(yè)務(wù)操作,對(duì)于某些復(fù)雜信息,就可以充分發(fā)揮它們優(yōu)越性。ATM系統(tǒng)對(duì)金融業(yè)變革產(chǎn)生了和正在產(chǎn)生著深遠(yuǎn)影響。從當(dāng)代金融業(yè)新概念來看,ATM系統(tǒng)就是電子信息技術(shù)在金融業(yè)金融管理一種應(yīng)用。它避免了對(duì)于顧客信息資料、以及資金記錄等用人工辦理。數(shù)據(jù)信息解決工作量大,繁瑣,數(shù)據(jù)解決手工操作,工作量大,工作時(shí)需實(shí)時(shí)認(rèn)真辦理,一但浮現(xiàn)錯(cuò)誤將帶來很大損失。從而解決了顧客信息和資金信息繁雜問題,對(duì)于ATM取款系統(tǒng)數(shù)據(jù)記錄和核算等都是采用卡號(hào)進(jìn)行核對(duì),進(jìn)而實(shí)現(xiàn)了數(shù)據(jù)精確性、完整性、及時(shí)性,避免了工作人員和管理員工作時(shí)間一長(zhǎng),再進(jìn)行查詢,就得在眾多資料中翻閱、查找了,導(dǎo)致查詢費(fèi)時(shí)、費(fèi)力。同步也得顧客可以安全進(jìn)行操作,便捷,迅速進(jìn)行取款以及完畢某些商業(yè)上交易,大大提高辦公效率,可以及時(shí)、精確、有效幫顧客辦理各種繁瑣手續(xù),也減緩了銀行工作人員壓力。(三)ATM自動(dòng)取款機(jī)系統(tǒng)展望近年來國(guó)內(nèi)信息產(chǎn)業(yè)發(fā)展迅速,手工管理方式在銀行帳目管理等需要大量事務(wù)解決應(yīng)用中已顯得不相適應(yīng),采用IT技術(shù)提高服務(wù)質(zhì)量和管理水平勢(shì)在必行。當(dāng)前,對(duì)外開放必然趨勢(shì)使銀行業(yè)直面外國(guó)銀行巨頭直接挑戰(zhàn),因而,銀行必要提高其工作效率,改進(jìn)其工作環(huán)境。這樣,帳戶管理信息化也勢(shì)在必行。此外,ATM需要是更高人性化和更強(qiáng)大中間業(yè)務(wù),當(dāng)前ATM都是穿墻或者是大堂,如果要重新設(shè)計(jì)話,可以設(shè)計(jì)更輕便但是又安全ATM,例如說可以放在汽車上,火車上,甚至是飛機(jī)上。將來ATM應(yīng)當(dāng)不是按鍵式,也許會(huì)發(fā)展成語音操作式,只要人機(jī)語音對(duì)話就能實(shí)現(xiàn),這對(duì)某些殘障人士更有協(xié)助。(四)開發(fā)語言和開發(fā)平臺(tái)選取與簡(jiǎn)介本文運(yùn)用面向?qū)ο箝_發(fā)辦法,聯(lián)系實(shí)際ATM應(yīng)用界面,采用MyEclipse開發(fā)工具,以windows7操作系統(tǒng)、MySql小型數(shù)據(jù)庫為后臺(tái)以及運(yùn)用java語言和通過實(shí)現(xiàn)JDBC數(shù)據(jù)庫連接開發(fā)出了一套模仿自動(dòng)取款機(jī)系統(tǒng)。Java是一種可以撰寫跨平臺(tái)應(yīng)用軟件面向?qū)ο蟪绦蛟O(shè)計(jì)語言,是由SunMicrosystems公司于1995年5月推出Java程序設(shè)計(jì)語言和Java平臺(tái)(即JavaSE,JavaEE,JavaME)總稱。Java技術(shù)具備卓越通用性、高效性、平臺(tái)移植性和安全性,廣泛應(yīng)用于個(gè)人PC、數(shù)據(jù)中心、游戲控制臺(tái)、科學(xué)超級(jí)計(jì)算機(jī)、移動(dòng)電話和互聯(lián)網(wǎng),同步擁有全球最大開發(fā)者專業(yè)社群。在全球云計(jì)算和移動(dòng)互聯(lián)網(wǎng)產(chǎn)業(yè)環(huán)境下,Java更具備了明顯優(yōu)勢(shì)和遼闊前景。MySQL是一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQLAB公司開發(fā),當(dāng)前屬于Oracle公司。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同表中,而不是將所有數(shù)據(jù)放在一種大倉庫內(nèi),這樣就增長(zhǎng)了速度并提高了靈活性。MySQLSQL語言是用于訪問數(shù)據(jù)庫最慣用原則化語言。MySQL軟件采用了雙授權(quán)政策(本詞條“授權(quán)政策”),它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,特別是開放源碼這一特點(diǎn),普通中小型網(wǎng)站開發(fā)都選取MySQL作為網(wǎng)站數(shù)據(jù)庫。由于其社區(qū)版性能卓越,搭配PHP和Apache可構(gòu)成良好開發(fā)環(huán)境。MyEclipse公司級(jí)工作平臺(tái)(MyEclipseEnterpriseWorkbench,簡(jiǎn)稱MyEclipse)是對(duì)EclipseIDE擴(kuò)展,運(yùn)用它咱們可以在數(shù)據(jù)庫和JavaEE開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器整合方面極大提高工作效率。它是功能豐富JavaEE集成開發(fā)環(huán)境,涉及了完備編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse是一種十分先進(jìn)用于開發(fā)Java,J2EEEclipse插件集合,MyEclipse功能非常強(qiáng)大,支持也十分廣泛,特別是對(duì)各種開源產(chǎn)品支持十分不錯(cuò)。MyEclipse當(dāng)前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC數(shù)據(jù)庫鏈接工具等多項(xiàng)功能。可以說MyEclipse幾乎囊括了當(dāng)前所有主流開源產(chǎn)品專屬eclipse開發(fā)工具。總結(jié)本文運(yùn)用java語言面向?qū)ο?、跨平臺(tái)、分布應(yīng)用等特點(diǎn),采用MyEclipse開發(fā)工具,以windows7操作系統(tǒng)、MySql數(shù)據(jù)庫為后臺(tái)開發(fā)出了一套自動(dòng)取款機(jī)系統(tǒng),基本上實(shí)現(xiàn)了賬戶查詢、修改密碼、轉(zhuǎn)賬和取款等業(yè)務(wù)。隨著計(jì)算機(jī)技術(shù)飛速發(fā)展及其應(yīng)用領(lǐng)域擴(kuò)大,特別是計(jì)算機(jī)網(wǎng)絡(luò)和電子商務(wù)發(fā)展,極大地變化了商業(yè)銀行老式經(jīng)營(yíng)和管理模式??捎X得客戶提供以便、快捷、安全服務(wù),也能有效減少銀行運(yùn)營(yíng)成本,這是銀行管理系統(tǒng)追求目的。當(dāng)前,對(duì)于當(dāng)代化銀行運(yùn)營(yíng)規(guī)定是客戶可以實(shí)現(xiàn)隨時(shí)隨處業(yè)務(wù)交易,銀行職工可以進(jìn)行高效合理工作管理,實(shí)現(xiàn)銀行業(yè)務(wù)電子化。參照文獻(xiàn)[1]孫衛(wèi)琴.Java面向?qū)ο蟪绦蛟O(shè)計(jì)[M].北京:電子工業(yè)出版社,.7[2]王國(guó)輝,呂海濤.Java數(shù)據(jù)庫系統(tǒng)開發(fā)案例精選[M].北京:人民郵電出版社[3]陳國(guó)君,陳錫禎.Java2程序設(shè)計(jì)基本[M].北京:清華大學(xué)出版社[4]袁海燕.Java實(shí)用程序設(shè)計(jì)100例[M].北京:人民郵電出版社[5]朱站立、沈偉.Java程序設(shè)計(jì)實(shí)用教程[M].電子工業(yè)出版社[6]印旻編、許偉.Java2從入門到精通[M].北京:清華大學(xué)出版社[7]楊樹林,胡潔萍.Java語言最新實(shí)用案例教程.北京:清華大學(xué)出版社,.7:141–232[8]李剛等.Java數(shù)據(jù)庫技術(shù)詳解.北京:化學(xué)工業(yè)出版社,.7[9][美]LiangYD.Java語言程序設(shè)計(jì).王鎂,等譯.北京:機(jī)械工業(yè)出版社,.[10][美]KathyWalrath等.JFCSwing原則教材.北京:電子工業(yè)出版社,.[11]鄭莉,王言行,馬素霞.Java語言程序設(shè)計(jì).北京:清華大學(xué)出版社,.[12]朱喜福,林建民,唐永新.Java程序設(shè)計(jì).北京:人民郵電出版社,.[13]朱喜福.Java程序設(shè)計(jì).北京:清華大學(xué)出版社,.摘要:21世紀(jì)是催人奮進(jìn)時(shí)代,科學(xué)技術(shù)飛速發(fā)展,金融業(yè)ATM取款機(jī)誕生可以說是世界金融行業(yè)中一大進(jìn)步,更是其發(fā)展歷史性轉(zhuǎn)折點(diǎn)。本文以實(shí)際提款機(jī)應(yīng)用為背景,闡述了系統(tǒng)開發(fā)過程開發(fā)辦法、系統(tǒng)分析和普通環(huán)節(jié)。全文共分為ATM系統(tǒng)綜述、ATM系統(tǒng)開發(fā)辦法、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)和系統(tǒng)維護(hù)與評(píng)價(jià)七個(gè)某些,運(yùn)用JAVA語言強(qiáng)大功能,并具備面向?qū)ο箝_發(fā)等特點(diǎn),聯(lián)系實(shí)際ATM應(yīng)用界面,采用MyEclipse開發(fā)工具,以windows7操作系統(tǒng)、MySQL數(shù)據(jù)庫為后臺(tái)開發(fā)出了一套自動(dòng)取款機(jī)系統(tǒng),基本上實(shí)現(xiàn)了賬戶查詢、修改密碼、轉(zhuǎn)賬和取款等業(yè)務(wù)。針對(duì)這一系列問題,咱們運(yùn)用JAVA語言在MyEclipse下設(shè)計(jì)了這樣一種系統(tǒng),使得顧客可以安全進(jìn)行操作,便捷,迅速進(jìn)行取款以及完畢某些商業(yè)上交易,大大提高辦公效率,可以及時(shí)、精確、有效幫顧客辦理各種繁瑣手續(xù),也減緩了銀行工作人員壓力。核心字:ATMJavaMyEclipseMySQLAbstract:The21stcenturyistheeraofinspiring.Withtherapiddevelopmentofscienceandtechnology,thebirthoftheATMcashmachinesinthefinancialindustrydeservestobecalledatremendousprogressandahistoricturningpointintheworld'sfinancialindustry.Thispaperdescribedthesystemdevelopmentprocess,systemanalysisandgeneralstepsofthedevelopmentmethodology.ThispaperiscomposedbytheATMsystem,theATMsystemdevelopmentmethodology,systemanalysis,systemdesign,systemimplementationandsystemmaintenance,andevaluation.Takegoodadvantageofthepowerfulfeaturesandthecharacteristicsofobject-orienteddevelopmentoftheJAVAprogramminglanguage,usingMyEclipsedevelopmenttools,window7operatingsystem,MySqldatabaseasabackgroundtodevelopanautomatictellermachinesystem,andbasicallyrealizedaccountinquiries,modifypassword,transfersandwithdrawalsbusiness.Forthisseriesproblem,weuseJAVAlanguagetodesignsuchasysteminthetheMyEclipseenvironmentsothattheusercanoperatesafelyandconveniently.Besides,notonlyitcanfastenthecompletionofcommercialtransactions,butalsogreatlyimprovingtheefficiencyoftheoffice,.Mostimportantofall,ATMcantimelyandaccurateeffectivelyhelpusershandlethecumbersomeprocedures,andalsoslowdownthepressureofthebankstaff.Keywords:ATMJavaMyEclipseMySQL目錄TOC\o"1-3"\h\u264目錄 1150541.ATM系統(tǒng)開發(fā)辦法 1222671.1系統(tǒng)辦法概述 1184071.2本系統(tǒng)用法概述 2325122.系統(tǒng)分析 2280442.1系統(tǒng)初步調(diào)查 246252.2可行性研究 243402.3系統(tǒng)詳細(xì)調(diào)查及提出 3225683.系統(tǒng)設(shè)計(jì) 6233923.1開發(fā)環(huán)境 666353.2系統(tǒng)總體構(gòu)造設(shè)計(jì) 7198793.3系統(tǒng)詳細(xì)設(shè)計(jì) 9195973.3.1數(shù)據(jù)庫設(shè)計(jì) 922973.3.2界面模塊設(shè)計(jì) 10210034.系統(tǒng)實(shí)現(xiàn) 18160724.1程序設(shè)計(jì)與調(diào)試 1861184.1.1程序設(shè)計(jì) 1823044.1.2程序調(diào)試 19289314.2試運(yùn)營(yíng) 19135565.系統(tǒng)維護(hù) 19111126.系統(tǒng)評(píng)價(jià) 2078417.結(jié)束語 2010468參照文獻(xiàn) 2226434附件(論文源代碼) 2314818附一主界面 2326952附二登陸界面 2413306附三功能菜單界面 267463附四修改密碼界面 2718949附五結(jié)束對(duì)話框界面 3032168附六退出信用卡界面 306582附七查詢余額界面 3112183附八取款界面 3217155附十查詢服務(wù)界面 344098附十一查詢顧客信息界面 3516364附十二轉(zhuǎn)賬界面 369581道謝 391.ATM系統(tǒng)開發(fā)辦法1.1系統(tǒng)辦法概述軟件開發(fā)辦法是一種使用早已定義好技術(shù)集及符號(hào)表達(dá)習(xí)慣來組織軟件生產(chǎn)過程。開發(fā)目的是在規(guī)定投資和時(shí)間內(nèi),開發(fā)出符合顧客需求高質(zhì)量軟件。任何系統(tǒng)均有其產(chǎn)生、發(fā)展、成熟、消滅或更新?lián)Q代過程。這個(gè)過程稱為系統(tǒng)生命周期。系統(tǒng)生命周期法提供思路、邏輯、技能、工具與工作規(guī)范,是系統(tǒng)開發(fā)、解決管理信息系統(tǒng)建設(shè)中各類實(shí)際問題重要基本,對(duì)復(fù)雜系統(tǒng)建設(shè)具備重要指引意義。系統(tǒng)開發(fā)是管理信息系統(tǒng)建設(shè)中工作任務(wù)最為繁重,也是最重要一種階段。從項(xiàng)目開發(fā)到結(jié)束整個(gè)過程,稱為系統(tǒng)開發(fā)生命周期。系統(tǒng)開發(fā)生命周期普通分為系統(tǒng)分析、系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)行。構(gòu)造化生命周期法是一種面向數(shù)據(jù)流開發(fā)辦法。該辦法簡(jiǎn)樸實(shí)用、應(yīng)用較廣、技術(shù)成熟,辦法指引思想是自頂向下、逐漸求精,基本原則是能動(dòng)分解與抽象,特別適合于數(shù)據(jù)解決領(lǐng)域問題,隨著開發(fā)項(xiàng)目規(guī)模變化,該辦法也就暴漏出了它缺陷:(1)對(duì)于規(guī)模大、特別復(fù)雜項(xiàng)目不太適應(yīng)(2)難于解決軟件重用問題(3)難于適應(yīng)需求變化問題,難于徹底解決維護(hù)問題。到了90年代,主流開發(fā)辦法是面向?qū)ο箝_發(fā)辦法,它基本出發(fā)點(diǎn)是盡量按照人類結(jié)識(shí)世界辦法和思維方式來分析和解決問題。面向?qū)ο筠k法支持軟件重用和原型概念,提高了系統(tǒng)開發(fā)效率,因而得到了ATM系統(tǒng)各計(jì)算機(jī)界極大關(guān)注。該辦法涉及面向?qū)ο蠓治觥⒚嫦驅(qū)ο笤O(shè)計(jì)、面向?qū)ο髮?shí)現(xiàn)。系統(tǒng)開發(fā)工作自動(dòng)化、計(jì)算機(jī)化是提高系統(tǒng)開發(fā)效率與質(zhì)量重要途徑。計(jì)算機(jī)輔助軟件工程(簡(jiǎn)記為CASE)也是當(dāng)前信息系統(tǒng)領(lǐng)域和計(jì)算機(jī)應(yīng)用領(lǐng)域熱門話題。CASE技術(shù)目的是實(shí)現(xiàn)系統(tǒng)開發(fā)生命周期內(nèi)各階段工作基于計(jì)算機(jī)自動(dòng)化。這將導(dǎo)致系統(tǒng)開發(fā)工作主線變化。1.2本系統(tǒng)用法概述比較各種開發(fā)辦法特點(diǎn),結(jié)合銀行取款系統(tǒng)實(shí)際狀況,整個(gè)系統(tǒng)采用構(gòu)造化生命周期法,以原型法和面向?qū)ο箝_發(fā)辦法作為輔助,即系統(tǒng)總體上采用構(gòu)造化生命周期法進(jìn)行系統(tǒng)分析和系統(tǒng)設(shè)計(jì),系統(tǒng)實(shí)行等環(huán)節(jié)采用面向?qū)ο筠k法。本系統(tǒng)開發(fā)工具使用是基于Java可擴(kuò)展開發(fā)平臺(tái)MyEclipse。2.系統(tǒng)分析系統(tǒng)分析是管理系統(tǒng)開發(fā)起始階段,也是MIS(管理信息系統(tǒng))開發(fā)工作中最重要一環(huán)。系統(tǒng)分析階段重要活動(dòng)有:系統(tǒng)初步調(diào)查、可行性研究、系統(tǒng)詳細(xì)調(diào)查、新系統(tǒng)邏輯方案提出。系統(tǒng)分析目的是明確系統(tǒng)開發(fā)目的和顧客信息需求,提出系統(tǒng)邏輯方案。為系統(tǒng)設(shè)計(jì)做好準(zhǔn)備。2.1系統(tǒng)初步調(diào)查系統(tǒng)初步調(diào)查是系統(tǒng)分析階段第一項(xiàng)活動(dòng),也是系統(tǒng)開發(fā)第一項(xiàng)活動(dòng),初步調(diào)查重要目的是從系統(tǒng)分析人中和管理人員角度看新系統(tǒng)開發(fā)有無必要和也許。通過親身體驗(yàn)總結(jié)各銀行ATM提款機(jī)界面流程,得到本系統(tǒng)開發(fā)重要流程界面(重要功能取款、轉(zhuǎn)賬、查詢、修改密碼等)。并決定親自開發(fā)取款機(jī)系統(tǒng),測(cè)試自己水平。2.2可行性研究可行性研究(FeasibilityStudy),是指在調(diào)查基本上,通過市場(chǎng)分析、技術(shù)分析、財(cái)務(wù)分析和國(guó)民經(jīng)濟(jì)分析,對(duì)各種投資項(xiàng)目技術(shù)可行性與經(jīng)濟(jì)合理性進(jìn)行綜合評(píng)價(jià)??尚行匝芯炕救蝿?wù),是對(duì)新建或改建項(xiàng)目重要問題,從技術(shù)經(jīng)濟(jì)角度進(jìn)行全面分析研究,并對(duì)其投產(chǎn)后經(jīng)濟(jì)效果進(jìn)行預(yù)測(cè),在既定范疇內(nèi)進(jìn)行方案論證選取,以便最合理地運(yùn)用資源,達(dá)到預(yù)定社會(huì)效益和經(jīng)濟(jì)效益。可行性研究必要從系統(tǒng)總體出發(fā),對(duì)技術(shù)、經(jīng)濟(jì)、財(cái)務(wù)、商業(yè)以至環(huán)保、法律等各種方面進(jìn)行分析和論證,以擬定建設(shè)項(xiàng)目與否可行,為對(duì)的進(jìn)行投資決策提供科學(xué)根據(jù)。項(xiàng)目可行性研究是對(duì)多因素、多目的系統(tǒng)進(jìn)行不斷分析研究、評(píng)價(jià)和決策過程。它需要有各方面知識(shí)專業(yè)人才通力合伙才干完畢。可行性研究不但應(yīng)用于建設(shè)項(xiàng)目,還可應(yīng)用于科學(xué)技術(shù)和工業(yè)發(fā)展各個(gè)階段和各個(gè)方面。可行性研究目就是用最小代價(jià)在最短時(shí)間內(nèi)擬定該軟件項(xiàng)目與否可以開發(fā),與否值得去開發(fā)。實(shí)質(zhì)上就是進(jìn)行一次簡(jiǎn)化、壓縮了需求分析、設(shè)計(jì)過程??蓮娜缦氯齻€(gè)方面分析研究每種解決問題可行性:a.技術(shù)可行性:對(duì)項(xiàng)目功能、性能、限制條件進(jìn)行分析,擬定在既有資源條件下項(xiàng)目與否能實(shí)現(xiàn)。(開發(fā)風(fēng)險(xiǎn)、資源有效性、技術(shù))b.社會(huì)可行性:要開發(fā)項(xiàng)目與否存在任何侵犯、妨礙等責(zé)任問題,要開發(fā)項(xiàng)目運(yùn)營(yíng)方式在顧客組織內(nèi)與否行得通,既有管理制度、人員素質(zhì)、操作方式與否可行。c.經(jīng)濟(jì)可行性:進(jìn)行開發(fā)成本估算以及理解得到效益評(píng)估,擬定要開發(fā)項(xiàng)目與否值得投資開發(fā)。對(duì)銀行業(yè)來說,是靠存款貸款之間差額來生存,因此要盡量拉攏更多客戶使用本行,ATM取款機(jī)是為了能讓為客戶更便捷服務(wù),從而更具備吸引力。從銀行角度出發(fā)還是非常樂意把一某些資金投入到這方面。2.3系統(tǒng)詳細(xì)調(diào)查及提出系統(tǒng)詳細(xì)調(diào)查是在可行性研究基本上進(jìn)一步對(duì)現(xiàn)行系統(tǒng)進(jìn)行全面、進(jìn)一步調(diào)查和分析,弄清現(xiàn)行系統(tǒng)運(yùn)營(yíng)狀況,發(fā)現(xiàn)其薄弱環(huán)節(jié),保證新系統(tǒng)比原系統(tǒng)更有效。詳細(xì)調(diào)查重點(diǎn)在于對(duì)系統(tǒng)內(nèi)部狀況更詳細(xì)和詳細(xì)理解,從而可以提供在新系統(tǒng)建設(shè)時(shí)改進(jìn)或更換內(nèi)容。明確顧客信息需求,明確新系統(tǒng)邏輯功能。重要工作是對(duì)顧客需求進(jìn)行進(jìn)一步調(diào)查分析,創(chuàng)立新系統(tǒng)邏輯模型。邏輯模型重要以數(shù)據(jù)流程圖和數(shù)據(jù)字典為重要描述工具。普通登陸模塊只輸入賬號(hào)、密碼,固然在實(shí)際應(yīng)用中沒有規(guī)定顧客輸入賬號(hào),這是由于在磁卡上有個(gè)感應(yīng)區(qū),設(shè)計(jì)此模塊時(shí)加上了驗(yàn)證碼。銀行帳目管理系統(tǒng)是針對(duì)銀行帳目尋常管理而設(shè)計(jì)。銀行操作系統(tǒng)不但規(guī)定操作以便并且規(guī)定界面簡(jiǎn)潔,它需要實(shí)現(xiàn)帳戶管理,顧客查詢和查詢記錄等幾種功能。其中帳目管理又包括了開戶、存款、取款和修改信息功能。顧客可以通過不同方式來查詢需要信息。通過該系統(tǒng)設(shè)計(jì)實(shí)現(xiàn),使銀行部門更好地進(jìn)行業(yè)務(wù)管理,為客戶提供更加優(yōu)質(zhì)服務(wù)。通過仔細(xì)調(diào)查得如下功能圖和業(yè)務(wù)流程圖:圖3-1功能圖ATM取款機(jī)系統(tǒng)ATM取款機(jī)系統(tǒng)退出模塊功能模塊退出模塊功能模塊登入模塊退卡查卡信息轉(zhuǎn)賬修改密碼取款查詢余額驗(yàn)證碼輸入賬號(hào)輸入密碼退卡查卡信息轉(zhuǎn)賬修改密碼取款查詢余額驗(yàn)證碼輸入賬號(hào)輸入密碼 該系統(tǒng)重要實(shí)現(xiàn)銀行卡顧客存取款,以及進(jìn)行某些簡(jiǎn)樸查詢和轉(zhuǎn)賬業(yè)務(wù),同步可以在系統(tǒng)里面進(jìn)行客戶密碼修改,實(shí)現(xiàn)簡(jiǎn)樸機(jī)器與客戶交互。圖3-2業(yè)務(wù)流程圖:待機(jī)界面待機(jī)界面(按任意鍵進(jìn)入登錄界面)登錄界面登錄界面(卡號(hào)、密碼、驗(yàn)證碼、取消等選項(xiàng))密碼錯(cuò)誤,請(qǐng)從新輸入!選取界面(查詢、取款、轉(zhuǎn)帳、修改密碼、取消)密碼錯(cuò)誤,請(qǐng)從新輸入!選取界面(查詢、取款、轉(zhuǎn)帳、修改密碼、取消)修改密碼轉(zhuǎn)帳取款查詢修改密碼轉(zhuǎn)帳取款查詢交易完畢交易完畢點(diǎn)擊退出點(diǎn)擊退出謝謝使用,再會(huì)!謝謝使用,再會(huì)!3.系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)階段重要目是將系統(tǒng)分析所提出反映顧客信息需求系統(tǒng)邏輯方案轉(zhuǎn)換成可以實(shí)行基本計(jì)算機(jī)(ATM取款機(jī))與通信系統(tǒng)物理(技術(shù))方案。系統(tǒng)設(shè)計(jì)重要涉及系統(tǒng)總體構(gòu)造設(shè)計(jì)和詳細(xì)設(shè)計(jì)。系統(tǒng)設(shè)計(jì)根據(jù)重要有系統(tǒng)分析成果、現(xiàn)行技術(shù)、顧客需求、系統(tǒng)運(yùn)營(yíng)環(huán)境。3.1開發(fā)環(huán)境(1)、軟件開發(fā)工具選取本系統(tǒng)采用Java作為編程語言,采用MyEclipse軟件開發(fā)環(huán)境,MyEclipse對(duì)數(shù)據(jù)庫應(yīng)用強(qiáng)大支持,使數(shù)據(jù)庫應(yīng)用開發(fā)功能更強(qiáng)大,控制更靈活,編譯后程序運(yùn)營(yíng)速度更快。MyEclipse公司級(jí)工作平臺(tái)(MyEclipseEnterpriseWorkbench,簡(jiǎn)稱MyEclipse)是對(duì)EclipseIDE擴(kuò)展,運(yùn)用它可以在數(shù)據(jù)庫和J2EE開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器整合方面極大提高工作效率。它是功能豐富J2EE集成開發(fā)環(huán)境,涉及了完備編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。(2)、數(shù)據(jù)庫管理系統(tǒng)選取由于本次設(shè)計(jì)所采用是MySql小型數(shù)據(jù)庫,這種數(shù)據(jù)庫用來存儲(chǔ)少量數(shù)據(jù),在設(shè)計(jì)和實(shí)行上有很大優(yōu)勢(shì),依照之前所做功能分析,以及ATM柜員機(jī)自身所具備功能。MySQL是一種小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQLAB公司,在1月16號(hào)被Sun公司收購(gòu)。MySQL被廣泛地應(yīng)用在Internet上中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,特別是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了減少網(wǎng)站總體擁有成本而選取了MySQL作為網(wǎng)站數(shù)據(jù)庫。 (3)、開發(fā)平臺(tái)選取windows平臺(tái)以其全新界面簡(jiǎn)樸快捷操作方式而成為軟件開發(fā)趨勢(shì)。依照本系統(tǒng)運(yùn)營(yíng)環(huán)境和實(shí)際狀況,選取Windows7(旗艦版)作為開發(fā)測(cè)試和運(yùn)營(yíng)平臺(tái)。3.2系統(tǒng)總體構(gòu)造設(shè)計(jì)系統(tǒng)總體構(gòu)造是指整個(gè)系統(tǒng)由哪些某些構(gòu)成,以及各某些在物理上、邏輯上互有關(guān)系,涉及硬件某些和軟件某些,該設(shè)計(jì)涉及:系統(tǒng)總體布局方案擬定、軟件系統(tǒng)總體構(gòu)造設(shè)計(jì)、計(jì)算機(jī)硬件方案選取和設(shè)計(jì)、數(shù)據(jù)存儲(chǔ)總體設(shè)計(jì)。依照業(yè)務(wù)流程圖轉(zhuǎn)化為軟件體系構(gòu)造,進(jìn)而用軟件構(gòu)造圖建立物理模型,得系統(tǒng)活動(dòng)圖,如下:圖4-1系統(tǒng)構(gòu)造圖:圖4-2系統(tǒng)活動(dòng)圖:3.3系統(tǒng)詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)實(shí)現(xiàn)依照構(gòu)造程序設(shè)計(jì)原理,將每個(gè)模塊功能用相應(yīng)原則語句表達(dá)出來。涉及代碼設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)、顧客界面設(shè)計(jì)、解決過程設(shè)計(jì)。代碼設(shè)計(jì)是指把系統(tǒng)管理對(duì)象數(shù)字化或字符化,便于計(jì)算機(jī)解決。遵循代碼設(shè)計(jì)原則:合理性、簡(jiǎn)要性、系統(tǒng)性、穩(wěn)定性、可擴(kuò)充性、原則化、便于辨認(rèn)和記憶。數(shù)據(jù)庫設(shè)計(jì)指對(duì)系統(tǒng)所采用數(shù)據(jù)模式、子模式、應(yīng)用程序、數(shù)據(jù)庫等依照顧客詳細(xì)規(guī)定進(jìn)行分析和設(shè)計(jì)。它也是管理信息系統(tǒng)設(shè)計(jì)重要構(gòu)成某些。數(shù)據(jù)庫設(shè)計(jì)基本原則是盡量提高數(shù)據(jù)組織相對(duì)獨(dú)立性,簡(jiǎn)化其構(gòu)造,即用規(guī)范化辦法設(shè)施數(shù)據(jù)存儲(chǔ)構(gòu)造,提高數(shù)據(jù)可維護(hù)性、完整性、一致性。3.3.1數(shù)據(jù)庫設(shè)計(jì)通過收集和分析顧客需求,擬定了數(shù)據(jù)庫要保存信息,我將本次數(shù)據(jù)庫設(shè)計(jì)為二個(gè)如下所示表:1、客戶表(user)CardID字段信息字段名稱類型寬度小數(shù)位數(shù)空特性姓名userNamevarchar10N性別userSexvarchar2N身份證號(hào)userIDvarchar10N卡號(hào)userCardNovarchar10N圖4-3顧客信息設(shè)計(jì)表2、賬戶表(card)CardID字段信息字段名稱類型寬度小數(shù)位數(shù)空特性卡號(hào)cardNovarchar10N賬戶余額cardBalancedecimal102N密碼cardPassWordvarchar6N圖4-4賬戶信息設(shè)計(jì)表3.3.2界面模塊設(shè)計(jì)顧客界面設(shè)計(jì)當(dāng)前已成為評(píng)價(jià)軟件質(zhì)量一條重要指標(biāo),所謂顧客界面是指軟件系統(tǒng)與顧客交互接口,普通涉及輸入設(shè)計(jì)、輸出設(shè)計(jì)、人機(jī)對(duì)話界面設(shè)計(jì)。圖4-5登錄模塊重要代碼如下:publicvoidactionPerformed(ActionEvente){ if(e.getActionCommand()=="中文"){ this.setVisible(false); newClient00("輸入密碼"); }elseif(e.getActionCommand()=="英文"){ StringinputValue=JOptionPane .showInputDialog("Pleaseinputavalue"); } }//監(jiān)聽是選取中文輸入還是英文輸入}publicclassATM{ publicstaticvoidmain(String[]args){ newClient("ATM自動(dòng)取款系統(tǒng)"); }}當(dāng)插入鈔票卡之后浮現(xiàn)界面,系統(tǒng)浮現(xiàn)選取中英文登入方式,點(diǎn)擊按鈕之后(中文)浮現(xiàn)后對(duì)話框:圖4-6登錄界面登錄模塊依然采用是密碼驗(yàn)證方式,需要顧客輸入卡號(hào)、密碼和驗(yàn)證碼然后點(diǎn)擊確認(rèn)進(jìn)行驗(yàn)證,程序?qū)⒁勒蛰斎肟ㄌ?hào)查找密碼,第一沒有找到提示,找到繼續(xù)下一步,在這里我用了驗(yàn)證碼方式,輸入對(duì)的繼續(xù),程序系統(tǒng)將依照卡號(hào)調(diào)用后臺(tái)數(shù)據(jù)庫查找與卡號(hào)相應(yīng)密碼并與顧客輸入密碼相對(duì)比。密碼對(duì)的繼續(xù),否則當(dāng)輸入次數(shù)達(dá)到三次時(shí),系統(tǒng)將提示你與前臺(tái)服務(wù)員獲得聯(lián)系。第二如果沒有找到,提示輸入賬號(hào)錯(cuò)誤。重要代碼如下:(1)從后臺(tái)獲得賬號(hào)信息,用于與顧客輸入賬號(hào)密碼對(duì)照 Class.forName("com.mysql.jdbc.Driver");//加載驅(qū)動(dòng)Connectioncon=DriverManager.getConnection(url,"root", null);//建立連接Statementsql=con.createStatement();//獲得一種statement對(duì)象 Stringql=panel1.textB.getText();//獲取賬號(hào)ResultSetrs=sql.executeQuery("selectcnimafromcardwhere cno="+ql+"");//依照賬號(hào)搜索密碼,獲得成果集系統(tǒng)生成驗(yàn)證碼并驗(yàn)證顧客輸入驗(yàn)證碼publicvoidactionPerformed(ActionEvente){ char[]passwords=panel1.textA.getPassword(); Stringpassword=newString("112626");//設(shè)立賬號(hào)初始密碼為112626,每輸入一次均有提示,在持續(xù)輸入三次不對(duì)的后系統(tǒng)自動(dòng)退出。 if(e.getActionCommand().equals("擬定")) if(panel1.textC.getText().equals(panel1.label3.getText())) {heshi(); }else{ JOptionPane.showMessageDialog(frame,"你輸入驗(yàn)證碼有誤, 請(qǐng)重新輸入。"); } elseif(e.getActionCommand()=="取消"){ this.setVisible(false); newClient08(""); } }//當(dāng)輸入驗(yàn)證碼有誤是彈出一種提示窗口圖4-7首頁設(shè)計(jì)首頁設(shè)計(jì)重要是設(shè)計(jì)了查詢余額、取款、轉(zhuǎn)賬、密碼更改及退出按鈕等ATM某些原則操作界面。重要代碼如下:本界面設(shè)立了五個(gè)按鈕 button1=newJButton("查詢"); button2=newJButton("取款"); button3=newJButton("轉(zhuǎn)賬"); button4=newJButton("退出");button5=newJButton("修改密碼");(2)點(diǎn)擊以上五個(gè)按鈕可以觸發(fā)進(jìn)入相應(yīng)操作界面publicvoidactionPerformed(ActionEvente){ if(e.getActionCommand()=="取款"){ this.setVisible(false); newClient02("請(qǐng)選取取款金額"); } elseif(e.getActionCommand()=="查詢"){ this.setVisible(false); newClient06("查詢服務(wù)"); } elseif(e.getActionCommand()=="修改密碼"){ this.setVisible(false); newClient05("修改密碼服務(wù)"); } elseif(e.getActionCommand()=="轉(zhuǎn)賬"){ this.setVisible(false); newClient04("顧客轉(zhuǎn)賬服務(wù)"); } elseif(e.getActionCommand()=="退出"){ this.setVisible(false); newClient08(""); }}圖4-8查詢模塊在此模塊中,將通過顧客所使用賬戶編號(hào)來進(jìn)行余額查詢,將顯示賬戶實(shí)際余額,點(diǎn)擊“查詢”按鈕,通過按鈕Action辦法進(jìn)行辦法調(diào)用,就可以實(shí)現(xiàn)查詢功能并把查詢到賬戶余額顯示到界面上。當(dāng)顧客點(diǎn)擊“返回”時(shí),程序返回到初始主界面。圖4-9查詢卡信息模塊此功能用來顯示持卡人基本信息涉及姓名、性別、身份證、卡號(hào)等,點(diǎn)擊查詢按鈕后系統(tǒng)將依照與輸入卡號(hào)相一致字段信息,顯示輸出在該頁面上。當(dāng)點(diǎn)擊取消按鈕時(shí)系統(tǒng)將返回到初始主界面。圖4-10修改密碼模塊此模塊需要顧客輸入舊密碼后,兩次輸入新密碼進(jìn)行確認(rèn),然后,點(diǎn)擊擬定,修改密碼,成功后給出提示信息,其中考慮到某些顧客輸入錯(cuò)誤問題,我做出了某些異常判斷和解決,空輸入,輸入兩次新密碼不匹配和原密碼不對(duì)的等問題。修改更新密碼完畢依然依托按鈕控件Action事件完畢。修改密碼重要代碼如下:if(newString(passwords1).equals(newString(passwords2))){ this.setVisible(false); JOptionPane.showMessageDialog(frame,"輸入新密碼和和原密碼一致,請(qǐng)重新輸入。"); panel10.text1.setText(""); panel10.text2.setText(""); panel10.text3.setText(""); return; } if(newString(passwords2).equals(newString(passwords3))){ this.setVisible(false); JOptionPane.showMessageDialog(frame,"正修改原密碼,請(qǐng)等待"); updateM(); }//程序依照輸入原密碼,查找數(shù)據(jù)庫表格user進(jìn)而修改密碼數(shù)據(jù)表數(shù)據(jù)。 else{ JOptionPane.showMessageDialog(frame,"兩次輸入新密碼不一致,請(qǐng)重新輸入。"); panel10.text2.setText(""); panel10.text3.setText(""); } //} if(panel10.text1.getText().equals("")||panel10.text2.getText().equals("")||panel10.text3.getText().equals("")){ JOptionPane.showMessageDialog(frame,"請(qǐng)輸入原密碼及新密碼!"); return; } else{ if(newString(passwords1).equals(newString(passwords2))){ JOptionPane.showMessageDialog(frame,"輸入新密碼和原密碼一致,請(qǐng)重新輸入。");panel10.text2.setText("");panel10.text3.setText("");return;} if(newString(passwords2).equals(newString(passwords3))){ JOptionPane.showMessageDialog(frame,"正修改原密碼,請(qǐng)等待");updateM();}//程序依照輸入原密碼,查找數(shù)據(jù)庫表格user進(jìn)而修改密碼數(shù)據(jù)表數(shù)據(jù)。 else{ JOptionPane.showMessageDialog(frame,"兩次輸入新密碼不一致,請(qǐng)重新輸入。"); panel10.text2.setText(""); panel10.text3.setText("");}}圖4-11轉(zhuǎn)賬業(yè)務(wù)模塊在此模塊,顧客依照需要自己輸入卡號(hào)及欲轉(zhuǎn)金額,這里設(shè)計(jì)其實(shí)最后歸結(jié)于詳細(xì)SQL語句而言,系統(tǒng)將依照輸入卡號(hào)查找與之相應(yīng)顧客數(shù)據(jù)表,從而修改金額。第一,系統(tǒng)一方面依照本卡號(hào),查找本卡金額與輸入金額對(duì)比,如果找到,且金額容許就提示轉(zhuǎn)賬成功。第二,如果,沒有找到輸入卡號(hào),提示沒有該顧客,重新輸入欲轉(zhuǎn)賬號(hào)。圖4-12取款模塊取款模塊是一種相對(duì)比較重要模塊,由于ATM機(jī)就要功能就是取款業(yè)務(wù),顧客選取賬戶名點(diǎn)擊取款金額然后點(diǎn)擊取款進(jìn)行取款操作,因此幾種數(shù)字按鈕設(shè)計(jì)比較大,以便顧客操作,其中某些提示信息也相應(yīng)地給出,以防顧客誤操作。由于此模塊不需要顧客輸入,因此沒有對(duì)輸入異常解決。依照所查資料我所采用SQL語句調(diào)用辦法是預(yù)解決指令辦法,這種辦法對(duì)于解決此程序具備很大益處,并且可以防止非法SQL注入。當(dāng)顧客點(diǎn)擊數(shù)組按鈕后系統(tǒng)將依照輸入卡號(hào)查找卡號(hào)余額并與按鈕數(shù)字相對(duì)比,如果選取金額不不大于本卡余額將提示(不容許透支)。圖4-13退卡模塊退卡模塊相對(duì)簡(jiǎn)樸多了,沒有什么詳細(xì)界面設(shè)計(jì),只是一種消息提示,也是一種和諧解決方式,以防止顧客誤操作辦法。4.系統(tǒng)實(shí)現(xiàn)系統(tǒng)實(shí)行是ATM系統(tǒng)開發(fā)過程中最后一種階段。它目的是將技術(shù)設(shè)計(jì)轉(zhuǎn)化成物理實(shí)現(xiàn)。系統(tǒng)實(shí)行階段重要任務(wù)有:按總體設(shè)計(jì)方案購(gòu)買和安裝計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)、建立數(shù)據(jù)庫、編程與調(diào)試、整頓基本數(shù)據(jù)、培訓(xùn)操作人員、程序試運(yùn)營(yíng)和系統(tǒng)切換。4.1程序設(shè)計(jì)與調(diào)試4.1.1程序設(shè)計(jì)程序設(shè)計(jì)語言選取普通考慮到項(xiàng)目應(yīng)用領(lǐng)域、軟件開發(fā)辦法、軟件執(zhí)行環(huán)境、算法和數(shù)據(jù)構(gòu)造復(fù)雜性、和軟件開發(fā)人員知識(shí)。程序設(shè)計(jì)是指使用選定程序設(shè)計(jì)語言,把通過概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)所得到信息解決過程,轉(zhuǎn)換成能在計(jì)算機(jī)上運(yùn)營(yíng)程序源代碼。本系統(tǒng)中用MyEclipse編程工具,采用構(gòu)造化編程辦法對(duì)模塊進(jìn)行程序編寫。詳細(xì)源程序見附件。4.1.2程序調(diào)試軟件測(cè)試目是盡量多發(fā)現(xiàn)程序中錯(cuò)誤,而調(diào)試則是在進(jìn)行了成功測(cè)試之后才開始工作。程序調(diào)試是指在系統(tǒng)測(cè)試基本上,將發(fā)現(xiàn)問題進(jìn)行改正,使之符合設(shè)計(jì)原則。本系統(tǒng)采用重要辦法如下:?jiǎn)卧獪y(cè)試:是指原程序中每個(gè)程序單元進(jìn)行測(cè)試,檢查各個(gè)模塊與否正的確現(xiàn)規(guī)定功能,從而發(fā)現(xiàn)模塊在編碼中或算法中錯(cuò)誤。采用白盒法對(duì)各模塊進(jìn)行邏輯錯(cuò)誤排查,用黑盒法錄入某些有特性數(shù)據(jù)從不同角度驗(yàn)證成果。集成測(cè)試:在單元測(cè)試基本上,將所有模塊按照設(shè)計(jì)規(guī)定組裝成一種完整系統(tǒng)進(jìn)行測(cè)試。確認(rèn)測(cè)試(有效性測(cè)試):它任務(wù)是檢查軟件功能與性能與否與需求規(guī)格闡明書中擬定指標(biāo)相符合。普通分為用黑盒進(jìn)行確認(rèn)測(cè)試,再檢查軟件所有文檔完整性、對(duì)的性——軟件配備審查。4.2試運(yùn)營(yíng)系統(tǒng)試運(yùn)營(yíng)是指對(duì)系統(tǒng)運(yùn)營(yíng)環(huán)境和資源進(jìn)行設(shè)立、系統(tǒng)運(yùn)營(yíng)和控制參數(shù)設(shè)定、數(shù)據(jù)加載以及調(diào)節(jié)系統(tǒng)與業(yè)務(wù)工作同步等。系統(tǒng)維護(hù)系統(tǒng)維護(hù)是軟件生存周期中時(shí)間最長(zhǎng)一種階段,所耗費(fèi)精力和費(fèi)用也是最多一種階段,系統(tǒng)維護(hù)目是保證系統(tǒng)中各個(gè)要素隨著環(huán)境變化始終處在最新、對(duì)的工作狀態(tài)。系統(tǒng)維護(hù)是信息系統(tǒng)可靠運(yùn)營(yíng)重要技術(shù)保障,咱們應(yīng)予以足夠注重。系統(tǒng)維護(hù)內(nèi)容有校正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)和防止性維護(hù)四種。校正性維護(hù):為了辨認(rèn)和糾正錯(cuò)誤,修改軟件性能上缺陷,進(jìn)行擬定和修改錯(cuò)誤過程。適應(yīng)性維護(hù):為了使應(yīng)用軟件適應(yīng)變化而修改軟件過程完善性維護(hù):為了適應(yīng)變化,應(yīng)用軟件本來功能和性能需要擴(kuò)充和增強(qiáng)。從而達(dá)到提高軟件運(yùn)營(yíng)效率,增強(qiáng)軟件性能而進(jìn)行維護(hù)。(4)防止性維護(hù):為了提高軟件可維護(hù)性和可靠性而對(duì)軟件修改。6.系統(tǒng)評(píng)價(jià)系統(tǒng)評(píng)價(jià)應(yīng)是貫穿系統(tǒng)整個(gè)生命周期各個(gè)階段重要決策手段和工作環(huán)節(jié)。狹義上系統(tǒng)評(píng)價(jià)是指系統(tǒng)投入運(yùn)營(yíng)后從功能性能、經(jīng)濟(jì)效益、社會(huì)效益上評(píng)價(jià)本系統(tǒng)基本實(shí)現(xiàn)了取款、查詢余額、轉(zhuǎn)賬、修改密碼等功能,但由于時(shí)間短、知識(shí)水平有限,經(jīng)驗(yàn)局限性,系統(tǒng)仍存在局限性,該系統(tǒng)重要有如下特點(diǎn):1、程序可讀性強(qiáng),易懂易維護(hù)2、顧客界面簡(jiǎn)潔,以便了顧客使用。3、安全性好,系統(tǒng)依然使用輸入密碼方式,保證了系統(tǒng)安全。4、系統(tǒng)穩(wěn)定,基本達(dá)到預(yù)期功能規(guī)定。5、系統(tǒng)還存在著許多局限性,特別是在數(shù)據(jù)庫鏈接上,在代碼編寫上也存在著諸多局限性,代碼存在著諸多缺陷。6、在系統(tǒng)界面效果上也存在局限性,系統(tǒng)界面顯示應(yīng)在屏中間??倎碚f,本次設(shè)計(jì)當(dāng)中存有許多局限性之處,基本上設(shè)計(jì)出了和自己預(yù)想中效果,但同步在設(shè)計(jì)上也還存在著諸多,諸多事沒有什么用代碼,我想是由于時(shí)間和經(jīng)驗(yàn)問題,后來多練習(xí)就必定能提高,UI設(shè)計(jì)方面,仔細(xì)地看,尚有某些小問題,系統(tǒng)運(yùn)營(yíng)時(shí)警告就多達(dá)36處,但不會(huì)影響程序運(yùn)營(yíng),只會(huì)在美觀方面有一定影響,此后一定改進(jìn)。7.結(jié)束語 1.通過java編寫簡(jiǎn)樸ATM登錄系統(tǒng)設(shè)計(jì),我不但復(fù)習(xí)了上學(xué)期java編程設(shè)計(jì)基本知識(shí),并且增強(qiáng)了我對(duì)java語言領(lǐng)悟和應(yīng)用,同步也更深刻懂得了學(xué)好學(xué)會(huì)了并不是代表可以真正在實(shí)踐中運(yùn)用得流暢,這次實(shí)踐給了咱們一種既動(dòng)手又動(dòng)腦獨(dú)立實(shí)踐機(jī)會(huì),但其中也包括了自我尋找資料能力和同窗間合伙能力。這個(gè)系統(tǒng)將理論和實(shí)踐相結(jié)合,提高自己分析、解決問題能力,并且讓我明白了計(jì)算機(jī)技術(shù)一定要從實(shí)際出發(fā)才干真正提高自己能力。 2.通過了一種多月設(shè)計(jì)和編寫這個(gè)系統(tǒng),我深刻結(jié)識(shí)到了自己局限性和缺陷,自己處在什么水平,和同窗相比自己差距有多大,但是我也發(fā)現(xiàn)了自己長(zhǎng)處和長(zhǎng)處,不論怎么樣,通過這次學(xué)習(xí),我懂得了如何取長(zhǎng)補(bǔ)短,充分運(yùn)用網(wǎng)絡(luò)資源重要性。參照文獻(xiàn)[1]夏寬理.Java語言程序設(shè)計(jì).北京:機(jī)械工業(yè)出版社,.4.[2]張孝祥.Java就業(yè)培訓(xùn)教程.北京:清華大學(xué)出版社,.6.[3]陸麗娜.軟件工程.北京:經(jīng)濟(jì)科學(xué)出版社,.3.[4]丁寶康.數(shù)據(jù)庫系統(tǒng)原理.北京:經(jīng)濟(jì)科學(xué)出版社,.[5]孫衛(wèi)琴.Java面向?qū)ο蟪绦蛟O(shè)計(jì)[M].電子工業(yè)出版社,.7.[6]王國(guó)輝,呂海濤.Java數(shù)據(jù)庫系統(tǒng)開發(fā)案例精選[M].北京:人民郵電出版社.[7]陳國(guó)君,陳錫禎.Java2程序設(shè)計(jì)基本[M].北京:清華大學(xué)出版社.[8]袁海燕.Java實(shí)用程序設(shè)計(jì)100例[M].北京:人民郵電出版社.[9]朱站立、沈偉.Java程序設(shè)計(jì)實(shí)用教程[M].電子工業(yè)出版社.[10]印旻編、許偉.Java2從入門到精通[M].北京:清華大學(xué)出版社.[11]楊樹林,胡潔萍.Java語言最新實(shí)用案例教程.北京:清華大學(xué)出版社,.7:141–232[12]李剛等.Java數(shù)據(jù)庫技術(shù)詳解.北京:化學(xué)工業(yè)出版社,.7[13][美]LiangYD.Java語言程序設(shè)計(jì).王鎂,等譯.北京:機(jī)械工業(yè)出版社,.[14][美]KathyWalrath等.JFCSwing原則教材.北京:電子工業(yè)出版社,.[15]鄭莉,王言行,馬素霞.Java語言程序設(shè)計(jì).北京:清華大學(xué)出版社,.[16]朱喜福,林建民,唐永新.Java程序設(shè)計(jì).北京:人民郵電出版社,.[17]朱喜福.Java程序設(shè)計(jì).北京:清華大學(xué)出版社,.附件(論文源代碼)附一主界面classPanel1extendsJPanel{ JLabellabel1,label2; Panel1(){ setLayout(newGridLayout(4,1)); label1=newJLabel(""+"銀行存取款系統(tǒng)"); label2=newJLabel(""+"歡迎你成為本行顧客,你可以選取中文或英文方式"); add(newJLabel());add(label1);add(label2);add(newJLabel());}}classPanel2extendsJPanel{ JButtonbutton1,button2; Panel2(){ setLayout(newGridLayout(3,6)); button1=newJButton("中文");button2=newJButton("英文"); add(newJLabel());add(newJLabel());add(newJLabel());add(newJLabel()); add(newJLabel());add(newJLabel());add(newJLabel());add(button1); add(newJLabel());add(newJLabel());add(button2);add(newJLabel()); add(newJLabel());add(newJLabel());add(newJLabel());add(newJLabel()); add(newJLabel());dd(newJLabel());}}classClientextendsJFrameimplementsActionListener{ Panel1panel1;Panel2panel2;JFrameframe;Client(Strings){ super(s);Containercon=this.getContentPane(); con.setLayout(newGridLayout(2,1));panel1=newPanel1();panel2=newPanel2();con.add(panel1);con.add(panel2);panel2.button1.addActionListener(this); panel2.button2.addActionListener(this); this.setVisible(true);this.pack();} publicvoidactionPerformed(ActionEvente){ if(e.getActionCommand()=="中文"){ this.setVisible(false);newClient00("登陸界面"); }elseif(e.getActionCommand()=="英文"){ StringinputValue=JOptionPane.showInputDialog("Pleaseinputavalue");}}}publicclassATM{ publicstaticvoidmain(String[]args){ newClient("銀行賬戶管理系統(tǒng)"); }}//ATM.java附二登陸界面classPanel01extendsJPanel{ JLabellabel1,label2,label3,label4;JPasswordFieldtextA; JTextFieldtextC;staticJTextFieldtextB;chart[]=newchar[4]; Panel01(){ setLayout(newGridLayout(4,4)); for(inti=0;i<4;i++){ t[i]=(char)(Math.random()*26+'a'); } Stringmm=newString(t);//獲得驗(yàn)證碼label2=newJLabel("請(qǐng)輸入卡號(hào):");label1=newJLabel("請(qǐng)輸入密碼:"); label3=newJLabel();label4=newJLabel("請(qǐng)輸入驗(yàn)證碼:"); label3.setBackground(Color.white);label3.setForeground(Color.red); textC=newJTextField(10);textC.setForeground(Color.blue); label3.setText(mm);textA=newJPasswordField(6); textA.setEchoChar('*');textB=newJTextField(""); for(inti=0;i<5;i++){ add(newJLabel()); } add(label2);add(textB);add(newJLabel());add(newJLabel()); add(label1);add(textA);add(newJLabel());add(newJLabel()); add(label4);add(textC);add(label3);}}classPanel02extendsJPanel{ JButtonbutton1,button2; Panel02(){ setLayout(newGridLayout(3,6));button1=newJButton("擬定"); button2=newJButton("取消"); for(inti=0;i<7;i++){ add(newJLabel());} add(button1);add(newJLabel());add(newJLabel());add(button2); for(inti=0;i<6;i++){ add(newJLabel());}}}classClient00extendsJFrameimplementsActionListener{ Panel01panel1;Panel02panel2; JFrameframe=this;//有改動(dòng)請(qǐng)注意 //JFrameframe; inti=0,j=0; Client00(Strings){ super(s);Containercon=this.getContentPane(); con.setLayout(newGridLayout(2,1));panel1=newPanel01(); panel2=newPanel02();con.add(panel1);con.add(panel2);panel2.button1.addActionListener(this);panel2.button2.addActionListener(this); this.setVisible(true);this.pack();} publicvoidactionPerformed(ActionEvente){ char[]passwords=panel1.textA.getPassword(); Stringpassword=newString("112626");//設(shè)立賬號(hào)初始密碼為112626,每輸入一次均有提示,在持續(xù)輸入三次不對(duì)的后系統(tǒng)自動(dòng)退出。 if(e.getActionCommand().equals("擬定")) if(panel1.textC.getText().equals(panel1.label3.getText())){ heshi(); }else{ JOptionPane.showMessageDialog(frame,"你輸入驗(yàn)證碼有誤,請(qǐng)重新輸入。");} elseif(e.getActionCommand()=="取消"){ this.setVisible(false);newClient08("");}} publicvoidheshi(){ if(panel1.textA.getText().equals("") ||panel1.textB.getText().equals("")){ JOptionPane.showMessageDialog(frame,"請(qǐng)輸入賬號(hào)、密碼!");return; } Stringurl="jdbc:mysql://localhost/BankAccountSystem";//程序直接使用當(dāng)前類目錄下數(shù)據(jù)庫文獻(xiàn) try{ Class.forName("com.mysql.jdbc.Driver"); Connectioncon=DriverManager.getConnection(url,"root",null); Statementsql=con.createStatement(); Stringql=panel1.textB.getText();//獲取賬號(hào) ResultSetrs=sql.executeQuery("selectcnimafromcardwherecno=" +ql+"");//依照賬號(hào)搜索密碼 if(rs.next()){ Stringqerycmima=panel1.textA.getText(); Strings=rs.getString(1); if(qerycmima.equals(s)){ JOptionPane .showMessageDialog(frame,"連接成功!"); this.setVisible(false);newClient01("顧客取款系統(tǒng)"); }else{ if(i!=2){ i++;j=3-i; JOptionPane.showMessageDialog(frame,"密碼有誤!你尚有"+j+"次機(jī)會(huì),請(qǐng)你再仔細(xì)想想.");panel1.textA.setText(""); }else{ JOptionPane.showMessageDialog(frame,"對(duì)不起,你輸入密碼次數(shù)達(dá)三次,下次再會(huì)。");System.exit(0);}} con.close();//關(guān)閉連接frame.repaint(); }else{JOptionPane.showMessageDialog(null,"該顧客不存在,重新輸入!","警告!",JOptionPane.YES_NO_OPTION); panel1.textA.setText("");panel1.textB.setText(""); panel1.textC.setText("");return;} }catch(SQLExceptiong){ System.out.println("ECode"+g.getErrorCode()); System.out.println("EM"+g.getMessage()); }catch(Exceptione){ e.printStackTrace();}}}classbankSystem00{ publicstaticvoidmain(String[]args){ newClient00("登陸界面");}}//LoginWindows.java附三功能菜單界面classPanel03extendsJPanel{ JButtonbutton1,button2,button3,button4,button5; Panel03(){ setLayout(newGridLayout(8,6));button1=newJButton("查詢");button2=newJButton("取款");button3=newJButton("轉(zhuǎn)賬");button4=newJButton("退出");button5=newJButton("修改密碼"); for(inti=0;i<7;i++) {add(newJLabel());} add(button1);add(newJLabel());add(newJLabel());add(button2); for(inti=0;i<8;i++){add(newJLabel());} add(button3);add(newJLabel()); add(newJLabel());add(button5); for(inti=0;i<17;i++){add(newJLabel());} add(button4); for(inti=0;i<7;i++){ add(newJLabel());}}} classClient01extendsJFrameimplementsActionListener{ Panel03panel1;JFrameframe; Client01(Strings){ super(s);Containercon=this.getContentPane();panel1=newPanel03(); con.add(panel1);panel1.button1.addActionListener(this); panel1.button2.addActionListener(this);panel1.button3.addActionListener(this); panel1.button4.addActionListener(this);panel1.button5.addActionListener(this); this.setVisible(true);this.pack(); } publicvoidactionPerformed(ActionEvente){ if(e.getActionCommand()=="取款"){ this.setVisible(false);newClient02("請(qǐng)選取取款金額");} elseif(e.getActionCommand()=="查詢"){ this.setVisible(false);newClient06("查詢服務(wù)");} elseif(e.getActionCommand()=="修改密碼"){ this.setVisible(false);newClient05("修改密碼服務(wù)");} elseif(e.getActionCommand()=="轉(zhuǎn)賬"){ this.setVisible(false);newClient04("顧客轉(zhuǎn)賬服務(wù)");} elseif(e.getActionCommand()=="退出"){ this.setVisible(false);newClient08("");}}} classbankSystem01{ publicstaticvoidmain(String[]args){ newClient01("顧客取款系統(tǒng)");}}//functionOperation.java附四修改密碼界面classPanel10extendsJPanel{ JLabellabel1,label2,label3;JPasswordFieldtext1,text2,text3;JButtonbutton1,button2; Panel10(){ setLayout(newGridLayout(10,6));label1=newJLabel("請(qǐng)輸入原密碼:"); label2=newJLabel("請(qǐng)輸入新密碼:");label3=newJLabel("再次確認(rèn)密碼:"); button1=newJButton("擬定");button2=newJButton("取消"); text1=newJPasswordField(6);text1.setEchoChar('*'); text2=newJPasswordField(6);text2.setEchoChar('*'); text3=newJPasswordField(6);text3.setEchoChar('*'); for(inti=0;i<=7;i++) add(newJLabel());add(label1);add(text1); for(inti=0;i<=9;i++)add(newJLabel());add(label2);add(text2); for(inti=0;i<=9;i++)add(newJLabel());add(label3);add(text3); for(inti=0;i<=8;i++)add(newJLabel());add(button1); add(newJLabel());add(newJLabel());add(button2);for(inti=0;i<=12;i++) add(newJLabel());}}classClient05extendsJFrameimplementsActionListener{Panel10panel10;JFrameframe=this;Client05(Strings){ super(s);Containercon=this.getContentPane(); panel10=newPanel10();con.add(panel10); panel10.button1.addActionListener(this);panel10.button2.addActionListener(this); this.setVisible(true);this.pack();}publicvoidactionPerformed(ActionEvente){ char[]passwords1=panel10.text1.getPassword(); char[]passwords2=panel10.text2.getPassword(); char[]passwords3=panel10.text3.getPassword(); if(e.getActionCommand()=="擬定"){ if(newString(passwords1).equals(newString(passwords2))){ this.setVisible(false);JOptionPane.showMessageDialog(frame,"輸入新密碼和和原密碼一致,請(qǐng)重新輸入。"); panel10.text1.setText("");panel10.text2.setText("");panel10.text3.setText(""); return;} if(newString(passwords2).equals(newString(passwords3))){ this.setVisible(false);JOptionPane.showMessageDialog(frame,"正修改原密碼,請(qǐng)等待");updateM(); }//程序依照輸入原密碼,查找數(shù)據(jù)庫表格user進(jìn)而修改密碼數(shù)據(jù)表數(shù)據(jù)。 else{JOptionPane.showMessageDialog(frame,"兩次輸入新密碼不一致,請(qǐng)重新輸入。"); panel10.text2.setText("");panel10.text3.setText("");}//} if(panel10.text1.getText().equals("")||panel10.text2.getText().equals("")||panel10.text3.getText().equals("")){JOptionPane.showMessageDialog(frame,"請(qǐng)輸入原密碼及新密碼!");return;} else{if(newString(passwords1).equals(newString(passwords2))){JOptionPane.showMessageDialog(frame,"輸入新密碼和原密碼一致,請(qǐng)重新輸入。");panel10.text2.setText("");panel10.text3.setText("");return;} if(newString(passwords2).equals(newString(passwords3))){JOptionPane.showMessageDialog(frame,"正修改原密碼,請(qǐng)等待");updateM

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論