银行管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要
本次软件课程设计是设计一个银行账户管理系统。所谓银行账户管理系统,就是让银行更好的管理用户使用情况。
本次设计的系统主要功能是新用户注册账号,旧用户对某一账号的查询、存款、取款、转账以及做销户处理,尽量接近现实生活中的ATM机,但是也有一些不足之处,那就是对用户的使用情况无法记录。
本系统,运用了Visual studio 2013和SQL server两款APP,SQL server主要的功能就是创建数据库,设计了必要的表格、触发器以及一些必要的约束条件;Visual studio 2013则主要是设计了用户的界面以及编写相对应的功能代码。
关键词:银行 账户 数据库 系统
目录
第一章 银行账户管理系统需求分析 5
1.1 银行账户管理系统的任务概述 5
1.2 银行账户管理系统性能分析 5
第二章 系统数据库设计 9
2.1 数据库概念结构设计 9
2.2 数据库逻辑结构设计 10
2.3 数据库基本表 10
第三章 系统详细设计 12
3.1 程序流程图 12
3.2 系统界面的设计 13
第四章 实验小结 18
参考文献 19
附录 20
附录一 登录界面代码 20
附录二 申请注册代码 21
附录三 自动获取账号代码 22
附录四 立即注册代码 23
附录五 查询代码 24
附录六 存款代码 25
附录七 取款代码 26
附录八 转账代码 28
附录九 销户代码 30
第一章 银行账户管理系统需求分析
1.1 银行账户管理系统的任务概述
问题重述:
设计一个银行账户管理系统,账户信息有账号(唯一)、姓名、余额、身份证号、电话号码,允许用户进行如下操作:开户、销户、存款、取款、转账、查询,一个用户可以有多个户头,账户的数值没有上限。
基本要求:
程序运行时,可以由用户选择进行何种操作,开户操作要求输入用户信息后自动获取账号,用户销户后账号被回收,并且该账号可以继续分配给其他账户,不允许用户透支,根据姓名或账号可以进行用户的信息查询。
1.2 银行账户管理系统性能分析
银行账户管理系统是面对广大群众的一个操作平台,不仅要做到界面简也要让用户操作方便,还要能够满足大部分群众的需求,让用户能有愉快的心情操作。
银行账户管理系统具备如下功能:
1. 欢迎模块
该模块由用户决定是新老用户。
2. 新用户模块
(1) 申请注册
此模块用户输入必要信息,比如姓名、身份证号、电话,电话可选择性输入。
(2) 立即注册
该模块用户可自动获取账号,确认身份证号,输入密码,确认密码即可注册。
3. 老顾客模块
(1) 登录界面
用户根据自己的账号和密码登录。
(2) 用户信息管理模块
A. 查询:用户可根据自己的账号或身份证号查询所有信息;
B. 销户:用户正确输入

账号与密码确认密码后可实现销户功能;
C. 存款:用户输入账号与存款金额可存款,也可显示余额;
D. 取款:用户输入账号与取款金额可取款,也可显示余额;
E. 转账:用户输入转出账号与密码,转入账号与转账金额可实现转账;
F. 退出:即结束当前操作,退回欢迎界面。
4. 系统功能模块图
5. 数据流图
6.数据字典
(1)数据项
数据项名称:姓名
别名:Name
含义说明:账户的名字
类型:字符型
长度:50
数据项名称:身份证
别名:ID
含义说明:账户的唯一标识符
类型:字符型
长度:18
数据项名称:电话
别名:Tel
类型:字符型
长度:50
数据项名称:账号
别名:Number
含义说明:账号的唯一标识符
类型:字符型
长度:20
数据项名称:密码
别名:Password
类型:字符型
长度:6
数据项名称:余额
别名:Balance
类型:浮点型
(2)数据结构
名称:用户信息
含义说明:定义了一个用户的基本信息
组成结构:姓名+身份证+电话
名称:账户
含义说明:定义了一个账户的基本信息
组成结构:账号+密码+身份证+余额
名称:销户
含义说明:用于收集销户的账号便于自动获取账号
组成结构:账号
第二章 系统数据库设计
2.1 数据库概念结构设计
根据上面的设计可以规划出的实体有:用户信息实体、账号实体、销户实体。
用户信息实体:
账户实体:
销户实体:
根据各实体之间的联系,可以得出银行账户管理系统的总E-R图,总E-R图如下图:
2.2 数据库逻辑结构设计
根据各分E-R图以及结合函数依赖关系、对数据库进行规范化的设计,使各关系模式满足第三范式。数据库逻辑结构设计结果如下:
(1) 用户信息(身份证,姓名,电话);
(2) 账号(账号,密码,身份证,余额);
(3) 销户(账户);
2.3 数据库基本表
本系统的数据库有SQLserver创建,共创建了三张基本表,分别为“用户信息”、“账户”、“销户”。详细设计如下:
字段名称 数据类型 长度 是否允许空 约束条件
Name Varchar 50 NO
ID Varchar 18 NO 主键约束,18位
Tel Varchar 50 YSE 只允许11位
字段名称 数据类型 长度 是否允许空 约束条件
Number Varchar 20 NO 主键约束
Password Varchar 6 NO 输入显示“*”
ID Varchar 18 NO
Balance Folat NO 默认值为0
字段名称 数据类型 长度 是否允许空 约束条件
账号 Varchar 20 NO 主键约束

第三章 系统详细设计
系统详细设计的目标是功能模块的创建的实现,其关键任务是确定怎样具体的实现用户需要的系统,即设计出程序的“蓝图”。除了应该保证系统的可靠性之外,使将来编

写的程序可读性好,容易理解,容易测试,容易修改和维护是详细的合计阶段最重要的目标。
3.1 程序流程图
3.2 系统界面的设计
该界面主要给新老用户一个友好的欢迎,用户可根据自己的要求选择注册账号或者办理其他业务。
欢迎运行效果图如下:
(1) 新用户注册界面
当用户点击“我是新用户”,可以完成两个功能,一,系统录入输入用户基本信息,以及注册一个新用户;二是旧用户注册新的账号。
注册有两个界面,一个是申请注册,需用户输入必要的信息,当你申请注册时,系统会去数据库查询该身份证号以前是否注册,如果该用户注册过,直接弹出新的确认注册界面,如果该用户没有注册过,系统会将输入的信息先存进数据库中,然后确认注册。
确认注册之前,用户必须让系统自动获取账号,否则无法进行确认注册,当确认注册成功后,系统将用户的账户信息存入数据库中。
注册运行效果图如下:
(2) 旧用户操作界面
旧用户就是已经注册过账号的用户,为了个人账号的安全性,以及用户对银行的安全性的信任,故需要用户登录自己的账号与密码。
登录运行效果图如下:
当用户输入了账号与密码将会进入一个功能选择模块,用户可以选择自己所需要办理的业务,例如查询、存款、取款、转账、销户等功能。用户根据自己的需求而选择相对应的功能模块。
用户可通过账号及身份证号查询到自己的信息;存款需用户输入存款金额,并且可查询余额;取款需用户输入取款金额,也可查询余额;转账需用户输入转出账号与密码确认、转入账号及转账余额;销户可以将用户的账号信息从账户表中删除,但是前提是余额为零,并且把删除的账号添加至销户表中供下次新用户注册时可循环利用。
功能选择模块的运行效果图如下:
查询运行效果图如下:
存款运行效果图如下:
取款运行效果图如下:
转账运行效果图如下:
第四章 实验小结
本次实验花了大概10天的时间构造想法以及一步一步的编写程序实现各个模块的功能,但是在这个过程中,并不都是那么顺利的,同时也有问题会突然蹦出来,让我措手不及!
第一,当用户申请注册时,用户可以输入任何一个小于18位的身份证号以及任何一个小于11位的电话。当初并不知道如何快速判断,想过一些方法,在程序中用if判断一个一个字符,但是感觉工作量太大,而且实现起来也不易,后来在同学的帮助之下,在SQL server软件里,居然可以对数据库中各列做约束,所以按照这种方法,实现了身份证只能输入18位,而且前17位只能是数字,最后一位

除了0-9,还可以为X,x,同时也增加了更多的约束。
第二,刚开始设计的是每个界面的里的变量只能在当前界面进行操作,正因为如此,这给后面的存款、取款带来了极大的不便,因为当用户每次取款存款时都要输入存取款账号,而且确认注册时还要再次输入身份证再次确认。这个问题曾经问过老师,老师说用全局变量解决这种跨界面的问题,但是去百度上搜索,无果而返,而后在同学的建议之下,既然全局变量驾驭不了,那可以用传递参数的方法,就这样在需要传递参数的界面,都编写了一段带参数的构造函数,就这样,就很容易解决了没办法跨界面的问题。
不过无论如何,在本次软件课程设计当中也收获颇多。知道如何去发现问题并且解决问题,以前只知道问同学,然后同学捯饬两下,解决问题了,然后就这样认为解决了问题,其实不然,这样问题更加严重了,遇到问题只知道问其他同学,独立解决问题的能力并没有提升,所以提升各人解决问题的能是我在这次课程设计中收获最大的。
参考文献
[1] 方芳.赵敏.Visual C++ 基础教程.北京:北京理工大学出版社,2015.8
[2] 方芳.数据库原理及应用实验指导书.南昌:南昌航空大学,2016.2
[3] 王燕.面向对象的理论.北京:清华大学出版社,1997
[4] 钱能.C++程序设计教程.北京:清华大学出版社,2005
[5] 邓立国.数据库原理与应用.北京:清华大学出版社,2017
[6] 明日科技.SQL server从入门到精通.北京:清华大学出版社,2017
[7] 萨师煊.王珊.数据库系统概论.北京:高等教育出版社,2000

相关文档
最新文档