收藏 分销(赏)

银行金融业务管理系统.docx

上传人:xrp****65 文档编号:8921508 上传时间:2025-03-08 格式:DOCX 页数:18 大小:35.32KB 下载积分:10 金币
下载 相关 举报
银行金融业务管理系统.docx_第1页
第1页 / 共18页
银行金融业务管理系统.docx_第2页
第2页 / 共18页


点击查看更多>>
资源描述
目录 第一章 引言 1 1.1 课程设计目的 1 1.2 定义 1 1.1 任务概述 1 第二章 需求分析 1 2.1 功能需求 1 2.2 性能需求 2 2.3 运行需求 2 2.4其他需求 3 第三章 详细设计 3 3.1 程序系统的结构设计 3 3.2 各模块的结构设计 4 3.3 设计编码 8 第四章 总结 16 4.1 测试计划 16 4.2 心得总结 16 第五章 参考文献 16 一、引言 1.1、课程设计目的 《软件工程课程设计》是一门独立开设的应用系统开发的实践课程,主要用于巩固学 生的软件工程知识,加强学生的实际动手能力和提高学生综合素质而开设的。本课程设计 实践主要围绕两方面内容:数据库设计和基本C/S结构数据库编程实践。通过本实践课程, 使学生了解软件工程的理论,掌握软件工程在数据库的设计方法及数据库的运用和开发技 术方面的应用思想。 1. 掌握软件工程设计的基本方法,熟悉软件工程设计的步骤; 2. 通过设计数据库系统应用课题,进一步熟悉软件工程技术,提高动手能力,提高 分析问题和解决问题的能力; 3. 掌握基本“C/S结构”数据库应用系统开发的软件工程方法。 1.2、定义 银行金融业务管理系统应用软件:基本元素为构成银行金融业务及相关行为所必需的各种部分。 实现:通常把编码和测试统称为实现。 1.3、任务概述 (1)、目标 完善目前银行金融业务系统,使之能跟上时代的发展。同时通过实践来提高自己的动手能力 (2)、运行环境 操作系统:Microsoft Windows XP (3)、条件与限制 硬件配置要求: 硬件外部设备需奔腾133以上的pc机,内存需16兆以上 软件要求操作人员具有初步的相关知识 不考虑系统的运行平台可能会出现的硬件故障。 二、需求分析 2.1.功能需求 (1)、功能划分 软件分别有新建,存款,取款,查询,注销等功能。各个模块各有不同的功能,但都能完成查询和存储功能,各模块的数据都存放在数据库中。数据的调用和连接都有程序来完成。 此系统所要完成的主要功能有两方面: 如果是存款,储户填写存款单,然后交给业务员键入系统,同时系统还要记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、利率及密码(可选)等信息,完成后由系统打印存款单给储户。 如果是取款,储户填写取款单交给业务员,业务员把取款金额输入系统并要求储户输入密码以确认身份,核对密码正确无误后系统计算利息并印出利息清单给储户。 (2)、功能描述 外部功能:实现可视化窗口,查找、取款及存储 内部功能:同步,过滤,定位,识别      存款功能 以储户的存款为主要活动,相关记录根据存款结果进行调整,以使信息保持一致。 1)、系统需要在原账户信息中增加一条记录,包括存款人姓名、住址、存款类型、存款日期、利率等信息。 2)、若为新储户须建立一个账户,并记录此次的记录。 3)、打印存款单给储户。      取款功能 以储户的取款为主要活动,相关记录根据取款结果进行调整,以使信息保持一致。 1)、系统计算利息,在原账户信息中将取款额减去。 2)、 若为清户,记录注销该账户,将账户余额(包括存款额及利息)一并交与储户。 3)、打印利息清单给储户。     余额查询功能 为储户提供查询余额服务,将储户的相关记录输出。 1)、需要储户的账户信息及密码。 2)、打印储户的帐户余额。 2.2、性能需求 (1)、数据精确度 在进行向数据库文件提取数据时,要求数据记录定位准确,在往数据库文件数组中添加数时,要求输入数准确 金额,身份证,卡号等按需求设定字符数。 (2)、时间特性 程序响应时间:在人的感觉和视觉事件范围内; 信息交换时间:要求在程序调用前调用后都与数据库保持同步更新,网络信息交换施加应该小于程序调用的时间 (3)、适应性 要求数据库具有很好的更新能力,由于本产品是实验性软件,故对磁盘和内存容量没有很高的要求,但是数据库应该能够对并发事件,脏数据具有较强的识别处理能力。 2.3、运行需求 (1)、用户界面 屏幕格式:采用全屏格式,通过分窗口操作进行各个操作之间的转换 报表格式:以银行原报表格式设计电子打印表格式。 菜单格式:下拉式菜单,应显示储户资料及帐户资料的各个详细条目。 (2)、硬件接口 无特别要求。 网络硬件接口要求:现实中要求具有高速以太网组网以实现联网操作,但是在理论实验验证软件本身的目的来看,无需网络通讯接口。 业务员键入储户的资料要全部一直显示在屏幕;储户从按键口键入密码到系统以核对;计算机与打印机有高速传输的连接接口,最后以纸张的形式打印出清单给储户。 (3)、软件接口 Windows标准接口,要求与其他软件无冲突错误发生。 (4)、故障处理 软件应具备自动拼写错误检查等功能,在出现故障后应从整个系统数据库重新载入数据进行操作。 2.4、其它需求 (1)、可用性 本软件也可以通过单步跟踪的操作进行检查处理。 (2)、安全性 由于软件运行数据放在数据库中,所以参数不容易被错改、破坏,万一参数受到破坏也不会影响源程序。 (3)、可维护性 本软件利用数据库进行编程,系统结构由程序基本确定,大量的参数及文本内容全部放于数据库中。修改、更新数据只要在数据库进行修改添加,而不需要对系统结构进行修改,这样系统维护性、升级都十分方便。 (4)、兼容性 能使整个系统在Win 98以上的操作系统都存在兼容性,能更好的使系统能达到理想的效果,使系统在运行平台上能更能体现出性能。不至于出现崩溃,以及能很好的上手等操作。 三、详细设计 3.1 程序系统的结构设计 系统启动时,激活身份验证模块。 通过身份验证后,对系统进行初始化,通过事件驱动机制激活各个模块,并执行指定模块。 由退出系统事件激活退出系统模块,退出系统。 1、系统结构图 银行业务管理系统 登入系统 申请账 号 存款管理 取款管理 注销用户 查询管理 退出系统 2、系统数据流图 库存余额 输入密码 输入取款信息 填表 储户 签名 清单生成程序 清单 3.2各模块的结构设计 前面需求分析可以看出,系统功能清晰,银行储蓄管理系统功能部分数据分为3类:账号管理、储存管理、取款管理。从使用和操作的功能上分,为便于整个系统组织管理,把各个相对独立的数据或功能组织到整个大系统中来,我们把各个相对独立的功能完全独立设计,编译成独立的目标(功能)模块,各功能模块最后被集成到一个主模块中。相应地将系统结构分为一个主程序和6个模块。对应于每一个模块,几乎都有录入、查询、修改、删除、查看详细资料这几个功能。整个业务流程就是由这几种基本功能实现的。在这里每个模块都要用到的功能没必要在每个子模块里重复阐述,在每个子模块里只列出区别于其它子模块的功能实现。 1、 登录模块设计 系统管理员数据表 序号 属性名 属性类型 长度 备注 1 代码 int 2 用于唯一标识本币种 2 密码 char 6 用于表示业务人员的密码 本表说明如下: 本表的主要作用是实现系统管理员进入系统时的身份验证,装载系统管理员的代码和密码。 代码是位于标识该系统管理员的身份。 2、申请账号管理设计 账号数据表: 序号 属性名 属性类型 长度 备注 1 身份证 long 18 用于为标识用户的信息 2 名字 string 12 用于标识用户名 3 密码 char 6 用于表示业务人员的密码 3、存款管理设计 存款业务数据表 序号 属性名 属性类型 长度 备注 1 存折号 varchar 15 用于唯一标识本行内的所有定期储户 3 存取标志 char 10 表示存款或取款业务 5 发生额 money 12.2 当前本储户的存、取款额 6 发生时间 datetime 8 当前本储户的存、取款的发生时间 本表说明如下: 本表用于存储所有存款业务元素; 存款流图: 重填 储户 重填 D1 存款信息 填 出 存 信 表 错 款 息 1.2 更新存款信息 1.1 验收 存款单 储户 存款 需要设置 密码(可选) (存折) 不需要密码 存款信息 1.2.1 设置 密码 密码 D2 密码 1.3 处理 存款 2 打印 存单 储户 存单 存款信息 4、取款管理设计 取款业务凭证表 序号 属性名 属性类型 长度 备注 1 存取标志代码 int 1 用于唯一标识所有存取款类别 2 存取标志名称 char 10 储蓄类别名称 3 发生额 money 12.2 当前本储户的存、取款额 4 发生时间 datetime 8 当前本储户的存、取款的发生时间 本表说明如下: 本表用于存储所有取款业务元素; 取款流图 重填 重输 有 误 错 误 1.1.1 核对 密码 1.1 验收 取款单 储户 取款单 需要密码 密码 D1 密码 (或银行卡) 正确 未留密码 取款单 1.2 计算 利息 信息 利息 2 打印 清单 1.4 处理 取款 1.3 更新 余额 储户 取款清单 取款信息 余额信息 现金 D3 取款信息 D2 余额信息 5、查询管理设计 账户查询表 序号 属性名 属性类型 长度 备注 1 姓名 string 2 用于表示月份 2 账户号 long 9 本月份本行内所有活期存款户数 3 存款额 money 12 账号内所有存款额 4 取款额 money 12 账号内所有取款额 本表说明如下: 本表用于存储本行内综合业务统计数据; 3.3设计编码 1、登入界面和主界面的编码 void main() { int i; int cut=0; char account[20],mm[20]; char account1[]={"admin"},mm1[]={"admin888"}; void kh(); void dl(); void cx(); void ck(); void qk(); void xh(); void gl(); dl: cout<<" "<<endl; cout<<"☆☆☆☆☆欢迎进入银行管理系统☆☆☆☆ "<<endl; cout<<"☆ ☆ "<<endl; cout<<"☆ ☆ "<<endl; cout<<"☆请以管理员的身份登陆管理系统 ☆ "<<endl; cout<<"☆ ☆ "<<endl; cout<<"☆ ☆ "<<endl; cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ "<<endl; cout<<" "<<endl; cout<<" 请输入管理员帐号:"; cin>>account; cout<<endl; cout<<" 请输入管理员密码:"; cin>>mm; cout<<endl; if(strcmp(account1,account)==0 && strcmp(mm1,mm)==0) { cout<<" 登陆成功!\n"; goto gl; } { cout<<" 帐号或密码输入错误,重新输入....\n"; cout<<" 按任意键返回....\n"; goto dl; } gl: cout<<"┌─────────────────────┐"<<endl; cout<<"├────欢迎进入银行管理系统───────┤"<<endl; cout<<"├─────────────────────┤"<<endl; cout<<"│ (1).申请帐号,输入1并按Enter │"<<endl; cout<<"├─────────────────────┤"<<endl; cout<<"│ (2).存款管理,输入2并按Enter │"<<endl; cout<<"├─────────────────────┤"<<endl; cout<<"│ (3).取款管理,输入3并按Enter │"<<endl; cout<<"├─────────────────────┤"<<endl; cout<<"│ (4).查询管理,输入4并按Enter │"<<endl; cout<<"├─────────────────────┤"<<endl; cout<<"│ (5).注销管理,输入5并按Enter │"<<endl; cout<<"├─────────────────────┤"<<endl; cout<<"│ (6).退出系统,输入6并按Enter │"<<endl; cout<<"├─────────────────────┤"<<endl; cout<<"└─────────────────────┘"<<endl; cout<<" 请输入选择:"; do { cin>>i; switch(i) { case 1:system("cls");kh();goto gl; break; case 2:system("cls");ck();goto gl; break; case 3:system("cls");qk();goto gl; break; case 4:system("cls");cx();goto gl; break; case 5:system("cls");xh();goto gl; break; default:cout<<" 输入错误,请重新输入"; } }while(i!=0); } 2、申请账号的编码 void kh() /* 开户 */ { FILE *pa,*pa1; char mm_ok[20]; pa = fopen("db.dat","ab"); lp: cout<<"请输入你的名字:"; cin>>dat.mz; pa1 = fopen("db.dat","rb"); cout<<"帐号:"; cin>>dat.zh; while(fread(&temp,sizeof(temp),1,pa1) ==1 ) { if ((strcmp (dat.zh,temp.zh) == 0)) { cout<<"此帐号已经有人用了,请重新输入.\n"; fclose(pa1); goto lp; } } cout<<"密码:"; cin>>dat.mm; cout<<"确认密码:"; cin>>mm_ok; if(strcmp(dat.mm,mm_ok) !=0) { cout<<"确认密码不一样!请重新输入.\n"; goto lp; } dat.money = 0; dat.statue=1; fwrite(&dat,sizeof(dat),1,pa); fclose(pa); cout<<"申请成功.\n"; cout<<"输入任何键返回菜单......\n"; } 3、查询管理的编码 void cx() /* 查询 */ { FILE *pa; char zh[20]; pa = fopen("db.dat","rb"); if(pa == NULL) { cout<<"还没有一个人申请帐号.\n"; cout<<"输入任何键返回菜单......\n"; } else { cout<<"请输入你的帐号:"; cin>>zh; while(feof(pa) ==0) { fread(&dat,sizeof(dat),1,pa); if(strcmp(dat.zh,zh) == 0) { cout<<"------------------------------------------------------------"<<endl; cout<<" | 名字 | 帐号 | 存款(元) | 状态 |"<<endl; cout<<" |------------|----------------------|-----------|----------|"<<endl; cout<<"|"<<dat.mz<<" | "<<dat.zh<<" | "<<dat.money<<"| "<<dat.statue<<" |"<<endl; cout<<" ------------------------------------------------------------"<<endl; cout<<"按任何键返回菜单......\n"; getchar(); break; } else if(feof(pa) !=0) { cout<<"帐号不存在!\n"; cout<<"按任何键返回菜单......\n"; getchar(); break; } } } fclose(pa); } 4、存款管理的编码 void ck() /* 存款 */ { FILE *db,*lan; char zh[20]; char mm[20]; int money,i=1; db = fopen("db.dat","rb"); if(db == NULL) { cout<<"还没有一个人申请帐号.\n"; cout<<"输入任何键返回菜单......\n"; getchar(); goto gl; } cout<<"请输入你的帐号:"; cin>>zh; cout<<"密码:"; cin>>mm; while(!feof(db)) { fread(&dat,sizeof(dat),1,db); if(strcmp(zh,dat.zh) == 0 && strcmp(mm,dat.mm) == 0) { cout<<"请输入你要存款的数额:"; cin>>money; strcpy(temp.mz,dat.mz); strcpy(temp.zh,zh); strcpy(temp.mm,mm); temp.money = dat.money + money; break; } i++; if(feof(db) !=0) { cout<<"帐号不存在!\n"; cout<<"按任何键返回菜单......\n"; getchar(); goto gl; } } if(strcmp(zh,temp.zh) == 0 && strcmp(mm,temp.mm) == 0) { fclose(db); lan = fopen("db.dat","wb+"); fseek(lan,i*sizeof(temp),0); fwrite(&temp,sizeof(temp),1,lan); rewind(lan); fclose(lan); } cout<<"存款成功!\n"; cout<<"按任何键返回菜单......\n"; getchar(); gl:; } 5、取款管理的编码 void qk() /* 取款 */ { FILE *db,*lan; char zh[20]; char mm[20]; int money,i=1; db = fopen("db.dat","rb"); if(db == NULL) { cout<<"还没有一个人申请帐号.\n"; cout<<"输入任何键返回菜单......\n"; getchar(); goto gl; } cout<<"请输入你的帐号:"; cin>>zh; cout<<"密码:"; cin>>mm; while(!feof(db)) { fread(&dat,sizeof(dat),1,db); if(strcmp(zh,dat.zh) == 0 && strcmp(mm,dat.mm) == 0) { cout<<"请输入你要取款的数额:"; cin>>money; if(money > dat.money ) { cout<<"对不起,您的余额不足!\n"; cout<<"按任何键返回菜单......\n"; getchar(); goto gl; } strcpy(temp.mz,dat.mz); strcpy(temp.zh,zh); strcpy(temp.mm,mm); temp.money = dat.money - money; break; } i++; if(feof(db) !=0) { cout<<"帐号不存在!\n"; cout<<"按任何键返回菜单......\n"; getchar(); goto gl; } } if(strcmp(zh,temp.zh) == 0 && strcmp(mm,temp.mm) == 0) { fclose(db); lan = fopen("db.dat","wb+"); fseek(lan,i*sizeof(temp),0); fwrite(&temp,sizeof(temp),1,lan); rewind(lan); fclose(lan); } cout<<"取款成功!\n"; cout<<"按任何键返回菜单......\n"; getchar(); gl:; } 6、注销账号的编码 void xh() { FILE *db,*lan; char zh[20]; char mm[20]; char statue[5],statue1[]={"y"}; int money,i=1; db = fopen("db.dat","rb"); if(db == NULL) { cout<<"还没有一个人申请帐号.\n"; cout<<"输入任何键返回菜单......\n"; getchar(); goto gl; } cout<<"请输入你的帐号:"; cin>>"%s",zh; cout<<"密码:"; cin>>mm; while(!feof(db)) { fread(&dat,sizeof(dat),1,db); if(strcmp(zh,dat.zh) == 0 && strcmp(mm,dat.mm) == 0) { cout<<" ┌────────────────────────┐"<<endl; cout<<" ├───────是否注销此账户(y/n)-───────┤"<<endl; cout<<" └────────────────────────┘"<<endl; cout<<"请选择是否销户:"; scanf("%s",statue); if(strcmp(statue,statue1)==0) { strcpy(temp.mz,dat.mz); strcpy(temp.zh,zh); strcpy(temp.mm,mm); temp.statue = 0; break; } else { cout<<"按任何键返回菜单......\n"; goto gl; } } i++; if(feof(db) !=0) { cout<<"帐号不存在!\n"; cout<<"按任何键返回菜单......\n"; getchar(); goto gl; } } if(strcmp(zh,temp.zh) == 0 && strcmp(mm,temp.mm) == 0) { fclose(db); lan = fopen("db.dat","wb+"); fseek(lan,i*sizeof(temp),0); fwrite(&temp,sizeof(temp),1,lan); rewind(lan); fclose(lan); } cout<<"操作成功!\n"; cout<<"按任何键返回菜单......\n"; getchar(); gl:; } 四、总结 4.1 测试计划 1、登陆测试 输入用户名,密码可以登入到系统中 2、控制 管理员状态下点击应用程序窗口的各个模块,即可进行操作。 3、输入测试 管理员进入模块,可以输入信息 4、输出测试 管理员选择输出操作,可以看到所需要现实的信息 4.2 心得总结 《软件工程课程设计》是一门独立开设的应用系统开发的实践课程,主要用于巩固学 生的软件工程知识,加强学生的实际动手能力和提高学生综合素质而开设的。本课程设计 实践主要围绕两方面内容:数据库设计和基本C/S结构数据库编程实践。通过本实践课程, 使学生了解软件工程的理论,掌握软件工程在数据库的设计方法及数据库的运用和开发技 术方面的应用思想。 通过此次软件工程设计,基本是按照总体思路进行设计编制的,基本达到了预期的结果。通过这次课程设计,不仅是对软件工程这门课程进行了更加深入和系统的学习,更多的是学到了在实践中分析问题,解决问题的方法,这在以后的工作学习中,对自己也会有极大的帮助,总之,通过这次课程设计自己感觉到受益非浅,收获很大。 在这篇论文编制过程中,得到了指导老师们的大力支持,在整个系统的完成过程中,老师们始终给予我热情的鼓励和无私的帮助,使我在较短的时间内顺利地完成。在此,谨向有关老师和同学,特别向老师们表示衷心的感谢和诚挚的敬意。在这次设计中,由于水平有限,加之时间短促,难免有不足之处,诚恳希望批评指正。 五、 参考文献 1. 张海藩,软件工程导论(第三版),清华大学出版社,1998 2. 郑人杰等,实用软件工程(第二版),清华大学出版社,1997 3. Software Engineering——A Practitionaer’s Approach,Roger S.Pressman, (英文版,第4版),机械工业出版社&McGraw-Hill,1997 4. 软件工程:Java语言实现,Stephen R.Schach著,袁兆山等译,机械工业出版社,1999 附件:论文评分表 东华理工大学 课程设计评分表 学生姓名: 吴刚 班级: 073212 学号: 07321222 课程设计题目:银行金融业务管理系统 项目内容 满分 实 评 选 题 能结合所学课程知识、有一定的能力训练。符合选题要求 (3人一题) 5 工作量适中,难易度合理 10 能 力 水 平 能熟练应用所学知识,有一定查阅文献及运用文献资料能力 10 理论依据充分,数据准确,公式推导正确 10 能应用计算机软件进行编程、资料搜集录入、加工、排版、制图等 10 能体现创造性思维,或有独特见解 15 成 果 质 量 模型正确、合理,各项技术指标符合要求。 15 摘要叙述简练完整,假设合理、问题分析正确、数学用语准确、结论严谨合理;问题处理科学、条理分明、语言流畅、结构严谨、版面清晰 15 论文主要部分齐全、合理,符号统一、编号齐全。 格式、绘图、表格、插图等规范准确,符合论文要求 10 字数不少于2000字,不超过15000字 5 总 分 100 指导教师评语:
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服