银行储蓄管理系统需求分析设计
银行储蓄管理系统
课程题目信息系统分析与设计题目银行储蓄管理系统摘要近几年来,随着科技的发展和社会的进步,尤其是计算机大范围的普及,计算机应用逐渐由大规模科学计算的海量数据处理转向大规模的事务处理和对工作流的管理,这就产生了以台式计算机为核心,以数据库管理系统为开发环境的管理信息系统在大规模的事务处理和对工作流的管理等方面的应用,特别是在银行储蓄管理之中的应用日益引起人们的关注。
这次的数据库课程设计我以这一应用环境为背景,应用数据库原理课程所学的数据库设计与关系数据理论,结合实际的操作和设计进行设计。
目标是制定一套合理、有效,规范和实用的银行管理系统,对银行信息进行集中统一的管理。
提高银行工作效率,做到信息的规范管理,科学统计和快速查询。
本文实现了一个小型的银行储蓄管理系统,该系统主要功能包括存款、取款、查询及储户信息修改等功能。
从而满足了广大人民群众的需要,同时也实现了银行储蓄管理的系统化、规范化、自动化和智能化,提高了银行管理的效率。
关键字:银行储蓄;数据库;目录摘要 (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. 账户管理系统需具备账户管理功能,包括账户开设、关闭、冻结、解冻等操作,以便银行对账户进行灵活操作和管理。
3. 银行业务管理系统需支持各类银行业务,如存款、取款、转账、贷款申请等操作,方便客户进行各类银行业务操作。
4. 风险控制系统需具备风险控制功能,包括交易监控、异常交易检测、反欺诈等措施,确保银行业务安全有序进行。
三、技术需求分析1. 安全性系统需要具备强大的安全性措施,包括数据加密、身份认证、访问控制等措施,确保系统数据和用户信息安全可靠。
2. 性能优化系统需要具备高性能的特点,能够快速响应用户操作请求,确保系统运行流畅高效。
3. 可扩展性系统需要具备良好的可扩展性,能够根据业务需求灵活扩展功能和容量,以适应业务发展需求。
四、用户需求分析1. 用户友好性系统需要具备简洁直观的用户界面,方便用户操作和使用,提升用户体验。
2. 学习成本系统需要具备低学习成本的特点,新用户能够快速上手操作,提高用户满意度。
3. 多平台支持系统需要支持多平台访问,包括PC端、移动端等,方便用户随时随地进行银行业务操作。
五、总结银行管理系统作为金融行业的核心系统之一,需求分析是系统设计的重要一环。
通过对业务需求、技术需求和用户需求的分析,系统设计者可以更好地把握系统设计方向,满足银行业务及用户需求,提升银行运营效率和服务质量。
面向对象分析案例:银行储蓄系统
在ATM系统的例子中,经过初步筛选,剩 下下列类与对象:ATM、中央计算机、分 行计算机、柜员终端、总行、分行、柜员、 储户、账户、事务、现金兑换卡。
面向对象分析案例:银行储蓄系统
3.2 确定关联
1. 初步确定关联 在需求陈述中使用的描述性动词或动词词组,通
常表示关联关系。因此,在初步确定关联时,大多 数关联可以通过直接提取需求陈述中的动词词组而 得出。通过分析需求陈述,还能发现一些在陈述中 隐含的关联。最后,分析员还应该与用户及领域专 家讨论问题域实体间的相互依赖、相互作用关系, 根据领域知识再进一步补充一些关联。 以ATM系统为例,经过分析初步确定出下列关联:
面向对象分析案例:银行储蓄系统
(3) 笼统
在需求陈述中常常使用一些笼统的、泛指的名词, 虽然在初步分析时把它们作为候选的类与对象列出 来了,但是,要么系统无须记忆有关它们的信息, 要么在需求陈述中有更明确更具体的名词对应它们 所暗示的事务,因此,通常把这些笼统的或模糊的 类去掉。
以ATM系统为例,“银行”实际指总行或分行, “访问”在这里实际指事务,“信息”的具体内容 在需求陈述中随后就指明了。此外还有一些笼统含 糊的名词。总之,在本例中应该去掉“银行”、 “网络”、“系统”、“软件”、“信息”、“访 问”等候选类。
当用户把现金兑换卡插入ATM之后,ATM就与 用户交互,以获取有关这次事务的信息,并与中央 计算机交换关于事务的信息。首先,ATM要求用户 输入密码,接下来ATM把从这张卡上读到的信息以 及用户输入的密码传给中央计算机,请求中央计算 机核对这些信息并处理这次事务。中央计算机根据 卡上的分行代码确定这次事务与分行的对应关系, 并且委托相应的分行计算机验证用户密码。如果用 户输入的密码是正确的,ATM就要求用户选择事务 类型(取款、查询等)。当用户选择取款时,ATM请 求用户输入取款额。最后,ATM从现金出口吐出现 金,并且打印出账单交给用户。
银行储蓄管理系统需求分析
河北大学工商学院软件工程实验报告课题: 银行储蓄管理系统姓名: 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。
银行储蓄系统可行性分析
04
经济可行性分析
投资成本与回报预测
投资成本
建立银行储蓄系统需要投入大量资金,包括软硬件设备、系统开发和维护、员工培训等 方面的费用。
回报预测
通过储蓄系统可以吸引更多客户,增加存款规模,提高银行的资金实力和盈利能力。同 时,储蓄系统可以降低银行的运营成本,提高工作效率。
要点二
社会效益
银行储蓄系统的社会效益主要体现在提高金融服务普惠水 平、促进经济发展等方面。通过储蓄系统,银行可以为更 多人提供便捷的金融服务,推动金融业的发展和社会进步 。
05
风险评估与对策
技术风险及其应对措施
技术落后风险
若储蓄系统技术落后,可能无法满足客户的 需求,导致客户流失。
解决方案
持续关注技术发展,定期升级系统,确保系 统的先进性和稳定性。
硬件需求
需要高性能的服务器、存储设备和网 络设备,以满足系统的高并发、低延 迟和高可靠性的要求。
数据存储与处理能力
数据存储
需要使用高性能的数据库和存储设备,如Oracle Database、IBM Netezza等 ,这些设备能够提供高效的数据存储和处理能力。
数据处理
需要使用大数据处理技术,如Hadoop、Spark等,这些技术能够处理大规模的 数据,提高数据处理效率。
银行储蓄系统可行性分析
汇报人: 2024-01-07
目录
• 系统概述 • 技术可行性分析 • 业务可行性分析 • 经济可行性分析 • 风险评估与对策 • 结论与建议
01
系统概述
定义与目标
定义
银行储蓄系统是一个用于管理客户储 蓄账户的系统,包括账户的开设、存 款、取款、转账等功能的实现。
数据库课程设计 银行储蓄管理系统
《数据库系统概论》课程设计报告设计题目:银行储蓄管理系统姓名:学号:班级:设计起止时间:需求分析:在对软件工程相关知识学习之后,我们对设计软件有了基本的认识和一些应用技能。
在数据库的课程设计中,我们计划做一个小型的银行储蓄管理系统,包括了基本的存取转,和管理员对日常工作的管理功能。
功能设计:(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();}心得体会:这次课程设计体会非常深刻,首先在团队合作方面,我觉得自己作为队长没有两道好我的小队,这是我的失职。
软件工程课程设计银行储蓄管理系统
资源利用率:评估 系统对硬件资源的 占用情况
数据库优化:采用索引、分区等技术提高查询效率 代码优化:精简冗余代码,提高代码复用率 系统架构优化:采用微服务、分布式等技术提高系统可扩展性和可靠性 安全性优化:加强数据加密、权限控制等措施保障系统安全
评估现有系统的性能和功能 分析系统瓶颈和潜在的改进点 确定升级和改进的目标和需求 制定升级和改进的方案和计划
用户登录验证功能 存款、取款功能
账户管理功能 查询余额功能
系统安全性:确保 数据安全,防止未 经授权的访问和篡 改。
系统稳定性:确保 系统在高负载和复 杂环境下能够稳定 运行。
系统可扩展性:为 未来功能扩展和升 级提供足够的空间 和支持。
系统易用性:提供 用户友好的界面和 操作体验,方便用 户快速上手和使用。
软件工程课程设计银行储蓄管理系统的应用具有广泛的实际意义,可以为银行储蓄业 务提供更好的服务,提高客户满意度,增强银行的市场竞争力
背景:软件工程课程设计银行储蓄管理系统是为了满足银行储蓄业务的需求,提高银行业务处理效率和客户满意度。 目的:通过软件工程课程设计,使学生掌握软件设计的基本原理和方法,提高软件开发和维护的能力。 意义:该系统的开发有助于提高学生的实践能力,培养创新思维和团队协作精神,为未来的软件开发工作打下基础。
菜单栏:包含所有功能选项, 方便用户快速访问
用户界面布局:简洁明了, 易于操作
工具栏:提供常用功能快捷 方式,提高操作效率
状态栏:显示系统状态和提示 信息,帮助用户更好地了解系
统运行情况
用户身份验证:采用 用户名和密码进行身 份验证,确保只有授 权用户能够访问系统。
数据加密:对敏感数 据进行加密存储,确 保数据在传输和存储 过程中的安全性。
银行计算机储蓄系统项目开发计划
银行计算机储蓄系统项目开发计划背景数字化时代,越来越多的银行机构开始采用计算机储蓄系统。
这种系统能够帮助银行更好地管理客户信息、存款记录和交易等信息。
对于银行管理和客户来说,这种系统能够提高效率、减少时间成本和效率成本。
因此,计算机储蓄系统已经成为银行业务逐渐实现数字化转型,提高竞争力的一种重要手段。
为此,本文将建立银行计算机储蓄系统项目开发计划,旨在提高银行的工作效率,优化客户体验,实现为客户提供更优质、更便捷的服务。
目标本项目的目标是开发一个稳定、高效、易用的银行计算机储蓄系统,以提供更优质、更便捷的服务,为客户提供高质量的银行存储服务。
需求分析银行计算机储蓄系统的开发需要从以下几个方面进行需求分析:功能性需求•存款管理:银行计算机储蓄系统应该能够对银行存款信息、利息等进行管理,同时控制账户余额和交易。
•客户管理:银行计算机储蓄系统应该能够对客户信息进行分类和管理。
•交易管理:应该针对不同的交易方式,对交易进行管理。
非功能型需求•稳定性:银行计算机储蓄系统需保证系统的稳定性和可靠性。
•数据安全:银行计算机储蓄系统需保证银行存款记录的真实性,保障客户隐私信息的安全。
技术路线•编程语言:本计划通过Python语言进行开发,利用Python语言进行数据分析和开发。
•数据库:使用关系型数据库,在开发过程中使用以下数据库:MySQL,Oracle,PostgreSQL等。
•环境:使用Linux系统,使用集成开发环境:PyCharm,Visual Studio Code等。
开发周期银行计算机储蓄系统开发周期为6个月,具体如下:•需求分析:一个月•系统设计:一个月•开发:两个月•测试:两个月•部署与上线:一个月项目管理•项目组织:由项目负责人、开发人员、测试人员、运营人员组成。
•定期报告:定期召开会议,报告各个阶段的进度和问题。
•风险管理:及时发现问题并及时解决。
对于重大风险,应及时采取应对措施。
通过本计划,银行计算机储蓄系统能够实现稳定、高效、易用的优化服务,满足客户不同级别的需求,提供全面的银行服务。
银行计算机储蓄系统需求分析报告
银行计算机储蓄系统需求分析报告1.引言银行作为金融机构的重要组成部分,其储蓄业务是银行的核心业务之一、为了提高储蓄业务的效率和准确性,银行计算机储蓄系统应运而生。
本报告对银行计算机储蓄系统的需求进行分析,以期为系统的设计和开发提供指导和参考。
2.当前储蓄业务存在的问题目前,银行的储蓄业务主要依赖柜台操作,以人工方式处理客户的开户、存款、取款等业务。
这种方式存在以下问题:(1)人工操作容易出错,容易造成资金的错误计算或遗漏。
(2)人工操作效率低下,客户需要等待较长时间才能完成业务办理。
(3)储蓄业务的数据无法实时共享和查询,影响业务的监管和管理。
3.系统需求分析基于以上问题,我们提出了以下银行计算机储蓄系统的需求:(1)开户功能:该功能包括新客户的信息录入、身份验证和账户的开立。
系统应能够自动生成客户的唯一标识,确保数据的准确性和安全性。
(2)存款和取款功能:系统应能够记录客户的存款和取款操作,并实时更新账户余额。
同时,系统应保障资金的安全性和准确性,有效防止虚假交易。
(3)账户查询功能:客户和银行工作人员能够通过系统查询账户余额和交易记录。
该功能应保证查询的准确性和实时性。
(5)风险控制功能:系统应能够自动检测和识别异常交易,如大额存取款、频繁转账等,以及防止账户被盗用或恶意操纵。
(6)安全性和权限控制:系统应具备高强度的安全性控制,包括身份验证、密码管理和权限管理等功能,以确保系统的数据和交易的安全性。
(7)扩展性和可维护性:系统应具备良好的扩展性和可维护性,能够适应银行业务的发展和场景的变化,同时支持软件的升级和优化。
4.系统开发与实施为了满足上述需求,银行计算机储蓄系统的开发应遵循以下步骤:(1)需求分析:详细分析银行的储蓄业务流程和需求,明确系统的功能和性能要求。
(2)系统设计:根据需求分析结果,设计系统的架构和模块,确定系统的开发技术和工具。
(3)系统开发:根据系统设计,对系统进行编码开发,并进行集成测试和系统测试。
银行储蓄系统概要设计说明书
银行储蓄系统概要设计说明书目录1 引言 (2)1.1 编写目的 (2)1.2 背景 (2)1.3 定义 (2)1.4 参考资料 (2)2 总体设计 (2)2.1 需求规定 (2)2.2 运行环境 (2)2.3 基本设计概念和处理流程 (2)2.3.1数据处理流程图 (2)2.3.2数据对象E-R图 (3)2.3.3存取款数据流程图 (3)2.4 结构 (3)2.5 功能需求与程序的关系 (4)2.6 人工处理过程 (4)2.7 尚未解决的问题 (4)3 接口设计 (5)3.1 用户接口 (5)3.2 内、外部接口 (5)4 运行设计 (5)4.1 运行模块组合 (5)4.2 运行控制 (5)4.3 运行时间 (5)5 系统数据结构设计 (5)5.1 逻辑结构设计要点 (5)5.2 物理结构设计要点 (6)5.3 数据结构与程序的关系 (6)6 系统出错处理设计 (6)6.1 出错信息 (6)6.2 补救措施 (7)6.3 系统维护设计 (7)概要设计说明书1 引言1.1 编写目的在现代化社会中随着银行业的激烈竞争,如何更好的提高办事效率,降低成本,提高银行系统的电算化及现代化程度,充分满足客户的需求,提供更优质高效的服务,成为各银行正向追逐的目标。
伴随着银行业激烈的竞争,急需出现一套更符合银行需要的新一代银行储蓄系统。
为满足客户需求,通过概要的设计说明,可以让系统开发的团队有一个开发的具体方向,并且确定软件开发过程中将会面临的诸多问题以及制定出相应的解决办法,以及确定此软件在未来所带来的经济效益。
1.2 背景待开发的软件系统的名称;银行储蓄管理系统。
本项目的任务提出者:银行。
本项目的开发者:本小组成员。
目前的银行储蓄系统方便性还不够,储蓄用户不能很好的随时随地进行存取款,因此,就需要创建一个可以很好满足用户,方便用户存取款需求的新的银行计算机储蓄系统。
1.3 定义银行储蓄应用软件:基本元素为构成银行储蓄以及相关行为所需的各种部分。
银行储蓄系统需求分析
银行储蓄系统需求分析
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, 并且各个数据表的内容将完全符合其他各部门的需求, 各个表之间通过外键相互关联。
银行储蓄管理系统需求分析-数据流图
F图为本系统的用户功能图:
F表列出了10项基本功能:
序号
作业
功能描述
1
ቤተ መጻሕፍቲ ባይዱ存款
:为银行用户提供各种存款操作,并记入数据库
2
取款
为用户提供所需的分为柜台取款和ATM取款两种操作
3
转账
提供网上转账和柜台转账
4
查询
提供在各种终端进行的查账操作以便于银行用户对自己的 账目进行管理
5
修改密码
可对密码、网上银行密码进行修改
6
利息
在数据变动之前自动计算上次利息并更新账目进行下一次 账目管理
7
报表
;对需要通过书面输出的信息进行整理打印
8
开户
为新用户开一个新帐户
9
销户
:为用户结算利息,并支出余额存款,并消除资料
10
管理
可对对银行内的储蓄业务上的资金流进行分析和查询
银行储蓄系统需求分析报告
银行储蓄系统需求分析报告概述银行作为金融行业的一个重要组成部分,为人们提供了储蓄服务,使人们能够安全存放并增值自己的财富。
随着科技的发展和互联网的普及,越来越多的人选择通过银行储蓄系统进行储蓄操作。
本文将对银行储蓄系统的需求进行详细分析,旨在为银行储蓄系统的设计和开发提供指导和建议。
一、系统概述银行储蓄系统是一个综合性的金融服务系统,它涵盖了用户账户管理、存款业务处理、利息计算和发放、账户查询和报表生成等功能。
该系统具备良好的用户友好界面,并能够提供安全有效的数据管理和交易处理能力。
二、用户模块需求1. 注册和登录用户应该能够通过提供个人信息和设置安全密码来注册和登录系统。
2. 账户管理用户应该能够自主管理自己的账户,包括修改个人信息、修改登录密码、开设新的储蓄账户等。
3. 存款和取款用户应该能够通过系统完成存款和取款操作,系统应该能够自动处理存款和取款的记录,并实时更新用户的账户余额。
4. 利息计算和发放系统应该具备利息计算的功能,根据用户的存款金额和存款期限自动计算利息,并及时发放到用户的储蓄账户中。
三、业务处理需求1. 存款处理系统应该能够处理用户存款的请求,包括验证用户身份、接收存款金额、更新账户余额等。
2. 取款处理系统应该能够处理用户取款的请求,包括验证用户身份、检查账户余额、处理取款金额等。
3. 利息计算和发放系统应该能够根据设定的利率和存款期限自动计算用户应得的利息,并将利息发放到用户的储蓄账户中。
四、查询和报表需求1. 账户余额查询用户应该能够通过系统查询自己的账户余额,并能够查看账户的交易记录。
2. 存款记录查询用户应该能够通过系统查询自己的存款记录,并能够查看每次存款的金额和时间。
3. 取款记录查询用户应该能够通过系统查询自己的取款记录,并能够查看每次取款的金额和时间。
4. 利息发放报表系统应该能够生成利息发放的报表,包括计息周期、利息金额和发放时间等信息。
五、安全性需求1. 用户身份验证系统应该在用户登录和进行敏感操作时对用户进行身份验证,确保只有合法用户能够访问和操作系统。
储蓄业务子系统需求分析
第三章需求分析需求分析主要从功能、数据、行为等方面来描述软件系统,解决“做什么”的问题。
它是进行软件设计的基础,同时也是进行软件验收的基准。
在面向对象的需求分析报告中,主要通过用例来描述系统的功能和行为,以及用数据字典来描述系统的数据。
用例可以用图来表示,也可以用文字表示。
以下的两个需求分析报告中主要采取文字描述的方法,文档中的图主要使用Rational Rose和Microsoft Office Visio等工具来绘制。
“储蓄业务子系统”需求分析报告1.范围1.2系统概述1.软件名称:银行系统中的储蓄业务。
2.软件功能:为银行储户提供一卡通的开户、挂失、销户、存款、取款和转账等储蓄操作,利息计算等功能。
3.与其他子系统的关系:此系统为银行系统的一部分,项目来源于XX银行的委托。
整个银行系统分为六个部分,另外五个为:贷款业务、外汇交易、网上银行、信用卡业务和系统管理。
用户需要从系统管理子系统登录后才能进入储蓄模块。
贷款业务、外汇交易、网上银行、信用卡业务这四个子系统的一卡通帐户信息,包括客户信息、存款信息等,与储蓄子系统共享。
图A1-1所示的子系统关系图,主要描述储蓄业务子系统与其他子系统的关系,其他子系统之间的相互关系略。
4.用户:银行的柜台人员。
5.开发者:XXX、XXX、XXX图A1-1 子系统关系图1.3文档概述需求分析采用面向对象的方法,在文档中主要采用了用例、E-R图和数据字典等表示方法来描述需求。
文档的预期读者为银行业务人员、软件开发小组等。
1.4基线无2.引用文件计算机软件文档编制规范(GB/T8567—2006),2006年3月14日发布,2006年7月1日实施。
3.需求概述3.1系统目标系统的卡发目标是充分利用计算机的网络技术,用一卡通代替普通的存折和存单,使储户的各类操作更加便捷,同时提高银行的工作效率。
3.2运行环境1.服务器的硬件配置要求:双核3GHz以上CPU,2G以上RAM,200G以上硬盘空间;软件配置要求:Windows 2003操作系统,JRE1.5,Microsoft SQL Server2000。
银行储蓄管理系统的设计与实现
银行储蓄管理系统的设计与实现The Design And Implementation Of Bank Savings ManagementSystem摘要目前社会上各种存储管理系统正在飞速的发展,越来越多的银行企事业单位引入了储蓄管理系统软件来管理自己的日常存储信息数据,取得了非常好的效果,银行储蓄管理系统也在原有的基础上进一步将功能不断的加强和完善,为了使银行的存储系统更加的科学化,实用化,规范化,因此我开发了这次的银行存储管理系统,以方便人们的生活。
作为计算机应用领域的一部分,使用计算机对银行的储蓄系统进行管理,具有非常大的优势,因为现如今人们的生活变得越来越好,这促使了我国金融分行业的快速发展,所以对于以前手工管理的方式在银行储蓄管理这方面就需要非常大的事务量,这显然无法达到我们高质量高效率的服务水平,所以运用科学的管理方式将对我们以后的经济发展带来新的发展热潮。
银行储蓄管理系统是现代经济生活中的重要组成部分,该系统主要通过前台应用程序的开发及后台数据库的建立与维护两个方面来进行系统设计。
采用功能强大的VS2008作为开发工具、SQL2005作为数据库开发出来的企业工资管理系统,在整个系统数据库的建立和维护方面保持了数据的一致性、完整性与安全性。
本文着重介绍了该系统的功能与具体实现过程,其功能主要包括:用户开户、存款、取款、销户、灵活打印账单、用户修改密码等功能。
该系统适用的对象是银行营业员,营业员相当于管理员,当储户需要完成一定操作时,可以通过营业员操作该系统来完成一定的功能。
本论文主要论述的是银行储蓄管理系统的设计与实现。
本设计以Microsoft Visual Studio 2008为开发环境,采用当前比较流行的C#[1]编程语言进行编码,数据库采用的是Microsoft SQL Server 2005。
采用的开发模式为当下最为流行的C/S架构模式。
本文的层次结构分为五大章节,第一章主要讲述的是此次开发的银行管理系统的课题背景、研究目的及意义、国内外研究现状、以及开发环境的介绍;第二章主要介绍此次开发所要准备的各种相关材料和需求分析、可行性分析、所要实现的功能分析、以及相关的业务流程图和实体E-R图;第三章主要概述该系统的主题设计,包括主要的功能设计分析以及用到的数据库的创建;第四章主要简述系统的主要功能设计,包括前台登录页面的设计、添加用户设计、开户设计、销户设计、挂失设计和取消挂失等设计;第五章主要讲解系统软件的测试,主要介绍软件测试的理论知识和所要用到的相关技术、各模块的软件测试,总结系统的不足。
银行储蓄系统需求分析
银行储蓄系统需求分析报告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)。
〖银行储蓄管理系统〗需求分析2016年5月目录1 引言 (3)1.1 编写目的 (3)1.2 项目背景 (3)1.3 定义 (3)1.4 参考资料 (3)2 任务概述 (3)2.1 目标 (3)2.2 运行环境 (3)2.3 条件与限制 (3)3 数据描述 (3)3.1 静态数据 (3)3.2 动态数据 (3)3.3数据库描述 (3)3.4数据词典 (5)3.5数据采集 (6)4 功能需求 (7)4.1 功能划分 (7)4.2 功能描述 (7)5 性能要求 (8)5.1 数据精确度 (8)5.2 时间特性 (8)5.3适应性 (8)6 运行需求 (8)6.1 用户界面 (8)6.2 硬件接口 (8)6.3 软件接口 (8)6.4 故障处理 (8)7 其他需求 (9)1引言1.1 编写目的根据需求调研分析报告,定义系统功能和系统数据流图,通过编写需求分析规格说明书,让开发人员能够根据需求规格说明书来开发项目。
1.2 项目背景软件名称:银行储蓄系统委托单位:银行开发单位:科技大学主管:荀亚玲1.3 定义银行储蓄应用软件:基本元素为构成银行储蓄行为所必需的各种部分。
媒体素材:是指传播教学信息的基本才来单元,可分为五大类:文本类素材、图形(图像)类素材、音频类素材、动画类素材、视频类素材。
需求:用户解决问题或达到目标所需的条件或功能;系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。
需求分析:包括提炼,分析和仔细审查已收集到的需求,以确保所有风险承担者都明其含义并找出其中的错误,遗憾或其他部族的地方。
1.4 参考资料《软件工程导论——第5版》张海藩编著清华大学出版社2任务概述2.1 目标完善目前银行储蓄系统,之智能跟上时代发展,同时通过实践来提高自己动手能力。
2.2 运行环境操作系统:Windows XP/Windows Vista,支持环境:IIS 5.0 数据库:Microsoft SQL. Server 2000,编程环境:Microsoft visual basic 6.0中文版。
2.3 条件与限制硬件配置要求硬什外部设备需奔腾133以上的pc机,内存需16兆以上软件要求操作人员具有初步的相关知识由于本系统为即时软件,刘数据蚓叫步要求较高,建议配置网络时使川叫靠性较高佝相关网络硬件设施。
银行以记时器记叫完毕触发利息结算:对用户取款额未做上限约束:各间采用集巾控制。
有效证件仅为身份证,牵涉到开户、撤户、挂失、取款时客户必须提供身份证号;存款及余额查询时不需提供身份证号。
不考虑系统的运行平台可能会出现的硬什故障。
3数据描述3.1 静态数据包括系统登录密码:个数据库所在位置,系统分析原始数据。
3.2 动态数据输入数据:姓名,年龄,身份证号,地址,账号,密码输出数据:姓名,年龄,地址,账号,密码,交易金额,余额,交易时间3.3 数据库介绍采用JDBC技术连接使用SQL SERVER 2000米设计数据斤。
数据库名称:Banksystem,其中有三张表,它们是:customer(customerrname,customerid,bankname,yewuyuanid,cunkuancountshengyucount,ratevalue,shouxucount)bank (bankname,yewuyuanid)ti3.4 数据采集包括储户信息和帐户信息。
储户信息:姓名,性别,身份证号码,地址,联系电话等。
帐户信息:帐户号码,帐户密码,开户时间,储蓄余额,储蓄类型等3.5 数据管理数据库的管理主要是数据管理,针对数据实行备份、恢复、添加、删除等管理功能。
其中备份包括本地备份和异地备份。
针对资源库的分布式特点,我们采用:l、先对各自服务器进行发布、订阅服务器和分发的配置。
2、在需要备份的数据库服务器上向其他服务器(也可以是本服务器)发布备份内存。
3、在订阅设置中设置备份的日标位置。
4、定期备份完成后,可实现对损坏的数据库数据的恢复。
数据安全:针对数据库系统数据生存期长、维护要求高、涉及不同安全级等基本特点,可以将数据库系统的安全问题归结为以下几个方面:l、保证数据库系统的完整性。
包括:数据库系统的物理完整性;数据库的逻辑完整性;数据库系统的元素完整性。
2、保证数据库系统的保密性。
包括:对数据库系统的用户进行身份鉴别,保证每个用户是合法的且是可以识别的;数据库系统的访问控制。
即控制主体对客体的访问,拒绝非授权访问;统计数据库对推理攻击的防范;数据庠系统的可审计性。
即对非法用户的侵入行为及信息泄密与破坏的情况能够跟踪审计;防止数据库系统中隐蔽信道的攻击。
3、保证数据坪系统的可用性,即保证数据坪系统资源川以存取、易于使用、界面友好等系统提供了SQL Server2000与Windows 2003 Server相结合的多种安全机制来控制对数据库内容的访问。
具体采用了以下几种力法:(1)多重身份鉴别。
用户进入Windows平台刚,必颂输入口令:SQL Server 2000具有自己独立的用户身份鉴别机制,首先为DBMS创建登录名,并指定各登录名将隶属于哪个SQL Server角色,用户进入数据库系统时要输入自己的登录名和密码。
(2)存取控制,为每个数据库设置用户,并将其加入适当的角色中,赋予数据库用户添加、删除、修改等访问权限,以防非法使用所造成的数据泄漏、更改或破坏。
(3)用索引和存储过程增强系统晌安全性。
一般不要给用户直接访问基表的权限。
用户具有访问索引和存储过程的权限,而不是表的接访问权限。
(4)审核。
审核功能在系统运行时,可以自动将对数据库的所有操作记录在审计日志中,它用来监视用户对数据库施加的动作。
有两种方式的审核,即用户审核和系统审核,用户审核时,DBMS的审核系统记下所有列自己表或视图进行访问的企图(包括成功的和不成功)及每次操作的用户名、时问、操作代码等信息,审核的结果存储在数据库的审核表中(系统表)之中,利用这些信息用户可咀进行审核分析。
系统审核由系统管理员进行,其审核内容主要是系统一级命令以及数据库实例的使用情况。
3.6 故障处理要求可能出现的故障故障处理电源供电中断UPS Battery迅速供电,以保证系统下常运行数据库被损坏;利用磁盘阵列导入备份的数据库文什4功能需求4.1 功能划分软件分别有新建,修改,查询,更新等功能。
各个模块各有不同的功能,但都能完成查询和存储功能各模块的数据都存放在数据库中。
数据的调用和连接都有程序来完成。
此系统所要完成的主要功能有两方面:如果是存款,储户填写存款单,然后交给业务员键入系统,同时系统还要记录存款人姓名、住址(或电话号码)、身份证号码、存款类型,存款日期、利率及密码(可选)等信息,完成后系统打印存款单给储户。
如果是取款,储户填写取款单文给业务员,业务员把取款金额输入系统并要求储户输入密码以确认身份,核对密码正确无误后系统计算利息并印出利息清单给储户。
4.2 功能描述外部功能:实现可视化窗口,查找及存储内部功能:同步,过滤,定位,识别存款功能以储户的存款为主要活动,相关记录根据存款结果进行调整,以使信息保持一致1.系统需要在原账户信息中,增加一条记录,包括存款人姓名、住址、存款类型、存款日期、利率等信息。
2.若为新储户须建立一个账户,并记录此次的记录。
3. 打印存款单给储户。
存款状态转换图:取款功能以储户的取款为主要活动,相关记录根据取款结果进行调整,以使信息保持一致。
1.系统利息计算,在原账户信息中将取款额减去,2.若为清户,记录注销该账户,将账户余额(包括存款额及利息)一并交与储户。
3.打印利息清单给储户。
余额查询功能为储户提供查询余额服务,将储户的相关记录输出。
1.需要储户的账户信息及密码。
2.打印储户的账户余额。
5性能需求5.1 数据精确度在进行向数据库文件提取数据时,要求数据记录定位准确,在往数据库文件数组中添加时,要求输入准确金额,身份证,卡号等按需求设定字符数。
5.2 时间特性程序响应时间:在人的感觉和视觉事件范围内;信息交换时间:要求在程序调用前调用后都与数据库保持同步更新5.3 适应性要求数据库既有很好的更新能力,由于本产品是实验性软件,对磁盘和内存容量没有很高的要求,但数据库应该能够对并发事件,脏数据具有较强的识别处理能力。
6运行需求6.1 屏幕格式屏幕格式:采用全屏格式。
通过分窗口操作进行各个操作之间的转换。
报表格式:以银行原报表格式和设计电子打印表格式。
菜单格式:下拉式菜单,应显示出乎资料及账户资料的各个详细条目。
6.2 硬件接口硬件级口无特别要求。
网络硬件接口要求:现实中要求具有高速以太网组网以实现联网操作,但在理论实验验证软件本身的目的来看,无需网络通讯接口。
业务员键入储户的资料要全部一直显示在屏幕;储户从按键口键入密码到系统以核对;计算机与打印机有高速传输的连接接口,最后以纸张的形式打印出清单给用户。
6.3 软件接口Windows标准接口,要求与其他软件无冲突错误发生。
6.4 故障处理软件应具备自动拼写错误检查等功能,再出现故障后应从整个系统数据库重新载入数据进行操作。
7其他需求1.可用性本软件也可以通过单步跟踪的操作进行检查处理。
2.安全性由于软件运行数据放在数据库中,所以参加不容易被错该、破坏,万一参数遭到破坏也不会影响源程序。
3.可维护性本软件利用数据库进行编程,系统结构由程序基本确定,大量的参数及文本内容全部放于数据库中。
修改、更新数据只要在数据库进行修改添加,而不需要对系统结构进行修改,这样系统维护性、升级都十分方便。