版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> I </b></p><p><b> 畢業(yè)論文</b></p><p> 題目: 基于JAVA平臺的電子銀行管理系統(tǒng) </p><p> 系 別: 計算機工程系 </p><p> 專 業(yè): 軟件技術(shù) <
2、;/p><p> 學 號: 090XXXXXX </p><p> 姓 名: XX </p><p> 指導老師: XXXXXX </p><p> 2011年 11 月 30日</p><p><b> 前 言</b></p&
3、gt;<p> 隨著科學技術(shù)的不斷提高,計算機技術(shù)日漸成熟,數(shù)字化辦公所無法比擬的優(yōu)點檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高員工管理的效率,也是企業(yè)的科學化、正規(guī)化管理,與世界接軌的重要條件。其強大的計算功能已經(jīng)讓人們深刻認識到,計算機已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。高等院校作為社會人才培養(yǎng)的重要基地,計算機是高校教學管理中不可或缺的工具。銀行管理系統(tǒng)
4、為用戶提供充分的信息管理和方便業(yè)務(wù)辦理功能,能夠為客戶和管理員提供很大的方便,能夠避免長期以來業(yè)務(wù)辦理需客戶到銀行辦理,效率低、投資管理效率低、更新和維護困難的的缺點。隨著互聯(lián)網(wǎng)的普及,用戶網(wǎng)上查詢辦理業(yè)務(wù)已不再是神話,相信會有更多的用戶對銀行業(yè)務(wù)辦理改變認識。</p><p><b> 摘 要</b></p><p> 本論文主要論述的是電子銀行管理系統(tǒng)的設(shè)計與
5、實現(xiàn)。系統(tǒng)的主要目的是實現(xiàn)客戶查看辦理銀行業(yè)務(wù),以及銀行人員對用戶數(shù)據(jù)管理的辦公自動化。首先對客戶模塊進行了詳盡的分析得到客戶模塊主要完成客戶基本信息查看及部分信息修改、更新,查看自己辦理的業(yè)務(wù),了解銀行有哪些業(yè)務(wù),申請辦理業(yè)務(wù)。銀行管理維護模塊主要完成的是查看、修改所有客戶信息、客戶業(yè)務(wù)辦理、開戶、添加業(yè)務(wù)等功能。</p><p> 關(guān)鍵字:電子銀行 數(shù)據(jù)庫 信息管理 </p><p>
6、;<b> Abstract</b></p><p> This paper mainly discusses the electronic banking management system design and implementation. The main purpose of the system design is to achieve customer view for b
7、anking, and bank personnel to the user data management of office automation. First, the client module to get a detailed analysis of the customer module of basic information to complete customer view and modify some of th
8、e information, updates, see their own for business to understand what business banking, apply for business. Bank </p><p><b> 目錄</b></p><p><b> 前 言I</b></p><
9、p><b> 摘 要II</b></p><p> AbstractIII</p><p><b> 目錄IV</b></p><p> 第一章 緒 論1</p><p><b> 1.1開發(fā)背景1</b></p><p>
10、<b> 1.2技術(shù)背景1</b></p><p> 第二章 電子銀行管理系統(tǒng)需求分析4</p><p> 2.1 項目概述4</p><p><b> 2.2運行環(huán)境4</b></p><p> 2.3系統(tǒng)的可行性研究4</p><p><b>
11、; 2.4系統(tǒng)目標5</b></p><p> 第三章 電子銀行管理系統(tǒng)系統(tǒng)設(shè)計7</p><p><b> 3.1功能設(shè)計7</b></p><p><b> 3.2系統(tǒng)角色8</b></p><p> 第四章 數(shù)據(jù)庫設(shè)計10</p><p>
12、; 4.1數(shù)據(jù)庫設(shè)計概述10</p><p> 4.2數(shù)據(jù)庫需求分析10</p><p> 4.3數(shù)據(jù)字典11</p><p> 4.4數(shù)據(jù)庫的完整性和安全性12</p><p> 第五章 系統(tǒng)代碼的實現(xiàn)13</p><p> 5.1用戶注冊信息13</p><p>
13、5.2 用戶登錄信息15</p><p> 5.3 客戶查看信息20</p><p> 5.4客戶所辦業(yè)務(wù)查看25</p><p> 5.5 客戶的密碼安全的功能28</p><p> 5.6客戶修改基本信息31</p><p> 5.7查找客戶信息與業(yè)務(wù)33</p><p&g
14、t;<b> 結(jié)束語36</b></p><p><b> 致 謝37</b></p><p><b> 參考文獻38</b></p><p><b> 第一章 緒 論</b></p><p><b> 1.1開發(fā)背景<
15、/b></p><p> 我國銀行業(yè)計算機系統(tǒng)的引進,從早期的脫機處理系統(tǒng),到聯(lián)機處理系統(tǒng),再到計算機網(wǎng)絡(luò)支撐下的綜合銀行處理系統(tǒng),走過的二十余年的歷程,電子銀行的普遍應用,已是適應當代人的需求,他從根本上改變傳統(tǒng)的工作方式,使銀行的經(jīng)營,管理發(fā)生了深刻的變革。</p><p> 銀行的每天的存儲量都在一日一日的增加,我們需要一個簡單的可以代理人工化的電子銀行去實現(xiàn)繁忙的操作,這
16、也是適應我們當代人生活速度的加快,跟上社會的高進程的節(jié)奏。 </p><p> 正是基于這樣的需要,吸引著我在畢業(yè)設(shè)計中選擇了電子銀行管理系統(tǒng)。在這個信息技術(shù)高速發(fā)展的背景下,利用軟件工程的思想開發(fā)一個管理信息系統(tǒng),開闊了思路,讓我們緊跟時代潮流,把握技術(shù)大潮的脈搏。</p><p><b> 1.2技術(shù)背景</b></p><p> 1
17、.2.1數(shù)據(jù)庫技術(shù)概論</p><p> 數(shù)據(jù)庫是數(shù)據(jù)管理的最新技術(shù),是計算機科學的重要分支。今天,信息資源已成為各個部門的重要財富和資源。建立一個滿足各級部門信息處理要求的行之有效的電子銀行管理系統(tǒng)也成為一個企業(yè)或組織生存和發(fā)展的重要條件。因此,作為電子銀行管理系統(tǒng)核心和基礎(chǔ)的數(shù)據(jù)庫技術(shù)得到越來越廣泛的應用,從小型單項事務(wù)處理系統(tǒng)到大型信息系統(tǒng),從聯(lián)機事務(wù)處理到聯(lián)機分析處理,從一般企業(yè)管理到計算機輔助設(shè)計與制
18、造(CAD/CAM)、計算機集成制造系統(tǒng)(CIMS)、辦公信息系統(tǒng)(OIS)、地理信息系統(tǒng)(GIS等,越來越多新的應用領(lǐng)域采用數(shù)據(jù)庫存儲和處理他們的信息資源[2]。</p><p> 數(shù)據(jù)庫的研究范圍是十分廣泛的,概括地講可以包括以下三個領(lǐng)域:</p><p> 1.數(shù)據(jù)庫管理系統(tǒng)軟件的研制;</p><p><b> 2.數(shù)據(jù)庫設(shè)計;</b
19、></p><p> 3.數(shù)據(jù)庫理論;數(shù)據(jù)庫學;</p><p> 計算機領(lǐng)域中其他新興技術(shù)的發(fā)展對數(shù)據(jù)庫技術(shù)產(chǎn)生了重大影響。數(shù)據(jù)庫技術(shù)和其他計算機技術(shù)的互相結(jié)合,互相深透,使數(shù)據(jù)庫中新的技術(shù)內(nèi)容層出不窮。數(shù)據(jù)庫的許多概念,技術(shù)內(nèi)容,應用領(lǐng)域,甚至某些原理都有了重大的發(fā)展和變化。建立和實現(xiàn)了一系列新型數(shù)據(jù)庫系統(tǒng),如分布式數(shù)據(jù)庫系統(tǒng),并行數(shù)據(jù)庫系統(tǒng),知識庫系統(tǒng),多媒體數(shù)據(jù)庫系統(tǒng)等。
20、它們共同構(gòu)成了數(shù)據(jù)庫系統(tǒng)大家族,使數(shù)據(jù)庫技術(shù)不斷地涌現(xiàn)新的研究方向。</p><p> 本系統(tǒng)選用Oracle數(shù)據(jù)庫,原因在于:</p><p> ORACLE7.X以來引入了共享SQL和多線索服務(wù)器體系結(jié)構(gòu)。這減少了ORACLE的資源占用,并增強了ORACLE的能力,使之在低檔軟硬件平臺上用較少的資源就可以支持更多的用戶,而在高檔平臺上可以支持成百上千個用戶。</p>
21、<p> 提供了基于角色(ROLE)分工的安全保密管理。在數(shù)據(jù)庫管理功能、完整性檢查、安全性、一致性方面都有良好的表現(xiàn)。</p><p> 支持大量多媒體數(shù)據(jù),如二進制圖形、聲音、動畫以及多維數(shù)據(jù)結(jié)構(gòu)等。</p><p> 提供了與第三代高級語言的接口軟件PRO*系列,能在C,C++等主語言中嵌入SQL語句及過程化(PL/SQL)語句,對數(shù)據(jù)庫中的數(shù)據(jù)進行操縱。加上它有許多
22、優(yōu)秀的前臺開發(fā)工具如POWER BUILD、SQL*FORMS、VISIA BASIC 等,可以快速開發(fā)生成基于客戶端PC 平臺的應用程序,并具有良好的移植性。</p><p> 提供了新的分布式數(shù)據(jù)庫能力??赏ㄟ^網(wǎng)絡(luò)較方便地讀寫遠端數(shù)據(jù)庫里的數(shù)據(jù),并有對稱復制的技術(shù)。Oracle也許是最流行的服務(wù)器,占有最大的市場份額,它被廣泛用于各個市場領(lǐng)域,滿足一系列的存儲需求,例如財務(wù)記錄,人力資源及訂單編制等,造成這
23、種現(xiàn)象的原因之一在于Oracle較早的進入RDBMS(關(guān)系型數(shù)據(jù)庫管理系統(tǒng))領(lǐng)域,并且提供可運行于大多數(shù)操作系統(tǒng)上的數(shù)據(jù)庫版本,雖然Oracle的首選操作系統(tǒng)似乎正由Solaris轉(zhuǎn)為Linux,但是Oracle仍然在進行與其他操作系統(tǒng)的兼容工作,盡管Oracle經(jīng)常在Unix或是Linux平臺上運行,但是也有大量的Oracle在HP-UX和AIX上運行,隨著幾年前電子商務(wù)的激增,將會驅(qū)使Oracle成為WEB應用所需數(shù)據(jù)庫的選擇,這使
24、數(shù)據(jù)庫更容易受攻擊者的控制。事實上,一旦Oracle從后臺進入前端,那么人們會更多地關(guān)注它的安全方面。</p><p> 1.2.2 JAVA技術(shù)介紹</p><p> Java是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計語言(以下簡稱Java語言)和Java平臺的總稱。用Java實現(xiàn)的Hot Java瀏覽器(支持Java applet)顯示了Jav
25、a的魅力:跨平臺、動態(tài)的Web、internet計算。從此,Java被廣泛接受并推動了Web的迅速發(fā)展,常用的瀏覽器現(xiàn)在均支持Java applet。另一方面,Java技術(shù)也不斷更新。</p><p> Java平臺由Java虛擬機(Java Virtual Machine)和Java 應用編程接口(Application Programming Interface、簡稱API)構(gòu)成。Java 應用編編程接口為
26、Java應用提供了一個獨立于操作系統(tǒng)的標準接口,可分為基本部分和擴展部分。在硬件或操作系統(tǒng)平臺上安裝一個Java平臺之后,Java應用程序就可運行?,F(xiàn)在Java平臺已經(jīng)嵌入了幾乎所有的操作系統(tǒng)。這樣Java程序可以只編譯一次,就可以在各種系統(tǒng)中運行。Java應用編程接口已經(jīng)從1.1x版發(fā)展到1.2版。目前常用的Java平臺基于Java 6,最近版本為Java 7。</p><p> 第二章 電子銀行管理系統(tǒng)需求
27、分析</p><p><b> 2.1 項目概述</b></p><p> 管理員對客戶信息的管理主要還是客戶姓名、性別、出生日期等錄入、修改、查詢,隨著客戶辦理業(yè)務(wù)的不斷增加,客戶的信息也在不停地變化著,原先的手工修改客戶及客戶辦理業(yè)務(wù)的信息即復雜又不人性化??蛻魯?shù)量多,工作量很大,尤其對多名客戶信息及客戶業(yè)務(wù)信息查找時,更是令人頭疼,所以銀行管理系統(tǒng)一直是銀行
28、信息管理中的一個重要子系統(tǒng)。好的管理系統(tǒng)可以減少管理人員的工作量,客戶也可以及時查看自己的信息,管理員可以快速獲得客戶的相關(guān)資料,掌握客戶情況,客戶也可以查看自己的業(yè)務(wù)記錄,甚至申請辦理業(yè)務(wù)。 </p><p><b> 2.2運行環(huán)境</b></p><p> 該系統(tǒng)為C/S 兩層結(jié)構(gòu),它的運行環(huán)境分客戶端、服務(wù)器端。</p><p>
29、 以下是系統(tǒng)的軟件環(huán)境:</p><p><b> 2.2.1客戶端</b></p><p> 操作系統(tǒng):Windows2000 Professional/XP/Window 7、Unix或更新版本。</p><p><b> 2.2.2服務(wù)器端</b></p><p> 操作系統(tǒng):Wind
30、ows2000 Server/XP/Window 7、Unix或更新版本。</p><p> 數(shù)據(jù)庫訪問:JDBC。</p><p> 2.3系統(tǒng)的可行性研究</p><p> 2.3.1技術(shù)可行性</p><p> 隨著國內(nèi)軟件開發(fā)的日益發(fā)展壯大,各種中小企事業(yè)單位已具備獨立開發(fā)各種類型的軟件的能力,能夠滿足不同行業(yè)的特別的需求。而
31、這個系統(tǒng)盡管其在組織關(guān)系上存在著很大的復雜性,繁瑣性,但是就整個系統(tǒng)的技術(shù)構(gòu)成上來看,它還是屬于一個數(shù)據(jù)庫應用類的系統(tǒng)。其基本操作還是對存在數(shù)據(jù)庫進行添加、刪除、查找、編輯等。所以就單純的數(shù)據(jù)庫應用來看,暫不存在太大的技術(shù)問題。</p><p> 2.3.2 經(jīng)濟可行性</p><p> 對于整個系統(tǒng)而言,在系統(tǒng)未運行之前,初期投資比較大,花費相對而言比較多。各部門必須配置電腦、服務(wù)器
32、、打印機、傳真機及相關(guān)的網(wǎng)絡(luò)設(shè)備,但是在整個系統(tǒng)投入運行之后,因為現(xiàn)在計算機已經(jīng)普及了,相關(guān)的人員培訓費可以減少很多。而同時又減少了數(shù)據(jù)的流通環(huán)節(jié),不必要花費那么多的時間,也就是說最重要的是就是提高了效率,而又保證了各項數(shù)據(jù)的準確性,也避免了工作人員的流動造成的收據(jù)丟失等問題,適應了當前的發(fā)展形式。</p><p> 2.3.3 管理可行性</p><p> 隨著時代的發(fā)展,人員素質(zhì)己
33、逐步提高,不論是對于電腦系統(tǒng)的基本操作還是對于系統(tǒng)的維護都有了一定的基礎(chǔ)。同時還可以配置專業(yè)的電腦維護人員來維護電腦,不必擔心電腦故障問題。</p><p> 2.3.4 開發(fā)環(huán)境可行性</p><p> Eclipse是一個開發(fā)源碼項目,它其實是 Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其開放源碼,任何人都可以
34、免費得到,并可以在此基礎(chǔ)上開發(fā)各自的插件,因此越來越受人們關(guān)注。近期還有包括Oracle在內(nèi)的許多大公司也紛紛加入了該項目,并宣稱Eclipse將來能成為可進行任何語言開發(fā)的IDE集大成者,使用者只需下載各種語言的插件即可。</p><p><b> 2.4系統(tǒng)目標</b></p><p> 我們一般設(shè)計系統(tǒng)都要完成以下的幾個要求,以便于用戶進行操作。這樣才能使系
35、統(tǒng)易學易用。</p><p> 2.4.1 合理的設(shè)計數(shù)據(jù)庫</p><p> 盡量合理地減少數(shù)據(jù)庫數(shù)據(jù)的冗余,使重復的數(shù)據(jù)保持在最小限度,這樣將不必要的多占用存儲空間,減少產(chǎn)生混亂影響的危險,還能提高計算機運行速度。</p><p> 2.4.2設(shè)計出友好的界面</p><p> 界面的友好與否是用戶評價一個軟件優(yōu)劣的重要方面之一,
36、使用戶有一個良好的心情。</p><p> 另外窗口界面要多用按鈕和快捷鍵,少用菜單,窗口的各個控件布局要合理,美觀。要充分的利用Eclipse提供的強大的功能,多用窗口和控件,充分體現(xiàn)窗口的多元化格局。</p><p> 2.4.3實現(xiàn)基本功能和一些特殊功能的操作</p><p> 該系統(tǒng)要求除了能實現(xiàn)信息的錄入,刪除,插入,更新,打印等基本功能之外,還要求
37、能夠根據(jù)用戶的需要進行操作。</p><p> 第三章 電子銀行管理系統(tǒng)系統(tǒng)設(shè)計</p><p><b> 3.1功能設(shè)計</b></p><p> 圖3-1 銀行管理系統(tǒng)客戶功能架構(gòu)圖</p><p> 圖3-2 銀行管理系統(tǒng)管理員功能架構(gòu)圖</p><p><b> 3
38、.2系統(tǒng)角色</b></p><p> 本系統(tǒng)主要用于處理/辦理銀行業(yè)務(wù)的以下兩類人員:</p><p> ?。?)管理員,完成對客戶的業(yè)務(wù)的處理,例如,更改用戶狀態(tài)、系統(tǒng)登錄、業(yè)務(wù)添加、用戶注冊、客戶詳細信息查看、修改客戶信息、查看客戶所辦業(yè)務(wù)、辦理業(yè)務(wù)、根據(jù)某一條件查詢客戶。</p><p> ?。?) 客戶,系統(tǒng)登錄、用戶注冊、修改密碼、客戶詳細
39、信息查看、修改客戶信息、查看客戶所辦業(yè)務(wù)、申請辦理業(yè)務(wù)、查看銀行所有業(yè)務(wù)。</p><p><b> 圖3-3用例圖</b></p><p><b> 第四章 數(shù)據(jù)庫設(shè)計</b></p><p> 4.1數(shù)據(jù)庫設(shè)計概述</p><p> 數(shù)據(jù)庫是數(shù)據(jù)管理的最新技術(shù)。十多年來數(shù)據(jù)庫管理系統(tǒng)已從
40、專用的應用程序發(fā)展成為通用的系統(tǒng)軟件。由于數(shù)據(jù)庫具有數(shù)據(jù)結(jié)構(gòu)化,最低冗余度,較高的程序與數(shù)據(jù)獨立性,易于擴充,易于編制應用程序等優(yōu)點,較大的信息系統(tǒng)都是建立在數(shù)據(jù)庫設(shè)計之上的。因此不僅大型計算機及中小型計算機,甚至微型機都配有數(shù)據(jù)庫管理系統(tǒng)。</p><p> 數(shù)據(jù)庫系統(tǒng)的出現(xiàn)使信息系統(tǒng)從以加工數(shù)據(jù)的程序為中心轉(zhuǎn)向圍繞共享的數(shù)據(jù)庫為中心的新階段。這樣既便于數(shù)據(jù)的集中管理,又有利于應用程序的研制和維護,提高了數(shù)據(jù)
41、的利用性和相容性,提高了決策的可靠性。目前,數(shù)據(jù)庫已經(jīng)成為現(xiàn)代信息系統(tǒng)不可分割的重要組成部分。數(shù)據(jù)庫技術(shù)也是計算機領(lǐng)域中發(fā)展最快的技術(shù)之一。</p><p> 數(shù)據(jù)庫設(shè)計是把現(xiàn)實世界的實體模型與需求轉(zhuǎn)換成數(shù)據(jù)庫的模型的過程,它是建立數(shù)據(jù)庫應用系統(tǒng)的核心問題。數(shù)據(jù)庫及其應用的性能都建立在良好的數(shù)據(jù)庫設(shè)計的基礎(chǔ)之上,數(shù)據(jù)庫的數(shù)據(jù)是一切操作的基礎(chǔ),如果數(shù)據(jù)庫設(shè)計不好,那么其它一切用于提高數(shù)據(jù)庫性能的方法收效都是有限的
42、。數(shù)據(jù)庫設(shè)計的關(guān)鍵是如何使設(shè)計的數(shù)據(jù)庫能合理地存儲用戶的數(shù)據(jù),方便用戶進行數(shù)據(jù)處理。</p><p> 設(shè)計數(shù)據(jù)庫必須遵循一定的規(guī)則,在關(guān)系型數(shù)據(jù)庫中,這種規(guī)則就是范式,范式是符合某一種級別的關(guān)系模式的集合。一般人們設(shè)計數(shù)據(jù)庫遵循第三范式。即:數(shù)據(jù)庫表中不包含已在其他表中包含的非主關(guān)鍵字信息。采用范式減少了數(shù)據(jù)冗余,節(jié)約了存儲空間,同時加快了增、刪、改的速度。</p><p> 4.2
43、數(shù)據(jù)庫需求分析</p><p> 整個系統(tǒng)所包括的管理員賬戶、管理員密碼、賬戶號、賬號、密碼、姓名、性別、身份證號碼、注冊賬戶日期、聯(lián)系地址1、聯(lián)系地址2、郵箱、聯(lián)系電話、手機、儲蓄額、客戶狀態(tài)、業(yè)務(wù)號、業(yè)務(wù)名稱、業(yè)務(wù)描述、流水號、開通時間、投資額、收益、業(yè)務(wù)是否有效。</p><p><b> 數(shù)據(jù)結(jié)構(gòu):</b></p><p> T_
44、manage管理員表(--管理員賬戶—管理員密碼--)</p><p> T_User用戶信息表(--賬戶號--賬號--密碼--姓名--性別--身份證號碼--注冊賬戶日期--聯(lián)系地址1--聯(lián)系地址2--郵箱--聯(lián)系電話--手機--儲蓄額--客戶狀態(tài)--)</p><p> T_business業(yè)務(wù)表(--業(yè)務(wù)號--業(yè)務(wù)名稱--業(yè)務(wù)描述--)</p><p>
45、T_Service中間業(yè)務(wù)表(--流水號—開通時間--投資額--收益--業(yè)務(wù)是否有效—業(yè)務(wù)號—賬戶號--)</p><p><b> 4.3數(shù)據(jù)字典</b></p><p> 數(shù)據(jù)字典是在系統(tǒng)數(shù)據(jù)流程圖的基礎(chǔ)上。進一步定義和描述所有的數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)存儲、處理過程和外部實體的詳細邏輯內(nèi)容與特征的工具。數(shù)據(jù)字典的任務(wù)是對于數(shù)據(jù)流程圖中出現(xiàn)的元素的名字都有一個確
46、切的解釋。</p><p> 本系統(tǒng)的數(shù)據(jù)字典如下:</p><p> 4.4數(shù)據(jù)庫的完整性和安全性</p><p> 數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。數(shù)據(jù)庫管理系統(tǒng)(DBMS)用一定的機制來檢查數(shù)據(jù)庫中的數(shù)據(jù)是否滿足規(guī)定的條件——完整性約束條件,數(shù)據(jù)的約束條件是語義的體現(xiàn),將作為模式的一部分存入數(shù)據(jù)庫中。本系統(tǒng)中定義了表與表之間的聯(lián)系及表中各字段屬性
47、約束有助于實現(xiàn)有助于完整性。</p><p> 數(shù)據(jù)庫的安全性是指保護數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄漏、更改或破壞。在數(shù)據(jù)庫系統(tǒng)中,大量的數(shù)據(jù)集中存放,而且為許多用戶直接共享,是寶貴的信息資源,系統(tǒng)的安全保護措施就顯得更為重要,它可以保護數(shù)據(jù)庫防止惡意的破壞和非法的存取。在系統(tǒng)中,用戶通過打開軟件后,必須經(jīng)過注冊登陸,方可對自己的注冊好的賬戶內(nèi)容進行查看、檢索等操作。用戶注冊的身份證號是唯一的,密碼通過
48、加密。在用戶登陸,必須輸入用戶名和密碼,并通過數(shù)據(jù)庫的驗證,同時對用戶的權(quán)限進行驗證,防止非法用戶和未授權(quán)用戶對本站進行非法訪問和操作,保證本站的安全。</p><p> 第五章 系統(tǒng)代碼的實現(xiàn)</p><p><b> 5.1用戶注冊信息</b></p><p><b> 使用者:客戶</b></p>
49、<p> 目 的:新增用戶的基本信息。</p><p><b> 基本事件流:</b></p><p> 1、客戶登陸系統(tǒng),點擊“注冊新用戶”按鈕,進入注冊用戶信息界面,本用例開始;</p><p> 2、系統(tǒng)顯示用戶信息輸入界面,用戶輸入用戶的賬號、密碼、姓名、性別、身份證號碼、郵箱、固定電話(可不填)、手機號、聯(lián)系地址
50、1、聯(lián)系地址2(可不填)等信息。</p><p> 3、客戶輸入完成并點擊“提交”按鈕后,系統(tǒng)檢查客戶的信息是否完整(所有前面帶”*”項目必填,如有些信息格式要求不明白,請查看下面文檔)客戶的賬號是否唯一,若信息完整并且編號唯一,則系統(tǒng)增加客戶信息并提示信息新增成功,新增客戶界面關(guān)閉并返回原信息列表,本用例結(jié)束。否則,提示客戶重新輸入。</p><p> 圖5-1注冊功能實現(xiàn)圖<
51、/p><p> <用戶注冊>的關(guān)鍵代碼,身份的注冊必須是18位的號碼,關(guān)鍵代碼如下:</p><p> btn.addActionListener(new ActionListener()</p><p><b> {</b></p><p><b> @Override</b>&l
52、t;/p><p> public void actionPerformed(ActionEvent e)</p><p><b> {</b></p><p> // TODO Auto-generated method stub</p><p> if (e.getSource() == btn)</p>
53、;<p><b> {</b></p><p> if (txtName.getText().equals(""))</p><p><b> {</b></p><p> JOptionPane.showMessageDialog(LoginFrame.this, "請
54、輸入字符",</p><p> "確認", JOptionPane.ERROR_MESSAGE);</p><p><b> return;</b></p><p><b> }</b></p><p> if (txtCard.getText().length
55、() == 18)</p><p><b> {</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> JOptionPane.s
56、howMessageDialog(LoginFrame.this,</p><p> "請輸入有效的身份證號", "確認", JOptionPane.ERROR_MESSAGE);</p><p><b> return;</b></p><p><b> }</b></
57、p><p> 銀行的密碼是數(shù)字,而且必須是6位的,程序代碼如下:</p><p> if (txtpassword.getText().length() == 6)</p><p><b> {</b></p><p> String str = txtpassword.getText();</p>&
58、lt;p> boolean boo = LoginFrame.this.passEstimate(str);</p><p> if (boo == true)</p><p><b> {</b></p><p><b> }</b></p><p><b> else&
59、lt;/b></p><p><b> {</b></p><p> JOptionPane.showMessageDialog(LoginFrame.this,</p><p> "請輸入6位的密碼位數(shù)字", "確認",</p><p> JOptionPane.E
60、RROR_MESSAGE);</p><p><b> return;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p><
61、b> {</b></p><p> JOptionPane.showMessageDialog(LoginFrame.this, "請輸入密碼",</p><p> "確認", JOptionPane.ERROR_MESSAGE);</p><p><b> return;</b>
62、;</p><p><b> }</b></p><p> if (txtpassword1.getText().equals(txtpassword.getText()))</p><p><b> {</b></p><p><b> }</b></p>
63、<p><b> else</b></p><p><b> {</b></p><p> JOptionPane.showMessageDialog(LoginFrame.this,</p><p> "輸入的密碼不正確,請重新輸入", "確認",</p
64、><p> JOptionPane.ERROR_MESSAGE);</p><p> txtpassword1.setText("");</p><p><b> return;</b></p><p><b> }</b></p><p> 5.2
65、 用戶登錄信息</p><p> 使用者:客戶,管理員 </p><p> 目 的:用戶登錄基本信息。</p><p><b> 基本事件流:</b></p><p> 用戶登陸系統(tǒng),用戶在用戶登陸界面正確輸入用戶賬號、用戶密碼且用戶賬號經(jīng)管理員審核修改為正常狀態(tài),點擊”登錄”按鈕。</p>&l
66、t;p> 程序連接數(shù)據(jù)庫查詢賬戶,比對密碼。密碼正確進入客戶界面。</p><p> 圖5-2登錄功能實現(xiàn)圖</p><p> 用戶登錄關(guān)鍵代碼如下:</p><p><b> @Override</b></p><p> public void actionPerformed(ActionEvent e
67、)</p><p><b> {</b></p><p><b> //注冊</b></p><p> if(e.getSource()==btnOAA)</p><p><b> {</b></p><p> new LoginFrame()
68、;</p><p><b> }</b></p><p> // 登錄時判斷密碼格式,用戶名格式</p><p> if (e.getSource() == btnLogin)</p><p><b> {</b></p><p> if (radioOrdinar
69、y.isSelected() == true)</p><p><b> {</b></p><p> String str = new String(pasAcpassword.getPassword());// 將密碼轉(zhuǎn)換成String</p><p> boolean boo = new PasswordEstimate().pas
70、sEstimate(str);</p><p> if (boo != true)</p><p><b> {</b></p><p> JOptionPane.showMessageDialog(this, "密碼輸入格式錯誤(數(shù)字0~9)",</p><p> "密碼錯誤!&q
71、uot;, JOptionPane.ERROR_MESSAGE);</p><p><b> }</b></p><p> else if (str.length() != 6)</p><p><b> {</b></p><p> JOptionPane.showMessageDialo
72、g(this, "密碼輸入個數(shù)錯誤",</p><p> "密碼錯誤!", JOptionPane.ERROR_MESSAGE);</p><p><b> }</b></p><p><b> else</b></p><p><b> {
73、</b></p><p> if (txtAcID.getText().length() == 13)</p><p><b> {</b></p><p> String sAcID = txtAcID.getText();</p><p> String sAcIDing = "&quo
74、t;;// 用戶名后的數(shù)字</p><p> String sAcID3 = "";// 用戶名前的字</p><p> StringBuffer sbAcID = new StringBuffer(sAcID);</p><p> StringBuffer sbAcID2 = new StringBuffer(sAcID);</p&
75、gt;<p> sAcIDing = sbAcID.delete(0, 5).toString();</p><p> sAcID3 = sbAcID2.delete(5, 14).toString();</p><p> boolean booAcID = new PasswordEstimate()</p><p> .passEstima
76、te(sAcIDing);</p><p> if (sAcID3.equals("QDDWX") && booAcID == true)</p><p><b> {</b></p><p> int iAcIDing = Integer.parseInt(sAcIDing);// iAcIDing&
77、lt;/p><p> // 為登陸的用戶ID</p><p> // 判斷用戶名是否存在</p><p> client = new Login().getLogin(iAcIDing);</p><p> if (iAcIDing == client.getAcID())</p><p><b> {
78、</b></p><p> UserState usClient = new Login().getState(client);</p><p> if(usClient.getStateID()==3||usClient.getStateID()==4)</p><p><b> {</b></p><p
79、> JOptionPane.showMessageDialog(this,</p><p> "賬戶凍結(jié)或已注銷,無法登陸,請聯(lián)系管理員!", "錯誤!",</p><p> JOptionPane.ERROR_MESSAGE);</p><p><b> }</b></p>
80、<p><b> else</b></p><p><b> {</b></p><p> if (Integer.valueOf(str) == client</p><p> .getAcpassword())</p><p><b> {</b><
81、;/p><p> List<Business>list=new Login().getbusiness();</p><p> List<BUSINESS_VIEW>list2=new Login().getBusiness_VIEW(client);</p><p> new User(client, sAcID, iAcIDing,li
82、st,list2);</p><p> this.setVisible(false);</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> JOptionPa
83、ne.showMessageDialog(this,</p><p> "對不起,您輸入的密碼有錯!", "密碼錯誤!",</p><p> JOptionPane.ERROR_MESSAGE);</p><p><b> }</b></p><p><b> }
84、</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> JOptionPane.showMessageDialog(this,</p><p>
85、; "對不起,用戶名不存在!", "用戶名錯誤!",</p><p> JOptionPane.ERROR_MESSAGE);</p><p><b> }</b></p><p><b> }</b></p><p><b> else&
86、lt;/b></p><p><b> {</b></p><p> JOptionPane.showMessageDialog(this,</p><p> "請輸入正確的格式,如:QDDWX000000XX", "用戶名錯誤!",</p><p> JOption
87、Pane.ERROR_MESSAGE);</p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> JO
88、ptionPane.showMessageDialog(this,</p><p> "請輸入正確格式,如:QDDWX000000XX", "用戶名錯誤!",</p><p> JOptionPane.ERROR_MESSAGE);</p><p><b> }</b></p><
89、;p><b> }</b></p><p><b> }</b></p><p><b> Else</b></p><p> 管理員的身份和密碼的判斷的關(guān)鍵代碼:</p><p><b> // 管理員登陸</b></p>
90、<p><b> {</b></p><p> String strPas=String.valueOf(pasAcpassword.getPassword());</p><p> if(txtAcID.getText().equals("")||txtAcID.getText().equals(null)||strPas.equ
91、als("")||strPas.equals(null))</p><p><b> {</b></p><p> JOptionPane.showMessageDialog(this,</p><p> "不能為空!", "錯誤!",</p><p>
92、 JOptionPane.ERROR_MESSAGE);</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> Admin admin=new Login().getAdmin(txtA
93、cID.getText());</p><p> if(admin.getAdName().equals(txtAcID.getText()))</p><p><b> {</b></p><p> if(admin.getAdPwd().equals(strPas))</p><p><b> {&
94、lt;/b></p><p> this.setVisible(false);</p><p> new ManagerInfo2();</p><p><b> }</b></p><p><b> else</b></p><p><b> {&
95、lt;/b></p><p> JOptionPane.showMessageDialog(this,</p><p> "密碼錯誤!", "錯誤!",</p><p> JOptionPane.ERROR_MESSAGE);</p><p><b> }</b>&l
96、t;/p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> JOptionPane.showMessageDialog(this,</p><p> "密碼格
97、式錯誤!", "錯誤!",</p><p> JOptionPane.ERROR_MESSAGE);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p>&
98、lt;p><b> }</b></p><p><b> }</b></p><p> public static void main(String[] args)</p><p><b> {</b></p><p> // TODO Auto-generat
99、ed method stub</p><p> new Ulogin();</p><p><b> }</b></p><p> 5.3 客戶查看信息</p><p><b> 使用者:客戶</b></p><p> 目 的:用戶個人的基本信息。</p&g
100、t;<p><b> 基本事件流:</b></p><p> 點擊標簽頁”客戶信息”,及能查看用戶的個人信息。</p><p> 圖5-3查看用戶信息功能實現(xiàn)圖</p><p><b> 關(guān)鍵代碼如下:</b></p><p><b> // 存款按鈕</b&
101、gt;</p><p> if (e.getSource() == btnNOk2)</p><p><b> {</b></p><p> Client client2 = new Login().getLogin(iAcIDing);</p><p> UserState usClient2 = new Lo
102、gin().getState(client2);</p><p> if (usClient2.getStateID() == 2)</p><p><b> {</b></p><p> boolean boo = new getPoint().point(txtnumber2.getText());</p><p&
103、gt; if (boo == true)</p><p><b> {</b></p><p> int i = JOptionPane.showConfirmDialog(this, "存款額為:"</p><p> + txtnumber2.getText(), "確認!",</p>
104、;<p> JOptionPane.YES_NO_OPTION);</p><p> if (i == JOptionPane.YES_OPTION)</p><p><b> {</b></p><p> boolean booNumber2 = new Login().getBtnNOK2(client2,</p
105、><p> Double.valueOf(txtnumber2.getText()));</p><p> acUpdate(iAcIDing);</p><p> if (booNumber2 == true)</p><p><b> {</b></p><p> txtnumber2.
106、setText("");</p><p> JOptionPane.showMessageDialog(this, "成功!通知!",</p><p> JOptionPane.INFORMATION_MESSAGE);</p><p><b> }</b></p><p>
107、<b> else</b></p><p><b> {</b></p><p> txtnumber2.setText("");</p><p> JOptionPane.showMessageDialog(this, "失?。⊥ㄖ?!",</p><p&
108、gt; JOptionPane.ERROR_MESSAGE);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p>&
109、lt;p><b> {</b></p><p> JOptionPane.showMessageDialog(this,</p><p> "請輸入正確的數(shù)字!如(xxx.xx或xxx)", "非法!",</p><p> JOptionPane.ERROR_MESSAGE);</p&
110、gt;<p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> JOptionPane.showMessageDialog
111、(this, "您的狀態(tài)處于審核中,無法進行此功能!",</p><p> "警告!", JOptionPane.ERROR_MESSAGE);</p><p><b> }</b></p><p><b> }</b></p><p><b>
112、; // 轉(zhuǎn)賬按鈕</b></p><p> if (e.getSource() == btnTOk)</p><p><b> {</b></p><p> Client client3 = new Login().getLogin(iAcIDing);</p><p> UserState us
113、Client3 = new Login().getState(client3);</p><p> if (usClient3.getStateID() == 2)</p><p><b> {</b></p><p> boolean boo = new getPoint().point(txtTNumber.getText());&l
114、t;/p><p> if (boo == true)</p><p><b> {</b></p><p> if (Double.valueOf(txtTNumber.getText()) <= client3</p><p> .getAcDeposits())</p><p>&l
115、t;b> {</b></p><p><b> // 判斷目標用戶</b></p><p> if (txtTGoal.getText().length() == 13)</p><p><b> {</b></p><p> String sTNumber = txtT
116、Goal.getText();</p><p> String sTNumberB = "";// 用戶名后的數(shù)字</p><p> String sTNumberF = "";// 用戶名前的字</p><p> StringBuffer sbTNumber1 = new StringBuffer(sTNumber);
117、</p><p> StringBuffer sbTNumber2 = new StringBuffer(sTNumber);</p><p> sTNumberB = sbTNumber1.delete(0, 5).toString();</p><p> sTNumberF = sbTNumber2.delete(5, 14).toString();<
118、;/p><p> boolean booAcID = new PasswordEstimate()</p><p> .passEstimate(sTNumberB);</p><p> if (sTNumberF.equals("QDDWX") && booAcID == true)</p><p>&
119、lt;b> {</b></p><p> int iTNumberB = Integer.parseInt(sTNumberB);</p><p> Client clientGoal = new Login()</p><p> .getLogin(iTNumberB);</p><p> // 判斷用戶名是否存
120、在</p><p> if (clientGoal.getAcID() == iTNumberB</p><p> && iAcIDing != iTNumberB)</p><p><b> {</b></p><p> int i = JOptionPane.showConfirmDialog
121、(this,</p><p> "轉(zhuǎn)款額為:" + txtTNumber.getText()</p><p> + "元," + " 目標賬戶為:"</p><p> + sTNumber, "確認!",</p><p> JOptionPane.YES_
122、NO_OPTION);</p><p> if (i == JOptionPane.YES_OPTION)</p><p><b> {</b></p><p> boolean booTBumber = new Login()</p><p> .getBtnTOk(</p><p>&
123、lt;b> client3,</b></p><p> clientGoal,</p><p> Integer.parseInt(txtTNumber</p><p> .getText()));</p><p> acUpdate(iAcIDing);</p><p> if (boo
124、TBumber == true)</p><p><b> {</b></p><p> txtTNumber.setText("");</p><p> JOptionPane</p><p> .showMessageDialog(</p><p><b>
125、; this,</b></p><p><b> "成功!",</b></p><p><b> "通知!",</b></p><p> JOptionPane.INFORMATION_MESSAGE);</p><p><b>
126、 }</b></p><p><b> else</b></p><p><b> {</b></p><p> txtTNumber.setText("");</p><p> JOptionPane.showMessageDialog(this,<
127、/p><p> "失??!", "通知!",</p><p> JOptionPane.ERROR_MESSAGE);</p><p><b> }</b></p><p><b> }</b></p><p><b>
128、}</b></p><p><b> else</b></p><p><b> {</b></p><p> JOptionPane.showMessageDialog(this,</p><p> "目標賬戶無效", "錯誤!",<
129、;/p><p> JOptionPane.ERROR_MESSAGE);</p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b&g
130、t;</p><p> JOptionPane.showMessageDialog(this,</p><p> "目標賬戶格式錯誤,如:QDDWX000000XX", "錯誤!",</p><p> JOptionPane.ERROR_MESSAGE);</p><p><b> }
131、</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> JOptionPane.showMessageDialog(this,</p><p>
132、; "目標用戶格式錯誤,如:QDDWX000000XX", "錯誤!",</p><p> JOptionPane.ERROR_MESSAGE);</p><p><b> }</b></p><p><b> }</b></p><p><b&
133、gt; else</b></p><p><b> {</b></p><p> JOptionPane.showMessageDialog(this, "余額不足!尚可轉(zhuǎn)賬:"</p><p> + client3.getAcDeposits() + "元", "錯誤!&q
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子銀行管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文-網(wǎng)上銀行管理系統(tǒng)
- 基于java的倉庫管理系統(tǒng)畢業(yè)論文
- 基于java的餐飲管理系統(tǒng)畢業(yè)論文
- 基于java的餐飲管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文---基于java的餐飲管理系統(tǒng)
- 最新基于java的餐飲管理系統(tǒng)(畢業(yè)論文)
- 畢業(yè)論文(基于java的圖書管理系統(tǒng))
- 基于java的銀行系統(tǒng)的設(shè)計與實現(xiàn)-畢業(yè)論文
- java-銀行管理系統(tǒng)源代碼
- java論壇管理系統(tǒng)——畢業(yè)論文
- java畢業(yè)論文--倉庫管理系統(tǒng)
- 基于java的人事管理系統(tǒng)畢業(yè)論文
- java酒店管理系統(tǒng)畢業(yè)論文
- 基于java的小型貼吧管理系統(tǒng) 畢業(yè)論文
- 畢業(yè)論文--基于java的人事管理系統(tǒng)
- 基于java的圖書管理系統(tǒng)的設(shè)計畢業(yè)論文
- java課程設(shè)計報告(銀行管理系統(tǒng))
- 基于java的在線考試系統(tǒng)(畢業(yè)論文)
- 基于java的在線考試系統(tǒng)畢業(yè)論文
評論
0/150
提交評論