版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、(芙蓉学院)软件工程 实验报告课题:银行储蓄管理系统姓名:谭斌学 号:同组姓名:专业班级:芙蓉计科0701指导教师:周学清2011/3/20评阅意见:评定成绩:指导老师签名:银行储蓄管理系统目录1 需求分析1 1 系统的功能性需求1 2 系统需求分析规格说明书1 . 3系统实体联系(ER)图1 4系统数据流( DFD )图1 5 系统数据字典1 6 面向数据流的设计方法1 需求分析系统中要求每个人银行管理者都有一个系统帐号,并每个帐号都有密码,系统的一切操作(如:增加存储用户,提高利率等)都由管理者执行,而不是由存诸用户执行,也主是说存储用户并不直接与系统交互,而是通过管理员与系统交互。该系统
2、主要有两部份业务功能,存款与取款。储户填写的存款单或取款单由业务员输入系统,如果是存款则系统记录存款人姓名,住址(或电话号码) ,身份证号码,存款类型,存款日期,到期日期,利率及密码(可选)等信息,并打印存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算得利息并打印出利息清单给储户。1 1 系统的功能性需求系统为管理者提供主功能界面系统在启动时要求管理者输入登录帐号与密码系统要通过管理员执行一系操作(如:添加用户,修改,查询,删除等)管理员代用户实现存款,取款,查询等操作储户的一切信息,存储在数据库表中1 2 系统需求分析规格说明书实现储户
3、开户登记办理定期存款帐办理定期存款手续办理活期取款帐办理活期取款手续实现利息计算输出明细表数据备份和数据恢复功能查看帐户信息1.3系统ER图系统主要关系模式:1.储户(储户姓名,住址,身份证号码)2.管理员(员工号,姓名)3.存款(储户姓名,员工号,金额,存款类型,到期日期,存款日期)4.查询(储户姓名,员工号)5.取款(储户姓名,员工号,金额,取款日期)身份证号码住址姓名11nn到期日期nnnnn到期日期11111系统nn姓名清单信息1. 5系统顶层数据流(DFD )图打印存单打印清单1. 7第2层DFD图储户信息文件1. 9第5层数据流图储户信息文件1. 10数据字典数据名字:利息清单数据
4、来源:系统数据目的:储户数据组成:利息+姓名+取款时间+取款金额数据名字:存单数据来源:存款信息表数据目的:储户数据组成:姓名+到期时间+存入类型+存入时间+利率+存入金额数据名字:取款单数据来源:储户数据目的:储户信息表数据组成:姓名+到期时间+存入类型+存入时间+利率+取款金额+身份证号数据名字:“单数据目的:存款信息表数据组成:姓名+到期时间+存入类型+存入时间+利率+存入金额+身份证号16 1确定输入流和输出流的边界,从而孤立出变换中心。如图:1.1图1.11.6.2 完成“第一级分解”基于书上第三章第三题实现在银行储蓄管理系统在一级分解中,可将系统分解成三个子功能模块:用户操作,业务
5、员操作,系统输出。如下图所示:1.6.3 完成“第二级分解”<1>用户操作的分解可将用户操作分解为:开户民,存款,取款,查询。如下图所示:<2>业务员操作的分解业务员的操作是将用户的操作传送给系统,代替用户与系统交互, 所以,业务员的操作与系统的操作基本类似,也可以近似地将业务员看作用户。所以操作员操作可分解为:开户,存款,取款,查询并且如用户在开户时设有密码,则进行密码验证。所以分解图如下:<3>系统输出分解系统输出可分解为:计算利息-打印清单,保存新用户信息,更新用户信息,打印存单分解图如下:系统输出1.6. 4使用设计度量和启发式规则对第一次分割得到的
6、软件结构进一步精化由于业务员的操作与用户的操作基本相似,可以简单化地认为系统只与业务员交互,基于这个思想,将有利与简化以后系统程序的设计与开发。精化图如下:密码验证提 交 用 户 查 询 表计算利息打 印 清 单存用信 保新户息更新用户信息打印存单#include<iostream.h>#include<string.h>class Bankprivate:Account * account50;int maxID;int accNum;public:Bank();void Append();void Delete();void Query();class Accoun
7、tprivate:int ID;char * Name;/int Year;double Balance;public:Account();Account(int,const char * ,double);void Saving();int Withdraw();void ShowMe();int getID()return ID;Account:Account()ID = 0;strcpy(Name," ");Balance = 0;Account:Account(int id,const char * name,double balance) ID = id;Name
8、 = new char50;strcpy(Name,name);/Year=year;Balance = balance;void Account:Saving()double number;cout<<"Please input saving number:"cin>>number;Balance = Balance + number;cout<<"Now the balance of your account is "<<Balance<<endl;return;int Account:Wi
9、thdraw()double number;cout<<"Please input withdraw number:"cin>>number;if(Balance<number)cout<<"Sorry,now the balance of your accout is less than "<<number<<"."<<"So you can not withdraw!"<<endl;return 0;elseBalance
10、 = Balance - number;cout<<"Now the balance of your account is"<<Balance<<endl;return 1;void Account:ShowMe()cout<<"Account ID:"<<ID<<endl;cout<<"Name:"<<Name<<endl;/ cout<<"Year:"<<Year<<e
11、ndl;cout<<"Balance:"<<Balance<<endl;return; /int Accout:getID()/return ID;/Bank:Bank()for(int i=0;i<50;i+)accounti = NULL;maxID = 0;accNum = 0;void Bank:Append()if(accNum = 50)cout<<"Sorry,the bank is full,so can not add new account!"<<endl; retur
12、n;int id;char * name = new char50;double balance;cout<<"Please input the name of the account:"cin>>name;id = maxID;balance = 0;Account * acc = new Account(id,name,balance);accountaccNum = acc;cout<<"Append successful!"<<endl;accountaccNum->ShowMe();maxI
13、D+;accNum+;return;void Bank:Delete()int ID;cout<<"Please input the accout ID that you want to delete:"cin>>ID;int flag = 1;int i = 0;while(i<accNum)&&(flag)if(ID = accounti->getID()/flag = 0 indicate had found the accountIDflag = 0;elsei+;if(flag)cout<<"
14、;The account does not exists!"<<endl;return;for(int j=i;j<accNum;j+)accountj = accountj+1;delete accountaccNum-1;accNum-;cout<<"Delete successful!"<<endl;return;void Bank:Query()int ID;cout<<"Please input the account ID that you want to query:" cin
15、>>ID;int flag = 1;int i=0;while(i<accNum)&&(flag)if(ID = accounti->getID()flag = 0;elsei+;if(flag)cout<<"The account does not exist!"<<endl<<endl; return;accounti->ShowMe();int choice=0 ;while(choice!=3)cout<<" 1:Save money"<<e
16、ndl;cout<<" 2:Withdraw money"<<endl;cout<<" 3:Return"<<endl;cout<<" Please input the choice:"cin>>choice;cout<<endl;switch(choice)case 1:accounti->Saving();break;case 2:accounti->Withdraw();break;case 3:break; return;void main()Bank bank;int choice = 0;cout<<"Welcome to bank system"<<endl;while(choice != 4)cout<<"1: Add an account"<<endl;cout<<"2: Delete an account"<<endl;cout<<"3: Query an account"<<endl;cout<<&quo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年电梯安全知识培训内容高频考点
- 2026年安全培训内容酒店重点
- 2026年知识体系小学开学安全培训内容
- 2026年城市海绵化改造项目融资合作合同
- 2026年儿童服装厂安全培训内容完整指南
- 哈密地区巴里坤哈萨克自治县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 西宁市城西区2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 昆明市石林彝族自治县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 2026年租房合同协议书 打印核心要点
- 双鸭山市友谊县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 四川省广元市高2026届第二次高考适应性检测数学+答案
- TSG08-2026《特种设备使用管理规则》全面解读课件
- 2026广东广州市黄埔区大沙街道招聘编外聘用人员4人备考题库及参考答案详解
- 《2026年化学制药企业安全风险防控专项工作方案》解读
- 2026新疆兵团第七师胡杨河市公安机关社会招聘辅警358人笔试备考试题及答案解析
- 企业车间绩效考核制度
- 医疗服务价格项目立项指南解读辅导2026
- 2026年江西赣州市高三一模高考数学试卷试题(含答案详解)
- 中兴新云逻辑测试题
- 全过程造价咨询服务的质量、进度、保密等保证措施
- 2025年四川省眉山市中考数学试卷
评论
0/150
提交评论