2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  Java模擬ATM系統</p><p><b>  摘  要</b></p><p>  隨著Internet網絡的迅速發(fā)展,作為電子商務的ATM自動取款系統以其方便、快捷和高效的優(yōu)勢,逐步成為新興電子商務的經營模式和理念,人們已經不再只是滿足于低效率的排隊等待,而是渴望能夠充分享受網絡所帶來的更多的便利。ATM自動取款系統恰恰適應了如今的快節(jié)奏

2、生活。本文以實際ATM取款機應用為背景,闡述了系統開發(fā)過程的開發(fā)方法、系統分析以及一般步驟。</p><p>  全文共分為ATM系統綜述、ATM系統的開發(fā)方法、系統分析、系統設計、系統實現和系統維護等六個部分,利用JAVA語言強大的跨平臺性和面向對象開發(fā)等特點,聯系實際ATM應用界面,采用Eclipse開發(fā)環(huán)境,以win7為操作系統、MySQL為后臺數據庫開發(fā)出了一套自動取款機系統,基本上實現了ATM自動取款機

3、的全過程。</p><p>  關鍵詞: Java;Eclipse;MySQL;ATM自動取款系統</p><p>  ATM simulation system</p><p><b>  Abstract</b></p><p>  With the development of the Internet, ATM

4、system as a form of e-commerce with its convenient and efficient, has gradually become a new business model and philosophy, people have not longer meet the waiting queue on the low efficiency, but eager to the full enjoy

5、ment of the network brought about by the more convenient.ATM automated teller system is precisely adapted to the fast pace of life today.Based on the background of the practical application of the ATM, expounds the devel

6、opment method, sys</p><p>  The full text is divided into ATM system, ATM system development method,system analysis, system design, system implementation and system maintenances even parts, using the JAVA la

7、nguage cross platform and object-oriented features, contact the actual ATM application interface, using Eclipse development environment, using win7 as the operating system, MySQL the backstage database to develop a set o

8、f automatic teller machine system, basically realizing the ATM drawing process.</p><p>  Key words: Java; Eclipse; MySQL; ATM simulation system</p><p><b>  目 錄</b></p><p&

9、gt;<b>  摘  要i</b></p><p>  Abstractii</p><p><b>  1 緒 論1</b></p><p>  1.1 ATM概述1</p><p>  1.2 選題意義1</p><p>  2 ATM系統開發(fā)方法

10、2</p><p>  2.1 系統開發(fā)方法概述2</p><p>  2.2 該系統開發(fā)方法2</p><p>  2.3 開發(fā)工具eclipse介紹3</p><p>  2.3.1 主要組成3</p><p>  2.3.2 軟件開發(fā)包3</p><p><b&g

11、t;  3 系統分析4</b></p><p>  3.1 系統分析方法概述4</p><p>  3.1.1 限定問題4</p><p>  3.1.2 確定目標4</p><p>  3.1.3 調查研究,收集數據4</p><p>  3.1.4 提出方案和評價標準4</

12、p><p>  3.1.5 方案評估4</p><p>  3.1.6 提交可行方案5</p><p>  3.2 系統功能結構圖5</p><p>  3.3 系統主要處理流程圖6</p><p>  3.3.1 系統辦理所有業(yè)務流程圖6</p><p>  3.3.2 用戶

13、登錄流程圖7</p><p>  3.3.3 用戶轉賬流程圖8</p><p><b>  4 系統設計9</b></p><p>  4.1 系統設計概述9</p><p>  4.1.1 系統設計原則9</p><p>  4.1.2 系統設計的方法9</p>

14、<p>  4.2 系統總體結構設計10</p><p>  4.3 系統詳細設計12</p><p>  4.3.1 系統詳細設計概述12</p><p>  4.3.2 基本任務12</p><p>  4.4 系統邏輯設計12</p><p>  4.5 界面模塊設計13&l

15、t;/p><p>  4.5.1 首頁設計的窗體實現13</p><p>  4.5.2 查詢信息頁面的設計16</p><p>  4.5.3 修改密碼界面的設計18</p><p>  4.5.4 轉賬頁面的窗體設計19</p><p>  4.5.5 取款界面的窗體設計21</p>

16、<p>  4.5.6 退出界面設計23</p><p>  5 系統實現25</p><p>  5.1 程序設計25</p><p>  5.2 程序調試25</p><p>  5.2.1 程序調試的原則25</p><p>  5.2.2 調試方法25</p>&

17、lt;p>  5.2.3 調試分類26</p><p>  5.3 試運行27</p><p>  6 系統維護28</p><p>  6.1 系統維護概述28</p><p>  6.2 軟件維護類型28</p><p>  7 ATM銀行取款系統測試30</p><

18、;p>  7.1 引言30</p><p>  7.2 測試方法30</p><p>  7.3 部分測試用例31</p><p>  7.3.1 系統啟動測試31</p><p>  7.3.2 測試用戶登錄模塊31</p><p>  7.3.3 測試修改密碼模塊32</p>

19、;<p>  7.3.4 測試取款管理模塊32</p><p>  7.3.5 測試查詢模塊32</p><p>  7.3.6 測試轉賬功能32</p><p><b>  結 論33</b></p><p><b>  參考資料34</b></p>

20、<p><b>  致  謝35</b></p><p><b>  外文資料36</b></p><p><b>  資料翻譯42</b></p><p><b>  1 緒 論</b></p><p>  1.1 ATM概述<

21、;/p><p>  近年來,隨著Internet網絡的迅速發(fā)展,其在現實生活中應用很廣泛?;ヂ摼W給現實生活帶來很大的方便。如今,人們的交流已越來越多,對信息傳送的要求更嚴格,“信息高速公路”也就應運而生了。其中,Internet已擁有了數千萬個用戶,通過Internet我們就可以與全世界來聯網。對于當中各種各樣的信息,人們都可以通過網絡來共享和使用。比如ATM自動取款系統,我們可以把它當作一個虛擬的市場銷售中心,每個

22、人都可以在這個網絡上享受所提供的服務,這樣既節(jié)約了時間,又滿足了需求。尤其是人們的生活速度越來越快,沒有大量的時間花費在銀行等待長時間的排隊。</p><p>  ATM銀行取款系統的出現,使這一問題迎刃而解。自動取款機又稱ATM,是Automatic Teller Machine的縮寫,又稱自動柜員機,是指銀行在不同地點設置一種小型機器,利用一張信用卡大小的膠卡上的磁帶記錄客戶的基本戶口資料(通常就是銀行卡),

23、讓客戶可以透過機器進行提款、存款、轉帳等銀行柜臺服務,盡管大多數客戶都把這種自助機器稱為提款機。自動存取款機是一種客戶進行自助服務的電子化設備,它具有存款、取款、卡卡轉賬、查詢余額、修改密碼等功能,是一種新型的銀行電腦終端。它是一種高度精密的機電一體化裝置,利用磁性代碼卡或智能卡實現金融交易的自助服務系統。</p><p><b>  1.2 選題意義</b></p><

24、;p>  隨著Internet網絡的迅速發(fā)展,作為電子商務的ATM自動取款系統以其方便、快捷和高效的優(yōu)勢,逐步成為新興電子商務的經營模式和理念,人們已經不再只是滿足于低效率的排隊等待,而是渴望能夠充分享受網絡所帶來的更多的便利。ATM自動取款系統恰恰適應了如今的快節(jié)奏生活。本文以實際ATM取款機應用為背景,闡述了系統開發(fā)過程的開發(fā)方法、系統分析以及一般步驟。</p><p>  2 ATM系統開發(fā)方法&l

25、t;/p><p>  2.1 系統開發(fā)方法概述</p><p>  結構化系統開發(fā)方法(Structured System Analysis And Design,SSA&D,)又稱結構化生命周期法,是系統分析員、軟件工程師、程序員以及最終用戶按照用戶至上的原則,自頂向下分析與設計和自底向上逐步實施的建立計算機信息系統的一個過程,是組織、管理和控制信息系統開發(fā)過程的一種基本框架。是用

26、系統的思想和系統工程的方法,按照用戶至上的原則結構化、模塊化,自頂向下對系統進行分析與設計。</p><p><b>  步驟如下:</b></p><p>  (1)先將整個信息系統開發(fā)過程劃分為若干個相對獨立的階段(系統規(guī)劃、系統分 析、系統設計、系統實施等);</p><p>  (2)在前三個階段堅持自頂向下地對系統進行結構

27、化劃分;</p><p>  (3)在系統調查和理順管理業(yè)務時,應從最頂層的管理業(yè)務入手,逐步深入至最基 層; </p><p>  (4)在系統分析、提出目標系統方案和系統設計時,應從宏觀整體考慮入手,先考 慮系統整體的優(yōu)化,然后再考慮局部的優(yōu)化問題;</p><p>  (5)在系統實施階段,則堅持自底向上地逐步實施,即組織人員從最基層的

28、模塊做 起(編程),然后按照系統設計的結構,將模塊一個個拼接到一起進行調試,自 底向上、逐步地構成整個系統。</p><p><b>  其主要特點為:</b></p><p>  (1)自頂向下整體地進行分析與設計和自底向上逐步實施的系統開發(fā)過程:在系統 規(guī)劃、分析與設計時,從整體全局考慮,自頂向下地工作;在系統實施階段則根

29、 據設計的要求,先編制一個個具體的功能模塊,然后自底向上逐步實現整個系統。</p><p>  (2)用戶至上是影響成敗的關鍵因素,整個開發(fā)過程中,要面向用戶,充分了解用 戶的需求與愿望。</p><p>  (3)符合實際,客觀性和科學化,即強調在設計系統之前,深入實際,詳細地調查 研究,努力弄清實際業(yè)務處理過程的每一個細節(jié),然后分析研究,制定出科學合

30、 理的目標系統設計方案。</p><p>  (4)嚴格區(qū)分工作階段,把整個開發(fā)過程劃分為若干工作階段,每一個階段有明確 的任務和目標、預期達到的工作成效,以便計劃和控制進度,協調各方面的工作。 前一階段的工作成果是后一階段的工作依據。</p><p>  (5)充分預料可能發(fā)生的變化:環(huán)境變化、內部處理模式變化、用戶需求變化。</p><

31、p>  (6)開發(fā)過程工程化,要求開發(fā)過程的每一步都要按工程標準規(guī)范化,工作文體或 文檔資料標準化。</p><p>  系統開發(fā)工作的自動化、計算機化是提高系統開發(fā)效率與質量的重要途徑。計算機輔助軟件工程(簡記為CASE)也是當前信息系統領域和計算機應用領域的熱門話題。CASE技術的目標是實現系統開發(fā)生命周期內各階段工作基于計算機的自動化。這將導致系統開發(fā)工作的根本變化。</p>

32、<p>  2.2 該系統開發(fā)方法</p><p>  比較各種開發(fā)方法的特點,結合銀行取款系統的實際情況,整個系統采用結構化生命周期法,以原型法和面向對象的開發(fā)方法作為輔助,即系統總體上采用結構化生命周期法進行系統分析和系統設計,系統實施等步驟采用面向對象方法。本系統開發(fā)工具使用的是基于 Java 的可擴展開發(fā)平臺的Eclipse。</p><p>  2.3 開發(fā)工具e

33、clipse介紹</p><p>  Eclipse 是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發(fā)環(huán)境。幸運的是,Eclipse 附帶了一個標準的插件集,包括Java開發(fā)工具(Java Development Kit,JDK)。</p><p>  Eclipse 還包括插件開發(fā)環(huán)境(Plug-in Developmen

34、t Environment,PDE),這個組件主要針對希望擴展 Eclipse 的軟件開發(fā)人員,因為它允許他們構建與 Eclipse 環(huán)境無縫集成的工具。由于 Eclipse 中的每樣東西都是插件,對于給 Eclipse 提供插件,以及給用戶提供一致和統一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。</p><p>  2.3.1 主要組成</p><p>  Eclips

35、e是一個開放源代碼的軟件開發(fā)項目,專注于為高度集成的工具開發(fā)提供一個全功能的、具有商業(yè)品質的工業(yè)平臺。它主要由Eclipse項目、Eclipse工具項目和Eclipse技術項目三個項目組成,具體包括四個部分組成——Eclipse Platform、JDT、CDT和PDE。JDT支持Java開發(fā)、CDT支持C開發(fā)、PDE用來支持插件開發(fā),Eclipse Platform則是一個開放的可擴展IDE,提供了一個通用的開發(fā)平臺。它提供建造塊和構

36、造并運行集成軟件開發(fā)工具的基礎。Eclipse Platform允許工具建造者獨立開發(fā)與他人工具無縫集成的工具從而無須分辨一個工具功能在哪里結束,而另一個工具功能在哪里開始。</p><p>  2.3.2 軟件開發(fā)包</p><p>  Eclipse SDK(軟件開發(fā)者包)是Eclipse Platform、JDT和PDE所生產的組件合并,它們可以一次下載。這些部分在一起提供了一個具

37、有豐富特性的開發(fā)環(huán)境,允許開發(fā)者有效地建造可以無縫集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse項目生產的工具和來自其它開放源代碼的第三方軟件組合而成。Eclipse項目生產的軟件以 GPL發(fā)布,第三方組件有各自自身的許可協議。</p><p><b>  3 系統分析</b></p><p>  系統分析方法是指把要解決的問

38、題作為一個系統,對系統要素進行綜合分析,找出解決問題的可行方案的咨詢方法。</p><p>  3.1 系統分析方法概述</p><p>  系統分析是一種研究方略,它能在不確定的情況下,確定問題的本質和起因,明確咨詢目標,找出各種可行方案,并通過一定標準對這些方案進行比較,幫助決策者在復雜的問題和環(huán)境中作出科學抉擇。系統分析方法的具體步驟包括:限定問題、確定目標、調查研究收集數據、提出

39、備選方案和評價標準、備選方案評估和提出最可行方案。系統分析的目標是明確系統開發(fā)的目標和用戶信息需求,提出系統的邏輯方案。為系統設計做好準備。</p><p>  3.1.1 限定問題</p><p>  所謂問題,是現實情況與計劃目標或理想狀態(tài)之間的差距。系統分析的核心內容有兩個:其一是進行“診斷”,即找出問題及其原因;其二是“開處方”,即提出解決問題的最可行方案。所謂限定問題,就是要明

40、確問題的本質或特性、問題存在范圍和影響程度、問題產生的時間和環(huán)境、問題的癥狀和原因等。限定問題是系統分析中關鍵的一步,因為如果“診斷”出錯,以后開的“處方”就不可能對癥下藥。在限定問題時,要注意區(qū)別癥狀和問題,探討問題原因不能先入為主,同時要判別哪些是局部問題,哪些是整體問題,問題的最后確定應該在調查研究之后。</p><p>  通過親身體驗總結各銀行ATM提款機界面流程,得到本系統開發(fā)的主要流程界面(主要功能

41、取款、轉賬、查詢、修改密碼等)。</p><p>  3.1.2 確定目標</p><p>  系統分析目標應該根據客戶的要求和對需要解決問題的理解加以確定,如有可能應盡量通過指標表示,以便進行定量分析。對不能定量描述的目標也應該盡量用文字說明清楚,以便進行定性分析和評價系統分析的成效。</p><p>  3.1.3 調查研究,收集數據</p>

42、<p>  調查研究和收集數據應該圍繞問題起因進行,一方面要驗證有限定問題階段形成的假設,另一方面要探討產生問題的根本原因,為下一步提出解決問題的備選方案做準備。</p><p>  調查研究常用的有四種方式,即閱讀文件資料、訪談、觀察和調查。</p><p>  收集的數據和信息包括事實(facts)、見解(opinions)和態(tài)度(attitudes)。要對數據和信息去偽存真

43、,交叉核實,保證真實性和準確性。</p><p>  3.1.4 提出方案和評價標準</p><p>  通過深入調查研究,使真正有待解決的問題得以最終確定,使產生問題的主要原因得到明確,在此基礎上就可以有針對性地提出解決問題的備選方案。備選方案是解決問題和達到咨詢目標可供選擇的建議或設計,應提出兩種以上的備選方案,以便提供進一步評估和篩選。為了對備選方案進行評估,要根據問題的性質和客戶

44、具備的條件。提出約束條件或評價標準,供下一步應用。</p><p>  3.1.5 方案評估</p><p>  根據上述約束條件或評價標準,對解決問題備選方案進行評估,評估應該是綜合性的,不僅要考慮技術因素,也要考慮社會經濟等因素,評估小組應該有一定代表性,除咨詢項目組成員外,也要吸收客戶組織的代表參加。根據評估結果確定最可行方案。</p><p>  3.1.

45、6 提交可行方案</p><p>  最可行方案并不一定是最佳方案,它是在約束條件之內,根據評價標準篩選出的最現實可行的方案。如果客戶滿意,則系統分析達到目標。如果客戶不滿意,則要與客戶協商調整約束條件或評價標準,甚至重新限定的問題,開始新一輪系統分析,直到客戶滿意為止。</p><p>  3.2 系統功能結構圖</p><p>  結構化設計方法使用的描述方

46、式是系統結構圖,也稱結構圖或控制結構圖。它表示了一個系統 (或功能模塊) 的層次分解關系,模塊之間的調用關系,以及模塊之間數據流和控制流信息的傳遞關系,它是描述系統物理結構的主要圖表工具。</p><p>  系統結構圖是對軟件系統結構的總體設計的圖形顯示。</p><p>  在需求分析階段,已經從系統開發(fā)的角度出發(fā),把系統按功能逐次分割成層次結構,使每一部分完成簡單的功能且各個部分之間

47、又保持一定的聯系,這就是功能設計。在設計階段,基于這個功能的層次結構把各個部分組合起來成為系統。處理方式設計:確定為實現軟件系統的功能需求所必需的算法,評估算法的性能。確定為滿足軟件系統的性能需求所必需的算法和模塊間的控制方式(性能設計)。確定外部信號的接收發(fā)送形式。</p><p>  圖3-1 ATM系統功能結構圖</p><p>  該系統主要實現銀行卡用戶的存取款,以及進行一些簡

48、單的查詢和取款業(yè)務,同時能夠在系統里面進行客戶密碼的修改,實現簡單的機器與客戶交互。</p><p>  3.3 系統主要處理流程圖</p><p>  3.3.1 系統辦理所有業(yè)務流程圖</p><p>  圖3-2 業(yè)務流程圖</p><p>  該系統主要實現銀行卡用戶的存取款,以及進行一些簡單的查詢和取款業(yè)務,同時能夠在系統里面進

49、行客戶密碼的修改,實現簡單的機器與客戶交互。</p><p>  3.3.2 用戶登錄流程圖</p><p>  圖3-3 用戶登錄流程圖</p><p>  該模塊主要實現銀行卡用戶的登錄流程,登錄模塊時需要進行賬號和密碼的驗證,直到賬號和密碼同時正確才能登錄成功。</p><p>  3.3.3 用戶修改密碼流程圖</p&g

50、t;<p>  圖3-4 用戶修改密碼流程圖</p><p>  該模塊主要實現銀行卡賬戶的密碼修改功能,在密碼修改過程中需要驗證新密碼和舊密碼的輸入是否正確,直到舊密碼輸入正確,兩次輸入新密碼一致且和舊密碼不相同才能修改成功。</p><p>  3.3.3 用戶轉賬流程圖</p><p>  圖3-5 用戶轉賬流程圖</p>&

51、lt;p>  通過該功能用戶可以選擇給對方轉賬,只要輸入對法的卡號的所轉入的金額就可以實現轉賬功能。</p><p>  但是前提是需要與數據庫中的賬號進行余額匹配,只有在輸入的所轉入的金額小于自己賬號的余額時才能實現轉賬成功,如果輸入的所轉金額大于自己的賬號余額,那么就會出現錯誤,此部分的代碼設計中使用了人為的異常拋出功能,將出現的所轉金額大于余額時的異常拋出,從而提示用戶選擇其他的操作來阻止錯誤的發(fā)生。

52、</p><p><b>  4 系統設計</b></p><p>  4.1 系統設計概述</p><p>  這個階段的任務是設計軟件系統的模塊層次結構,設計數據庫的結構以及設計模塊的控制流程,其目的是明確軟件系統"如何做"。這個階段又分兩個步驟:概要設計和詳細設計。</p><p>  在系

53、統分析的基礎上,設計出能滿足預定目標的系統的過程。系統設計內容主要包括:確定設計方針和方法,將系統分解為若干子系統,確定各子系統的目標、功能及其相互關系,決定對子系統的管理體制和控制方式,對各子系統進行技術設計和評價,對全系統進行技術設計和評價等。</p><p>  系統設計通常應用兩種方法:一種是歸納法,另一種是演繹法。應用歸納法進行系統設計的程序是:首先盡可能地收集現有的和過去的同類系統的系統設計資料;在對

54、這些系統的設計、制造和運行狀況進行分析研究的基礎上,根據所設計的系統的功能要求進行多次選擇,然后對少數幾個同類系統作出相應修正,最后得出一個理想的系統。演繹法是一種公理化方法,即先從普遍的規(guī)則和原理出發(fā),根據設計人員的知識和經驗,從具有一定功能的元素集合中選擇能符合系統功能要求的多種元素,然后將這些元素按照一定形式進行組合(見系統結構),從而創(chuàng)造出具有所需功能的新系統。在系統設計的實踐中,這兩種方法往往是并用的。</p>

55、<p>  4.1.1 系統設計原則</p><p><b>  (1)階段開發(fā)原則</b></p><p>  系統框架和數據結構全面設計,具體功能實現分階段進行。網站的建設過程可以采取以下三期:第一期工程搭建網站的基本構架,實現電子商務網的大部分功能,初步實現網上交易;第二期工程實現網上競價系統的全部功能;第三期工程實現網站在線的B to B 交易。&

56、lt;/p><p><b>  (2)易用性原則</b></p><p>  方便上網客戶瀏覽和操作,最大限度地減輕后臺管理人員的負擔,做到部分業(yè)務的自動化處理。</p><p>  (3)業(yè)務完整性原則</p><p>  對于業(yè)務進行中的特殊情況能夠做出及時、正確的響應,保證業(yè)務數據的完整性。</p>&l

57、t;p>  (4)業(yè)務規(guī)范化原則</p><p>  在系統設計的同時,也為將來的業(yè)務流程制定了較為完善的規(guī)范,具有較強的實際操作性。</p><p><b>  (5)可擴展性原則</b></p><p>  系統設計要考慮到業(yè)務未來發(fā)展的需要,要盡可能設計得簡明,各個功能模塊間的</p><p>  耦合度小,

58、便于系統的擴展。如果存在舊有的數據庫系統,則需要充分考慮兼容性。</p><p>  4.1.2 系統設計的方法</p><p>  系統設計的方法主要包括結構化生命周期法(又稱瀑布法)、原型化方法(迭代法)、面向對象方法。按時間過程來分,開發(fā)方法分為生命周期法和原型法,實際上還有許多處于中間狀態(tài)的方法。原型法又按照對原型結果的處理方式分為試驗原型法和演進原型法。試驗原型法只把原型當成試

59、驗工具,試了以后就拋掉,根據試驗的結論做出新的系統。演進原型法則把試好的結果保留,成為最終系統的一部分。按照系統的分析要素,可以把開發(fā)方法分為三類:</p><p>  1、面向處理方法(Processing Oriented ,簡稱PO);</p><p>  2、向數據方法(Data Oriented ,簡稱DO);</p><p>  3、向對象的方法(Obj

60、ect Oriented ,簡稱OO)。</p><p>  4.2 系統總體結構設計</p><p>  根據業(yè)務流程圖轉化為軟件的體系結構,進而用軟件結構圖建立物理模型,得系統活動圖,如下:</p><p>  圖4-1 系統結構圖</p><p>  該圖按照實際的ATM系統順序進行大體設計,分為三大層。</p><

61、;p>  從儲戶的登入進入主界面,在該界面中設計了ATM的主要模塊功能,如取款、查詢、修改密碼以及轉賬業(yè)務,用戶可以進入想要實現的模塊中進行相關業(yè)務的處理;同時可以在任何一個界面選擇退出系統,來終止錯誤的操作。</p><p>  此圖根據業(yè)務流程圖轉化為軟件的體系結構,進而用軟件結構圖建立物理模型,軟件人員根據物理模型對軟件進行系統總體結構設計,繼而細化為對各個模塊的代碼實現,系統結構圖是對軟件系統結構的

62、總體設計的圖形顯示。在詳細階段確定為滿足軟件系統的性能需求所必需的算法和模塊間的控制方式(性能設計)。確定外部信號的接收發(fā)送形式。</p><p>  在需求分析階段,已經從系統開發(fā)的角度出發(fā),把系統按功能逐次分割成層次結構,使每一部分完成簡單的功能且各個部分之間又保持一定的聯系,這就是功能設計。在設計階段,基于這個功能的層次結構把各個部分組合起來成為系統。</p><p>  圖4-2

63、 系統活動圖</p><p>  4.3 系統詳細設計</p><p>  4.3.1 系統詳細設計概述</p><p>  對概要設計的一個細化,就是詳細設計每個模塊實現算法,所需的局部結構。</p><p>  詳細設計的實現根據結構程序設計原理,將每個模塊的功能用相應的標準語句表示出來。</p><p>  

64、4.3.2 基本任務</p><p>  為每個模塊進行詳細的算法設計。用某種圖形、表格、語言等工具將每個模塊 處理過程的詳細算法描述出來。</p><p>  為模塊內的數據結構進行設計。對于需求分析、概要設計確定的概念性的數據 類型進行確切的定義。</p><p>  為數據結構進行物理設計,即確定數據庫的物理結構。物理結構主要指數據

65、庫 的存儲記錄格式、存儲記錄安排和存儲方法,這些都依賴于具體所使用的數據 庫系統。</p><p>  其他設計:根據軟件系統的類型,還可能要進行以下設計:</p><p> ?、俅a設計。為了提高數據的輸入、分類、存儲、檢索等操作,節(jié)約內存空間,對數據庫中的某些數據項的值要進行代碼設計。</p><p> ?、谳斎?輸出格式設計。<

66、;/p><p> ?、廴藱C對話設計。對于一個實時系統,用戶與計算機頻繁對話,因此要進行對話方式、內容、格式的具體設計。</p><p>  編寫詳細設計說明書。</p><p>  (6)評審。對處理過程的算法和數據庫的物理結構都要評審。 </p><p>  4.4 系統邏輯設計</p><p>  數據庫設計指對系

67、統所采用的數據模式、子模式、應用程序、數據庫等根據用戶的具體要求進行分析和設計。它也是管理信息系統設計的重要組成部分。數據庫設計的基本原則是盡可能提高數據組織的相對獨立性,簡化其結構,即用規(guī)范化方法設施數據存儲的結構,提高數據的可維護性、完整性、一致性。通過收集和分析用戶需求,確定了數據庫要保存的信息,我將此次數據庫設計為二個如下所示表的設計如下:</p><p>  表4-1 用戶信息設計表</p>

68、;<p>  用戶信息表定義了用戶的姓名、性別、身份證號碼和卡號,其中身份證號是主鍵,用于在查詢卡信息的時候,從數據庫中提取出相關數據顯示在用戶的交互界面,方便用戶查看相關信息。</p><p>  而卡號是賬戶信息的表中的主鍵,在此表中屬于外鍵,定義了用戶表和賬戶信息表的關系。</p><p>  表4-2 賬戶信息設計表</p><p>  賬戶

69、信息設計表主要設計了賬戶的卡號,賬戶余額以及密碼等字段,其中卡號是該表的主鍵。</p><p><b>  數據庫設計如下:</b></p><p>  1.名字:用戶登錄信息</p><p>  描述:助記詞登錄時,用于確認身份</p><p>  定義:登錄信息=帳號+密碼</p><p> 

70、 2.名字:修改密碼信息</p><p>  描述:用戶確認修改后的信息</p><p>  定義:修改密碼信息=原密碼+新密碼+確認密碼</p><p><b>  3.名字:轉賬信息</b></p><p>  描述:用戶所要轉入賬戶的信息 </p><p>  定義:轉賬信息=用戶賬號余額+

71、對方賬號+轉入金額</p><p>  4.名字:查詢余額信息</p><p>  描述:用戶需要清楚的知道自己賬戶中的信息</p><p>  定義:查詢余額信息=用戶余額</p><p>  4.5 界面模塊設計</p><p>  用戶界面設計目前已成為評價軟件質量的一條重要指標,所謂用戶界面是批軟件系統與用戶

72、交互的接口,通常包括輸入、輸出設計、人機對話的界面設計。</p><p>  4.5.1 首頁設計的窗體實現</p><p>  當插入現金卡之后出現如上歡迎界面, 系統出現選擇確定和取消的登入方式,點擊按鈕之后(確定)出現后對話框:</p><p><b>  //首頁設計窗體</b></p><p>  class

73、 Panel01 extends JPanel{</p><p>  JLabel label1,label2,label3,label4;</p><p>  JPasswordField textA;</p><p>  JTextField textC;</p><p>  static JTextField textB;</p&

74、gt;<p>  char t[]=new char[4]; </p><p>  Panel01(){</p><p>  setLayout(new GridLayout(4,4));</p><p>  for(int i=0;i<4;i++){</p><p>  t[i]=(char)(Math.ra

75、ndom()*26+'A');</p><p><b>  }</b></p><p>  String mm=new String(t);</p><p>  label2=new JLabel("請輸入卡號:");</p><p>  label1=new JLabel("

76、;請輸入密碼:");</p><p>  label3=new JLabel();</p><p>  label4=new JLabel("請輸入驗證碼:");</p><p>  add(textB);</p><p>  add(textA);</p><p>  add(textC

77、);</p><p><b>  }</b></p><p><b>  }</b></p><p>  class Panel02 extends JPanel{</p><p>  JButton button1,button2;</p><p>  Panel02(){

78、</p><p>  setLayout(new GridLayout(3,6));</p><p>  button1=new JButton("確定");</p><p>  button2=new JButton("取消");</p><p><b>  }</b></

79、p><p><b>  }</b></p><p>  該代碼對首頁的組件進行了設計,用戶在使用過程需要將卡號,密碼和驗證碼都輸入正確才能進入下一步的操作,如果其中一個出現問題則不能成功登陸,也不能實現后面相對應的操作。</p><p>  //首頁添加監(jiān)聽器并添加action</p><p>  class Client0

80、0 extends JFrame implements ActionListener{</p><p>  public void actionPerformed(ActionEvent e){</p><p>  char[] passwords=panel1.textA.getPassword();</p><p>  String password=new S

81、tring("1234");</p><p>  //此處設置賬號123456的初始密碼為1234,每輸入一次都有提示,在連續(xù)輸入三次不正確后系統自動退出。</p><p>  if(e.getActionCommand().equals("確定"))</p><p>  if(panel1.textC.getText().e

82、quals(panel1.label3.getText())){</p><p><b>  right();</b></p><p><b>  }</b></p><p>  else if(e.getActionCommand()=="取消"){</p><p>  thi

83、s.setVisible(false);</p><p>  new Client08("");</p><p><b>  } </b></p><p><b>  }</b></p><p>  public void right(){</p><p&g

84、t;  if(panel1.textA.getText().equals("")||panel1.textB.getText().equals("")){</p><p>  JOptionPane.showMessageDialog(frame," 請輸入賬號、密碼!");</p><p><b>  r

85、eturn;</b></p><p><b>  }</b></p><p>  String url = "jdbc:mysql://localhost:3306/atm?</p><p>  useUnicode=true&character Encoding=gbk";</p><

86、;p>  // 定義與連接數據庫的url</p><p><b>  try{</b></p><p>  Class.forName("com.mysql.jdbc.Driver");</p><p>  // 加載mysql數據庫驅動</p><p>  Connection con=Dr

87、iverManager.getConnection(url,"root","123");</p><p>  //連接URL為 jdbc:mysql//服務器地址/數據庫名 ,后面的2個參數分別是登陸用 戶名和密碼</p><p>  Statement sql=con.createStatement(); </p>

88、<p>  String ql=panel1.textB.getText();</p><p>  ResultSet rs=sql.executeQuery("select cpwd from card where ucno="+ql+"");</p><p>  在此時輸入的數據會與數據庫進行數據匹配,因此可能會出現錯誤的信息,那么

89、要對錯誤的信息進行處理,于是針對輸入密碼的錯誤次數設置了處理過程,相應的處理過程寫成下面的代碼:</p><p>  if(rs.next()){</p><p>  String qerycpwd=panel1.textA.getText();</p><p>  String s=rs.getString(1);</p><p>  if

90、(qerycpwd.equals(s)){</p><p>  JOptionPane.showMessageDialog(frame,"連接成功!");</p><p>  this.setVisible(false);</p><p>  new Client01("用戶取款系統");</p><p&g

91、t;<b>  }else{ </b></p><p><b>  if(i!=2){</b></p><p><b>  i++;</b></p><p><b>  j=3-i;</b></p><p>  JOptionPane.showMessag

92、eDialog(frame,"密碼有誤! 你還有"+j+"次機會,請你再仔細想想.");</p><p>  panel1.textA.setText("");</p><p><b>  }</b></p><p><b>  else {</b></p&

93、gt;<p>  JOptionPane.showMessageDialog(frame,"對不起,你輸入的密碼次數達 三次,下次再見。");</p><p>  System.exit(0);</p><p><b>  }</b></p><p><b>  }&l

94、t;/b></p><p>  con.close();</p><p>  frame.repaint();</p><p><b>  }</b></p><p><b>  else{</b></p><p>  JOptionPane.showMessageDi

95、alog(null,"該用戶不存在,重新輸入!","警告!", JOptionPane.YES_NO_OPTION);</p><p><b>  return;</b></p><p><b>  }</b></p><p><b> 

96、 }</b></p><p>  圖 4-3 登錄界面</p><p>  登錄模塊采用的是密碼、驗證碼的方式,需要用戶輸入卡號、密碼和驗證碼然后點擊確認進行驗證登錄,程序將根據輸入卡號查找對應密碼,第一如果賬號找到則繼續(xù)下一步,在這里我用了輸入驗證碼的方式,輸入正確則繼續(xù),程序系統將根據卡號調用后臺數據庫查找與卡號對應的密碼并與用戶輸入的密碼相對比。密碼正確則繼續(xù),否則當輸

97、入的錯誤密碼次數達到三次時,系統將提示你需要與前臺服務員取得聯系。第二如果沒有找到,則提示輸入賬號錯誤。</p><p>  4.5.2 查詢信息頁面的設計</p><p>  //查詢余額頁面窗體設計</p><p>  class Panel06 extends JPanel{</p><p>  JLabel label1,label

98、2;</p><p>  JTextField textA;</p><p>  JFrame frame;</p><p>  Panel06(){</p><p>  setLayout(new GridLayout(4,4));</p><p>  label1=new JLabel("你的余額為:&q

99、uot;);</p><p>  textA=new JTextField(6); </p><p><b>  }</b></p><p>  圖4-4 查詢模塊</p><p>  在查詢模塊中,將通過用戶所使用的賬戶賬號來進行余額的查詢,將顯示賬戶的實際余額,點擊“查詢”按鈕,在程序中通過按鈕的Acti

100、on方法進行方法的調用,就可以實現查詢余額的功能并且把查詢到的賬戶余額顯示在此界面上。當用戶點擊“繼續(xù)”時,程序則返回到初始主界面。</p><p>  class Panel07 extends JPanel{</p><p>  JButton button1,button2;</p><p>  Panel07(){</p><p> 

101、 setLayout(new GridLayout(3,6));</p><p>  button1=new JButton("繼續(xù)");</p><p>  button2=new JButton("查詢");</p><p>  class Client03 extends JFrame implements Action

102、Listener{</p><p>  Panel06 panel1;</p><p>  Panel07 panel2;</p><p>  public void actionPerformed(ActionEvent e){</p><p>  if(e.getActionCommand().equals("繼續(xù)")

103、){</p><p>  this.setVisible(false);</p><p>  new Client01("選擇服務種類");</p><p><b>  }</b></p><p>  else if(e.getActionCommand()=="查詢")</

104、p><p>  showcbal();</p><p><b>  }</b></p><p>  public void showcbal(){</p><p>  String url = "jdbc:mysql://localhost:3306/atm";</p><p> 

105、 // 定義與連接數據庫的url</p><p><b>  try{</b></p><p>  Class.forName("com.mysql.jdbc.Driver");</p><p>  // 加載mysql數據庫驅動</p><p>  Connection con=DriverMan

106、ager.getConnection(url,"root","123");</p><p>  //連接URL為 jdbc:mysql//服務器地址/數據庫名 ,后面的2個參數分別是登陸用戶名和密碼</p><p>  ResultSet rs=sql.executeQuery("select cbal from card where

107、 cno="+ql+"");</p><p>  if(rs.next()){</p><p>  String ucbal=rs.getString(1);</p><p><b>  }</b></p><p>  con.close();</p><p>  }

108、catch(Exception ex) {</p><p>  ex.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p>  } </p><p>  圖4-5

109、 查詢卡信息模塊</p><p>  這個功能用來顯示賬戶的基本信息包括用戶名、性別、身份證、卡號等,點擊查詢按鈕后系統將根據與輸入的卡號相一致的字段信息查詢后臺數據庫進行比較,并將匹配的信息顯示在此頁面上。當點擊“取消”按鈕時,系統將返回到初始主界面。</p><p>  4.5.3 修改密碼界面的設計</p><p>  //修改密碼頁面窗體設計</p&

110、gt;<p>  Panel10(){</p><p>  setLayout(new GridLayout(10,6));</p><p>  label1=new JLabel("請輸入原密碼:");</p><p>  label2=new JLabel("請輸入新密碼:");</p><

111、;p>  label3=new JLabel("再次確認密碼:");</p><p>  button1=new JButton("確定");</p><p>  button2=new JButton("取消");</p><p>  修改密碼過程需要對數據庫進行操作,首先要找到該賬戶的賬戶信息進行

112、匹配,只有輸入的原密碼正確了才能進行下面的修改,而且兩次輸入的新密碼必須一致,如果不一致也不能進行修改,如果都正確則需要更新數據庫中已經存入的密碼。</p><p>  public void updateM(){</p><p>  String url = "jdbc:mysql://localhost:3306/atm";</p><p>

113、  // 定義與連接數據庫的url</p><p><b>  try{</b></p><p>  Class.forName("com.mysql.jdbc.Driver");</p><p>  // 加載mysql數據庫驅動</p><p>  Connection con=DriverMa

114、nager.getConnection(url,"root","123");</p><p>  //連接URL為 jdbc:mysql//服務器地址/數據庫名 ,后面的2個參數分別是登陸用戶名和密碼</p><p>  Statement sql=con.createStatement();</p><p>  Str

115、ing cno=Panel01.textB.getText();</p><p>  ResultSet rs=sql.executeQuery("select cpwd from card where cno="+cno+"");</p><p><b>  }</b></p><p>  class

116、bankSystem05{</p><p>  public static void main(String []args){</p><p>  new Client02("修改密碼服務");</p><p><b>  } </b></p><p><b>  }</b>

117、</p><p>  圖4-6 修改密碼模塊</p><p>  這個模塊需要用戶輸入舊密碼后,再次輸入兩次新密碼來進行確認,然后點擊“確定”按鈕進行密碼的修改,修改成功后將給出提示信息,其中還考慮到了一些用戶可能的輸入錯誤問題,在程序設計時我做出了一些異常的判斷和處理,比如空輸入,輸入兩次新密碼不一致以及原密碼輸入不正確等問題。修改更新密碼的完成,依然采用的是“確定”按鈕控件的Acti

118、on事件來進行完成。</p><p>  4.5.4 轉賬頁面的窗體設計</p><p>  //轉賬頁面窗體設計</p><p>  Panel08(){</p><p>  setLayout(new GridLayout(4,4));</p><p>  label1=new JLabel("輸入預轉

119、賬號:");</p><p>  label2=new JLabel("輸入預轉金額:");</p><p><b>  }</b></p><p>  class Client04 extends JFrame implements ActionListener{</p><p>  pu

120、blic void actionPerformed(ActionEvent e){</p><p>  if(e.getActionCommand().equals("確定")){</p><p>  zhuanzhang();</p><p>  //程序根據輸入賬號調用數據庫,修改對應金額數。</p><p>  th

121、is.setVisible(false);</p><p>  new Client01("用戶取款系統");</p><p><b>  }</b></p><p>  public void zhuanzhang(){</p><p>  if(panel1.textA.getText().equ

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論