数据库银行管理系统报告书Word下载.docx
- 文档编号:4443786
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:26
- 大小:122.37KB
数据库银行管理系统报告书Word下载.docx
《数据库银行管理系统报告书Word下载.docx》由会员分享,可在线阅读,更多相关《数据库银行管理系统报告书Word下载.docx(26页珍藏版)》请在冰点文库上搜索。
输入账号和密码后,能依照密码判定用户是否合法,然后再输入对方的转账账户,并判定对方的转账账户是否合法,假如合法,再输入转账的金额,并能判定转账金额是否超过了账户余额,假如转账金额合法,就对该账号的余额信息以及对方的账户余额信息进行更新。
指导教师签字:
凌伟2021年6月25日
系主任签字:
2021年6月25日
名目
第一章需求分析
1.项目概述
1.1产品描述
1.2产品功能
1.3用户特点
2.功能需求
2.1需求
2.2开户功能
2.3取款功能
2.4查询功能
2.5修改功能
2.6销户功能
3.具体需求
4.设计
4.1概念结构设计
4.2数据库逻辑设计
4.3数据表建立的脚本
第二章设计概要
1.总体设计
1.1运行界面
2.源代码
3.心得体会
4.参考文献
1项目概述
本软件实现银行的活期储蓄存款业务。
整套软件由客户端程序和服务器端程序构成,客户端运行在面向个人业务的银行柜台的电脑上,银行职员输入相关信息并通过网络通讯向服务器发送要求,并同意服务器端程序的应答显示处理的结果。
服务器端处理客户端的各种业务要求。
要紧实现银行开户、销户、取款、存款、余额查询、转账、修改密码、等功能。
软件功能表
模块
功能
说明
主菜单
取款
开户
销户
余额
打印账户明细记录
修改密码
服务器端程序
存款
查询
修改
1.3.用户特点
本软件的最终用户要紧面向银行柜台职员。
这些操作人员的教育水平是高中及以上学历,通过运算机操作的相关培训,能够熟练使用和操作电脑
2功能需求
1.主菜单功能:
输出主菜单〔包括开户、存款、取款、查询、转账、修改密码、销户、退出等功能〕供操作用户选择,然后依照用户的输入选择进入不同的系统功能界面。
2.开户功能:
银行职员在客户端输入开户的差不多信息,通过网络传送数据,在服务器处理后显示服务器端的处理结果。
开户成功后打印存折相关信息。
操作终止后返回主菜单界面。
户名、帐号、开户人号码、开户日期等。
3.存款功能:
要紧有存款金额与存款时刻,存款的账号等,供用户来填写数据存款。
5.取款功能:
包含取款金额,取款时刻等,供用户操作。
6.查询功能:
提供查询功能,能够查询用户余额,所得利息,与以往的存取款记录。
7.销户功能:
能通过账号与身份等验证来销户,说明销户的日期,方便记录。
8.修改功能:
能够通过原密码来改新密码。
总体结构图
2.1开户功能
引言:
接收客户端传送的数据,把数据储存到数据库中,通过服务器段的处理后把处理的结果传回给客户端。
输入:
1、接收客户端传送过来的数据。
处理:
1、自动生成账户ID,长度5位,从1开始编号,不足补0,例如00009、00103等。
自动生成账户ID要求唯独。
2、账户所有信息将储存数据库的账户信息表中。
3、依照开户金额生成一条账户的存款记录。
输出:
1、把服务器端处理的结果返回给客户端。
处理的结果包括开户是否成功,假如开户成功处理的结果中还包含生成的存款记录。
2.2存款功能
接收客户端传送的数据,增加账户余额并修改相关的数据库信息,把结果传回给客户端。
输入
处理
输出
1、客户端传送的数据。
1、验证账户ID是否存在。
2、修改对应账户ID的数据库信息。
2.3取款功能
接收客户端传送的数据,减少账户余额并修改相关的数据库信息,把结果传回给客户端。
2、验证密码是否正确。
3、验证余额是否足够。
2.4查询功能
接收客户端传送的数据,查找账户信息,把结果传回给客户端。
3、查找对应的账户信息。
2.5修改功能
接收客户端传送的数据,修改账户密码,把结果传回给客户端。
3、查找对应的账户并修改密码。
2.6销户功能
接收客户端传送的数据,通过公式运算客户账户的利息,注销该客户账户。
把结果传回给客户端。
3、运算利息,具体公式如下:
利息=存款额*存款天数*年利率/360需要注意的是,账户中的存款额在变化。
4、修改对应账户ID的数据库。
5、删除用户账户,不是做物理删除处理。
3具体需求
在进行向数据库文件提取数据时,要求数据记录正确,在往数据文件中添加数据时,要求输入数据正确,金额,身份证,账号等要需求设定字符数。
依照软件和用户组织的特性等,某些需求放在下面各项中描述。
4设计
4.1概念结构设计
4.1.1各个功能模块的E-R图
〔1〕开户E-R图
〔2〕销户E-R图
〔3〕存款E-R图
〔4〕取款E-R图
〔5〕查询E-R图
〔6〕修改E-R图
4.2数据库逻辑设计
将数据库的概念模型转换为关系模型
开户〔姓名、性别、密码、身份证号码、开户日期、联系〕
存款〔账号、存款金额、存款时刻〕
取款〔账号、密码、群款金额、取款时刻〕
修改密码〔账号、身份证、原密码、新密码〕
查询〔余额、利息、记录〕
销户〔账号、身份证、开户时刻、销户时刻〕
4.3数据表建立的脚本
createtablekh(
kh_namevarchar(8),
kh_IDint,
kh_phoneint,
kh_adressvarchar(20),
kh_mmint
);
(开户表)
createtablecunk(
ck_kahaoint,
ck_mimaint,
ck_ckjin_eint
(存款表)
createtablequkuan(
qk_kahaoint,
qk_mimaint,
qk_qkjin_eint
(取款表)
createtablechaxun(
cx_yu_eint,
cx_jiluvarchar(50),
cx_lixiint
(查询表)
createtablexiugai(
xg_namevarchar(8),
xg_IDint,
xg_y_mimaint,
xg_x_mimaint
(修改密码)
createtablexiaohu(
xh_namevarchar(8),
xh_IDint,
xh_phoneint
(销户表)
第二章概要设计
1总体设计
1.1运行界面
1.1.1进入主菜单界面图
主菜单界面
1.1.2选择输入的编号,1开户
开户菜单界面图
1.1.3存款界面图
图存款界面图
1.1.4取款界面图
取款界面图
1.1.5销户界面图
销户界面图
1.1.6修改界面图
修改界面图
1.1.7查询界面图
查询界面图
2.源代码
#ifndef
_DB_STRUCT_H_
#define
/typedef
struct
account_
{
char
acc_name[21];
//账户名
id_card[19];
//身份证号
pwd[7];
//账户密码
double
money;
//开账金额
date[20];
//开账时刻
}T_ACCOUNT;
//存款数据
typedef
saving_
{int
acc_id;
//账户ID
int
opter_id;
//操作员ID
//存款金额
//操作时刻
}T_SAVING;
//取款数据
withdraw_
//取款金额
}T_WITHDRAW;
//查询数据
query_
}T_QUERY;
//交易数据
transfer_
//账户ID
acc_oid;
//对方账户ID
//交易金额
}T_TRANSFER;
//更换密码数据
changepwd_
//账户旧密码
newpwd[7];
//账户新密码
}T_CHANGEPWD;
//销户数据
destroy_
}T_DESTROY;
//明细数据
detail_
s_date[11];
//起始日期
e_date[11];
//终止日期
}T_DETAIL;
detailall_
{char
}T_DETAILALL;
//接收明细数据
recv_detail_
type_id[20];
//类型ID
opt_date[20];
d_money[20];
//处理金额
b_money[20];
//余额
staffer_id[20];
oth_id[20];
}RECV_DETAIL;
recv_detail_all_
d_money;
b_money;
staffer_id;
oth_id;
}RECV_DETAIL_ALL;
//黑名单数据
black__
}T_BLACK;
CLIENT_EXIT
OP_ACC
1
SAVING
2
WITHDRAW
3
QUBALANCE
4
TRANSFER
5
CHAPWD
6
DESTROY
7
DETAILNOTE
8
DEDATA
9
BLACKLIST
10
NOTEALL
11
//包头
pack_head
len;
//数据长度
type;
//业务类型
}PACK_HEAD;
#endif
//_DB_STRUCT_H_
//
MySocket.cpp:
implementation
of
the
MySocket
class.
#include
"
MySocket.h"
Construction/Destruction
MySocket:
:
MySocket()
{InitSocket();
cout<
<
init
constructor"
endl;
}MySocket:
~MySocket()
{}
InitSocket(){
WORD
wVersionRequested;
WSADATA
wsaData;
err;
wVersionRequested
=
MAKEWORD(
2,
2
err
WSAStartup(
wVersionRequested,
&
wsaData
if
(
!
0
)
{
return
-1;
}
LOBYTE(
wsaData.wVersion
||
HIBYTE(
WSACleanup(
}
s
socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
s;
ConnectSocket(const
*ip,int
port){
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);
ip:
ip<
"
port:
port<
connect(s,(struct
sockaddr*)&
addr_far,sizeof(struct
sockaddr_in));
void
RecvTCPLoop(char*
n_data,
max_count)
ret;
while
(max_count>
0)
{ret=recv(s,n_data,max_count,0);
(ret==0)
{break;
(ret>
{max_count-=ret;
(max_count
==
break;
n_data+=
}}}
SendTCPLoop(char*
{ret=send(s,n_data,max_count,0);
Close(){
if(s!
=NULL)closesocket(s);
Tools.h"
#pragma
comment(lib,"
ws2_32.lib"
)
iostream>
using
namespace
std;
DBStruct.h"
conio.h>
main(){
client
Tools:
mys;
ret
client.ConnectSocket("
127.0.0.1"
7000);
(ret
SOCKET_ERROR)
//连接服务器
{cout
Can
not
connect
to
server!
server"
//数据打包
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-03-08"
PACK_HEAD
p_h;
p_h.len=sizeof(T_ACCOUNT);
p_h.type=OP_ACC;
const
max_count=sizeof(T_ACCOUNT)+sizeof(PACK_HEAD);
data[max_count];
memset(data,'
max_count);
Package((char*)&
t_acc,p_h,data);
client.SendTCPLoop(data,max_count);
//发送数据
ret_acc_id=0;
client.RecvTCPLoop((char*)&
ret_acc_id,sizeof(int));
//同意返回数据
ret_acc_id:
ret_acc_id<
//client.Close();
//_getch();
//PACK_HEAD
//exit
p_h.len=0;
p_h.type=CLIENT_EXIT;
client.SendTCPLoop((char
*)&
p_h,sizeof(PACK_HEAD));
cout
Already
exit
system.Thank
you
for
using."
exit(0);
0;
db.h"
Winsock2.h>
Ws2_32.lib"
//接收数据
RecvTCPLoop(SOCKET
s,
char*
}}
}//发送数据
SendTCPLoop(SOCKET
n_da
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 银行 管理 系统 报告书