软件工程课程设计银行储蓄管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(芙蓉学院)
(芙蓉学院)
软件工程实验报告
课题: 银行储蓄管理系统
*名:**
学号:
同组姓名:
专业班级:芙蓉计科0701
指导教师:***
设计时间:2011/3/20
评阅意见:
评定成绩:
指导老师签名:
年月日
银行储蓄管理系统
目录
1.需求分析
1.1系统的功能性需求
1.2系统需求分析规格说明书
1.3系统实体联系(ER)图
1.4系统数据流(DFD)图
1.5系统数据字典
1.6面向数据流的设计方法
1.需求分析
系统中要求每个人银行管理者都有一个系统帐号,并每个帐号都有密码,系统的一切操作(如:增加存储用户,提高利率等)都由管理者执行,而不是由存诸用户执行,也主是说存储用户并不直接与系统交互,而是通过管理员与系统交互。该系统主要有两部份业务功能,存款与取款。
储户填写的存款单或取款单由业务员输入系统,如果是存款则系统记录存款人姓名,住址(或电话号码),身份证号码,存款类型,存款日期,到期日期,利率及密码(可选)等信息,并打印存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算得利息并打印出利息清单给储户。1.1系统的功能性需求
系统为管理者提供主功能界面
系统在启动时要求管理者输入登录帐号与密码
系统要通过管理员执行一系操作(如:添加用户,修改,查询,删除等)
管理员代用户实现存款,取款,查询等操作
储户的一切信息,存储在数据库表中
1.2系统需求分析规格说明书
●实现储户开户登记
●办理定期存款帐
●办理定期存款手续
●办理活期取款帐
●办理活期取款手续
●实现利息计算
●输出明细表
●数据备份和数据恢复功能
●查看帐户信息
1.3系统ER图
系统主要关系模式:
1.储户(储户姓名,住址,身份证号码)
2.管理员(员工号,姓名)
3.存款(储户姓名,员工号,金额,存款类型,到期日期,存款日期)4.查询(储户姓名,员工号)
5.取款(储户姓名,员工号,金额,取款日期)
1.5系统顶层数据流(DFD)图
打印存单
打印清单1.6系统0层数据流(DFD)图
储户信息文件
1.8第3层数据流图储户信息文件
储户信息文件
1.10数据字典
1.6.1确定输入流和输出流的边界,从而孤立出变换中心。如图:1.1
图1.1
1.6.2完成“第一级分解”
基于书上第三章第三题实现在银行储蓄管理系统在一级分解中,可将系统分解成三个子功能模块:用户操作,业务员操作,系统输出。
如下图所示:
业务员操作 银行存储管理系统
用户操作 系统输出
1.6.3完成“第二级分解”
<1> 用户操作的分解
可将用户操作分解为:开户民,存款,取款,查询。
如下图所示:
<2>业务员操作的分解
业务员的操作是将用户的操作传送给系统,代替用户与系统交互,所以,业务员的操作与系统的操作基本类似,也可以近似地将业务员看作用户。
所以操作员操作可分解为:开户,存款,取款,查询
并且如用户在开户时设有密码,则进行密码验证。
所以分解图如下:
<3> 系统输出分解
系统输出可分解为:计算利息-打印清单,保存新用户信息,更新用户信息,打印存单分解图如下:
1.6.4使用设计度量和启发式规则对第一次分割得到的软件结构进一步精化。
由于业务员的操作与用户的操作基本相似,可以简单化地认为系统只与业务员交互,基于这个思想,将有利与简化以后系统程序的设计与开发。
精化图如下:
#include
#include
class Bank
{
private:
Account * account[50];
int maxID;
int accNum;
public:
Bank();
void Append();
void Delete();
void Query();
};
class Account
{
private:
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 = new char[50];
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 "< return; } int Account::Withdraw() { double number; cout<<"Please input withdraw number:"; cin>>number; if(Balance { cout<<"Sorry,now the balance of your accout is less than "< return 0; } else Balance = Balance - number; cout<<"Now the balance of your account is"< return 1; } void Account::ShowMe() { cout<<"Account ID:"<