銀行儲蓄管理系統(tǒng)數(shù)據(jù)庫設(shè)計_第1頁
銀行儲蓄管理系統(tǒng)數(shù)據(jù)庫設(shè)計_第2頁
銀行儲蓄管理系統(tǒng)數(shù)據(jù)庫設(shè)計_第3頁
銀行儲蓄管理系統(tǒng)數(shù)據(jù)庫設(shè)計_第4頁
銀行儲蓄管理系統(tǒng)數(shù)據(jù)庫設(shè)計_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、武漢理工大學(xué)華夏學(xué)院課程設(shè)計報告書課程名稱:數(shù)據(jù)庫系統(tǒng)原理課程設(shè)計 題 目: 銀行儲蓄管理系統(tǒng)數(shù)據(jù)庫設(shè)計 系 名: 信息工程系 專業(yè)班級: 姓 名: 學(xué) 號: 1 指導(dǎo)教師: 2012年 6 月 29日課程設(shè)計任務(wù)書學(xué)生姓名: 專業(yè)班級: 指導(dǎo)教師: 工作單位: 信息工程系 設(shè)計題目:銀行儲蓄管理系統(tǒng)數(shù)據(jù)庫設(shè)計初始條件:本課程的設(shè)計的目的是通過實踐使同學(xué)們經(jīng)歷數(shù)據(jù)庫設(shè)計開發(fā)的全過程和受到一次綜合訓(xùn)練,以便能較全面地理解、掌握和綜合運用所學(xué)的知識。結(jié)合具體的開發(fā)案例,理解并初步掌握系統(tǒng)分析、系統(tǒng)設(shè)計、系統(tǒng)實施的主要環(huán)節(jié)和步驟以及軟件文檔的制作能力。要求完成的主要任務(wù):要求學(xué)生根據(jù)所學(xué)的數(shù)據(jù)庫原理

2、與程序設(shè)計的知識,能夠針對一個小型的銀行儲蓄管理系統(tǒng),進(jìn)行數(shù)據(jù)庫系統(tǒng)的需求分析,概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、物理結(jié)構(gòu)設(shè)計,數(shù)據(jù)錄入及測試等,完成題目要求的功能。主要任務(wù):用戶有以下需求:建立用戶;建立賬戶檔案,建立賬戶索引;完成日常交易信息檢索、進(jìn)行存款、轉(zhuǎn)賬、取款等工作,對取款、轉(zhuǎn)賬等操作,必需進(jìn)行身份驗證。具體要求如下:1 存折信息 數(shù)據(jù)包括:存折的基本信息包括:戶名、帳號、開戶銀行名稱、開戶日期、取款密碼等。2賬戶存取明細(xì)數(shù)據(jù)包括:日期、摘要(現(xiàn)存、現(xiàn)支、轉(zhuǎn)存、利息)、交易金額、余額、操作柜員編號。 3 檢索系統(tǒng) 能根據(jù)戶名、賬號、交易日期、金額等進(jìn)行查詢。4取款 輸入賬號和密碼后,能根

3、據(jù)密碼判斷用戶是否合法,能判斷取款金額是否超過了賬戶余額,如果取款金額合法,就對該賬號的余額信息進(jìn)行更新。5、存款 輸入賬號和存款金額后,能更新該賬號的余額。6、轉(zhuǎn)賬 輸入賬號和密碼后,能根據(jù)密碼判斷用戶是否合法,然后再輸入對方的轉(zhuǎn)賬賬戶,并判斷對方的轉(zhuǎn)賬賬戶是否合法,如果合法,再輸入轉(zhuǎn)賬的金額,并能判斷轉(zhuǎn)賬金額是否超過了賬戶余額,如果轉(zhuǎn)賬金額合法,就對該賬號的余額信息以及對方的賬戶余額信息進(jìn)行更新。設(shè)計報告撰寫格式要求:要求層次清楚、整潔規(guī)范、不得相互抄襲,凡正文內(nèi)容有整段完全相同者一律以抄襲論處。設(shè)計報告正文字?jǐn)?shù)不少于0.2萬字(不包括附錄)第1級(章)題序和題名用黑體三號字,第2級(目)

4、題序和題名用黑體小四號字,第3級(條)題序和題名用黑體小四號字,正文內(nèi)容用宋體五號字(英文用新羅馬體),多倍行距1.25。報告內(nèi)容一律使用A4打印紙計算機(jī)打印,頁碼在頁下居中標(biāo)明。必須使用國家公布的規(guī)范字。頁面設(shè)置:上空2.5 cm,下空2.0 cm,左空2.5 cm,右空2.0cm(左裝訂)。插圖圖面要整齊、美觀,插圖應(yīng)與正文呼應(yīng),不能脫節(jié)。每幅插圖應(yīng)有圖序與圖題,圖序編號要連續(xù),圖序與圖題間空一格且要放在插圖下方居中處。時間安排:消化資料、系統(tǒng)調(diào)查 1天系統(tǒng)分析、總體設(shè)計,實施計劃、撰寫報告  3天 演示、驗收 1天指 導(dǎo) 教 師 簽 字: 凌偉 2012年 6月 25

5、日系 主 任 簽 字: 2012年 6月25 日目錄第1章項目需求51.1 編寫目的51.1.1范圍41.1.2定義41.1.3參考資料41.2項目概述51.2.1產(chǎn)品描述51.2.2產(chǎn)品功能51.2.3用戶特點51.2.4一般約束51.2.5假設(shè)和依據(jù)61.3具體需求61.3.1功能需求61.3.1.1功能需求161.3.1.2功能需求281.3.1.3功能需求381.3.1.4功能需求481.3.2外部接口需求81.3.2.1硬件接口81.3.2.2軟件接口81.3.3性能需求91.3.4設(shè)計約束91.3.4.1其他標(biāo)準(zhǔn)的約束91.3.4.2硬件的約束101.3.5屬性101.3.5.1可

6、用性101.3.5.2安全性101.3.5.3可維護(hù)性101.3.6其他需求111.3.6.1數(shù)據(jù)庫111.3.6.2操作11第2章系統(tǒng)概要設(shè)計13 2.1目的-14 2.2運行界面-14 2.3運行代碼-16 2.4數(shù)據(jù)庫設(shè)計要-28 2.5系統(tǒng)測試與護(hù)-29 33第1章 需求分析1.1 編寫目的幫助學(xué)員了解項目的功能,明確需求功能中用戶對系統(tǒng)要做什么的要求,了解需求中的各種業(yè)務(wù)規(guī)則。說明編寫這份軟件需求說明書的目的,指出預(yù)期的讀者范圍。1.1.1 范圍軟件系統(tǒng)的名稱:某某銀行活期儲蓄系統(tǒng)。本軟件主要實現(xiàn)銀行的活期儲蓄的相關(guān)業(yè)務(wù)。說明:a 待開發(fā)的軟件系統(tǒng)的名稱;b 說明軟件將干什么,如果需

7、要的話,還要說明軟件產(chǎn)品不干什么;c 描述所說明的軟件的應(yīng)用。應(yīng)當(dāng):1) 盡可能精確地描述所有相關(guān)的利益、目的、以及最終目標(biāo)。2) 如果有一個較高層次的說明存在,則應(yīng)該使其和高層次說明中的類似的陳述相一致(例如,系統(tǒng)的需求規(guī)格說明)。1.1.2 定義列出本文件中用到的專門術(shù)語的定義和縮寫詞的原詞組。1.1.3 參考資料列出要用到的參考資料,如:a <數(shù)據(jù)庫原理及應(yīng)用SQL Server 2000> 作者 夏冰冰 出版社 國防工業(yè)出版社;b <軟件需求工程> 作者 梁正平 出版社 機(jī)械工業(yè)出版社 ;c. <C#程序設(shè)計及應(yīng)用教程> 作者 馬駿 出版社 人民郵電

8、出版社;1.2 項目概述1.2.1 產(chǎn)品描述本軟件實現(xiàn)銀行的活期儲蓄存款業(yè)務(wù)。整套軟件由客戶端程序和服務(wù)器端程序構(gòu)成,客戶端運行在面向個人業(yè)務(wù)的銀行柜臺的電腦上,銀行職員輸入相關(guān)信息并通過網(wǎng)絡(luò)通訊向服務(wù)器發(fā)送請求,并接受服務(wù)器端程序的應(yīng)答顯示處理的結(jié)果。服務(wù)器端處理客戶端的各種業(yè)務(wù)請求。主要實現(xiàn)銀行開戶、銷戶、取款、存款、余額查詢、轉(zhuǎn)賬、修改密碼、等功能。1.2.2 產(chǎn)品功能軟件功能表模塊功能說明客戶端程序登錄主菜單取款開戶銷戶轉(zhuǎn)帳余額查詢打印賬戶明細(xì)記錄修改密碼服務(wù)器端程序存款取款開戶銷戶轉(zhuǎn)帳余額查詢計算利息修改密碼1.2.3 一般約束下面對設(shè)計系統(tǒng)時限制開發(fā)者選擇的其他一些項作一般性描述。

9、而這些項將限定開發(fā)者在設(shè)計系統(tǒng)時的任選項。這些包括:a 管理方針;b 硬件的限制:終端電腦性能較差,無法支持圖形化界面;c 與其他應(yīng)用間的接口;d 并行操作:支持10個終端同時操作;e 審查功能;f 控制功能;g 所需的高級語言:標(biāo)準(zhǔn)C+語言;h 通信協(xié)議:TCP/IP;i 應(yīng)用的臨界點;j 安全和保密方面的考慮:各種密碼輸入后用*顯示。通過網(wǎng)絡(luò)傳送的數(shù)據(jù)在傳送前需要簡單加密,接收后在處理前需要簡單解密。服務(wù)器端對接收到的數(shù)據(jù)需要進(jìn)行第二次數(shù)據(jù)有效性驗證。1.2.4 假設(shè)和依據(jù)本條列出影響需求說明中陳述的需求的每一個因素。這些因素不是軟件的設(shè)計約束,但是它們的改變可能影響到需求說明中的需求。例

10、如:假定一個特定的操作系統(tǒng)是在被軟件產(chǎn)品指定的硬件上使用的,然而,事實上這個操作系統(tǒng)是不可能使用的,于是,需求說明就要進(jìn)行相應(yīng)的改變。1.3 具體需求1.3.1 功能需求1.3.1.1 客戶端登錄功能引言:客戶端程序運行時,首先進(jìn)行用戶(銀行職員)的合法性驗證。銀行職員輸入正確的用戶名和密碼后,進(jìn)入系統(tǒng)主菜單界面。用戶有三次驗證機(jī)會,超過三次程序直接退出。用戶名和密碼需事先保存在程序的配置文件中,并且密碼需進(jìn)行加密保存。輸入處理輸出1、用戶名2、密碼1、用戶名長度10位2、密碼長度6位3、用戶名及密碼正確后進(jìn)入主菜單界面。1、如果用戶名或者密碼不正確,給用戶一個友好提示并提示還有幾次機(jī)會2、密

11、碼用*輸出1.3.1.2 客戶端主菜單功能引言:顯示銀行的基本信息,例如銀行支行的名稱,地址,登錄的銀行職員的ID號等。以上這些數(shù)據(jù)銀行職員可以手工對相關(guān)的文本文件進(jìn)行修改。輸出主菜單(包括開戶、存款、取款、查詢、轉(zhuǎn)賬、修改密碼、銷戶、退出等功能)供操作用戶選擇,然后根據(jù)用戶的輸入選擇進(jìn)入不同的系統(tǒng)功能界面。輸入處理輸出1、菜單項編號1、根據(jù)用戶的選擇進(jìn)入不同的功能界面。1,根據(jù)用戶的選擇彈出不同的界面。1.3.1.3 客戶端開戶功能引言:銀行職員在客戶端輸入開戶的基本信息,通過網(wǎng)絡(luò)傳送數(shù)據(jù),在服務(wù)器處理后顯示服務(wù)器端的處理結(jié)果。開戶成功后打印存折相關(guān)信息。操作結(jié)束后返回主菜單界面。存折的基本

12、信息包括:戶名、帳號、開戶銀行名稱、開戶日期等。賬戶存取明細(xì)信息包括:日期、摘要(現(xiàn)存、現(xiàn)支、轉(zhuǎn)存、利息)、交易金額、余額、操作柜員編號。輸入處理輸出1、用戶姓名2、身份證號碼3、密碼4、重復(fù)密碼5、開戶金額1、開戶的所有信息必填。2、錄入的數(shù)據(jù)去除左右空格。3、用戶姓名最大長度1-20位,只允許數(shù)字。4、身份證號碼長度18位,全部數(shù)字或者前17位數(shù)字最后一位為X。從第7位開始必須是合法的8位日期5、密碼長度6位,只能是數(shù)字。6、密碼和重復(fù)密碼一致。7、開戶金額大于等于0,小數(shù)位最多2位。1、如果用戶輸入的各項數(shù)據(jù)不正確,給用戶一個友好提示,并要求用戶重新輸入。2應(yīng)答服務(wù)器的處理結(jié)果并輸出。4

13、、開戶成功后打印存折基本信息以及賬戶明細(xì)信息,存折的格式請參考用戶接口。1.3.1.4 客戶端存款功能引言:銀行職員在客戶端輸入存款的基本信息,通過網(wǎng)絡(luò)傳送數(shù)據(jù),在服務(wù)器處理后顯示服務(wù)器端的處理結(jié)果。存款成功后打印賬戶明細(xì)。操作結(jié)束后返回主菜單界面。輸入處理輸出1、存折賬戶ID2、存款金額1、輸入的所有信息必填。2、驗證存折賬戶ID的長度5位;3、存款金額大于0.00元,最多兩位小數(shù);1、如果用戶輸入的各項數(shù)據(jù)不正確,給用戶一個友好提示,并要求用戶重新輸入。2、應(yīng)答服務(wù)器的處理結(jié)果并輸出。3、存款成功后打印賬戶明細(xì)信息,賬戶明細(xì)信息的格式請參考用戶接口。1.3.1.5 客戶端取款功能引言:銀行

14、職員在客戶端輸入取款的基本信息(假設(shè)存折賬戶的密碼也由銀行職員輸入),通過網(wǎng)絡(luò)傳送數(shù)據(jù),在服務(wù)器處理之后顯示服務(wù)器端的處理結(jié)果。操作結(jié)束后返回主菜單界面。輸入處理輸出1、存折賬戶ID、2、存折密碼3、取款金額1、輸入的所有信息必填。2、驗證賬戶ID的長度5位;3、驗證存折密碼長度6位;4、取款金額大于0.00元,最多兩位小數(shù);1、如果用戶輸入的各項數(shù)據(jù)不正確,給用戶一個友好提示,并要求用戶重新輸入。2、應(yīng)答服務(wù)器的處理結(jié)果并輸出。3、取款成功后打印賬戶明細(xì)信息,賬戶明細(xì)信息的格式請參考用戶接口。4、密碼輸入錯誤三次后進(jìn)入黑名單,將在三天之內(nèi)無法使用該存折;1.3.1.6 客戶端轉(zhuǎn)賬功能引言:在

15、客戶端輸入轉(zhuǎn)賬的基本信息(假設(shè)存折賬戶的密碼也由銀行職員輸入),通過網(wǎng)絡(luò)傳送數(shù)據(jù),在服務(wù)器處理后顯示服務(wù)器端的處理結(jié)果。轉(zhuǎn)賬成功后打印本賬戶的明細(xì)信息并打印轉(zhuǎn)賬憑證。操作結(jié)束后返回主菜單界面。1.3.1.7 客戶端余額查詢功能1.3.1.8 引言:銀行職員在客戶端輸入查詢的基本信息(假設(shè)存折賬戶的密碼也由銀行職員輸入),通過網(wǎng)絡(luò)傳送數(shù)據(jù),在服務(wù)器處理后顯示服務(wù)器端的處理結(jié)果。成功后如果之前有部分賬戶明細(xì)信息未打印的進(jìn)行打印。操作結(jié)束后返回主菜單界面。輸入處理輸出1、存折賬戶ID2、存折密碼1、輸入的所有信息必填。2、驗證賬戶ID的長度5位;3、驗證存折密碼長度6位;4、通過網(wǎng)絡(luò)把數(shù)據(jù)發(fā)送到服務(wù)

16、器。1、如果用戶輸入的各項數(shù)據(jù)不正確,給用戶一個友好提示,并要求用戶重新輸入。2、應(yīng)答服務(wù)器的處理結(jié)果并輸出。3、密碼輸入錯誤三次后進(jìn)入黑名單,將在三天之內(nèi)無法使用該存折;4、成功后打印之前未打印的賬戶明細(xì)信息。1.3.1.9 客戶端修改密碼功能引言:銀行職員在客戶端輸入修改密碼的基本信息(假設(shè)存折賬戶的舊密碼和新密碼都由銀行職員輸入),通過網(wǎng)絡(luò)傳送數(shù)據(jù),在服務(wù)器處理之后顯示服務(wù)器端的處理結(jié)果。操作結(jié)束后返回主菜單界面。輸入處理輸出1、賬戶ID2、密碼3、新密碼4、重復(fù)密碼1、輸入的所有信息必填。2、錄入的數(shù)據(jù)去除左右空格。4、密碼長度6位。5、新密碼和重復(fù)密碼一致6、通過網(wǎng)絡(luò)把數(shù)據(jù)發(fā)送到服務(wù)

17、器1、如果用戶輸入的各項數(shù)據(jù)不正確,給用戶一個友好提示,并要求用戶重新輸入。2、應(yīng)答服務(wù)器的處理結(jié)果并輸出。引客戶端銷戶功能引言:銀行職員在客戶端輸入賬戶ID和密碼信息(假設(shè)存折賬戶的密碼也由銀行職員輸入),通過網(wǎng)絡(luò)傳送數(shù)據(jù),在服務(wù)器處理之后顯示服務(wù)器端的處理結(jié)果。操作結(jié)束后返回主菜單界面。請參考客戶端的取款功能,與客戶端取款功能區(qū)別的地方是不用輸入取款金額。1.3.1.10 客戶銷戶功能引客戶端銷戶功能引言:銀行職員在客戶端輸入賬戶ID和密碼信息(假設(shè)存折賬戶的密碼也由銀行職員輸入),通過網(wǎng)絡(luò)傳送數(shù)據(jù),在服務(wù)器處理之后顯示服務(wù)器端的處理結(jié)果。操作結(jié)束后返回主菜單界面。請參考客戶端的取款功能,

18、與客戶端取款功能區(qū)別的地方是不用輸入取款金額。1.3.1.11 服務(wù)器端開戶功能引言:接收客戶端傳送的數(shù)據(jù),把數(shù)據(jù)保存到數(shù)據(jù)庫中,經(jīng)過服務(wù)器段的處理后把處理的結(jié)果傳回給客戶端。輸入:1、 接收客戶端傳送過來的數(shù)據(jù)。處理:1、 自動生成賬戶ID,長度5位,從1開始編號,不足補0,例如00009、00103等。自動生成賬戶ID要求唯一。2、 賬戶所有信息將保存數(shù)據(jù)庫的賬戶信息表中。3、 根據(jù)開戶金額生成一條賬戶的存款記錄。輸出:1、 把服務(wù)器端處理的結(jié)果返回給客戶端。處理的結(jié)果包括開戶是否成功,如果開戶成功處理的結(jié)果中還包含生成的存款記錄。1.3.1.12 服務(wù)器端存款功能引言:接收客戶端傳送的數(shù)

19、據(jù),增加賬戶余額并修改相關(guān)的數(shù)據(jù)庫信息,把結(jié)果傳回給客戶端。輸入處理輸出1、客戶端傳送的數(shù)據(jù)。1、驗證賬戶ID是否存在。2、修改對應(yīng)賬戶ID的數(shù)據(jù)庫信息。1、把服務(wù)器端處理的結(jié)果返回給客戶端。1.3.1.13 服務(wù)器端取款功能引言:接收客戶端傳送的數(shù)據(jù),減少賬戶余額并修改相關(guān)的數(shù)據(jù)庫信息,把結(jié)果傳回給客戶端。輸入處理輸出1、客戶端傳送的數(shù)據(jù)。1、驗證賬戶ID是否存在。2、驗證密碼是否正確。3、驗證余額是否足夠。2、修改對應(yīng)賬戶ID的數(shù)據(jù)庫信息。1、把服務(wù)器端處理的結(jié)果返回給客戶端。1.3.1.14 服務(wù)器端轉(zhuǎn)賬功能引言:接收客戶端傳送的數(shù)據(jù),分別處理取款和存款功能,把結(jié)果傳回給客戶端。輸入處理

20、輸出1、客戶端傳送的數(shù)據(jù)。1、參考服務(wù)器端取款功能。2、參考服務(wù)器端存款功能。1、把服務(wù)器端處理的結(jié)果返回給客戶端。1.3.1.15 服務(wù)器端查詢功能引言:接收客戶端傳送的數(shù)據(jù),查找賬戶信息,把結(jié)果傳回給客戶端。輸入處理輸出1、客戶端傳送的數(shù)據(jù)。1、驗證賬戶ID是否存在。2、驗證密碼是否正確。3、查找對應(yīng)的賬戶信息。1、把服務(wù)器端處理的結(jié)果返回給客戶端。1.3.1.16 服務(wù)器端修改密碼功能引言:接收客戶端傳送的數(shù)據(jù),修改賬戶密碼,把結(jié)果傳回給客戶端。輸入處理輸出1、客戶端傳送的數(shù)據(jù)。1、驗證賬戶ID是否存在。2、驗證密碼是否正確。3、查找對應(yīng)的賬戶并修改密碼。1、把服務(wù)器端處理的結(jié)果返回給客

21、戶端。1.3.1.17 服務(wù)器端銷戶功能功能引言:接收客戶端傳送的數(shù)據(jù),通過公式計算客戶賬戶的利息,注銷該客戶賬戶。把結(jié)果傳回給客戶端。輸入處理輸出1、客戶端傳送的數(shù)據(jù)。1、驗證賬戶ID是否存在。2、驗證密碼是否正確。3、計算利息,具體公式如下:利息 = 存款額 * 存款天數(shù) * 年利率 / 360 需要注意的是,賬戶中的存款額在變化。4、修改對應(yīng)賬戶ID的數(shù)據(jù)庫。5、刪除用戶賬戶,不是做物理刪除處理。1、把服務(wù)器端處理的結(jié)果返回給客戶端。1.3.2 外部接口需求1.3.2.1 用戶接口提供用戶使用軟件產(chǎn)品時的接口需求。例如,如果系統(tǒng)的用戶通過顯示終端進(jìn)行操作,就必須指定如下要求:a 對屏幕格

22、式的要求:用戶操作的終端使用標(biāo)準(zhǔn)控制臺界面,每行80個字符(中文40),總共25行。b 交易報表統(tǒng)計格式c 存折第一頁的輸出格式d 存折明細(xì)的輸出格式e 轉(zhuǎn)帳存款回單格式戶 名:帳 號:幣 種:交易金額:摘 要:f 程序功能鍵的可用性:在客戶端的程序中任意一個功能的輸入過程中都可以使用ESC鍵返回到主菜單。數(shù)據(jù)瀏覽時的相關(guān)功能鍵請參考C語言的項目要求。1.3.2.2 硬件接口要指出軟件產(chǎn)品和系統(tǒng)硬部件之間每一個接口的邏輯特點。還可能包括如下事宜:支撐什么樣的設(shè)備,如何支撐這些設(shè)備,有何約定。1.3.3 性能需求從整體來說,本條應(yīng)具體說明軟件、或人與軟件交互的靜態(tài)或動態(tài)數(shù)值需求。A 靜態(tài)數(shù)值需求

23、可能包括:1) 支持的終端數(shù);2) 支持并行操作的用戶數(shù);3) 處理的文卷和記錄數(shù);4) 表和文卷的大小。B 動態(tài)數(shù)值需求可能包括:欲處理的事務(wù)和任務(wù)的數(shù)量,以及在正常情況下和峰值工作條件下一定時間周期中處理的數(shù)據(jù)總量。 所有這些需求都必須用可以度量的術(shù)語來敘述。例如,95的事務(wù)必須在小于1s時間內(nèi)處理完,不然,操作員將不等待處理的完成。1.3.4 設(shè)計約束設(shè)計約束受其他標(biāo)準(zhǔn)、硬件限制等方面的影響。1.3.4.1 硬件的約束本項包括在各種硬件約束下運行的軟件要求,例如,應(yīng)該包括:a 硬件配置的特點(接口數(shù),指令系統(tǒng)等);b 內(nèi)存儲器和輔助存儲器的容量。1.3.5 屬性在軟件的需求之中有若干個屬

24、性,以下指出其中的幾個(注意:對這些決不應(yīng)理解為是一個完整的清單)。1.3.5.1 可用性可以指定一些因素,如檢查點、恢復(fù)和再啟動等,以保證整個系統(tǒng)有一個確定的可用性級別。1.3.5.2 安全性指的是保護(hù)軟件的要素,以防止各種非法的訪問、使用、修改、破壞或者泄密。這個領(lǐng)域的具體需求必須包括:利用可靠的密碼技術(shù);掌握特定的記錄或歷史數(shù)據(jù)集;給不同的模塊分配不同的功能;限定一個程序中某些區(qū)域的通信;計算臨界值的檢查和。1.3.5.3 可維護(hù)性規(guī)定若干需求以確保軟件是可維護(hù)的。例如:a 軟件模塊所需要的特殊的耦合矩陣;b 為微型裝置指定特殊的數(shù)據(jù)程序分割要求。1.3.6 其他需求根據(jù)軟件和用戶組織的

25、特性等,某些需求放在下面各項中描述。1.3.6.1 數(shù)據(jù)庫本項對作為產(chǎn)品的一部分進(jìn)行開發(fā)的數(shù)據(jù)庫規(guī)定一些需求,它們可能包括:a 在功能需求中標(biāo)識的信息類別;b,使用的頻率;c.存取能力;e.數(shù)據(jù)元素和文卷描述符;g.數(shù)據(jù)元素、記錄和文卷的關(guān)系;n.靜態(tài)和動態(tài)的組織;f.數(shù)據(jù)保存要求。 .1.3.6操作這里說明用戶要求的常規(guī)的和特殊的操作。A 在用戶組織之中各種方式的操作。例如,用戶初始化操作;B 交互作用操作的周期和無人操作的周期;C.數(shù)據(jù)處理運行功能;D.后援和恢復(fù)操作。2.1總體設(shè)計 2.1.1 系統(tǒng)結(jié)構(gòu)圖輸入用戶名和和密碼判斷是否正確開始進(jìn)入主菜單功能按鍵選擇開戶存款取款轉(zhuǎn)賬修改密碼銷戶

26、2.1.2需求規(guī)定說明對本系統(tǒng)的主要的輸入輸出項目、處理的功能性能要求,詳細(xì)的說明可參見需求分析說明書。2.2運行界面及代碼2.2.1 登陸界面圖21 登陸界面2122.2輸入用戶登陸后進(jìn)入主菜單界面圖2-22 圖22主菜單界面2.2.3開戶界面圖23圖23開戶界面2.2.4 存款界面圖24 圖24存款界面2.2.5取款界面圖25 圖25取款界面查詢銀行存款2.2.6轉(zhuǎn)賬界面圖26 圖26轉(zhuǎn)賬界面2.2.7更改密碼圖27 圖27更改密碼2.2.8銷戶界面圖28 圖28銷戶界面2.3代碼如下#ifndef _DB_STRUCT_H_#define _DB_STRUCT_H_/

27、typedef struct account_char acc_name21; /賬戶名char id_card19;  /身份證號char pwd7;       /賬戶密碼double money;      /開賬金額T_ACCOUNT;/存款數(shù)據(jù)typedef struct saving_int acc_id;  

28、60;     /賬戶IDint opter_id;      /操作員IDdouble money;      /存款金額T_SAVING;/取款數(shù)據(jù)typedef struct withdraw_int acc_id;        /賬戶IDchar pwd7;  

29、;     /賬戶密碼int opter_id;      /操作員IDdouble money;      /取款金額T_WITHDRAW;/查詢數(shù)據(jù)typedef struct query_int acc_id;        /賬戶IDchar pwd7;  &#

30、160;    /賬戶密碼T_QUERY;/交易數(shù)據(jù)typedef struct transfer_int acc_id;        /賬戶ID char pwd7;       /賬戶密碼int acc_oid;       /對方賬戶IDdouble money

31、;      /交易金額T_TRANSFER;/更改密碼數(shù)據(jù)typedef struct changepwd_int acc_id;        /賬戶IDchar pwd7;       /賬戶舊密碼char newpwd7;    /賬戶新密碼T_CHANGEPWD;/銷戶數(shù)據(jù)typedef&

32、#160;struct destroy_int acc_id;        /賬戶IDchar pwd7;       /賬戶密碼int opter_id;      /操作員IDT_DESTROY;/明細(xì)數(shù)據(jù)/接收明細(xì)數(shù)據(jù)typedef struct recv_detail_char type_id20; 

33、;    /類型IDchar d_money20;     /處理金額char b_money20;     /余額char oth_id20;      /對方賬戶IDRECV_DETAIL;/接收明細(xì)數(shù)據(jù)typedef struct recv_detail_all_int acc_id;    

34、       /賬戶IDchar type_id20;     /類型IDdouble d_money;       /處理金額double b_money;       /余額int oth_id;        &#

35、160;  /對方賬戶IDRECV_DETAIL_ALL;/黑名單數(shù)據(jù)typedef struct black_int acc_id;           /賬戶IDT_BLACK;#define CLIENT_EXIT 0#define OP_ACC      1#define SAVING    

36、;  2#define WITHDRAW    3#define QUBALANCE   4#define TRANSFER    5#define CHAPWD      6#define DESTROY     7#define DETAILNOTE  8#define

37、60;DEDATA      9#define BLACKLIST   10#define NOTEALL     11/包頭typedef struct pack_headint len;  /數(shù)據(jù)長度int type; /業(yè)務(wù)類型PACK_HEAD;#endif /_DB_STRUCT_H_/ MySocket.cpp: implem

38、entation of the MySocket class.#include "MySocket.h"/ Construction/DestructionMySocket:MySocket()InitSocket();cout<<"init constructor"<<endl;MySocket:MySocket()int MySocket:InitSocket()WORD wVersionRequested;WSADATA ws

39、aData;int err;wVersionRequested = MAKEWORD( 2, 2 );err = WSAStartup( wVersionRequested, &wsaData );if ( err != 0 )                 

40、               return -1;                                

41、60;   if ( LOBYTE( wsaData.wVersion ) != 2 |HIBYTE( wsaData.wVersion ) != 2 ) WSACleanup( );return -1; s = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);return s;int MySocket:ConnectSocket(co

42、nst char *ip,int port)struct sockaddr_in addr_far;addr_far.sin_family = AF_INET;addr_far.sin_port = htons(port);addr_far.sin_addr.s_addr = inet_addr(ip);memset(addr_far.sin_zero,'0',8);cout<<"ip:"<<ip<<",

43、"<<"port:"<<port<<endl;return connect(s,(struct sockaddr*)&addr_far,sizeof(struct sockaddr_in);void MySocket:RecvTCPLoop(char* n_data, int max_count)int ret;while (max_count>0) ret=recv(s,n_data,max_count,0);if 

44、;(ret=0)break;if (ret>0)max_count-=ret;if (max_count = 0)break;n_data+= ret;void MySocket:SendTCPLoop(char* n_data, int max_count)int ret;while (max_count>0) ret=send(s,n_data,max_count,0);if (ret=0)break;if (ret>0)max_count-=

45、ret;if (max_count = 0)break;n_data+= ret;void MySocket:Close()if(s!=NULL)closesocket(s);#include "Tools.h"#pragma comment(lib,"ws2_32.lib")#include <iostream>using namespace std;#include "DBStruct.h"#include&#

46、160;<conio.h>int main()MySocket client = Tools:mys;int ret = client.ConnectSocket("127.0.0.1",7000);if (ret = SOCKET_ERROR)    /連接服務(wù)器cout << "Can not connect to server!"

47、; << endl;return -1;cout<<"connect to server"<<endl;/數(shù)據(jù)打包T_ACCOUNT t_acc;strcpy(t_acc.acc_name,"wepull");strcpy(t_acc.id_card,"19801012");strcpy(t_acc.pwd,"600100");t_acc.money=2030;strcpy(t_acc.date,"2010-0

48、3-08");PACK_HEAD p_h;p_h.len=sizeof(T_ACCOUNT);p_h.type=OP_ACC;const int max_count=sizeof(T_ACCOUNT)+sizeof(PACK_HEAD);char datamax_count;memset(data,'0',max_count);Tools:Package(char*)&t_acc,p_h,data);client.SendTCPLoop(data,max_count);/發(fā)送數(shù)據(jù)int ret_acc_id=0

49、;client.RecvTCPLoop(char*)&ret_acc_id,sizeof(int);/接受返回數(shù)據(jù)cout<<"ret_acc_id:"<<ret_acc_id<<endl;/ client.Close(); / _getch();/PACK_HEAD p_h;/exitp_h.len=0;p_h.type=CLIENT_EXIT;client.SendTCPLoop(char *)&p_h,sizeof(PACK_HEAD);cout << "

50、Already exit the system.Thank you for using." << endl;exit(0);return 0;#include <iostream>using namespace std;#include "db.h"#include <Winsock2.h>#pragma comment(lib,"Ws2_32.lib")

51、60;/接收數(shù)據(jù)int RecvTCPLoop(SOCKET s, char* n_data, int max_count)int ret;while (max_count>0) ret=recv(s,n_data,max_count,0);if (ret=0)break;if (ret>0)max_count-=ret;if (max_count = 0)break;n_data+= ret;return ret;/發(fā)送數(shù)據(jù)void

52、 SendTCPLoop(SOCKET s, char* n_data, int max_count)int ret;while (max_count>0) ret=send(s,n_data,max_count,0);if (ret=0)break;if (ret>0)max_count-=ret;if (max_count = 0)break;n_data+= ret; 2.1.2結(jié)構(gòu)用一覽表及框圖的形式說明本系統(tǒng)的系統(tǒng)元素(各層模塊、子程

53、序、公用程序等)的劃分,扼要說明每個系統(tǒng)元素的標(biāo)識符和功能,分層次地給出各元素之間的控制與被控制關(guān)系。2.4系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設(shè)計2.4.1邏輯結(jié)構(gòu)設(shè)計要點給出本系統(tǒng)內(nèi)所使用的每個數(shù)據(jù)結(jié)構(gòu)的名稱、標(biāo)識符以及它們之中每個數(shù)據(jù)項、記錄、文卷和系的標(biāo)識、定義、長度及它們之間的層次的或表格的相互關(guān)系。如下圖:2-8 圖2-82.4.2物理結(jié)構(gòu)設(shè)計要點給出本系統(tǒng)內(nèi)所使用的每個數(shù)據(jù)結(jié)構(gòu)中的每個數(shù)據(jù)項的存儲要求,訪問方法、存取單位、存取的物理關(guān)系(索引、設(shè)備、存儲區(qū)域)、設(shè)計考慮和保密。2.4.3數(shù)據(jù)表建立的腳本Create table Open( banknam vaechar(10), Usernamer varchar(8), Account id int primary key, Password varchar(6), Password agae varchar(6), Money varchar(100000);(

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論