


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、文檔名稱:詳細(xì)設(shè)計說明書ATM: Automatic Teller Machi ne,自動柜員機項目名稱:ATM自動取款機系統(tǒng)編寫:張恒友審核:王旭日期:2016年6月5日院系:計算機學(xué)院專業(yè):計算機科學(xué)與技術(shù)引言1.1 編寫目的根據(jù)需求規(guī)格說明書,在仔細(xì)考慮討論之后,我們又進一步對 ATM自 動取款機系統(tǒng)軟件的功能劃分、數(shù)據(jù)結(jié)構(gòu)、軟件總體結(jié)構(gòu)進行設(shè)計,從而完成 概要設(shè)計,作為軟件詳細(xì)設(shè)計的基礎(chǔ)。1.2 項目背景項目委托單位:計算機學(xué)院軟件工程實驗。開發(fā)單位:班ATM自動取款機系統(tǒng)項目組。由于柜臺常常會擁擠,排隊的人很多,而且大多數(shù)的客戶都是取款,存款等, 而有些辦理業(yè)務(wù)的需要一定的時間,這會
2、使得一些只需要取款等的客戶會有較長 時間的等待。所以銀行希望設(shè)計一個系統(tǒng),能讓客戶在系統(tǒng)上進行簡單的操作, 比如存款、取款、查詢余額、轉(zhuǎn)賬等。1.3 定義1.4 參考資料計算機軟件需求說明編制指南計算機軟件產(chǎn)品開發(fā)文件指南ATM系統(tǒng)可行性分析報告。軟件設(shè)計與體系結(jié)構(gòu)軟件工程實踐者的研究方法二 任務(wù)概述2.1 目標(biāo)現(xiàn)如今,ATM在一定程度上存在很大的安全隱患,給用戶造成很大的經(jīng)濟損 失。為了解決這樣的問題,我們小組提出了改進ATM自動取款機系統(tǒng),使用戶在 操作過程中更加安全,放心,更便捷。2.2 運行環(huán)境硬件環(huán)境:CPU: 1GHZ 及以上內(nèi)存:1G以上硬盤: 20G 以上軟件環(huán)境:操作系統(tǒng):
3、Microsoft Windows XP 或更高版本數(shù) 據(jù) 庫: Microsoft SQL Server 2005Web服務(wù)器:Tomcat5.0以上支持瀏覽器: Internet Explorer 7.0及其以上版本 開發(fā)環(huán)境: MyEclipse, jdk, Microsoft SQL Server 20052.3 條件與限制隨著科技的發(fā)展, 人們生活水平的不斷提高, 高性能高效率高安全的產(chǎn)品越 來越受到人們的歡迎。 ATM 自動取款機是一種非常智能的機器,人們可以直接 和它交互,代替以前的手工操作, 大大提高了銀行的工作效率。 同時也給廣大用 戶帶來了非常大的方便。由于ATM自動取款機
4、是和服務(wù)器是連網(wǎng)的,這就涉及到 安全的問題本系統(tǒng)能夠有效地解決這個問題。 但是本程序也使用戶操作時間增加, 在一定程度上增加了用戶的抱怨率。三.總體設(shè)計3.1處理流程主流程圖:用戶流程:存款流程:取款流程:查詢流程進入歡迎界面改密:進入歡迎界面選擇更改密碼業(yè)務(wù)輸入舊密碼正諭錯誤廠 輸入新密碼I輸入錯誤返再輸入一次新密碼返回歡迎界面修改成功修改失敗,返 回更改頁面3.2具體模塊及代碼實現(xiàn)1.主菜單模塊(含:存款、取款、轉(zhuǎn)賬、密碼修改、查詢余額)存款:個人賬戶上的金額加上。取款:個人賬戶上的金額減去。轉(zhuǎn)賬:涉及到兩個賬戶其實就是下標(biāo)的不同金額一個減去一個加上密碼修改:輸入新密碼、再次輸入新密碼判斷
5、兩次密碼是否相同在用strcpy ()函數(shù) 將新密碼 當(dāng)前賬戶下標(biāo)元素密碼成員 并且判斷是否修改成功。查詢余額:就是從結(jié)構(gòu)體數(shù)組里面調(diào)用存金額那個成員歡迎模塊:定義一個函數(shù)void huanying(),利用for循環(huán)進行字符的輸出void hua nyin g() int i;/for定義函數(shù)循環(huán)for(i=0;i<10;i+)prin tf("nnnnnnnn");prin tf("tttn");prin tf("ttt歡迎使用n");prin tf("tttn");printf("nntt希望
6、此ATM系統(tǒng)可以給您帶來方便!");printf("nnnntttt正在進入");shaohou();/等待系統(tǒng)響應(yīng)system("cls");prin tf("nnnnnnnn");用戶模塊:利用在此模塊,從A,B,C中選擇出執(zhí)行的操作服務(wù),然后進入下一個模塊 while語句,定義的選擇函數(shù)char xuanze,實現(xiàn)輸出。偽代碼:void mai n()/主函數(shù)hua nyin g();system("cls");while(1)char xua nze;/定義函數(shù)system("cls&q
7、uot;);printf("nnt歡迎使用 n");printf("nnt請選擇:n");printf("nntA.開戶服務(wù) n");printf("nntB.登錄服務(wù) n");printf("nntC. 退出。n");prin tf("nnt請選擇:");sca nf("%c", &xua nze);switch(xua nze)case'a':case'A':kaihu();break;case'b
8、9;:case'B':de nglu();break;case'c':case'C':exit(O);default:printf("nt您的選擇錯誤!");break;開戶服務(wù): struct kaihu char n ame10; char mima10; double zong; int zha nghao; guke20;int ren shu=0;int xia nzai;*/#in elude <stdio.h> #i nclude <stri ng.h> #i nclude <std
9、lib.h> #in clude vconi o.h> structint jin _e,z ong; int zha nghao; char n ame20; char mima20; guke20; int ren shu=0; int xia nzai; void shaohou() int i,j; for(i=0;i<3;i+) prin tf(".");for(j=0;j<40000000;j+)Jvoid dedaomima(char mima) int i=0;while(1) char ch; ch=getch(); if(ch=&
10、#39;r')mimai='O'prin tf("n");break;elseif(ch='b')if(i>0)prin tf("b b");i-;elseif(i<16)mimai=ch;prin tf("*");i+;void kaihu()int k;for(k=0;k<5;k+)printf("nnt正在進入注冊頁面,請稍后");shaohou();system("cls");while(1)prin tf("nnt【開
11、戶服務(wù)】");printf("nnt請輸入您的姓名:");char xingmin g16;char yan zhe ng20;sca nf("%s",x ingmin g);printf("nnt請輸入密碼:");dedaomima(gukere nshu.mima);printf("nnt 請再次確認(rèn)您的密碼:");dedaomima(ya nzhe ng);if(strcmp(gukere nshu.mima,ya nzhe ng)=O)printf("nnt 密碼驗證通過:")
12、;break;elseprintf(" 兩次密碼不相同。請重新輸入。");system("cls");while(1)printf("nnt請輸入開戶金額:");scan f("%d",&gukere nshu.jin_e);if(gukere nshu.ji n_e>0) printf("nnt開戶成功,您的可用余額為:d",gukerenshu.jin_e);break;elseprintf("nnt開戶金額不能低于壹圓!nn");system("
13、cls");gukere nshu.zha nghao=518518+re nshu;printf("nnt您的賬號是:%d 請牢記!n",gukerenshu.zhanghao);printf("nnt開戶成功,是否繼續(xù)?繼續(xù)請按任意鍵。n");ren shu+;getch();登錄服務(wù):void den glu()int q;for(q=0;q<8;q+)printf("nnt 正在進入,請稍后"); shaohou();system("cls");/*whileprin tf("nn
14、tt【登錄服務(wù)】");prin tf("nntt請輸入賬號:");int zh;sca nf("%d", &zh);int i;for(i=0;i<re nshu;i+)if(zh!=gukei.zha nghao)prin tf("nnt賬號錯誤,請重新輸入。");con ti nue;elsexia nzai=i;printf("nnt賬號正確:");break;*/prin tf("nntt【登錄服務(wù)】");prin tf("nntt請輸入賬號:"
15、;);int zh;sca nf("%d", &zh);for(int i=0;i<renshu;i+)if(zh!=gukei.zha nghao)i+;if(i=re nshu)prin tf("nnt賬號錯誤,請重新輸入。");con ti nue;elsexia nzai=i;printf("nnt賬號正確:");break;for(i=0;i<3;i+)printf("nt請輸入密碼:");char password10;dedaomima(password);if(strcmp(pa
16、ssword,gukexia nzai.mima)=0)printf("nt密碼正確!");break;elseprintf("密碼輸入錯誤,請重新輸入。");return;getch();fuwu();getch();主菜單模塊:此模塊主要用于用戶進行各種操作服務(wù)的選擇,實現(xiàn)相關(guān)功能,如存款,取款,轉(zhuǎn)賬,密碼修改,余額查詢等等。void fuwu()int i=0;for(i;i<8;i+)prin tf("nnnnnnn");printf("nnnnttt正在進入服務(wù),請稍后");shaohou();sy
17、stem("cls");while(1)char shuru;system("cls");printf("nnt 【服務(wù)】n");printf("nnt%d 歡迎使用! n",);printf("nt( 請選擇:)n");prin tf("nta.存款服務(wù) n");prin tf("ntb.取款服務(wù) n");prin tf("ntc.轉(zhuǎn)賬服務(wù)n");printf("ntd.余額查詢n");prin
18、tf("nte.密碼修改n");prin tf("ntf.退出 n");prin tf("nt請選擇服務(wù):");sca nf("%c",&shuru);switch(shuru)case 'a':case 'A':c un kua n() ;break;case 'b':case 'B':qukua n( );break;/ case 'c':/ case C:zhua nzha ng();break;case 'd
19、39;:case 'D':chax un( );break;/ case 'e':/ case 'E':xiougai();break;case 'f:case 'F':printf("返回上級菜單,請按任意鍵");return;default:printf("nt您的選擇錯誤!");break;存款服務(wù):void cun kua n()for(i nt i=0;i<5;i+)printf("nnt正在進入,請稍等");shaohou();system(&q
20、uot;cls");prin tf("nnnnnnn");prin tf("nnt【存款服務(wù)】");printf("nnt請輸入您的存款金額:");int xincun;sca nf("%d", &xi ncun);gukere nshu.z on g=gukere nshu.ji n_e+x incun;printf("nnt您現(xiàn)在的可用余額為:d",gukerenshu.zong);prin tf("nnt是否繼續(xù)?繼續(xù)請按任意鍵。");getch();
21、取款服務(wù):void qukua n()for(i nt i=0;i<5;i+)printf("nnt正在進入,請稍等");shaohou();system("cls");prin tf("nnt【取款服務(wù)】");printf("nnt請輸入取款金額:");int xinqu;sca nf("%d",& xi nqu);gukexia nzai.z on g=gukere nshu.z on g-x inqu;if(xinqu <gukere nshu.z ong)printf
22、("nnt 取款成功:%d,您現(xiàn)在的可用余額為:%d",x inq u,gukexia nzai.z on g);printf("nnt是否繼續(xù)?繼續(xù)請按任意鍵:");getch();查詢服務(wù):void chax un()for(i nt i=0;i<5;i+)printf("nnt正在進入,請稍等");shaohou();system("cls");prin tf("nt【查詢服務(wù)】");printf("nt您的可用余額為:%d",gukerenshu.jin_e);
23、printf("nt是否繼續(xù)?繼續(xù)請按任意鍵.");getch();四接口設(shè)計4.1外部接口硬件接口:和銀行數(shù)據(jù)庫主本軟件只調(diào)用包括和打印機的接口(控制打印機打發(fā)票及存款憑證等), 機的接口,和出鈔機的接口。對硬件的處理主要由操作系統(tǒng)完成, 操作系統(tǒng)提供的打印,出鈔等指令。軟件接口:按照銀行指定的格式與銀行數(shù)據(jù)庫通信,并需要預(yù)留可能在ATM上安裝的其他軟件的接口以便于擴充功能。4.2內(nèi)部接口1. 前后臺程序通信接口,包括配款提醒和維護提醒。2. 系統(tǒng)與數(shù)據(jù)庫接口。五.測試計劃 測試日期、測試人員安排請參考測試計劃; 測試用例的具體內(nèi)容,詳見測試用例 說明。現(xiàn)在本小組僅以會話
24、用例與取款用例進行對 ATM機管理系統(tǒng)的單體測試計 劃;用例被測試的功能初始系統(tǒng)狀態(tài)測試輸入期望的結(jié)果會話用例系統(tǒng)讀取顧客 的銀行卡系統(tǒng)處于ONI犬 態(tài),并沒有為顧 客提供服務(wù)插入可讀的銀 行卡銀仃卡被接收, 系統(tǒng)請求輸入 密碼會話用例系統(tǒng)彈出不可 讀取的銀行卡系統(tǒng)處于ON狀 態(tài),當(dāng)前沒有為 顧客提供服務(wù)插入不可讀取的銀行卡銀行卡被彈出, 系統(tǒng)顯示錯誤 信息,準(zhǔn)備啟動 一個新的會話會話用例系統(tǒng)接收顧客 的密碼系統(tǒng)請求顧客 輸入密碼輸入密碼系統(tǒng)顯示一個 事務(wù)類型菜單會話用例系統(tǒng)允許顧客 執(zhí)行事務(wù)系統(tǒng)顯示事務(wù) 類型菜單執(zhí)行事務(wù)系統(tǒng)詢問顧客 是否希望執(zhí)行 其它事務(wù)會話用例系統(tǒng)允許在一 個會話中執(zhí)行 多個事務(wù)系統(tǒ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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 化工供貨合同協(xié)議書
- 商業(yè)合同解約協(xié)議書
- 土地管理合同協(xié)議書
- 博通廢除芯片協(xié)議書
- 員工帶病合同協(xié)議書
- 人工智能應(yīng)用場景挖掘的基本原則
- 單位改制買斷協(xié)議書
- 醫(yī)生賠償醫(yī)院協(xié)議書
- 臺球合同轉(zhuǎn)讓協(xié)議書
- 合作輸出勞務(wù)協(xié)議書
- 清真培訓(xùn)考試題及答案
- 2025年北京市西城區(qū)高三一模物理試卷(含答案)
- 2025-2030全球及中國COB發(fā)光二極管行業(yè)市場現(xiàn)狀供需分析及市場深度研究發(fā)展前景及規(guī)劃可行性分析研究報告
- 群眾文化知識試題及答案
- 2024+ESC指南解讀:血壓升高和高血壓的管理課件
- 2025年-重慶市建筑安全員B證考試題庫附答案
- 結(jié)腸癌科普知識
- 2025-2031年中國核電用鈦合金管道行業(yè)發(fā)展前景預(yù)測及投資方向研究報告
- 政府項目投資合作框架協(xié)議書范本
- 具身智能項目建設(shè)規(guī)劃方案(參考模板)
- 科學(xué)小實驗手搖發(fā)電機
評論
0/150
提交評論