银行定期存储管理系统介绍(doc18页).docx

上传人:rrsccc 文档编号:9527391 上传时间:2021-03-03 格式:DOCX 页数:19 大小:230KB
返回 下载 相关 举报
银行定期存储管理系统介绍(doc18页).docx_第1页
第1页 / 共19页
银行定期存储管理系统介绍(doc18页).docx_第2页
第2页 / 共19页
银行定期存储管理系统介绍(doc18页).docx_第3页
第3页 / 共19页
银行定期存储管理系统介绍(doc18页).docx_第4页
第4页 / 共19页
银行定期存储管理系统介绍(doc18页).docx_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《银行定期存储管理系统介绍(doc18页).docx》由会员分享,可在线阅读,更多相关《银行定期存储管理系统介绍(doc18页).docx(19页珍藏版)》请在三一文库上搜索。

1、学院:第一实验小组成员:管理科学与工程刘刚、何娟、姜信侠、吴志华、查正功、朱路、樊宇新一项目规划和需求分析 .1.开发背景 . .2.组织的结构 . .3.需求分析 . .4.人力要求 . .二系统分析 .1.系统安全性分析 . .2业务流程图( Transaction Flow Diagram ,TFD) .3.数据流程图( Data Flow Diagram ,DFD) .4.数据字典( Data Dictionary ,DD) .三系统设计 .1.系统功能设计 . .2.概念设计 . .3.物理设计 . .四系统实施 .1.开发工具的选择 . .2.程序设计 . .3. 系统测试 . .

2、一项目规划和需求分析1. 开发背景在计算机技术和网络技术没有得到全面普及以前,各企业和行政单位,在办工时,都要记录大量的数据,这些数据还要保存到文档里,不仅消耗大量的脑力,还要占据大量的空间。特别是银行工作人员在办理各项业务时,不仅要需要大量的计算和统计,而且需要数据准确、精密。所以,工作人员在处理业务时,容易出现不可避免的错误。随着计算机技术和网络技术的快速发展,电脑和INTERNET 进入了个行政企业,甚至平常家庭。因此,编写一个处理银行定期管理的应用系统是很有必要的。进行计算机计算和管理储户信息,银行存款等各项数据。避免人类因疲惫或者其他原因造成的错误工作。2. 组织的结构银行定期存储管

3、理系 统图 1组织的结构3. 需求分析登存取挂统录款款失计子子子子子该系统存储以下信息:系系系系系( 1)统统统统统每笔存款的储户信息和办理该笔存款的营业员信息,这些信息存放于存款文件中。其中储户信息包括:帐号,姓名,密码,地址,储种(定期1 年, 3 年, 5 年),本金,收储日期,是否已经挂失和挂失日期。营业员信息包括:接待该储户的营业员的姓名和工号。( 2) 每笔存款的储户信息和办理该笔存款的营业员信息,这些信息存放于取款文件中。该系统功能要求如下:( 1) 创建存款文件(第一次输入储户信息时) ;(2) 创建取款文件(第一次办理取款时);打帐号印(3) 接收储蓄:接收储户和营业员信息并

4、将以上信息添加到存款文件中;验利对( 4) 处理挂失:根据储户提供的帐号, 姓名,密码,地址,储种,储金核查有无此项存款, 有则证息帐号加挂失标记;否则,则需子判断是否领走还是未发生过子这笔存款。(5) 办理取款: 根据储户提系供的存款单(上面有帐号,姓系名,储种,本金,日期)判断是否统统到期,检查有否挂失,根据储户提供的密码判断是否正确。若判断通过,执行以下三步。取款文件中添加这笔存款的储户和营业员的所有信息和取款日期,以便复查。打印利息单,包括:帐号,姓名,储种,起息日期,支取日期,本金,利息和支取金额。利息计算如下: 1 年到期利息 7%, 3 年 8%, 5 年 9%;每逾期一天,每天

5、利率 0.05%;若提前支取,每天利率 0.05%。 在存款文件中对这笔存款删除。4. 人力要求刘刚 ( 组长 ) : 将各组员做的各子系统数据汇总, 建立数据库文件, 并将储户信息和营业员信息保存在数据库文件当中。何娟 ( 副组长 ) :完成各项文档的编制,包括业务流程图,数据流程图,数据字典,系统文档的编写。朱路: 完成“存款子系统”的设计任务;吴志华:完成“帐号验证子系统”的设计任务和完成用户信息和营业员信息类的定义和函数的编写;查正功:完成“打印利息子系统”和“登录子系统”的设计任务;姜信侠:完成“挂失子系统”的设计任务;樊宇新:完成“统计子系统”的设计任务。二 系统分析1. 系统安全

6、性分析使用本系统的人员可以划分成系统管理员,营业员,用户三类,系统管理员对系统拥有最高权限,可以修改,设定所有人员的密码和权限,主要是对该系统的维护和异常的处理。营业员和用户是该系统的主要操作人员,营业员主要是每天开始工作的时候启动该系统,监督用户的 存款和取款等操作。用户只有输入正确的帐号和密码,才可以进行取款和挂失操作。2业务流程图( Transaction Flow Diagram, TFD)存折图 2业务流程图存款处理存折3. 数据流程图( Data Flow Diagram ,DFD)营业储存折存利息文件统计文件户取款业务分类员储 户 库存折取款处理P5增加 D09存折P4储 户 库

7、不存在 D08记录现金修 改检 查营 业储 户存在 D07员 库添加 D10银存款 D06信 息和 储营业员库行记录户 库营业员P1P2取款 D01存在 D02检 查检 查无挂失 D03P3删除 D04储 户挂 失储 户 库信 息修 改记录信 息营 业员 库和 储添加 D05户 库营业员库记录储 户 库储 户 库图 3数据流程图4. 数据字典( Data Dictionary,DD)数据元素系统名:银行管理系统系统名称:用户帐号数据值类型:离散编号: E 01别名: CNO类型:字符型长度: 20说明:每个用户有一个唯一的帐号数据元素系统名:银行管理系统系统名称:用户密码数据值类型:离散编号:

8、 E 02别名: CPASSWORD类型:字符型长度: 20说明:每个用户的密码可以自己设置数据元素系统名:银行管理系统系统名称:用户本金数据值类型:离散编号: E 03别名: CMONEY类型:整数型长度: 20数据流系统名:银行管理系统系统名称:用户信息数据值类型:离散来源:用户存款,取款,挂失表数据流结构 :用户信息 = 帐号密码本金储种利息挂失数据元素编号: F 01别名: CINFOR类型:字符型去向:用户信息系统名:银行管理系统系统编号:D 02名称:存款表别名:CPASSWORD存储组织:二维表主键:帐号记录组成:字段名帐号密码本金储种利息挂失字段长度20201510101说明:

9、用此存储用户存款信息图 4 各种数据字典其他数据元素字典 , 数据流字典,数据存储字典略 。三 系统设计1. 系统功能设计 登录子系统为了增强数据的安全性,设置了该系统,只有营业员能使用,营业员通过输入正确的帐号和密码才能使用。以防他人篡改数据。 存款子系统接受储户与营业员信息,并将以上信息添加到存款文件中。 取款子系统先通过帐号验证子系统证明用户信息的正确性,输入正确的信息才能进行取款操作。然后,在取款文件中添加储户与营业员取款信息, 便便复查。 通过打印利息子系统打印利息单。 最后,在存款中删除被取款项。 挂失子系统根据储户信息提供的帐户信息,检查有无此项存款,有则对此帐号加入挂失标记。若

10、无此款项,需判断存款是否被领走还是未发生过这笔款项。 统计子系统统计每天到期的储金数。2. 概念设计存款金额姓名姓名,N,M储 户 库办理业务营业员库工号存 期帐号图 5 概念设计3. 物理设计存款表( cq)字段名称字段类型字段长度主键可否为空姓名文本20NOT NULL帐号文本20YNOT NULL密码文本20NOT NULL本金数字15NOT NULL储种数字1NOT NULL挂失数字1NOT NULL营业员姓名文本20NOT NULL营业员工号文本20NOT NULL日期数字10NOT NULL利息数字15NOT NULL图 6存款的物理设计取款( qk)字段名称字段类型字段长度主键可

11、否为空姓名 ,文本20NOT NULL帐号文本20YNOT NULL本金数字15NOT NULL储种数字1NOT NULL利息数字15NOT NULL挂失数字1NOT NULL图 7取款的物理设计四 系统实施1. 开发工具的选择(1) 前端软件开发工具的选择本系统选择可视化的面向对象的程序设计语言VISUAL C+ 作为前端开发工具,VISUAL C+ 具有强大的数据库功能,丰富的对话框界面,BMP 资源,主要是它的面向对象技术,使用MFC 封装了大量的类,也可以在他们的基础上,继承和派生出符合自己运用的类。使用ADO 技术,可以很好的和数据库文件连接。( 2)后台数据库的选择Microsof

12、t Access2003是一种桌面数据库系统,特别适合小型企业或者存储数据不大的数据库使用, 更重要的一点是,他简单易懂,操作起来与Microsoft word很象, 使用起来比较上手,而且不需要代码的编写,就可以创建一个数据库文件。( 3)软件开发平台的选择基于 VISUAL C+ 和 Microsoft access2003 对运行环境的要求, 选择 Windows XP 以上的操作系统作为系统开发和运行的平台。2. 程序设计( 1) 登陆子系统 登陆界面BOOL CBanksystemApp:InitInstance()函数的开始部分插入以下代码int ncount=0;while(nc

13、ount=3)MessageBox(NULL B_OK|MB_ICONERROR); return FALSE;ncount 变量是用来统计登陆次数的,如果超过3 次以上 ,系统会弹出消息框(2) 主界面如果登陆成功,就可以进入主界面了 主界面 代码主界面是单文档,是在#includestdafx.hFilesSystemadomsado15.dllrename(EOF,adoEOF)rename(BOF,adoBOF),然 后 在BOOLCBanksystemApp:InitInstance()数 :CoInitialize(NULL);(3)存款子系统函 数 初 始 化COM组 件, 加

14、入 函通过点击菜单栏上的“操作”-”取款 ”(或直接按)就可以进入存款对话框。存款界面:代码首先在CBanksystemView.cpp文件中加入 #includeSAVE.h,因为要在视图里面调用它的对象,然后为 ”取款 ”添加消息处理函数,调用该对话框 :void CBanksystemView:OnSave()CSAVEdlg;dlg.DoModal();弹出存款对话框以后:用户可以录入自己的信息进行存款操作.通过点击 ”确定 ”按钮。如果存储成功会弹出:void CSAVE:OnOK()UpdateData(TRUE);if(m_CNO.IsEmpty() | m_pswd.IsEmp

15、ty()MessageBox(基础信息不能 为空! );return;int lost=0;double lixi=1;total2=total2+m_CMONEY;if(m_CCHOICE=1)lixi=m_CMONEY*1*0.00198*(1-0.2);else if(m_CCHOICE=2)lixi=m_CMONEY*2*0.00225*(1-0.2);else if(m_CCHOICE=3)lixi=m_CMONEY*3*0.00252*(1-0.2);else if(m_CCHOICE=5)lixi=m_CMONEY*5*0.00279*(1-0.2);else MessageBo

16、x(银行不办理该项业务,请输入正确的储种1|2|3|5); return;OnInitADOConn();CString sql;sql.Format(insertintocq( 姓名 ,帐号 ,密码 ,本金 ,储种 ,挂失 ,营业员姓名 ,营业员工号,日期 ,利息 ) values(%s,%s,%s,%d,%d,%d,%s,%s,%d,%f),m_CNAME,m_CNO,m_pswd,m_CMONEY,m_CCHOICE,lost,m_ANAME,m_CANO,m_DATE,lixi);m_pConnection-Execute(_bstr_t)sql,NULL,adCmdText);m_p

17、Connection-Close();MessageBox( 存款成功,欢迎下次使用);CDialog:OnOK();(4) 存款 &挂失 &利息系统通过点击菜单栏上的入存款对话框。 存款 & 挂失 &”操作 ”-”取款 & 利息界面挂失 &利息 ”(或者直接按)就可以进 代码首先在CBanksystemView.cpp文件中加入图里面调用它的对象,然后为 ”取款 ”添加消息处理函数#includeQUKUAN.h,因为要在视,调用该对话框:void CBanksystemView:OnQukuan()CQUKUAN dlg3;dlg3.DoModal();弹出存款对话框以后:录入信息 ,通过

18、点击“用户信息进入”按钮:查看用户利息信息:void CQUKUAN:OnOK() UpdateData(TRUE);if(m_QUKUANMIMA.IsEmpty() | m_QUKUANZHANGHAO.IsEmpty()MessageBox( 基础信息不能为空!);return;if( (strcmp(m_QUKUANMIMA,liugang)!=0)|(strcmp(m_QUKUANMIMA,liu gang)!=0)MessageBox( 你不是管理员,请管理员输入正确的口令 ); return;m_grid.SetExtendedStyle(LVS_EX_FLATSB|LVS_EX

19、_FULLROWSELECT|LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIVATE|LVS_EX_GRIDLINES);m_grid.InsertColumn(0,姓名 ,LVCFMT_LEFT,110,0);m_grid.InsertColumn(1, 帐号 , LVCFMT_LEFT,110,1);m_grid.InsertColumn(2,本金 ,LVCFMT_LEFT,110,2);m_grid.InsertColumn(3,m_grid.InsertColumn(4,m_grid.InsertColumn(5,OnInitADOConn10();

20、_bstr_t SQL=select * from cq;利息 ,LVCFMT_LEFT,110,3);储种 ,LVCFMT_LEFT,110,4);挂失 ,LVCFMT_LEFT,110,5);m_pRecordset10.CreateInstance(_uuidof(Recordset);m_pRecordset10-Open(SQL,m_pConnection10.GetInterfacePtr(),adOpen Dynamic,adLockOptimistic,adCmdText);while(!m_pRecordset10-adoEOF)m_grid.InsertItem(0,);m

21、_grid.SetItemText(0,0,(char*)(_bstr_t)m_pRecordset10-GetCollect(姓名 );m_grid.SetItemText(0,1,(char*)(_bstr_t)m_pRecordset10-GetCollect(帐号 );m_grid.SetItemText(0,2,(char*)(_bstr_t)m_pRecordset10-GetCollect(本金 );m_grid.SetItemText(0,3,(char*)(_bstr_t)m_pRecordset10-GetCollect(利息 );m_grid.SetItemText(0,

22、4,(char*)(_bstr_t)m_pRecordset10-GetCollect(储种 );m_grid.SetItemText(0,5,(char*)(_bstr_t)m_pRecordset10-GetCollect( 挂失 );/ 将记录集指针移动到下一条记录m_pRecordset10-MoveNext();/断开数据库连接ExitConnect10();然后营业员根据用户提供的信息,对其进行“取款”按钮:void CQUKUAN:OnQukuan()UpdateData(TRUE);if(m_QUKUANZHANGHAO.IsEmpty() |m_QUKUANMIMA.IsEm

23、pty()MessageBox(基础信息不能为空!);return;if(strcmp(s6,1)=0) MessageBox(改帐户已经挂失!); return;OnInitADOConn10();CString sql;sql.Format(delete * from cq where帐号 =%s,m_QUKUANZHANGHAO);m_pConnection10-Execute(_bstr_t)sql,NULL,adCmdText);CString sql1;sql1.Format(insert into qk(姓名 ,帐号 ,储种 ,钱数 ,利息 ,挂失 ) values (%s,%s

24、,%s,%s,%s,%s),s1,s2,s3,s4,s5,s6);m_pConnection10-Execute(_bstr_t)sql1,NULL,adCmdText);m_grid.DeleteAllItems();m_grid.SetExtendedStyle(LVS_EX_FLATSB|LVS_EX_FULLROWSELECT|LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIVATE|LVS_EX_GRIDLINES);m_grid.InsertColumn(0,姓名 ,LVCFMT_LEFT,110,0);m_grid.InsertColumn(1,

25、帐号 ,LVCFMT_LEFT,110,1);m_grid.InsertColumn(2,本金 ,LVCFMT_LEFT,110,2);m_grid.InsertColumn(3,利息 ,LVCFMT_LEFT,110,3);m_grid.InsertColumn(4,储种 ,LVCFMT_LEFT,110,4);m_grid.InsertColumn(5,挂失 ,LVCFMT_LEFT,110,5);_bstr_t SQL=select * from cq;m_pRecordset10-Open(SQL,m_pConnection10.GetInterfacePtr(),adOpenDyna

26、mic,adLockOptimistic,adCmdText);while(!m_pRecordset10-adoEOF)m_grid.InsertItem(0,);m_grid.SetItemText(0,0,(char*)(_bstr_t)m_pRecordset10-GetCollect(姓名 );m_grid.SetItemText(0,1,(char*)(_bstr_t)m_pRecordset10-GetCollect(帐号 );m_grid.SetItemText(0,2,(char*)(_bstr_t)m_pRecordset10-GetCollect(本金 );m_grid.

27、SetItemText(0,3,(char*)(_bstr_t)m_pRecordset10-GetCollect(利息 );m_grid.SetItemText(0,4,(char*)(_bstr_t)m_pRecordset10-GetCollect(储种 );m_grid.SetItemText(0,5,(char*)(_bstr_t)m_pRecordset10-GetCollect(挂失 );/ 将记录集指针移动到下一条记录/ 将记录集指针移动到下一条记录m_pRecordset10-MoveNext();/断开数据库连接ExitConnect10();MessageBox(成功取款

28、 ,欢迎下次使用 );然后营业员根据用户提供的信息,对其进行“挂失”按钮 :(挂失的原理: 用户在存款的时候默认的他的挂失字段为0 对挂失字段只取两个值,若要进行挂失,把其值改为1 便可 )void CQUKUAN:OnGuashi()UpdateData(TRUE);if(m_QUKUANZHANGHAO.IsEmpty() |m_QUKUANMIMA.IsEmpty()MessageBox(基础信息不能为空!);return;int lost=1;OnInitADOConn10();CString sql;sql.Format(update cq set挂失 =%d where帐号 =%s

29、,lost,m_QUKUANZHANGHAO);m_pConnection10-Execute(_bstr_t)sql,NULL,adCmdText);m_grid.DeleteAllItems();m_grid.SetExtendedStyle(LVS_EX_FLATSB|LVS_EX_FULLROWSELECT|LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIVATE|LVS_EX_GRIDLINES);m_grid.InsertColumn(0,姓名 ,LVCFMT_LEFT,110,0);m_grid.InsertColumn(1,帐号 ,LVCFMT

30、_LEFT,110,1);m_grid.InsertColumn(2,本金 ,LVCFMT_LEFT,110,2);m_grid.InsertColumn(3,利息 ,LVCFMT_LEFT,110,3);m_grid.InsertColumn(4,储种 ,LVCFMT_LEFT,110,4);m_grid.InsertColumn(5,挂失 ,LVCFMT_LEFT,110,5);_bstr_t SQL=select * from cq;m_pRecordset10-Open(SQL,m_pConnection10.GetInterfacePtr(),adOpenDynamic,adLock

31、Optimistic,adCmdText);while(!m_pRecordset10-adoEOF)m_grid.InsertItem(0,);m_grid.SetItemText(0,0,(char*)(_bstr_t)m_pRecordset10-GetCollect(姓名 );m_grid.SetItemText(0,1,(char*)(_bstr_t)m_pRecordset10-GetCollect(帐号 );m_grid.SetItemText(0,2,(char*)(_bstr_t)m_pRecordset10-GetCollect(本金 );m_grid.SetItemTex

32、t(0,3,(char*)(_bstr_t)m_pRecordset10-GetCollect(利息 );m_grid.SetItemText(0,4,(char*)(_bstr_t)m_pRecordset10-GetCollect(储种 );m_grid.SetItemText(0,5,(char*)(_bstr_t)m_pRecordset10-GetCollect(挂失 );/ 将记录集指针移动到下一条记录m_pRecordset10-MoveNext();/断开数据库连接ExitConnect10();(5 ) 统计子系统通过点击菜单栏上的”操作 ”-”统计 ”(或直接按)就可以进入

33、统计对话框。 统计界面 代码该操作只对营业员有效,所以在使用之前,要有个密码验证对话框,原理和第一个登录界面类似 ,首先在 #include stdafx.h 文件中定义一个全局变量static int total2=10;然后在存款SAVE.cpp文件种加入语句total2=total2+m_CMONEY;在取髋文件中加入total2=total2-m_CMONEY;然后在统计对话框中加入void CYUECHAKAN:OnOK()UpdateData(TRUE);m_YUE=total2;UpdateData(FALSE);m_YUE所属于的编辑框为只读属性.不能进行写入.3. 系统测试程序设计完后, 为了使系统能够稳定, 高效运行 , 对本系统进行有针对性的全面测试:(1) 菜单项测试 :为了保证每一项下列菜单能够缺点实现系统设计的功能, 工作人员将所以的数据全部输入系统中 , 并对每个菜单象进行反复的进行增加, 删除等工作 , 发现问题及时更改 , 保证菜单的正确实现。(2) 数据跟踪 :完成菜单项测试以后, 对系统的每一个数据进行跟踪测试, 纠正运行过程中所出现的数

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1