ATM取款機詳細設計說明書_第1頁
ATM取款機詳細設計說明書_第2頁
ATM取款機詳細設計說明書_第3頁
ATM取款機詳細設計說明書_第4頁
ATM取款機詳細設計說明書_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、產(chǎn)品文檔詳細設計文檔產(chǎn)品版本密級文檔編號201011063V123內(nèi)部產(chǎn)品名稱ATM取款機共30頁ATM取款機詳細設計說明書撰寫:王國君,劉博,楊雪,于少華日期:2010-11-06審核:日期:批準:日期:目錄1. 引言 31.1 編寫目的 .31.2背景31.3定義31.4參考資料42. 程序系統(tǒng)的組織結構 52.1 ATM取款活動圖 62.2 ATM機轉賬活動圖 73. 界面顯示模塊設計說明 73.1 程序描.7.7述3.2 功能3.3 性能3.4 輸入和輸出項 .3.5算法3.6 流程邏輯.8912253.7 接口 .253.8存儲分配 .263.9 注釋設計 .273.10限制條件27

2、3.11測試計戈y .273.12 尚未解決的問題 294. 詳細設計小結和相關說明 29(后記:在張明老師的帶領下,經(jīng)過我們小組成員的配合,通過查詢各種資料,我們逐漸完善了這份需求說明書。 在這個過程中, 我們體會到了團隊合作的強大力量, 而這份設計就是大家心血的結晶和團隊精神的有力見證。) 301.1 編寫目的ATM 機管理系統(tǒng)是銀行業(yè)務流程過程中十分重要且必備的環(huán)節(jié)之一,在銀行業(yè) 務流程當中起著承上啟下的作用,其重要性不言而喻。但是, 目前許多銀行在具 體的一些業(yè)務流程處理過程中仍然使用手工操作的方式來實施, 不僅費時、費力, 效率低下,而且無法達到理想的效果。為明確軟件需求、安排項目規(guī)

3、戈與進度、 組織軟件開發(fā)與測試,撰寫本文檔,本文針對上述問題,采用軟件工程的開發(fā)原 理,依據(jù)軟件流程過程規(guī)范,按照需求分析,概要設計,程序編碼,軟件應用等過程,開發(fā)了這個系統(tǒng)。本文檔供項目經(jīng)理、設計人員、開發(fā)人員參考。1.2背景軟件名稱:ATM取款機任務提出者:西安石油大學計算機學院開發(fā)者:楊雪,吳昊,何雪英,于少華,王國君,劉博。用戶:為與ATM取款機軟件開發(fā)有聯(lián)系的決策人,開發(fā)組人員以及使用該系 統(tǒng)的用戶。使用的計算機網(wǎng)絡:本項目使用西安石油大學計算機機器以及各開發(fā)者本人 的計算機進行編程。1.3定義1. 賬號:在銀行中,事務應用的單個賬號。賬號可以為多種類型,但是至少包 括支票和存款。每

4、個顧客可以擁有多個賬號。2. ATM 一個工作站終端,使得顧客能夠使用現(xiàn)金卡在 ATM進行自己的事務處 理。ATM同顧客進行交互,收集事務信息,并發(fā)送事務信息到中心計算機,由中心計算機確認和處理信息之后,將現(xiàn)金通過 ATM提供給顧客。3. 銀行:一個金融機構,負責保存顧客的賬號信息,執(zhí)行授權卡通過ATM網(wǎng)訪問賬號。4. 銀行計算機:銀行擁有的計算機,同 ATM網(wǎng)和銀行自己的現(xiàn)金工作站進行交 互。銀行可以擁有自己的內(nèi)部計算機網(wǎng)處理賬號,但是我們只關心同網(wǎng)絡進行交 互的計算機。5. 現(xiàn)金卡:每張卡提供給一個銀行客戶,授權客戶可以使用ATM機訪問自己的賬號。每張卡包含一個銀行代碼和一個卡號, 銀行代

5、碼根據(jù)信用卡的國際標準進 行編碼,卡號確定卡能夠訪問的賬戶。一張卡不能訪問客戶的所有賬戶。 每張卡 只能有一個持卡人,但是多個復本可能存在,所以必須考慮從不同的ATM機同時 使用相同卡的行為。6. 客戶:擁有銀行的一個或者多個賬號的人??蛻艨梢园ㄒ粋€人或者多個人, 或者是公司。相同的人,擁有不同銀行的賬號被認為是不同的客戶。事務:對單個客戶賬號的單個完整的操作請求。1.4參考資料1. C程序設計譚浩強 主編 清華大學出版社2軟件工程導論第三版張海藩主編清華大學出版社2. 程序系統(tǒng)的組織結構總體結構如下:2.1 ATM取款活動圖-朮卡估庶斤是召臺法密旳I沒有起過三次y誼取取教 佶耳退卡縊A取枝

6、fii”丈是否帀款true刪三逵描述上圖功能:取款開始,先插卡,確認卡是否合法,輸入” true ”時,就讀取密碼信息, 提示輸入密碼。輸入” false ”時,系統(tǒng)就會提示退卡。輸入密碼時,如果密碼 正確,則會提示取款,否則提示讓重新輸入密碼,三次輸入密碼都錯誤,則系統(tǒng) 就退卡。讀取取款信息后,問是否確認取款,輸入“true ”時,系統(tǒng)就提示輸入取款金額。輸入” false 時,系統(tǒng)就終止取款活動。輸入取款額時,系統(tǒng)提 示是否確認取款,如果確認,就出鈔,然后終止活動,否則就直接提示取卡。2.2 ATM機轉賬活動圖3. 界面顯示模塊設計說明3.1程序描述考慮到目前仍然有很多銀行是柜臺辦理取款存

7、款轉賬等業(yè)務,很是麻 煩。所以本小組開發(fā)此軟件的是為了完善銀行的業(yè)務處理流程,使得銀行與客戶間的業(yè)務辦理更方便、快捷和安全。本小組僅以設計開發(fā)的ATM嘰管理系統(tǒng)的取款子系統(tǒng)位例進行詳細說明,該 系統(tǒng)可以實現(xiàn)開戶,密碼修改,取款,存款,轉賬,查詢等功能,有常駐能存, 沒有子程序,是順序處理。3.2功能ATM機取款子程序IPO圖:輸入處理輸出銀行卡讀卡有效的業(yè)務記1峻證賬戶錄密蘇校臉業(yè)務記錄業(yè)務趣殮證賬戶余額収款金額更新余額記錄更新后的記錄3.3性能精度要求:取款機的各個按鈕要準確映射到取款機的某個鍵。在主菜單界面中,通過控 制相應按鈕切換功能,按功能鍵確認選擇。本軟件要求用戶輸入密碼用戶名為字

8、母數(shù)字或下劃線,且首位不得為數(shù)字。 輸入密碼為6位整數(shù)。取款及轉賬金額為 整型數(shù)據(jù)。戶源,目標賬戶為數(shù)據(jù)庫中存在的用戶名,即字母數(shù)字或下劃線,且 首位不得為數(shù)字。時間特性要求:a)響應時間:用戶插入銀行卡后,按系統(tǒng)提示輸入相應信息,系統(tǒng)確認完成后,自動進入 主菜單界面。在主菜單界面中,如果用戶選擇修改密碼,先輸入舊密碼,在很短 的時間內(nèi)再輸入新密碼;如果用戶選擇了存款,系統(tǒng)在短時間內(nèi)確認金額,進行交易;如果用戶選擇了取款,則輸入金額后系統(tǒng)在較短時間內(nèi)彈出紙幣; 如果用 戶選擇了其他選項(如交易明細查詢),要短時間內(nèi)顯示相應的信息。用戶交易 完畢,則選擇退卡,請在三十秒內(nèi)拿走銀行卡,否則后果自負

9、。b)更新處理時間:在每次用戶結束交易后,請系統(tǒng)及時進行信息更新。C)數(shù)據(jù)轉換和傳送時間:用戶本次進入系統(tǒng),要與最近一次的保存進度一致。在進行各項交易中,用 戶的時間記錄要準確,不能有延遲和提前。d)解題時間:不能出現(xiàn)讓用戶費解的信息。靈活性:a)操作系統(tǒng):該軟件當遇到非預期輸入數(shù)據(jù)或操作時,會進行報錯處理,并要 求用戶重新進行輸入數(shù)據(jù)或操作。b)同其他軟件接口的變化:考慮到接口的變化,盡量將代碼模塊化,多提供一些接口類,提高代碼的可移植性。c)運行環(huán)境的變化:由于代碼輸入到不同的取款機,其虛擬機可能有所不同,所以編寫代碼時要考慮運行在不同平臺上的問題,即代碼的平臺可移植性。d)計劃的變化或改

10、進:項目過程中可能要更改方案,如更換背景,更換按鈕風格, 或者調(diào)整每次系統(tǒng)輸出信息的時間等。 這些就要依賴于代碼的可擴展性, 可以不 用更改很多代碼。輸入輸出要求:1)用戶名:字母數(shù)字或下劃線,且首位不得為數(shù)字。2)密碼:6位整數(shù)。3)取款及轉賬金額:整型數(shù)據(jù)。4)戶源,目標賬戶:即字母數(shù)字或下劃線,且首位不得為數(shù)字。5)用戶需求事務:通過人機交互界面進行選擇。3.4輸入和輸出項輸入項:(只針對取款系統(tǒng))名稱密碼金額總數(shù)類型charint格式*0000.00有效范圍6位100的倍數(shù)元方式鍵盤輸入鍵盤輸入頻度10次5次系統(tǒng)性能反應時間不能大于10秒鐘反應時間不能大于10秒鐘安全保密條件10次輸入

11、密碼錯誤則吞卡一天最多取款不得超過5000元媒體人工輸入人工輸入輸出項:(只針對取款系統(tǒng))名稱金額類型int格式0000.00有效范圍100的倍數(shù)方式鍵盤輸入頻度5次系統(tǒng)性能反應時間不能大于10秒鐘安全保密條件一天最多取款不得超過5000元媒體點鈔機3.5算法1. 用戶服務模塊(含:開戶、登陸、退出)開戶:輸入姓名、密碼、再次密碼、開戶金額(不低于1塊錢)填寫完沒問題后分配賬號。(姓名、密碼、開戶金額、賬號 存入結構體數(shù)組里面)登陸:輸入 賬戶、密碼 判斷賬戶是否存在,密碼是否正確。登陸后進入到個人服務界面。退出:退出ATM就是退出程序2. 主菜單模塊(含:存款、取款、轉賬、密碼修改、查詢余額

12、)存款:個人賬戶上的金額加上。取款:個人賬戶上的金額減去。轉賬:涉及到兩個賬戶其實就是下標的不同金額一個減去一個加上密碼修改:輸入新密碼、再次輸入新密碼判斷兩次密碼是否相同在用strcpy ()函數(shù) 將新密碼 當前賬戶下標元素密碼成員 并且判斷是否修改成功。查詢余額:就是從結構體數(shù)組里面調(diào)用存金額那個成員歡迎模塊:定義一個函數(shù)void huanying(),利用for循環(huán)進行字符的輸出。void hua nyin g()/定義函數(shù)int i;for(i=0;i10;i+)/for循環(huán)prin tf(nnnnnnnn);t 。n);printf(ttt歡迎使用行軍蟻ATM系統(tǒng) n);t 。n);

13、printf(nntt希望行軍蟻ATM系統(tǒng)可以時刻給您帶來方便! );printf(nnnntttt正在進入);shaohou();/等待系統(tǒng)響應system(cls);prin tf(nnnnnnnn);用戶模塊:在此模塊,從A,B,C中選擇出執(zhí)行的操作服務,然后進入下一個模塊。利用 while語句,定義的選擇函數(shù)char xuanze,實現(xiàn)輸出。偽代碼:void mai n()/主函數(shù)hua nyin g();system(cls);while(1)char xua nze;/定義函數(shù)system(cls);printf(nnt歡迎使用行軍蟻ATM系統(tǒng)n);printf(nnt請選擇您要執(zhí)

14、行的操作:n);prin tf(nntA.開戶服務 n);prin tf(nntB.登錄服務 n);printf(nntC. 退出。n);printf(nnt 請選擇:);sea nf(%c, &xua nze);switch(xua nze)casea:caseA:kaihu();break;caseb:caseB:de nglu();break;casec:caseC:exit(O);!);break;default:pri ntf(nt您的選擇錯誤開戶服務:struct kaihuchar n ame10;char mima10; double zong;int zha nghao; g

15、uke20;int ren shu=0;int xia nzai;*/#include #include #i nclude #in elude vconi o.hstructint 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;i3;i+)prin tf(.);for(j=0;j0)prin tf(b b); i-;elseif(i16)mimai=ch; prin tf(*); i+;void kaihu(

16、)int k;for(k=0;k0) printf(nnt開戶成功,您的可用余額為:d,gukerenshu.jin_e);break;elseprintf(nnt 開戶金額不能低于壹圓!nn); system(cls);gukere nshu.zha nghao=518518+re nshu;printf(nnt您的賬號是:%d請牢記!n,gukerenshu.zhanghao);printf(nnt開戶成功,是否繼續(xù)?繼續(xù)請按任意鍵。n);ren shu+;getch();登錄服務:void den glu()int q;for(q=0;q8;q+)printf(nnt正在進入,請稍后);

17、shaohou();system(cls);/*while(1)prin tf(nntt【登錄服務】);prin tf(nntt請輸入賬號:);int zh;sca nf(%d, &zh);int i;for(i=0;ire nshu;i+)if(zh!=gukei.zha nghao)prin tf(nnt賬號錯誤,請重新輸入。);con ti nue;elsexia nzai=i;printf(nnt賬號正確:);break;*/prin tf(nntt【登錄服務】);prin tf(nntt請輸入賬號:);int zh;sea nf(%d, &zh);for(i nt i=O;ire n

18、shu;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;i3;i+)printf(nt請輸入密碼:);char password10;dedaomima(password);if(strcmp(password,gukexia nzai.mima)=0)printf(nt密碼正確!);break;elseprintf(密碼輸入錯誤,請重新輸入。);return;getch();fuwu();getc

19、h();主菜單模塊:此模塊主要用于用戶進行各種操作服務的選擇,實現(xiàn)相關功能,如存款,取款, 轉賬,密碼修改,余額查詢等等。for(i;i8;i+)prin tf(nnnnnnn);printf(nnnnttt正在進入服務,請稍后);shaohou();printf(nnt【服務】n);printf(nnt%d晚上好,行軍蟻銀行歡迎您.n,);)n);prin tf(nt(現(xiàn)在暫時恢復存款服務、取款服務、余額查詢。printf(nta.存款服務 n);printf(ntb.取款服務 n);printf(ntc.轉賬服務 n);printf(ntd.余額查詢 n);printf

20、(nte.密碼修改 n”);prin tf(ntf.退出 n);prin tf(nt請選擇服務:);sea 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:case D:chax un( );break;/ case e:/ case E:xiougai();break;case f:case F:printf(返回上級菜單,請按任意鍵);return;default:

21、printf(nt您的選擇錯誤!);break;存款服務:void cun kua n()for(i nt i=0;i5;i+)printf(nnt正在進入,請稍等);shaohou();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();取款服務:void qukua n()for(i nt i=0;i

22、5;i+)printf(nnt正在進入,請稍等);shaohou();system(cls);prin tf(nnt【取款服務】);printf(nnt請輸入取款金額:);int xinqu;sea nf(%d, &xi nqu);gukexia nzai.z on g=gukere nshu.z on g-x inqu;if(xinqu gukere nshu.z ong)printf(nnt取款成功:%d,您現(xiàn)在的可用余額為:%d,x inq u,gukexia nzai.z on g);printf(nnt是否繼續(xù)?繼續(xù)請按任意鍵:);getch();查詢服務:void chax un(

23、)for(i nt i=0;i5;i+)printf(nnt正在進入,請稍等);shaohou();system(cls);prin tf(nt【查詢服務】);printf(nt您的可用余額為:%d,gukerenshu.jin_e);printf(nt是否繼續(xù)?繼續(xù)請按任意鍵.);getch();3.6流程邏輯超時信良取軟換作3 3箱賬更改更碼按作5 1更改密銀 行用 戶10秒行用 戶3.2 退岀3 1取藏5J打印單據(jù) 出J查謬i.2童誼送擇信息 f 2/二13屮卅才)H迭擇交憊易取走卡3.7 接口1、本程序所隸屬的上一層模塊結構圖:2、本程序隸屬的下一層模塊:本小組考慮到本程序已經(jīng)是屬于

24、ATM管理系統(tǒng)系統(tǒng)層次的ATM事物處理層, 所以沒有下一層模塊。3、與本程序直接關聯(lián)的C語言知識歡迎模塊 :void huanying()開戶服務: struct kaihu 登錄服務: void denglu() 主菜單模塊: void main() void fuwu() void cunkuan() void qukuan() void chaxun()3.8 存儲分配在歡迎界面,用戶服務模塊,主菜單模塊使用之后到用戶開始實現(xiàn)功能之前, 其需要的所有內(nèi)容以及使用功能的信息本身全部常駐內(nèi)存。用戶選擇退出時,系統(tǒng)自動保存相關信息3.9注釋設計各個模塊中的注釋主要用來注釋相關函數(shù)的主要作用,和

25、主要的實現(xiàn)原理。而程序中的注釋主要用于對一些主要方法進行注釋, 以方便系統(tǒng)編碼人員對整個 設計思想的理解,也便于其他閱讀人員更好的理解本程序。 其中注釋的風格全部 按照C語言規(guī)定的風格。3.10限制條件不足之處:由于本小組知識范圍所限,軟件開發(fā)的經(jīng)驗嚴重不足,對數(shù)據(jù)庫管 理工具還沒有學習,只是用c語言相關知識進行編程,所以對系統(tǒng) 開發(fā)的進度以及系統(tǒng)功能的實現(xiàn)程度較難控制。已具備的條件:1、小組成員交流比較方便,而且共同寫作,積極進取。2、實現(xiàn)系統(tǒng)所需的資料準備得較齊全。尚需補充的條件:1、提高開發(fā)人員的編程能力和對軟件工程思想的認識;2、盡快掌握C語言的使用方法。3.11測試計劃測試日期、測試

26、人員安排請參考測試計劃;測試用例的具體內(nèi)容,詳見測試 用例說明?,F(xiàn)在本小組僅以會話用例與取款用例進行對 ATM嘰管理系統(tǒng)的單體測 試計劃;用例被測試的功能初始系統(tǒng)狀態(tài)測試輸入期望的結果會話用例系統(tǒng)讀取顧客系統(tǒng)處于ONI犬 態(tài),并沒有為顧插入可讀的銀銀仃卡被接收, 系統(tǒng)請求輸入的銀行卡客提供服務行卡密碼會話用例系統(tǒng)彈出不可讀取的銀行卡系統(tǒng)處于ONI犬 態(tài),當前沒有為 顧客提供服務插入不可讀取的銀行卡銀行卡被彈出, 系統(tǒng)顯示錯誤 信息,準備啟動 一個新的會話會話用例系統(tǒng)接收顧客的密碼系統(tǒng)請求顧客輸入密碼輸入密碼系統(tǒng)顯示一個 事務類型菜單會話用例系統(tǒng)允許顧客執(zhí)行事務系統(tǒng)顯示事務類型菜單執(zhí)行事務系統(tǒng)詢問顧客 是否希望執(zhí)行 其它事務會話用例系統(tǒng)允許在 一個會話中 執(zhí)行多個事 務系統(tǒng)詢問是否執(zhí)行其它事務回答“是”系統(tǒng)顯示事務類型菜單會話用例當顧客選擇 不執(zhí)行其它 事務時,會話 結束系統(tǒng)詢問是否執(zhí)行其它事務回答“否”系統(tǒng)彈出銀行 卡,準備啟動一 個新的會話事務用例系統(tǒng)處理一個不合法的密碼插入了可讀取的卡輸入

溫馨提示

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

評論

0/150

提交評論