银行储蓄管理系统

合集下载

银行储蓄管理系统

银行储蓄管理系统

课程题目信息系统分析与设计题目银行储蓄管理系统摘要近几年来,随着科技的发展和社会的进步,尤其是计算机大范围的普及,计算机应用逐渐由大规模科学计算的海量数据处理转向大规模的事务处理和对工作流的管理,这就产生了以台式计算机为核心,以数据库管理系统为开发环境的管理信息系统在大规模的事务处理和对工作流的管理等方面的应用,特别是在银行储蓄管理之中的应用日益引起人们的关注。

这次的数据库课程设计我以这一应用环境为背景,应用数据库原理课程所学的数据库设计与关系数据理论,结合实际的操作和设计进行设计。

目标是制定一套合理、有效,规范和实用的银行管理系统,对银行信息进行集中统一的管理。

提高银行工作效率,做到信息的规范管理,科学统计和快速查询。

本文实现了一个小型的银行储蓄管理系统,该系统主要功能包括存款、取款、查询及储户信息修改等功能。

从而满足了广大人民群众的需要,同时也实现了银行储蓄管理的系统化、规范化、自动化和智能化,提高了银行管理的效率。

关键字:银行储蓄;数据库;目录摘要 (II)目录 (I)1系统分析 (1)1.1系统概况 (1)1.1.1系统设计的目的 (1)1.1.2系统开发的背景与意义 (1)1.2系统需求分析 (1)1.2.1 系统总体需求 (1)1.2.2 系统整体功能介绍 (2)1.2.3 数据流图: (2)1.3软硬件平台介绍 (3)2 数据库系统设计与实现 (5)2.1数据库设计 (5)2.2 模块结构设计 (6)3逻辑设计 (7)4物理结构设计 (8)4.1数据库的物理结构 (8)5总结 (9)参考文献 (10)致谢 (11)1系统分析1.1系统概况1.1.1系统设计的目的银行是一个国家正常运转必不可缺的机构,当今社会,几乎每个人都会涉及到储蓄业务,为此,为方便用户查询和使用各种业务,可用计算机为工具对查询管理为一体的各种服务。

当然,这样的一个银行储蓄业务系统就应运而生了。

本系统是一个简单的储蓄系统,可以对储户的信息进行查询、修改以及删除。

数据库课程设计 银行储蓄管理系统

数据库课程设计 银行储蓄管理系统

《数据库系统概论》课程设计报告设计题目:银行储蓄管理系统姓名:学号:班级:设计起止时间:需求分析:在对软件工程相关知识学习之后,我们对设计软件有了基本的认识和一些应用技能。

在数据库的课程设计中,我们计划做一个小型的银行储蓄管理系统,包括了基本的存取转,和管理员对日常工作的管理功能。

功能设计:(1).客户:包括存款,取款,转账,查询余额,查看流水,密码修改功能(2).管理员:新增用户,删除用户,查看用户,员工绩效,VIP用户判别,储备金预警分析。

3.功能流程图:银行管理系统登陆管理员客户销户查看员工绩效VIP判别资金储备金判别开户存款取款转账余额显示查看流水修改密码详细设计:1.E-R图模型operatecustombankstaffCphoneCtimeCpassCRmoneyCnameCidBidSphoneSnameSidSpassSItimeBname BmoneyBid1112.根据E-R 图设计关系表 (1).银行信息表(bank )字段名 字段类型及长度 允许空 主键说明 Bid nchar (9) no PK 银行号 Bname nchar (20) no银行名 Bmoney numeric (20,3) no 银行余额(2).客户信息表(custom )字段名 字段类型及长度 允许空主键说明 Cid nchar (9) noPK 客户ID Cname nchar (10) no 客户姓名 Cpass nchar (10) no 密码 Ctime nchar (20) no注册时间Bid nchar (9) no 所在银行行号 外码(Bank (Bid )) Crmoney numeric (10,3) no账户余额 Cphone nchar (11) no 客户电话 (3).员工(管理员)表(staff ) 字段名 字段类型及长度 允许空主键 说明 Sid nchar (9) noPK 员工ID Sname nchar (10) no 员工姓名 Spass nchar (10) no 登陆密码 SItime nchar (20) no入行时间Sphone nchar(11) no 联系电话(4).流水信息表字段名字段类型及长度允许空主键说明Oid nchar(9) no PK 流水号Cid nchar(9) no 客户ID 外码(Custom(Cid))Bid nchar(9) no 银行ID 外码(Bank(Bid))Sid nchar(9) no 员工ID 外码(Staff(Sid))Otype smallint no 操作类型Otime nchar(20) no 操作时间Omoney numeric(10,3) yes 交易金额OBmoney numeric(10,3) yes 上次余额OAmoney numeric(10,3) yes 账户余额三个实体:bank,staff,custom一个联系:operate关系图:SQL语句:/*建表*/create table Bank(Bid nchar(9) primary key,Bname nchar(20) not null,Bmoney numeric(20,3) not null)create table Custom( Cid nchar(9) not null,Cname nchar(10) not null,Cpass nchar(10) not null,Ctype smallint not null,Ctime nchar(20) not null,Ccode nchar(18) not null,Bid nchar(9) not null,Crmoney numeric(10,3) not null,Cphone nchar(11) not null,primary key(Cid),foreign key(Bid) references Bank(Bid) /*在客户表中以Bank表的主码作为一个外键,并对他进行级联更新*/on update cascade,)create table Staff(Sid nchar(9) primary key, /*在列级定义主码*/Sname nchar(10) not null,Spass nchar(10) not null,SItime nchar(20) not null,Sphone nchar(11) not null)create table Operate(Oid nchar(9) not null,Cid nchar(9) not null,Bid nchar(9) not null,Sid nchar(9) not null,Otype nchar(10) not null,Otime nchar(20) not null,Oflag smallint not null,Omoney numeric(10,3),OBmoney numeric(10,3),OAmoney numeric(10,3),primary key(Oid,Cid,Sid),foreign key (Cid) references Custom(Cid) /*以用户表主码为一个外键,进行级联删除*/on delete cascade,foreign key(Sid) references Staff(Sid) /*以员工表的主码作为外键,当删除引起冲突的时候,拒绝删除*/on delete no action,foreign key (Bid) references Bank(Bid)on update cascade)insert into Bank values('00001','中国银行小寨分行',10000)update Bank set Bname='中国银行经开分行' where Bid='00002'select * from Bank;delete from Bank where Bid='1' or Bid='2';insert into Custom values('6505001','花花','111',0,'2012/12/10/08:26:00','610424************','00001','1500','14345678912')insert into Staff values('7985000','自助服务','111','2002/01/07','12331654613')delete from Custom where Bid='2';insert into Operate values('2406002','6505001','00001','7985001','哈哈','2012年12月18日14时12分',0,0,2900,2900)insert into Operate values('2406005','6505007','00001','7985001','嘿嘿','2012年12月18日14时12分',0,0,2900,2900)select * from Custom;select * from Operate;select * from Staff;select * from Bank;delete from Operatedrop table Customdrop table Bankdrop table Staff;drop table Operate;select * from Bank;delete from Operate where Oid='6505001'drop view BMoney;create view BMoneyasselect Omoneyfrom Operatewhere Oflag = 0 and Omoney>2000 and Otype = '取款';create view BInMoneyasfrom Operatewhere Oflag = 0 and Omoney>2000 and Otype='存款';create view VIPasselect Ctypefrom Customwhere Ctype=1;select count(*) from BMoney;select count(*) from BInMoney;select count(*) from VIP;update Bank set Bmoney='10000' where Bid='00001';update Bank set Bmoney='+bmoney' where Bid='"+Bid+"'";update Bank set Bmoney='10200.000000' where Bid='00001'程序代码:客户部分:a.void CClientDlg::OnButtonIn() //存款函数{// TODO: Add your control notification handler code hereCInDlg InDlg;if (InDlg.DoModal()==IDOK){double temp,temp1;ADOConn ado;CString sql = "select * from Custom where Cname='"+Cname+"'";_RecordsetPtr ResultSet = ado.GetRecordSet((_bstr_t)sql);CString str = (LPCTSTR)(_bstr_t)ResultSet->GetCollect("Crmoney");CString bid = (LPCTSTR)(_bstr_t)ResultSet->GetCollect("Bid");CString str4 = (LPCTSTR)(_bstr_t)ResultSet->GetCollect("Cid");CString str2= str; //将交易前钱数暂存temp=atof(str);temp1=(double)InDlg.m_InNum;temp+=temp1;str.Format("%f",temp);CString str3 = str; //暂存交易后金额sql = "update Custom set Crmoney='"+str+"' "+"where Cname='"+Cname+"'";ado.ExecuteSQL((_bstr_t)sql);sql = "select count(*) num from Operate";ResultSet = ado.GetRecordSet((_bstr_t)sql);int num = atoi((LPCTSTR)(_bstr_t)ResultSet->GetCollect("num"));str = "240600";CString Oid,Cid,Sid,Bid,Otime,Omoney,OAmoney,OBmoney;Oid.Format("%d",++num); Oid=str+Oid;Sid="7985001";Bid = bid; double temp2;sql = "select * from Bank where Bid='"+Bid+"'";ResultSet = ado.GetRecordSet((_bstr_t)sql);CString bmoney = (LPCTSTR)(_bstr_t)ResultSet->GetCollect("Bmoney");temp2 = atof(bmoney); temp2+=temp1; bmoney.Format("%f",temp2);sql = "update Bank set Bmoney='"+bmoney+"' where Bid='"+Bid+"'";ado.ExecuteSQL((_bstr_t)sql);CString Otype = "存款";CString m_time; CTime time;time = CTime::GetCurrentTime();m_time = time.Format("%Y年%m月%d日%X");Otime = m_time; int flag = 0;Omoney.Format("%f",temp1); OAmoney = str2;OBmoney = str3;sql.Format("insert into Operate values('%s','%s','%s','%s','%s','%s',%d,%s,%s,%s)",Oid,str4,Bid,Sid,Otype,m_ time,flag,Omoney,OAmoney,OBmoney);ado.ExecuteSQL((_bstr_t)sql);ado.E xitConnect(); }}b.v oid CClientDlg::OnButtonGet() //取款函数{// TODO: Add your control notification handler code hereCGetDlg GetDlg;;if (GetDlg.DoModal()==IDOK){double temp,temp1;ADOConn ado;CString sql = "select * from Custom where Cname='"+Cname+"'";_RecordsetPtr ResultSet = ado.GetRecordSet((_bstr_t)sql);CString str = (LPCTSTR)(_bstr_t)ResultSet->GetCollect("Crmoney");CString bid = (LPCTSTR)(_bstr_t)ResultSet->GetCollect("Bid");CString str4 = (LPCTSTR)(_bstr_t)ResultSet->GetCollect("Cid");CString str2= str;//将交易前钱数暂存temp=atof(str);temp1=(double)GetDlg.m_GetNum;if (temp>temp1){temp-=temp1; str.Format("%f",temp); CString str3 = str;//暂存交易后金额sql = "update Custom set Crmoney='"+str+"' "+"whereCname='"+Cname+"'";ado.ExecuteSQL((_bstr_t)sql);sql = "select count(*) num from Operate";ResultSet = ado.GetRecordSet((_bstr_t)sql) int num= atoi((LPCTSTR)(_bstr_t)ResultSet->GetCollect("num"));str = "240600";CString Oid,Cid,Sid,Bid,Otime,Omoney,OAmoney,OBmoney;Oid.Format("%d",++num);Oid=str+Oid; Sid="7985001"Bid = bid; double temp2;sql = "select * from Bank where Bid='"+Bid+"'";ResultSet = ado.GetRecordSet((_bstr_t)sql);CString bmoney = (LPCTSTR)(_bstr_t)ResultSet->GetCollect("Bmoney");temp2 = atof(bmoney); temp2-=temp1;bmoney.Format("%f",temp2);sql = "update Bank set Bmoney='"+bmoney+"' whereBid='"+Bid+"'";ado.ExecuteSQL((_bstr_t)sql);CString Otype = "取款";CString m_time; CTime time;time = CTime::GetCurrentTime();m_time = time.Format("%Y年%m月%d日%X");Otime = m_time; int flag = 0;Omoney.Format("%f",temp1);OAmoney = str2;OBmoney = str3; sql.Format("insert into Operate values('%s','%s','%s','%s','%s','%s',%d,%s,%s,%s)",Oid,str4,Bid,Sid,Otype,m_time,flag,Omoney,OAmoney,OBmoney); ado.ExecuteSQL((_bstr_t)sql);ado.ExitConnect();}else{AfxMessageBox("账户余额不足!"); }}}c.void CClientDlg::OnButtonTurn(){/ TODO: Add your control notification handler code hereCTurnDlg TurnDlg;if (TurnDlg.DoModal()==IDOK){ADOConn ado;CString sql = "select * from Custom";_RecordsetPtr ResultSet = ado.GetRecordSet((_bstr_t)sql);int flag = 0;while (!ResultSet->adoEOF)CString TCusId = (LPCTSTR)(_bstr_t)ResultSet->GetCollect("Cid");CString TCusMon = (LPCTSTR)(_bstr_t)ResultSet->GetCollect("Crmoney"); //收钱客户在操作前的余额CString str5 = TCusMon; TCusId.Remove(' ');if (TCusId==TurnDlg.m_TurnId){double temp,temp1;sql = "select * from Custom where Cname='"+Cname+"'";ResultSet = ado.GetRecordSet((_bstr_t)sql);CString str = (LPCTSTR)(_bstr_t)ResultSet->GetCollect("Crmoney");CString bid = (LPCTSTR)(_bstr_t)ResultSet->GetCollect("Bid");CString str4 = (LPCTSTR)(_bstr_t)ResultSet->GetCollect("Cid");CString str2= str; //将交易前钱数暂存temp=atof(str);temp1=(double)TurnDlg.m_TurnNum; if (temp>temp1){flag = 1;temp-=temp1; //住客户钱数减少str.Format("%f",temp);CString str3 = str; //暂存交易后金额sql = "update Custom set Crmoney='"+str+"' "+"where Cname='"+Cname+"'";do.ExecuteSQL((_bstr_t)sql); temp=atof(TCusMon);//收钱客户钱数增加temp+=temp1;TCusMon.Format("%f",temp); sql = "update Custom set Crmoney='"+TCusMon+"' "+"where Cid='"+TCusId+"'";ado.ExecuteSQL((_bstr_t)sql); sql = "select count(*) num from Operate";ResultSet = ado.GetRecordSet((_bstr_t)sql);int num = atoi((LPCTSTR)(_bstr_t)ResultSet->GetCollect("num"));str = "240600";CString Oid,Cid,Sid,Bid,Otime,Omoney,OAmoney,OBmoney;int Otype; Oid.Format("%d",++num); Oid=str+Oid;Sid="7985001";Bid = bid; Otype = 2; CString m_time; CTime time;time = CTime::GetCurrentTime();m_time = time.Format("%Y年%m月%d 日%X");Otime = m_time; Omoney.Format("%f",temp1);OAmoney = str2; OBmoney = str3;sql.Format("insert into Operate values('%s','%s','%s','%s',%d,'%s',%s,%s,%s)",Oid,str4,Bid,Sid,Otype,m_time ,Omoney,OAmoney,OBmoney); ado.ExecuteSQL((_bstr_t)sql);sql.Format("insert into Operate values('%s','%s','%s','%s',%d,'%s',%s,%s,%s)",TCusId,str4,Bid,Sid,Otype,m_t ime,Omoney,str5,TCusMon); ado.ExecuteSQL((_bstr_t)sql);ado.ExitConnect();break; }else{AfxMessageBox("账户余额不足!");break; }}ResultSet->MoveNext();}if(flag==0){AfxMessageBox("该账户不存在!"); }}}d.v oid CClientDlg::OnButtonHistoy() //历史记录查询{// TODO: Add your control notification handler code hereCShowHistory showDlg;ame = Cname;showDlg.DoModal();}e.v oid CClientDlg::OnButtonAlter(){// TODO: Add your control notification handler code hereCAlterDlg alteDlg;if(alteDlg.DoModal()==IDOK){ if (alteDlg.m_AItem==0){if (alteDlg.m_Alter1==alteDlg.m_Alter2) {ADOConn ado; CString sql = "update Custom set Cname='"+alteDlg.m_Alter1+"' where Cname='"+Cname+"'";ado.ExecuteSQL((_bstr_t)sql);AfxMessageBox("姓名修改成功!"); }else {AfxMessageBox("两次姓名输入不一致,请重新输入!"); }}else if(alteDlg.m_AItem==1){if (alteDlg.m_Alter1==alteDlg.m_Alter2) { ADOConn ado;CString sql = "update Custom set Cpass='"+alteDlg.m_Alter1+"' whereCname='"+Cname+"'";ado.ExecuteSQL((_bstr_t)sql); AfxMessageBox("密码修改成功!"); }else{AfxMessageBox("两次密码输入不一致,请重新输入!"); }elseif (alteDlg.m_Alter1==alteDlg.m_Alter2){if (alteDlg.m_Alter1.GetAt(0)=='1'&&alteDlg.m_Alter1.GetLength()==11)ADOConn ado; CString sql = "update Custom setCphone='"+alteDlg.m_Alter1+"' where Cname='"+Cname+"'";ado.ExecuteSQL((_bstr_t)sql); AfxMessageBox("电话号码修改成功!"); }else {AfxMessageBox("电话号码格式不对!");} } else{AfxMessageBox("两次电话输入不一致,请重新输入!"); } }}}管理员部分:a.void CStaffDlg::OnButtonInsert() //添加新成员{// TODO: Add your control notification handler code hereCInsertDlg insertDlg;if (insertDlg.DoModal()==IDOK){if (insertDlg.m_Phone.GetAt(0)=='1'&&insertDlg.m_Phone.GetLength()==11){ADOConn ado;CString sql = "select count(*) Num from Custom whereCcode='"+insertDlg.m_Code+"'";_RecordsetPtr ResultSet = ado.GetRecordSet((_bstr_t)sql);int Num = atoi((LPCTSTR)(_bstr_t)ResultSet->GetCollect("Num"));if (Num==0){CString str = "650500";sql = "select count(*) num from Custom";ResultSet = ado.GetRecordSet((_bstr_t)sql);Num = atoi((LPCTSTR)(_bstr_t)ResultSet->GetCollect("num"));CString Cid,Cpass,Bid,Pmoney; double dou;Cid.Format("%d",++Num); Cid = str+Cid;Cpass = "000000";CString m_time; Bid= "00001";CTime time; time = CTime::GetCurrentTime();m_time = time.Format("%Y年%m月%d日%X");dou = (double)insertDlg.m_Pmoney;Pmoney.Format("%f",dou);// Otime = m_time; sql.Format("insert into Custom values('%s','%s','%s','%s',%s,'%s',%s,%s)",Cid,insertDlg.m_Name,Cpass,m_time,insertDlg.m_Code,Bid,Pmoney,insertDlg.m_Phone);ado.ExecuteSQL((_bstr_t)sql);sql = "select count(*) num from Operate";ResultSet = ado.GetRecordSet((_bstr_t)sql);Num = atoi((LPCTSTR)(_bstr_t)ResultSet->GetCollect("num"));CString Oid,OAmoney,Otype; Otype = "新注册";Oid.Format("%d",++Num);str = "240600";Oid = str+Oid; Bid= "00001";int flag = 0; OAmoney = "0";sql.Format("insert into Operatevalues('%s','%s','%s','%s','%s','%s',%d,%s,%s,%s)",Oid,Cid,Bid,Sid,Otype,m_time,flag,Pmoney,OAmoney,Pmoney); ado.ExecuteSQL((_bstr_t)sql);AfxMessageBox("新增客户成功!"); }else{AfxMessageBox("该证件号已经注册!"); }}}b.void CStaffDlg::OnButtonDelete() //注销客户{// TODO: Add your control notification handler code hereCDelDlg delDlg;if (delDlg.DoModal()==IDOK){if (delDlg.m_DelId1==delDlg.m_DelId2){ADOConn ado;count(*) Num from Custom where Cid='"+delDlg.m_DelId1+"'";_RecordsetPtr ResultSet = ado.GetRecordSet((_bstr_t)sql);int Num = atoi((LPCTSTR)(_bstr_t)ResultSet->GetCollect("Num"));if (Num!=0){CString str = "650500";sql = "delete from Custom whereCid='"+delDlg.m_DelId1+"'";ado.ExecuteSQL((_bstr_t)sql); CString Bid,Cid;Cid = "6505000";CString m_time;CTime time; time = CTime::GetCurrentTime();m_time = time.Format("%Y年%m月%d日%X");sql = "select count(*) numfrom Operate";ResultSet = ado.GetRecordSet((_bstr_t)sql);Num = atoi((LPCTSTR)(_bstr_t)ResultSet->GetCollect("num"));CString Oid,OAmoney,Otype; Otype = "注销用户";Oid.Format("%d",++Num);tr = "240600";Oid = str+Oid; Bid= "00001";int flag = 2; OAmoney = "0";sql.Format("insert into Operatevalues('%s','%s','%s','%s','%s','%s',%d,%s,%s,%s)",Oid,Cid,Bid,Sid,Otype,m_time,flag,OAmoney,OAmoney,OAmoney); ado.ExecuteSQL((_bstr_t)sql);AfxMessageBox("注销客户成功!"); }else{AfxMessageBox("不存在该用户!"); }}else {AfxMessageBox("两次输入用户ID不一致,请重新输入!"); }}}c.void CStaffDlg::OnButtonResher() 查询客户{// TODO: Add your control notification handler code hereCAlterDlg altDlg; if (altDlg.DoModal()==IDOK){if (altDlg.m_AItem==0) {if (altDlg.m_Alter1==altDlg.m_Alter2) {ADOConn ado;CString sql = "update Staff set Sname='"+altDlg.m_Alter1+"' whereSname='"+Sname+"'";ado.ExecuteSQL((_bstr_t)sql);AfxMessageBox("姓名修改成功!");}else{AfxMessageBox("两次姓名输入不一致,请重新输入!"); }} else if(altDlg.m_AItem==1){if (altDlg.m_Alter1==altDlg.m_Alter2){ADOConn ado;CString sql = "update Custom set Spass='"+altDlg.m_Alter1+"' where Sname='"+Sname+"'";ado.ExecuteSQL((_bstr_t)sql); AfxMessageBox("密码修改成功!"); }else{AfxMessageBox("两次密码输入不一致,请重新输入!"); }}else{if (altDlg.m_Alter1==altDlg.m_Alter2){if (altDlg.m_Alter1.GetAt(0)=='1'&&altDlg.m_Alter1.GetLength()==11){ADOConn ado;CString sql = "update Custom set Sphone='"+altDlg.m_Alter1+"' where Sname='"+Sname+"'";ado.ExecuteSQL((_bstr_t)sql);AfxMessageBox("电话号码修改成功!"); }else{AfxMessageBox("电话号码格式不对!");} }else{AfxMessageBox("两次电话输入不一致,请重新输入!"); } } }d.void CStaffDlg::OnButtonMoneyctrl() //资金管理{// TODO: Add your control notification handler code hereCSerchDlg serDlg;if (serDlg.DoModal()==IDOK){ADOConn ado;CString sql = "select count(*) Num from Custom where Cid='"+serDlg.m_Cid+"'";_RecordsetPtr ResultSet = ado.GetRecordSet((_bstr_t)sql);int Num = atoi((LPCTSTR)(_bstr_t)ResultSet->GetCollect("Num"));if (Num!=0){CCusInfoDlg cusDlg;cusDlg.Cid = serDlg.m_Cid ADOConn ado;CString sql = "select * from Custom where Cid='"+cusDlg.Cid+"'";_RecordsetPtr ResultSet = ado.GetRecordSet((_bstr_t)sql);cusDlg.m_Cname = (LPCTSTR)(_bstr_t)ResultSet->GetCollect("Cname");cusDlg.m_Cid = (LPCTSTR)(_bstr_t)ResultSet->GetCollect("Cid");cusDlg.m_Code = (LPCTSTR)(_bstr_t)ResultSet->GetCollect("Ccode");cusDlg.m_Phone = (LPCTSTR)(_bstr_t)ResultSet->GetCollect("Cphone");cusDlg.m_Rmoney = (LPCTSTR)(_bstr_t)ResultSet->GetCollect("Crmoney");cusDlg.DoModal();ado.ExitConnect();}else{AfxMessageBox("不存在该客户!"); }}}e.void CStaffDlg::OnButtonAlter() //信息修改{CMoneyDlg monDlg; ADOConn ado;CString sql = "select count(*) Num from BMoney ";_RecordsetPtr ResultSet = ado.GetRecordSet((_bstr_t)sql);monDlg.m_GetNum = atoi((LPCTSTR)(_bstr_t)ResultSet->GetCollect("Num"));sql = "select count(*) Num from BInMoney";ResultSet = ado.GetRecordSet((_bstr_t)sql);monDlg.m_InNum = atoi((LPCTSTR)(_bstr_t)ResultSet->GetCollect("Num"));sql = "select count(*) Num from VIP";ResultSet = ado.GetRecordSet((_bstr_t)sql);monDlg.m_VIPNum= atoi((LPCTSTR)(_bstr_t)ResultSet->GetCollect("Num"));sql = "select * from Bank where Bid='00001'";ResultSet = ado.GetRecordSet((_bstr_t)sql);monDlg.m_Cash = (LPCTSTR)(_bstr_t)ResultSet->GetCollect("Bmoney");ado.ExitConnect();monDlg.DoModal();}f.void CStaffDlg::OnButtonAnyse() //员工业绩分析{// TODO: Add your control notification handler code hereCStaffIDlg staDlg;staDlg.DoModal();}心得体会:这次课程设计体会非常深刻,首先在团队合作方面,我觉得自己作为队长没有两道好我的小队,这是我的失职。

数据库原理课程设计银行储蓄管理系统

数据库原理课程设计银行储蓄管理系统

目录一、需求与功能分析 1二、系统总体框架 2三、逻辑设计 2四、类的设计与分析 4五、数据库表结构设计 8六、特色算法分析 8七、功能测试 9八、存在的不足与对策 12九、程序源代码 12银行储蓄管理系统一银行储蓄系统需求分析系统功能简介:信息系统:主要是在里面输入用户信息(户名,帐号,开户日期)主要功能:记录用户所要进行的各种存取操作(存钱,取钱),并对操作数据做好记录记录时间:主要是记录每个用户开户,存取,取钱的日期相关金额:该用户的存款金额,取款金额,执行操作后账户余额保存系统:可以以连接数据库模式保存查询过的内容,对于刚刚查询过的内容不必重复登陆工作环境:该程序可用在各种银行性质的单位,能有效管理用户信息。

方便,快捷,容易上手,安全保密,资料齐整构造该程序,主要是使用C++ & SQL系统。

在MS-DOS以及WINDOWS95以上的操作系统上可以正常运行。

现今的社会,资金流动十分频繁。

不单单是企业、厂商,连个人也不例外。

银行作为一个金融机构,在现代人们的生活中扮演着及其重要的角色。

为生活节奏飞快的现代人提供快速、便捷、高效理财服务,是每一个银行机构的共同职责。

伴随着电脑技术的发展,各大银行储蓄管理软件也随之出现在这一舞台之上。

银行储蓄管理程序的主要功能就是记录用户的账户信息,已经对用户的存取款操作作好记录及数据更新。

银行储蓄管理的特点是数据量大。

数据更新频繁。

因此便捷的操作,数据更新准确度,成了这一系统的主要指标。

二系统总框图三逻辑设计任何建模语言都以静态建模机制为基础,标准建模语言UML也不例外。

所谓静态建模是指对象之间通过属性互相联系,而这些关系不随时间而转移。

类和对象的建模,是UML建模的基础。

面向对象的开发方法的基本任务是建立对象模型,是软件系统开发的基础。

UML中的对象类图表达了对象模型的静态结构,能够有效地建立专业领域的计算机系统对象模型。

图1 系统类图动态模型主要描述系统的动态行为和控制结构。

银行储蓄业务管理系统介绍

银行储蓄业务管理系统介绍

银行储蓄业务管理系统介绍一、系统概述银行储蓄业务管理系统是一种基于计算机技术的银行业务管理系统,旨在帮助银行实现对储蓄业务的高效管理和操作。

通过该系统,银行可以方便地处理客户的储蓄业务,提供相关的查询、统计和报表功能,提高业务处理的效率和准确性。

二、系统功能银行储蓄业务管理系统主要包括以下功能模块:1. 客户管理该模块用于管理银行的客户信息,包括客户基本信息、联系方式、开户信息等。

系统管理员可以使用该功能进行客户信息录入、修改和删除等操作,同时还可以实现客户信息的批量导入导出。

2. 储蓄账户管理该模块用于管理客户的储蓄账户信息,包括账户类型、开户日期、余额、利率等。

系统管理员可以使用该功能进行账户信息的开通、销户、挂失和冻结等操作,同时还可以实现账户余额的查询、修改和统计等功能。

3. 存款业务管理该模块用于管理客户的存款业务,包括存款方式、存入金额、存款日期等。

系统管理员可以使用该功能进行存款业务的录入、修改和删除等操作,同时还可以实现存款业务的查询、统计和报表生成等功能。

4. 取款业务管理该模块用于管理客户的取款业务,包括取款方式、取款金额、取款日期等。

系统管理员可以使用该功能进行取款业务的录入、修改和删除等操作,同时还可以实现取款业务的查询、统计和报表生成等功能。

5. 转账业务管理该模块用于管理客户的转账业务,包括转入账户、转出账户、转账金额、转账日期等。

系统管理员可以使用该功能进行转账业务的录入、修改和删除等操作,同时还可以实现转账业务的查询、统计和报表生成等功能。

6. 利息结算管理该模块用于管理客户的利息结算业务,包括计算利息、发放利息等。

系统管理员可以使用该功能进行利息结算业务的操作,并可以实现利息的查询、统计和报表生成等功能。

7. 客户服务管理该模块用于管理客户的服务请求,包括客户投诉、咨询、建议等。

系统管理员可以使用该功能进行服务请求的处理,并可以实现服务请求的查询、统计和报表生成等功能。

软件工程——银行储蓄系统 -

软件工程——银行储蓄系统 -

软件工程——银行储蓄系统 -1.引言1.1 目的本文档旨在描述和规范银行储蓄系统的设计和开发过程,确保系统能够满足用户的需求和预期功能。

1.2 背景银行储蓄系统是为银行提供一种机制,使客户能够进行存款、取款和查询等操作的系统。

2.需求分析2.1 功能需求银行储蓄系统应具备以下功能:- 客户登录与注册- 存款与取款- 余额查询与交易记录查询- 转账与收款- 密码重置2.2 非功能需求银行储蓄系统应具备以下非功能需求:- 用户界面友好、易于使用- 系统响应时间快- 数据安全性高- 高并发能力- 可靠性和可扩展性3.概要设计3.1 系统架构银行储蓄系统采用分层架构,包括以下层:- 用户界面层:提供用户登录、存款、取款等功能的界面- 业务逻辑层:处理用户请求,进行业务逻辑处理- 数据访问层:与数据库进行交互,完成数据的读写操作3.2 模块设计银行储蓄系统的主要模块包括:- 用户管理模块:处理用户注册、登录、密码重置等功能- 账户管理模块:负责处理存款、取款和余额查询等功能- 交易记录模块:记录用户的交易历史- 转账模块:处理用户的转账和收款功能4.详细设计4.1 用户管理模块设计4.1.1 用户注册功能设计- 输入用户名、密码、邮箱等信息- 检查用户名是否已存在- 将用户信息存入数据库4.1.2 用户登录功能设计- 输入用户名和密码- 验证用户名和密码- 登录成功后跳转到账户管理界面4.2 账户管理模块设计4.2.1 存款功能设计- 输入存款金额- 更新账户余额- 记录交易历史4.2.2 取款功能设计- 输入取款金额- 检查账户余额是否充足- 更新账户余额- 记录交易历史5.测试计划5.1 单元测试对各个模块进行单元测试,验证其功能和性能是否达到预期。

5.2 验收测试整体测试银行储蓄系统,确保其符合用户需求和预期功能。

6.附件本文档涉及的附件包括界面原型图、数据库设计文档等。

7.法律名词及注释- 存款:客户将资金存入银行账户- 取款:客户从银行账户中取出资金- 余额查询:客户查询账户中的余额情况- 转账:客户将资金从自己的账户转入其他账户- 收款:客户接收他人转账的资金。

软件工程课程设计银行储蓄管理系统样本

软件工程课程设计银行储蓄管理系统样本

目录1 问题定义 (3)2 可行性研究 (4)2.1 项目概述 (4)2.2 可行性分析的前提 (4)2.2.1 项目的目标 (4)2.2.2 项目的环境 (5)2.3 可选的方案 (5)2.3.1 方案一 (5)2.3.2 方案二 (5)2.4 所建议的系统 (6)2.4.1 系统说明 (6)2.4.2 系统流程图 (6)2.4.3 高级数据流图 (7)2.5 经济可行性 (8)2.5.1系统开发费用 (8)2.5.2系统运行费用 (9)2.5.3效益 (9)2.6技术可行性 (10)2.7 操作可行性 (10)3 需求分析 (10)3.1 需求概述 (10)3.2 需求模型 (11)3.2.1 数据模型 (11)3.2.2 功能模型 (12)3.2.3 行为模型 (13)3.2.4 数据字典 (15)4 总体设计 (17)4.1 系统体系结构 (17)4.2 模块详细说明 (18)4.3 数据库设计 (19)5 详细设计 (21)5.1 人机界面设计 (21)5.2 过程设计 (26)6 测试 (27)6.1 白盒测试 (27)6.2黑盒测试 (28)7 结论 (29)8参考文献 (30)9 附录 (30)9.1程序代码 (30)1 问题定义账户管理是银行业务流程过程中十分重要且必备的环节之一,在银行业务流程当中起着承上启下的作用,其重要性不言而喻。

可是,当前许多银行在具体的业务流程处理过程中依然使用手工操作的方式来实施,不但费时、费力, 效率低下, 而且无法达到理想的效果。

本文针对上述问题, 采用软件工程的开发原理, 依据软件流程过程规范, 按照需求分析、概要设计、详细设计、程序编码、测试、软件应用、软件维护等过程开发了一个银行账户管理系统。

采用VSC++作为开发工具, 数据库设计遵循3范式, 主要设计了用户基本信息表、用户卡信息表、 ATM 取款机基本信息表、用户银行存款信息表、管理系统的用户口令表、银行系统的用户信息表等数据表。

软件工程课程设计银行储蓄管理系统

软件工程课程设计银行储蓄管理系统

资源利用率:评估 系统对硬件资源的 占用情况
数据库优化:采用索引、分区等技术提高查询效率 代码优化:精简冗余代码,提高代码复用率 系统架构优化:采用微服务、分布式等技术提高系统可扩展性和可靠性 安全性优化:加强数据加密、权限控制等措施保障系统安全
评估现有系统的性能和功能 分析系统瓶颈和潜在的改进点 确定升级和改进的目标和需求 制定升级和改进的方案和计划
用户登录验证功能 存款、取款功能
账户管理功能 查询余额功能
系统安全性:确保 数据安全,防止未 经授权的访问和篡 改。
系统稳定性:确保 系统在高负载和复 杂环境下能够稳定 运行。
系统可扩展性:为 未来功能扩展和升 级提供足够的空间 和支持。
系统易用性:提供 用户友好的界面和 操作体验,方便用 户快速上手和使用。
软件工程课程设计银行储蓄管理系统的应用具有广泛的实际意义,可以为银行储蓄业 务提供更好的服务,提高客户满意度,增强银行的市场竞争力
背景:软件工程课程设计银行储蓄管理系统是为了满足银行储蓄业务的需求,提高银行业务处理效率和客户满意度。 目的:通过软件工程课程设计,使学生掌握软件设计的基本原理和方法,提高软件开发和维护的能力。 意义:该系统的开发有助于提高学生的实践能力,培养创新思维和团队协作精神,为未来的软件开发工作打下基础。
菜单栏:包含所有功能选项, 方便用户快速访问
用户界面布局:简洁明了, 易于操作
工具栏:提供常用功能快捷 方式,提高操作效率
状态栏:显示系统状态和提示 信息,帮助用户更好地了解系
统运行情况
用户身份验证:采用 用户名和密码进行身 份验证,确保只有授 权用户能够访问系统。
数据加密:对敏感数 据进行加密存储,确 保数据在传输和存储 过程中的安全性。

银行储蓄管理系统概要设计说明书

银行储蓄管理系统概要设计说明书

GB 8567-2006银行储蓄管理系统概要设计说明书撰写人:施靖豆健美雷明昊王新尧审核人:施靖日期:2012-4-6目录1引言 (3)1.1编写目的 (3)1.2背景 (3)1.3定义 (3)1.4参考资料 (3)2总体设计 (3)2.1需求规定 (3)2.2运行环境 (4)2.3基本设计概念和处理流程 (4)2.4结构 (8)2.5功能需求与程序的关系 (9)2.6人工处理过程 (9)2.7尚未问决的问题 (10)3接口设计 (10)3.1用户接口 (10)3.2外部接口 (10)3.3内部接口 (10)4运行设计 (10)4.1运行模块组合 (10)4.2运行控制 (11)4.3运行时间 (11)5系统数据结构设计 (11)5.1逻辑结构设计要点 (11)5.2物理结构设计要点 (11)5.3数据结构与程序的关系 (13)6系统出错处理设计 (13)6.1出错信息 (13)6.2补救措施 (13)6.3系统维护设计 (13)1引言1.1编写目的在现代化社会中随着银行业的激烈竞争,如何更好的提高办事效率,降低成本,提高银行系统的电算化及现代化程度,充分满足客户的需求,提供更优质高效的服务,成为各银行正向追逐的目标。

因此,开发一套方便快捷,高效实用,安全稳定的银行储蓄系统软件,便成了银行的当务之急。

它的意义也就显得尤为重要了。

过去落后的银行人工操作已经不适应现代社会的需求了,伴随着银行业激烈的竞争,急需出现一套更符合银行需要的新一代银行储蓄系统。

1.2背景a)开发软件名称:银行储蓄系统。

b)项目开发者:软件学院“银行储蓄系统”开发小组:施靖(组长),豆健美,雷明昊,王新尧。

c)用户单位:各种商业银行。

1.3定义无1.4参考资料《计算机软件文档编制规范》GB-T8567-2006;《软件工程教程》,北京航空航天大学出版社张敬宋广军等;《数据库原理及设计》,清华大学出版社,王珊等;2总体设计2.1需求规定1. 开户,客户需填写开户表格(包括账户名、账户类型、账户密码),工作人员录入信息开户,并打印凭单给客户;2. 销户,客户需填写销户表格(包括账户、账户类型、账户密码),工作人员注销用户,并打印凭单给用户。

数据库课程设计银行储蓄系统

数据库课程设计银行储蓄系统

银行储蓄系统数据库课程设计一、系统概述银行储蓄系统是银行的核心业务系统之一,用于管理客户在银行的储蓄账户信息。

本课程设计将通过建立一个简单的银行储蓄系统,帮助学员掌握数据库设计和应用开发的基本技能。

二、系统需求1.用户管理:能够添加、删除、修改和查询用户信息。

2.账户管理:能够创建、修改、查询和删除账户信息。

3.存款业务:能够完成存款、取款、查询余额等操作。

4.转账业务:能够实现不同账户间的转账功能。

5.报表生成:能够根据需求生成相应的报表。

三、数据库设计1.用户表(Users)UserID(用户ID,主键)UserName(用户名)Password(密码)Email(邮箱)Phone(电话)2.账户表(Accounts)AccountID(账户ID,主键)UserID(用户ID,外键)AccountName(账户名称)AccountType(账户类型)OpenDate(开户日期)Balance(账户余额)3.存款记录表(Deposits)DepositID(存款ID,主键)AccountID(账户ID,外键)DepositAmount(存款金额)DepositDate(存款日期)4.取款记录表(Withdrawals)WithdrawalID(取款ID,主键)AccountID(账户ID,外键)WithdrawalAmount(取款金额)WithdrawalDate(取款日期)5.转账记录表(Transfers)TransferID(转账ID,主键)SourceAccountID(源账户ID,外键)DestinationAccountID(目标账户ID,外键)TransferAmount(转账金额)TransferDate(转账日期)6.报表表(Reports)ReportID(报表ID,主键)ReportType(报表类型)ReportDate(报表日期)ReportContent(报表内容)7.用户权限表(UserPermissions)PermissionID(权限ID,主键)UserID(用户ID,外键)PermissionType(权限类型)。

银行储蓄管理系统开题报告范文

银行储蓄管理系统开题报告范文

银行储蓄管理系统开题报告范文
随着计算机应用范围的不断扩大,其优异的性能已逐渐被人们所承受,在社会经济不断提高的环境下,计算机技术进展的各种管理给人们带来了很大的方便。

随着市场经济的不断开展,人民的生活也越来越富裕,所以人们需要银行能够给用户提供方便的业务操作,比方:能够开户、销户、查询余额等。

因此,银行储蓄管理系统已经成为当今必不可少的组成部分。

银行储蓄管理系统的开发过程包括前台应用程序的设计和后台数据库的建立与维护两个方面的内容;在应用程序开发过程中详细介绍了该系统所实现的开户、存款、取款、查询、消户等主要功能,并着重介绍了上述各个功能模块的建立与生成;在数据库的建立和维护中主要介绍系统数据库的建立与更新,并要求做到系统管理数据的一致性,完整性和平安性。

目前,计算机已经普及到了社会的各个领域,并已经成为我们学习和工作的得力助手,无论在哪个行业,计算机代替人工进展了许多繁杂的事务,并节省了大量的人力与物力,比方:银行储蓄管理系统在金融业给人民带来了很大的方便,系统开发成功后,一旦应用于银行领域,会给管理员与用户带来很大的方便,其主要作用详细如下:
1.计算机可以代替营业员进展许多繁杂的手动操作
2.计算机可以节省许多人力资源
3.计算机可以提高人们的工作效率
4.计算机给用户带来了很大方便
除此之外,目前计算机的价格已经十分低廉,性能却有了长足的进步。

所以从以上各方面来讲,开发研制一个银行储蓄管理系统是很有必要的。

银行储蓄管理系统的设计与实现

银行储蓄管理系统的设计与实现

摘要近几年来,随着科技的发展和社会的进步,尤其是计算机大范围的普及,计算机应用逐渐由大规模科学计算的海量数据处理转向大规模的事务处理和对工作流的管理,这就产生了以台式计算机为核心,以数据库管理系统为开发环境的管理信息系统在大规模的事务处理和对工作流的管理等方面的应用,特别是在银行储蓄管理之中的应用日益引起人们的关注。

本文基于Visual C++数据库编程技术,以可视化的集成开发环境Visual studio 2008为开发工具, Access 2007为后台数据库实现了一个小型的银行储蓄管理系统,该系统主要功能包括用户注册、销户、存款、取款、查询历史记录、用户修改信息等功能。

从而满足了广大人民群众的需要同时也实现了银行储蓄管理的系统化、规范化、自动化和智能化,提高了银行管理的效率。

关键字:Visual C++;Access 2007;银行储蓄管理系统AbstractIn recent years, as technology development and social progress, in particular, the popularity of a wide range of computers, computer application gradually from large-scale scientific computing shift large-scale mass data processing and workflow transaction management, which resulted in of the desktop computer as the core database management system for the development of environmental management information system in large-scale transaction processing and management, workflow applications, especially in the management of bank savings into the application has attracted much attention. Based on the Visual C + + database programming techniques to visualize the integrated development environment, Visual studio 2008 as development tool, Access 2007 database for the background to achieve a small bank savings management system, which mainly features include user registration, cancel the account, deposit , withdrawals, query history, user modify the information and other functions. To meet the needs of the masses but also to achieve the systematic management of bank savings, standardization, automation and intelligence to improve the efficiency of bank management.Key word: visual c + +; Visual studio 2008; Access 2007; Bank savings management目录摘要 (II)Abstract (II)第1章绪论 (1)1.1 课题背景 (1)1.2 研究目的 (2)1.3 本文主要工作 (2)第2章相关技术与环境配置 (1)2.1 Visual C++ (1)2.2 Access基础 (2)2.3 系统运行需要的软硬件环境 (3)2.3.1 硬件需求 (3)2.3.2 软件要求 (3)第3章需求分析 (5)3.1 功能需求 (5)3.2 数据需求 (6)3.3其他需求 (6)第4章系统总体设计 (7)4.1 可行性研究 (7)4.2 系统功能模块划分 (7)4.3数据库设计 (8)4.3.1 概念结构设计 (8)4.3.2 逻辑结构设计 (8)4.3.3物理结构设计 (9)第5章系统详细设计与实现 (10)5.1开发及运行环境 (10)5.2数据库创建过程及其连接 (10)5.3 各模块功能设计 (10)5.3.1用户注册功能的实现 (11)5.3.2用户存款功能的实现 (13)5.3.3用户取款功能的实现 (15)5.3.4 修改密码功能的实现 (17)5.3.5 交易查询功能的实现 (17)5.3.6 用户销户功能的实现 (18)第6章系统运行界面 (19)第7章结论 (23)7.1 系统设计总结 (23)7.2 系统设计心得 (24)致谢 (25)参考文献 (26)附录 (27)第1章绪论1.1 课题背景随着社会经济的不断发展,信息化程度的不断深入,银行的传统业务已愈来愈不能满足银行客户的需要。

银行储蓄系统需求分析

银行储蓄系统需求分析

银行储蓄系统需求分析
1.引言
2.功能需求
2.1用户管理
2.2存款
用户可以通过银行储蓄系统进行存款操作。

系统应该支持多种存款方式,如现金存款、汇款等,并生成相应的存款凭证。

同时,系统应该能够
更新用户账户的余额信息。

2.3取款
用户可以通过银行储蓄系统进行取款操作。

系统应该支持多种取款方式,如现金取款、转账取款等,并生成相应的取款凭证。

同时,系统应该
能够更新用户账户的余额信息。

2.4查询
用户可以通过银行储蓄系统进行账户余额查询、交易记录查询等操作。

系统应该提供快速高效的查询功能,并能够根据用户的需求进行筛选和排序。

2.5转账
用户可以通过银行储蓄系统进行转账操作。

系统应该支持不同账户之
间的转账,并能够验证账户余额是否足够支付转账金额。

同时,系统应该
能够更新用户账户的余额信息。

2.6利息计算
3.非功能需求
3.1安全性
3.2可扩展性
3.3用户友好性
4.总结
银行储蓄系统是一个复杂而关键的系统,需要满足各种功能需求和非功能需求。

通过对系统需求的分析,可以设计和开发一个高效可靠的银行储蓄系统,提供方便快捷的储蓄服务,满足用户的需求。

同时,需要密切关注系统的安全性、可扩展性和用户友好性,以确保系统的可靠性和用户满意度。

银行计算机储蓄系统的工作过程大致如下

银行计算机储蓄系统的工作过程大致如下

银行计算机储蓄系统的工作过程大致如下银行计算机储蓄系统是指银行内部采用计算机技术进行资金管理和储蓄业务处理的系统。

该系统包含了客户账户管理、资金存取和查询、账户计息等多种功能。

以下是银行计算机储蓄系统的工作过程大致如下:1. 客户开户客户在银行开立储蓄账户时,银行工作人员需要输入客户的个人信息和账户类型等信息,并生成客户账户信息记录。

这些信息将被存储在银行计算机储蓄系统的数据库中,以备后续使用。

2. 资金存取客户需要进行存款或提款时,工作人员会查询客户的账户信息,并输入相关信息,包括存款金额、提款金额、账户余额等。

银行计算机储蓄系统会根据这些信息进行资金存取操作,并更新客户的账户余额。

3. 账户管理银行计算机储蓄系统可以对客户账户进行管理,包括账户信息修改、账户冻结、账户解冻等操作。

这些操作需要经过授权的工作人员才能完成。

4. 账户计息在客户账户余额中,如果存在可计息部分,则银行计算机储蓄系统可以根据客户储蓄账户的利率,按照一定周期对客户账户进行计息。

计息过程将自动完成。

5. 资金转账客户之间需要进行资金转账时,银行计算机储蓄系统可以进行转账操作。

工作人员需要输入转账信息,并经过授权后才能完成该操作。

银行计算机储蓄系统会根据转账信息,在账户余额中扣除相应金额,并将转账金额转至目标账户。

6. 数据备份和恢复银行计算机储蓄系统需要定期进行数据备份,以防止系统出现异常或误操作导致数据丢失。

备份数据需要存储在安全的地方,并在需要时进行恢复操作,以确保系统数据的完整性和稳定性。

以上是银行计算机储蓄系统的工作流程大致如此,不同银行的具体实现会有所不同,但总体上均是围绕客户账户管理和资金操作展开的。

其中,系统的安全可靠性和数据处理能力是银行计算机储蓄系统的重要指标,需要得到严格保护和管理。

银行储蓄管理系统需求分析-数据流图

银行储蓄管理系统需求分析-数据流图
银行储蓄管理系统需求分析
F图为本系统的用户功能图:
F表列出了10项基本功能:
序号
作业
功能描述
1
ቤተ መጻሕፍቲ ባይዱ存款
:为银行用户提供各种存款操作,并记入数据库
2
取款
为用户提供所需的分为柜台取款和ATM取款两种操作
3
转账
提供网上转账和柜台转账
4
查询
提供在各种终端进行的查账操作以便于银行用户对自己的 账目进行管理
5
修改密码
可对密码、网上银行密码进行修改
6
利息
在数据变动之前自动计算上次利息并更新账目进行下一次 账目管理
7
报表
;对需要通过书面输出的信息进行整理打印
8
开户
为新用户开一个新帐户
9
销户
:为用户结算利息,并支出余额存款,并消除资料
10
管理
可对对银行内的储蓄业务上的资金流进行分析和查询

银行储蓄管理系统的设计与实现

银行储蓄管理系统的设计与实现

银行储蓄管理系统的设计与实现The Design And Implementation Of Bank Savings ManagementSystem摘要目前社会上各种存储管理系统正在飞速的发展,越来越多的银行企事业单位引入了储蓄管理系统软件来管理自己的日常存储信息数据,取得了非常好的效果,银行储蓄管理系统也在原有的基础上进一步将功能不断的加强和完善,为了使银行的存储系统更加的科学化,实用化,规范化,因此我开发了这次的银行存储管理系统,以方便人们的生活。

作为计算机应用领域的一部分,使用计算机对银行的储蓄系统进行管理,具有非常大的优势,因为现如今人们的生活变得越来越好,这促使了我国金融分行业的快速发展,所以对于以前手工管理的方式在银行储蓄管理这方面就需要非常大的事务量,这显然无法达到我们高质量高效率的服务水平,所以运用科学的管理方式将对我们以后的经济发展带来新的发展热潮。

银行储蓄管理系统是现代经济生活中的重要组成部分,该系统主要通过前台应用程序的开发及后台数据库的建立与维护两个方面来进行系统设计。

采用功能强大的VS2008作为开发工具、SQL2005作为数据库开发出来的企业工资管理系统,在整个系统数据库的建立和维护方面保持了数据的一致性、完整性与安全性。

本文着重介绍了该系统的功能与具体实现过程,其功能主要包括:用户开户、存款、取款、销户、灵活打印账单、用户修改密码等功能。

该系统适用的对象是银行营业员,营业员相当于管理员,当储户需要完成一定操作时,可以通过营业员操作该系统来完成一定的功能。

本论文主要论述的是银行储蓄管理系统的设计与实现。

本设计以Microsoft Visual Studio 2008为开发环境,采用当前比较流行的C#[1]编程语言进行编码,数据库采用的是Microsoft SQL Server 2005。

采用的开发模式为当下最为流行的C/S架构模式。

本文的层次结构分为五大章节,第一章主要讲述的是此次开发的银行管理系统的课题背景、研究目的及意义、国内外研究现状、以及开发环境的介绍;第二章主要介绍此次开发所要准备的各种相关材料和需求分析、可行性分析、所要实现的功能分析、以及相关的业务流程图和实体E-R图;第三章主要概述该系统的主题设计,包括主要的功能设计分析以及用到的数据库的创建;第四章主要简述系统的主要功能设计,包括前台登录页面的设计、添加用户设计、开户设计、销户设计、挂失设计和取消挂失等设计;第五章主要讲解系统软件的测试,主要介绍软件测试的理论知识和所要用到的相关技术、各模块的软件测试,总结系统的不足。

01-银行储蓄管理系统-可行性分析

01-银行储蓄管理系统-可行性分析

01_银行储蓄管理系统-可行性分析银行储蓄治理系统可行性分析目录一、引言41.1编写目的41.2背景41.3参考资料4二、可行性研究的前提42.1差不多要求42.1.1 功能要求42.1.2 性能要求42.1.3 接口要求42.1.4 输入要求52.1.5 输出要求52.2开发目标52.3限制条件52.3.1 开发时刻(只限于近期目标) 52.3.2 运行环境52.3.3 使用寿命52.3.4 进行可行性研究的方法6三、对现有系统的分析63.1当前系统的处理流程和数据流程(系统流程图)6 3.2 工作负荷 63.3 人员73.4 局限性7四、建议的新系统74.1对新系统的讲明74.2新系统的数据流程和处理流程74.2.1 数据流程图74.2.1.1 存款流程图: 74.2.1.2 取款流程图: 74.2.2 数据字典84.3 改进 94.4 新系统的阻碍94.4.1 对现行系统的阻碍94.4.2 对银行业务员的阻碍94.4.3 对客户的阻碍104.5 局限性104.6 技术条件方面的可行性10五、可供选择的其他系统方案10六、投资及收益分析106.1 投资估量(限于一个分行)10 6.1.1 基础投资106.2 收益分析116.2.1 精减人员收益116.2.2 整体收入增加11七、社会方面的可行性117.1 法律方面的可行性 117.2用户可行性11一、引言1.1编写目的通过对该银行储蓄系统项目进行详细调查研究, 初拟系统实现报告, 对软件开发中将要面临的咨询题及其解决方案进行可行性分析。

明确开发风险及其所带来的经济效益。

本报告经审核后, 交由软件经理审查。

1.2背景项目名称: 银行运算机储蓄系统用户: ××银行讲明:现在的银行储蓄系统工作效率低, 不能满足宽敞人民群众的要, 人们期望能更方便更省时地办理储蓄业务。

在如此的背景下, 切需要建立一个新的、高效的、方便的运算机储蓄系统。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

燕山大学三级项目设计说明书题目:银行储蓄管理系统学院(系):信息学院年级专业:教育技术学15—1学号:学生姓名:付叶禹郑凯峰李文悦王宇晨李晓晗指导教师:梁顺攀教师职称:副教授燕山大学三级项目设计(论文)任务书院(系):信息学院教学单位:说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。

年月日燕山大三级项目设计评审意见表摘要论文阐述的是在SQL server 2008开发环境下对银行储蓄管理系统的设计。

希望通过该系统的应用,能促使银行储蓄管理工作的规范化、标准化和自动化,提高管理水平和管理效率,为管理工作提供更完善的信息服务和一个成功的信息管理系统。

数据库是一个非常重要的条件和关键技术,管理系统所涉及的数据库设计分为:数据库需求分析、概念设计、逻辑设计过程。

本论文叙述了数据库设计的全过程。

主要分为:1. 系统需求分析与功能设计阶段,包括功能需求、性能需求、数据需求、系统功能框图、系统总体数据流图及分模块数据流图、数据字典。

2. 总体设计阶段,包括系统总体功能模块图、功能模块描述、输入输出及统计查询等功能模块。

3. 概念设计阶段,包括系统各个模块的ER图及系统的总ER图。

4.逻辑结构设计阶段,包括系统各个模块的ER图所转化的关系模式。

关键词:数据库设计;管理系统; SQL server 2008;目录摘要......................................................1 绪论................................... 错误!未定义书签。

1.1项目背景............................. 错误!未定义书签。

1.1编写目的............................. 错误!未定义书签。

1.1软件定义............................. 错误!未定义书签。

1.1开发环境............................. 错误!未定义书签。

2 系统需求分析 (2)2.1信息与功能需求 (2)2.2业务处理需求 (2)2.3数据流图 (3) (3) (4)2.4安全性与完整性要求 (8)2.5数据字典 (8)2.5.1储户基本信息表 (8)2.5.2交易记录表 (9)2.5.3利息信息表 (10) (11)3系统设计 (12)3.1系统总体设计 (12) (12) (12) (13)3.2数据库设计 (16) (16) (21)总结 (22)参考文献资料 (23)1 绪论1.1 项目背景由于中国的金融业在进入21世纪后的飞速发展,原有的工人记账已经不适合今天的生活了,同时以前的部分银行虽然使用了计算机储蓄系统,但是运算量小,功能单一等问题一直影响银行的工作效率。

1.2 编写目的为了优化银行储蓄系统的计算机管理,并且熟悉和熟练掌握数据库课程的上机操作,编写此系统。

1.3 软件定义本系统用来实现储户基本信息,储户交易记录,储户利息所得情况等存储和操作。

1.4 开发环境开发环境为SQL Server2008.2 系统需求分析2.1信息与功能需求系统中存有储户基本信息表、交易信息表、利息信息表。

储户通过查询、修改等操作实现对以上表的数据的检索与更新。

储户基本信息包括储户编号、姓名、性别、年龄、身份证号等,交易信息包括储户编号、交易编号、交易内容交易窗口等,返利信息包括储户编号、利率、存款时长、存款类型等。

2.2 业务处理需求储户需要完成的处理功能有:增加新储户,更改储户信息,增加交易信息,查询返利信息,更改交易信息,修改返利信息,按照储户信息或者交易信息进行查询和统计等。

系统的功能框图:2.3 数据流图储户信息1 储户信息储户信息新储户信息2.4 安全性与完整性要求因为银行储蓄管理系统关系到银行及其储户的重要信息,所以对于银行而言对安全保密性的要求非常严格,此系统是面向银行工作人员的,要求有工作人员账户和密码才可以登录,使用系统,因此对该系统使用的权限要求比较高。

任何软件都有缺陷,对于银行储蓄管理系统在银行或储蓄的需求发生变化时,增加一个新的功能模块,要求系统能够很好地对其进行扩充,更好的完整该系统。

2.5 数据字典名字:储户基本信息表别名:储户基本信息描述:银行储户的基本信息定义:储户基本信息表=账号+密码+姓名+性别+身份证号+联系方式+地址+开户存储金额说明位置:输出到显示器名字:账号别名:描述:各个储户的编号定义:账号=19{字符}19位置:储户基本信息表名字:密码别名:描述:各个储户的密码定义:密码=18{字符}18位置:储户基本信息表名字:姓名别名:描述:各个储户的姓名定义:姓名=6{字符}6位置:储户基本信息表名字:性别别名描述:各个储户的性别定义:性别=2{字符}2位置:储户基本信息表名字:身份证号别名:描述:各个储户的身份证号定义:身份证号=18{字符}18 位置:储户基本信息表名字:联系方式别名:描述:各个储户的联系方式定义:联系方式=11{字符}11 位置:储户基本信息表名字:地址别名:描述:各个储户的地址定义:地址=20{字符}20位置:储户基本信息表名字:存储金额别名:描述:各个储户存储金额定义:存储金额=8{字符}8 位置:储户基本信息表名字:交易记录表别名:定义:交易基本信息=活期存款数目+定期存款数目+活期取款数目+定期取款数目+定期提前取款数目+转账钱数位置:输出到显示器名字:活期存款数目别名:描述:储户存进银行的可随时取出的钱数定义:存款数目=10{字符}10位置:交易记录表名字:定期存款数目别名:描述:储户存进银行的定期取出的钱数定义:存款数目=9{字符}9位置:交易记录表名字:活期取款数目别名:定义:8{字符}8位置:交易记录表名字:定期取款数目别名:到期取款数目描述:储户到了规定的时间取出的钱数定义:7{字符}7位置:交易记录表名字:定期提前取款数目别名:描述:储户未到期限提前取出的钱数定义:6{字符}6位置:交易记录表名字:转账钱数别名:描述:从一个账户转到其他账户的资金定义:5{字符}5位置:交易记录表名字:储户利息信息表别名:储户利息信息描述:储户存取款后的利息信息定义:储户利息信息=储户编号+储户存款类型+储户存款时长位置:输出到显示器名字:储户编号别名:存款号描述:各个储户的编号定义:储户编号位置:储户基本信息表名字:储户存款类型别名:储户存款类型描述:储户存款是活期还是死期定义:存款种类位置:储户利息信息表名字:储户存款时长别名:储户存款时长描述:储户活期存款的时间长短定义:存款时间长短位置:储户利息信息表名字:用户密码表别名:用户密码信息描述:管理员的登录用户名与登录密码定义:用户密码信息=用户名+密码位置:用户密码表名字:用户名别名:描述:管理员登录系统时的用户名定义:用户名=10{字符}10位置:用户密码表名字:密码别名:描述:管理员登录系统的密码定义:密码=10{字符}10 位置:用户密码表3 系统设计3.1 系统总体设计3.1.1 系统功能模块图3.1.2 功能模块描述模块名:储户基本信息管理子模块功能描述:根据储户基本信息表的存储,完成对储户基本信息的增加、修改、删除、查询等操作,并且可以增加新储户。

模块名:交易信息管理子模块功能描述:储户在银行进行的存款,取款,通过对账户的修改来实现信息可视化。

模块名:储户利息信息管理子模块功能描述:根据储户基本信息以及储户存款类型和存款时长等根据当时利率计算出当时应得的利息。

模块名:统计查询管理子模块功能描述:对银行交易记录进行统计查询,输入某一日期,即可查询当天所有的收入和支出详情,并且对储户进行统计查询,输入某一储户信息,即可查询该储户在银行所有的交易记录。

3.1.3 子功能模块图储户基本信息管理模块增加、修改、删除、查询增加输入:身份证号,姓名,性别,联系方式,地址查询利息信息按储户信息:输入:储户姓名,身份证号码,年龄,性别(日期)按银行日期:输入:日期3.2 数据库设计3.2.1 数据库概念结构设计储户基本信息管理模块交易记录模块利息信息模板统计查询模块3.2.2 数据库逻辑结构设计关系模式如下储户基本信息管理子模块:对每个实体和联系定义的属性如下:储户基本信息(账号,姓名,地址,性别,联系方式,年龄,密码,身份证号,存储金额)管理员(管理员编号,管理员密码)修改(账号,管理员编号)增加(账号,管理员编号)删除(账号,管理员编号)查询(账号,密码,管理员编号)交易基本信息管理子模块:储户(姓名,账户名,账户余额,套餐,账户类型)银行交易记录(日期,收入,支出)存款(帐号,姓名,存款期限)取款(帐号,姓名,利息,取款期限)转账(帐号,姓名,转账对象,转账类型)储户利息信息管理子模块:储户利息信息(储户编号,储户姓名,存款类型,存款时长)管理员(管理员编号,管理员密码)修改(储户编号,管理员编号)查询(储户编号,管理员编号)统计查询管理子模块:储户基本信息(账号,姓名,地址,性别,联系方式,年龄,密码,身份证号,存储金额)银行交易(日期,员工工资,收入,支出)管理员(管理员编号,管理员密码)统计查询(账号,银行交易日期,管理员编号)总结在我们团队集体的努力下,我们完成了我们的第一个三级项目课程设计。

在这个过程中我们收获了很多,对数据库的需求分析,数据库的设计,以及对数据流图和E-R图的制作有了更深刻的了解,在老师的指导下,参考了一些文献,对我们的完成也帮助颇多。

在这次过程中,我们不仅学到了一些书本上的东西,更是深刻意识到团队合作的重要性,一个人单薄的力量是很难完成这些任务的。

但是这次过程中,我们也遇到了很多困难和不懂的地方,而且我们的课程设计,我们自知不是特别好,我们还是设想有些浅显,对银行的整体运行可能还是不够了解充分,完成的功能也不够多,但我们还是会继续努力。

参考文献资料1.数据库系统概论(第五版).王珊,萨师煊.高等教育出版社.20162.李春葆等.数据库原理与应用—基于SQL Server2005.清华大学出版社.20093.白尚旺等.PowerDesigner软件工程技术.电子工业出版社.20044.张海藩软件工程导论(第五版) 清华大学出版社.2008。

相关文档
最新文档