数据库课程设计报告银行管理系统.docx
《数据库课程设计报告银行管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告银行管理系统.docx(22页珍藏版)》请在冰豆网上搜索。
![数据库课程设计报告银行管理系统.docx](https://file1.bdocx.com/fileroot1/2023-4/20/ccea4b62-1be3-47c8-8dcc-1f4311a57247/ccea4b62-1be3-47c8-8dcc-1f4311a572471.gif)
数据库课程设计报告银行管理系统
数据库原理及应用
课程设计报告
组号:
小组成员:
学院:
专业班级:
指导老师:
2017/1/10
目录
第1章概述1
1.1设计题目:
1
1.2要求完成的主要任务:
1
第2章需求分析6
2.1定义6
2.2需求规格说明概览6
2.3产品的一般性描述7
2.4产品功能7
2.5用户特征7
2.6功能划分7
2.7用户界面8
2.8可维护性9
2.9可理解性9
2.10可移植性9
第3章数据库表结构图9
3.1实体联系图10
3.2程序流程图10
第4章功能与实现11
4.1客户端登录功能11
4.2客户端主界面功能12
4.3客户端开户功能12
4.4客户端存款功能13
4.5客户端取款功能13
4.6客户端转账功能14
4.7客户端余额查询功能14
4.8客户端修改密码功能14
4.9客户端销户功能15
4.10服务器端用户注册功能15
4.11服务器端修改用户登密码功能15
第5章实现及测试16
5.1系统开发环境16
5.2主要功能模块的实现及测试16
5.2.1数据表的建立16
5.2.2数据库连接与数据提供17
第6章总结17
第7章参考文献18
第1章概述
本软件实现银行的活期储蓄存款业务。
整套软件由客户端程序和服务器端程序构成,客户端运行在面向个人业务的银行柜台的电脑上,银行职员输入相关信息并通过网络通讯向服务器发送请求,并接受服务器端程序的应答显示处理的结果。
服务器端处理客户端的各种业务请求。
主要实现银行开户、销户、取款、存款、余额查询、转账、修改密码、打印账户明细记录等功能。
1.1设计题目:
题目:
银行储蓄管理系统数据库设计
本课程的设计的目的是通过实践使同学们经历数据库设计开发的全过程和受到一次综合训练,以便能较全面地理解、掌握和综合运用所学的知识。
结合具体的开发案例,理解并初步掌握系统分析、系统设计、系统实施的主要环节和步骤以及软件文档的制作能力。
1.2要求完成的主要任务:
要求根据所学的数据库原理与程序设计的知识,能够针对一个小型的银行储蓄管理系统,进行数据库系统的需求分析,概念结构设计、逻辑结构设计、物理结构设计,数据录入及测试等,完成题目要求的功能。
主要任务:
1.用户管理员基本信息
数据包括:
账号、密码、姓名、性别、身份证号;
图1-1关于数据及类型
2.客户基本信息
数据包括:
账号、密码、姓名、性别、身份证号、出生日期、邮箱、银行卡;
图1-2客户信息数据及类型
3.银行卡账户信息:
数据包括:
序号、卡号、密码、开户日期、余额、是否冻结,持卡人姓名、性别,身份证号、手机号。
图1-3账号信息数据及类型
4.客户注册
客户在注册界面,输入账号密码,如果账号和密码满足要求则通过客户注册,否则提示错误;
图1-4注册窗口
5.登陆
根据输入的账号在相应的数据表里查找密码,如果输入的密码等于与查找结果一致则允许登陆;否则提示相应错误;
图1-5登陆窗口
6.客户修改账号修改密码
客户可根据需要修改账号密码,如果满足条件则通过客户修改密码请求,否则提示相应错误;
图1-6修改密码窗口
7、管理员在主界面根据客户需求对客户选择相应菜单进行开户、销户、冻结、解冻、修改取款密码、存款、取款、转账、余额查询,查看银行卡信息等操作;
图1-7管理员主窗口
图1-8银行卡账号信息查询窗口
8、客户进入客户主界面,进行绑卡、查询、修改密码、进入商城、查看个人信息等操作。
图1-9客户主窗口
图1-10绑定银行卡窗口图1-11客户银行卡管理窗口
图1-12客户个人信息窗口
第2章需求分析
2.1定义
银行储蓄应用系统软件:
基本元素为构成银行储蓄及相关行为所必须的各种部分。
需求:
用户解决问题或达到目标所需的条件或功能;系统或系统部件要满足合同、标准,规范或其它正式规定文档所需具有的条件或权能。
需求分析:
包括提炼,分析和仔细审查已收集到的需求,以确保所有的风险承担者都明其含义并找出其中的错误,遗憾或其它不足的地方。
模块的独立性:
是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他的模块的接口是简单的
2.2需求规格说明概览
用户在进行存款取款的时候要做到高效高速地完成,计算机在这个过程中起到至关重要地作用,而我们的这个系统就是让计算机能够轻易地解决这一问题,用户需要存款并且快速将自己的使用信息记录下来,工作人员不用手写记录,人机交互中完成记录的输入。
用户取款的时候计算机能很快速的清算出用户余额数并快速取款。
2.3产品的一般性描述
现在的银行储蓄系统工作效率低,越来越不能满足广大人民群众的需要,人们希望能更方便更省时就可以办理储蓄业务;随着拥有多种银行卡的人群不断增长,人们急切希望有一种通用的银行卡以便随时随地在哪家银行都可以存款提款;现在计算机网络的高速发现使越来越多的人更喜欢在网购物、在家存款取款。
在这样的背景下,很明显现在的银行储蓄系统已经不能满足人们越益增长的需求,急切需要建立一个新的、高效的、方便的、互联的计算机储蓄系统。
2.4产品功能
外部功能:
实现化窗口,查找及储蓄。
内部功能:
同步,过滤,定位,识别。
存储帐户信息:
所有帐户信息永久性保存在一个特定的磁盘文件之中。
在系统退出时,自动依据内存中存放的帐户信息映射表将所有帐户信息存入库文件之中。
保存时先将原有库文件进行备份,之后将现有帐户信息映射表存储为新的库文件。
读取帐户信息:
所有帐户信息永久性保存在一个特定的磁盘文件之中。
在系统开始运行时首先自动打开该文件,将文件中的全部账户信息加载到内存中存放这些信息的帐户信息映射表中。
并且在提示面板中显示库文件载入成功的信息。
建立新帐户:
通过建立新帐户面板输入一个新帐户的描述信息,并将该帐户添加到帐户信息映射表中,并以系统自动生成的唯一的帐户号作为键。
由于键值唯一且通过程序自动生成,因此不会出现即使其他信息全部相同,建立的新帐户也是不重复的。
所有帐户的公有描述信息包括:
初始存款额,用户名,用户身份证号,及用户联系电话。
用户信息以及除密码外的特有描述信息将不能更改。
2.5用户特征
前台用户需要一定的计算机操作对数据操作有一定的要求,对于后台维护人员必须对银行大型数据库系统有深刻的认识能对数据库备份、灾难性恢复有一定的了解。
2.6功能划分
软件分别有注册(针对客户),修改(针对客户),查询,更新等功能。
各个模块各有不同的功能,但都能完成查询和存储功能。
各模块的数据都存放在数据库中。
数据的条用和廉洁都有程序来完成。
此软件所要完成的主要功能有两方面:
如果是存款,储蓄填写存款单,然后交给键入系统,同时系统还要记录存款人姓名,身份证及密码等信息,如果是取款,储户填写取款单交给业务员,业务员把取款金额输入系统要求储户输入密码以确认身份,核对密码正确无误通过客户请求。
存储帐户信息:
所有帐户信息永久性保存在一个特定的磁盘文件之中。
在系统退出时,自动依据内存中存放的帐户信息映射表将所有帐户信息存入库文件之中。
保存时先将原有库文件进行备份,之后将现有帐户信息映射表存储为新的库文件。
读取帐户信息:
所有帐户信息永久性保存在一个特定的磁盘文件之中。
在系统开始运行时首先自动打开该文件,将文件中的全部账户信息加载到内存中存放这些信息的帐户信息映射表中。
并且在提示面板中显示库文件载入成功的信息。
开户:
根据客户需求,读取客户身份信息,系统自动生成无重复的卡号,客户设置密码,并向数据库添加一条记录。
销户:
工作人员按客户需求,读取卡号信息,确认客户身份,对客户银行卡进行注销,并退还余额,同时删除数据库中该记录。
修改密码:
根据客户需求,读取银行卡信息以确定身份,更新数据库里银行卡密码属性。
冻结/解冻:
银行工作人员根据客户行为对客户银行卡进行冻结/解冻,对客户资金进行限制/解除限制。
取款/取款:
根据客户的申请,银行工作人员对客户信息进行确认,满足客户进行取款/存款需求,并修改数据库中余额属性。
转账:
根据客户需求,通过银行卡进行行内卡号间的转账服务,并修改记录。
查询:
读取客户银行卡信息,确认密码是否匹配,已满足客户查询余额需求。
卡号信息查看:
工作人员输入卡号,已查询该账户所属人的身份信息,以满足需求。
银行卡浏览:
工作人员根据需求,输入相应身份信息,以查询该身份信息下所有的账户信息。
2.7用户界面
屏幕格式:
主界面采用全屏格式,各分窗口(登陆、注册、修改密码等)按实际界面内容设计固定大小。
通过分窗口操作进行各个操作之间的转换。
菜单格式:
下拉式菜单,应显示相应的功能以及信息。
2.8可维护性
本软件利用数据库进行编程,系统结构由程序基本无额定,大量的参数及文本内容全部存放于数据库中。
修改,更新数据库只要在数据库进行修改添加,而不需要对系统结构进行修改,这样系统维护性升级都十分方便。
2.9可理解性
本软件界面清晰简单,基本上可以实现鼠标和键盘输入(感应设备自动读取)完成日常的工作。
2.10可移植性
本软件是运行在windows系统下的,只要拷贝好数据库再安装好银行系统就可以实现软件的移植。
第3章数据库表结构图
管理员根据客户需求对客户银行卡进行管理,客户使用绑定、银行卡。
管理
绑定
图3-1银行管理系统数据库结构图
3.1实体联系图
图3-2银行管理系统E-R图
3.2程序流程图
程序设计思路,执行程序,选择用户类型,是否有登陆账号,如果没有进入注册(针对客户);进入主窗口,客户端实现修改密码、访问商城、绑定(解绑)银行卡、查看(修改)个人信息;管理员端实现开户、销户、取款、存款、转账等业务,以满足客户需求。
流程图如下:
图3-3程序流程图
第4章功能与实现
4.1客户端登录功能
客户端程序运行时,首先进行用户的合法性验证。
用户输入正确的用户名和密码后,进入系统主菜单界面。
用户名和密码需事先保存在程序的配置文件中,并且密码需进行加密保存。
输入
处理
输出
1、用户名
2、密码
1、验证用户名。
2、验证密码。
3、用户名及密码正确后进入主菜单界面。
1、如果用户名或者密码不正确,给用户一个友好提示并提示.
2、密码用‘*’输出
4.2客户端主界面功能
显示银行的基本信息,例如银行支行的名称,登录的银行职员的账号等。
以上这些数据银行职员可以手工对相关的文本文件进行修改。
输出按钮(登陆、注册、修改密码)供操作用户选择,然后根据用户的输入选择进入不同的系统功能界面。
输入
处理
输出
1、按钮
1、弹出相应窗口
1、执行各项功能
4.3客户端开户功能
银行职员在客户端输入开户的基本信息,通过网络传送数据,在服务器处理后显示服务器端的处理结果。
开户成功后打印存折相关信息。
操作结束后返回主菜单界面。
银行卡的基本信息包括:
卡号,密码,开户日期,所属用户身份信息。
输入
处理
输出
1、用户姓名
2、用户性别
3、身份证号码
4、手机号
5、卡号
6、密码
7、重复密码
8、开户日期
9、开户金额
1、开户的所有信息必填。
2、录入的数据去除左右空格。
3、用户姓名最大长度1-10位.
4、身份证号码长度18位,全部数字或者前17位数字最后一位为‘X’。
从第7位开始必须是合法的8位日期
5、密码长度6位,只能是数字。
6、密码和重复密码一致。
7、开户金额大于等于0,小数位最多2位。
8、通过网络把数据发送到服务器。
1、如果用户输入的各项数据不正确,给用户一个友好提示,并要求用户重新输入。
2、用户输入的数据左右空格去除后重新输出显示。
3、应答服务器的处理结果并输出。
4、开户成功后打印存折基本信息以及账户明细信息,存折的格式请参考用户接口。
4.4客户端存款功能
银行职员在客户端输入存款的基本信息,通过网络传送数据,在服务器处理后显示服务器端的处理结果。
存款成功后打印账户明细。
操作结束后返回主菜单界面。
输入
处理
输出
1、卡号
2、密码
3、存款金额
1、输入的所有信息必填。
2、验证卡号和密码。
3、存款金额大于0.00元,最多两位小数。
4、通过网络把数据发送到服务器。
1、如果用户输入的各项数据不正确,给用户一个友好提示,并要求用户重新输入。
2、应答服务器的处理结果并输出。
3、存款成功后打印账户明细信息,账户明细信息的格式请参考用户接口。
4.5客户端取款功能
银行职员在客户端输入取款的基本信息,通过网络传送数据,在服务器处理之后显示服务器端的处理结果。
操作结束后返回主菜单界面。
输入
处理
输出
1、卡号、
2、存折密码
3、取款金额
1、输入的所有信息必填。
2、验证卡号。
3、验证密码长度6位。
4、取款金额大于0.00元,最多两位小数。
5、通过网络把数据发送到服务器。
1、如果用户输入的各项数据不正确,给用户一个友好提示,并要求用户重新输入。
2、应答服务器的处理结果并输出。
3、取款成功后打印账户明细信息,账户明细信息的格式请参考用户接口。
4.6客户端转账功能
在客户端输入转账的基本信息,通过网络传送数据,在服务器处理后显示服务器端的处理结果。
转账成功后打印本账户的明细信息并打印转账凭证。
操作结束后返回主菜单界面。
输入
处理
输出
1、卡号
2、存折密码
3、转账金额
4、对方卡号
1、输入的所有信息必填。
2、验证账户卡号。
3、验证密码长度6位。
4、转账金额大于0.00元,最多两位小数。
5、通过网络把数据发送到服务器。
1、如果用户输入的各项数据不正确,给用户一个友好提示,并要求用户重新输入。
2、应答服务器的处理结果并输出。
4.7客户端余额查询功能
银行职员在客户端输入查询的基本信息,通过网络传送数据,在服务器处理后显示服务器端的处理结果。
成功后如果之前有部分账户明细信息未打印的进行打印。
操作结束后返回主菜单界面。
输入
处理
输出
1、卡号
2、存折密码
1、输入的所有信息必填。
2、验证卡号。
3、验证密码长度6位;
4、通过网络把数据发送到服务器。
1、如果用户输入的各项数据不正确,给用户一个友好提示,并要求用户重新输入。
2、应答服务器的处理结果并输出。
4.8客户端修改密码功能
银行职员在客户端输入修改密码的基本信息,通过网络传送数据,在服务器处理之后显示服务器端的处理结果。
操作结束后返回主菜单界面。
输入
处理
输出
1、卡号
2、密码
3、新密码
4、重复密码
1、输入的所有信息必填。
2、录入的数据去除左右空格。
4、密码长度6位。
5、新密码和重复密码一致
6、通过网络把数据发送到服务器
1、如果用户输入的各项数据不正确,给用户一个友好提示,并要求用户重新输入。
2、应答服务器的处理结果并输出。
4.9客户端销户功能
银行职员在客户端输入卡号和密码信息,通过网络传送数据,在服务器处理之后显示服务器端的处理结果。
操作结束后返回主菜单界面。
请参考客户端的取款功能,与客户端取款功能区别的地方是不用输入取款金额。
客户端退出功能。
输入
处理
输出
1、卡号。
2、密码。
1、输入的所有信息必填。
2、验证卡号。
3、验证密码长度6位。
4、通过网络把数据发送到服务器。
1、如果用户输入的各项数据不正确,给用户一个友好提示,并要求用户重新输入。
2、应答服务器的处理结果并输出。
4.10服务器端用户注册功能
接收客户端传送的数据,修改账户密码,把结果传回给客户端。
输入
处理
输出
1、客户端传送的数据。
1、验证账户ID是否合法。
2、验证密码是否合法。
1、把服务器端处理的结果返回给客户端。
4.11服务器端修改用户登密码功能
接收客户端传送的数据,修改账户密码,把结果传回给客户端。
输入
处理
输出
1、客户端传送的数据。
1、验证账户ID是否存在。
2、验证密码是否正确。
3、查找对应的账户并修改密码。
1、把服务器端处理的结果返回给客户端。
第5章实现及测试
5.1系统开发环境
开发软件:
SQLSever2012,VS2015
操作系统:
Window10
5.2主要功能模块的实现及测试
5.2.1数据表的建立
管理员表
Createtable管理员(账号nvarchar(10)primarykey,密码nvarchar(16)notnull,
姓名nvarchar(10)notnull,性别nvarchar
(1)notnull,
身份证号varchar(18)notnull)
客户表
Createtable客户(账号nvarchar(10)primarykey,密码nvarchar(16)notnull,
姓名nvarchar(10),性别nchar
(1),身份证号nvarchar(18),
出生日期date,邮箱nvarchar(50),卡号nvarchar(19))
账号信息表
Createtable账号信息(卡号nvarchar(19)primarykey,密码nvarchar(6)notnull,
姓名nvarchar(10)notnull,性别nchar
(1)notnull,
身份证号varchar(18)notnull,
开户日期datenotnull,手机号nvarchar(11)notnull,
余额decimal(12,2)notnull,是否冻结intnotnull)
5.2.2数据库连接与数据提供
5.2.2.1数据库连接类
class连接数据库
{
publicSqlConnection数据库(stringIP,string数据库)
{
SqlConnection连接=newSqlConnection("datasource="+IP+";database="+数据库+";userid=;password=");
return连接;
}
}
5.2.2.2数据提供类
class数据提供
{
publicSqlDataAdapter数据适配器(string条件,SqlConnection连接)
{
SqlDataAdapter适配器=newSqlDataAdapter(条件,连接);
return适配器;
}
publicSqlCommand执行命令(string命令,SqlConnection连接)
{
SqlCommand执行=newSqlCommand(命令,连接);
return执行;
}
}
第6章总结
这次数据库对我们来说是一个很大的考验,我们以前只是学习功能简单数据库代码编写,但是此次是头一次接触实际应用更能很强的“银行储蓄管理系统数据库设计”,首先需要总体的设计思想、系统构架。
通过此次实验,我觉得我们实在是坐井观天,完全不知道外面的情况,固步自封,以为学好课本上那些东西就有了,实则不然,现实是残酷的、严峻的,一个项目的完成是要讲究效率的,我们应该多接触实际,增强实际应用能力。
第7章参考文献
[1]石玉强,闫大顺.数据库原理及应用.北京:
中国水利水电出版社,2009.
[2]VisualC#.NET与网络数据库编程.西安:
西安交通大学出版社,2007.