银行定期存储管理系统文档样本_第1页
银行定期存储管理系统文档样本_第2页
银行定期存储管理系统文档样本_第3页
银行定期存储管理系统文档样本_第4页
银行定期存储管理系统文档样本_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学院:管理科学与工程第一实验小组成员:刘刚、何娟、姜信侠、吴志华、查正功、朱路、樊宇新TOC\o"1-2"\h\z一项目规划和需求分析 21.开发背景 22.组织构造 23.需求分析 34.人力规定 3二系统分析 31.系统安全性分析 32.业务流程图(TransactionFlowDiagram,TFD) 43.数据流程图(DataFlowDiagram,DFD) 44.数据字典(DataDictionary,DD) 5三系统设计 61.系统功能设计 62.概念设计 63.物理设计 7四系统实行 71.开发工具选取 72.程序设计 83.系统测试 18一项目规划和需求分析1.开发背景在计算机技术和网络技术没有得到全面普及此前,各公司和行政单位,在办工时,都要记录大量数据,这些数据还要保存到文档里,不但消耗大量脑力,还要占据大量空间。特别是银行工作人员在办理各项业务时,不但要需要大量计算和记录,并且需要数据精确、精密。因此,工作人员在解决业务时,容易浮现不可避免错误。随着计算机技术和网络技术迅速发展,电脑和INTERNET进入了个行政公司,甚至寻常家庭。因而,编写一种解决银行定期管理应用系统是很有必要。进行计算机计算和管理储户信息,银行存款等各项数据。避免人类因疲倦或者其她因素导致错误工作。2.组织构造银行定期存储管理系银行定期存储管理系统打印利息子系统帐号验证子系统记录子系统挂失子系统取款子系统存款子系统登录子系统打印利息子系统帐号验证子系统记录子系统挂失子系统取款子系统存款子系统登录子系统图1组织构造3.需求分析该系统存储如下信息:每笔存款储户信息和办理该笔存款营业员信息,这些信息存储于存款文献中。其中储户信息涉及:帐号,姓名,密码,地址,储种(定期1年,3年,5年),本金,收储日期,与否已经挂失和挂失日期。营业员信息涉及:接待该储户营业员姓名和工号。

每笔存款储户信息和办理该笔存款营业员信息,这些信息存储于取款文献中。

该系统功能规定如下:

(1)创立存款文献(第一次输入储户信息时);

(2)创立取款文献(第一次办理取款时);

(3)接受储蓄:接受储户和营业员信息并将以上信息添加到存款文献中;

(4)解决挂失:依照储户提供帐号,姓名,密码,地址,储种,储金核查有无此项存款,有则对帐号加挂失标记;否则,则需判断与否领走还是未发生过这笔存款。

(5)办理取款:<1>依照储户提供存款单(上面有帐号,姓名,储种,本金,日期)判断与否到期,检查有否挂失,依照储户提供密码判断与否对的。若判断通过,执行如下三步。<2>取款文献中添加这笔存款储户和营业员所有信息和取款日期,以便复查。<3>打印利息单,涉及:帐号,姓名,储种,起息日期,支取日期,本金,利息和支取金额。利息计算如下:1年到期利息7%,3年8%,5年9%;每逾期一天,每天利率0.05%;若提前支取,每天利率0.05%。<4>在存款文献中对这笔存款删除。4.人力规定刘刚(组长):将各成员做各子系统数据汇总,建立数据库文献,并将储户信息和营业员信息保存在数据库文献当中。何娟(副组长):完毕各项文档编制,涉及业务流程图,数据流程图,数据字典,系统文档编写。朱路:完毕“存款子系统”设计任务;吴志华:完毕“帐号验证子系统”设计任务和完毕顾客信息和营业员信息类定义和函数编写;查正功:完毕“打印利息子系统”和“登录子系统”设计任务;姜信侠:完毕“挂失子系统”设计任务;樊宇新:完毕“记录子系统”设计任务。二系统分析1.系统安全性分析使用本系统人员可以划提成系统管理员,营业员,顾客三类,系统管理员对系统拥有最高权限,可以修改,设定所有人员密码和权限,重要是对该系统维护和异常解决。营业员和顾客是该系统重要操作人员,营业员重要是每天开始工作时候启动该系统,监督顾客存款和取款等操作。顾客只有输入对的帐号和密码,才可以进行取款和挂失操作。储户存折存折钞票存款解决取款解决存折存储户存折存折钞票存款解决取款解决存折存取款业务分类存折存折利息文献记录文献营业员图2业务流程图3.数据流程图(DataFlowDiagram,DFD)储户库储户库储户库P5修改营业员库和储户库储户库P5修改营业员库和储户库P4检查储户信息不存在D08记录银行营业员银行营业员营业员库 存款D06存在D07添加D10营业员库记录P2检查挂失信息P2检查挂失信息P1检查储户信息P3修改营业员库和储户库取款D01存在D02P3修改营业员库和储户库储户库无挂失D03删除D04储户库记录营业员库添加D05营业员库储户库储户库记录储户库储户库图3数据流程图4.数据字典(DataDictionary,DD)数据元素系统名:银行管理系统系统 编号:E——01名称:顾客帐号 别名:CNO数据值类型:离散类型:字符型长度:20阐明:每个顾客有一种唯一帐号数据元素系统名:银行管理系统系统 编号:E——02名称:顾客密码 别名:CPASSWORD数据值类型:离散类型:字符型长度:20阐明:每个顾客密码可以自己设立数据元素系统名:银行管理系统系统 编号:E——03名称:顾客本金 别名:CMONEY数据值类型:离散类型:整数型长度:20数据流系统名:银行管理系统系统 编号:F——01名称:顾客信息 别名:CINFOR数据值类型:离散类型:字符型来源:顾客存款,取款,挂失表 去向:顾客信息数据流构造:顾客信息={帐号+密码+本金+储种+利息+挂失}数据元素系统名:银行管理系统系统 编号:D——02名称:存款表 别名:CPASSWORD存储组织:二维表主键:帐号记录构成:字段名帐号密码本金储种利息挂失字段长度20201510101阐明:用此存储顾客存款信息图4各种数据字典其她数据元素字典,数据流字典,数据存储字典略。三系统设计1.系统功能设计<1>登录子系统为了增强数据安全性,设立了该系统,只有营业员能使用,营业员通过输入对的帐号和密码才干使用。以防她人篡改数据。<2>存款子系统接受储户与营业员信息,并将以上信息添加到存款文献中。<3>取款子系统先通过帐号验证子系统证明顾客信息对的性,输入对的信息才干进行取款操作。然后,在取款文献中添加储户与营业员取款信息,便便复查。通过打印利息子系统打印利息单。最后,在存款中删除被取款项。<4>挂失子系统依照储户信息提供帐户信息,检查有无此项存款,有则对此帐号加入挂失标记。若无此款项,需判断存款与否被领走还是未发生过这笔款项。<5>记录子系统记录每天到期储金数。储户库姓名帐号存期金额办理业务营业员库姓名工号储户库姓名帐号存期金额办理业务营业员库姓名工号存款取款,N,M,N,M图5概念设计3.物理设计存款表(cq)字段名称字段类型字段长度主键可否为空姓名文本20NOTNULL帐号文本20YNOTNULL密码文本20NOTNULL本金数字15NOTNULL储种数字1NOTNULL挂失数字1NOTNULL营业员姓名文本20NOTNULL营业员工号文本20NOTNULL日期数字10NOTNULL利息数字15NOTNULL图6存款物理设计取款(qk)字段名称字段类型字段长度主键可否为空姓名,文本20NOTNULL帐号文本20YNOTNULL本金数字15NOTNULL储种数字1NOTNULL利息数字15NOTNULL挂失数字1NOTNULL图7取款物理设计四系统实行1.开发工具选取前端软件开发工具选取本系统选取可视化面向对象程序设计语言VISUALC++作为前端开发工具,VISUALC++具备强大数据库功能,丰富对话框界面,BMP资源,重要是它面向对象技术,使用MFC封装了大量类,也可以在她们基本上,继承和派生出符合自己运用类。使用ADO技术,可以较好和数据库文献连接。后台数据库选取MicrosoftAccess是一种桌面数据库系统,特别适合小型公司或者存储数据不大数据库使用,更重要一点是,她简朴易懂,操作起来与Microsoftword很象,使用起来比较上手,并且不需要代码编写,就可以创立一种数据库文献。软件开发平台选取基于VISUALC++和Microsoftaccess对运营环境规定,选取WindowsXP以上操作系统作为系统开发和运营平台。2.程序设计登陆子系统<1>登陆界面<2>代码在工程项目CbanksystemApp.cpp文献中BOOLCBanksystemApp::InitInstance()函数开始某些插入如下代码:intncount=0;while(ncount<3){if(dlg5.DoModal()==IDOK) if((strcmp(dlg5.m_DLZHANGHAO,"liugang")!=0)||(strcmp(dlg5.m_DLMIMA,"liugang")!=0)) {MessageBox(NULL,"帐号或密码口令错误","错误信息",MB_OK|MB_ICONERROR); ncount++; } elsebreak; else{ returnFALSE; }}if(ncount>=3){MessageBox(NULL,"输入超过3次,请退出","错误信息",MB_OK|MB_ICONERROR);returnFALSE;}ncount变量是用来记录登陆次数,如果超过3次以上,系统会弹出消息框(2)主界面如果登陆成功,就可以进入主界面了<1>主界面<2>代码主界面是单文档,是MFC向导自动生成.由于该系统使用ADO技术和数据库文献连接,因此要在#include"stdafx.h"中加入#import"C:\ProgramFiles\CommonFiles\System\ado\msado15.dll"no_namespace\rename("EOF","adoEOF")rename("BOF","adoBOF"),然后在BOOLCBanksystemApp::InitInstance()函数初始化COM组件,加入函数::CoInitialize(NULL);(3)存款子系统通过点击菜单栏上“操作”->”取款”(或直接按)就可以进入存款对话框。<1>存款界面:<2>代码一方面在CBanksystemView.cpp文献中加入#include"SAVE.h",由于要在视图里面调用它对象,然后为”取款”添加消息解决函数,调用该对话框:voidCBanksystemView::OnSave(){CSAVE dlg; dlg.DoModal();}弹出存款对话框后来:顾客可以录入自己信息进行存款操作.通过点击”拟定”按钮。如果存储成功会弹出:voidCSAVE::OnOK(){UpdateData(TRUE);if(m_CNO.IsEmpty()||m_pswd.IsEmpty()) { MessageBox("基本信息不能为空!"); return; }intlost=0;doublelixi=1;total2=total2+m_CMONEY;if(m_CCHOICE==1) lixi=m_CMONEY*1*0.00198*(1-0.2); elseif(m_CCHOICE==2)lixi=m_CMONEY*2*0.00225*(1-0.2); elseif(m_CCHOICE==3)lixi=m_CMONEY*3*0.00252*(1-0.2); elseif(m_CCHOICE==5)lixi=m_CMONEY*5*0.00279*(1-0.2); else{MessageBox("银行不办理该项业务,请输入对的储种1||2||3||5");return;}OnInitADOConn(); CStringsql; 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_pConnection->Close(); MessageBox("存款成功,欢迎下次使用"); CDialog::OnOK();}(4)存款&&挂失&&利息系统通过点击菜单栏上”操作”->”取款&&挂失&&利息”(或者直接按)就可以进入存款对话框。<1>存款&&挂失&&利息界面<2>代码一方面在CBanksystemView.cpp文献中加入#include"QUKUAN.h",由于要在视图里面调用它对象,然后为”取款”添加消息解决函数,调用该对话框:voidCBanksystemView::OnQukuan(){ CQUKUANdlg3; dlg3.DoModal(); }弹出存款对话框后来:录入信息,通过点击“顾客信息进入”按钮:查看顾客利息信息:voidCQUKUAN::OnOK(){UpdateData(TRUE); if(m_QUKUANMIMA.IsEmpty()||m_QUKUANZHANGHAO.IsEmpty()) { MessageBox("基本信息不能为空!"); return; } if((strcmp(m_QUKUANMIMA,"liugang")!=0)||(strcmp(m_QUKUANMIMA,"liugang")!=0)) {MessageBox("你不是管理员,请管理员输入对的口令"); return; }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_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);OnInitADOConn10();_bstr_tSQL="select*fromcq"; m_pRecordset10.CreateInstance(__uuidof(Recordset)); m_pRecordset10->Open(SQL,m_pConnection10.GetInterfacePtr(),adOpenDynamic,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.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();}然后营业员依照顾客提供信息,对其进行“取款”按钮:voidCQUKUAN::OnQukuan(){UpdateData(TRUE); if(m_QUKUANZHANGHAO.IsEmpty()||m_QUKUANMIMA.IsEmpty()) { MessageBox("基本信息不能为空!"); return; } if(strcmp(s6,"1")==0){MessageBox("改帐户已经挂失!");return;} OnInitADOConn10(); CStringsql; sql.Format("delete*fromcqwhere帐号='%s'",m_QUKUANZHANGHAO); m_pConnection10->Execute((_bstr_t)sql,NULL,adCmdText);CStringsql1; sql1.Format("insertintoqk(姓名,帐号,储种,钱数,利息,挂失)\ values('%s','%s','%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,"帐号",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_tSQL="select*fromcq"; m_pRecordset10->Open(SQL,m_pConnection10.GetInterfacePtr(),adOpenDynamic, 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.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("成功取款,欢迎下次使用");}然后营业员依照顾客提供信息,对其进行“挂失”按钮:(挂失原理:顾客在存款时候默认她挂失字段为0对挂失字段只取两个值,若要进行挂失,把其值改为1便可)voidCQUKUAN::OnGuashi(){UpdateData(TRUE); if(m_QUKUANZHANGHAO.IsEmpty()||m_QUKUANMIMA.IsEmpty()) { MessageBox("基本信息不能为空!"); return; } intlost=1; OnInitADOConn10(); CStringsql; sql.Format("updatecqset挂失=%d\ where帐号='%s'",lost,m_QUKUANZHANGHAO); m_pConnection10->Execute((_bstr_t)sql,NULL,adCmdText); m_grid.DeleteA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论