银行管理系统课设报告.docx

上传人:b****1 文档编号:1257116 上传时间:2023-04-30 格式:DOCX 页数:16 大小:108.97KB
下载 相关 举报
银行管理系统课设报告.docx_第1页
第1页 / 共16页
银行管理系统课设报告.docx_第2页
第2页 / 共16页
银行管理系统课设报告.docx_第3页
第3页 / 共16页
银行管理系统课设报告.docx_第4页
第4页 / 共16页
银行管理系统课设报告.docx_第5页
第5页 / 共16页
银行管理系统课设报告.docx_第6页
第6页 / 共16页
银行管理系统课设报告.docx_第7页
第7页 / 共16页
银行管理系统课设报告.docx_第8页
第8页 / 共16页
银行管理系统课设报告.docx_第9页
第9页 / 共16页
银行管理系统课设报告.docx_第10页
第10页 / 共16页
银行管理系统课设报告.docx_第11页
第11页 / 共16页
银行管理系统课设报告.docx_第12页
第12页 / 共16页
银行管理系统课设报告.docx_第13页
第13页 / 共16页
银行管理系统课设报告.docx_第14页
第14页 / 共16页
银行管理系统课设报告.docx_第15页
第15页 / 共16页
银行管理系统课设报告.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

银行管理系统课设报告.docx

《银行管理系统课设报告.docx》由会员分享,可在线阅读,更多相关《银行管理系统课设报告.docx(16页珍藏版)》请在冰点文库上搜索。

银行管理系统课设报告.docx

银行管理系统课设报告

 

数据库系统课程设计报告

题目银行管理系统的设计与实现

 

学生姓名梁有权

学号***********

学院计算机与软件学院

专业网络工程

指导教师马瑞

 

二O一五年四月二十四日

 

1绪论

1.1选题目的及意义……………………………………………1

1.2设计内容……………………………………………………1

2需求分析

2.1功能需求……………………………………………………1

2.2数据需求……………………………………………………1

2.3其他需求……………………………………………………1

3数据库设计

3.1概念结构设计………………………………………………2

3.2逻辑结构设计………………………………………………2

3.3物理结构设计………………………………………………2

4系统功能设计……………………………………………………4

5系统实现

5.1开发环境………………………………………………4

5.2主要功能的运行结果及代码…………………………4

6总结…………………………………………………………18

参考文献

 

1绪论

1.1选题的目的及意义

银行管理系统:

该系统要求建立的用户表并不是很多,完成的功能也相对有限,但其中各个表之间的联系很紧密,该系统对数据库表的设计要求会很高,所以完成这个题目,能更好的训练数据库设计和VC的编程能力,选择该题目就是充分训练数据库表设计的能力和运用VC的能力。

1.2设计内容

用户管理模块:

建立新用户、删除老用户、更改用户操作;

账户操作模块:

账户信息、活期存取款操作、查询活期操作记录、定期存款、定期取款、查询定期操作记录;

数据库模块:

数据库备份、数据库恢复;

2需求分析

2.1功能需求

对于用户部分,能够新建和删除用户,在操作过程中可以更改用户;对于账户部分,可以查询用户的信息,包括各种基本信息、活期余额、定期账单等;对于账户操作部分,有活期存取款、定期存取款操作,另外操作完成之后存储相应的操作记录并能够查询操作记录等功能。

2.2数据需求

账户信息:

帐号varchar(20),开户人姓名varchar(20),账户密码char(6),身分证号varchar(20),账户余额float,开户日期datetime,开户地址varchar(30);

活期操作:

帐号varchar(20),金额float,类型(存入,支出),账户余额float,利息float,存入日期datetime;

定期存款:

帐号varchar(20),存款人姓名varhcar(10),存款金额float,存款日期datetime,存储年份int,存储利率float;

定期取款:

帐号varchar(20),取款人姓名varhcar(10),取款金额float,取款日期datetime;

定期历史操作记录:

帐号varchar(20),存取款人姓名varhcar(10),类型(存入,支出),办理日期datetime,存储年份int,存储利率float;

2.3其它需求

完成数据库的备份与恢复,系统登录对话框等功能。

 

3.数据库设计

3.1概念结构设计

银行管理系统E-R图

3.2逻辑结构设计

储户(帐号,姓名,密码,身份证号,性别,帐户余额,开户日期,开户地址);

活期存取款(nID,帐号,金额,类型,办理日期,利息,账户余额);

定期存款(nID,帐号,存款人姓名,金额,存储年份,年利率,存储日期);

定期取款(nID,帐号,取款人姓名,取款金额,取款日期);

定期记录(nID,帐号,存取款人姓名,类型,操作金额,年份,操作日期)

3.3物理结构设计

储户表

序号

字段名称

字段描述

数据类型

长度

属性

1

CNo

帐号

Varchar

20

PK

2

CName

开户人姓名

Varhcar

20

非空

3

CPassword

登录密码

Char

6

非空

4

CID

身份证号

Varchar

20

非空

5

CSex

性别

Char

2

非空

6

CBalance

帐户余额

Float

8

非空

7

CDate

开户日期

Datetime

8

非空

8

CAddress

开户地址

Varchar

30

非空

主键:

帐号;

约束条件:

各属性均非空,密码长度为6位;

 

活期存取款表

序号

字段名称

字段描述

数据类型

长度

属性

1

nID

序号

Int

4

PK

2

CNo

帐号

Varchar

20

非空

3

CMoney

操作金额

Float

8

非空

4

CStyle

操作类型

Varchar

10

非空

5

CDate

操作日期

Datetime

8

非空

6

CInterest

利息

Float

8

非空

7

CBalance

帐户余额

Float

8

非空

主键:

nID;外键:

帐号;被参照表:

储户表

约束条件:

各属性均非空;

定期存款表

序号

字段名称

字段描述

数据类型

长度

属性

1

nID

序号

Int

4

PK

2

CNo

帐号

Varchar

20

非空

3

CName

存款人姓名

Varchar

10

非空

4

CMoney

存款金额

Float

8

非空

5

CDate

存款日期

Datetime

8

非空

6

CYear

存储年份

Int

4

非空

7

CRate

存储利率

Float

8

非空

主键:

nID;外键:

帐号;被参照表:

储户表

约束条件:

各属性均非空;

定期取款表

序号

字段名称

字段描述

数据类型

长度

属性

1

nID

序号

Int

4

PK

2

CNo

帐号

Varchar

20

非空

3

CName

取款人姓名

Varchar

10

非空

4

CMoney

取款金额

Float

8

非空

5

CDate

取款日期

Datetime

8

非空

主键:

nID;外键:

nID;被参照表:

定期存款表

约束条件:

各属性非空

定期操作记录表

序号

字段名称

字段描述

数据类型

长度

属性

1

nID

序号

Int

4

PK

2

CNo

帐号

Varchar

20

非空

3

CName

存取款人姓名

Float

8

非空

4

CStyle

操作类型

Char

4

非空

5

CMoney

存取款金额

float

8

非空

6

CYear

存储年份

Int

4

非空

7

CDate

存取款日期

Datetime

8

非空

主键:

nID;外键:

nID;被参照表:

定期存款表,定期取款表

约束条件:

各属性非空

4.系统功能设计

图4-1银行管理系统功能结构图

5.系统实现

5.1系统开发环境

软件:

SQLSever2000,VC++6.0

操作系统:

WindowXP

硬件:

Pentiun4DDR512MB120G硬盘

5.2主要功能的运行结果及代码

数据库创建过程及其连接

(1).进入企业管理器窗口,选择“新建SQLSever注册”;

(2).选中“数据库”文件夹,单击鼠标右键,选择“新建数据库”,输入数据库名Bank;

(3).单击“确定”按钮,关闭对话框,数据库创建成功。

完成“账户登录”的窗口

ID

控件类型

成员变量

说明

IDC_EDIT1

CString

m_strNo

用户帐号

IDC_EDIT1

CEdit

m_ctrNo

IDC_EDIT2

CString

m_strPassword

登录密码

IDC_EDIT2

CEdit

m_ctrPassword

IDC_EDIT3

CString

m_strRePassword

确认密码

IDC_EDIT3

CEdit

m_ctrRePassword

IDOK

“OK”按钮

IDCANCLE

“Cancle”按钮

(1)添加记录集类CAccountSet类,基类为CRecordSet,数据表为account表;

(2)在CLoginDlg类中添加CAccontSet类的成员变量m_recordset;

(3)为“CBankApp”类添加为CString型的成员变量strNO;

(4)IDOK控件的消息响应函数:

voidCLoginDlg:

:

OnOK()

{

UpdateData(TRUE);

if(m_strNo=="")

{

MessageBox("PleaseInputtheAccountNumber!

");

m_ctrNo.SetFocus();

return;

}

if(m_strPassword=="")

{

MessageBox("PleaseInputthePassword!

");

m_ctrPassword.SetFocus();

return;

}

if(m_strRePassword=="")

{

MessageBox("PleaseInputtheConfirmPassword!

");

m_ctrRePassword.SetFocus();

return;

}

if(m_strPassword!

=m_strRePassword)

{

MessageBox("TwoPasswordsAreDiffered!

");

m_strPassword="";

m_strRePassword="";

UpdateData(FALSE);

m_ctrPassword.SetFocus();

return;

}

CStringstrSQL;

strSQL.Format("select*fromAccountwhereCNo='%s'",m_strNo);

if(!

m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))

{

MessageBox("OpenDatabaseFiled!

","DatabaseError",MB_OK);

return;

}

if(m_recordset.m_CPassword!

=m_strPassword)

{

MessageBox("PasswordError!

PleaseRewrite!

");

m_recordset.Close();

m_strPassword="";

m_strRePassword="";

UpdateData(FALSE);

m_ctrPassword.SetFocus();

return;

}

CBankApp*ptheApp=(CBankApp*)AfxGetApp();

ptheApp->strNo=m_strNo;

CDialog:

:

OnOK();

}

(5)在“CBankApp”类中的“InitInstance()”函数中添加登录对话框的对象:

CLoginDlgdlg;

if(dlg.DoModal()!

=IDOK)

{

returnFALSE;

}

完成“退出系统”的功能:

在CMainFrame类中添加菜单的消息响应函数:

voidCMainFrame:

:

OnExit()

{

if(MessageBox("确定退出该系统?

","提示",MB_YESNO)==IDYES)

{

PostQuitMessage

(1);

return;

}

}

完成“查询账户信息”的功能:

ID

控件类型

成员变量

说明

IDC_DATETIMEPICKER1

CTime

m_tmDate

开户日期

IDC_EDIT1

CString

m_strNo

帐号

IDC_EDIT2

CString

m_strName

姓名

IDC_EDIT3

CString

m_strAddress

开户地址

IDC_EDIT4

CString

m_strBalance

帐户余额

IDC_LIST1

CListCtrl

m_ctrList

列表控件

IDOK

“确定”按钮

(1)添加初始化对话框OnInitDialog()响应函数,初始化对话框信息;

(2)为CAccountInfo类添加void型的成员函数RefreshList(),初始化列表信息。

完成“数据库备份”的功能:

(1)在应用类里为master数据库添加名为master的数据源

SQLConfigDataSource(NULL,ODBC_ADD_SYS_DSN,

"SQLServer",

"DSN=master\0"

"SERVER=(local)\0"

"DATABASE=master\0"

"Trusted_Connection=Yes");

(2)在MainFrame类里添加数据库备份的消息响应函数:

voidCMainFrame:

:

OnDatabaseBackup()

{

//TODO:

Addyourcommandhandlercodehere

CStringstrBackup;

CfileDialogdlg(FALSE,"bak",NULL,OFN_HIDEREADONLY,"数据库文件(*.bak)|*.bak|",NULL);

if(dlg.DoModal()==IDOK)

{

strBackup=dlg.GetPathName();

Invalidate(FALSE);

}

if(strBackup!

="")

{

CDatabasedatabase;

if(!

database.IsOpen())

{

if(database.Open(_T("master")))

{

CStringstrSQL;

strSQL.Format("backupdatabasebanktodisk='%s'",strBackup);

database.ExecuteSQL(strSQL);

database.Close();

MessageBox("数据库备份成功!

","提示",MB_OK);

}

}

}

}

完成“数据库还原”的功能:

(1)在MainFrame类里添加数据库还原的消息响应函数:

voidCMainFrame:

:

OnDatabaseRecovery()

{

//TODO:

Addyourcommandhandlercodehere

CStringstrRecovery;

CFileDialogdlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,"数据库文件(*.bak)|*.bak|所有文件|",NULL);

if(dlg.DoModal()==IDOK)

{

strRecovery=dlg.GetPathName();

InvalidateRect(FALSE);

}

if(strRecovery!

="")

{

CDatabasedatabase;

if(!

database.IsOpen())

{

if(database.Open(_T("master")))

{

CStringstrSQL;

strSQL.Format("restoredatabasebankfromdisk='%s'",strRecovery);

database.ExecuteSQL(strSQL);

database.Close();

MessageBox("数据库恢复成功!

","提示",MB_OK);

}

}

}

}

 

6.总结

通过此次三个周的数据库与程序设计方法学联合课程设计的训练,初步了解了数据库的设计方法和VC如何访问数据库并进行数据库的后台编程。

通过参照贾老师所给的例子,了解了很多VC方面的知识,比如如何访问打开数据库记录,如何运用ListControl控件等,这些知识都是第一次接触,经过多次运用之后,对它们都有所深入的了解,掌握如何运用它们。

另外数据库设计方面,通过此次训练能力也得到了稍微的提高,这也是第一次独立设计数据库,所以一开始有好多设计不完善的地方,有几次都是不得不重新来过,后来经过罗老师的指点后,数据库表的设计才有所完善,同时也积累了些数据库设计的经验。

此次设计的银行管理系统实现的功能还很有限,都是些基本的功能,还有很多改进完善的地方,比如办理信用卡的业务,此次只是办理的银行储蓄卡的业务;实现帐号密码变更的功能,查询列出同一用户多个帐户的功能。

这些功能等以后再添加了,因为这次课程设计时间有限,所以完成的功能也就很有限,但感觉收获很大,很有成就感。

 

参考文献

1.王珊萨师煊.数据库系统概论.高等教育出版社,2008(4):

198~233

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2