银行管理系统.docx

上传人:b****8 文档编号:30823889 上传时间:2024-01-30 格式:DOCX 页数:46 大小:446.19KB
下载 相关 举报
银行管理系统.docx_第1页
第1页 / 共46页
银行管理系统.docx_第2页
第2页 / 共46页
银行管理系统.docx_第3页
第3页 / 共46页
银行管理系统.docx_第4页
第4页 / 共46页
银行管理系统.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

银行管理系统.docx

《银行管理系统.docx》由会员分享,可在线阅读,更多相关《银行管理系统.docx(46页珍藏版)》请在冰豆网上搜索。

银行管理系统.docx

银行管理系统

银行管理系统

LT

以确认身份,核对密码正确无误后系统计算利息并印出利息清单给储户。

此系统开发需要解决的主要问题是项目的需求分析;结构设计;VisualStudioC#2010界面设计及其相关代码的编写实现;SQLServer2005后台代码的编写实现以及整个项目后期的运维等工作。

关键字:

VisualStudioC#2010、SQLServer2005、系统

 

第1章绪论

1.1设计目的

随着拥有多种银行卡的人群不断增长,人们急切希望有一种通用的银行卡以便随时随地在哪家银行都可以存款提款;现在计算机网络的高速发现使越来越多的人更喜欢在网购物、在家存款取款。

在这样的背景下,很明显现在的银行储蓄系统已经不能满足人们越益增长的需求,急切需要建立一个新的、高效的、方便的、互联的计算机储蓄系统。

本软件实现银行的活期储蓄存款业务。

客户端运行在面向个人业务的银行柜台的电脑上,银行职员输入相关信息并通过网络通讯向服务器发送请求,并接受服务器端程序的应答显示处理的结果。

服务器端处理客户端的各种业务请求。

主要实现银行开户、销户、取款、存款、余额查询、转账等功能。

应用对数据库系统概论的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。

实践和巩固在课堂教学中学习的关于数据库的有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。

1.2设计意义

数据的载入是一个非常繁杂和重要的过程需要很大的工作量,可分为人工输入与其它格式数据文件导入。

该系统只是一个简单的实验系统,所以采用手工输入少量的数据可满足实验要求即可。

分别给储户基本信息表,活期存取款基本信息表,定期存款基本信息表,定期取款基本信息表和定期操作记录基本信息表输入数据

实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库银行管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程。

 

第2章需求分析

2.1系统需求分析

该系统主要包括管理员操作、储户管理理、数据维护三部分。

“管理员操作”是指进入银行储蓄系统必须获得一个许可,由管理员输入用户名和密码,方可进入该系统,并且可以对储户操作明细进行查询。

“储户管理”包括添加、开户、销户、存款、取款、查询。

“数据维护”即数据安全,可对数据进行备份与还原。

本系统主要任务是用计算机为用户办理各项储蓄业务:

2.1.1客户端登录功能

客户端程序运行时,首先进行用户(银行职员)的合法性验证。

银行职员输入正确的用户名和密码后,进入系统主菜单界面。

用户名和密码需事先保存在程序的配置文件中。

输入:

1、用户名

2、密码

处理:

1、用户名长度最多50位

2、密码长度最多50位

3、用户名及密码正确后进入主菜单界面。

输出:

1、密码用‘*’输出

2.1.2主菜单

显示银行的基本信息输出主菜单(包括开户、存款、取款、查询、转账、销户、退出等功能)供操作用户选择,然后根据用户的输入选择进入不同的系统功能界面。

输入:

单击用户所需的按钮

处理:

根据用户所需的按钮,进入不同的选项卡。

2.1.3开户功能

在客户端输入开户的基本信息,通过网络传送数据,在服务器处理后显示服务器端的处理结果。

开户成功后打印存折相关信息。

存折的基本信息包括:

户名、帐号、姓名、密码、身份证号等。

输入:

1、用户姓名

2、身份证号码

3、密码

4、账号

5、开户金额

处理

1、开户的所有信息必填。

输出:

1、开户成功后会弹出提示对话框,提醒用户成功开户。

反则不成功。

2.1.4存款功能

银行职员在客户端输入存款的基本信息,通过网络传送数据,在服务器处理后显示服务器端的处理结果。

存款成功后打印账户明细。

操作结束后返回主菜单界面。

输入:

登录进入后,单击“存款”的按钮,输入金额。

处理:

数据库记载以修改的数据

输出:

存款后,系统会提示存款成功。

2.1.5取款功能

银行职员在客户端输入取款的基本信息(假设存折账户的密码也由银行职员输入),通过网络传送数据,在服务器处理之后显示服务器端的处理结果。

操作结束后返回主菜单界面。

输入:

登录进入后,单击“取款”的按钮,输入金额。

处理:

数据库记载以修改的数据

输出:

取款后,系统会提示存款成功。

2.1.6转账功能

在客户端输入转账的基本信息,通过网络传送数据,在服务器处理后显示服务器端的处理结果。

转账成功后打印本账户的明细信息并打印转账凭证。

操作结束后返回主菜单界面。

输入:

登录进入后,单击“转账”的按钮,输入金额,账户名

处理:

转账信息必填

输出:

转账后,系统会提示转账成功

2.1.7查询功能

银行职员在客户端输入查询的基本信息通过网络传送数据,在服务器处理后显示服务器端的处理结果。

成功后如果之前有部分账户明细信息未打印的进行打印。

操作结束后返回主菜单界面。

输入:

登录账户,单击“查询”按钮。

选择要查询的日期。

处理:

输入信息必填

输出:

可以显示账户的转账信息,以及余额等信息。

 

2.2其它需求

2.2.1可用性

本软件也可以通过单步跟踪的操作进行检查处理。

2.2.2安全性

由于软件运行数据放在数据库中,所以参数不容易被错改、破坏,万一参数受到破坏也不会影响源程序。

2.2.3可维护性

本软件利用数据库进行编程,系统结构由程序基本确定,大量的参数及文本内容全部放于数据库中。

修改、更新数据只要在数据库进行修改添加,而不需要对系统结构进行修改,这样系统维护性、升级都十分方便。

 

第3章系统整体结构分析

3.1系统功能组成ER图

3.1.1存款

储户填写存款单,然后交给业务员键入系统,同时系统还要记录存款人姓名性别,身份证号码、密码等信息,完成后由系统打印存款单给储户。

 

姓名

存款

银行

用户

身份证号

 

3.1存款ER图

3.1.2取款

储户填写取款单交给业务员,业务员把取款金额输入系统并要求储户输入密码以确认身份,核对密码正确无误后系统计算利息并打印出利息清单给储户。

对储户基本信息进行日常管理,如查询、修改、增加、删除。

身份证号

取款

用户

银行

 

姓名

 

3.2取款ER图

3.1.3开户

储户填写业务单交给业务员,业务员需要把用户的用户的个人信息(账户,姓名,身份证号,密码等)录入数据库,并且录入进行保存。

身份证号

姓名

 

用户

账户

存入金额额

开户

密码

银行

3.3开户ER图

 

3.1.4转账

用户需要转账,需要用户提供转账的用户的姓名和转账用户的账户号,业务员进行转账操作,并且录入数据库,进行修改用户的账目。

姓名

身份证号

用户

账户余额

转账账户

转账金额

转账

 

银行

3.4转账ER图

 

3.1.5登录

登陆账号

身份证号

用户在开户后,输入自己的密码和账号就能进行登录自己的账户,进行其他操作。

登录

用户

密码

姓名

3.5登录ER图

3.1.6销户

在用户不需要任何的银行业务的时候,用户要进行销户,用户处理自己的账户中所有的金钱后便可进行销户。

身份证号

银行

销户

用户

姓名

3.6销户ER图

3.1.7查询

身份证号

查询

在用户需要知道自己的账户的余额和拥有之前的操作的信息时,用户可以进行查询。

用户

姓名

 

银行

3.7查询ER图

 

3.2系统功能流程图

 

用户

账户

姓名

开户

存入金额

密码

身份证号

登录

退出

 

存款

取款

查询

销户

转账

退出

 

退出

转账账户

转账金额

账户余额

退出

销户

取款金额

退出

退出

存入金额

 

3.8系统功能流程图

第4章数据库设计

4.1设计概念

概念设计阶段采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计。

对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式。

4.2数据结构表

序号

字段名称

字段描述

数据类型

长度

属性

1

id

开户顺序

int

PR

2

account

账户

nvarchar

50

notnull

3

pass

密码

nvarchar

50

notnull

4

name

姓名

nvarchar

50

notnull

5

card

身份证

nvarchar

50

notnull

6

money

开户存入金额

float

50

notnull

表4.1银行储蓄用户表

序号

字段名称

字段描述

数据类型

长度

属性

1

uname

账户

nvarchar

50

PK

2

timeYear

int

非空

3

timeDiana

int

非空

4

fetchMoney

存入金额

float

5

despositMoney

取出金额

float

6

timeDay

int

非空

7

TransferName

转账账户

nvarchar

8

TransferMoney

转账金额

float

表4.2存取信息表

4.3数据分析

银行管理系统数据流图中,数据信息和处理过程需要通过数据字典才能描述清楚。

在定义的银行数据库管理系统数据字典中,主要对数据流图中的账户信息

定期历史操作记录定期存款定期取款活期操作进行说明。

4.2.1数据需求的描述

A、数据项

(1)数据项名称:

id

含义说明:

惟一标识一个用户进图系统的顺序

类型:

整型

长度:

不限

逻辑关系:

不允许为空

(2)数据项名称:

accounts

含义说明:

开户账号

类型:

字符型

长度:

50

逻辑关系:

不允许为空

(3)数据项名称:

pass

含义说明:

账户密码

类型:

字符型

长度:

50

逻辑关系:

不允许为空

(4)数据项名称:

card

含义说明:

身分证号

类型:

字符型

长度:

50

逻辑关系:

不允许为空

(5)数据项名称:

money

含义说明:

开户存入近金额

类型:

数字型

逻辑关系:

不允许为空

(6)数据项名称:

name

含义说明:

开户人姓名

类型:

数字型

逻辑关系:

不允许为空

(7)数据项名称:

uname

含义说明:

开户名

类型:

字符型

长度:

50

逻辑关系:

不允许为空

(8)数据项名称:

timeyear、timediana、timeday

含义说明:

查询时间

类型:

数字型

逻辑关系:

允许为空

(9)数据项名称:

fetchmoney

含义说明:

存入时间

类型:

数字型

逻辑关系:

允许为空

(10)数据项名称:

TransferName

含义说明:

转账用户名

类型:

字符型

逻辑关系:

允许为空

(11)数据项名称:

transmoney

含义说明:

转账金额

类型:

数字型

长度:

50

逻辑关系:

允许为空

(12)数据项名称:

deposeitmoney

含义说明:

取出金额

类型:

数字型

逻辑关系:

允许为空

B、表

(1)数据存储名称:

储户基本表

含义说明:

存放储户的有关信息

组成结构:

储户信息包括账号,姓名,密码,身份证号,性别,开户存入金额说明:

1、都具有非空性。

2、开户顺序和账户具有唯一性。

(2)数据存储名称:

存取款表

含义说明:

存放活期存取款的信息

组成结构:

活期存取款包括帐号,金额,办理日期,账户余额,转账金额,转账用户;

说明:

1、帐号具有惟一性和非空性。

2、户名有非空性。

第5章系统实现

5.1数据库代码以及数据管理

5.1.1创建银行系统数据库

createdatabase银行系统

5.1.2创建银行系统的banktable、SelectMoney表

 

Createtablebanktable

idintprimarykey,

accountsnvarchar(50)notnull,

passnvarchar(50)notnull,

namenvarchar(50)notnull,

cardnvarchar(50)notnull,

moenyfloatnotnull,

CreatetableSelectMoney

idintprimarykey,

unamenvarchar(50)null,

timeYearintnull,

timeDianaintnull,

timeDaynvarchar(50)null,

fetchMoenyfloatnull,

depositMoneyfloatnull,

TransferNamenvarchar(50)null,

TranferMoneyfloatnull,

5.1.3存入取出转账记录

5.1.4添加

5.1.5删除记录

DELETE

FROMbanktable

WHEREaccounts='126';

5.1.6查找

SELECT*

FROMbanktable

SELECTaccounts

FROMbanktable

5.2系统c#界面

(1)登录进入界面。

 

(2)登录后单击“转账”。

(3)登录后,单击“取款”。

 

(4)登录后,单击“查询”。

 

(6)登录后,单击“存款”。

(7)登录前,开户。

 

第6章总结心得

通过这次课程设计发现这其中需要的很多知识我们没有接触过,上网查找资料的时候发现我们以前所学到的仅仅是皮毛,还有很多需要我们掌握的东西我们根本不知道。

同时也发现有很多已经学过的东西我们没有理解到位,不能灵活运用于实际,不能很好的用来解决问题,这就需要自己不断的大量的实践,通过不断的自学,不断地发现问题,思考问题,进而解决问题。

在这个过程中我们将深刻理解所学知识,同时也可以学到不少很实用的东西。

这次的数据库课程设计,我们组负责的银行管理系统。

这课题是自拟的。

我们组实行的分工合作。

我主要是负责数据库功能模块设计这部分。

从各种文档的阅读到需求分析、概要设计、数据库总体设计、代码编写与调试,我们都准备了好长时间。

组内分工合作的整个过程,我亲身体验了一回系统的设计开发过程,分工合作的好处。

很多东西书上写的很清楚,貌似看着也很简单,思路非常清晰。

但真正需要自己想办法去设计一个系统的时候才发现其中的难度。

经常做到后面突然就发现自己一开始的设计有问题,然后又回去翻工,在各种反复中不断完善自己的想法。

我想有这样的问题不止我一个,事后想想是一开始着手做的时候下手过于轻快,或者说是根本不了解自己要做的这个系统是给谁用的。

因为没有事先做过仔细的用户调查,不知道整个业务的流程,也不知道用户需要什么功能就忙着开发,这是作为设计开发人员需要特别警惕避免的,不然会给后来的工作带来很大的麻烦,甚至可能会需要全盘推倒重来。

所以以后的课程设计要特别注意这一块的设计。

经过组内讨论,我们确定的课题是银行管理系统。

说实话,我对这个系统不是很了解。

通过上网查找资料、相关文献的阅读,我对该系统有了大体的了解。

在需求分析过程中,我们通过上网查资料,去图书馆查阅相关资料,结合我们的生活经验,根据可行性研究的结果和用户的需要,分析现有情况及问题。

在一个月的时间里,不断地对程序及各模块进行修改、编译、调试、运行,其间遇到很多问题,经过组内讨论。

最终把它解决了。

通过这次课程设计,我对数据库的设计更加熟练了。

通过本次课程设计,对SQL语言,数据库的创建、修改、删除方法有了一定的了解,通过导入表和删除表、更改表,学会了数据库的基本操作。

很多事情不是想象中的那么简单的,它涉及到的各种实体、属性、数据流程、数据处理等等。

很多时候感觉后面的设计根本无法继续,感觉像是被前面做的各种图限制了。

在做关系模型转换的时候碰到有些实体即可以认为是实体又可以作为属性,为了避免冗余,尽量按照属性处理了。

通过本次课程设计,我觉得不管做什么,始终都要相信自己。

不要畏惧,不要怕遇到困难,什么都要去尝试,有些你开始认为很难的事在你尝试之后你可能会发现原来它并没有你你想象的那么难。

如果没有自信,没有目标,没有信心就很难把事情做好,当其他人都在迷茫的时候,自己一定要坚信目标。

从学习这个专业,到以后从事这方面的工作都需要不断地去学习去实践,这次实践可以给我们敲一个警钟,我们面临毕业,面临择业,需要这些实践经验,在困难面前要勇于尝试,这是这次课程设计给我的最大感想!

这次设计的完成,使我对自己所学知识进一步的了解,同时通过实践发现自己的不足,对知识的掌握及运用存在诸多的不完善。

本系统也存在着很多不足,如系统十分简单,实现功能也不够完善,安全性问题也没有很好的解决。

所以在今后的学习中我会继续努力,完善自我,同学的帮助、指导老师的用心辅导和学校的精心安排使这个课题能够顺利进行。

但是,由于时间仓促以及本人水平有限,本系统还有很多不完善之处,也难免存在错漏,恳请老师谅解。

 

参考文献

[1]陆琳刘桂林.数据库技术与应用,中南大学出版社

[2]成先海.数据库基础与应用SQLSever2000,机械工业出版社。

[3]范立南,刘天惠主编的SQLServer2005实用教程,清华大学出版社

[4]罗福强、杨剑、张敏辉c#程序设计经典教程清华大学出版社

 

附页:

C#代码

转账

namespacebank

{

publicpartialclassZhuanzhangFrm:

Form

{

string_name;

publicZhuanzhangFrm(stringname)

{

InitializeComponent();

this._name=name;

}

privatevoidForm6_Load(objectsender,EventArgse)

{

textBox3.Text=this._name;

Daodao=newDao();

this.textBox4.Text=dao.GetMoney("selectmoneyfrombanktablewhereaccounts='"+this._name+"'").ToString();

}

privatevoidtextBox2_KeyPress(objectsender,KeyPressEventArgse)

{

e.Handled=e.KeyChar<'0'||e.KeyChar>'9';

if(e.KeyChar==(char)8)

{

e.Handled=false;

}

}

privatevoidbutton2_Click(objectsender,EventArgse)

{

Daodao=newDao();

if(dao.BoolName("Select*frombanktablewhereaccounts='"+this.textBox1.Text+"'"))

{

floatfoo=dao.GetMoney("selectmoneyfrombanktablewhereaccounts='"+this.textBox3.Text+"'");

if(foo

{

MessageBox.Show("您的余额不足转帐金额");

return;

}

floatfol=dao.GetMoney("selectmoneyfrombanktablewhereaccounts='"+this.textBox3.Text+"'")-float.Parse(this.textBox2.Text);

floatfoo1=dao.GetMoney("selectmoneyfrombanktablewhereaccounts='"+this.textBox1.Text+"'")+float.Parse(this.textBox2.Text);

boolboo=dao.ExecSQL2("updatebanktableset[money]="+fol+"whereaccounts='"+this.textBox3.Text+"'updatebanktableset[money]="+foo1+"whereaccounts='"+this.textBox1.Text+"'");

if(boo)

{

System.DateTimecurrent=newDateTime();

current=DateTime.Now;

int_Year=current.Year;

int_Month=current.Month;

int_Day=current.Day;

dao.ExecSQL("insertintoselectMoney(uname,timeYear,timeDiana,timeDay,TransferName,TransferMoney)values('"+this.textBox3.Text+"',"+_Year+","+_Month+","+_Day+",'"+this.textBox1.Text+"',"+float.Parse(this.textBox2.Text)+")");

MessageBox.Show("转帐成功");

this.Close();

}

}

else

{

MessageBox.Show("转羇帐户名有误");

}

}

privatevoidbutton3_Click(objectsender,EventArgse)//取消

{

this.Close();

}

}

}

查询

namespacebank

{

publicpartialclassSerchFrm:

Form

{

Daodao=newDao();

privatestring_name;

SqlConnectioncon;

SqlDataAdapterAda;

DataSetdst;

SqlParameterpar=newSqlParameter();

publicSerchFrm(stringname)

{

InitializeComponent();

this._name=name;

}

privatevoidForm5_Load(objectsender,Event

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

当前位置:首页 > PPT模板 > 节日庆典

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1