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

上传人:b****0 文档编号:9857734 上传时间:2023-05-21 格式:DOCX 页数:28 大小:69.24KB
下载 相关 举报
银行金融业务管理系统.docx_第1页
第1页 / 共28页
银行金融业务管理系统.docx_第2页
第2页 / 共28页
银行金融业务管理系统.docx_第3页
第3页 / 共28页
银行金融业务管理系统.docx_第4页
第4页 / 共28页
银行金融业务管理系统.docx_第5页
第5页 / 共28页
银行金融业务管理系统.docx_第6页
第6页 / 共28页
银行金融业务管理系统.docx_第7页
第7页 / 共28页
银行金融业务管理系统.docx_第8页
第8页 / 共28页
银行金融业务管理系统.docx_第9页
第9页 / 共28页
银行金融业务管理系统.docx_第10页
第10页 / 共28页
银行金融业务管理系统.docx_第11页
第11页 / 共28页
银行金融业务管理系统.docx_第12页
第12页 / 共28页
银行金融业务管理系统.docx_第13页
第13页 / 共28页
银行金融业务管理系统.docx_第14页
第14页 / 共28页
银行金融业务管理系统.docx_第15页
第15页 / 共28页
银行金融业务管理系统.docx_第16页
第16页 / 共28页
银行金融业务管理系统.docx_第17页
第17页 / 共28页
银行金融业务管理系统.docx_第18页
第18页 / 共28页
银行金融业务管理系统.docx_第19页
第19页 / 共28页
银行金融业务管理系统.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

《银行金融业务管理系统.docx》由会员分享,可在线阅读,更多相关《银行金融业务管理系统.docx(28页珍藏版)》请在冰点文库上搜索。

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

银行金融业务管理系统

一、引言

1.1、课程设计目的

《软件工程课程设计》是一门独立开设的应用系统开发的实践课程,主要用于巩固学

生的软件工程知识,加强学生的实际动手能力和提高学生综合素质而开设的。

本课程设计

实践主要围绕两方面内容:

数据库设计和基本C/S结构数据库编程实践。

通过本实践课程,

使学生了解软件工程的理论,掌握软件工程在数据库的设计方法及数据库的运用和开发技

术方面的应用思想。

1.掌握软件工程设计的基本方法,熟悉软件工程设计的步骤;

2.通过设计数据库系统应用课题,进一步熟悉软件工程技术,提高动手能力,提高

分析问题和解决问题的能力;

3.掌握基本“C/S结构”数据库应用系统开发的软件工程方法。

1.2、定义

银行金融业务管理系统应用软件:

基本元素为构成银行金融业务及相关行为所必需的各种部分。

实现:

通常把编码和测试统称为实现。

1.3、任务概述

(1)、目标

完善目前银行金融业务系统,使之能跟上时代的发展。

同时通过实践来提高自己的动手能力

(2)、运行环境

操作系统:

MicrosoftWindowsXP

(3)、条件与限制

硬件配置要求:

硬件外部设备需奔腾133以上的pc机,内存需16兆以上

软件要求操作人员具有初步的相关知识

不考虑系统的运行平台可能会出现的硬件故障。

二、需求分析

2.1.功能需求

(1)、功能划分

软件分别有新建,存款,取款,查询,注销等功能。

各个模块各有不同的功能,但都能完成查询和存储功能,各模块的数据都存放在数据库中。

数据的调用和连接都有程序来完成。

此系统所要完成的主要功能有两方面:

如果是存款,储户填写存款单,然后交给业务员键入系统,同时系统还要记录存款人XX、住址(或)、XX、存款类型、存款日期、利率及密码(可选)等信息,完成后由系统打印存款单给储户。

如果是取款,储户填写取款单交给业务员,业务员把取款金额输入系统并要求储户输入密码以确认身份,核对密码正确无误后系统计算利息并印出利息清单给储户。

(2)、功能描述

外部功能:

实现可视化窗口,查找、取款及存储

内部功能:

同步,过滤,定位,识别

    存款功能

以储户的存款为主要活动,相关记录根据存款结果进行调整,以使信息保持一致。

1)、系统需要在原账户信息中增加一条记录,包括存款人XX、住址、存款类型、存款日期、利率等信息。

2)、若为新储户须建立一个账户,并记录此次的记录。

3)、打印存款单给储户。

     取款功能

以储户的取款为主要活动,相关记录根据取款结果进行调整,以使信息保持一致。

1)、系统计算利息,在原账户信息中将取款额减去。

2)、若为清户,记录注销该账户,将账户余额(包括存款额及利息)一并交与储户。

3)、打印利息清单给储户。

    余额查询功能

为储户提供查询余额服务,将储户的相关记录输出。

1)、需要储户的账户信息及密码。

2)、打印储户的XX余额。

2.2、性能需求

(1)、数据精确度

在进行向数据库文件提取数据时,要求数据记录定位准确,在往数据库文件数组中添加数时,要求输入数准确

金额,XX,卡号等按需求设定字符数。

(2)、时间特性

程序响应时间:

在人的感觉和视觉事件X围内;

信息交换时间:

要求在程序调用前调用后都与数据库保持同步更新,网络信息交换施加应该小于程序调用的时间

(3)、适应性

要求数据库具有很好的更新能力,由于本产品是实验性软件,故对磁盘和内存容量没有很高的要求,但是数据库应该能够对并发事件,脏数据具有较强的识别处理能力。

2.3、运行需求

(1)、用户界面

屏幕格式:

采用全屏格式,通过分窗口操作进行各个操作之间的转换

报表格式:

以银行原报表格式设计电子打印表格式。

菜单格式:

下拉式菜单,应显示储户资料及XX资料的各个详细条目。

(2)、硬件接口

无特别要求。

网络硬件接口要求:

现实中要求具有高速以太网组网以实现联网操作,但是在理论实验验证软件本身的目的来看,无需网络通讯接口。

业务员键入储户的资料要全部一直显示在屏幕;储户从按键口键入密码到系统以核对;计算机与打印机有高速传输的连接接口,最后以纸X的形式打印出清单给储户。

(3)、软件接口

Windows标准接口,要求与其他软件无冲突错误发生。

(4)、故障处理

软件应具备自动拼写错误检查等功能,在出现故障后应从整个系统数据库重新载入数据进行操作。

2.4、其它需求

(1)、可用性

本软件也可以通过单步跟踪的操作进行检查处理。

(2)、安全性

由于软件运行数据放在数据库中,所以参数不容易被错改、破坏,万一参数受到破坏也不会影响源程序。

(3)、可维护性

本软件利用数据库进行编程,系统结构由程序基本确定,大量的参数及文本内容全部放于数据库中。

修改、更新数据只要在数据库进行修改添加,而不需要对系统结构进行修改,这样系统维护性、升级都十分方便。

(4)、兼容性

能使整个系统在Win98以上的操作系统都存在兼容性,能更好的使系统能达到理想的效果,使系统在运行平台上能更能体现出性能。

不至于出现崩溃,以及能很好的上手等操作。

三、详细设计

3.1程序系统的结构设计

系统启动时,激活身份验证模块。

通过身份验证后,对系统进行初始化,通过事件驱动机制激活各个模块,并执行指定模块。

由退出系统事件激活退出系统模块,退出系统。

1、系统结构图

2、系统数据流图

 

 

3.2各模块的结构设计

前面需求分析可以看出,系统功能清晰,银行储蓄管理系统功能部分数据分为3类:

账号管理、储存管理、取款管理。

从使用和操作的功能上分,为便于整个系统组织管理,把各个相对独立的数据或功能组织到整个大系统中来,我们把各个相对独立的功能完全独立设计,编译成独立的目标(功能)模块,各功能模块最后被集成到一个主模块中。

相应地将系统结构分为一个主程序和6个模块。

对应于每一个模块,几乎都有录入、查询、修改、删除、查看详细资料这几个功能。

整个业务流程就是由这几种基本功能实现的。

在这里每个模块都要用到的功能没必要在每个子模块里重复阐述,在每个子模块里只列出区别于其它子模块的功能实现。

1、登录模块设计

系统管理员数据表

序号

属性名

属性类型

长度

备注

1

代码

int

2

用于唯一标识本币种

2

密码

char

6

用于表示业务人员的密码

本表说明如下:

本表的主要作用是实现系统管理员进入系统时的身份验证,装载系统管理员的代码和密码。

代码是位于标识该系统管理员的身份。

2、申请账号管理设计

账号数据表:

序号

属性名

属性类型

长度

备注

1

XX

long

18

用于为标识用户的信息

2

名字

string

12

用于标识用户名

3

密码

char

6

用于表示业务人员的密码

3、存款管理设计

存款业务数据表

序号

属性名

属性类型

长度

备注

1

存折号

varchar

15

用于唯一标识本行内的所有定期储户

3

存取标志

char

10

表示存款或取款业务

5

发生额

money

12.2

当前本储户的存、取款额

6

发生时间

datetime

8

当前本储户的存、取款的发生时间

本表说明如下:

本表用于存储所有存款业务元素;

 

存款流图:

D1存款信息

填出存信

表错款息

存款

(存折)

 

密码D2密码

 

存单存款信息

 

4、取款管理设计

取款业务凭证表

 

序号

属性名

属性类型

长度

备注

1

存取标志代码

int

1

用于唯一标识所有存取款类别

2

存取标志名称

char

10

储蓄类别名称

3

发生额

money

12.2

当前本储户的存、取款额

4

发生时间

datetime

8

当前本储户的存、取款的发生时间

本表说明如下:

本表用于存储所有取款业务元素;

 

取款流图

 

有误错误

取款单需要密码密码D1密码

(或银行卡)

 

取款清单取款信息余额信息

现金

 

D3取款信息D2余额信息

 

5、查询管理设计

账户查询表

序号

属性名

属性类型

长度

备注

1

XX

string

2

用于表示月份

2

账户号

long

9

本月份本行内所有活期存款户数

3

存款额

money

12

账号内所有存款额

4

取款额

money

12

账号内所有取款额

本表说明如下:

本表用于存储本行内综合业务统计数据;

3.3设计编码

1、登入界面和主界面的编码

voidmain()

{

inti;

intcut=0;

characcount[20],mm[20];

characcount1[]={"admin"},mm1[]={"admin888"};

voidkh();

voiddl();

voidcx();

voidck();

voidqk();

voidxh();

voidgl();

dl:

cout<<""<

cout<<"☆☆☆☆☆欢迎进入银行管理系统☆☆☆☆"<

cout<<"☆☆"<

cout<<"☆☆"<

cout<<"☆请以管理员的身份登陆管理系统☆"<

cout<<"☆☆"<

cout<<"☆☆"<

cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"<

cout<<""<

cout<<"请输入管理员XX:

";

cin>>account;

cout<

cout<<"请输入管理员密码:

";

cin>>mm;

cout<

if(strcmp(account1,account)==0&&strcmp(mm1,mm)==0)

{

cout<<"登陆成功!

\n";

gotogl;

}

{

cout<<"XX或密码输入错误,重新输入....\n";

cout<<"按任意键返回....\n";

gotodl;

}

gl:

cout<<"┌─────────────────────┐"<

cout<<"├────欢迎进入银行管理系统───────┤"<

cout<<"├─────────────────────┤"<

cout<<"│

(1).申请XX,输入1并按Enter│"<

cout<<"├─────────────────────┤"<

cout<<"│

(2).存款管理,输入2并按Enter│"<

cout<<"├─────────────────────┤"<

cout<<"│(3).取款管理,输入3并按Enter│"<

cout<<"├─────────────────────┤"<

cout<<"│(4).查询管理,输入4并按Enter│"<

cout<<"├─────────────────────┤"<

cout<<"│(5).注销管理,输入5并按Enter│"<

cout<<"├─────────────────────┤"<

cout<<"│(6).退出系统,输入6并按Enter│"<

cout<<"├─────────────────────┤"<

cout<<"└─────────────────────┘"<

cout<<"请输入选择:

";

do

{

cin>>i;

switch(i)

{

case1:

system("cls");kh();gotogl;

break;

case2:

system("cls");ck();gotogl;

break;

case3:

system("cls");qk();gotogl;

break;

case4:

system("cls");cx();gotogl;

break;

case5:

system("cls");xh();gotogl;

break;

default:

cout<<"输入错误,请重新输入";

}

}while(i!

=0);

}

2、申请账号的编码

voidkh()/*开户*/

{

FILE*pa,*pa1;

charmm_ok[20];

pa=fopen("db.dat","ab");

lp:

cout<<"请输入你的名字:

";

cin>>dat.mz;

pa1=fopen("db.dat","rb");

cout<<"XX:

";

cin>>dat.zh;

while(fread(&temp,sizeof(temp),1,pa1)==1)

{

if((strcmp(dat.zh,temp.zh)==0))

{

cout<<"此XX已经有人用了,请重新输入.\n";

fclose(pa1);

gotolp;

}

}

cout<<"密码:

";

cin>>dat.mm;

cout<<"确认密码:

";

cin>>mm_ok;

if(strcmp(dat.mm,mm_ok)!

=0)

{

cout<<"确认密码不一样!

请重新输入.\n";

gotolp;

}

dat.money=0;

dat.statue=1;

fwrite(&dat,sizeof(dat),1,pa);

fclose(pa);

cout<<"申请成功.\n";

cout<<"输入任何键返回菜单......\n";

}

3、查询管理的编码

voidcx()/*查询*/

{

FILE*pa;

charzh[20];

pa=fopen("db.dat","rb");

if(pa==NULL)

{

cout<<"还没有一个人申请XX.\n";

cout<<"输入任何键返回菜单......\n";

}

else

{

cout<<"请输入你的XX:

";

cin>>zh;

while(feof(pa)==0)

{

fread(&dat,sizeof(dat),1,pa);

if(strcmp(dat.zh,zh)==0)

{

cout<<"------------------------------------------------------------"<

cout<<"|名字|XX|存款(元)|状态|"<

cout<<"|------------|----------------------|-----------|----------|"<

cout<<"|"<

cout<<"------------------------------------------------------------"<

cout<<"按任何键返回菜单......\n";

getchar();

break;

}

elseif(feof(pa)!

=0)

{

cout<<"XX不存在!

\n";

cout<<"按任何键返回菜单......\n";

getchar();

break;

}

}

}

fclose(pa);

}

4、存款管理的编码

voidck()/*存款*/

{

FILE*db,*lan;

charzh[20];

charmm[20];

intmoney,i=1;

db=fopen("db.dat","rb");

if(db==NULL)

{

cout<<"还没有一个人申请XX.\n";

cout<<"输入任何键返回菜单......\n";

getchar();

gotogl;

}

cout<<"请输入你的XX:

";

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<<"XX不存在!

\n";

cout<<"按任何键返回菜单......\n";

getchar();

gotogl;

}

}

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、取款管理的编码

voidqk()/*取款*/

{

FILE*db,*lan;

charzh[20];

charmm[20];

intmoney,i=1;

db=fopen("db.dat","rb");

if(db==NULL)

{

cout<<"还没有一个人申请XX.\n";

cout<<"输入任何键返回菜单......\n";

getchar();

gotogl;

}

cout<<"请输入你的XX:

";

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();

gotogl;

}

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<<"XX不存在!

\n";

cout<<"按任何键返回菜单......\n";

getchar();

gotogl;

}

}

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、注销账号的编码

voidxh()

{

FILE*db,*lan;

charzh[20];

charmm[20];

charstatue[5],statue1[]={"y"};

intmoney,i=1;

db=fopen("db.dat","rb");

if(db==NULL)

{

cout<<"还没有一个人申请XX.\n";

cout<<"输入任何键返回菜单......\n";

getchar();

gotogl;

}

cout<<"请输入你的XX:

";

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<<"┌────────────────────────┐"<

cout<<"├───────是否注销此账户(y/n)-───────┤"<

cout<<"└────────────────────────┘"<

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";

gotogl;

}

}

i++;

if(feof(db)!

=0)

{

cout<<"XX不存在!

\n";

cout<<"按任何键返回菜单......\n";

getchar();

gotogl;

}

}

if(strcmp(zh,temp.zh)==0&&strcmp(mm,temp.mm)==0)

{

fclose(db);

lan=fopen("db.dat","wb+");

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

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2