




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
文獻(xiàn)綜述一、概述ATM自動取款機(jī)是由計(jì)算機(jī)控制持卡人自我服務(wù)型金融專用設(shè)備。ATM是英文AutomaticTellerMachine縮寫。ATM是最普遍自助銀行設(shè)備,可以提供最基本銀行服務(wù)之一,即出鈔交易,有些全功能產(chǎn)品還可以提供信封存款業(yè)務(wù)。在ATM自動取款機(jī)上也可以進(jìn)行賬戶查詢、修改密碼和轉(zhuǎn)賬業(yè)務(wù)。同步在制作這個系統(tǒng)過程中也應(yīng)用了數(shù)據(jù)庫知識,這個相對于想從事軟件開發(fā)人來說是比較重要內(nèi)容,這個也是本次設(shè)計(jì)重點(diǎn)知識,同步數(shù)據(jù)庫鏈接是必要要學(xué)會,由于這個是最核心內(nèi)容,培養(yǎng)自己堅(jiān)實(shí)邏輯表達(dá)能力和溝通能力,和培養(yǎng)自己良好文案能力,規(guī)定掌握ATM取款機(jī)詳細(xì)工作原理以及java簡樸系統(tǒng)設(shè)計(jì)辦法。二、內(nèi)容(一)ATM研究現(xiàn)狀眾所周知隨著信息時代科技飛速發(fā)展和隨著全球金融行業(yè)興起,使用ATM取款機(jī)、計(jì)算機(jī)信息技術(shù)以及計(jì)算機(jī)科學(xué)技術(shù)發(fā)展,給人們生活帶來了翻天覆地變化,同步這些技術(shù)在人們生活中運(yùn)用,隨著科學(xué)技術(shù)進(jìn)步,經(jīng)營方式轉(zhuǎn)變,解決信息系統(tǒng)內(nèi)容和形式也在發(fā)生變化。當(dāng)前,以計(jì)算機(jī)和通信技術(shù)為基本信息系統(tǒng)正處在蓬勃發(fā)展時期,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)時間和價值;并且在有效防止了某些非法業(yè)務(wù)操作,對于某些復(fù)雜信息,就可以充分發(fā)揮它們優(yōu)越性。據(jù)悉,中華人民共和國近來幾年ATM增長速度維持在10%以上,而世界其他國家ATM增長率大體為3%。當(dāng)前,中華人民共和國已經(jīng)成為全球最大ATM市場。但是,市場研究機(jī)構(gòu)同步以為,國內(nèi)此后幾年發(fā)展勢頭將較過去幾年慢下來,不再維持過去兩位數(shù)高增長率,由于大都市ATM擁有量已達(dá)一定限度,而二線都市ATM則需要一定配套設(shè)施方能開始高速度發(fā)展。當(dāng)前,國內(nèi)ATM最多只有七八種功能,相對于其他國家,如新加坡,功能的確少某些。新加坡ATM交易功能多達(dá)40各種。在發(fā)達(dá)國家,各種新技術(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隨時可以提供應(yīng)中華人民共和國商業(yè)銀行。但ATM是一種終端,其功能需要銀行主機(jī)配合。并且中華人民共和國銀行業(yè)正對外資銀行加速開放,進(jìn)入中華人民共和國外資銀行此后一定會將最新ATM帶入中華人民共和國。(二)ATM取款機(jī)系統(tǒng)影響ATM取款機(jī)誕生可以說是世界金融行業(yè)一大進(jìn)步,也是歷史性轉(zhuǎn)折點(diǎn)。ATM自動取款機(jī)不但能提高了銀行業(yè)務(wù)解決能力,還能大大節(jié)約人們?nèi)″X所耗費(fèi)時間和價值;并且在有效防止了某些非法業(yè)務(wù)操作,對于某些復(fù)雜信息,就可以充分發(fā)揮它們優(yōu)越性。ATM系統(tǒng)對金融業(yè)變革產(chǎn)生了和正在產(chǎn)生著深遠(yuǎn)影響。從當(dāng)代金融業(yè)新概念來看,ATM系統(tǒng)就是電子信息技術(shù)在金融業(yè)金融管理一種應(yīng)用。它避免了對于顧客信息資料、以及資金記錄等用人工辦理。數(shù)據(jù)信息解決工作量大,繁瑣,數(shù)據(jù)解決手工操作,工作量大,工作時需實(shí)時認(rèn)真辦理,一但浮現(xiàn)錯誤將帶來很大損失。從而解決了顧客信息和資金信息繁雜問題,對于ATM取款系統(tǒng)數(shù)據(jù)記錄和核算等都是采用卡號進(jìn)行核對,進(jìn)而實(shí)現(xiàn)了數(shù)據(jù)精確性、完整性、及時性,避免了工作人員和管理員工作時間一長,再進(jìn)行查詢,就得在眾多資料中翻閱、查找了,導(dǎo)致查詢費(fèi)時、費(fèi)力。同步也得顧客可以安全進(jìn)行操作,便捷,迅速進(jìn)行取款以及完畢某些商業(yè)上交易,大大提高辦公效率,可以及時、精確、有效幫顧客辦理各種繁瑣手續(xù),也減緩了銀行工作人員壓力。(三)ATM自動取款機(jī)系統(tǒng)展望近年來國內(nèi)信息產(chǎn)業(yè)發(fā)展迅速,手工管理方式在銀行帳目管理等需要大量事務(wù)解決應(yīng)用中已顯得不相適應(yīng),采用IT技術(shù)提高服務(wù)質(zhì)量和管理水平勢在必行。當(dāng)前,對外開放必然趨勢使銀行業(yè)直面外國銀行巨頭直接挑戰(zhàn),因而,銀行必要提高其工作效率,改進(jìn)其工作環(huán)境。這樣,帳戶管理信息化也勢在必行。此外,ATM需要是更高人性化和更強(qiáng)大中間業(yè)務(wù),當(dāng)前ATM都是穿墻或者是大堂,如果要重新設(shè)計(jì)話,可以設(shè)計(jì)更輕便但是又安全ATM,例如說可以放在汽車上,火車上,甚至是飛機(jī)上。將來ATM應(yīng)當(dāng)不是按鍵式,也許會發(fā)展成語音操作式,只要人機(jī)語音對話就能實(shí)現(xiàn),這對某些殘障人士更有協(xié)助。(四)開發(fā)語言和開發(fā)平臺選取與簡介本文運(yùn)用面向?qū)ο箝_發(fā)辦法,聯(lián)系實(shí)際ATM應(yīng)用界面,采用MyEclipse開發(fā)工具,以windows7操作系統(tǒng)、MySql小型數(shù)據(jù)庫為后臺以及運(yùn)用java語言和通過實(shí)現(xiàn)JDBC數(shù)據(jù)庫連接開發(fā)出了一套模仿自動取款機(jī)系統(tǒng)。Java是一種可以撰寫跨平臺應(yīng)用軟件面向?qū)ο蟪绦蛟O(shè)計(jì)語言,是由SunMicrosystems公司于1995年5月推出Java程序設(shè)計(jì)語言和Java平臺(即JavaSE,JavaEE,JavaME)總稱。Java技術(shù)具備卓越通用性、高效性、平臺移植性和安全性,廣泛應(yīng)用于個人PC、數(shù)據(jù)中心、游戲控制臺、科學(xué)超級計(jì)算機(jī)、移動電話和互聯(lián)網(wǎng),同步擁有全球最大開發(fā)者專業(yè)社群。在全球云計(jì)算和移動互聯(lián)網(wǎng)產(chǎn)業(yè)環(huán)境下,Java更具備了明顯優(yōu)勢和遼闊前景。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),這樣就增長了速度并提高了靈活性。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公司級工作平臺(MyEclipseEnterpriseWorkbench,簡稱MyEclipse)是對EclipseIDE擴(kuò)展,運(yùn)用它咱們可以在數(shù)據(jù)庫和JavaEE開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器整合方面極大提高工作效率。它是功能豐富JavaEE集成開發(fā)環(huán)境,涉及了完備編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse是一種十分先進(jìn)用于開發(fā)Java,J2EEEclipse插件集合,MyEclipse功能非常強(qiáng)大,支持也十分廣泛,特別是對各種開源產(chǎn)品支持十分不錯。MyEclipse當(dāng)前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC數(shù)據(jù)庫鏈接工具等多項(xiàng)功能??梢哉fMyEclipse幾乎囊括了當(dāng)前所有主流開源產(chǎn)品專屬eclipse開發(fā)工具??偨Y(jié)本文運(yùn)用java語言面向?qū)ο?、跨平臺、分布應(yīng)用等特點(diǎn),采用MyEclipse開發(fā)工具,以windows7操作系統(tǒng)、MySql數(shù)據(jù)庫為后臺開發(fā)出了一套自動取款機(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)營和管理模式。可覺得客戶提供以便、快捷、安全服務(wù),也能有效減少銀行運(yùn)營成本,這是銀行管理系統(tǒng)追求目的。當(dāng)前,對于當(dāng)代化銀行運(yùn)營規(guī)定是客戶可以實(shí)現(xiàn)隨時隨處業(yè)務(wù)交易,銀行職工可以進(jìn)行高效合理工作管理,實(shí)現(xiàn)銀行業(yè)務(wù)電子化。參照文獻(xiàn)[1]孫衛(wèi)琴.Java面向?qū)ο蟪绦蛟O(shè)計(jì)[M].北京:電子工業(yè)出版社,.7[2]王國輝,呂海濤.Java數(shù)據(jù)庫系統(tǒng)開發(fā)案例精選[M].北京:人民郵電出版社[3]陳國君,陳錫禎.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)時代,科學(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ù)與評價七個某些,運(yùn)用JAVA語言強(qiáng)大功能,并具備面向?qū)ο箝_發(fā)等特點(diǎn),聯(lián)系實(shí)際ATM應(yīng)用界面,采用MyEclipse開發(fā)工具,以windows7操作系統(tǒng)、MySQL數(shù)據(jù)庫為后臺開發(fā)出了一套自動取款機(jī)系統(tǒng),基本上實(shí)現(xiàn)了賬戶查詢、修改密碼、轉(zhuǎn)賬和取款等業(yè)務(wù)。針對這一系列問題,咱們運(yùn)用JAVA語言在MyEclipse下設(shè)計(jì)了這樣一種系統(tǒng),使得顧客可以安全進(jìn)行操作,便捷,迅速進(jìn)行取款以及完畢某些商業(yè)上交易,大大提高辦公效率,可以及時、精確、有效幫顧客辦理各種繁瑣手續(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)營 19135565.系統(tǒng)維護(hù) 19111126.系統(tǒng)評價 2078417.結(jié)束語 2010468參照文獻(xiàn) 2226434附件(論文源代碼) 2314818附一主界面 2326952附二登陸界面 2413306附三功能菜單界面 267463附四修改密碼界面 2718949附五結(jié)束對話框界面 3032168附六退出信用卡界面 306582附七查詢余額界面 3112183附八取款界面 3217155附十查詢服務(wù)界面 344098附十一查詢顧客信息界面 3516364附十二轉(zhuǎn)賬界面 369581道謝 391.ATM系統(tǒng)開發(fā)辦法1.1系統(tǒng)辦法概述軟件開發(fā)辦法是一種使用早已定義好技術(shù)集及符號表達(dá)習(xí)慣來組織軟件生產(chǎn)過程。開發(fā)目的是在規(guī)定投資和時間內(nèi),開發(fā)出符合顧客需求高質(zhì)量軟件。任何系統(tǒng)均有其產(chǎn)生、發(fā)展、成熟、消滅或更新?lián)Q代過程。這個過程稱為系統(tǒng)生命周期。系統(tǒng)生命周期法提供思路、邏輯、技能、工具與工作規(guī)范,是系統(tǒng)開發(fā)、解決管理信息系統(tǒng)建設(shè)中各類實(shí)際問題重要基本,對復(fù)雜系統(tǒng)建設(shè)具備重要指引意義。系統(tǒng)開發(fā)是管理信息系統(tǒng)建設(shè)中工作任務(wù)最為繁重,也是最重要一種階段。從項(xiàng)目開發(fā)到結(jié)束整個過程,稱為系統(tǒng)開發(fā)生命周期。系統(tǒng)開發(fā)生命周期普通分為系統(tǒng)分析、系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)行。構(gòu)造化生命周期法是一種面向數(shù)據(jù)流開發(fā)辦法。該辦法簡樸實(shí)用、應(yīng)用較廣、技術(shù)成熟,辦法指引思想是自頂向下、逐漸求精,基本原則是能動分解與抽象,特別適合于數(shù)據(jù)解決領(lǐng)域問題,隨著開發(fā)項(xiàng)目規(guī)模變化,該辦法也就暴漏出了它缺陷:(1)對于規(guī)模大、特別復(fù)雜項(xiàng)目不太適應(yīng)(2)難于解決軟件重用問題(3)難于適應(yīng)需求變化問題,難于徹底解決維護(hù)問題。到了90年代,主流開發(fā)辦法是面向?qū)ο箝_發(fā)辦法,它基本出發(fā)點(diǎn)是盡量按照人類結(jié)識世界辦法和思維方式來分析和解決問題。面向?qū)ο筠k法支持軟件重用和原型概念,提高了系統(tǒng)開發(fā)效率,因而得到了ATM系統(tǒng)各計(jì)算機(jī)界極大關(guān)注。該辦法涉及面向?qū)ο蠓治?、面向?qū)ο笤O(shè)計(jì)、面向?qū)ο髮?shí)現(xiàn)。系統(tǒng)開發(fā)工作自動化、計(jì)算機(jī)化是提高系統(tǒng)開發(fā)效率與質(zhì)量重要途徑。計(jì)算機(jī)輔助軟件工程(簡記為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ǎo)致系統(tǒng)開發(fā)工作主線變化。1.2本系統(tǒng)用法概述比較各種開發(fā)辦法特點(diǎn),結(jié)合銀行取款系統(tǒng)實(shí)際狀況,整個系統(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ā)平臺MyEclipse。2.系統(tǒng)分析系統(tǒng)分析是管理系統(tǒng)開發(fā)起始階段,也是MIS(管理信息系統(tǒng))開發(fā)工作中最重要一環(huán)。系統(tǒ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)活動,也是系統(tǒng)開發(fā)第一項(xiàng)活動,初步調(diào)查重要目的是從系統(tǒng)分析人中和管理人員角度看新系統(tǒng)開發(fā)有無必要和也許。通過親身體驗(yàn)總結(jié)各銀行ATM提款機(jī)界面流程,得到本系統(tǒng)開發(fā)重要流程界面(重要功能取款、轉(zhuǎn)賬、查詢、修改密碼等)。并決定親自開發(fā)取款機(jī)系統(tǒng),測試自己水平。2.2可行性研究可行性研究(FeasibilityStudy),是指在調(diào)查基本上,通過市場分析、技術(shù)分析、財(cái)務(wù)分析和國民經(jīng)濟(jì)分析,對各種投資項(xiàng)目技術(shù)可行性與經(jīng)濟(jì)合理性進(jìn)行綜合評價??尚行匝芯炕救蝿?wù),是對新建或改建項(xiàng)目重要問題,從技術(shù)經(jīng)濟(jì)角度進(jìn)行全面分析研究,并對其投產(chǎn)后經(jīng)濟(jì)效果進(jìn)行預(yù)測,在既定范疇內(nèi)進(jìn)行方案論證選取,以便最合理地運(yùn)用資源,達(dá)到預(yù)定社會效益和經(jīng)濟(jì)效益??尚行匝芯勘匾獜南到y(tǒng)總體出發(fā),對技術(shù)、經(jīng)濟(jì)、財(cái)務(wù)、商業(yè)以至環(huán)保、法律等各種方面進(jìn)行分析和論證,以擬定建設(shè)項(xiàng)目與否可行,為對的進(jìn)行投資決策提供科學(xué)根據(jù)。項(xiàng)目可行性研究是對多因素、多目的系統(tǒng)進(jìn)行不斷分析研究、評價和決策過程。它需要有各方面知識專業(yè)人才通力合伙才干完畢??尚行匝芯坎坏珣?yīng)用于建設(shè)項(xiàng)目,還可應(yīng)用于科學(xué)技術(shù)和工業(yè)發(fā)展各個階段和各個方面??尚行匝芯磕烤褪怯米钚〈鷥r在最短時間內(nèi)擬定該軟件項(xiàng)目與否可以開發(fā),與否值得去開發(fā)。實(shí)質(zhì)上就是進(jìn)行一次簡化、壓縮了需求分析、設(shè)計(jì)過程。可從如下三個方面分析研究每種解決問題可行性:a.技術(shù)可行性:對項(xiàng)目功能、性能、限制條件進(jìn)行分析,擬定在既有資源條件下項(xiàng)目與否能實(shí)現(xiàn)。(開發(fā)風(fēng)險、資源有效性、技術(shù))b.社會可行性:要開發(fā)項(xiàng)目與否存在任何侵犯、妨礙等責(zé)任問題,要開發(fā)項(xiàng)目運(yùn)營方式在顧客組織內(nèi)與否行得通,既有管理制度、人員素質(zhì)、操作方式與否可行。c.經(jīng)濟(jì)可行性:進(jìn)行開發(fā)成本估算以及理解得到效益評估,擬定要開發(fā)項(xiàng)目與否值得投資開發(fā)。對銀行業(yè)來說,是靠存款貸款之間差額來生存,因此要盡量拉攏更多客戶使用本行,ATM取款機(jī)是為了能讓為客戶更便捷服務(wù),從而更具備吸引力。從銀行角度出發(fā)還是非常樂意把一某些資金投入到這方面。2.3系統(tǒng)詳細(xì)調(diào)查及提出系統(tǒng)詳細(xì)調(diào)查是在可行性研究基本上進(jìn)一步對現(xiàn)行系統(tǒng)進(jìn)行全面、進(jìn)一步調(diào)查和分析,弄清現(xiàn)行系統(tǒng)運(yùn)營狀況,發(fā)現(xiàn)其薄弱環(huán)節(jié),保證新系統(tǒng)比原系統(tǒng)更有效。詳細(xì)調(diào)查重點(diǎn)在于對系統(tǒng)內(nèi)部狀況更詳細(xì)和詳細(xì)理解,從而可以提供在新系統(tǒng)建設(shè)時改進(jìn)或更換內(nèi)容。明確顧客信息需求,明確新系統(tǒng)邏輯功能。重要工作是對顧客需求進(jìn)行進(jìn)一步調(diào)查分析,創(chuàng)立新系統(tǒng)邏輯模型。邏輯模型重要以數(shù)據(jù)流程圖和數(shù)據(jù)字典為重要描述工具。普通登陸模塊只輸入賬號、密碼,固然在實(shí)際應(yīng)用中沒有規(guī)定顧客輸入賬號,這是由于在磁卡上有個感應(yīng)區(qū),設(shè)計(jì)此模塊時加上了驗(yàn)證碼。銀行帳目管理系統(tǒng)是針對銀行帳目尋常管理而設(shè)計(jì)。銀行操作系統(tǒng)不但規(guī)定操作以便并且規(guī)定界面簡潔,它需要實(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)證碼輸入賬號輸入密碼退卡查卡信息轉(zhuǎn)賬修改密碼取款查詢余額驗(yàn)證碼輸入賬號輸入密碼 該系統(tǒng)重要實(shí)現(xiàn)銀行卡顧客存取款,以及進(jìn)行某些簡樸查詢和轉(zhuǎn)賬業(yè)務(wù),同步可以在系統(tǒng)里面進(jìn)行客戶密碼修改,實(shí)現(xiàn)簡樸機(jī)器與客戶交互。圖3-2業(yè)務(wù)流程圖:待機(jī)界面待機(jī)界面(按任意鍵進(jìn)入登錄界面)登錄界面登錄界面(卡號、密碼、驗(yàn)證碼、取消等選項(xiàng))密碼錯誤,請從新輸入!選取界面(查詢、取款、轉(zhuǎn)帳、修改密碼、取消)密碼錯誤,請從新輸入!選取界面(查詢、取款、轉(zhuǎn)帳、修改密碼、取消)修改密碼轉(zhuǎn)帳取款查詢修改密碼轉(zhuǎn)帳取款查詢交易完畢交易完畢點(diǎn)擊退出點(diǎn)擊退出謝謝使用,再會!謝謝使用,再會!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)營環(huán)境。3.1開發(fā)環(huán)境(1)、軟件開發(fā)工具選取本系統(tǒng)采用Java作為編程語言,采用MyEclipse軟件開發(fā)環(huán)境,MyEclipse對數(shù)據(jù)庫應(yīng)用強(qiáng)大支持,使數(shù)據(jù)庫應(yīng)用開發(fā)功能更強(qiáng)大,控制更靈活,編譯后程序運(yùn)營速度更快。MyEclipse公司級工作平臺(MyEclipseEnterpriseWorkbench,簡稱MyEclipse)是對EclipseIDE擴(kuò)展,運(yùn)用它可以在數(shù)據(jù)庫和J2EE開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器整合方面極大提高工作效率。它是功能豐富J2EE集成開發(fā)環(huán)境,涉及了完備編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。(2)、數(shù)據(jù)庫管理系統(tǒng)選取由于本次設(shè)計(jì)所采用是MySql小型數(shù)據(jù)庫,這種數(shù)據(jù)庫用來存儲少量數(shù)據(jù),在設(shè)計(jì)和實(shí)行上有很大優(yōu)勢,依照之前所做功能分析,以及ATM柜員機(jī)自身所具備功能。MySQL是一種小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQLAB公司,在1月16號被Sun公司收購。MySQL被廣泛地應(yīng)用在Internet上中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,特別是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了減少網(wǎng)站總體擁有成本而選取了MySQL作為網(wǎng)站數(shù)據(jù)庫。 (3)、開發(fā)平臺選取windows平臺以其全新界面簡樸快捷操作方式而成為軟件開發(fā)趨勢。依照本系統(tǒng)運(yùn)營環(huán)境和實(shí)際狀況,選取Windows7(旗艦版)作為開發(fā)測試和運(yùn)營平臺。3.2系統(tǒng)總體構(gòu)造設(shè)計(jì)系統(tǒng)總體構(gòu)造是指整個系統(tǒng)由哪些某些構(gòu)成,以及各某些在物理上、邏輯上互有關(guān)系,涉及硬件某些和軟件某些,該設(shè)計(jì)涉及:系統(tǒng)總體布局方案擬定、軟件系統(tǒng)總體構(gòu)造設(shè)計(jì)、計(jì)算機(jī)硬件方案選取和設(shè)計(jì)、數(shù)據(jù)存儲總體設(shè)計(jì)。依照業(yè)務(wù)流程圖轉(zhuǎn)化為軟件體系構(gòu)造,進(jìn)而用軟件構(gòu)造圖建立物理模型,得系統(tǒng)活動圖,如下:圖4-1系統(tǒng)構(gòu)造圖:圖4-2系統(tǒng)活動圖:3.3系統(tǒng)詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)實(shí)現(xiàn)依照構(gòu)造程序設(shè)計(jì)原理,將每個模塊功能用相應(yīng)原則語句表達(dá)出來。涉及代碼設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)、顧客界面設(shè)計(jì)、解決過程設(shè)計(jì)。代碼設(shè)計(jì)是指把系統(tǒng)管理對象數(shù)字化或字符化,便于計(jì)算機(jī)解決。遵循代碼設(shè)計(jì)原則:合理性、簡要性、系統(tǒng)性、穩(wěn)定性、可擴(kuò)充性、原則化、便于辨認(rèn)和記憶。數(shù)據(jù)庫設(shè)計(jì)指對系統(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ù)組織相對獨(dú)立性,簡化其構(gòu)造,即用規(guī)范化辦法設(shè)施數(shù)據(jù)存儲構(gòu)造,提高數(shù)據(jù)可維護(hù)性、完整性、一致性。3.3.1數(shù)據(jù)庫設(shè)計(jì)通過收集和分析顧客需求,擬定了數(shù)據(jù)庫要保存信息,我將本次數(shù)據(jù)庫設(shè)計(jì)為二個如下所示表:1、客戶表(user)CardID字段信息字段名稱類型寬度小數(shù)位數(shù)空特性姓名userNamevarchar10N性別userSexvarchar2N身份證號userIDvarchar10N卡號userCardNovarchar10N圖4-3顧客信息設(shè)計(jì)表2、賬戶表(card)CardID字段信息字段名稱類型寬度小數(shù)位數(shù)空特性卡號cardNovarchar10N賬戶余額cardBalancedecimal102N密碼cardPassWordvarchar6N圖4-4賬戶信息設(shè)計(jì)表3.3.2界面模塊設(shè)計(jì)顧客界面設(shè)計(jì)當(dāng)前已成為評價軟件質(zhì)量一條重要指標(biāo),所謂顧客界面是指軟件系統(tǒng)與顧客交互接口,普通涉及輸入設(shè)計(jì)、輸出設(shè)計(jì)、人機(jī)對話界面設(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自動取款系統(tǒng)"); }}當(dāng)插入鈔票卡之后浮現(xiàn)界面,系統(tǒng)浮現(xiàn)選取中英文登入方式,點(diǎn)擊按鈕之后(中文)浮現(xiàn)后對話框:圖4-6登錄界面登錄模塊依然采用是密碼驗(yàn)證方式,需要顧客輸入卡號、密碼和驗(yàn)證碼然后點(diǎn)擊確認(rèn)進(jìn)行驗(yàn)證,程序?qū)⒁勒蛰斎肟ㄌ柌檎颐艽a,第一沒有找到提示,找到繼續(xù)下一步,在這里我用了驗(yàn)證碼方式,輸入對的繼續(xù),程序系統(tǒng)將依照卡號調(diào)用后臺數(shù)據(jù)庫查找與卡號相應(yīng)密碼并與顧客輸入密碼相對比。密碼對的繼續(xù),否則當(dāng)輸入次數(shù)達(dá)到三次時,系統(tǒng)將提示你與前臺服務(wù)員獲得聯(lián)系。第二如果沒有找到,提示輸入賬號錯誤。重要代碼如下:(1)從后臺獲得賬號信息,用于與顧客輸入賬號密碼對照 Class.forName("com.mysql.jdbc.Driver");//加載驅(qū)動Connectioncon=DriverManager.getConnection(url,"root", null);//建立連接Statementsql=con.createStatement();//獲得一種statement對象 Stringql=panel1.textB.getText();//獲取賬號ResultSetrs=sql.executeQuery("selectcnimafromcardwhere cno="+ql+"");//依照賬號搜索密碼,獲得成果集系統(tǒng)生成驗(yàn)證碼并驗(yàn)證顧客輸入驗(yàn)證碼publicvoidactionPerformed(ActionEvente){ char[]passwords=panel1.textA.getPassword(); Stringpassword=newString("112626");//設(shè)立賬號初始密碼為112626,每輸入一次均有提示,在持續(xù)輸入三次不對的后系統(tǒng)自動退出。 if(e.getActionCommand().equals("擬定")) if(panel1.textC.getText().equals(panel1.label3.getText())) {heshi(); }else{ JOptionPane.showMessageDialog(frame,"你輸入驗(yàn)證碼有誤, 請重新輸入。"); } elseif(e.getActionCommand()=="取消"){ this.setVisible(false); newClient08(""); } }//當(dāng)輸入驗(yàn)證碼有誤是彈出一種提示窗口圖4-7首頁設(shè)計(jì)首頁設(shè)計(jì)重要是設(shè)計(jì)了查詢余額、取款、轉(zhuǎn)賬、密碼更改及退出按鈕等ATM某些原則操作界面。重要代碼如下:本界面設(shè)立了五個按鈕 button1=newJButton("查詢"); button2=newJButton("取款"); button3=newJButton("轉(zhuǎn)賬"); button4=newJButton("退出");button5=newJButton("修改密碼");(2)點(diǎn)擊以上五個按鈕可以觸發(fā)進(jìn)入相應(yīng)操作界面publicvoidactionPerformed(ActionEvente){ if(e.getActionCommand()=="取款"){ this.setVisible(false); newClient02("請選取取款金額"); } 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查詢模塊在此模塊中,將通過顧客所使用賬戶編號來進(jìn)行余額查詢,將顯示賬戶實(shí)際余額,點(diǎn)擊“查詢”按鈕,通過按鈕Action辦法進(jìn)行辦法調(diào)用,就可以實(shí)現(xiàn)查詢功能并把查詢到賬戶余額顯示到界面上。當(dāng)顧客點(diǎn)擊“返回”時,程序返回到初始主界面。圖4-9查詢卡信息模塊此功能用來顯示持卡人基本信息涉及姓名、性別、身份證、卡號等,點(diǎn)擊查詢按鈕后系統(tǒng)將依照與輸入卡號相一致字段信息,顯示輸出在該頁面上。當(dāng)點(diǎn)擊取消按鈕時系統(tǒng)將返回到初始主界面。圖4-10修改密碼模塊此模塊需要顧客輸入舊密碼后,兩次輸入新密碼進(jìn)行確認(rèn),然后,點(diǎn)擊擬定,修改密碼,成功后給出提示信息,其中考慮到某些顧客輸入錯誤問題,我做出了某些異常判斷和解決,空輸入,輸入兩次新密碼不匹配和原密碼不對的等問題。修改更新密碼完畢依然依托按鈕控件Action事件完畢。修改密碼重要代碼如下:if(newString(passwords1).equals(newString(passwords2))){ this.setVisible(false); JOptionPane.showMessageDialog(frame,"輸入新密碼和和原密碼一致,請重新輸入。"); panel10.text1.setText(""); panel10.text2.setText(""); panel10.text3.setText(""); return; } if(newString(passwords2).equals(newString(passwords3))){ this.setVisible(false); JOptionPane.showMessageDialog(frame,"正修改原密碼,請等待"); updateM(); }//程序依照輸入原密碼,查找數(shù)據(jù)庫表格user進(jìn)而修改密碼數(shù)據(jù)表數(shù)據(jù)。 else{ JOptionPane.showMessageDialog(frame,"兩次輸入新密碼不一致,請重新輸入。"); panel10.text2.setText(""); panel10.text3.setText(""); } //} if(panel10.text1.getText().equals("")||panel10.text2.getText().equals("")||panel10.text3.getText().equals("")){ JOptionPane.showMessageDialog(frame,"請輸入原密碼及新密碼!"); return; } else{ if(newString(passwords1).equals(newString(passwords2))){ JOptionPane.showMessageDialog(frame,"輸入新密碼和原密碼一致,請重新輸入。");panel10.text2.setText("");panel10.text3.setText("");return;} if(newString(passwords2).equals(newString(passwords3))){ JOptionPane.showMessageDialog(frame,"正修改原密碼,請等待");updateM();}//程序依照輸入原密碼,查找數(shù)據(jù)庫表格user進(jìn)而修改密碼數(shù)據(jù)表數(shù)據(jù)。 else{ JOptionPane.showMessageDialog(frame,"兩次輸入新密碼不一致,請重新輸入。"); panel10.text2.setText(""); panel10.text3.setText("");}}圖4-11轉(zhuǎn)賬業(yè)務(wù)模塊在此模塊,顧客依照需要自己輸入卡號及欲轉(zhuǎn)金額,這里設(shè)計(jì)其實(shí)最后歸結(jié)于詳細(xì)SQL語句而言,系統(tǒng)將依照輸入卡號查找與之相應(yīng)顧客數(shù)據(jù)表,從而修改金額。第一,系統(tǒng)一方面依照本卡號,查找本卡金額與輸入金額對比,如果找到,且金額容許就提示轉(zhuǎn)賬成功。第二,如果,沒有找到輸入卡號,提示沒有該顧客,重新輸入欲轉(zhuǎn)賬號。圖4-12取款模塊取款模塊是一種相對比較重要模塊,由于ATM機(jī)就要功能就是取款業(yè)務(wù),顧客選取賬戶名點(diǎn)擊取款金額然后點(diǎn)擊取款進(jìn)行取款操作,因此幾種數(shù)字按鈕設(shè)計(jì)比較大,以便顧客操作,其中某些提示信息也相應(yīng)地給出,以防顧客誤操作。由于此模塊不需要顧客輸入,因此沒有對輸入異常解決。依照所查資料我所采用SQL語句調(diào)用辦法是預(yù)解決指令辦法,這種辦法對于解決此程序具備很大益處,并且可以防止非法SQL注入。當(dāng)顧客點(diǎn)擊數(shù)組按鈕后系統(tǒng)將依照輸入卡號查找卡號余額并與按鈕數(shù)字相對比,如果選取金額不不大于本卡余額將提示(不容許透支)。圖4-13退卡模塊退卡模塊相對簡樸多了,沒有什么詳細(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ì)方案購買和安裝計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)、建立數(shù)據(jù)庫、編程與調(diào)試、整頓基本數(shù)據(jù)、培訓(xùn)操作人員、程序試運(yùn)營和系統(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è)計(jì)是指使用選定程序設(shè)計(jì)語言,把通過概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)所得到信息解決過程,轉(zhuǎn)換成能在計(jì)算機(jī)上運(yùn)營程序源代碼。本系統(tǒng)中用MyEclipse編程工具,采用構(gòu)造化編程辦法對模塊進(jìn)行程序編寫。詳細(xì)源程序見附件。4.1.2程序調(diào)試軟件測試目是盡量多發(fā)現(xiàn)程序中錯誤,而調(diào)試則是在進(jìn)行了成功測試之后才開始工作。程序調(diào)試是指在系統(tǒng)測試基本上,將發(fā)現(xiàn)問題進(jìn)行改正,使之符合設(shè)計(jì)原則。本系統(tǒng)采用重要辦法如下:單元測試:是指原程序中每個程序單元進(jìn)行測試,檢查各個模塊與否正的確現(xiàn)規(guī)定功能,從而發(fā)現(xiàn)模塊在編碼中或算法中錯誤。采用白盒法對各模塊進(jìn)行邏輯錯誤排查,用黑盒法錄入某些有特性數(shù)據(jù)從不同角度驗(yàn)證成果。集成測試:在單元測試基本上,將所有模塊按照設(shè)計(jì)規(guī)定組裝成一種完整系統(tǒng)進(jìn)行測試。確認(rèn)測試(有效性測試):它任務(wù)是檢查軟件功能與性能與否與需求規(guī)格闡明書中擬定指標(biāo)相符合。普通分為用黑盒進(jìn)行確認(rèn)測試,再檢查軟件所有文檔完整性、對的性——軟件配備審查。4.2試運(yùn)營系統(tǒng)試運(yùn)營是指對系統(tǒng)運(yùn)營環(huán)境和資源進(jìn)行設(shè)立、系統(tǒng)運(yùn)營和控制參數(shù)設(shè)定、數(shù)據(jù)加載以及調(diào)節(jié)系統(tǒng)與業(yè)務(wù)工作同步等。系統(tǒng)維護(hù)系統(tǒng)維護(hù)是軟件生存周期中時間最長一種階段,所耗費(fèi)精力和費(fèi)用也是最多一種階段,系統(tǒng)維護(hù)目是保證系統(tǒng)中各個要素隨著環(huán)境變化始終處在最新、對的工作狀態(tài)。系統(tǒng)維護(hù)是信息系統(tǒng)可靠運(yùn)營重要技術(shù)保障,咱們應(yīng)予以足夠注重。系統(tǒng)維護(hù)內(nèi)容有校正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)和防止性維護(hù)四種。校正性維護(hù):為了辨認(rèn)和糾正錯誤,修改軟件性能上缺陷,進(jìn)行擬定和修改錯誤過程。適應(yīng)性維護(hù):為了使應(yīng)用軟件適應(yīng)變化而修改軟件過程完善性維護(hù):為了適應(yīng)變化,應(yīng)用軟件本來功能和性能需要擴(kuò)充和增強(qiáng)。從而達(dá)到提高軟件運(yùn)營效率,增強(qiáng)軟件性能而進(jìn)行維護(hù)。(4)防止性維護(hù):為了提高軟件可維護(hù)性和可靠性而對軟件修改。6.系統(tǒng)評價系統(tǒng)評價應(yīng)是貫穿系統(tǒng)整個生命周期各個階段重要決策手段和工作環(huán)節(jié)。狹義上系統(tǒng)評價是指系統(tǒng)投入運(yùn)營后從功能性能、經(jīng)濟(jì)效益、社會效益上評價本系統(tǒng)基本實(shí)現(xiàn)了取款、查詢余額、轉(zhuǎn)賬、修改密碼等功能,但由于時間短、知識水平有限,經(jīng)驗(yàn)局限性,系統(tǒng)仍存在局限性,該系統(tǒng)重要有如下特點(diǎn):1、程序可讀性強(qiáng),易懂易維護(hù)2、顧客界面簡潔,以便了顧客使用。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ì)上也還存在著諸多,諸多事沒有什么用代碼,我想是由于時間和經(jīng)驗(yàn)問題,后來多練習(xí)就必定能提高,UI設(shè)計(jì)方面,仔細(xì)地看,尚有某些小問題,系統(tǒng)運(yùn)營時警告就多達(dá)36處,但不會影響程序運(yùn)營,只會在美觀方面有一定影響,此后一定改進(jìn)。7.結(jié)束語 1.通過java編寫簡樸ATM登錄系統(tǒng)設(shè)計(jì),我不但復(fù)習(xí)了上學(xué)期java編程設(shè)計(jì)基本知識,并且增強(qiáng)了我對java語言領(lǐng)悟和應(yīng)用,同步也更深刻懂得了學(xué)好學(xué)會了并不是代表可以真正在實(shí)踐中運(yùn)用得流暢,這次實(shí)踐給了咱們一種既動手又動腦獨(dú)立實(shí)踐機(jī)會,但其中也包括了自我尋找資料能力和同窗間合伙能力。這個系統(tǒng)將理論和實(shí)踐相結(jié)合,提高自己分析、解決問題能力,并且讓我明白了計(jì)算機(jī)技術(shù)一定要從實(shí)際出發(fā)才干真正提高自己能力。 2.通過了一種多月設(shè)計(jì)和編寫這個系統(tǒng),我深刻結(jié)識到了自己局限性和缺陷,自己處在什么水平,和同窗相比自己差距有多大,但是我也發(fā)現(xiàn)了自己長處和長處,不論怎么樣,通過這次學(xué)習(xí),我懂得了如何取長補(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]王國輝,呂海濤.Java數(shù)據(jù)庫系統(tǒng)開發(fā)案例精選[M].北京:人民郵電出版社.[7]陳國君,陳錫禎.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("請輸入卡號:");label1=newJLabel("請輸入密碼:"); label3=newJLabel();label4=newJLabel("請輸入驗(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;//有改動請注意 //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è)立賬號初始密碼為112626,每輸入一次均有提示,在持續(xù)輸入三次不對的后系統(tǒng)自動退出。 if(e.getActionCommand().equals("擬定")) if(panel1.textC.getText().equals(panel1.label3.getText())){ heshi(); }else{ JOptionPane.showMessageDialog(frame,"你輸入驗(yàn)證碼有誤,請重新輸入。");} elseif(e.getActionCommand()=="取消"){ this.setVisible(false);newClient08("");}} publicvoidheshi(){ if(panel1.textA.getText().equals("") ||panel1.textB.getText().equals("")){ JOptionPane.showMessageDialog(frame,"請輸入賬號、密碼!");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();//獲取賬號 ResultSetrs=sql.executeQuery("selectcnimafromcardwherecno=" +ql+"");//依照賬號搜索密碼 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ī)會,請你再仔細(xì)想想.");panel1.textA.setText(""); }else{ JOptionPane.showMessageDialog(frame,"對不起,你輸入密碼次數(shù)達(dá)三次,下次再會。");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("請選取取款金額");} 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("請輸入原密碼:"); label2=newJLabel("請輸入新密碼:");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,"輸入新密碼和和原密碼一致,請重新輸入。"); panel10.text1.setText("");panel10.text2.setText("");panel10.text3.setText(""); return;} if(newString(passwords2).equals(newString(passwords3))){ this.setVisible(false);JOptionPane.showMessageDialog(frame,"正修改原密碼,請等待");updateM(); }//程序依照輸入原密碼,查找數(shù)據(jù)庫表格user進(jìn)而修改密碼數(shù)據(jù)表數(shù)據(jù)。 else{JOptionPane.showMessageDialog(frame,"兩次輸入新密碼不一致,請重新輸入。"); panel10.text2.setText("");panel10.text3.setText("");}//} if(panel10.text1.getText().equals("")||panel10.text2.getText().equals("")||panel10.text3.getText().equals("")){JOptionPane.showMessageDialog(frame,"請輸入原密碼及新密碼!");return;} else{if(newString(passwords1).equals(newString(passwords2))){JOptionPane.showMessageDialog(frame,"輸入新密碼和原密碼一致,請重新輸入。");panel10.text2.setText("");panel10.text3.setText("");return;} if(newString(passwords2).equals(newString(passwords3))){JOptionPane.showMessageDialog(frame,"正修改原密碼,請等待");updateM
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年環(huán)氧漆稀釋劑項(xiàng)目投資價值分析報告
- 2025年快速軟簾門項(xiàng)目可行性研究報告
- 2025年室外三基色顯示屏項(xiàng)目可行性研究報告
- 石油管道安裝施工質(zhì)量控制與注意事項(xiàng)
- 農(nóng)村信用體系建設(shè)工作總結(jié)(10篇)
- 中學(xué)生遵紀(jì)守法演講稿1000字(31篇)
- 2025年中國醫(yī)用干式激光相機(jī)市場深度分析及行業(yè)前景展望報告
- AR游戲未來發(fā)展趨勢分析及投資規(guī)劃建議研究報告
- 2024河南道路貨物運(yùn)輸市場前景及投資研究報告
- 2025年度租賃房屋押金退還服務(wù)合同-@-1
- 設(shè)備維護(hù)服務(wù)方案(2篇)
- 2024中國AI應(yīng)用開發(fā)者生態(tài)調(diào)研報告-易觀分析
- -中國傳統(tǒng)節(jié)日之春節(jié)習(xí)俗介紹主題班會14
- 2024年遼寧醫(yī)藥職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫含答案
- 2024上海市長寧區(qū)高三二模作文“成長的必經(jīng)之路:責(zé)任與選擇”審題立意及范文
- 諾如病毒應(yīng)急演練匯報
- 醫(yī)院檢驗(yàn)科實(shí)驗(yàn)室生物安全程序文件SOP
- 生物質(zhì)顆粒廠建設(shè)項(xiàng)目可行性研究報告
- 三創(chuàng)賽獲獎-非遺文化創(chuàng)新創(chuàng)業(yè)計(jì)劃書
- 2024屆新高考二輪復(fù)習(xí) 以“防”突破無機(jī)制備型實(shí)驗(yàn)綜合題 課件
- 《電線電纜介紹》課件
評論
0/150
提交評論