




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
(芙蓉学院)
软件工程试验汇才艮
课题:银行储蓄管理系统____________
姓名:___________遭用__________________
学号:__________________________
同组姓名:___________________________________
专业班级:_______芙蓉计科0701_______________
指导教师:________周学清____________________
设计时间:________2023/3/20__________________
评阅意见:
评估成绩:
指导老师签名:
银行储蓄管理系统
目录
.需求分析
.1系统口勺功能性需求
.2系统需求分析规格阐明书
・3系统实体联络(ER)图
.4系统数据流(DFD)图
.5系统数据字典
.6面向数据流的J设计措施
1.需求分析
系统中规定每个人银行管理者均有一种系统帐号,并每个帐号均有密码,系统的一切操
作(如:增长存储顾客,提高利率等)都由管理者执行,而不是由存诸顾客执行,也主
是说存储顾客并不直接与系统交互,而是通过管理员与系统交互。该系统重要有两部份
业务功能,存款与取款。
储户填写H勺存款单或取款单由业务员输入系统,假如是存款则系统记录存款人姓名,住
址(或号码),身份证号码,存款类型,存款日期,到期日期,利率及密码(可选)
等信息,并打印存单给储户;假如是取款并且存款时留有密码,则系统首先查对储户密
码,若密码对的或存款时未留密码,则系记录算得利息并打印出利息清单给储户。
L1系统的功能性需求
系统为管理者提供主功能界面
系统在启动时规定管理者输入登录帐号与密码
系统要通过管理员执行一系操作(如:添加顾客,修改,查询,删除等)
管理员代顾客实现存款,取款,查询等操作
储户H勺一切信息,存储在数据库表中
1.2系统需求分析规格阐明书
•实现储户开户登记
•办理定期存款帐
•办理定期存款手续
•办理活期取款帐
•办理活期取款手续
•实现利息计算
•输出明细表
•数据备份和数据恢复功能
•查看帐户信息
1.3系统ER图
系统重要关系模式:
1.储户(储户姓名,住址,身份证号码)
2.管理员(员工号,姓名)
3.存款(储户姓名,员工号,金额,存款类型,到期日期,存款日期)
4.查询(储户姓名,员工号)
5.取款(储户姓名,员工号,金额,取款日期)
I
1.5系统顶层数据流(DFD)图
打印存单
开户
>
取款存款
顾客业务员系统
存款
查询
打印清单
1.6系统0层数据流(DFD)图
利息清单
_________________u
IT匚口也多
1.7第2层DFD图
储户信息文献
\
查对错误\
\/\
读取信息\
2信息杳祖/\
/\\
填写存款信息
__厂1坤力:右江M:\
对的
3信息输入系”
打印
rd"Un方^
1.8第3层数据流图储户信息文献
查对对I向
1.9第5层数据流图
储户信息文献
存款信息
查询信息
显示仁息
验证错误
I.10数据字典
数据名字:注册申请表
数据来源:储户
数据目的:储户信息
数据构成:姓名+密码+住址+身份证号码+既有金额
数据名字:利息清单
数据来源:系统
数据目的:储户
数据名字:存单
数据来源:存款信息表
数据目H勺:储户
数据名字:取款单
数据来源:储户
数据名字:存款单
数据目日勺:存款信息表
数据构成:姓名+到期时间+存入类型+存入时间+利率+
1.6.1确定输入流和输出流的边界,从而孤立出变换中心。如图:1.1
图1.1
1.6.2完毕“第一级分解”
基于书上第三章第三题实目前银行储蓄管理系统在一级分解中,可将系统分解成三个子
功能模块:顾客操作,业务员操作,系统输出。
如下图所示:
1.6.3完毕“第二级分解”
<1>顾客操作的分解
可将顾客操作分解为:开户民,存款,取款,杳询。
如F图所示:
<2>业务员操作的分解
业务员的操作是将顾客的操作传送给系统,替代顾客与系统交互,因此,业务员的操作与系
统的操作基本类似,也可以近似地将业务员看作顾客.
因此操作员操作可分解为:开户,存款,取款,查询
并且如顾客在开户时设有密码,则进行密码验证。
因此分解图如下:
<3>系统输出分解
系统输出可分解为:计算利息-打印清单,保留新顾客信息,更新顾客信息,打卬存单
分解图如下:
1.6.4使用设计度量和启发式规则对第一次分割得到的软件构造深入精化。
由于业务员的操作与顾客“勺操作基本相似,可以简朴化地认为系统只与业务员交互,基
于这个思想,将有利与简化后来系统程序的设计与开发。
精化图如下:
打
印
清
#includc<iostrcam.h>
#include<string.h>
classBank
(
private:
Account*accountl50J;
intmaxID;
intaccNum;
public:
Bank();
voidAppend();
voidDelete();
voidQuery();
classAccount
private:
intID;
char*Name;
//intYear;
doubleBalance;
public:
Account();
Account(int,constchar*,double);
voidSavingO;
intWithdraw();
voidShowMe();
intgetID(){returnID:}
);
Account::Account()
(
ID=0;
strcpy(Name,"");
Balance=0;
Account::Account(intid,constchar*name,,doublebalance)
(
ID=id;
Name=newchar[50];
strcpy(Name,name);
//Year=year;
Balance=balance;
}
voidAccount::Saving()
(
doublenumber;
cout«"Pleaseinputsavingnumber:";
cin»number;
Balance=Balance+number;
cout«"Nowthebalanceofyouraccountis"«Balance«endl;
return;
intAccount::Withdraw()
doublenumber;
cout«"Plcascinputwithdrawnunibcr:*';
cin»number;
if(Balance<number)
{
cout«"Sorry,nowthebalanceofyouraccoutislessthan"«number«"."«"Soyoucannot
withdraw!"«endl;
return0;
1
else
Balance=Balance-number;
cout«"Nowthebalanceofyouraccountis"«Ba!ance«endl;
return1;
voidAccount::ShowMe()
cout«"AccountlD:"«ID«cndl;
cout«"Name:"«Namc«cndl;
//cout«"Ycar:"«Ycar«c»dl;
cout«"Balance:"«Balancc«endl;
return;
I
//intAccout::getID()
〃{
//returnID;
〃}
Bank::Bank()
(
for(inti=0;i<50;i++)
{
accountfi]=NULL:
)
maxID=0;
accNum=0;
voidBank::Appcnd()
if(accNum==50)
{
cout«"Sorryjhebankisfull,socannotaddnewaccount!'«endl;
return;
)
intid;
char*name=newchar[50];
doublebalance;
cout«"Pleaseinputthenameoftheaccount:";
cin»name;
id=maxID;
balance=0;
Account*acc=newAccount(id,name,balance);
accountfaccNum]=acc;
cout«"Appendsuccessful!"«endl;
account[accNum]->ShowMe();
maxID++;
accNum++;
return;
voidBank::Dclcte()
(
intID;
cout«"PleaseinputtheaccoutIDthatyouwanttodelete:";
cin»ID;
intflag=1;
inti=0;
while((i<accNum)&&(flag))
{
if(ID==account[i]->getIDO)
(
//flag=0indicatehadfoundtheaccountID
flag=0;
)
else
i++;
if(flag)
cout«"Thcaccountdocsnotexists!"«cndl;
return;
}
for(intj=i;j<accNum;j++)
{
account|j|=account|j+IJ;
}
deleteaccount[accNum-1];
accNum";
cout«"Deletesuccessful!"«endl:
return;
)
voidBank::Query()
(
intID;
cout«"PleaseinputtheaccountIDthatyouwanttoquery:';
cin»ID;
intflag=1;
inti=0;
whilc((i<accNum)&&(flag))
(
if(ID==account[iJ->getlD())
(
flag=0;
)
else
(
i++;
)
}
if(flag)
{
cout«"Theaccountdoesnotexist!"«endl«endl;
return;
)
account[i]->ShowMe();
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房产买卖合同指南
- 轻钢别墅销售合同范本
- 辽宁省葫芦岛市兴城市2020-2021学年八年级上学期期末考试物理试题【含答案】
- 驾校教练车租赁合同
- 钢筋工程分包合同协议书
- 中介销售合作合同范本2025
- 初中英语教科版(五四学制)九年级上册Unit 4 Growing Good Corn一等奖教案
- 肠梗阻患者护理查房
- 11变废为宝有妙招 公开课一等奖创新教学设计 (表格式)
- 2《共建美好集体》表格式公开课一等奖创新教学设计
- 电销主管管理培训
- 房地产市场报告 -2025年一季度厦门写字楼和零售市场报告
- 2024-2025学年人教版生物学八年级下册期中复习练习题(含答案)
- 球机施工方案
- 2025年安全员之B证(项目负责人)通关题库(附答案)
- 危险品驾驶员聘用合同二零二五年
- 【MOOC】研究生英语科技论文写作-北京科技大学 中国大学慕课MOOC答案
- 《工程建设标准强制性条文电力工程部分2023年版》
- 保监〔2005〕22号标准
- 哈工大毕业论文微型车转向机设计与应力分析
- 哈工大阵列信号处理答案
评论
0/150
提交评论