银行储蓄系统报告.docx
- 文档编号:27941204
- 上传时间:2023-07-06
- 格式:DOCX
- 页数:21
- 大小:1.44MB
银行储蓄系统报告.docx
《银行储蓄系统报告.docx》由会员分享,可在线阅读,更多相关《银行储蓄系统报告.docx(21页珍藏版)》请在冰豆网上搜索。
银行储蓄系统报告
课程设计(论文)
课程名称:
数据库大作业
题目:
银行储蓄系统
院(系):
信息与控制工程学院
专业班级:
计算机1102
姓名:
**
学号:
110620210
指导教师:
**
2014年3月13日
西安建筑科技大学课程设计(论文)任务书
专业班级:
计算机112学生姓名:
指导教师(签名):
一、课程设计(论文)题目
银行储蓄系统
二、本次课程设计(论文)应达到的目的
通过数据库大作业课程设计的操作与实践,使学生了解关系数据库的相关理论知识和有关工具软件的使用技巧,在一定程度上提高应用程序的综合开发能力和创新意识、创新能力。
三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等)
系统功能基本要求:
1.实现储户开户登记;2.办理定期存款帐;
3.办理定期取款手续;4.办理活期存款帐;
5.办理活期取款手续;6.实现利息计算;
7.实现所有功能的查询;
8.要考虑银行系统数据的安全与保密工作。
四、应收集的资料及主要参考文献:
1.数据库:
原理编程与性能(影印版)(第2版),高等教育出版社,ParickO'Neil,ElizabethO'Neil编著,2005.7;
2.数据库系统概论(第4版),高等教育出版社,王珊,萨师煊编著,2006.05;
五、审核批准意见
教研室主任(签字)
设计总说明
这次数据库课程设计的题目是:
银行储蓄系统。
当今计算机及网络技术迅猛发展,计算机应用在全球范围内日益普及,而社会也正在向信息化社会前进,信息系统的作用也越来越大。
因此,纸质作为存储介质已经不再适应时代大道发展。
加上现如今,纯人工操作银行存取款业务已经不再现实,一是因为业务量大,人工操作会显得效率极低;二是因为银行存储款业务繁琐,精确度要求极高,人工操作易出错,甚至可能造成无法挽回的损失。
所以一款精确度高、出错率低的银行储蓄系统显得尤为重要。
此次设计是以陕西信合银行的存折服务为模拟对象,借鉴存折的活期存取款、死期存取款、利息计算、明细查询、安全等方面的组织逻辑。
从而得出来该设计的需求分析。
然后按照需求分析设计出了该系统的逻辑数据库,接着在SQLSever2008上完成了数据库的物理设计。
然后运用visualstudio2010设计网站形式(C#语言)的银行储蓄系统前台后台代码。
设计完成之后,该系统能够完成实现储户开户登记;办理定期存款帐;办理定期取款手续;办理活期存款帐;办理活期取款手续;实现利息计算;实现所有功能的查询。
并且要考虑了银行系统数据的安全与保密工作。
此外,在普通用户之外,还设有一个管理员用户,此管理员拥有除了管理(修改密码)之外所有的普通用户权限。
因此在报告中之阐述普通用户的设计。
数据库大作业
—银行储蓄系统
1.设计目的
这次数据库课程设计的题目是:
银行储蓄系统。
当今计算机及网络技术迅猛发展,计算机应用在全球范围内日益普及,而社会也正在向信息化社会前进,信息系统的作用也越来越大。
因此,纸质作为存储介质已经不再适应时代大道发展。
加上现如今,纯人工操作银行存取款业务已经不再现实,一是因为业务量大,人工操作会显得效率极低;二是因为银行存储款业务繁琐,精确度要求极高,人工操作易出错,甚至可能造成无法挽回的损失。
所以一款精确度高、出错率低的银行储蓄系统显得尤为重要。
2.问题描述
2.1问题概述
本设计要求设计实现一个银行储蓄系统,能够完成银行用户的普通业务操作,并且要保证数据库的安全性达标。
2.2系统设计目标
首先是系统功能设计,尽量的地模拟真实的银行系统,尽量地简化用户的操作,并尽可能做以改善。
其次就是数据库的设计,设计过程中应该尽可能地运用所学的数据库知识,使理论与实践完美地结合起来。
最后就是界面了,本设计是一个网站类型的系统,而一个网站的界面友好程度对于系统的受欢迎程度是有着决定性的作用的。
因此,此次界面设计应该本着简洁、美观的目标去进行设计。
2.3系统主要功能
设计完成之后,该系统能够完成实现储户开户登记;办理定期存款帐;办理定期取款手续;办理活期存款帐;办理活期取款手续;实现利息计算;实现所有功能的查询。
并且要考虑了银行系统数据的安全与保密工作。
此外,在普通用户之外,还设有一个管理员用户,此管理员拥有除了管理(修改密码)之外所有的普通用户权限。
因此在报告中之阐述普通用户的设计。
3.需求分析
3.1设计思想
首先,对于数据库的设计,要以简洁为主,但必须完成系统所需功能。
而对于后台前台的设计要以真实性为主,设计出符合人们生活习惯的界面和功能。
3.2可行性分析
3.2.1技术可行性
系统的性质为MIS,因而数据库的设计与操纵是系统设计的核心。
我们对软件开发有所实践,具备一定的系统分析与设计能力,熟悉数据库的设计与操纵;指导老师经验丰富,因而该系统的实现在技术上是可行的。
3.2.2操作可行性
我们已经学过C#、数据库技术,可以完成开发任务以及数据库的设计与开发,可以应对用户界面开发和后期测试任务等。
故可立即投入开发工作。
3.2.3时间、设备可行性
系统设计与开发工作预计耗时两周。
实验设备如:
计算机及相关软件齐全,任务可以完成。
3.3功能需求
3.3.1基本功能需求
完成实现储户开户登记;办理定期存款帐;办理定期取款手续;办理活期存款帐;办理活期取款手续;实现利息计算;实现所有功能的查询。
并且要考虑了银行系统数据的安全与保密工作。
3.3.2用户界面需求
界面应该包括系统管理员登陆后的界面和普通用户登陆后的界面。
普通用户的界面应该包括开户界面、销户界面、个人信息管理界面(修改用户密码)、活期定期存取款界面以及各种信息的查询界面。
系统管理员也应该包括开户界面、销户界面、所有用户存取款查询界面、所有用户活期定期存取款界面。
其次应该还有一个管理员和用户的登陆界面。
3.4性能需求
首先,对于工作负荷处理较多数据时,应该尽量避免较长时间的延时。
再者,系统的界面应该比较友好,利于管理人员的操作。
还有就是系统应该具备高度容错能力,不至于发生一些意想不到的错误而没法处理。
3.5系统设计基础
3.5.1系统业务流图
图3-1系统业务流图
3.5.2系统数据流图(此处只画出普通用户流图,管理员权限与普通用户除少了更改密码的管理权限外,其余完全相同。
)
图3-2系统数据流图
4.概要设计
4.1功能描述
设计完成之后,该系统能够完成实现储户开户登记;办理定期存款帐;办理定期取款手续;办理活期存款帐;办理活期取款手续;实现利息计算;实现所有功能的查询。
并且要考虑了银行系统数据的安全与保密工作。
此外,在普通用户之外,还设有一个管理员用户,此管理员拥有除了管理(修改密码)之外所有的普通用户权限。
因此在报告中之阐述普通用户的设计。
4.2系统模块
系统包括以下模块:
导航模块(其它模块的索引);开户模块;登陆模块;储户存款模块;储蓄取款模块;储户查询模块;销户模块;管理模块(修改密码)。
共计8个模块。
4.3系统功能模块图
图4-1系统功能模块图
5.数据库设计
5.1数据库简介
本网站使用的数据库是SQLServer2008,将本系统需要用到的数据信息都存在数据库中的表中。
5.2概念设计
实体:
用户,活期存款,活期存取明细,定期存款,定期存取明细。
图5-1用户表E-R图
图5-2活期存款表E-R图
图5-3活期存取明细表E-R图
图5-4定期取款表E-R图
图5-5定期存取明细表E-R图
图5-6各表综合E-R图
5.3逻辑结构设计
用户表属性:
账号、密码、姓名、性别、出生年月、身份证号、地址、电话、开户日期、账户余额。
活期存款表属性:
账号、操作金额、账户类型(活期或者死期)、操作日期、账户余额。
活期存取明细表:
账号、操作金额、操作类型(存款或取款)、操作日期、利息、账户余额。
定期存款表属性:
序号(用来标识存款的款项)、账号、操作金额、账户类型、操作日期、利息、账户余额、年限。
活期存取明细表:
账号、操作金额、操作类型、操作日期、利息、账户余额、序号。
5.4物理结构设计
表5-1用户表
属性
账号
密码
姓名
性别
出生年月
身份证号
地址
电话
开户日期
账户余额
类型
Varchar(20)
Char
(8)
Varchar(20)
Char
(2)
Datatime
Char
(18)
Varchar(100)
Char
(20)
Varchar(20)
nchar(20)
表5-2活期存款表
属性
账号
操作金额
账户类型
操作日期
账户余额
类型
Varchar(20)
Varchar(20)
Varchar(20)
Varchar(20)
Varchar(20)
表5-3活期存取明细表
属性
账号
操作金额
操作类型
操作日期
利息
账户余额
类型
Varchar(20)
Varchar(20)
Varchar(20)
Varchar(20)
Varchar(20)
Varchar(20)
表5-4定期存款表
属性
序号
账号
操作金额
操作类型
操作日期
利息
账户余额
年限
类型
Varchar(20)
Varchar(20)
Varchar(20)
Varchar(20)
Varchar(20)
Varchar(20)
Varchar(20)
Varchar(20)
表5-5定期存取明细表
属性
账号
操作金额
账户类型
操作日期
利息
账户余额
序号
类型
Varchar(20)
Varchar(20)
Varchar(20)
Varchar(20)
Varchar(20)
Varchar(20)
Varchar(20)
6.详细设计
6.1项目创建
打开visualstudio2010,文件—〉新建—〉网站,填写网站名,点击确定,项目创建完成。
6.2导航模块
(1)模块功能
用来导航其它各个模块的索引页,是整个系统的主页面。
用户在未登录的情况下进入此页面不能进行任何操作。
页面会滚动提示请先登录。
(2)界面设计
图6-1导航模块界面图
6.3登陆模块
(1)模块功能
用于普通用户或者管理员登陆账户,用以获取权限,进行存取款等进一步操作。
(2)界面设计
图6-2登陆模块界面图
6.4开户模块
(1)模块功能
实现用户建立自己银行账号的功能。
(2)界面设计
图6-3开户模块界面图
6.5储户存款模块
(1)模块功能
实现用户的活期和定期存款的功能。
(2)界面设计
图6-4储户存款模块界面图
(3)关键代码(存款按钮事件)
protectedvoidButton1_Click(objectsender,EventArgse)
{.
.
.
if(cxlx.SelectedItem.Text=="活期")
{
TextBox1.ReadOnly=true;
mycon.Open();
SqlTransactionmyTrans=mycon.BeginTransaction();
SqlCommandcmd=newSqlCommand("selecttop1*from活
期存款表Orderby操作日期DESC",mycon);
cmd.Transaction=myTrans;
try
{
SqlDataReaderreader=cmd.ExecuteReader();
stringl="";
if(reader.Read())//计算存款后
活期总额
{
.
.
.
SqlDatadaq=newSqlData();
SqlConnectionmyconq=new
SqlConnection(ConfigurationManager
.AppSettings["ConSql"]);
SqlCommandcmdq=newSqlCommand("DeleteFrom活
期存款表where账号=@zhanghao",myconq);
cmdq.Parameters.Add("@zhanghao",
SqlDbType.VarChar).Value=Session["UserName"];
myconq.Open();
cmdq.ExecuteNonQuery();
myconq.Close();
}
else
{
l=this.txtcunrue.Text;
}
mycon.Close();
mycon.Open();
stringcmm="insertinto活期存款表values('"+
this.txtzh.Text+"','"+this.txtcunrue.Text+
"','"+"活期"+"','"+
this.TextBox1.Text+"','"+l+"')";
stringcnn="insertinto活期存取明细表values('"+
this.txtzh.Text+"','"+this.txtcunrue.Text+"','"
+"存款"+"','"+DateTime.Now.ToString
("yyyy-MM-dd--hh-mm-ss")+"','"+0+"','"+l+"')";
SqlCommandcom=newSqlCommand(cmm,mycon);
SqlCommandcon=newSqlCommand(cnn,mycon);
into=(int)com.ExecuteNonQuery();
con.ExecuteNonQuery();
}
.
.
.
}
}
6.6储户取款模块
(1)模块功能
实现用户的活期和定期取款的功能。
(2)界面设计
图6-5储户取款模块界面图
6.7储户查询模块
(1)模块功能
实现用户的活期和定期存款和取款记录的查询的功能。
(2)界面设计
图6-6储户查询模块界面图
6.8销户模块
(1)模块功能
实现用户注销信息的功能。
(2)界面设计
图6-7销户模块界面图
6.9管理模块
(1)模块功能
实现用户密码更改的功能。
(2)界面设计
图6-8管理模块界面图
7.调试分析
在调试的过程中我遇到了各种各样的问题,再次列举几个主要的问题进行分析。
在调试的过程中我发现session变量不能直接使用,不然系统会提示该变量没有定义。
最后在书上找到了解决问题的方法,应该现在Global.aspx文件中对session变量进行初始化。
这样就可以在所有后台代码中随意使用session了。
在数据库连接的时候也发生过好多问题,比如sqlconnection连接格式书写不正确,但都是一些不容易发现的小问题。
最后都插入断点分析改正过来了。
在调试的过程中我还发现一个潜藏的问题,就是数据库的安全问题,如果多个用户同时操作数据库,那么系统肯定会出错,虽然调试的时候没有发生错误,但为了防患于未然,使系统更加完整,我将所有对数据库操作的后台代码都写进了事物当中,以解决问题。
8.使用说明
1.进入网站首页-index.aspx,页面提示请先登录。
用户可以单击导航栏的“开户”按钮,到开户页面注册信息,并且提交。
2.用户开户后可以点击“登陆”,到登陆页面登陆。
3.登陆后用户会跳转到导航页,用户可以点击储蓄存款、储蓄取款、储蓄查询、销户、管理、开户等导航按钮,进入各个对应页面进行相应操作。
如下图:
图8-1导航界面图
9.设计总结
其实,这是我本科以来第一次真正意义上自己独立完成的一次课程设计,从拿到题目,研究需求,设计数据库,设计功能模块,编写代码,一步一步走了过来。
虽说过程比较曲折,但是最终还是被我一一解决了。
在课设中遇到的一些形形色色的问题。
首先就是用户需求,我发现这个环节其实是最不能忽视的,因为如果了解的稍微有点偏差而导致设计出现问题,再想修改就会很麻烦了。
而我也恰恰在这里也犯了错误,我开始设计的银行系统,用户不同时间的活期存款是不能叠加的的,等到我意识到这个错误的时候已经很难再改动了,最后花了九牛二虎之力才得以解决。
老师给的任务书上的设计要求是很笼统的,其中有许许多多的细节是需要我们自己去了解的。
比如银行的定期存款到期后没被用户及时取走会执行什么操作;再比如银行的利率是按照什么规律结算的。
我首先在网上查找了很多的银行存折图片,还请教了周围使用过存折的人们,综合各种信息,最后得出我的系统需求。
再说说数据库,数据库的设计远远没有我想象的那么简单,由于并没有按照书本上所学的设计步骤去设计,所以感觉无从下手,最后是在网上参考了很多有关的数据库设计,再根据我的设计要求和系统需求一步一步慢慢地确定了我自己的数据库表。
到这里也就基本完成了本次课设的大概一半了。
接下来我开始去编写网站前台代码,这部分没有遇到什么大的问题,但对于一些简单的css倒是有了一点了解。
最后就是后台代码,由于自己的编程经验还不是很丰富,所以也遇到了很多以前没有见过的问题,比如时间的运算问题(定期存款需要计算款项是否到期)等等。
到现在为止,整个系统基本上完成了任务书的要求,但是还有一些地方需要改进,最重要的一点就是利息问题,我的利息设置的常量,但是实际并非如此,银行的利率是经常变动的。
解决的方案目前有两个,一个就是在数据库设计中加入触发器功能,当政府将利率改动时,存款中的利率也会自动改变,并根据利率自动结算前一段时间的本金和。
首先查找最近一次调整利率的时间和利率,然后计算按照此利率结算的天数,然后根据利率求出本金和,并更新存款中的可用余额。
还有一种方法是在管理员界面中添加一个调整利率的功能,进行手工改动。
相信经过循序渐进的努力,我的系统会越来越完善。
经过这次课程设计,我了解到了,要做一个外观优美,性能优越的系统不是那么轻而易举的,必须严格地一步步地往前推进。
但至少对于网站的开发流程已经是很熟悉了,相信以后不会再像以前一样手足无措了。
再次,向帮助过我的老师同学等等致以真诚的感谢!
参考文献
[1]ParickO'Neil,ElizabethO'Neil.数据库——原理、编程与性能(第2版影印版)[M].北京:
高等教育出版社,2005
[2]王珊,萨师煊.数据库系统概论(第4版)[M].北京:
高等教育出版社,2006
[3]刘卫国,熊拥军.数据库技术与应用——SQLServer2005[M].北京:
清华大学出版社,2010
[4]王秀英.SQLServer2005实用教程[M].北京:
清华大学出版社,2010
[5]柯平,高洁.信息管理概论[M].北京:
科学出社,2002
[6]周宁.信息资源数据库[M].武汉:
武汉大学社,2001
[7](英)夏普.VisualC#2005从入门到精通[M].北京:
科学出版社,2004
[8]DavidChappell.NET大局观(第2版)[M].北京:
清华大学出版社,1993
[9]尚俊杰.网络程序设计——ASP(第2版)[M].北京:
北京交通大
学出版社,2004
[10]明日科技.C#从入门到精通(第3版)[M].北京:
清华大学出版
社,2012
【此文档部分内容来源于网络,如有侵权请告知删除,本文档可自行编辑和修改内容,感谢您的支持!
】
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 银行 储蓄 系统 报告