软件工程课程设计银行储蓄管理系统
c银行储蓄管理系统课程设计
c 银行储蓄管理系统课程设计一、教学目标本课程旨在让学生了解和掌握银行储蓄管理系统的相关知识,通过学习,学生能够理解银行储蓄管理的基本概念,掌握银行储蓄管理的基本操作,并能够运用所学知识分析和解决实际问题。
具体目标如下:1.理解银行储蓄管理的基本概念和原理。
2.掌握银行储蓄管理的基本操作流程。
3.了解银行储蓄管理的法律法规。
4.能够运用银行储蓄管理系统进行日常操作。
5.能够对银行储蓄管理数据进行分析。
6.能够独立完成银行储蓄管理项目的实施和维护。
情感态度价值观目标:1.培养学生遵守法律法规,诚实守信的意识。
2.培养学生团队合作,积极进取的精神。
3.培养学生关注社会,服务社会的责任感。
二、教学内容本课程的教学内容主要包括银行储蓄管理的基本概念、基本操作和法律法规。
具体安排如下:1.银行储蓄管理的基本概念:介绍银行储蓄管理的定义、特点和作用。
2.银行储蓄管理的基本操作:讲解银行储蓄管理的操作流程,包括开立账户、存款、取款、转账等。
3.银行储蓄管理的法律法规:介绍我国银行储蓄管理的法律法规体系,包括《银行业监督管理法》、《储蓄存款条例》等。
三、教学方法为了提高教学效果,本课程将采用多种教学方法,包括讲授法、案例分析法、实验法等。
1.讲授法:通过讲解银行储蓄管理的基本概念、基本操作和法律法规,使学生掌握相关知识。
2.案例分析法:通过分析实际案例,使学生了解银行储蓄管理在实际工作中的应用。
3.实验法:通过模拟实验,让学生亲自动手操作,提高学生的实际操作能力。
四、教学资源为了支持教学内容的实施和教学方法的应用,我们将准备以下教学资源:1.教材:选用权威、实用的银行储蓄管理系统教材,作为学生学习的主要参考资料。
2.参考书:推荐学生阅读相关的参考书籍,丰富学生的知识体系。
3.多媒体资料:制作精美的PPT,生动形象地展示银行储蓄管理的相关内容。
4.实验设备:准备计算机、投影仪等实验设备,为学生提供动手操作的机会。
软件工程银行储蓄管理系统设计[2]
软件实现报告1.设计目的该阶段是系统开发过程的最后一个阶段,按照前三个阶段的设计,在这个阶段要选择适当的计算机语言来编写程序以及实现该软件的各项功能,并且对软件设计测试方法。
2.软件源代码如下:(1)银行储蓄系统Private Sub cunkuan0_Click()Unload Mecunkuan.ShowEnd SubPrivate Sub denglu1_Click()Unload Medenglu.ShowEnd SubPrivate Sub Form_Load()If flag = 0 Thendenglu1.Enabled = Truezhukong.Enabled = Falsetuichu.Enabled = FalseElseIf flag = 1 Thendenglu1.Enabled = Falsezhukong.Enabled = Truetuichu.Enabled = TrueElseIf flag = 2 Thendenglu1.Enabled = Falsezhukong.Enabled = Falsetuichu.Enabled = FalseElseEndEnd IfEnd IfEnd IfEnd SubPrivate Sub kaihu0_Click()Unload Mekaihu.ShowEnd SubPrivate Sub qukuan0_Click()Unload Mequkuan.ShowEnd SubPrivate Sub tuichu_Click()flag = 0Unload Mekaishi.ShowEnd SubPrivate Sub xiaohu0_Click()Unload Mexiaohu.ShowEnd SubPrivate Sub xingaimima0_Click()Unload Mexiugaimima.ShowEnd SubPrivate Sub zhaxun0_Click()Unload Mechaxun.ShowEnd SubPrivate Sub zhuanzhang0_Click()Unload Mezhuanzhang.ShowEnd Sub(2)查询Private Sub Command1_Click()Set con = New ADODB.Connectioncon.Open connectstringSet rst = New ADODB.Recordsetrst.Open "select * from zhanghaoxinxi where zhanghao='" & Text1.Text & "'", con, adOpenKeyset, adLockOptimisticIf rst.BOF And rst.EOF ThenMsgBox "此用户不存在!"ElseIf Text2.Text = rst!mima Thenchaxunyue.Text1.Text = Text1.TextUnload Mechaxunyue.ShowEnd IfEnd Ifrst.Closecon.CloseEnd SubPrivate Sub Command2_Click()flag = 1Unload Mekaishi.ShowEnd Sub(3)查询余额Private Sub Command1_Click()cunqukuanrili.Text1.Text = Text1.TextUnload Mecunqukuanrili.ShowEnd SubPrivate Sub Command2_Click()yonghuxinxi.Text1.Text = Text1.TextUnload Meyonghuxinxi.ShowEnd SubPrivate Sub Command3_Click()flag = 1Unload Mekaishi.ShowEnd Sub(4)登录Private Sub Command1_Click()Set con = New ADODB.Connectioncon.Open connectstringSet rst = New ADODB.Recordsetrst.Open "select * from yonghuxixin", con, adOpenKeyset, adLockOptimistic If rst.BOF And rst.EOF ThenIf Text1(0).Text = "gyn" And Text2(1).Text = "000" Thenflag = 1Unload Mekaishi.ShowElseMsgBox "输入不正确!"End IfElseDo While Not rst.EOFIf rst!yonghudaihao = Text1(0).Text ThenIf rst!mima = Text2(1).Text Thenflag = 1Unload Mekaishi.ShowEnd IfEnd Ifrst.MoveNextLooprst.Closecon.CloseIf flag = 0 ThenMsgBox " 此用户不存在!"End IfEnd IfEnd SubPrivate Sub Command2_Click()flag = 0Unload Mekaishi.ShowEnd Sub(5)开户Private Sub Command1_Click()If Text1.Text = "" ThenMsgBox "姓名不能为空"Text1.SetFocusEnd IfIf Text4.Text = "" ThenMsgBox "身份证号码不能为空"Text4.SetFocusEnd IfSet con = New ADODB.Connectioncon.Open connectstringSet rst = New ADODB.Recordsetrst.Open "select * from yonghuxinxi1", con, adOpenKeyset, adLockOptimistic rst.AddNewrst!shenfengzheng = Text4.Textrst!xingming = Text1.Textrst!xingbie = Text5.Textrst!zhuzhi = Text2.Textrst!dianhua = Text3.Textrst.Updatekaihu1.Text2.Text = Text1.Textkaihu1.Text8.Text = Text5.Textkaihu1.Text3.Text = Text4.Textkaihu1.Text4.Text = Text2.Textkaihu1.Text5.Text = Text3.Textrst.Closecon.CloseUnload Mekaihu1.ShowEnd SubPrivate Sub Command2_Click()flag = 1kaishi.ShowEnd Sub(6)销户Private Sub Command1_Click()yonghuxinxi.Text1.Text = Text1.TextUnload Meyonghuxinxi.ShowEnd SubPrivate Sub Command2_Click()Set con = New ADODB.Connectioncon.Open connectstringSet rst = New ADODB.Recordsetrst.Open "select * from zhanghaoxinxi", con, adOpenKeyset, adLockOptimistic If rst.BOF And rst.EOF ThenMsgBox "无记录,请先插入记录!"ElseDo While Not rst.EOFIf rst!zhanghao = Text1.Text ThenIf rst!mima = Text2.Text Thenrst.Deleterst.UpdateElseMsgBox "密码不正确!"End IfEnd Ifrst.MoveNextLoopIf rst.EOF ThenMsgBox "此用户不存在!"End Ifrst.Closecon.CloseEnd Ifrst.Closecon.CloseEnd SubPrivate Sub Command3_Click()flag = 1Unload Mekaishi.Show(7)修改密码Private Sub Command1_Click()Set con = New ADODB.Connectioncon.Open connectstringSet rst = New ADODB.Recordsetrst.Open "select * from zhanghaoxinxi where zhanghao='" & Text1.Text & "'", con, adOpenKeyset, adLockOptimisticIf rst.BOF And rst.EOF ThenMsgBox "此用户不存在!"ElseIf Text2.Text = rst!mima Thenxiugaimima1.Text1.Text = Text1.Textxiugaimima1.Text4.Text = Text2.TextUnload Mexiugaimima1.ShowEnd IfEnd Ifrst.Closecon.CloseEnd Sub(8)修改密码1Private Sub Command1_Click()If Text2.Text <> Text3.Text ThenMsgBox "密码不一致!"ElseSet con = New ADODB.Connectioncon.Open connectstringSet rst = New ADODB.Recordsetrst.Open "select * from yonghuxixin where yonghudaihao= '" & Text1.Text & "'", con, adOpenKeyset, adLockOptimisticrst!mima = Text3.Textrst.Updaterst.CloseSet rst = New ADODB.Recordsetrst.Open "select * from zhanghaoxinxi where zhanghao= '" & Text1.Text & "'", con, adOpenKeyset, adLockOptimisticrst!mima = Text3.Textrst.UpdateMsgBox "修改成功!"rst.Closecon.CloseEnd IfSet con = New ADODB.Connectioncon.Open connectstringSet rst = New ADODB.Recordsetrst.Open "select * from cunkuanrili", con, adOpenKeyset, adLockOptimisticrst.AddNewrst!zhanghao = Text1.TextDim nowtime As Stringnowtime = Nowrst!caozuoriqi = Format(nowtime, "yyyy") + "-" + Format(nowtime, "mm") + "-" + Format(nowtime, "dd") + "-" + Format(nowtime, "hh") + ":" + Format(nowtime, "nn") + ":" + Format(nowtime, "ss")rst!caozuo = "修改密码"rst.Updaterst.Closecon.CloseEnd SubPrivate Sub Command3_Click()flag = 1Unload Mekaishi.ShowEnd Sub(9)转账Private Sub Command1_Click()Set con = New ADODB.Connectioncon.Open connectstringSet rst = New ADODB.Recordsetrst.Open "select * from zhanghaoxinxi where zhanghao='" & Text3.Text & "'", con, adOpenKeyset, adLockOptimisticIf rst.BOF And rst.EOF ThenMsgBox "此用户不存在!"ElseIf Text4.Text = rst!mima Thenrst!zhanghuyue = CInt(rst!zhanghuyue) - CInt(Text2.Text)rst.Updaterst.CloseSet rst = New ADODB.Recordsetrst.Open "select * from zhanghaoxinxi where zhanghao='" & Text1.Text & "'", con, adOpenKeyset, adLockOptimisticIf CInt(Text2.Text) > rst!zhanghuyue ThenMsgBox "余额不足!"Elserst!zhanghuyue = CInt(rst!zhanghuyue) + CInt(Text2.Text)rst.Updaterst.Closecon.CloseEnd IfEnd IfEnd IfEnd SubPrivate Sub Command3_Click() flag = 1Unload Mekaishi.ShowEnd Sub3.部分界面如下:。
软件工程-银行计算机储蓄系统
课程设计报告课程名称软件工程课程设计课题名称银行储蓄系统专业计算机科学与技术班级计算机0701学号33姓名钟彪指导教师冯剑2010年6 月2 日《软件工程》实验指导书实验一可行性研究一.实验目的熟悉可行性研究。
二.实验要求实验时间:2学时,使用Word写出可行性研究报告。
三.实验内容采用结构化分析方法进行可行性研究,绘制数据流图,编制可行性研究报告。
四.实验步骤1.引言1.1编写目的1.2项目背景1.3术语说明1.4.系统参考文献参考文献见附录2.可行性研究的前提2.1基本要求(1)功能(2)性能(3)系统的输入和输出(4)处理流程(5)安全保密要求(6)完成期限要求系统完成期限为12个月。
2.2开发目标开发目标应考虑的因素:(1)人力与设备费用的相对减少(2)业务处理速度的提高(3)计算的准确度和精度的提高(4)人员利用率的改进2.3具备条件项目开发中所具备的条件,假定和限制:(1)目标系统运行寿命系统运行寿命的最小值应达三年。
(2)进行系统方案选择比较的时间一个月(3)经费,投资来源经费来源于专业银行(4)软硬件,运行环境和开发环境硬件环境PII或更高档微机运行时内存要求:2MB;安装所需硬盘:10MB打印机:1q_1600k软件环境中文Windows98/20002.4.可行性研究的方法(1)客户调查(2)专家咨询(3)市场调查2.5.评价尺度各项功能的优先次序,开发时间的长短及使用中的难以程度。
3.对现有系统的分析现有系统存在着数据不易更新、容易丢失、容易出错、查询效率低。
业务人员工作强度大,储户等待服务时间长等缺点。
4.目标系统的技术可行性分析4.1对目标系统的简要描述系统采用常规的数据库管理方法4.2流程图给出数据流图4.3与现有系统进行比较系统有利于数据集中,时空利用率高易更新,易备份,查询速度快,响应速度快,基本消除了现有系统的种种缺陷,更为广大储户和柜台工作人员所接受。
4.4采用建议系统可能带来得影响系统极大提高了用户查询相关信息的命中率,有利于决策优化和提高工作效率。
软件工程课程设计_银行储蓄系统
银行储蓄系统系统设计报告目录一、引言 (3)1.编写目的 (3)2.项目背景 (3)3.开发人员 (3)4.参考文献 (3)二、问题定义 (4)1.目标 (4)2.系统功能 (4)三、可行性研究分析 (4)四、需求分析 (5)1. 功能需求分析 (5)2. 建立功能模型和数据需求 (5)3. 建立逻辑模型 (13)4. 建立行为模型 (14)5. 性能需求分析 (14)6. 系统可用性和可靠性需求分析 (14)五、概要设计报告 (15)1 数据库概要设计 (15)2 系统总体设计 (16)3 测试计划 (17)4 接口设计 (17)5 运行设计 (18)6 出错处理设计 (18)7 安全保密设计 (18)8 维护设计 (18)六、详细设计报告 (19)1 用户界面设计 (19)2 测试用例及预测结果 (25)七、运行环境和编译环境说明书 (27)1 开发编译环境 (27)2 运行使用环境 (27)3 错误处理 (27)八、总结报告 (28)1一、引言1、编写目的为了规范化软件开发,提高开发过程的能见度,便于控制和管理软件开发过程,提高软件质量,降低开发风险,减少需求变更,便于日后的维护工作,文档定制了软件开发的细节问题,明确软件需求,便于与用户协调开发,确认需求。
对软件的开发相关文档及用户使用手册进行了整理。
2、项目背景非电子化的银行储蓄系统工作效率较低,且安全性,准确性得不到保证。
越来越满足不了用户的需求和银行自身发展的需要。
建立一个高效,准确,方便,安全的银行储蓄系统是用户需求和技术进步的共同推动。
3、开发人员组长:xxx组员:xx xxx xxx xxx xxxxx作为项目经理,在人员沟通,质量管理,进度管理,风险管理方面进行了着重管理,并对里程碑进行了评审,确认。
并对变更进行评审,控制,记录。
需求分析以及系统编码由xxx完成。
用户界面设计以及系统测试由xxx完成。
数据库设计工作由xx完成。
数据库课程设计 银行储蓄管理系统
《数据库系统概论》课程设计报告设计题目:银行储蓄管理系统姓名:学号:班级:设计起止时间:需求分析:在对软件工程相关知识学习之后,我们对设计软件有了基本的认识和一些应用技能。
在数据库的课程设计中,我们计划做一个小型的银行储蓄管理系统,包括了基本的存取转,和管理员对日常工作的管理功能。
功能设计:(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.掌握银行储蓄管理系统的基本原理和工作流程。
3.学习银行储蓄管理系统的常见功能和操作方法。
4.能够运用银行储蓄管理系统进行账户管理、交易处理和报表生成。
5.熟悉银行储蓄管理系统在日常银行业务中的应用。
三、课程大纲1. 银行储蓄管理系统简介•银行储蓄管理系统定义•银行储蓄管理系统的重要性•银行储蓄管理系统的分类和功能2. 银行储蓄管理系统的基本原理•银行储蓄管理系统的组成结构•数据存储和管理原理•系统安全和权限控制3. 银行储蓄管理系统的常见功能•客户信息管理•账户管理和资金调拨•交易处理和结算•报表生成和分析4. 银行储蓄管理系统的操作方法•登录系统和权限设置•客户信息录入和修改•账户开立和关闭•交易处理和查询•报表生成和导出5. 银行储蓄管理系统的应用案例•日常存取款操作•贷款和利息计算•资金清算和风险控制•报表分析和经营决策支持四、教学方法本课程将采用讲授理论知识、案例分析和实际操作相结合的教学方法。
学生将通过课堂授课、实验操作和作业练习等方式,逐步掌握银行储蓄管理系统的相关知识和技能。
五、评估方式学生将通过课堂参与、实验报告、作业考核和综合考试等方式进行评估。
其中,实验操作和项目练习将占据较大比重,以考察学生对银行储蓄管理系统的实际应用能力。
六、参考资料1.《银行信息管理系统概论》2.《银行电子商务技术与应用》3.《金融信息系统案例分析》以上为银行储蓄管理系统课程设计的大致框架,希望学生在学习过程中能够认真对待、勤奋学习,掌握系统知识和技能,为将来的职业发展做好准备。
软件工程——银行储蓄系统 -
软件工程——银行储蓄系统 -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.法律名词及注释- 存款:客户将资金存入银行账户- 取款:客户从银行账户中取出资金- 余额查询:客户查询账户中的余额情况- 转账:客户将资金从自己的账户转入其他账户- 收款:客户接收他人转账的资金。
c银行储蓄管理系统课程设计
c 银行储蓄管理系统课程设计一、教学目标本课程旨在让学生了解和掌握银行储蓄管理的基本原理和方法,培养学生运用编程技能解决实际问题的能力。
具体目标如下:1.知识目标:使学生掌握银行储蓄管理的基本概念、业务流程和常用算法;了解编程语言在银行储蓄管理中的应用。
2.技能目标:培养学生使用编程语言进行银行储蓄管理系统的开发和调试;培养学生独立分析问题、解决问题的能力。
3.情感态度价值观目标:培养学生对银行储蓄管理工作的热爱和敬业精神,提高学生对社会金融行业的认识和责任感。
二、教学内容1.银行储蓄管理概述:介绍银行储蓄管理的定义、作用和业务范围。
2.银行储蓄业务流程:讲解银行储蓄业务的各个环节,包括开户、存钱、取钱、转账等。
3.常用算法:介绍在银行储蓄管理中常用的算法,如排序、查找等。
4.编程语言应用:学习编程语言的基本语法,掌握使用编程语言实现银行储蓄管理系统的关键技术。
5.项目实践:以小组为单位,学生自主设计并开发一个简单的银行储蓄管理系统。
三、教学方法1.讲授法:教师讲解银行储蓄管理的基本概念、业务流程和常用算法。
2.案例分析法:分析实际案例,让学生了解编程语言在银行储蓄管理中的应用。
3.实验法:学生动手实践,开发和调试银行储蓄管理系统。
4.讨论法:分组讨论,引导学生独立分析问题、解决问题。
四、教学资源1.教材:选用国内权威出版社出版的银行储蓄管理教材。
2.参考书:推荐学生阅读与银行储蓄管理相关的国内外经典著作。
3.多媒体资料:制作课件、视频等,为学生提供丰富的学习资源。
4.实验设备:为学生提供计算机、网络等实验设备,确保实验教学的顺利进行。
五、教学评估本课程的教学评估将采用多元化的评估方式,以全面、客观、公正地评价学生的学习成果。
评估方式包括:1.平时表现:评估学生在课堂上的参与程度、提问回答等情况,以考察学生的学习态度和积极性。
2.作业:布置课后作业,评估学生的理解和应用能力,以及对银行储蓄管理知识掌握的程度。
管理信息系统课程设计--银行储蓄管理系统
管理信息系统课程设计--银行储蓄管理系统管理信息系统课程设计银行储蓄管理系统一、引言随着经济的快速发展和金融行业的日益繁荣,银行储蓄业务作为金融服务的重要组成部分,对于银行的运营和管理至关重要。
为了提高银行储蓄业务的效率和服务质量,设计一个高效、稳定、安全的银行储蓄管理系统成为了必然需求。
本课程设计旨在开发一个功能齐全、操作便捷的银行储蓄管理系统,以满足银行储蓄业务的日常管理和客户需求。
二、系统需求分析(一)功能需求1、开户管理:能够为新客户办理储蓄账户开户手续,包括收集客户信息、设置账户类型、初始存款等。
2、存款与取款:支持客户进行存款和取款操作,实时更新账户余额。
3、账户查询:客户可以查询自己账户的余额、交易明细等信息。
4、利息计算:根据不同的储蓄类型和利率,自动计算账户利息。
5、转账业务:实现客户账户之间的资金转账。
6、报表生成:生成各类储蓄业务报表,如日结报表、月结报表等,供银行管理人员进行分析和决策。
(二)性能需求1、响应时间:系统对于各种操作的响应时间应在可接受范围内,确保客户体验良好。
2、稳定性:系统应能够长时间稳定运行,避免出现故障和数据丢失。
3、安全性:保障客户信息和资金的安全,防止数据泄露和非法操作。
(三)数据需求1、客户信息:包括姓名、身份证号码、联系方式等。
2、账户信息:账户号码、账户类型、余额、开户日期等。
3、交易记录:存款、取款、转账的时间、金额、操作类型等。
三、系统设计(一)总体架构设计银行储蓄管理系统采用 C/S(客户端/服务器)架构,客户端负责与用户进行交互,服务器端负责数据存储和业务逻辑处理。
系统分为表示层、业务逻辑层和数据访问层。
表示层:采用图形用户界面(GUI),为用户提供直观、友好的操作界面。
业务逻辑层:处理各种业务逻辑,如开户、存款、取款、转账等。
数据访问层:负责与数据库进行交互,实现数据的增删改查操作。
(二)数据库设计1、数据库表结构设计客户表(customer):包含客户编号(customer_id)、姓名(name)、身份证号码(id_number)、联系方式(contact_info)等字段。
软件工程课程设计银行储蓄管理系统
开发人员需要大约5个,其中包括1名数据库设计人员,1名界面UI人员,1名编码人员,1名系统测试人员。他们均应具有丰富的开发经验,该条件可以满足。
开发期限为一年,在规定时限内可以完成开发技术基础也已经非常雄厚,因而技术上的是可行的。
8参考文献23
1问题定义
随着社会经济的发展,信息化程度的不断深入,银行的传统业务已不能满足客户的需求。现今,人们的科技意识已经有了很大的提高,在紧张忙碌的生活中已越来不习惯每天奔波于银行营业柜台去办理各种业务,利用电子化的手段构建一个高效统一的、通用灵活的系统来管理各种各样的业务,是当前每个商业银行都要研究的课题。因此如何应用计算机技术加强银行账户管理是当前迫切需要解决的一个问题。所以本次课程设计是模拟银行账户的管理,开发一个银行个人账户管理系统。设计思想是一切为使用者着想,操作尽量简单明了,努力做到每一个用户都可以使用这个系统来办理自己的业务。并且通过该银行账户管理系统地运行,可以使办公人员轻松快捷的完成对账户管理的任务,提高招募管理效率,是银行的账目管理工作系统化、规范化、自动化。主要用于银行的储蓄卡管理系统,它可以帮组我们有效、准确、并且高效实现的完成存取事件。系统操作方便效率、安全性高、只要开户并设定好密码就可以轻松的实现存取款。
2.4.2
本系统的系统流程图如下图所示:
图2.1系统流程图
2.4.3
本系统的数据流图如下图所示:
存款单存单
事物
存款信息
取款单利息清单
密码
2.5
主要是对项目经济效益进行评价,一方面是支出的费用,其中包括设备的购置费,软件开发费,管理和维护费,人员工资和培训费等。另一方面是取得的收益可以用钱来衡量的那部分以及使用本系统而提高的效率,节约的人力物力。
软件工程课程设计银行储蓄管理系统样本
目录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 取款机基本信息表、用户银行存款信息表、管理系统的用户口令表、银行系统的用户信息表等数据表。
软件工程课程设计银行储蓄管理系统
资源利用率:评估 系统对硬件资源的 占用情况
数据库优化:采用索引、分区等技术提高查询效率 代码优化:精简冗余代码,提高代码复用率 系统架构优化:采用微服务、分布式等技术提高系统可扩展性和可靠性 安全性优化:加强数据加密、权限控制等措施保障系统安全
评估现有系统的性能和功能 分析系统瓶颈和潜在的改进点 确定升级和改进的目标和需求 制定升级和改进的方案和计划
用户登录验证功能 存款、取款功能
账户管理功能 查询余额功能
系统安全性:确保 数据安全,防止未 经授权的访问和篡 改。
系统稳定性:确保 系统在高负载和复 杂环境下能够稳定 运行。
系统可扩展性:为 未来功能扩展和升 级提供足够的空间 和支持。
系统易用性:提供 用户友好的界面和 操作体验,方便用 户快速上手和使用。
软件工程课程设计银行储蓄管理系统的应用具有广泛的实际意义,可以为银行储蓄业 务提供更好的服务,提高客户满意度,增强银行的市场竞争力
背景:软件工程课程设计银行储蓄管理系统是为了满足银行储蓄业务的需求,提高银行业务处理效率和客户满意度。 目的:通过软件工程课程设计,使学生掌握软件设计的基本原理和方法,提高软件开发和维护的能力。 意义:该系统的开发有助于提高学生的实践能力,培养创新思维和团队协作精神,为未来的软件开发工作打下基础。
菜单栏:包含所有功能选项, 方便用户快速访问
用户界面布局:简洁明了, 易于操作
工具栏:提供常用功能快捷 方式,提高操作效率
状态栏:显示系统状态和提示 信息,帮助用户更好地了解系
统运行情况
用户身份验证:采用 用户名和密码进行身 份验证,确保只有授 权用户能够访问系统。
数据加密:对敏感数 据进行加密存储,确 保数据在传输和存储 过程中的安全性。
软件工程课设(简易银行卡管理系统)
软件工程课设(简易银行卡管理系统) 软件工程课设(简易银行卡管理系统)1、引言1.1 编写目的1.2 项目范围1.3 定义、缩略语和缩写词1.4 参考资料2、项目概述2.1 目标2.2 用户特征2.3 假设和约束2.4 依赖关系2.5 项目描述3、需求规定3.1 功能性需求3.1.1 用户注册3.1.2 用户登录3.1.3 查看余额3.1.4 存款和取款3.1.5 转账3.1.6 挂失和解挂3.1.7 修改密码3.2 非功能性需求3.2.1 系统安全性需求3.2.2 界面美观与易用性需求 3.2.3 性能需求3.2.4 可靠性需求3.2.5 可扩展性需求3.2.6 可维护性需求3.3 系统界面设计需求3.4 数据库设计需求4、系统设计4.1 架构设计4.1.1 客户端-服务器架构 4.1.2 分层架构4.2 模块设计4.2.1 用户管理模块4.2.2 银行卡管理模块4.2.3 交易管理模块4.2.4 数据库管理模块4.3 数据库设计4.3.1 用户表设计4.3.2 银行卡表设计4.3.3 交易记录表设计5、编码和测试5.1 编码实现5.2 单元测试5.3 集成测试5.4 系统测试6、部署和维护6.1 系统部署6.2 系统维护6.2.1 用户问题解答6.2.2 故障修复6.2.3 系统功能升级和扩展附件:1、用户界面设计图2、数据库表设计文档3、用户手册本文所涉及的法律名词及注释:1、挂失:指用户将银行卡设置为失效状态,以防止卡片被人滥用。
2、解挂:指用户将挂失状态的银行卡重新设置为有效状态,以恢复正常使用权限。
3、存款:指用户向银行账户中存入现金或支票。
4、取款:指用户从银行账户中取出现金。
5、转账:指用户将银行账户中的部分或全部资金转移到其他账户。
6、用户注册:指用户向银行注册并创建一个新的账户。
7、用户登录:指用户使用已注册的账户信息登录系统。
8、交易记录:指用户在银行卡管理系统中进行的所有的账户操作记录。
软件工程课程设计-银行储蓄管理系统
(芙蓉学院)(芙蓉学院)软件工程实验报告课题: 银行储蓄管理系统姓名:谭斌学号:同组姓名:专业班级:芙蓉计科0701 指导教师:周学清设计时间:2011/3/20银行储蓄管理系统目录1.需求分析1.1系统的功能性需求1.2系统需求分析规格说明书1.3系统实体联系(ER)图1.4系统数据流(DFD)图1.5系统数据字典1.6面向数据流的设计方法1.需求分析系统中要求每个人银行管理者都有一个系统帐号,并每个帐号都有密码,系统的一切操作(如:增加存储用户,提高利率等)都由管理者执行,而不是由存诸用户执行,也主是说存储用户并不直接与系统交互,而是通过管理员与系统交互。
该系统主要有两部份业务功能,存款与取款。
储户填写的存款单或取款单由业务员输入系统,如果是存款则系统记录存款人姓名,住址(或电话号码),身份证号码,存款类型,存款日期,到期日期,利率及密码(可选)等信息,并打印存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算得利息并打印出利息清单给储户。
1.1系统的功能性需求系统为管理者提供主功能界面系统在启动时要求管理者输入登录帐号与密码系统要通过管理员执行一系操作(如:添加用户,修改,查询,删除等)管理员代用户实现存款,取款,查询等操作储户的一切信息,存储在数据库表中1.2系统需求分析规格说明书●实现储户开户登记●办理定期存款帐●办理定期存款手续●办理活期取款帐●办理活期取款手续●实现利息计算●输出明细表●数据备份和数据恢复功能●查看帐户信息1.3系统ER图系统主要关系模式:1.储户(储户姓名,住址,身份证号码)2.管理员(员工号,姓名)3.存款(储户姓名,员工号,金额,存款类型,到期日期,存款日期)4.查询(储户姓名,员工号)5.取款(储户姓名,员工号,金额,取款日期)1.5系统顶层数据流(DFD)图打印存单打印清单1.6系统0层数据流(DFD)图储户信息文件1.8第3层数据流图储户信息文件储户信息文件1.10数据字典1.6.1确定输入流和输出流的边界,从而孤立出变换中心。
管理信息系统课程设计--银行储蓄管理系统
课程设计报告题目:银行储蓄管理系统2012年月日目录第一章系统规划 (2)第二章系统分析 (2)2.1用户需求分析 (2)2.1.2性能需求 (2)2.2可行性分析 (3)2.2.1技术的可行性 (3)2.2.2法律的可行性 (3)2.2.3用户方面的可行性 (3)第三章系统设计 (6)3.1功能结构 (6)3.3输出设计 (7)3.4代码设计 (7)3.5数据库设计 (7)第四章系统实施 (11)4.3模块划分 (11)4.4功能简介 (12)4.4.1功能1:欢迎 (12)4.4.2功能2:登录 (13)4.4.3功能3:储蓄业务 (14)4.4.4功能4:开户 (15)4.4.5功能5:存款 (16)4.4.6功能6:取款 (17)4.4.7功能7:转账 (18)4.4.8功能8:查询账户信息 (20)4.4.9功能9:退出 (21)第五章心得体会 (21)参考文献 (22)第一章系统规划1.1研究背景现在的银行储蓄系统工作效率低,不能满足广大人民群众的要,人们希望能更方便更省时地办理储蓄业务。
在这样的背景下,切需要建立一个新的、高效的、方便的计算机储蓄系统。
银行业是管理和经营资本的行业,掌握着一个国家的经济命脉,是现代社会的核心产业。
银行业的信息化发展水平,在很大程度上决定了整个国民经济的发展水平。
早在20世纪60年代,发达国家的银行业就开始了信息化的进程,计算机技术被广泛应用于银行业的业务过程,到80年代,已基本实现银行业的电子化。
随张网络技术的发展,银行业的业务迅速向网络扩展,网上的各种银行业不断涌现,为上个世纪末和本世纪初电子商务的兴起和迅猛发展创造了条件。
如今,我国的银行业已经从根本上改变了传统银行业务的处理模式,建立了以计算机和互联网的电子清算系统第二章系统分析2.1用户需求分析2.1.1功能需求此系统所要完成的主要功能有两方面:储户填写存款单或取款单交给业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,完成后由系统打印存款单给储户。
软件工程课程设计报告(银行卡管理系统)
各专业全套优秀毕业设计图纸课程名称___ 软件工程_学生学院自动化学院专业班级网络工程11(2)班学号学生姓名指导教师20 14 年12 月12 日目录一、课程设计的内容 (3)二、数据库需求分析 (3)三、数据流图 (4)四、数据字典 (5)五、系统框架图 (12)六、关系模型设计,E-R图设计 (13)七、综合测试 (13)八、参考文献 (21)一、课程设计的内容本课程设计主要用于模拟银行的储蓄卡管理系统,通过该系统的运行,使办公人员可以轻松快捷的完成对账户管理的任务,提高账目管理效率,使银行的账目管理工作系统化、规范化、自动化。
二、数据库需求分析1.系统目标主要用于银行的储蓄卡管理系统,通过该系统的运行,使办公人员可以轻松快捷的完成对账户管理的任务,提高账目管理效率,使银行的账目管理工作系统化、规范化、自动化。
系统实现的主要有储蓄卡开户管理、存取管理、用户查询历史数据显示、注销等功能。
2.功能需求分析登录界面:输入卡号和密码,根据用户输入的卡号和密码,到后台数据库查询,若正确则登录成功,并保存卡号信息已备后用。
若卡号存在但密码输入不正确,或无该卡信息,则提示密码不符或该卡号已注销,保持界面不变等待用户的重新输入。
储蓄卡开户:用户输入新储蓄卡的所有信息,将该信息保存到数据库中,并将开户金额作为该卡的第一次存款记录存入数据库。
存款业务:从登录界面得到卡号,并提供数据输入界面,等待用户的输入存款金额。
从后台数据库中找到该用户余额记录,修改余额,并将该存款时间的相应信息写入数据库,同事将存钱的金额显示在页面上。
取款业务:从登录界面得到卡号,并提供数据输入界面,等待用户输入取款金额,如果取款金额大于该用户卡上的余额则不能取款,否则将新的余额写入数据库,并将本次取款时间写入数据库,同事将取钱的金额显示在页面上。
查询余额:从登录界面得到卡号,把该卡上的余额显示在界面上。
查询历史记录:从登录界面得到卡号,把该卡的所有存款取款信息查询出来,并显示在页面上。
课程设计银行储蓄管理系统方案
《数据结构》课程设计报告设计题目活期储蓄账目学院名称信息工程学院专业班级13计本1姓名学号000000000000目录一、实验题目—活期储蓄账理-------------------------------二、问题描述-----------------------------------------------三、设计目标-----------------------------------------------四、需求分析-----------------------------------------------五、概要设计-----------------------------------------------1---系统流程图--------------------------------------2--各个模块功能的详细描-------------------------------六、详细设计-----------------------------------------------七、测试分析-----------------------------------------------八、使用说明-----------------------------------------------九、课程设计总结-------------------------------------------一活期储蓄账目管理二问题描述活期储蓄处理中,储蓄开户、销户、存款、取款活动频繁,系统设计要求:•能够比较迅速地找到储户的账户,以实现存款、取款记账;•能比较简单,迅速地插入和删除,以实现开户和销户的需要。
三设计目标编写一个程序,要求该程序可以实现储蓄开户,及储蓄销户。
同时,该程序具有在储蓄账户中实现存款、取款,查看该账户信息的功能。
四需求分析本演示程序用c语言编写,完成银行管理系统的生成,储户开户、销户、存入、支出。
银行储蓄管理系统c课程设计
银行储蓄管理系统c 课程设计一、教学目标本课程的学习目标主要包括知识目标、技能目标和情感态度价值观目标。
通过本课程的学习,学生需要掌握银行储蓄管理系统的相关知识,包括储蓄业务的基本原理、储蓄账户的管理、储蓄业务流程等。
在技能方面,学生需要能够运用C语言进行简单的程序设计,实现银行储蓄管理的基本功能。
在情感态度价值观方面,学生需要培养对银行储蓄管理系统的兴趣,提高对编程和计算机科学的热情,培养良好的编程习惯和团队合作精神。
二、教学内容本课程的教学内容主要包括银行储蓄管理系统的相关知识和C语言编程基础。
首先,学生需要了解储蓄业务的基本原理,包括储蓄账户的开设、存款、取款、转账等业务。
其次,学生需要学习C语言编程基础,包括变量、数据类型、运算符、控制结构等。
然后,学生将运用所学的C语言编程知识,设计和实现一个简单的银行储蓄管理系统,包括账户管理、存款、取款、转账等功能。
最后,学生将对所设计的银行储蓄管理系统进行测试和优化,提高系统的稳定性和效率。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法。
首先,讲授法将用于向学生传授银行储蓄管理系统的相关知识和C语言编程基础。
其次,讨论法将用于引导学生进行思考和交流,培养学生的团队合作精神和问题解决能力。
案例分析法将用于分析实际生活中的储蓄业务案例,帮助学生更好地理解和应用所学知识。
实验法将用于让学生通过实际编程和测试,提高编程技能和系统设计能力。
四、教学资源为了支持教学内容和教学方法的实施,本课程将准备多种教学资源。
教材将提供银行储蓄管理系统的基本知识和C语言编程基础的学习材料。
参考书将提供更深入的理论和实践指导。
多媒体资料将用于展示实际储蓄业务案例和编程技巧。
实验设备将用于让学生进行实际编程和系统测试。
此外,还将提供在线编程平台和调试工具,方便学生进行自主学习和交流。
五、教学评估本课程的教学评估将采用多元化的方式,以全面客观地评价学生的学习成果。
软件工程银行卡管理系统课程设计
软件工程银行卡管理系统课程设计一、项目简介本课程设计是基于软件工程的原理和方法开发的银行卡管理系统,旨在为银行提供一个能够管理各种银行卡的平台,包括信用卡、借记卡、储蓄卡等等。
该系统具有方便快捷、安全可靠、易操作等特点,能够提高银行的管理能力,提升客户服务水平。
二、系统功能1. 用户管理:该系统支持用户注册、登录、修改密码等基本操作,同时能够对用户进行分类管理。
2. 银行卡管理:支持各种银行卡的管理,包括信用卡、借记卡、储蓄卡等等。
管理人员可以对卡片进行查看、修改、删除、添加等操作,方便快捷。
同时该系统还提供了卡片状态管理,如挂失、解挂等操作。
3. 用户账户管理:该系统可以对用户的账户进行管理,包括查看账户余额、交易明细等操作。
同时该系统还提供了账户冻结、账户解冻等操作,以保证账户的安全性。
4. 交易管理:该系统可以对各种银行卡交易进行管理,包括存款、取款、转账、消费等操作。
系统会对每一笔交易进行记录,同时提供查询操作,方便用户进行对账。
该系统还支持交易风险评估,对存在风险的交易进行预警处理。
5. 报表管理:该系统可以生成各种报表,包括账户余额报表、交易明细报表、银行卡管理报表等等,方便管理员进行数据分析和管理。
三、系统特点1. 安全可靠:该系统具备完善的安全管理机制,包括用户认证、密码加密等保护措施,能够保证客户信息的安全性。
2. 易操作:该系统的操作界面简单明了,操作流程清晰,能够为用户提供便捷的操作体验。
3. 高效性:该系统能够实现快速、精准的数据管理和交易处理,提高了工作效率和服务质量。
4. 可扩展性:该系统具备良好的可扩展性,可以根据需求进行相应的功能扩展和优化。
四、项目开发过程1. 需求分析:首先进行银行卡管理系统的需求分析,明确系统所需的功能和特点,推导出相应的系统架构。
2. 设计阶段:制定系统设计方案,包括系统结构、模块划分、数据表设计、界面设计等。
3. 开发阶段:按照设计方案进行系统程序开发,测试和联调。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(芙蓉学院)(芙蓉学院)软件工程实验报告课题: 银行储蓄管理系统*名:**学号:同组姓名:专业班级:芙蓉计科0701指导教师:***设计时间:2011/3/20评阅意见:评定成绩:指导老师签名:年月日银行储蓄管理系统目录1.需求分析1.1系统的功能性需求1.2系统需求分析规格说明书1.3系统实体联系(ER)图1.4系统数据流(DFD)图1.5系统数据字典1.6面向数据流的设计方法1.需求分析系统中要求每个人银行管理者都有一个系统帐号,并每个帐号都有密码,系统的一切操作(如:增加存储用户,提高利率等)都由管理者执行,而不是由存诸用户执行,也主是说存储用户并不直接与系统交互,而是通过管理员与系统交互。
该系统主要有两部份业务功能,存款与取款。
储户填写的存款单或取款单由业务员输入系统,如果是存款则系统记录存款人姓名,住址(或电话号码),身份证号码,存款类型,存款日期,到期日期,利率及密码(可选)等信息,并打印存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算得利息并打印出利息清单给储户。
1.1系统的功能性需求系统为管理者提供主功能界面系统在启动时要求管理者输入登录帐号与密码系统要通过管理员执行一系操作(如:添加用户,修改,查询,删除等)管理员代用户实现存款,取款,查询等操作储户的一切信息,存储在数据库表中1.2系统需求分析规格说明书●实现储户开户登记●办理定期存款帐●办理定期存款手续●办理活期取款帐●办理活期取款手续●实现利息计算●输出明细表●数据备份和数据恢复功能●查看帐户信息1.3系统ER图系统主要关系模式:1.储户(储户姓名,住址,身份证号码)2.管理员(员工号,姓名)3.存款(储户姓名,员工号,金额,存款类型,到期日期,存款日期)4.查询(储户姓名,员工号)5.取款(储户姓名,员工号,金额,取款日期)1.5系统顶层数据流(DFD)图打印存单打印清单1.6系统0层数据流(DFD)图储户信息文件1.8第3层数据流图储户信息文件储户信息文件1.10数据字典1.6.1确定输入流和输出流的边界,从而孤立出变换中心。
如图:1.1图1.11.6.2完成“第一级分解”基于书上第三章第三题实现在银行储蓄管理系统在一级分解中,可将系统分解成三个子功能模块:用户操作,业务员操作,系统输出。
如下图所示:业务员操作 银行存储管理系统用户操作 系统输出1.6.3完成“第二级分解”<1> 用户操作的分解可将用户操作分解为:开户民,存款,取款,查询。
如下图所示:<2>业务员操作的分解业务员的操作是将用户的操作传送给系统,代替用户与系统交互,所以,业务员的操作与系统的操作基本类似,也可以近似地将业务员看作用户。
所以操作员操作可分解为:开户,存款,取款,查询并且如用户在开户时设有密码,则进行密码验证。
所以分解图如下:<3> 系统输出分解系统输出可分解为:计算利息-打印清单,保存新用户信息,更新用户信息,打印存单分解图如下:1.6.4使用设计度量和启发式规则对第一次分割得到的软件结构进一步精化。
由于业务员的操作与用户的操作基本相似,可以简单化地认为系统只与业务员交互,基于这个思想,将有利与简化以后系统程序的设计与开发。
精化图如下:#include<iostream.h>#include<string.h>class Bank{private:Account * account[50];int maxID;int accNum;public:Bank();void Append();void Delete();void Query();};class Account{private:int ID;char * Name;//int Year;double Balance;public:Account();Account(int,const char * ,double); void Saving();int Withdraw();void ShowMe();int getID(){return ID;}};Account::Account(){ID = 0;strcpy(Name," ");Balance = 0;}Account::Account(int id,const char * name,,double balance){ID = id;Name = new char[50];strcpy(Name,name);//Year=year;Balance = balance;}void Account::Saving(){double number;cout<<"Please input saving number:";cin>>number;Balance = Balance + number;cout<<"Now the balance of your account is "<<Balance<<endl;return;}int Account::Withdraw(){double number;cout<<"Please input withdraw number:";cin>>number;if(Balance<number){cout<<"Sorry,now the balance of your accout is less than "<<number<<"."<<"So you can not withdraw!"<<endl;return 0;}elseBalance = Balance - number;cout<<"Now the balance of your account is"<<Balance<<endl;return 1;}void Account::ShowMe(){cout<<"Account ID:"<<ID<<endl;cout<<"Name:"<<Name<<endl;// cout<<"Year:"<<Year<<endl;cout<<"Balance:"<<Balance<<endl;return;}//int Accout::getID()//{//return ID;//}Bank::Bank(){for(int i=0;i<50;i++){account[i] = NULL;}maxID = 0;accNum = 0;}void Bank::Append(){if(accNum == 50){cout<<"Sorry,the bank is full,so can not add new account!"<<endl; return;}int id;char * name = new char[50];double balance;cout<<"Please input the name of the account:";cin>>name;id = maxID;balance = 0;Account * acc = new Account(id,name,balance);account[accNum] = acc;cout<<"Append successful!"<<endl;account[accNum]->ShowMe();maxID++;accNum++;return;}void Bank::Delete(){int ID;cout<<"Please input the accout ID that you want to delete:"; cin>>ID;int flag = 1;int i = 0;while((i<accNum)&&(flag)){if(ID == account[i]->getID()){//flag = 0 indicate had found the accountIDflag = 0;}else{i++;}}if(flag){cout<<"The account does not exists!"<<endl;return;}for(int j=i;j<accNum;j++){account[j] = account[j+1];}delete account[accNum-1];accNum--;cout<<"Delete successful!"<<endl;return;}void Bank::Query(){int ID;cout<<"Please input the account ID that you want to query:"; cin>>ID;int flag = 1;int i=0;while((i<accNum)&&(flag)){if(ID == account[i]->getID())flag = 0;}else{i++;}}if(flag){cout<<"The account does not exist!"<<endl<<endl; return;}account[i]->ShowMe();int choice=0 ;while(choice!=3){cout<<" 1:Save money"<<endl;cout<<" 2:Withdraw money"<<endl;cout<<" 3:Return"<<endl;cout<<" Please input the choice:";cin>>choice;cout<<endl;switch(choice){case 1:account[i]->Saving();break;case 2:account[i]->Withdraw();break;case 3:break;}}return;}void main(){Bank bank;int choice = 0;cout<<"Welcome to bank system"<<endl;while(choice != 4)cout<<"1: Add an account"<<endl; cout<<"2: Delete an account"<<endl; cout<<"3: Query an account"<<endl; cout<<"4: Exit"<<endl<<endl;cout<<"Please input your choice:"; cout<<endl;cin>>choice;switch(choice){case 1:bank.Append();break;case 2:bank.Delete();break;case 3:bank.Query();break;case 4:break;}cout<<endl;}//return;}。