




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、atm 自動取款機系統(tǒng)院 系: 軟件學(xué)院 專 業(yè): 軟件工程 班 級: 學(xué)生姓名: xxx 指導(dǎo)教師: 摘 要本系統(tǒng)在 vs 2010 開發(fā)環(huán)境下,使用 c#語言實現(xiàn)各模塊功能。以 access 2010 作為數(shù)據(jù)庫,實現(xiàn)了一個簡化的中國工商自動取款機系統(tǒng)。該系統(tǒng)的基本工作原理是利用計算機對用戶的銀行交易進行管理,主要包括用戶登錄、取現(xiàn)、存現(xiàn)、轉(zhuǎn)賬、修改密碼、查詢余額、系統(tǒng)設(shè)置。系統(tǒng)實現(xiàn)了增加、刪除、修改、查詢等功能。儲戶可以存錢到賬戶中,也可以從自己的賬戶中取現(xiàn),還可以將存款從一個賬戶轉(zhuǎn)到另一個賬戶。儲戶可以隨時查詢自己賬戶的情況,并查詢以前所進行的存款、取款等交易記錄。自動取款機系統(tǒng)主要優(yōu)
2、點是:使用簡單、界面友好、檢索速度快、檢全率和檢準率容易保證、檢索方式靈活多樣。自動統(tǒng)計速度快、提供信息及時、準確,可以滿足各種不同的需求,可以提供整體情況也可以細化到個人,自動取款機大大方便了用戶的使用,把各類相關(guān)人員從繁重的工作中解脫出來,節(jié)省了大量人力。關(guān)鍵詞:c#;中國工商自動取款機系統(tǒng);access 2010;數(shù)據(jù)庫abstractthe system development environment in vs 2010, using c # language features of each module. in access 2010 as a database, to achi
3、eve a simplified chinese industrial and commercial automatic teller machine system. the basic principle of the system is the use of computers to manage the users banking transactions, including user login, cash, cash deposit, transfer, change passwords, check balances, system settings. system to ach
4、ieve add, delete, modify, query and other functions. savers can deposit money into the account, or you can take from your account now, you can also deposit from one account to another. depositors can always check their accounts, and to check before were deposits, withdrawals and other transactions.
5、automatic teller machine system main advantages are: easy to use, friendly interface, fast retrieval, recall and precision can easily guarantee flexible retrieval methods. speed automatic statistics, providing information timely, accurate, and meet a variety of different needs, can provide the overa
6、ll situation can be refined to individual atms greatly facilitate the users to use, the different types of relevant personnel from the heavy work freed, save a lot of manpower.keywords:c#; chinese industrial and commercial automatic teller machine system; access 2010; database目 錄1 緒 論.11.1 開發(fā)背景 .11.
7、2 開發(fā)目的 .11.3 開發(fā)意義 .11.4 技術(shù)概述 .21.4.1 c#技術(shù)概述.21.4.2 access 2010 技術(shù)概述.31.5 技術(shù)可行性 .41.6 經(jīng)濟可行性 .41.7 法律可行性 .51.8 操作可行性 .51.9 可行性研究結(jié)論 .52 系統(tǒng)需求分析.62.1 系統(tǒng)功能需求及分析 .62.2 系統(tǒng)性能需求 .62.3 系統(tǒng)開發(fā)及運行環(huán)境 .72.4 數(shù)據(jù)流圖.72.5 數(shù)據(jù)流程圖.92.6 數(shù)據(jù)字典.93 系統(tǒng)總體設(shè)計.113.1 設(shè)計目標 .113.2 系統(tǒng)功能結(jié)構(gòu)圖 .113.3 數(shù)據(jù)庫設(shè)計 .123.3.1 數(shù)據(jù)庫需求分析.123.3.2 數(shù)據(jù)庫概要設(shè)計.13
8、3.4 模塊功能介紹 .163.4.1 登錄功能模塊.163.4.2 取款功能模塊.163.4.3 存款功能模塊.163.4.4 查詢功能模塊.163.4.5 轉(zhuǎn)賬功能模塊.173.4.6 密碼修改功能模塊.173.4.7 系統(tǒng)設(shè)置功能模塊.174 系統(tǒng)詳細設(shè)計.184.1 設(shè)計目標.184.2 模塊設(shè)計.184.2.1 登錄窗口設(shè)計.184.2.2 主窗口設(shè)計.184.2.3 取款窗口設(shè)計.204.2.4 存款窗口設(shè)計.234.2.5 轉(zhuǎn)賬窗口設(shè)計.254.2.6 查詢余額窗口設(shè)計.274.2.7 修改密碼窗口設(shè)計.294.2.8 系統(tǒng)設(shè)置窗口設(shè)計.305 系統(tǒng)測試.345.1 軟件測試.3
9、45.2 單元測試實例.345.3 測試結(jié)果分析與說明.35結(jié) 論.36致 謝.37參考文獻.381 緒 論1.1 開發(fā)背景隨著時代的進步,生活節(jié)奏的加快,越來越多的人進入銀行。在銀行業(yè)務(wù)量爆炸式增長的時候,atm 已經(jīng)開始悄悄的走入人們的生活。atm 機作為銀行服務(wù)的擴展終端,大大的提高了銀行業(yè)務(wù)辦理能力,24 小時為客戶提供基礎(chǔ)的銀行服務(wù),使得銀行客戶在面對長長的隊伍時有更加主動的選擇。atm 設(shè)備已經(jīng)成為我們?nèi)粘I钪胁豢苫蛉钡闹匾O(shè)備。因此我決定學(xué)習(xí)了解 atm 設(shè)備的工作原理,探究 atm 機的工作機制,并自行模擬 atm 系統(tǒng)功能。1.2 開發(fā)目的相比國外,國內(nèi)的 atm 機起步較
10、晚,atm(auto teller machine)稱自動取款機,實質(zhì)是一種集光、機、電技術(shù)的銀行業(yè)自動化設(shè)備。我國的 atm 是伴隨著銀行卡業(yè)務(wù)的成長而逐步發(fā)展起來的,為了滿足持卡人在銀行營業(yè)時間外也能夠用卡存、取款,銀行投資并安裝了 atm,以此提供 24 小時的自助服務(wù)。1987 年 2 月,我國第一臺 atm 在廣東珠海投入使用。1993 年我國“金卡工程”啟動后,國內(nèi)銀行對 atm 需求激增。1998 年,全國 atm 突破 2 萬臺。進入 21 世紀后,atm 機的數(shù)量不斷增加。到 2007 年底,中國聯(lián)網(wǎng) atm 機已經(jīng)達到 12.3 萬臺,近 5 年國內(nèi) atm 設(shè)備保有量實現(xiàn)
11、了年均 20.22%的復(fù)合增長,整體 atm 機市場保有量已經(jīng)達到 13.8 萬臺。atm 是社會發(fā)展過程中電子技術(shù)與銀行業(yè)務(wù)完美結(jié)合的產(chǎn)物之一,信息技術(shù)的創(chuàng)新推動著 atm 向更加智能化和人性化的方向發(fā)展?,F(xiàn)在的 atm 機使用方便、界面更加友好,為廣大客戶提供了一種便捷的自助服務(wù)方式,不但增強了銀行服務(wù)的靈活性,而且提升了銀行的整體形象1。 1.3 開發(fā)意義隨著銀行業(yè)務(wù)的擴展,業(yè)務(wù)量的增長,人們的生活和銀行連接的越來越緊密,這個時候銀行的長龍開始出現(xiàn),因此,人們設(shè)法用銀行自動取款機系統(tǒng)軟件的開發(fā)解決以上的問題,這也成為本次設(shè)計的意義所在。1.4 技術(shù)概述1.4.1 c#技術(shù)概述1. c#的
12、產(chǎn)生c#讀作 c sharp。最初它有個更酷的名字,叫做 cool。微軟從 1998 年 12月開始了 cool 項目,直到 2000 年 2 月,cool 被正式更名為 c#。在 1998年,delphi 語言的設(shè)計者 hejlsberg 帶領(lǐng)著 microsoft 公司的開發(fā)團隊,開始了第一個版本 c#語言的設(shè)計。在 2000 年 9 月,國際信息和通信系統(tǒng)標準化組織為 c#語言定義了一個 microsoft 公司建議的標準2。最終 c#語言在 2001 年得以正式發(fā)布。2. c#的特點一、簡潔的語法。c#用真正的關(guān)鍵字換掉了那些把活動模板庫(active template library
13、, alt)和 com 搞得亂糟糟的偽關(guān)鍵字,如ole_color、bool、variant_bool、dispid_xxxxx 等等。每種 c#操作符在.net 類庫中都有了新名字。語法中的冗余是 c+中的常見的問題,比如const和#define、各種各樣的字符類型等等。c#對此進行了簡化,只保留了常見的形式,而別的冗余形式從它的語法結(jié)構(gòu)中被清除了出去。二、精心地面向?qū)ο笤O(shè)計。c#只允許單繼承,即一個類不會有多個基類,從而避免了類型定義的混亂。在后面的學(xué)習(xí)中很快會發(fā)現(xiàn),c#中沒有了全局函數(shù),沒有了全局變量,也沒有了全局常數(shù)。一切的一切,都必須封裝在一個類之中。你的代碼將具有更好的可讀性,并
14、且減少了發(fā)生命名沖突的可能。三、與 web 的緊密結(jié)合。.net 中新的應(yīng)用程序開發(fā)模型意味著越來越多的解決方案需要與 web 標準相統(tǒng)一,例如,超文本標記語言(hypertext markup language, html)和 xml。由于歷史的原因,現(xiàn)存的一些開發(fā)工具不能與 web緊密地結(jié)合。soap 的使用使得 c#克服了這一缺陷,大規(guī)模深層次的分布式開發(fā)從此成為可能。由于有了 web 服務(wù)框架的幫助,對程序員來說,網(wǎng)絡(luò)服務(wù)看起來就像是 c#的本地對象。程序員們能夠利用他們已有的面向?qū)ο蟮闹R與技巧開發(fā) web 服務(wù)3。四、完整的安全性與錯誤處理。語言的安全性與錯誤處理能力,是衡量一種語
15、言是否優(yōu)秀的重要依據(jù)。任何人都會犯錯誤,即使是最熟練的程序員也不例外:忘記變量的初始化,對不屬于自己管理范圍的內(nèi)存空間進行修改。這些錯誤常常產(chǎn)生難以預(yù)見的后果。一旦這樣的軟件被投入使用,尋找與改正這些簡單錯誤的代價將會是讓人無法承受的。c#的先進設(shè)計思想可以消除軟件開發(fā)中的許多常見錯誤,并提供了包括類型安全在內(nèi)的完整的安全性能。為了減少開發(fā)中的錯誤,c#會幫助開發(fā)者通過更少的代碼完成相同的功能,這不但減輕了編程人員的工作量,同時更有效地避免了錯誤的發(fā)生。.net 運行庫提供了代碼訪問安全特性,它允許管理員和用戶根據(jù)代碼的 id 來配置安全等級。五、版本處理技術(shù)。c#提供內(nèi)置的版本支持來減少開發(fā)
16、費用,使用 c#將會使開發(fā)人員更加輕易地開發(fā)和維護各種商業(yè)用戶。升級軟件系統(tǒng)中的組件(模塊)是一件容易產(chǎn)生錯誤的工作。在代碼修改過程中可能對現(xiàn)存的軟件產(chǎn)生影響,很有可能導(dǎo)致程序的崩潰。為了幫助開發(fā)人員處理這些問題,c#在語言中內(nèi)置了版本控制功能。例如:函數(shù)重載必須顯式聲明,而不會像在 c+或 java中經(jīng)常發(fā)生的那樣不經(jīng)意地被進行,這可以防止代碼錯誤和保留版本化的特性。另一個相關(guān)的特性是接口和接口繼承的支持。這些特性可以保證復(fù)雜的軟件可以被方便地開發(fā)和升級4。1.4.2 access 2010 技術(shù)概述microsoft office access 是微軟把數(shù)據(jù)庫引擎的圖形用戶界面和軟件開發(fā)工
17、具結(jié)合在一起的一個數(shù)據(jù)庫管理。它是微軟 office 的一個成員, 在包括專業(yè)版和更高版本的 office 版本里面被單獨出售。2012 年 12 月 4 日,最新的微軟office access 2013 在微軟 office 2013 里發(fā)布,微軟 office access 2010 是前一個版本。1為您的數(shù)據(jù)建立集中化存取平臺使用多種數(shù)據(jù)聯(lián)機,以及從其他來源鏈接或匯入的信息,以整合您的access 報表。您可以透過改良的設(shè)定格式化的條件功能與計算工具,建立起豐富、動態(tài)化、富含視覺效果的報表。access 2010 報表以可支持數(shù)據(jù)橫條效果顯示,讓您以及閱讀報表的人都能更容易掌握趨勢5。
18、2以拖放方式為數(shù)據(jù)庫加入導(dǎo)航功能不用撰寫任何程序代碼,或設(shè)計任何邏輯,就能創(chuàng)造出具備專業(yè)外觀與網(wǎng)頁式預(yù)覽功能的窗體,讓您常用的窗體或報表在使用上更為方便。共有六種預(yù)先定義的預(yù)覽模板,外加多種垂直或水平索引卷標可供選擇。多層的水平索引卷標可用于顯示大量的 access 窗體或報表6。只要以拖放方式,就能顯示窗體或報表。3使用 intellisense 建立表達式使用 intellisense 建立表達式,不費吹灰之力。經(jīng)過簡化的表達式建立器可以讓您更快、更輕松地建立數(shù)據(jù)庫中的邏輯與表達式。intellisense 的快速信息、工具提示與自動完成,有助于減少錯誤、省下死背表達式名稱和語法的時間,把
19、更多的時間用到應(yīng)用程序邏輯的建立上。1.5 技術(shù)可行性技術(shù)可行性分析主要是根據(jù)系統(tǒng)分析所得到的對待開發(fā)的軟件、支撐軟件、硬件環(huán)境和操作人員的要求以及有關(guān)的約束和限制,來分析現(xiàn)有的技術(shù)是否能實現(xiàn)待開發(fā)的軟件。它包括可得到的硬件和支撐軟件在功能和性能上是否滿足系統(tǒng)的要求,是否有滿足系統(tǒng)性能要求的算法,開發(fā)人員的技術(shù)水平能否勝任系統(tǒng)的開發(fā)等等,因此該系統(tǒng)具有技術(shù)可行性。本系統(tǒng)采用 vs 2010 作為其前臺開發(fā)工具,其具有強大的數(shù)據(jù)庫開發(fā)功能和豐富多樣的查詢方法,其設(shè)計、開發(fā)、調(diào)試和部署方便快捷。本系統(tǒng)后臺采用 access 2010 數(shù)據(jù)庫,其可靠性、易用性都很好。atm 自動取款機系統(tǒng)的工作原理
20、就是通過用戶界面把用戶的操作轉(zhuǎn)化為存放相關(guān)信息數(shù)據(jù)的后臺數(shù)據(jù)庫操作,進而將相關(guān)操作結(jié)果返回給用戶。因此,該系統(tǒng)具有技術(shù)可行性。1.6 經(jīng)濟可行性經(jīng)濟可行性首先要進行待開發(fā)軟件的成本估算和成本/效益分析,以確定待開發(fā)軟件是否有開發(fā)的價值。該系統(tǒng)的使用范圍廣,這樣對項目的需求也就上漲,取得的經(jīng)濟效益自然上升。系統(tǒng)建成后,應(yīng)該給用戶帶來一定的效益(直接經(jīng)濟效益、間接經(jīng)濟效益),系統(tǒng)的投資和經(jīng)營費用應(yīng)盡快得到回收7。1. 企業(yè)有能力承擔(dān)研發(fā)開支開發(fā)新系統(tǒng)的工作是一項艱巨復(fù)雜的工作,它的投資主要是人力和物力的投資。對于本系統(tǒng)的開發(fā)來說,其主要投資還是在人力和物力兩個方面。從系統(tǒng)的業(yè)務(wù)需求調(diào)查到系統(tǒng)的分析
21、編碼制作都是需要人力和物力的投入。但是就這樣一個大型企業(yè)來說,在系統(tǒng)的開發(fā)過程中,企業(yè)完全有能力承擔(dān)開發(fā)費用。2. 新系統(tǒng)將為企業(yè)帶來經(jīng)濟效益本系統(tǒng)是一個信息化、智能化和先進管理理念的集合體。在系統(tǒng)中獲得的經(jīng)濟效益是一個綜合效益,要對它進行直接定量的分析是比較困難的。一般新系統(tǒng)帶來的經(jīng)濟效益是間接的,其最主要的表現(xiàn)就是減少了企業(yè)的人力開支。而其他一些繁瑣的事物都通過新系統(tǒng)來加以分析解決,不僅節(jié)省了大量的時間,還為企業(yè)的各項決策提供了寶貴的資料,為企業(yè)帶來巨大的經(jīng)濟效益8。1.7 法律可行性本系統(tǒng)是通過大量的現(xiàn)場調(diào)研得出的,系統(tǒng)的軟件設(shè)計是在獨立的環(huán)境下完成的,無可供抄襲的軟件產(chǎn)品,也不存在盜版
22、侵權(quán)的問題,項目內(nèi)容符合國家法律,是完全合法的軟件。因此,該系統(tǒng)具有法律可行性。1.8 操作可行性操作可行性主要是在開發(fā)過程中的每個環(huán)節(jié)是否存在可行性,及用戶的使用可行性主要是指使用方式(如操作方式)用戶是否容易接受。使用本軟件人員要求要有簡單計算機基礎(chǔ)即可。系統(tǒng)的管理人員具有一定的計算機專業(yè)知識,經(jīng)培訓(xùn)后可熟練管理本系統(tǒng)。1.9 可行性研究結(jié)論通過上面對于經(jīng)濟、技術(shù)和法律等方面的可行性分析,得到這樣一個結(jié)論,atm 自動取款機系統(tǒng)是社會大眾所需要的,有很大的發(fā)展空間,因此可以確定本系統(tǒng)的開發(fā)完全必要,而且是可行的,可以立項開發(fā)。2 需求分析需求分析的基本任務(wù)是要準確地定義新系統(tǒng)的目標,為了滿
23、足用戶需要,回答系統(tǒng)必須“做什么”的問題,是對用戶提出的軟件功能、性能等應(yīng)用問題及其環(huán)境進行分析與理解,采用一系列的分析方法和技術(shù),把系統(tǒng)分析階段產(chǎn)生的系統(tǒng)規(guī)格說明和項目規(guī)劃逐步精確化、完全化、一致化,借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標系統(tǒng)邏輯模型,最終形成需求規(guī)格說明文檔的過程。2.1 系統(tǒng)功能需求及分析通過調(diào)查研究,要求系統(tǒng)滿足以下功能:1.由于操作人員的計算機知識水平參差不齊,要求有良好的人機交互界面。2.外部功能:實現(xiàn)化窗口、登錄、存款、取款、查詢、轉(zhuǎn)賬。3.內(nèi)部功能:同步、查詢、更新。 4.方便數(shù)據(jù)查詢,支持多條件查詢和模糊查詢。 自動取款機系統(tǒng)包含日常業(yè)務(wù)、查詢和系統(tǒng)維護 3 種功能
24、:1. 日常業(yè)務(wù)用戶登錄、取現(xiàn)、存現(xiàn)、轉(zhuǎn)賬、更改密碼。2. 查詢查詢余額。3. 系統(tǒng)維護系統(tǒng)設(shè)置,數(shù)據(jù)備份。 2.2 系統(tǒng)性能需求1.數(shù)據(jù)精確度 在進行向數(shù)據(jù)庫文件提取數(shù)據(jù)時,需要數(shù)據(jù)記錄定位精確,在往數(shù)據(jù)庫文件數(shù)組中添加數(shù)時,要求輸入精確金額,卡號等數(shù)據(jù)。2.時間特性程序響應(yīng)時間:在人的感覺和視覺事物范圍內(nèi)。信息交換時間:要求在程序調(diào)用前調(diào)用后都與數(shù)據(jù)庫保持同步更新,網(wǎng)絡(luò)信息交換時間應(yīng)該小于程序調(diào)用時間。3.適應(yīng)性要求數(shù)據(jù)庫具有很好的更新能力,由于本產(chǎn)品是試驗性軟件,故對磁盤和內(nèi)存容量沒有很高的要求,但是數(shù)據(jù)庫應(yīng)該能夠?qū)Σl(fā)事件,臟數(shù)據(jù)具有較強的識別處理能力。4. 磁盤容量 由于要存貯大量的
25、數(shù)據(jù)和信息,所以要求要有足夠的磁盤容量。5. 主存容量為了滿足儲戶的要求,系統(tǒng)必須要有高的運作速度,儲戶填寫的表單輸入到系統(tǒng),系統(tǒng)必須能快速及時做出響應(yīng),迅速處理各項數(shù)據(jù)、信息,顯示出所有必需信息,所以要求很高的運作速度和大的主存容量。2.3 系統(tǒng)開發(fā)及運行環(huán)境硬件平臺:1. cpu:p41.8ghz。2. 內(nèi)存:256mb 以上。軟件平臺:1. 操作系統(tǒng):windows 7。2. 數(shù)據(jù)庫:access 2000。3. 開發(fā)環(huán)境:vs 2010。2.4 數(shù)據(jù)流圖數(shù)據(jù)流圖簡稱 dfd(data flow diagram)圖9,其主要功能是用來描述信息在系統(tǒng)中的流動和處理的情況,是極好的理解工具。
26、它能精確的描述系統(tǒng)的邏輯模型,描述數(shù)據(jù)由輸入經(jīng)過存儲、加工、處理到最后輸出的全過程。數(shù)據(jù)流圖是軟件系統(tǒng)邏輯模型的一種圖形表示。任何系統(tǒng)從根本上說,都是對數(shù)據(jù)進行加工或者變換的工具。本系統(tǒng)的數(shù)據(jù)流程圖,如圖 3.1 所示。用戶輸入卡號密碼無效返回功能界面存款賬戶信息用戶信息用戶信息取款賬戶信息用戶信息轉(zhuǎn)賬用戶操作信息表用戶信息改密賬戶信息用戶信息查余賬戶信息用戶信息系統(tǒng)設(shè)置圖 2.1 數(shù)據(jù)流圖2.5 數(shù)據(jù)流程圖登陸頁面身份驗證選擇服務(wù)取款轉(zhuǎn)賬修改密碼查詢余額退出系統(tǒng)設(shè)置首頁存款退出系統(tǒng)圖 2.2 系統(tǒng)模塊流程圖2.6 數(shù)據(jù)字典數(shù)據(jù)字典的作用是給數(shù)據(jù)流圖上每個成分加以定義和說明。換句話說,數(shù)據(jù)流圖
27、上所有成分的定義和解釋和文字的結(jié)合就是數(shù)據(jù)字典。數(shù)據(jù)詞典描述的主要內(nèi)容有:數(shù)據(jù)流、數(shù)據(jù)元素、數(shù)據(jù)存儲、加工、外部項,其中數(shù)據(jù)元素是組成數(shù)據(jù)流的基本成分。在系統(tǒng)分析中,數(shù)據(jù)詞典起著重要作用。編寫數(shù)據(jù)詞典的基本要求是:1. 對數(shù)據(jù)流圖上的各種成分的定義必須明確、易理解、唯一。2. 命名、編號與數(shù)據(jù)流圖一致,必要時(如計算機輔助編寫數(shù)據(jù)的作用,它包含關(guān)于系統(tǒng)的詳細信息)可增加編碼,方便查詢檢索、維護和統(tǒng)計報表。3. 符合一致性和完整性的要求,對數(shù)據(jù)流圖上的成分定義與說明無遺漏項。數(shù)據(jù)詞典中無內(nèi)容重復(fù)或內(nèi)容相互矛盾的條目。數(shù)據(jù)流圖中同類成分的數(shù)據(jù)詞典條目中,無同名異義或異名同義者。4. 格式規(guī)范、風(fēng)格
28、統(tǒng)一、文字精煉、數(shù)字與符號正確。本系統(tǒng)的數(shù)據(jù)字典包括:數(shù)據(jù)流“賬戶信息”的字典條目如表 2.1 所示。 表 2.1 數(shù)據(jù)流“賬戶信息”的字典條目名字:賬戶信息表描述:記錄賬戶的信息。編號:d1組成:卡號,密碼,結(jié)余,狀態(tài),開戶地址數(shù)據(jù)流“atm 機信息”的字典條目如表 2.2 所示。表 2.2 數(shù)據(jù)流“atm 機信息”的字典條目名字:atm 機信息描述:atm 機的基本信息。編號:d2組成:編號,性質(zhì),上限數(shù)據(jù)流“用戶信息”的字典條目如表 2.3 所示。表 2.3 數(shù)據(jù)流“用戶信息”的字典條目數(shù)據(jù)流“用戶操作信息”的字典條目如表 2.4 所示。表 2.4 數(shù)據(jù)流“用戶操作信息”的字典條目名字:
29、用戶信息表描述:記錄用戶的信息。編號:d3組成:編號,姓名,性別,年齡,卡號名字:用戶操作信息表描述:用戶操作信息的記錄。編號:d4組成:卡號,操作記錄,金額,時間3 系統(tǒng)總體設(shè)計經(jīng)過詳細、認真的需求分析之后,對系統(tǒng)的各項功能以及工作對象有了全面的了解,下面對系統(tǒng)總體設(shè)計做詳細說明。3.1 設(shè)計目標本系統(tǒng)針對自動取款進行有效管理。主要實現(xiàn)如下目標:1.界面設(shè)計美觀友好,信息查詢靈活、方便、快捷、準確,數(shù)據(jù)存儲安全可靠。2.為用戶提供一個方便、快捷的方式。3.實現(xiàn)取款等功能,完成基本的流程操作。4.對用戶操作信息進行增加、修改、查詢。5.對輸入的數(shù)據(jù),系統(tǒng)進行嚴格的數(shù)據(jù)檢驗。6.系統(tǒng)最大限度地實
30、現(xiàn)了易維護性和易操作性。7.系統(tǒng)運行穩(wěn)定、安全可靠。3.2 系統(tǒng)功能結(jié)構(gòu)圖自動取款機系統(tǒng)包括登錄、查余、取款、存款、轉(zhuǎn)賬等功能。如圖 3.1 所示。 登陸頁面 登錄模塊 事務(wù)模塊 退出模塊 輸入密碼 取款 存款 修改密碼 轉(zhuǎn)賬 查詢余額 退卡 插卡 首頁 系統(tǒng)設(shè)置 圖 3.1 自動取款機系統(tǒng)功能結(jié)構(gòu)圖 3.3 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計是數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)要解決的關(guān)鍵問題之一,構(gòu)建一個高效、合理的數(shù)據(jù)庫是應(yīng)用系統(tǒng)能否開發(fā)成功的重要環(huán)節(jié)。數(shù)據(jù)庫設(shè)計是指針對給定的軟、硬件環(huán)境,根據(jù)現(xiàn)實問題要求,設(shè)計一個合理的數(shù)據(jù)模型,建立 db 結(jié)構(gòu)和 db 應(yīng)用系統(tǒng)10。3.3.1 數(shù)據(jù)庫需求分析數(shù)據(jù)庫需求分析是數(shù)據(jù)
31、庫設(shè)計的第一步,是非常重要的一個階段。這個階段的主要任務(wù)工作是收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及確定數(shù)據(jù)處理的流程,為進一步設(shè)計打下基礎(chǔ)。按照設(shè)計思想和要求,通過對自動取款機系統(tǒng)的內(nèi)容和數(shù)據(jù)流程分析,設(shè)計的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)如下: 賬戶信息卡號密碼結(jié)余狀態(tài)開戶地址。atm 機信息編號性能上限。用戶信息編號姓名+性別+年齡+卡號。用戶操作信息卡號操作記錄+金額+時間。3.3.2 數(shù)據(jù)庫概要設(shè)計對于自動取款機系統(tǒng),其中賬戶信息的實體與屬性關(guān)系,用戶信息的實體與屬性關(guān)系,用戶操作信息的實體與屬性關(guān)系,如圖 3.2,圖 3.3,圖 3.4 所示。用戶性別卡號姓名年齡編號圖 3.2 用戶信息實體與屬性關(guān)系圖圖 3
32、.3 用戶操作信息實體與屬性關(guān)系圖 操作信息卡號操作類型操作數(shù)據(jù)時間圖 3.4 賬戶信息實體與屬性關(guān)系圖根據(jù)以上的實體與屬性的關(guān)系圖,設(shè)計出它們之間的 e-r 圖,如圖 3.5 所示。圖 3.5 用戶、賬戶、管理員信息 e-r 圖3.3.3 數(shù)據(jù)庫詳細設(shè)計nnn1natm 機基本信息操作管理員增加用戶操作轉(zhuǎn)賬設(shè)置系統(tǒng)設(shè)置修改密碼操作操作查看取款存款余額nn11nn1n1111nnnn賬戶卡 號密 碼余 額狀 態(tài)開戶地下面是關(guān)于本系統(tǒng)數(shù)據(jù)庫中幾個主要表的設(shè)計。數(shù)據(jù)庫的名稱是 db。1.賬戶詳情信息表 如表 3.1 所示。表 3.1 account 表結(jié)構(gòu) 字段名數(shù)據(jù)類型長度是否為空描述card文
33、本10no卡號password文本10yes密碼balance文本10yes余額status文本20 yes狀態(tài)openaddress文本20 yes開戶地址2.atm 機信息表如表 3.2 所示。表 3.2 admin 表結(jié)構(gòu)字段名數(shù)據(jù)類型長度是否為空描述id自動編號20no編號properties文本10yes性能money文本40 yes上限3.用戶信息表如表 3.3 所示。表 3.3 customers 表結(jié)構(gòu) 字段名數(shù)據(jù)類型長度是否為空描述aid自動編號20no編號name文本10yes姓名sex文本10yes性別age數(shù)字10yes年齡card文本40no卡號4.用戶操作信息表如表
34、 3.4 所示。表 3.4 operation 表結(jié)構(gòu)字段名數(shù)據(jù)類型長度是否為空描述card文本10no卡號operation文本40yes操作記錄money文本40yes金額time文本20yes時間3.4 模塊功能介紹根據(jù)系統(tǒng)需求分析,按照結(jié)構(gòu)化的系統(tǒng)設(shè)計思想,本系統(tǒng)從功能上可分為如下幾個功能模塊:3.4.1 登錄功能模塊 根據(jù)密碼認證登錄到功能界面。1.用戶輸入登錄相關(guān)信息(賬號、密碼) 。 2.系統(tǒng)檢查用戶相關(guān)信息,提示成功與否。3.4.2 取款功能模塊以儲戶的取款為主要活動,相關(guān)記錄根據(jù)存款結(jié)果進行調(diào)整,以使信息保持一致。1.在原用戶信息中取款減去。2.賬戶取款相關(guān)信息都會寫入到數(shù)據(jù)
35、庫中。3.4.3 存款功能模塊以儲戶的存款為主要活動,相關(guān)記錄根據(jù)存款結(jié)果進行調(diào)整,以使信息保持一致。1.在原用戶信息中存款加入。2.賬戶存款相關(guān)信息都會寫入到數(shù)據(jù)庫中。3.4.4 查詢功能模塊為儲戶提供查詢余額服務(wù),將儲戶的相關(guān)記錄輸出。1.需要儲戶的用戶信息及密碼。2.打印儲戶的用戶余額3.4.5 轉(zhuǎn)賬功能模塊為儲戶提供轉(zhuǎn)賬給其它儲戶的服務(wù),將儲戶的存款信息進行調(diào)整,以保持信息的一致。1.需要儲戶的用戶信息及密碼。2.需要其它儲戶的賬號信息3.需要進行一定的手續(xù)費收取3.4.6 密碼修改功能模塊為儲戶提供密碼修改服務(wù),將儲戶的密碼信息進行調(diào)整,以保持信息的一致。1.需要儲戶的用戶信息及密碼
36、。2.需要儲戶輸入新密碼并確認。3.4.7 系統(tǒng)設(shè)置功能模塊管理人員可對 atm 機進行詳細設(shè)置。可對本機所在地,系統(tǒng)金額,單次存款金額,單次取款金額,單詞轉(zhuǎn)賬金額設(shè)置,以方便管理。 4 系統(tǒng)詳細設(shè)計4.1 設(shè)計目標1.系統(tǒng)界面美觀友好,信息查詢靈活、方便、快捷、準確,數(shù)據(jù)存儲安全可靠。2.可方便快捷地查詢系統(tǒng)信息,并可對各項數(shù)據(jù)進行調(diào)整。3.用戶可以隨時修改自己的權(quán)限和密碼。4.系統(tǒng)最大限度地實現(xiàn)了易維護性和易操作性。4.2 模塊設(shè)計4.2.1 登錄窗口設(shè)計1. 登錄窗口功能描述本窗口主要是檢查用戶輸入的用戶名及密碼是否正確,如果正確,則允許進入系統(tǒng);否則,將提示錯誤。2. 登錄窗口界面圖
37、4.1 登錄窗口3. 登錄窗口界面說明登錄窗口是進入系統(tǒng)的第一個啟動窗口。在文本框中依次正確輸入用戶名、口令后,單擊“確定”按鈕,便進入系統(tǒng)主窗口, 點擊“退出”按鈕退出系統(tǒng)。4. 登錄窗口對象屬性表 4.1 登錄窗口控件屬性編號對象名含義重要屬性1label1標簽控件test 屬性為賬號2label2標簽控件test 屬性為密碼3 textbox1編輯控件用于輸入賬戶4 textbox2編輯控件用于輸入密碼5button1按鈕控件 信息輸入完畢,確認登錄6button2按鈕控件單擊退出程序5. 登錄窗口程序邏輯設(shè)計圖 4.2 登錄窗口6. 登錄窗口對象主要代碼實現(xiàn)(1) “登錄”按鈕的單擊事
38、件代碼/驗證用戶名和密碼是否正確 public boolean login(string card,string password) boolean l = false; dbcon db = new dbcon(); string sql = select password from accounts where card= + card +; string rs=db.doquery(sql); if (rs.tostring().equals(password) l = true; else l = false; return l; /判斷賬戶是否被凍結(jié) public string ot
39、herstatus(string card) dbcon db = new dbcon(); string sql = select status from accounts where card= + card + ; string rs = db.doquery(sql); return rs; 4.2.2 主窗口設(shè)計1. 主窗口功能描述本窗口作為菜單及其他子窗口的容器,用來調(diào)用其他子窗口。2. 主界面圖 4.3 主窗口4.2.3 取款窗口設(shè)計1. 取款窗口功能介紹此窗口的功能是用戶取款。2. 取款窗口界面圖 4.4 取款窗口控件屬性3. 取款窗口對象屬性表 4.2 取現(xiàn)窗口控件屬性編號對
40、象名含義重要屬性1button1按鈕控件選擇取款金額 100 元2button2按鈕控件選擇取款金額 300 元3button3按鈕控件選擇取款金額 500 元4button4按鈕控件選擇取款金額 1000 元5button5按鈕控件選擇取款金額 5000 元6button6按鈕控件選擇取款金額其他7button7按鈕控件返回上一頁面8button8按鈕控件退出取現(xiàn)窗口4.取款窗口程序邏輯設(shè)計圖 4.5 取款窗口5. 取現(xiàn)窗口對象主要代碼實現(xiàn)namespace atm /取 100 元 private void button1_click(object sender, eventargs e)
41、 maney=100; int remaney = int.parse(qyerymaney(card).tostring(); if (remaney = maney) if (updatemaney(card, maney) st.updatesystemmoneydown(maney); string datetime = st.date().tostring(); string operation = 取款成功; string money = 100; ducerecord(card, operation, money, datetime); new outmoney.su
42、cmoney(card, operation, money).show(); this.hide(); else pd = 取款達到上限或者系統(tǒng)沒有足夠錢; new outmoney.sucmoney(card, pd, mm).show(); this.hide(); else pd = 余額不足; new outmoney.sucmoney(card, pd, mm).show(); this.hide(); / 查詢余額 public string qyerymaney(string card) string sql1 = select balance from accounts whe
43、re card= + card + ; string rs = db.doquery(sql1); return rs; 4.2.4 存款窗口設(shè)計1. 存款窗口功能介紹存款窗口用來幫助用戶向卡里存入現(xiàn)金。2. 存款窗口界面圖 4.6 存款窗口3. 存款窗口對象屬性表 4.3 存款窗口控件屬性編號對象名含義重要屬性1label1標簽控件test 屬性為中國工商銀行2label2標簽控件test 屬性為請放入現(xiàn)金3textbox1編輯控件輸入存款金額4button1按鈕控件確定存款金額并提交5button2按鈕控件返回上一頁面4. 存款窗口程序邏輯設(shè)計圖 4.7 存款窗口5. 存款窗口對象主要代碼
44、實現(xiàn)public boolean updatemaney(string card, int maney) boolean updatema = false; dbcon db = new dbcon(); string sql1 = select balance from accounts where card= + card + ; string rs = db.doquery(sql1); int i = int.parse(rs.tostring(); i = i + maney; string sql2 = update accounts set balance= + i + wher
45、e card= + card + ; if (db.doupdate(sql2) updatema = true; else updatema = false; return updatema; (2)其他代碼不在這里顯示。4.2.5 轉(zhuǎn)賬窗口設(shè)計1. 轉(zhuǎn)賬窗口功能介紹轉(zhuǎn)賬窗口用來將自己卡里的錢轉(zhuǎn)入其他賬戶。2. 轉(zhuǎn)賬窗口界面圖 4.8 轉(zhuǎn)賬界面3.轉(zhuǎn)賬窗口對象屬性表 4.4 轉(zhuǎn)賬窗口控件屬性編號對象名含義重要屬性1label1標簽控件test 屬性為中國工商銀行2label2標簽控件test 屬性為確定轉(zhuǎn)入卡卡號3textbox1編輯控件輸入卡號4button1按鈕控件返回上一頁面5butt
46、on2按鈕控件確定提交6button3按鈕控件退卡4. 轉(zhuǎn)賬窗口程序邏輯設(shè)計圖 4.9 轉(zhuǎn)款窗口5. 轉(zhuǎn)賬窗口對象主要代碼實現(xiàn)/轉(zhuǎn)賬 public boolean transfer() boolean trans = false; string ourmoney=ourbalances().tostring(); string othermoney=otherbalances().tostring(); int i=int.parse(ourmoney.tostring(); int j=int.parse(othermoney.tostring(); int k=int.parse(mone
47、y.tostring(); int m = 0; if (st.judgeopenaddress(card) m = 0; else m= k / 100 * 2; i = i - k-m; j = j + k; string sql1=update accounts set balance=+i+ where card=+card+; string sql2 = update accounts set balance= + j + where card= + pcard + ; if (db.doupdate(sql1) & db.doupdate(sql2) trans = true; e
48、lse trans = false; return trans; /判斷輸入的卡號是否一致 public boolean pcards() boolean pcardr=false; if (pcard.equals(this.textbox1.text) pcardr = true; else pcardr = false; return pcardr; 4.2.6 查詢余額窗口設(shè)計1. 查詢余額窗口功能介紹余額信息設(shè)置窗口。2. 查詢余額窗口界面圖 4.10 查詢余額窗口顯示界面3. 查詢余額窗口對象屬性表 4.5 查詢余額窗口控件屬性編號對象名含義重要屬性1label1標簽控件test
49、屬性為中國工商銀行2label2標簽控件test 屬性為賬戶余額3label3標簽控件test 屬性為可用余額4label4標簽控件5label5標簽控件6button1按鈕控件返回上一頁面7button2按鈕控件確定并提交8button3按鈕控件退卡4. 查詢余額窗口對象主要代碼實現(xiàn) public partial class querymoney : form string card = ; public querymoney(string card) initializecomponent(); this.card = card; 4.2.7 修改密碼窗口設(shè)計1.修改密碼窗口功能介紹用戶對
50、原有密碼進行修改。2. 修改密碼窗口界面圖 4.11 修改密碼窗口顯示界面3.修改密碼窗口對象屬性表 4.6 用戶管理窗口控件屬性編號對象名含義重要屬性1label1標簽控件test 屬性為中國工商銀行2label2標簽控件test 屬性為原始密碼3textbox1編輯控件輸入原始密碼4button1按鈕控件返回上一頁面5button2按鈕控件確認并提交6button3按鈕控件取消本次操作4. 修改密碼窗口程序邏輯設(shè)計圖 4.12 修改密碼窗口5.修改密碼窗口對象主要代碼實現(xiàn)/確定 private void button1_click(object sender, eventargs e) s
51、tring pd = ; if (this.textbox1.text != ) if (newpass.equals(this.textbox1.text) if (updatepassword() pd=密碼修改成功!; string datetime = st.date().tostring(); string operation = 修改密碼; ducerecord(card, operation, this.textbox1.text, datetime); new sucpasswd(card, pd).show(); this.hide(); else pd = 修改
52、密碼失?。? new sucpasswd(card, pd).show(); this.hide(); else pd = 請確認新密碼是否一致!; new sucpasswd(card, pd).show(); this.hide(); else pd = 密碼不能為空!; new sucpasswd(card, pd).show(); this.hide(); /修改密碼 public boolean updatepassword() dbcon db = new dbcon(); boolean updatepass = false; string sql = update accoun
53、ts set password= + newpass + where card= + card + ; if (db.doupdate(sql) updatepass = true; else updatepass = false; return updatepass; 4.2.8 系統(tǒng)設(shè)置窗口設(shè)計1. 系統(tǒng)設(shè)置窗口功能介紹對 atm 機的信息進行設(shè)置。2.系統(tǒng)設(shè)置窗口界面圖 4.13 系統(tǒng)設(shè)置窗口顯示界面3. 系統(tǒng)設(shè)置窗口對象屬性表 4.7 系統(tǒng)設(shè)置窗口控件屬性編號對象名含義重要屬性1label1標簽控件test 屬性為本機所在地2label1標簽控件test 屬性為系統(tǒng)金額3label1標
54、簽控件 test 屬性為單次存款金額4label1標簽控件 test 屬性為單次取款金額5label1標簽控件 test 屬性為單次轉(zhuǎn)賬金額6textbox1編輯控件輸入本機所在地7textbox1編輯控件輸入系統(tǒng)金額8textbox1編輯控件設(shè)置單次存款金額9textbox1編輯控件設(shè)置單次取款金額10textbox1編輯控件設(shè)置單次轉(zhuǎn)賬金額11button2按鈕控件返回上一頁面12button2按鈕控件確認并提交4.系統(tǒng)設(shè)置窗口對象主要代碼實現(xiàn)/確定 private void button2_click(object sender, eventargs e) if(textbox1.tex
55、t!=&textbox2.text!=&textbox3.text!=&textbox4.text!=&textbox5.text!=) if (duceopenaddress(this.textbox1.text) if (ducesystemmoney(this.textbox2.text) if(ducesystemeachtake(this.textbox4.text) if (ducesystemeachtransfer(this.textbox5.text) if (ducesystemeachstorage(this.t
56、extbox3.text) new managesuc(card, textbox1.text, textbox2.text, textbox3.text, textbox4.text, textbox5.text).show(); this.hide(); else messagebox.show(設(shè)置單次存款金額失敗 else messagebox.show(設(shè)置單次轉(zhuǎn)賬金額失敗); else messagebox.show(設(shè)置單次取款金額失敗); else messagebox.show(設(shè)置最大金額失敗); else messagebox.show(設(shè)置地址失敗); 5 系統(tǒng)測試5.
57、1 軟件測試軟件測試是將已經(jīng)確認的軟件、計算機硬件、外設(shè)、網(wǎng)絡(luò)等其他元素結(jié)合在一起,進行信息系統(tǒng)的各種組裝測試和確認測試,其目的是通過與系統(tǒng)的需求相比較,發(fā)現(xiàn)所開發(fā)的系統(tǒng)與用戶需求不符或矛盾的地方,從而提出更加完善的方案.。它的任務(wù)是盡可能徹底地檢查出程序中的錯誤,提高軟件系統(tǒng)的可靠性,其目的是檢驗系統(tǒng)做得怎樣?。是基于系統(tǒng)整體需求說明書的黑盒類測試,應(yīng)覆蓋系統(tǒng)所有聯(lián)合的部件。atm 自動取款機系統(tǒng)的測試目的是將功能與系統(tǒng)需求不一致的地方,功能未覆蓋需求的地方,設(shè)計不符合邏輯思維的地方,予以糾正和補充。通過上面對 atm 自動取款機系統(tǒng)的需求分析、詳細設(shè)計、系統(tǒng)實現(xiàn)進行了詳細地描述,下面對本系統(tǒng)的測試進行介紹。5.2 單元測試實例1.用戶登錄測試表 5.1 登錄模塊用例測試當(dāng)用戶輸入錯誤的用戶名或者密碼,則無法進入系統(tǒng)主頁。當(dāng)點擊登錄以后,系統(tǒng)會自動跳轉(zhuǎn)回沒有輸入任何字符的登錄界面。只有當(dāng)用戶輸入正確用戶名及密碼時,才可
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 暖氣安裝合同協(xié)議書
- 山東省臨沂市郯城縣2024-2025學(xué)年八年級上學(xué)期期末生物學(xué)試題(含答案)
- 辦公樓簡易裝修合同
- 證券投資咨詢服務(wù)協(xié)議書
- 深圳房屋出租合同
- 智能家居設(shè)備購買安裝合同
- 全球金融中心交易量對比表
- 季度工作計劃與執(zhí)行方案
- 健康管理與咨詢協(xié)議書
- 會議室內(nèi)設(shè)備使用情況統(tǒng)計表
- 法考-01刑法-案例指導(dǎo)用書【】
- 《考古學(xué)》第二章-田野考古課件
- 膀胱鏡檢查記錄
- 檔案銷毀清冊
- 固體物理21固體的結(jié)合課件
- 水平定向鉆施工規(guī)范方案
- 細支氣管肺泡癌的影像診斷(61頁)
- 2022年東北大學(xué)現(xiàn)代控制理論試題及答案
- X射線的物理學(xué)基礎(chǔ)-
- 教學(xué)樓畢業(yè)設(shè)計資料
- 國網(wǎng)直流電源系統(tǒng)技術(shù)監(jiān)督規(guī)定
評論
0/150
提交評論