银行金融业务管理系统.doc
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8
当前本储户的存、取款的发生时间
本表说明如下:
本表用于存储所有存款业务元素;
存款流图:
D1存款信息
填出存信
表错款息
存款
(存折)
密码D2密码
存单存款信息
4
取款业务凭证表
序号
属性名Байду номын сангаас
属性类型
长度
备注
1
存取标志代码
int
1
用于唯一标识所有存取款类别
2
存取标志名称
char
10
储蓄类别名称
3
发生额
money
12.2
1、
系统管理员数据表
序号
属性名
属性类型
长度
备注
1
代码
int
2
用于唯一标识本币种
2
密码
char
6
用于表示业务人员的密码
本表说明如下:
本表的主要作用是实现系统管理员进入系统时的身份验证,装载系统管理员的代码和密码。
代码是位于标识该系统管理员的身份。
2
账号数据表:
序号
属性名
属性类型
长度
备注
1
身份证
long
一、引言
1.1、课程设计目的
《软件工程课程设计》是一门独立开设的应用系统开发的实践课程,主要用于巩固学
生的软件工程知识,加强学生的实际动手能力和提高学生综合素质而开设的。本课程设计
实践主要围绕两方面内容:数据库设计和基本C/S结构数据库编程实践。通过本实践课程,
使学生了解软件工程的理论,掌握软件工程在数据库的设计方法及数据库的运用和开发技
术方面的应用思想。
1.掌握软件工程设计的基本方法,熟悉软件工程设计的步骤;
2.通过设计数据库系统应用课题,进一步熟悉软件工程技术,提高动手能力,提高
分析问题和解决问题的能力;
3.掌握基本“C/S结构”数据库应用系统开发的软件工程方法。
1.2、定义
银行金融业务管理系统应用软件:基本元素为构成银行金融业务及相关行为所必需的各种部分。
3)、打印利息清单给储户。
余额查询功能
为储户提供查询余额服务,将储户的相关记录输出。
1)、需要储户的账户信息及密码。
2)、打印储户的帐户余额。
2.2、性能需求
(1)、数据精确度
在进行向数据库文件提取数据时,要求数据记录定位准确,在往数据库文件数组中添加数时,要求输入数准确
金额,身份证,卡号等按需求设定字符数。
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;
由退出系统事件激活退出系统模块,退出系统。
1、系统结构图
2、系统数据流图
3.2各模块的结构设计
前面需求分析可以看出,系统功能清晰,银行储蓄管理系统功能部分数据分为3类:账号管理、储存管理、取款管理。从使用和操作的功能上分,为便于整个系统组织管理,把各个相对独立的数据或功能组织到整个大系统中来,我们把各个相对独立的功能完全独立设计,编译成独立的目标(功能)模块,各功能模块最后被集成到一个主模块中。相应地将系统结构分为一个主程序和6个模块。对应于每一个模块,几乎都有录入、查询、修改、删除、查看详细资料这几个功能。整个业务流程就是由这几种基本功能实现的。在这里每个模块都要用到的功能没必要在每个子模块里重复阐述,在每个子模块里只列出区别于其它子模块的功能实现。
cout<<"├─────────────────────┤"<<endl;
cout<<"│(2).存款管理,输入2并按Enter│"<<endl;
cout<<"├─────────────────────┤"<<endl;
cout<<"│(3).取款管理,输入3并按Enter│"<<endl;
cout<<"├─────────────────────┤"<<endl;
void kh();
void dl();
void cx();
void ck();
void qk();
void xh();
void gl();
dl:
cout<<" "<<endl;
cout<<"☆☆☆☆☆欢迎进入银行管理系统☆☆☆☆"<<endl;
cout<<"☆☆"<<endl;
cout<<"☆☆"<<endl;
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";
18
用于为标识用户的信息
2
名字
string
12
用于标识用户名
3
密码
char
6
用于表示业务人员的密码
3
存款业务数据表
序号
属性名
属性类型
长度
备注
1
存折号
varchar
15
用于唯一标识本行内的所有定期储户
3
存取标志
char
10
表示存款或取款业务
5
发生额
money
12.2
当前本储户的存、取款额
6
发生时间
datetime
(4)、兼容性
能使整个系统在Win 98以上的操作系统都存在兼容性,能更好的使系统能达到理想的效果,使系统在运行平台上能更能体现出性能。不至于出现崩溃,以及能很好的上手等操作。
三、详细设计
3.1 程序系统的结构设计
系统启动时,激活身份验证模块。
通过身份验证后,对系统进行初始化,通过事件驱动机制激活各个模块,并执行指定模块。
goto dl;
}
gl:
cout<<"┌─────────────────────┐"<<endl;
cout<<"├────欢迎进入银行管理系统───────┤"<<endl;
cout<<"├─────────────────────┤"<<endl;
cout<<"│(1).申请帐号,输入1并按Enter│"<<endl;
cout<<"├─────────────────────┤"<<endl;
cout<<"└─────────────────────┘"<<endl;
cout<<"请输入选择:";
do
{
cin>>i;
switch(i)
{
case 1:system("cls");kh();goto gl;
break;
2.4、其它需求
(1)、可用性
本软件也可以通过单步跟踪的操作进行检查处理。
(2)、安全性
由于软件运行数据放在数据库中,所以参数不容易被错改、破坏,万一参数受到破坏也不会影响源程序。
(3)、可维护性
本软件利用数据库进行编程,系统结构由程序基本确定,大量的参数及文本内容全部放于数据库中。修改、更新数据只要在数据库进行修改添加,而不需要对系统结构进行修改,这样系统维护性、升级都十分方便。
2.3、运行需求
(1)、用户界面
屏幕格式:采用全屏格式,通过分窗口操作进行各个操作之间的转换
报表格式:以银行原报表格式设计电子打印表格式。
菜单格式:下拉式菜单,应显示储户资料及帐户资料的各个详细条目。
(2)、硬件接口
无特别要求。
网络硬件接口要求:现实中要求具有高速以太网组网以实现联网操作,但是在理论实验验证软件本身的目的来看,无需网络通讯接口。
cout<<"│(4).查询管理,输入4并按Enter│"<<endl;
cout<<"├─────────────────────┤"<<endl;
cout<<"│(5).注销管理,输入5并按Enter│"<<endl;
cout<<"├─────────────────────┤"<<endl;
cout<<"│(6).退出系统,输入6并按Enter│"<<endl;
cout<<"☆请以管理员的身份登陆管理系统☆"<<endl;
cout<<"☆☆"<<endl;
cout<<"☆☆"<<endl;
cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"<<endl;
cout<<" "<<endl;
cout<<"请输入管理员帐号:";
cin>>account;
cout<<endl;
如果是取款,储户填写取款单交给业务员,业务员把取款金额输入系统并要求储户输入密码以确认身份,核对密码正确无误后系统计算利息并印出利息清单给储户。
(2)、功能描述
外部功能:实现可视化窗口,查找、取款及存储
内部功能:同步,过滤,定位,识别
存款功能
以储户的存款为主要活动,相关记录根据存款结果进行调整,以使信息保持一致。
当前本储户的存、取款额
4
发生时间
datetime
8
当前本储户的存、取款的发生时间
本表说明如下:
本表用于存储所有取款业务元素;
取款流图
有误错误
取款单需要密码密码D1密码
(或银行卡)
取款清单取款信息余额信息
现金
D3取款信息D2余额信息
5
账户查询表
序号
属性名
属性类型
长度
备注
1
姓名
string
2
用于表示月份
1)、系统需要在原账户信息中增加一条记录,包括存款人姓名、住址、存款类型、存款日期、利率等信息。
2)、若为新储户须建立一个账户,并记录此次的记录。
3)、打印存款单给储户。
取款功能
以储户的取款为主要活动,相关记录根据取款结果进行调整,以使信息保持一致。
1)、系统计算利息,在原账户信息中将取款额减去。
2)、 若为清户,记录注销该账户,将账户余额(包括存款额及利息)一并交与储户。
cout<<"请输入管理员密码:";
cin>>mm;
cout<<endl;
if(strcmp(account1,account)==0 && strcmp(mm1,mm)==0)
{
cout<<"登陆成功!\n";
goto gl;
}
{
cout<<"帐号或密码输入错误,重新输入....\n";
cout<<"按任意键返回....\n";
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;
(2)、时间特性
程序响应时间:在人的感觉和视觉事件范围内;
信息交换时间:要求在程序调用前调用后都与数据库保持同步更新,网络信息交换施加应该小于程序调用的时间
(3)、适应性
要求数据库具有很好的更新能力,由于本产品是实验性软件,故对磁盘和内存容量没有很高的要求,但是数据库应该能够对并发事件,脏数据具有较强的识别处理能力。
fwrite(&dat,sizeof(dat),1,pa);
不考虑系统的运行平台可能会出现的硬件故障。
二、需求分析
2.1.功能需求
(1)、功能划分
软件分别有新建,存款,取款,查询,注销等功能。各个模块各有不同的功能,但都能完成查询和存储功能,各模块的数据都存放在数据库中。数据的调用和连接都有程序来完成。
此系统所要完成的主要功能有两方面:
如果是存款,储户填写存款单,然后交给业务员键入系统,同时系统还要记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、利率及密码(可选)等信息,完成后由系统打印存款单给储户。
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"};
实现:通常把编码和测试统称为实现。
1.3、任务概述
(1)、目标
完善目前银行金融业务系统,使之能跟上时代的发展。同时通过实践来提高自己的动手能力
(2)、运行环境
操作系统:Microsoft Windows XP
(3)、条件与限制
硬件配置要求: 硬件外部设备需奔腾133以上的pc机,内存需16兆以上
软件要求操作人员具有初步的相关知识
业务员键入储户的资料要全部一直显示在屏幕;储户从按键口键入密码到系统以核对;计算机与打印机有高速传输的连接接口,最后以纸张的形式打印出清单给储户。
(3)、软件接口
Windows标准接口,要求与其他软件无冲突错误发生。
(4)、故障处理
软件应具备自动拼写错误检查等功能,在出现故障后应从整个系统数据库重新载入数据进行操作。
当前本储户的存、取款的发生时间
本表说明如下:
本表用于存储所有存款业务元素;
存款流图:
D1存款信息
填出存信
表错款息
存款
(存折)
密码D2密码
存单存款信息
4
取款业务凭证表
序号
属性名Байду номын сангаас
属性类型
长度
备注
1
存取标志代码
int
1
用于唯一标识所有存取款类别
2
存取标志名称
char
10
储蓄类别名称
3
发生额
money
12.2
1、
系统管理员数据表
序号
属性名
属性类型
长度
备注
1
代码
int
2
用于唯一标识本币种
2
密码
char
6
用于表示业务人员的密码
本表说明如下:
本表的主要作用是实现系统管理员进入系统时的身份验证,装载系统管理员的代码和密码。
代码是位于标识该系统管理员的身份。
2
账号数据表:
序号
属性名
属性类型
长度
备注
1
身份证
long
一、引言
1.1、课程设计目的
《软件工程课程设计》是一门独立开设的应用系统开发的实践课程,主要用于巩固学
生的软件工程知识,加强学生的实际动手能力和提高学生综合素质而开设的。本课程设计
实践主要围绕两方面内容:数据库设计和基本C/S结构数据库编程实践。通过本实践课程,
使学生了解软件工程的理论,掌握软件工程在数据库的设计方法及数据库的运用和开发技
术方面的应用思想。
1.掌握软件工程设计的基本方法,熟悉软件工程设计的步骤;
2.通过设计数据库系统应用课题,进一步熟悉软件工程技术,提高动手能力,提高
分析问题和解决问题的能力;
3.掌握基本“C/S结构”数据库应用系统开发的软件工程方法。
1.2、定义
银行金融业务管理系统应用软件:基本元素为构成银行金融业务及相关行为所必需的各种部分。
3)、打印利息清单给储户。
余额查询功能
为储户提供查询余额服务,将储户的相关记录输出。
1)、需要储户的账户信息及密码。
2)、打印储户的帐户余额。
2.2、性能需求
(1)、数据精确度
在进行向数据库文件提取数据时,要求数据记录定位准确,在往数据库文件数组中添加数时,要求输入数准确
金额,身份证,卡号等按需求设定字符数。
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;
由退出系统事件激活退出系统模块,退出系统。
1、系统结构图
2、系统数据流图
3.2各模块的结构设计
前面需求分析可以看出,系统功能清晰,银行储蓄管理系统功能部分数据分为3类:账号管理、储存管理、取款管理。从使用和操作的功能上分,为便于整个系统组织管理,把各个相对独立的数据或功能组织到整个大系统中来,我们把各个相对独立的功能完全独立设计,编译成独立的目标(功能)模块,各功能模块最后被集成到一个主模块中。相应地将系统结构分为一个主程序和6个模块。对应于每一个模块,几乎都有录入、查询、修改、删除、查看详细资料这几个功能。整个业务流程就是由这几种基本功能实现的。在这里每个模块都要用到的功能没必要在每个子模块里重复阐述,在每个子模块里只列出区别于其它子模块的功能实现。
cout<<"├─────────────────────┤"<<endl;
cout<<"│(2).存款管理,输入2并按Enter│"<<endl;
cout<<"├─────────────────────┤"<<endl;
cout<<"│(3).取款管理,输入3并按Enter│"<<endl;
cout<<"├─────────────────────┤"<<endl;
void kh();
void dl();
void cx();
void ck();
void qk();
void xh();
void gl();
dl:
cout<<" "<<endl;
cout<<"☆☆☆☆☆欢迎进入银行管理系统☆☆☆☆"<<endl;
cout<<"☆☆"<<endl;
cout<<"☆☆"<<endl;
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";
18
用于为标识用户的信息
2
名字
string
12
用于标识用户名
3
密码
char
6
用于表示业务人员的密码
3
存款业务数据表
序号
属性名
属性类型
长度
备注
1
存折号
varchar
15
用于唯一标识本行内的所有定期储户
3
存取标志
char
10
表示存款或取款业务
5
发生额
money
12.2
当前本储户的存、取款额
6
发生时间
datetime
(4)、兼容性
能使整个系统在Win 98以上的操作系统都存在兼容性,能更好的使系统能达到理想的效果,使系统在运行平台上能更能体现出性能。不至于出现崩溃,以及能很好的上手等操作。
三、详细设计
3.1 程序系统的结构设计
系统启动时,激活身份验证模块。
通过身份验证后,对系统进行初始化,通过事件驱动机制激活各个模块,并执行指定模块。
goto dl;
}
gl:
cout<<"┌─────────────────────┐"<<endl;
cout<<"├────欢迎进入银行管理系统───────┤"<<endl;
cout<<"├─────────────────────┤"<<endl;
cout<<"│(1).申请帐号,输入1并按Enter│"<<endl;
cout<<"├─────────────────────┤"<<endl;
cout<<"└─────────────────────┘"<<endl;
cout<<"请输入选择:";
do
{
cin>>i;
switch(i)
{
case 1:system("cls");kh();goto gl;
break;
2.4、其它需求
(1)、可用性
本软件也可以通过单步跟踪的操作进行检查处理。
(2)、安全性
由于软件运行数据放在数据库中,所以参数不容易被错改、破坏,万一参数受到破坏也不会影响源程序。
(3)、可维护性
本软件利用数据库进行编程,系统结构由程序基本确定,大量的参数及文本内容全部放于数据库中。修改、更新数据只要在数据库进行修改添加,而不需要对系统结构进行修改,这样系统维护性、升级都十分方便。
2.3、运行需求
(1)、用户界面
屏幕格式:采用全屏格式,通过分窗口操作进行各个操作之间的转换
报表格式:以银行原报表格式设计电子打印表格式。
菜单格式:下拉式菜单,应显示储户资料及帐户资料的各个详细条目。
(2)、硬件接口
无特别要求。
网络硬件接口要求:现实中要求具有高速以太网组网以实现联网操作,但是在理论实验验证软件本身的目的来看,无需网络通讯接口。
cout<<"│(4).查询管理,输入4并按Enter│"<<endl;
cout<<"├─────────────────────┤"<<endl;
cout<<"│(5).注销管理,输入5并按Enter│"<<endl;
cout<<"├─────────────────────┤"<<endl;
cout<<"│(6).退出系统,输入6并按Enter│"<<endl;
cout<<"☆请以管理员的身份登陆管理系统☆"<<endl;
cout<<"☆☆"<<endl;
cout<<"☆☆"<<endl;
cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"<<endl;
cout<<" "<<endl;
cout<<"请输入管理员帐号:";
cin>>account;
cout<<endl;
如果是取款,储户填写取款单交给业务员,业务员把取款金额输入系统并要求储户输入密码以确认身份,核对密码正确无误后系统计算利息并印出利息清单给储户。
(2)、功能描述
外部功能:实现可视化窗口,查找、取款及存储
内部功能:同步,过滤,定位,识别
存款功能
以储户的存款为主要活动,相关记录根据存款结果进行调整,以使信息保持一致。
当前本储户的存、取款额
4
发生时间
datetime
8
当前本储户的存、取款的发生时间
本表说明如下:
本表用于存储所有取款业务元素;
取款流图
有误错误
取款单需要密码密码D1密码
(或银行卡)
取款清单取款信息余额信息
现金
D3取款信息D2余额信息
5
账户查询表
序号
属性名
属性类型
长度
备注
1
姓名
string
2
用于表示月份
1)、系统需要在原账户信息中增加一条记录,包括存款人姓名、住址、存款类型、存款日期、利率等信息。
2)、若为新储户须建立一个账户,并记录此次的记录。
3)、打印存款单给储户。
取款功能
以储户的取款为主要活动,相关记录根据取款结果进行调整,以使信息保持一致。
1)、系统计算利息,在原账户信息中将取款额减去。
2)、 若为清户,记录注销该账户,将账户余额(包括存款额及利息)一并交与储户。
cout<<"请输入管理员密码:";
cin>>mm;
cout<<endl;
if(strcmp(account1,account)==0 && strcmp(mm1,mm)==0)
{
cout<<"登陆成功!\n";
goto gl;
}
{
cout<<"帐号或密码输入错误,重新输入....\n";
cout<<"按任意键返回....\n";
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;
(2)、时间特性
程序响应时间:在人的感觉和视觉事件范围内;
信息交换时间:要求在程序调用前调用后都与数据库保持同步更新,网络信息交换施加应该小于程序调用的时间
(3)、适应性
要求数据库具有很好的更新能力,由于本产品是实验性软件,故对磁盘和内存容量没有很高的要求,但是数据库应该能够对并发事件,脏数据具有较强的识别处理能力。
fwrite(&dat,sizeof(dat),1,pa);
不考虑系统的运行平台可能会出现的硬件故障。
二、需求分析
2.1.功能需求
(1)、功能划分
软件分别有新建,存款,取款,查询,注销等功能。各个模块各有不同的功能,但都能完成查询和存储功能,各模块的数据都存放在数据库中。数据的调用和连接都有程序来完成。
此系统所要完成的主要功能有两方面:
如果是存款,储户填写存款单,然后交给业务员键入系统,同时系统还要记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、利率及密码(可选)等信息,完成后由系统打印存款单给储户。
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"};
实现:通常把编码和测试统称为实现。
1.3、任务概述
(1)、目标
完善目前银行金融业务系统,使之能跟上时代的发展。同时通过实践来提高自己的动手能力
(2)、运行环境
操作系统:Microsoft Windows XP
(3)、条件与限制
硬件配置要求: 硬件外部设备需奔腾133以上的pc机,内存需16兆以上
软件要求操作人员具有初步的相关知识
业务员键入储户的资料要全部一直显示在屏幕;储户从按键口键入密码到系统以核对;计算机与打印机有高速传输的连接接口,最后以纸张的形式打印出清单给储户。
(3)、软件接口
Windows标准接口,要求与其他软件无冲突错误发生。
(4)、故障处理
软件应具备自动拼写错误检查等功能,在出现故障后应从整个系统数据库重新载入数据进行操作。