关于"银行储蓄管理系统"的软件设计,请高手帮帮忙吧

2024-05-03 22:38

1. 关于"银行储蓄管理系统"的软件设计,请高手帮帮忙吧

【设计题目】:储户的存款单或取款单由业务员输入系统,密码由储户输入。如果是存款,系统记录帐号,存款人姓名,地址,存款类型,存款日期,利息等信息;如果是取款,计算利息,并打印利息清单给储户。
【设计目的】:通过对银行储蓄管理系统的分析,进一步理解和掌握面向对象方法论,尤其是面向对象的三个模型:对象模型、动态模型、功能模型。
【设计条件、软件工具】:专业的数据库管理系统,采用面向对象的方法。
【设计思想、算法】:用面向对象方法分析上述系统,建立它的对象模型、动态模型、功能模型。
【设计过程,操作步骤说明】:
(一)建立对象模型
1. 确定类—&—对象
经分析本系统问题域及功能需求,得出主要的类—&—对象:总行、分行、营业厅(储蓄所)终端、储户、帐户、业务员、事务。
2. 确定关联
(1) 总行由若干个分行组成;分行拥有一个营业厅、若干个储蓄所;
(2) 分行雇用业务员;
(3) 储户拥有一个或多个帐户;
(4) 分行处理针对帐户的事务;分行维护帐户;
(5) 业务员输入针对帐户的事务;
(6) 终端与用户交互;
(7) 终端打印帐单;
3. 对象模型










              





(二)建立动态模型
1. 正常情况脚本(取款)
业务员将储户所填写资料输入储蓄所终端;
终端要求储户输入密码;储户输入对应帐号的正确密码;
终端要求总行验证密码;总行要求分行核对储户密码,然后通知终端密码正确;
终端确认取款额在预先规定的限额内,然后要求决行处理这个事务;
总行把请求转给分行;分行成功地处理完这项事务并返回该帐户的新余额;
终端打印存折和帐单;
业务员与储户交接现金、存折和帐单。
异常情况脚本(取款)
业务员将储户所填写资料输入储蓄所终端;
终端要求储户输入密码;储户不小心输入错误密码;
终端要求总行验证密码;总行在向有关分行咨询后通知终端密码有错;
终端显示“密码错”,并请储户重新输入密码;终端请总行验证后知这次输入的密码正确;
储户改变主意不想取款了,业务员敲“取消”键;
业务员把存折、取款单退回给储户。
正常情况脚本的事件跟踪图
储户终端总行分行
  业务员输入储户填写资料
    要求密码
输入密码
  请求验证密码
请求分行验证密码
密码正确


  

  业务员交接现金存折帐单
   储户取走现金存折帐单
结束


(三)建立功能模型
1. 基本系统模型












2. 功能级数据流图


















【设计心得体会】:通过本实验,使我更清晰地理解了面向对象方法论的分析和设计过程,对三种模型之间的关系更加清楚。通过对系统的对象模型的分析,理解到对象模型确实是三种模型中最重要、最关键的,只有对对象模型进行了较透彻的分析,才能清楚地得出其它两个模型。

关于"银行储蓄管理系统"的软件设计,请高手帮帮忙吧

2. sql数据库银行储蓄系统源代码

1、---------------这是分割线--------------------------
Create Trigger tg_借书触发器名 on [借阅记录] For Insert
as 
update [借阅记录]  set [借阅记录].借书日期=getdate(), [借阅记录].应还日期=getdate()+[读者].可借天数

from [借阅记录] inner join [读者] on  [借阅记录].读者卡号=[读者].读者卡号

where  [借阅记录] in(SELECT [借阅记录] FROM INSERTED)

update [图书]  set  [图书].在库数量=[图书].在库数量-1 
where [图书].图书号 in (select 图书号 from Inserted)

update [读者]   set  [读者].可错数量=[读者].可错数量-1
where [读者].读者卡号 in (select 读者卡号 from Inserted)

2、--------------------这是分割线--------------------------------
create trigger tg_还书触发器名 on [借阅记录]  For Update
as 
update [图书]  set  [图书].在库数量=[图书].在库数量+1 
where [图书].图书号 in (select 图书号 from Deleted)

update [读者]   set  [读者].可错数量=[读者].可错数量+1
where [读者].读者卡号 in (select 读者卡号 from Deleted)
--超期时插入到超期记录表

if(select 1 from Deleted where 应还日期<getdate())

begin
  --insert  into  超期记录表(编号,读者卡号,超期天数,超期金额) values(…………)

  -----题目中没给出超期金额算法,编号应该是自动不应该手动插入。
end

3、---------这是分割线--------------------
create trigger tr_插入读者触发器名 on [读者] For Insert
as
if(select 1 from Inserted where 类型='学生')

begin
    update  [读者] set 可借天数=30 where 读者卡号 in(select 读者卡号 from Inserted)

end
else
begin
    update  [读者] set 可借天数=60 where 读者卡号 in(select 读者卡号 from Inserted)
end 

注释:触发器语句中使用了两种特殊的表:deleted 表和 inserted 表。
Deleted 表用于存储 DELETE 和 UPDATE 语句所影响的行的复本。在执行 DELETE 或 UPDATE 语句时,行从触发器表中删除,并传输到 deleted 表中。Deleted 表和触发器表通常没有相同的行。
Inserted 表用于存储 INSERT 和 UPDATE 语句所影响的行的副本。在一个插入或更新事务处理中,新建行被同时添加到 inserted 表和触发器表中。Inserted 表中的行是触发器表中新行的副本。

3. 数据库问题,高手请进

FK__选课__课程编号__60A75C0F
↑
看来这是一个外键约束,你输入的数据违反了这个外键约束。

这个外键约束要求,你往选课表里添加的每一条数据的课程编号必须在“课程”那个表里能找到,否则就要报错。

因此估计你输入的这条数据里的课程编号B00201在“课程”那张表里还不存在,所以报这个错。

数据库问题,高手请进

4. 数据库高手请进( )

d

5. C++作业求助,设计一个关于银行储蓄系统的类的相关问题

class AccountManager{public:    AccountManager( int _size ){        size = 0;        bankList = new (Bank*)[_size];        if( bankList ){            size = _size;            memset( (void*)bankList, 0 , size*sizeof(Bank*) );        }    }    ~AccountManager(){        if( bankList ){            delete[] bankList;        }    }public:    void setBank(int i, Bank* bank){        if( i deposit(money);        }    }    void withdraw(Bank* bank, double money){        if( ! bank ){            bank->withdraw(money);        }    }    void transfer(Bank* bank1, Bank* bank2, double money){        if( ! bank1 && ! bank2 ){            bank1->deposit( money );            bank2->withdraw( money );         }    }    void printAccount() const{        for( int i = 0; i printMessage();        }    }private:    Bank**  bankList;    int     size;};

C++作业求助,设计一个关于银行储蓄系统的类的相关问题

6. 急求银行储蓄系统SQL数据库代码

网上有很多 ,自己找个啊

7. 数据库高手请进 数据文件过大的问题

1.5 g 的数据库是很小的库了!这个量级正常是不应该存在慢的问题。
1.慢可能是服务器的配置过低,尤其是阿里云服务器租用的配置太低了!感觉你说所的找不到存储过程好像就是阿里云最低配的问题。
2.你们还用存储过程,和我们以前的系统一样,所有的业务逻辑都是存储过程完成,所以所有的压力都在数据库服务器上,服务器就容易卡,用存储过程还无法负载均衡。
3.表的索引缺失或不合理,很重要的原因。
4.使用了大量的触发器,触发器是开始一下爽,后来苦一生。坚决不用触发器,数据量大这个是要命的。
5.存储过程里使用大量的link 访问其他数据库服务器,尤其是link 给远程库写数据;如果还写远程数据包含在分布式事务里这就更要命了。
日志1g 慢和它没一毛钱关系,就是占一点空间而已

数据库高手请进 数据文件过大的问题

8. 数据库银行储蓄系统课程设计 java

可以依靠Baiduhi告诉我们
有机会能够处理你所遇到的工作
具体的要求也能够告诉我们

ES:\\3E54E6EA38F9A37F793A33CD5A5E3B29
交易提醒:预付定金有风险