银行储蓄管理系统需求分析
银行需求分析
银行储蓄系统数据库模型设计一、需求说明书1。
功能需求分析银行储蓄系统是一款含有数据库的软件系统,将提供如下功能:其分为储户,系统自动更新中心(1)储户储户主要对自己的账号中的余额进行查询,修改,删除自己的资料信息(密码,地址,姓名,身份证号),存取款,查询自己的余额等。
还可以验收存款单,更新存款信息。
储户信息=身份证号码+姓名+账号+存款余额+住址(2)自动更新中心主要由存款单和取款单来体现.A。
存款单用户输入存款单号,由计算机通过储户存款的方式自动计算利息,更新余额,生成存款单,让储户验收。
银行计算机储蓄系统又把存款单给银行内库进行确认审查。
存款信息=存款金额+存款日期+存款人+帐户余额B.取款单用于存放用户取款情况及个人帐户情况等,记录用户每次取款的资料和情况,当用户取款时,银行内库要把利息清单(或账单)给银行计算机储蓄系统处理,再把利息清单(或账单)交于用户,对取款单进行查询,修改,删除,主要包括取款放方式,取款日期,取款金额等取款信息=取款金额+取款日期+取款人+利息清单+帐户余额(3)超级用户(管理员)管理员主要进行对该数据库的维护,删除,修改,插入等操作2.数据项根据上述功能需求分析,数据库中要存储以下数据项:余额,存款单号,取款单号,取款方式,存款方式,取款时间,存款时间,地址,姓名,存款余额,存款日期,身份证号,账号。
3.数据结构银行储蓄业务管理系统主要包括储户,存款单,取款单等实体。
储户信息{账户,身份证号,姓名,地址,存款余额}存款单信息{存款单号,余额,存款日期,存款方式}取款单信息{取款单号,余额,取款时间,取款方式}二、CDM设计1。
根据需求分析,设计本系统的CDM如下:储户用户可以它的基本功能操作如下:修改自己的基本信息,账户,身份证号,姓名,地址,存款余额等。
2.各个实体之间的联系如下:储户与存款单之间是一对多的联系,即一个储户可以多次存款,产生多个存款单,而每一次产生的存款单只能由一个储户发生。
银行管理系统需求分析
银行管理系统需求分析一、引言银行作为金融行业的重要组成部分,在现代社会扮演着至关重要的角色。
银行管理系统的设计和实施,关乎金融行业的运转效率和稳定性。
因此,进行银行管理系统的需求分析尤为重要。
二、业务需求分析1. 客户管理银行管理系统需要具有完善的客户信息管理功能,包括客户基本信息、账户信息、交易记录等细节,以便银行对客户进行有效管理和服务。
2. 账户管理系统需具备账户管理功能,包括账户开设、关闭、冻结、解冻等操作,以便银行对账户进行灵活操作和管理。
3. 银行业务管理系统需支持各类银行业务,如存款、取款、转账、贷款申请等操作,方便客户进行各类银行业务操作。
4. 风险控制系统需具备风险控制功能,包括交易监控、异常交易检测、反欺诈等措施,确保银行业务安全有序进行。
三、技术需求分析1. 安全性系统需要具备强大的安全性措施,包括数据加密、身份认证、访问控制等措施,确保系统数据和用户信息安全可靠。
2. 性能优化系统需要具备高性能的特点,能够快速响应用户操作请求,确保系统运行流畅高效。
3. 可扩展性系统需要具备良好的可扩展性,能够根据业务需求灵活扩展功能和容量,以适应业务发展需求。
四、用户需求分析1. 用户友好性系统需要具备简洁直观的用户界面,方便用户操作和使用,提升用户体验。
2. 学习成本系统需要具备低学习成本的特点,新用户能够快速上手操作,提高用户满意度。
3. 多平台支持系统需要支持多平台访问,包括PC端、移动端等,方便用户随时随地进行银行业务操作。
五、总结银行管理系统作为金融行业的核心系统之一,需求分析是系统设计的重要一环。
通过对业务需求、技术需求和用户需求的分析,系统设计者可以更好地把握系统设计方向,满足银行业务及用户需求,提升银行运营效率和服务质量。
银行帐户管理系统需求分析说明书
银行帐户管理系统需求分析说明书1、引言1.1编写本数据库的目的通过本课题研究,能够较详细地体会数据库系统的构建过程、加深对课堂所学知识的理解,并将所学知识应用于现实生活实践中。
结合对银行管理要求及储户需要的调查分析,运用数据库系统这门课程的内容,从银行的实际要求出发设计一个《储户储蓄账户管理系统》。
在设计中将调查现有银行系统的优点及不足,并在本套系统中对长处加以继承,对不足处进行必要的改进。
1.2数据库的作用范围本数据库系统使用在银行的日常储蓄业务中,是整合了储蓄所柜台操作系统、自动取款机系统和网上银行三个界面的,并包含了管理系统的综合数据库。
管理系统能够对银行内的储蓄业务上的资金流进行分析,以及时发现不良的异常行为和对银行业绩进行评估。
1.3定义、同义词与缩写ATM:自动柜员机1.4参考文献《软件工程理论与实践》科学出版社《数据库系统教程》(第二版)高等教育出版社《PowerDesigner分析设计与应用》电子工业出版社2、一般性描述2.1用户需求通过问卷调查可知,普遍认为ATM方便快捷,安全性较好;综合问卷结果和银行效率,认为A TM 上不需要增加其他币值的币种;网上银行作为一种较新的银行形式,安全性较高但有待于宣传,如果在安全性保证的前提下网上银行还是很有前景的;网上证券和网上购物都是有其相对于ATM和柜台的优势,即方便和快捷,但其功能有待于进步完善和推广。
调查问卷见附32.2产品与其环境之间的关系本数据库系统应用平台是PC机及ATM上。
由键盘输入信息,由屏幕显示并带有打印机。
随着应用的需要,不同银行间的不同的数据库系统将有可能互联,因此本数据库系统将提供外部接口。
2.3产品功能1)为银行用户提供ATM提款机自动化服务;2)对各类账目进行统计和管理;3)提供网上转账操作4)对用户的帐户的活动进行记录;5)对行内总支出收入做一个详细的统计;6)银行对用户的各种操作进行登记,生成记录,以便以后对某段时间内账目的监控。
银行储蓄管理系统实验报告
C++面向对象程序设计课程设计报告学生姓名: ___ __________学号: _____ __________班级: ___指导教师: ______________2022 年 6 月 19 日......................................................................................课程设计的目的是总结及运用一学期来所学的知识,训练我们灵便应用所学 C++知识,独 立完成问题分析、总结设计、详细设计和编程实现等软件开辟全过程的综合实践能力。
巩 固、深化理论知识,提高编程水平,并在此过程中培养我们严谨的科学态度和良好的工作 作风。
随着社会经济的发展,信息化程度的不断深入,银行的传统业务已不能满足客户的需 求。
当今,人们的科技意识已经有了很大的提高,在紧张忙碌的生活中已越来不习惯每天 奔波于银行营业柜台去办理各种业务,利用电子化的手段构建一个高效统一的、通用灵便 的系统来管理各种各样的业务,是当前每一个商业银行都要研究的课题。
因此如何应用计算 机技术加强银行账户管理是当前迫切需要解决的一个问题。
所以本次课程设计是摹拟银行 账户的管理,开辟一个银行个人账户管理系统。
设计思想是一切为使用者着想,操作尽量 简单明了,努力做到每一个用户都可以使用这个系统来办理自己的业务。
并且通过该银行 账户管理系统地运行,可以使办公人员轻松快捷的完成对账户管理的任务,提高招募管理 效率,是银行的账目管理工作系统化、规范化、自动化。
主要用于银行的储蓄卡管理系统,它可以帮组我们有效、准确、并且高效实现的完成 存取事件。
系统操作方便效率、安全性高、只要开户并设定好密码就可以轻松的实现存取 款。
系统实现的主要有储蓄卡开户管理、存取款管理、用户查询历史数据显示、注销等功 能。
储蓄卡开户管理模块:卡号、姓名、开户金额、身份证号、地址、电话、密码、确认 密码和保存组成。
需求分析说明书
需求分析说明书需求分析说明书【范文一】1.引言1.1编写目的本报告的目的是规范化本软件的编写,旨在于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,同时提出了本银行储蓄系统的软件开发过程,便于程序员与客户之间的交流、协作,并作为工作成果的原始依据,同时也表明了本软件的共性,以期能够获得更大范围的应用。
预期读者是项目委托单位的管理人员、设计人员和开发人员。
1.2项目背景软件名称:银行储蓄系统项目提出者:银行项目开发者:项目的用户:想要了解银行储蓄业务流程的人1.3定义银行储蓄应用系统软件:基本元素为构成银行储蓄及相关行为所必须的各种部分。
需求:用户解决问题或达到目标所需的条件或功能;系统或系统部件要满足合同、标准,规范或其它正式规定文档所需具有的条件或权能。
需求分析:包括提炼,分析和仔细审查已收集到的需求,以确保所有的风险承担者都明其含义并找出其中的错误,遗憾或其它不足的地方。
模块的独立性:是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他的模块的接口是简单的。
1.4参考资料《精通C#数据库开发》王华杰等清华大学出版社 2004年出版《软件工程——原理,方法与应用》吴钦藩编着人民交通出版社出版《软件工程导论(第四版)》张海藩编着清华大学出版社出版《软件工程》仸胜兵邢琳编着北京邮电大学出版社2.仸务概述2.1目标完善目前银行储蓄系统,使之能跟上时代的发展。
同时通过实践来提高自己的动手能力2.2用户的特点银行为用户提供存款、取款、查询等业务,用户凭借自己的银行卡、存折等凭证在银行办理各项业务,银行工作人员协助用户完成各项业务。
2.3假定和约束硬件配置要求:硬件外部设备需奔腾133以上的pc机,内存需16兆以上软件要求操作人员具有初步的相关知识由于本系统为即时软件,对数据的同步要求较高,建议配置网络时使用可靠性较高的相关网络硬件设施。
银行以记时器记时完毕触发利息结算;对用户取款额未做上限约束;各间银行采用集中控制。
数据库课程设计 银行储蓄管理系统
《数据库系统概论》课程设计报告设计题目:银行储蓄管理系统姓名:学号:班级:设计起止时间:需求分析:在对软件工程相关知识学习之后,我们对设计软件有了基本的认识和一些应用技能。
在数据库的课程设计中,我们计划做一个小型的银行储蓄管理系统,包括了基本的存取转,和管理员对日常工作的管理功能。
功能设计:(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();}心得体会:这次课程设计体会非常深刻,首先在团队合作方面,我觉得自己作为队长没有两道好我的小队,这是我的失职。
银行计算机储蓄系统需求分析
银行计算机储蓄系统需求分析为方便储户,某银行拟开发计算机储蓄系统。
储户填写的存款单或取款单由业务员输入系统;如果是存款,系统记录存款人姓名,住址,存款类型,存款日期,禾冷等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。
一沿数据流图回溯系统顶层数据流图存款据流图取款数据流图:取款信息文件余额信息文件用户信息文件写出文档初稿E-R图1)数据元素:名称:用户说明:用户姓名数据类型:字符型长度:4(3)数据存储:数据文件名:存款信息表加工名:更新存款的信息简要描述:对所写的存款单进行编辑后返回到存款信息表中输入数据流:存款信息输出数据流:无加工逻辑:若信息正确无误则反馈存款信息加工名:设置密码简要描述:对用户的存款信息进行密码设置以得到保护输入数据流:需要设置密码输出数据流:存款信息加工逻辑:对现有的用户存款信息进行密码设置以得到保护并将已经设置好的存款信息进行处理加工名:计算利息简要描述:当用户取款时计算出当前帐户的利息情况输入数据流:密码正确输出数据流:利息信息加工逻辑:计算出当前帐户的利息情况并反馈给用户加工名:更新余额简要描述:当用户取款后剩余的金额情况要进行更新输入数据流:计算利息输出数据流:余额信息加工逻辑:对已有的金额进行查询并更新加工名:处理取款简要描述:对取款单中的取款信息进行处理输入数据流:余额信息输出数据流:取款信息加工逻辑:处理用户的取款信息及金额加工名:打印取款清单简要描述:对处理后的取款信息进行打印给用户核对输入数据流:取款信息输出数据流:打印利息清单(或账单)加工逻辑:将核对无误的取款信息以利息清单(或账单)的形式打印出来三定义逻辑系统如果是存款,储户填写存款单,然后交给业务员键入系统,同时系统还要记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、利率及密码(可选)等信息,完成后由系统打印存款单给储户。
如果是取款,储户填写取款单交给业务员,业务员把取款金额输入系统并要求储户输入密码以确认身份,核对密码正确无误后系统计算利息并印出利息清单给储户。
网上银行系统需求分析
网上银行系统需求分析一、引言互联网的发展使得人们能够更加方便地进行金融交易,网上银行系统应运而生。
本文将对网上银行系统进行需求分析,以便于开发人员能够更好地了解用户需求并进行系统设计与开发。
二、功能需求1.账户管理:用户能够通过网上银行系统进行账户开户、注销、查询、修改密码等操作。
同时,用户能够通过系统查看账户余额、交易记录等信息。
3.存取款操作:用户能够通过网上银行系统进行存款和取款操作,系统需要支持自动结算和账户冻结功能以确保资金安全性。
4.贷款管理:用户能够通过网上银行系统申请贷款,并进行贷款利率查询、还款计划查询等操作。
系统需要支持自动审批和风险评估功能。
5.理财产品管理:用户能够通过网上银行系统查看并购买各种理财产品,系统需要支持产品展示、购买、赎回等功能。
6.汇率查询与外汇交易:用户能够通过网上银行系统进行汇率查询,并进行外汇交易。
7.证券交易:用户能够通过网上银行系统进行证券交易,包括查询证券信息、买入、卖出、撤单等操作。
8.积分和礼品兑换:用户能够通过网上银行系统进行积分查询,并进行礼品兑换操作。
三、性能需求1.安全性:网上银行系统需要采取多层次的安全措施,包括用户身份验证、数据加密传输、防止黑客入侵等手段,以保障用户资金和信息的安全。
2.可靠性:系统需要具备高可靠性,能够保证用户的交易准确无误,并确保数据的完整性和一致性。
3.并发性:系统需要支持大量用户同时在线操作,能够处理高并发的请求,确保用户能够流畅地进行银行交易。
4.响应时间:系统需要具备快速响应的能力,保证用户的交易能够及时完成,同时减少用户等待时间。
5.可拓展性:系统需要具备良好的可拓展性,能够根据需求的增加进行扩展,并能够无缝集成其他金融系统。
四、用户界面需求1.用户友好性:系统需要具备良好的用户界面设计,易于使用和操作。
2.响应式设计:系统需要能够适应不同设备的屏幕尺寸,包括电脑、手机等终端。
3.个性化设置:用户能够根据自己的偏好进行个性化设置,如界面主题、字体大小、语言等。
管理信息系统课程设计--银行储蓄管理系统
管理信息系统课程设计--银行储蓄管理系统管理信息系统课程设计银行储蓄管理系统一、引言随着经济的快速发展和金融行业的日益繁荣,银行储蓄业务作为金融服务的重要组成部分,对于银行的运营和管理至关重要。
为了提高银行储蓄业务的效率和服务质量,设计一个高效、稳定、安全的银行储蓄管理系统成为了必然需求。
本课程设计旨在开发一个功能齐全、操作便捷的银行储蓄管理系统,以满足银行储蓄业务的日常管理和客户需求。
二、系统需求分析(一)功能需求1、开户管理:能够为新客户办理储蓄账户开户手续,包括收集客户信息、设置账户类型、初始存款等。
2、存款与取款:支持客户进行存款和取款操作,实时更新账户余额。
3、账户查询:客户可以查询自己账户的余额、交易明细等信息。
4、利息计算:根据不同的储蓄类型和利率,自动计算账户利息。
5、转账业务:实现客户账户之间的资金转账。
6、报表生成:生成各类储蓄业务报表,如日结报表、月结报表等,供银行管理人员进行分析和决策。
(二)性能需求1、响应时间:系统对于各种操作的响应时间应在可接受范围内,确保客户体验良好。
2、稳定性:系统应能够长时间稳定运行,避免出现故障和数据丢失。
3、安全性:保障客户信息和资金的安全,防止数据泄露和非法操作。
(三)数据需求1、客户信息:包括姓名、身份证号码、联系方式等。
2、账户信息:账户号码、账户类型、余额、开户日期等。
3、交易记录:存款、取款、转账的时间、金额、操作类型等。
三、系统设计(一)总体架构设计银行储蓄管理系统采用 C/S(客户端/服务器)架构,客户端负责与用户进行交互,服务器端负责数据存储和业务逻辑处理。
系统分为表示层、业务逻辑层和数据访问层。
表示层:采用图形用户界面(GUI),为用户提供直观、友好的操作界面。
业务逻辑层:处理各种业务逻辑,如开户、存款、取款、转账等。
数据访问层:负责与数据库进行交互,实现数据的增删改查操作。
(二)数据库设计1、数据库表结构设计客户表(customer):包含客户编号(customer_id)、姓名(name)、身份证号码(id_number)、联系方式(contact_info)等字段。
银行储蓄管理系统需求分析数据流图
6
利息
在数据变更之前自动计算上次利息并更新账目进行下一次账目办理
7
报表
对需要通过书面输出的信息进行整理打印
8
开户
为新用户开一个新帐户
9
销户
为用户结算利息,并支出余额存款,并消除资料
10
办理
可对对银行内的储蓄业务上的资金流进行阐发和查询
附录1:数据流图
附录2:身份验证登记分类
登录系统名
操作项
成分验证需求
柜台操作系统
开户
身份证
存款
无
取款
暗码
转账
暗码,
查询
暗码
销户
身份证,暗码
ATM操作系统
登录
暗码网上银行操作ຫໍສະໝຸດ 统登岸网上银行暗码
办理员操作系统
登岸
办理暗码
柜台工作人员系统
登岸
员工号,员工暗码
银行储蓄办理系统需求阐发
以下图为本系统的用户功能图:
下表列出了10项底子功能:
序号
作业
功能描述
1
存款
为银行用户提供各种存款操作,并记入数据库
2
取款
为用户提供所需的分为柜台取款和ATM取款两种操作
3
转账
提供网上转账和柜台转账
4
查询
提供在各种终端进行的查账操作以便于银行用户对本身的账目进行办理
5
点窜暗码
软件工程课程设计银行储蓄管理系统
资源利用率:评估 系统对硬件资源的 占用情况
数据库优化:采用索引、分区等技术提高查询效率 代码优化:精简冗余代码,提高代码复用率 系统架构优化:采用微服务、分布式等技术提高系统可扩展性和可靠性 安全性优化:加强数据加密、权限控制等措施保障系统安全
评估现有系统的性能和功能 分析系统瓶颈和潜在的改进点 确定升级和改进的目标和需求 制定升级和改进的方案和计划
用户登录验证功能 存款、取款功能
账户管理功能 查询余额功能
系统安全性:确保 数据安全,防止未 经授权的访问和篡 改。
系统稳定性:确保 系统在高负载和复 杂环境下能够稳定 运行。
系统可扩展性:为 未来功能扩展和升 级提供足够的空间 和支持。
系统易用性:提供 用户友好的界面和 操作体验,方便用 户快速上手和使用。
软件工程课程设计银行储蓄管理系统的应用具有广泛的实际意义,可以为银行储蓄业 务提供更好的服务,提高客户满意度,增强银行的市场竞争力
背景:软件工程课程设计银行储蓄管理系统是为了满足银行储蓄业务的需求,提高银行业务处理效率和客户满意度。 目的:通过软件工程课程设计,使学生掌握软件设计的基本原理和方法,提高软件开发和维护的能力。 意义:该系统的开发有助于提高学生的实践能力,培养创新思维和团队协作精神,为未来的软件开发工作打下基础。
菜单栏:包含所有功能选项, 方便用户快速访问
用户界面布局:简洁明了, 易于操作
工具栏:提供常用功能快捷 方式,提高操作效率
状态栏:显示系统状态和提示 信息,帮助用户更好地了解系
统运行情况
用户身份验证:采用 用户名和密码进行身 份验证,确保只有授 权用户能够访问系统。
数据加密:对敏感数 据进行加密存储,确 保数据在传输和存储 过程中的安全性。
银行储蓄系统需求分析
银行储蓄系统需求分析
1.引言
2.功能需求
2.1用户管理
2.2存款
用户可以通过银行储蓄系统进行存款操作。
系统应该支持多种存款方式,如现金存款、汇款等,并生成相应的存款凭证。
同时,系统应该能够
更新用户账户的余额信息。
2.3取款
用户可以通过银行储蓄系统进行取款操作。
系统应该支持多种取款方式,如现金取款、转账取款等,并生成相应的取款凭证。
同时,系统应该
能够更新用户账户的余额信息。
2.4查询
用户可以通过银行储蓄系统进行账户余额查询、交易记录查询等操作。
系统应该提供快速高效的查询功能,并能够根据用户的需求进行筛选和排序。
2.5转账
用户可以通过银行储蓄系统进行转账操作。
系统应该支持不同账户之
间的转账,并能够验证账户余额是否足够支付转账金额。
同时,系统应该
能够更新用户账户的余额信息。
2.6利息计算
3.非功能需求
3.1安全性
3.2可扩展性
3.3用户友好性
4.总结
银行储蓄系统是一个复杂而关键的系统,需要满足各种功能需求和非功能需求。
通过对系统需求的分析,可以设计和开发一个高效可靠的银行储蓄系统,提供方便快捷的储蓄服务,满足用户的需求。
同时,需要密切关注系统的安全性、可扩展性和用户友好性,以确保系统的可靠性和用户满意度。
银行系统系统管理需求分析报告
07It项目管理5组刁文彬孙鹏杜焱廖春露黄新月刘雯李铭张严诺张洪辰目录一、导言 (2)二、用户需求分析 (2)1. 转账业务 (2)2. 用户管理 (2)3. 数据库创建更新维护 (2)4.系统构架 (4)三、数据流程图 (4)四、数据字典 (7)五、银行转账系统安全性要求 (12)六、数据库安全要求 (12)一、导言二、随着经济全球化的深入,信息量越来越大, 金融业以及银行业对经济业务的处理速度要求越来越高,对数据库要求越来越高, 对安全性的要求也越来越高。
这就对我们数据库的建立与管理提出了更高的要求.下面, 对我组所涉及的有关用户管理部分进行陈述。
另外还有转账业务的数据, 业务流程。
三、用户需求分析1.转账业务从本人的活期账户中将款项转到他人的活期账户或信用卡账户中。
过程: 客户利用自己绑定的银行账号进行登录, 银行系统对客户的资料进行核对, 符合要求的进入转账业务。
不符合要求的, 提示客户重新登录。
输入对方账户金额, 进行核对。
核对通过进行交易.不通过则返回重新输入.确认后提交交易, 更改双方用户账户信息,返回给用户账户信息, 记录交易内容.具体分为几部分转账:2.账户分为:储蓄账户, 信用卡账户,外汇账户。
要做到储蓄账户与储蓄账户、信用卡账户与信用卡账户、储蓄账户与信用卡账户的相互转账, 以及外汇账户与储蓄账户之间的互相转账。
3.用户管理行长: 包括所有权限出纳:发放现金, 转账, 存取现金普通柜员: 办理开户、存取、查询、挂失、修改密码等普通业务贷款审批员: 确认贷款人资格, 调用信用记录, 修改信用信息信用卡审批员:确认申请人资格, 调用信用记录, 修改信用信息数据主管: 核心数据的修改,审核更新及维护(所有分系统数据库)数据员: 对各个分系统数据库进行更新与维护(记录修改、秘密修改、创建修改删除用户等)信用卡业务员: 查询所欠账款, 选择还款方式,计收利息(及滞纳金), 冻结信用卡外汇业务员: 开户, 更改外汇交易信息, 生成转账记录,办理及时委托、挂牌委托、止损委托和二选一委托等委托业务网上银行业务员: 用户注册处理及信息修改、审批, 查询交易记录, 定——活互转处理挂失处理,转账处理, 贷款处理, 外汇买卖处理,财务分析, 信息发表, 咨询投诉储蓄业务员: 开户(审核开户申请, 核对身份证件, 核对现金金额, 录入客户信息和账户信息, 打印开户通知单), 存款(核对, 验证,录入续存金额, 核对存款凭证并签字, 确认, 打印凭证), 支取(确认密码, 验证,核对, 核对支取凭证并签字,确认, 打印支取凭证),储蓄部提,储蓄销户,账户查询,账户管理(挂失,更改密码)贷款业务员:审核贷款申请表, 生成用户个人正式贷款合同, 更新贷款文件,办理到期还款客服人员:回答用户关于业务的问题(如信用卡透支情况等)4.数据库创建更新维护创建针对银行系统,我们需要的是:数据库: BankSystem数据表:【用户信息表】【交易信息表】【账户信息表】【利率、汇率参数表】我们预计在SQLServer2000里面创建数据库BankSystem, 并且各个数据表的内容将完全符合其他各部门的需求, 各个表之间通过外键相互关联。
银行储蓄系统 需求规格说明书
银行储蓄系统需求分析报告1.引言随着社会经济的发展,以及数字生活的逐步渗透,如何为用户提供更加便捷、更加周到的服务已经成为各大银行竞争的焦点。
但如今银行储蓄系统工作效率比较低,越来越不能满足广大人民群众的需求,人们希望可以更方便更省时更省力的办理储蓄的相关业务。
在这样的趋势下,明显可以看出现今的银行计算机储蓄系统不能够满足人们日益增长的需求,为提高该银行的存取款工作效率,降低工作的人力、物力开支,提高工作的准确性、正确性,并且便于用户信息存取,需要建立一个新的、高效的、方便的、互联的计算机储蓄系统。
2.任务概述本系统主要为了方便储户办理存款、取款等业务,实现对金钱更有效的管理,同时可以更好地方便银行对储户的管理,并且形成储户与银行之间的桥梁,使用该系统不仅可以提高对金钱的有效管理而且在一定程度上可以对提高银行与储户的工作效率。
3.功能需求3.1 功能描述外部功能:实现可视化窗口,查找及存储内部功能:同步,过滤,定位,识别存款功能:以储户的存款为主要活动,相关记录根据存款结果进行调整,以使信息保持一致。
1.系统需要在原账户信息中增加一条记录,包括存款人姓名、住址、存款类型、存款日期、利率等信息。
2.若为新储户须建立一个账户,并记录此次的记录。
3.打印存款单给储户。
取款功能:以储户的取款为主要活动,相关记录根据取款结果进行调整,以使信息保持一致。
1.系统计算利息,在原账户信息中将取款额减去。
2.若为清户,记录注销该账户,将账户余额(包括存款额及利息)一并交与储户。
3.打印利息清单给储户。
数据流图4. 性能需求4.1 数据精确度在向数据库文件提取数据时,要求数据记录定位准确,在往数据库文件数组中添加数据时,要求输入数据准确。
金额,身份证,卡号等按需求设定字符数。
4.2 时间特性程序响应时间:在人的感觉和视觉事件范围内;信息交换时间:要求在程序调用前、调用后都与数据库保持同步更新,网络信息交换时间应该小于程序调用的时间。
银行储蓄系统需求分析报告
银行储蓄系统需求分析报告概述银行作为金融行业的一个重要组成部分,为人们提供了储蓄服务,使人们能够安全存放并增值自己的财富。
随着科技的发展和互联网的普及,越来越多的人选择通过银行储蓄系统进行储蓄操作。
本文将对银行储蓄系统的需求进行详细分析,旨在为银行储蓄系统的设计和开发提供指导和建议。
一、系统概述银行储蓄系统是一个综合性的金融服务系统,它涵盖了用户账户管理、存款业务处理、利息计算和发放、账户查询和报表生成等功能。
该系统具备良好的用户友好界面,并能够提供安全有效的数据管理和交易处理能力。
二、用户模块需求1. 注册和登录用户应该能够通过提供个人信息和设置安全密码来注册和登录系统。
2. 账户管理用户应该能够自主管理自己的账户,包括修改个人信息、修改登录密码、开设新的储蓄账户等。
3. 存款和取款用户应该能够通过系统完成存款和取款操作,系统应该能够自动处理存款和取款的记录,并实时更新用户的账户余额。
4. 利息计算和发放系统应该具备利息计算的功能,根据用户的存款金额和存款期限自动计算利息,并及时发放到用户的储蓄账户中。
三、业务处理需求1. 存款处理系统应该能够处理用户存款的请求,包括验证用户身份、接收存款金额、更新账户余额等。
2. 取款处理系统应该能够处理用户取款的请求,包括验证用户身份、检查账户余额、处理取款金额等。
3. 利息计算和发放系统应该能够根据设定的利率和存款期限自动计算用户应得的利息,并将利息发放到用户的储蓄账户中。
四、查询和报表需求1. 账户余额查询用户应该能够通过系统查询自己的账户余额,并能够查看账户的交易记录。
2. 存款记录查询用户应该能够通过系统查询自己的存款记录,并能够查看每次存款的金额和时间。
3. 取款记录查询用户应该能够通过系统查询自己的取款记录,并能够查看每次取款的金额和时间。
4. 利息发放报表系统应该能够生成利息发放的报表,包括计息周期、利息金额和发放时间等信息。
五、安全性需求1. 用户身份验证系统应该在用户登录和进行敏感操作时对用户进行身份验证,确保只有合法用户能够访问和操作系统。
银行储蓄系统需求分析
银行储蓄系统需求分析报告1、引言1.1编写目的:本报告的目的是规范化本软件的编写,旨在于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,同时提出本银行软件开发过程,便于程序员与客户之间的交流协作,并作为工作成果的原始依据,同时也表明的本软件的共性,以期能够获得更大范围的应用。
1.2 项目背景:项目名称:银行计算机储蓄系统。
项目任务提出者:XX银行。
开发人员:XX软件开发公司。
用户:xx银行。
1.3 参考资料《软件工程导论》(第5版)张海藩著。
1.4 预期用户银行管理部门与储户,项目开发人员,测试人员。
2系统说明2.1系统描述本系统主要为了方便储户办理存款、取款、转账、挂失、查询、改密等业务,银行管理人员办理开户、销户、冻结、解挂等业务,对金钱更有效管理,同时可以更好的方便银行对储户的管理,并且形成储户和银行之间的桥梁,使用该系统不仅可以提高对金钱的有效管理而且在一定程度上可以提高银行与储户的工作效率。
3需求3.1功能需求如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。
3.2性能需求3.2.1安全性本系统有良好的安全性,可保证用户数据安全,个人信息不被黑客盗取;3.2.2时间特性要求1.响应时间:所有的查询操作,查询响应时间一般不超过3秒;2.更新处理时间所有提交数据一般在1秒内响起;3.数据的传送时间可以忽略。
3.2.3灵活性该软件有很好的可移植性,操作简单易上手,适合广大普通群众,只要满足最低硬件要求即可运行次运行软件,同其他软件接口容易实现。
3.3可靠性和可用性需求可靠性:银行储蓄系统一个月内不能出现2次以上故障;可用性:在任何时候主机或备份机上的银行储蓄系统应该至少有一个是可用的,而且在一个月内任何一台计算机上该系统不可用的时间不能超过总时间的2%。
3.4运行需求1硬件环境需求:4G以上内存;2软件环境需求:数据库Microsoft SQL Server2005及以上版本Windows xp, windows 7 Tcp/IP通信协议;3.5接口需求硬件接口:现实中要求具有高速以太网组网以实现联网操作,无需网络通讯接口;软件接口:windows标准接口,要求与其他软件无冲突错误发生;3.6出错处理需求软件应具备自动拼写检查错误等功能,在出现故障后应从整个系统数据库重新载入数据进行操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河北大学工商学院软件工程实验报告课题: 银行储蓄管理系统姓名: XXX学号:XXXXXXX专业班级:XXXXX指导教师:XXX设计时间: XXXXX银行储蓄管理系统1.需求分析系统中要求每个人银行管理者都有一个系统帐号,并每个帐号都有密码,系统的一切操作(如:增加存储用户,提高利率等)都由管理者执行,而不是由存诸用户执行,也主是说存储用户并不直接与系统交互,而是通过管理员与系统交互。
该系统主要有两部份业务功能,存款与取款。
储户填写的存款单或取款单由业务员输入系统,如果是存款则系统记录存款人姓名,住址(或电话号码),身份证号码,存款类型,存款日期,到期日期,利率及密码(可选)等信息,并打印存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算得利息并打印出利息清单给储户。
系统基本情况:1.1系统的功能性需求1.2系统需求分析规格说明书1.3系统实体联系(ER)图1.4系统数据流(DFD)图1.1系统的功能性需求系统为管理者提供主功能界面系统在启动时要求管理者输入登录帐号与密码系统要通过管理员执行一系操作(如:添加用户,修改,查询,删除等) 管理员代用户实现存款,取款,查询等操作储户的一切信息,存储在数据库表中1.2系统需求分析规格说明书●实现储户开户登记●办理定期存款帐●办理定期存款手续●办理活期取款帐●办理活期取款手续●实现利息计算●输出明细表●数据备份和数据恢复功能●查看帐户信息1。
3系统ER图/系统主要关系模式:●储户(储户姓名,住址,身份证号码)●管理员(员工号,姓名)●存款(储户姓名,员工号,金额,存款类型,到期日期,存款日期)●查询(储户姓名,员工号)●取款(储户姓名,员工号,金额,取款日期)系统顶层数据流(DFD)图打印存单打印清单系统0层数据流(DFD)图第2层DFD图储户信息文件第3层数据流图储户信息文件第5层数据流图储户信息文件1.4数据字典数据名字:注册申请表数据来源:储户数据目的:储户信息数据组成:姓名+密码+住址+身份证号码数据名字:储户信息表数据来源:储户数据目的:身份验证数据组成:姓名+密码+住址+身份证号码+现有金额数据名字:利息清单数据来源:系统数据目的:储户数据组成:利息+姓名+取款时间数据名字:存单数据来源:存款信息表数据目的:储户数据组成:姓名+到期时间+存入类型+存入时间+利率+存入金额数据名字:取款单数据来源:储户数据目的:储户信息表数据组成:姓名+到期时间+存入类型+存入时间+利率+取款金额+身份证号数据名字:存款单数据来源:储户数据目的:存款信息表数据组成:姓名+到期时间+存入类型+存入时间+利率+存入金额+身份证号2.可行性分析2.1 基本要求2.1。
1 功能要求此系统所要完成的主要功能有两方面:如果是存款,储户填写存款单,然后交给业务员键入系统,同时系统还要记录存款人姓名住址、存款类型、存款日期、利率、等信息,完成后由系统打印存款单给储户。
如果是取款,储户填写取款单交给业务员,业务员把取款金额输入系统并要求储户输入密码以确认身份,核对密码正确无误后系统计算利息并印出利息清单给储户。
2。
1.2 性能要求为了满足储户的要求,系统必须要有高的运作速度,储户填写的表单输入到系统,系统必须能快速及时作出响应,迅速处理各项数据、信息,显示出所有必需信息并打印出各项清单,所以要求很高的信息量速度和大的主存容量;由于要存贮大量的数据和信息,也还要有足够大的磁盘容量;安全性也是系统最重要的性能需求之一,银行计算机储蓄系统必须有可靠的安全措施,以保证储户的存储安全。
2.1.3 接口要求业务员键入储户的资料要全部一直显示在屏幕;储户从按键口键入密码到系统以核对;计算机与打印机有高速传输的连接接口,最后以纸张的形式打印出清单给储户。
2。
1。
4 输入要求业务员从存取款表单输入数据,要迅速精确,适当调整输入时间,不能让客户等太久,但也不能让业务员太过忙碌以免影响正确率。
2。
1.5 输出要求要求能快速准确打印出清单给客户。
2.2 开发目标近期目标第一年内在一个银行建立一个银行内部计算机储蓄系统,初步实现银行储蓄系统计算机化,并保证该银行能够按期望顺利完成工作。
长期目标拟在三至四年内,在国内多间银行中建立该计算机储蓄系统,促进多间银行间的互联合作,实现银行储蓄系统的计算机管理体制,提高银行储蓄系统的整体水平;并实现银行储蓄系统的高效性、方便性、实用性、互联性,从而提高银行的信用度,提高银行公司的经济效益和社会效益。
2。
3 限制条件建议软件寿命:5年。
经费来源:×××银行硬件条件:服务器Linux工作站,终端为pc机。
运行环境:Windows xp 及以上操作系统数据库:Oracle10投入运行最迟时间:2010/04/042. 4 进行可行性研究的方法采用调查方法:通过对银行业务员和客户的调查以获得第一手资料,确定客户和实际应用中的需求;然后经过座谈或开会的形式和专家和银行经理交谈,落实最后的问题定义。
2.5。
决定可行性的主要因素成本/效益分析结果,效益>成本.技术可行,现有技术可完全承担开发任务。
操作可行,软件能被原有工作人员快速接受。
3.总体结构设计3。
1。
编写目的通过前面的需求分析部分,基本明确了本系统的功能需求、性能需求、数据文件结构等的一些方面的要求,故在需求分析的基础上,可以对银行储蓄管理系统进行概要的总体设计,该设计旨在实现系统的大概功能,以及系统的一些交互界面、模块等。
3。
2定义银行储蓄管理系统:基本元素为构成银行储蓄及相关行为所必须的各种部分.总体设计:又称概要设计或初步设计,划分出组成系统的物理元素(程序、文件、数据库、人工过程和文档),设计软件的结构,模块间的关系,但每个物理元素仍处于黑盒子级别,具体分析将在以后的详细设计中说明。
顺序图以二维表显示,横轴代表各个模块的实现中的涉及的角色对象,纵轴是时间轴,时间自上而下。
通过顺序图,可以很好的看到模块中各个对象的建立和销毁,以及对象间的消息传递的交互性.3.3主要模块设计(顺序图分析)根据职责划分,可以对系统的功能进行模块化,即不同角色的不同模块间的独立性以及联系,为每个模块的实现进行流程分析,利用顺序图对每个独立模块建立时间上的对象交互流程。
(1)系统普通用户管理:主要包括开户、销户、挂失、解挂、修改系统密码等模块,分析如下.用户登录系统后,具有相应的开户权限,用户通过与系统打交道,可以获取一个合理的账户,顺序建模如下:: 系统用户(2)银行管理员:增加用户、查看用户、待批申请、已批申请等模块。
模块的分析,以及对象间的交互过程如下。
银行管理员具有增加系统用户的权限,管理员可以为系统增加一些特定的系统用户,同时可以给予他们一定的权限。
模块分析如下:3.4总体结构设计4.银行储蓄详细设计4.1。
编写目的总体设计已经基本确定了每个模块的借口和功能,详细设计的任务就是为每个模块设计其实现细节,详细设计的根本目标就是确定应该怎样具体的实现所需求的系统,得出对目标银行储蓄系统的精确描述。
4.2.定义软件系统的类有不同的关系依赖,3种更为常见的类型:依赖、聚集和继承.依赖性:一个类的方法出发另一个类的方法,这是“users"关系。
将类之间的依赖关系最小化。
聚集:聚集有时被称为“has a”关系。
聚集是一种特殊的依赖,也就是说一个类的部分通过另一个依赖于它的类来定义.在软件世界里,我们将聚集对象定义为任何将其他对象的引用包含为实例数据的对象。
继承:继承有时被描述为“is a"关系。
它是一个类从另一个现有类的派生过程.原始用于派生新类的类称为“基类"或“父类”,派生出来的类称为“派生类”或“子类”.4。
3 主要模块设计说明4。
3.1身份验证模块(G1)设计说明(1)模块描述设置身份验证模块的目的保证储户信息的安全。
(2)功能身份验证模块功能在于对申请登录的用户进行身份验证,通过者才能进入系统。
(3)性能本操作的响应时间应控制在1-2秒内。
(4)输入项(5)输出项该模块的输出项为合法用户。
(6)设计方法(算法)银行业务员输入储户用户ID,储户输入密码并确定,系统保存用户输入的用户ID和密码,并在customer表中查找customerid和customername字段值,看是否等于业务员输入的用户ID和密码,如相同则通过验证,否则不通过,并给出“密码错误”的提示,如数据库中不存在这样的记录,则给出“该用户不存在"的提示。
4.3。
2存款模块(G2)设计说明(1)模块描述设置存款模块的目的在于将储户的金额存到系统中并记录信息。
(2)功能存款模块将储户存款金额录入存储到系统中,并附带显示其他储户信息。
(3)性能本操作的响应时间应控制在1—2秒内。
(4)输入项输入项包括:(5)输出项该模块的输出项为存款金额,并且附带显示其他信息:用户名、账号、账户余额、利息金额。
(6)设计方法(算法)当银行业务员输入存款金额后,系统进行处理,显示出账户余额,并且显示其他固定信息。
4。
3.3取款模块(G3)设计说明(1)模块描述设置取款模块的目的在于将储户的取款金额录入并存储到系统中。
(2)功能取款模块将储户取款金额录入存储到系统中,并附带显示储户其他信息。
(3)性能本操作的响应时间应控制在1—2秒内。
(4)输入项(5)输出项该模块的输出项为取款金额,并且附带显示其他信息:用户名、账号、账户余额、利息金额. (6)设计方法(算法)当银行业务员输入取款金额后,点击确定按钮,系统进行处理,显示出账户余额,并且显示其他固定信息。
5.课程设计的心得体会本课题通过对基于面向对象思想的银行储蓄管理系统做深入分析和设计为目标,利用问题求解的方法,从方案的提出,方案的分析,方案的设计,方案的修改,方案的测试和完善等方面,以用力驱动,建立OO模型,映射关系模型,分析用例交互等,逐步实现系统的整体分析和模块设计。
本课题的分析过程采用了简单的UML建模方法,如用例图、类图、顺序图等的建模,以更直观的图形化分析将软件的功能一步步展现在用户面前,大大简化了文字性描述,提高了效率;同时,高效便捷的开发环境为我们提供了大量的集成控件,大大减少了编码量,为开发过程提供了便捷.6.参考资料Ⅰ《软件工程——原理,方法与应用》吴钦藩编着人民交通出版社出版Ⅱ《软件工程导论(第四版)》张海藩编着清华大学出版社出版Ⅲ《软件工程》任胜兵邢琳编着北京邮电大学出版社。