簡(jiǎn)易銀行卡管理系統(tǒng)的開(kāi)發(fā)_第1頁(yè)
簡(jiǎn)易銀行卡管理系統(tǒng)的開(kāi)發(fā)_第2頁(yè)
簡(jiǎn)易銀行卡管理系統(tǒng)的開(kāi)發(fā)_第3頁(yè)
簡(jiǎn)易銀行卡管理系統(tǒng)的開(kāi)發(fā)_第4頁(yè)
簡(jiǎn)易銀行卡管理系統(tǒng)的開(kāi)發(fā)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、學(xué)生學(xué)號(hào)0120710340502實(shí)驗(yàn)課成績(jī)武漢理工大學(xué)學(xué) 生 實(shí) 驗(yàn) 報(bào) 告 書(shū)實(shí)驗(yàn)課程名稱(chēng) 軟件工程 開(kāi) 課 學(xué) 院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 指導(dǎo)老師姓名 顧志華 學(xué) 生 姓 名 穆忙濤 學(xué)生專(zhuān)業(yè)班級(jí) 計(jì)算機(jī)0705 2009 2010 學(xué)年 第 二 學(xué)期簡(jiǎn)易銀行卡管理系統(tǒng)的開(kāi)發(fā)1題目簡(jiǎn)易銀行卡管理系統(tǒng)2功能描述分析、設(shè)計(jì)并實(shí)現(xiàn)一個(gè)銀行卡管理系統(tǒng),系統(tǒng)中有兩類(lèi)用戶,普通用戶和管理員用戶,普通用戶可以對(duì)自己的信息管理,而管理員用戶則對(duì)所有的用戶都可以進(jìn)行管理。對(duì)于普通用戶,需要實(shí)現(xiàn)以下功能:(1) 開(kāi)戶(2) 存款(3) 取款(4) 掛失(5) 消戶 (6) 轉(zhuǎn)帳 (7) 查詢(xún)操作歷史對(duì)于管理

2、員賬戶,需要實(shí)現(xiàn)的功能是: (1) 創(chuàng)建用戶 (2) 刪除用戶 (3) 查看用戶信息 (4)更改用戶信息要實(shí)現(xiàn)對(duì)用戶賬戶的管理,就要用數(shù)據(jù)庫(kù)保存用戶的信息,登錄時(shí)通過(guò)對(duì)用戶賬戶和用戶密碼的驗(yàn)證,使用戶獲得相應(yīng)的權(quán)限。登陸后,用戶可以根據(jù)提示選擇相應(yīng)的操作,以實(shí)現(xiàn)對(duì)賬戶的管理操作。對(duì)賬戶的管理實(shí)際上是對(duì)用戶信息數(shù)據(jù)的操作,數(shù)據(jù)的信息保存在數(shù)據(jù)庫(kù)中,所以用戶的操作實(shí)際上是對(duì)數(shù)據(jù)庫(kù)的操作??梢詫⒂脩舻牟僮饔成涑梢韵碌臄?shù)據(jù)庫(kù)操作普通用戶操作:開(kāi)戶:向數(shù)據(jù)庫(kù)中添加一條新紀(jì)錄存款、取款、掛失:修改數(shù)據(jù)庫(kù)中的某些字段值銷(xiāo)戶:刪除一條記錄查詢(xún)操作歷史:對(duì)數(shù)據(jù)庫(kù)的查詢(xún)管理員操作:創(chuàng)建用戶:添加一條記錄刪除用戶:

3、刪除一條記錄查詢(xún)用戶信息:查詢(xún)數(shù)據(jù)庫(kù)更改用戶信息:修改記錄字段值3數(shù)據(jù)定義系統(tǒng)有兩種用戶,并且要保存用戶的賬戶信息以及操作記錄,所以用四個(gè)表來(lái)存儲(chǔ)所有的信息,分別為guest,guest_log,admin,admin_log。guest:用來(lái)存儲(chǔ)普通客戶的賬戶信息guest_log:用來(lái)保存用戶的操作記錄,以便于查詢(xún)操作歷史admin:是管理員表,記錄管理員的賬戶信息admin_log:用來(lái)記錄管理員操作的歷史,以防管理員的錯(cuò)誤操作普通用戶的操作僅能涉及guest,guest_log兩個(gè)表,而管理員可是管理所有的表。各個(gè)表的定義如下:guest:字段名數(shù)據(jù)類(lèi)型作用guest_idint客戶的

4、唯一標(biāo)識(shí)符,逐漸guest_numchar(5)用戶登錄的銀行卡號(hào),統(tǒng)一使用5位passwordvarchar(10)登錄密碼,不大于10位,可變長(zhǎng)g_namevarchar(10)客戶相關(guān)信息,客戶姓名,g_sexchar(1)客戶性別,x表示男,y表示女reg_datedatatime賬戶注冊(cè)時(shí)間moneyInt當(dāng)前用戶金額Debtchar(1)用戶賬戶狀態(tài),0正常,1掛失,2注銷(xiāo)guest_log:字段名數(shù)據(jù)類(lèi)型作用log_idint操作記錄id,唯一標(biāo)識(shí)一個(gè)操作事件log_timedatetime事件發(fā)生的時(shí)間g_idInt發(fā)生操作事件的用戶id'motionvarchar(2

5、0)所執(zhí)行的操作類(lèi)型entityint操作涉及的金額remarktext對(duì)操作的備注管理員賬戶表和普通客戶表的內(nèi)容很類(lèi)似,所以簡(jiǎn)化了一些,并且管理員賬戶沒(méi)有賬戶金額等字段,所以相對(duì)較小。admin:字段名數(shù)據(jù)類(lèi)型作用admin_idInt管理員唯一的標(biāo)志符admin_logNamevarchar(10)管理員登錄用戶名passwordvarchar(10)登錄密碼sexchar(1)性別,x為男,y為女reg_datadatatime注冊(cè)日期admin_log:字段名數(shù)據(jù)類(lèi)型作用log_idint操作記錄id,唯一標(biāo)識(shí)一個(gè)操作事件log_timedatetime事件發(fā)生的時(shí)間admin_log

6、inNameVarchar(10)執(zhí)行操作的管理員賬戶名motionvarchar(20)所執(zhí)行的操作類(lèi)型guest_numChar(10)操作涉及到的用戶entityint操作涉及的金額remarktext對(duì)操作的備注以上是四個(gè)表的數(shù)據(jù)定義,在此基礎(chǔ)上,通過(guò)對(duì)數(shù)據(jù)庫(kù)的操作,實(shí)現(xiàn)對(duì)用戶信息的操作。4總體設(shè)計(jì)和各模塊接口說(shuō)明系統(tǒng)總體可以分為三個(gè)模塊:1. Main主調(diào)用模塊2. Guest管理模塊3. Admin管理模塊這單個(gè)模塊的簡(jiǎn)單關(guān)系為:MainAdminGuestMain模塊是程序的入口,用戶通過(guò)Main的操作,引導(dǎo)用戶進(jìn)入Guest模塊或Admin模塊,直到用戶退出。(1) Main模

7、塊Main模塊是程序的入口,程序的初始化都在此模塊,包括數(shù)據(jù)庫(kù)的連接,數(shù)據(jù)庫(kù)的初始化,全局變量的初始化等。該模塊定義了兩個(gè)出口,即 Guest 和Admin,用戶在該模塊選擇入口,已決定想要進(jìn)行的操作,直到退出。Main模塊的數(shù)據(jù)庫(kù)連接,將應(yīng)用程序同DBMS連接起來(lái),以使應(yīng)用程序能夠?qū)?shù)據(jù)庫(kù)進(jìn)行操作。Main模塊的數(shù)據(jù)庫(kù)初始化,包括創(chuàng)建表,對(duì)表中數(shù)據(jù)的初始操作。使應(yīng)用程序在執(zhí)行時(shí)可以獲得必要的信息。全局變量的初始化,包括登錄狀態(tài)、當(dāng)前用戶名等信息,使應(yīng)用程序可以在操作時(shí)可以得到相應(yīng)的環(huán)境變量。Main模塊提供了兩個(gè)出口,分別指向Guest和Admin。數(shù)據(jù)庫(kù)鏈接數(shù)據(jù)庫(kù)初始化全局變量初始化輸入用

8、戶類(lèi)型Admin模塊Guest模塊Main的盒形圖(2) Guest模塊Guest模塊包含了對(duì)普通用戶的所有操作,開(kāi)戶、存款、取款、掛失、消戶、轉(zhuǎn)帳和查詢(xún)操作歷史。根據(jù)選擇,執(zhí)行不同的操作,每一個(gè)操作都是對(duì)數(shù)據(jù)庫(kù)的操作。選擇操作 7 5 4 1 6 3 2查詢(xún)歷史轉(zhuǎn)賬銷(xiāo)戶掛失取款存款開(kāi)戶guestguest_logGuest盒形圖(包括對(duì)數(shù)據(jù)庫(kù)的操作)(3) Admin模塊Admin模塊的內(nèi)容同Guest模塊的內(nèi)容類(lèi)似,不過(guò)Admin模塊的操作涉及到更多的數(shù)據(jù)表,admin和admin_log。5程序設(shè)計(jì)的說(shuō)明程序設(shè)計(jì)包括兩個(gè)部分的設(shè)計(jì):數(shù)據(jù)庫(kù)設(shè)計(jì)和功能設(shè)計(jì)。(1) 數(shù)據(jù)庫(kù)設(shè)計(jì)本程序采用MyS

9、QL數(shù)據(jù)庫(kù),為實(shí)現(xiàn)以上數(shù)據(jù)庫(kù)設(shè)計(jì),使用如下語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù):/創(chuàng)建guest表char guest = "create table guest (g_id INT, guest_num CHAR(5), password VARCHAR(10), g_name VARCHAR(10), g_sex CHAR(1), reg_date DATETIME, money SMALLINT, debt CHAR(1), PRIMARY KEY(g_id,guest_num) )"/創(chuàng)建guest_log表char guest_log = "create table gues

10、t_log (log_id INT, log_time DATETIME, g_id INT, motion VARCHAR(20), entry SMALLINT, remark TEXT, PRIMARY KEY(log_id) )"/創(chuàng)建admin表char admin = "create table admin (admin_id INT, admin_loginName VARCHAR(10), password VARCHAR(10), sex CHAR(1), reg_date DATETIME, PRIMARY KEY(admin_id) )"/創(chuàng)

11、建admin_log表char admin_log = "create table admin_log (log_id INT, admin_loginName VARCHAR(10), log_time DATETIME, motion VARCHAR(20), user_num CHAR(5), entry SMALLINT, remark TEXT, PRIMARY KEY(log_id)"在MySQL查看新建表,用 describe tablename;結(jié)果如下:表guest:表guest_log:表admin:表admin_log:為了給每一個(gè)新注冊(cè)的用戶分配號(hào)碼

12、,并且給每一條新的記錄分配唯一的id值,因此需要一個(gè)計(jì)數(shù)的變量用來(lái)存儲(chǔ),表中記錄的總量,所以在創(chuàng)建表的時(shí)候,初始添加一條記錄,用來(lái)充當(dāng)計(jì)數(shù)器的作用,添加記錄的語(yǔ)句如下。char first_record_guest = "insert into guest(g_id,guest_num) value(0,"00000")"char first_record_guest_log = "insert into guest_log(log_id,g_id) value(0,0)"char first_record_admin = "

13、;insert into admin(admin_id,admin_loginName) value(0,"admin")"char first_record_admin_log = "insert intoadmin_log(log_id,admin_loginName)value(0,"admin")"各個(gè)表在添加了初始記錄后的內(nèi)容如下:Guest:Guest_log:Admin:Admin_log:(2) 代碼設(shè)計(jì)總共代碼有10個(gè)文件,頭文件有admin.h、common.h、global.h、guest.h、stda

14、fx.h.c文件有admin.c、common.c、global.c、guest.c、main.cStdafx.h,文件包含著整個(gè)工程所需要的資源文件global.h global.c 中聲明并定義了全局變量common.h,common.c中定義了常用的函數(shù)admin.h admin.c實(shí)現(xiàn)了所有Admin模塊的操作guest.h guest.c 實(shí)現(xiàn)了所有Guest模塊的操作main.c實(shí)現(xiàn)了Main模塊的內(nèi)容Global.h#ifndef _GLOBAL_H /* please insure _GLOBAL_H unique */#define _GLOBAL_H /* avoid qu

15、otation iterativly */extern int LOGIN ;/LOGIN 為表示登陸,為表示未登陸extern int USER;/USER 表示用戶類(lèi)型,表示ADMIN,表示GUEST#endif聲明了兩個(gè)環(huán)境變量,LOGIN 和USER。Guest.h/注冊(cè)用戶int Register_guest(MYSQL *lpmysql,char *cardnum);/登陸系統(tǒng)int Login_guest(MYSQL *lpmysql,char *cardnum);/計(jì)數(shù)器加一int Increase_guest(MYSQL *lpmysql,int guest_table);/

16、存款int Deposit(MYSQL *lpmysql,char *cardnum);/取款int Draw(MYSQL *lpmsql,char *cardnum);/掛失int Loss(MYSQL *lpmysql,char *cardnum);/注銷(xiāo)int Close(MYSQL *lpmsql,char *cardnum);/轉(zhuǎn)賬int Tranfer(MYSQL *lpmysql,char *cardnum);/獲得當(dāng)前的記錄總數(shù)int GetCurrentNum(MYSQL *lpmysql,int guest_table);聲明了guest.c的函數(shù),這些函數(shù)都是通過(guò)用的輸入操作數(shù)據(jù)庫(kù)。Mian.cmysql_init (&mysql);if(!mysql_real_connect(&mysql,"localhost","root","123456","bank",3306,NULL,0)/bank為你所創(chuàng)建的數(shù)據(jù)庫(kù),為端口號(hào),可自行設(shè)定printf("數(shù)據(jù)庫(kù)連接失敗n"); return FALSE;else

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論