银行账户管理系统实验报告.docx
- 文档编号:11546104
- 上传时间:2023-03-19
- 格式:DOCX
- 页数:41
- 大小:1.44MB
银行账户管理系统实验报告.docx
《银行账户管理系统实验报告.docx》由会员分享,可在线阅读,更多相关《银行账户管理系统实验报告.docx(41页珍藏版)》请在冰豆网上搜索。
银行账户管理系统实验报告
本例是模拟银行账户的管理,开发一个银行账户管理系统。
设计的指导思想是一切为使用者着想,界面要美观大方,操作尽量简单明了,而且作为一个实用的管理系统要有良好的容错性,在出现误操作时能尽量及时地给出警告,以便用户及时地改正。
计算机的资源是受到限制的,因此要充分利用VisualFoxPro的功能,设计出功能强大的软件,同时要尽可能地减少对系统资源的占用。
鉴于本系统的特殊性,还需要本程序有良好的保密性。
1.系统分析
1.1可行性分析
(1)管理上的可行性
使用管理方面的可行性,在没有使用银行管理系统前,采取的是人工方式,相对而言耗时大,效率低且造成一定的资源浪费。
我们通过设计银行管理系统,可以对银行的一般业务进行有序管理,对于客户的个人资料也不需要做大量烦琐的登记工作,变的相对简单容易操作且不用耗费大量人力财力。
(2)技术上的可行性
技术方面,我们选择的是VF操作系统,是我们相对比较熟悉的语言,且应用简便好掌握。
这是本小组初次设计银行管理系统,由于技术和知识层面的欠缺,在制作过程中会遇到许多的困难,在编程和设计过程中,感觉到知识积累的不够并且很多知识点已经淡忘。
通过老师的指导以及小组成员的一起努力,我们翻越大量资料和操作,我们的系统得以比较顺利的开发出来。
但始终因为时间和技术方面的不足,是我们设计的程序依然有很多不完善的地方,我们会在以后的开发中努力学习,使这个系统更完善更适合使用。
(3)经济上的可行性
经济上,由于我们开发的这个系统相对较小也较简单,不需要投入大笔资金,同时又存在着实用性,能改善原使用方法在财力和人力上的过度消耗。
因此这个新系统一经使用便可收到很好的成效,做到合理节约和利用资源。
银行方面在使用新系统时只需要花一定资金购买一部分计算机与软件就能实现自动化,既提高了工作效率并且也减少了工作人员的工作量,这使银行在处理业务方面得到很大的提升空间。
(4)进度安排
课程设计时间为两周:
1、课程研究2至3天
2、系统分析2至3天
3、系统设计2至3天
4、系统实施3至4天
5、撰写报告1至2天
6、发布报告1天
1.2业务流程与数据流程分析
(1)业务流程分析
银行账户管理系统的业务流程如下图所示:
(2)数据流程分析
①系统关联图
②顶层图
③银行账户管理系统的详细数据流程图如下图所示
1.3数据字典
数据项定义:
1.(表1-1)
数据项编号:
D1-01
数据项名称:
用户姓名
数据项别名:
用户姓名
简述:
进入银行系统的姓名
数据长度:
8位
数据类型:
字符型
取值范围:
无
2.(表1-2)
数据项编号:
D1-02
数据项名称:
账号
数据项别名:
账号
简述:
存取款时所要输入的号码
数据长度:
13位
数据类型:
字符型
取值范围:
“0000000000000”——“9999999999999”
3.(表1-3)
数据项编号:
D1-03
数据项名称:
用户密码
数据项别名:
用户密码
简述:
存取款时所要输入的号码
数据长度:
6位
数据类型:
字符型
取值范围:
“000000”——“999999”
4.(表1-4)
数据项编号:
D1-04
数据项名称:
开户时间
数据项别名:
开户时间
简述:
用户开户的世界
数据长度:
8位
数据类型:
日期型
取值范围:
“1900-01-01”——“2000-12-31”
5.(表1-5)
数据项编号:
D1-05
数据项名称:
用户住址
数据项别名:
用户住址
简述:
用户的现居住地址
数据长度:
20位
数据类型:
字符型
取值范围:
无
6.(表1-6)
数据项编号:
D1-06
数据项名称:
总金额
数据项别名:
总金额
简述:
用户账号的所有金额
数据长度:
10位
数据类型:
数值型
取值范围:
0000000000-9999999999
7.(表1-7)
数据项编号:
D1-07
数据项名称:
取款机ID号
数据项别名:
取款机ID号
简述:
各个取款机的所在位置
数据长度:
3位
数据类型:
字符型
取值范围:
“101”——“999”
8.(表1-8)
数据项编号:
D2-01
数据项名称:
安装时间
数据项别名:
安装时间
简述:
取款机的安装时间
数据长度:
8位
数据类型:
日期型
取值范围:
“2000-01-01”——“2010-12-12”
9(表1-9)
数据项编号:
D2-02
数据项名称:
拆除时间
数据项别名:
拆除时间
简述:
取款机的拆除时间
数据长度:
8位
数据类型:
日期型
取值范围:
“2000-01-01”——“2010-12-12”
2.系统设计
2.1系统目标设计
通过该银行账户管理系统,使银行的账户管理工作系统化、规范化、自动化,从而达到提高账户管理效率的目的。
系统开发的总体任务是使办公人员可以轻松快捷地完成对账户管理的任务。
2.2开发设计思想
本系统开发设计思想:
●系统应符合银行账户管理的规定,满足银行相关人员日常使用的需要,并达到操作过程中的直观、方便、实用、安全等要求。
●系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。
●系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。
●尽量采用现有软硬件环境及先进的管理系统开发方案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的。
2.3开发和运行环境选择
开发工具:
VisualFoxPro6.0中文版;
运行环境:
Windows9x或Windows2000。
2.4系统功能分析
系统功能分析是在系统开发的总体任务的基础上完成的。
本例中的银行账户管理系统需要完成的功能主要有:
●管理员信息管理。
●用户信息修改、开户、销户。
●办卡、挂失卡、换卡。
●存款、取款。
●取款机信息管理。
●报表输出、报表打印。
2.5系统功能模块设计
在系统功能分析的基础上,根据VisualFoxPro程序编制的特点,得到如下图所示的系统功能模块图。
3.数据库设计
在VisualFoxPro6.0中,数据库指的是可以存储一个或多个表(.DBF文件)及视图的关系数据库,所谓的关系数据库就是多个表的集合,每个表通过形成一定关系的公共字段与另外的表相联系。
一般来说数据库可按下列步骤进行设计:
(1)确定需要的表。
着手把信息分成各个独立的主题,每个主题对应一个表。
(2)确定所需字段。
确定每个表中要保存哪些信息,一个信息为一个字段。
(3)确定表之间的联系。
值得注意的是在创建表时,必须确保一个表中的每个字段都要直接描述该表的主题,每张表应尽可能收集所需的全部信息,如果存在多张表保存同类信息的情况,应该将所有和同一主题相关的信息合并到一个表中。
数据库系统设计时应在全面考虑的前提下,尤其应该仔细考虑用户的各种需求,避免浪费人力和物力。
3.1数据库需求分析
数据库需求分析是数据库结构设计的第一个阶段。
这个阶段主要是收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为以后进一步设计打下基础。
在仔细调查银行账户管理过程的基础上,我们得到本系统所处理的数据流程如下图所示。
针对本实例,通过对银行账户管理的内容和数据流程分析,我们设计的数据项和数据结构如下:
●用户普通信息表。
包含所有用户的信息,数据项有:
账号、用户姓名、密码、身份证、总金额、状态、住址、开户时间。
●用户卡信息表。
包含的数据项有:
用户账号、卡号、卡密码、金额、状态。
●取款机信息表。
包含的数据项有:
取款机ID号、安装地点、安装时间以及拆除时间。
●取款机存取款信息表。
包含的数据项有:
取款机ID号、用户账号、用户卡号、存取款时间、存取款金额、存取款摘要、总金额。
●用户银行存取款信息表。
包含的数据项有:
操作员(管理员)号码、用户账号、用户卡号、存取款时间、存取款金额、存取款摘要、总金额。
●用户存取款信息总表。
包含的数据项有:
用户账号、存取款时间、存取款地点、存取款金额、存取款摘要、总金额。
●管理员信息表。
包含的数据项有:
用户、口令。
有了上面的数据结构、数据项和数据流程,我们就能进行下面的数据库设计。
3.2数据库概念结构设计
这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
根据上面的设计规划本实例中的实体有:
管理员实体、账户实体、账户普通信息实体、账户卡信息实体、取款机实体。
实体和实体之间的关系E-R图如下图所示
3.3数据库逻辑结构设计
我们需要将上面的数据库概念结构转化为VisualFoxPro数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。
注意,本例中的账户相关信息以“某某银行”为例。
如银行账号使用13位数字,卡号使用16位数字。
银行账户管理系统数据库中各个表格的设计结果如下面的几个表格所示。
每个表格表示在数据库中的一个表。
下面各个表为用户基本信息表。
表3-1USER用户基本信息表
列名
数据类型
可否为空
说明
USER_ID
CHARACTER(13)
NOTNULL
账号(索引)
USER_NAME
CHARACTER(8)
NULL
用户姓名
USER_PSWD
CHARACTER(6)
NULL
用户密码
USER_IDENTITY
CHARACTER(18)
NULL
用户身份证
USER_ALL
NUMERIC(10,2)
NULL
总金额
USER_STATUS
CHARACTER(4)
NULL
现在状态
USER_ADDRESS
CHARACTER(20)
NULL
用户住址
USER_NEW
DATE
NULL
开户时间
表3-2CARD用户卡信息表
列名
数据类型
可否为空
说明
USER_ID
CHARACTER(13)
NOTNULL
用户账号(索引)
CARD_ID
CHARACTER(16)
NULL
卡号(索引)
CARD_PSWD
CHARACTER(6)
NULL
卡密码
CARD_ALL
NUMERIC(10,2)
NULL
总金额
CARD_STATUS
CHARACTER(4)
NULL
现在状态
列名
数据类型
可否为空
说明
ATM_ID
CHARACTER(3)
NOTNULL
取款机ID号(索引)
USER_ID
CHARACTER(13)
NULL
用户账号(索引)
CARD_ID
CHARACTER(16)
NULL
用户卡号(索引)
ATM_TIME
DATE
NULL
存取款时间
ATM_OUTIN
CHARACTER(4)
NULL
存取款摘要
ATM_OUT
NUMERIC(4)
NULL
取款金额
ATM_IN
NUMERIC(4)
NULL
存款金额
USER_ALL
NUMERIC(10,2)
NULL
总金额
表3-3ATM取款机基本信息表
列名
数据类型
可否为空
说明
ATM_ID
CHARACTER(3)
NOTNULL
取款机ID号(索引)
ATM_ADDRESS
CHARACTER(20)
NULL
安装地点
ATM_INSTALL
DATE
NULL
安装时间
ATM_DELETE
DATE
NULL
拆除时间
表3-4ATMOUTIN取款机存取款信息表
表3-5BANKOUTIN用户银行存取款信息表
列名
数据类型
可否为空
说明
TMS_ID
CHARACTER(6)
NOTNULL
操作员ID号(索引)
USER_ID
CHARACTER(13)
NULL
用户账号(索引)
CARD_ID
CHARACTER(16)
NULL
用户卡号(索引)
BANK_TIME
DATE
NULL
存取款时间
BANK_OUTIN
CHARACTER(4)
NULL
存取款摘要
BANK_OUT
NUMERIC(10,2)
NULL
取款金额
BANK_IN
NUMERIC(10,2)
NULL
存款金额
USER_ALL
NUMERIC(10,2)
NULL
总金额
表3-6USERALL用户存取款信息总表
列名
数据类型
可否为空
说明
USER_ID
CHARACTER(13)
NOTNULL
用户账号(索引)
CARD_ID
CHARACTER(16)
NULL
用户卡号(索引)
OUTIN_TIME
DATE
NULL
存取款时间
OUTIN
CHARACTER(4)
NULL
存取款摘要
USER_OUT
NUMERIC(10,2)
NULL
取款金额
USER_IN
NUMERIC(10,2)
NULL
存款金额
UER_ALL
NUMERIC(10,2)
NULL
总金额
表3-7TMS管理系统的用户口令表
列名
数据类型
可否为空
说明
TMS_USER
CHARACTER(6)
NOTNULL
用户名(主键)
TMS_PSWD
CHARACTER(6)
NOTNULL
口令
表3-8BANK银行系统的用户信息
列名
数据类型
可否为空
说明
LAST_USER
CHARACTER(13)
NOTNULL
最后一个账号
LAST_CARD
CHARACTER(16)
NOTNULL
最后一个卡号
4.数据库结构的实现
在需求分析、概念结构设计的继承上得到数据库的逻辑结构之后,我们就可以在VisualFoxPro数据库系统中实现该逻辑结构。
实现数据库的逻辑结构的方式是直接使用VisualFoxPro的项目管理器来实现。
下面将以本例中的数据表为实例,向读者说明创建这些表格的过程。
在这之前,首先简单介绍一下项目的创建。
在VisualFoxPro的主菜单中单击,在弹出的“新建”对话框中选中“项目”,单击“新建文件”按钮。
此时弹出存储目录,请将项目名设为“Account”,保存在磁盘中。
例如“D:
\Account”文件夹。
项目建立好后,就可以实现数据库结构了。
注意,VisualFoxPro的数据库结构是依靠项目存在的。
打开account项目后,在“项目管理器”中展开“数据”文件夹,鼠标选中“数据库”,单击右侧的“新建”按钮,如下图所示,存储路径为D:
\account\database\account.dbc。
新建数据库
在弹出的“数据库设计器”中单击鼠标右键,选择“新建表”命令,如下图所示。
新建数据表
在选择“新建表”后,存储为“D:
\account\database\user.dbf”。
这就是为数据库添加的数据表“user”,表的内容见前面的分析:
表3-1至表3-7。
下面以表3-1为例。
注意,以后新建的表请全部存储在“D:
\account\database\”目录中,以便管理和引用。
在弹出的“表设计器”中填写表的内容,如下图所示
设计表的内容
将其与表3-1比较,可以发现表的字段名就是列名。
读者要注意的是在以后编写程序的过程中对数据库的数据的操作通常是引用表的字段,因此读者在设计字段名时要挑选容易理解的名称。
字段设置完成后,单击“确定”后为表输入数据。
展开“数据库”→“accout”→“表”→“user”,可以看到表user的整个结构,如下图所示。
查看数据表结构
其他数据表的建立为类似操作,大家自行完成。
5.各个功能模块的创建
建立功能模块的目的在于:
一个是使用者能简单明了地掌握软件功能,另一个是未参加开发的人员也能轻松地进行维护。
因此,为您开发的软件创建合理的功能模块是必要的。
根据本软件的特点,本系统将分为3个功能模块,它们是:
管理员账户管理、用户存取款查询、ATM取款机模拟。
在进入各个功能模块前,应该给用户提供一个选择的界面,即系统的主界面。
下面,我们按系统开发顺序逐一讲解。
5.1系统主界面的设计
系统主界面的功能在于引导用户进入不同的功能模块。
本系统的界面为简单起见,设计界面如下图所示。
界面中包含3个按钮,分别为“账户管理”、“用户查询”、“取款机”,引导进入不同的功能模块。
为避免单调,加入一幅插图。
实现步骤如下:
展开项目管理器中的文档,选中表单,单击右侧“新建”按钮。
如下图所示。
在弹出的对话框中选择“新建表单”命令后,弹出“FormDesigner(表单设计器)”的界面。
按需要向表单中添加控件,本表单为3个CommandButton(按钮)和1个Image(图像)如下图所示。
设置其属性,如下表所示。
向表单中添加控件
控件属性更改值表
控件
Caption
Picture
Stretch
Form1
银行账户管理系统
Command1
账户管理
Command2
用户查询
Command3
取款机
Command4
退出
Image1
D:
\account\main.jpg
2-变比填充
其中,Caption属性表示控件的显示名。
有些人以为只有Image(图像)才能设置Picture属性,实际上,按钮也是可以设置Picture属性的,它可以让使用者能更形象地使用你所开发的软件。
对于Image(图像)控件,则表示显示在其中的图像。
其属性值为要显示的图像的路径和文件名。
并应设置其Streth属性为“2-变比填充”以使图像能正确显示。
更改之后的表单如下图所示。
表单外观设计好之后,就应该为表单各控件设计事件响应了。
双击“账户管理”按钮,此时弹出按钮的“方法与程序”设计栏,选择好要更改的“Procedure(方法与程序)”后,直接在下面的空白出填写代码,如下图所示。
为控件设计事件响应
为各控件添加代码如下:
Command1(账户管理)的Click代码:
doformaccount\form\checker1
*打开下级表单checker1
Command2(用户查询)的Click代码:
doformaccount\form\checker2
*打开下级表单checker2
Command3(取款机)的Click代码:
doformaccount\form\atm
*打开下级表单atm
Command4(退出)的Click代码:
thisform.release
doaccount\form\end
*执行结束表单
主界面的设计到此就完成了,注意结束是将其存为“D:
\account\form\main.scx”。
5.2身份验证界面的设计
因为本系统的特殊性,本系统各处会涉及到密码即身份验证。
如管理员身份验证,用户身份验证等。
管理员身份验证界面
下面设计进入“管理员管理账户的界面”的身份验证。
界面如下图所示。
添加各控件,存储为“D:
\account\form\checker1.scx”。
因为本表单设计到数据表tms,因此应将其添加到表单的数据环境中。
添加方法如下。
管理员身份验证
在表单中单击鼠标右键,选择“数据环境…”,如下图所示。
在弹出的“数据环境设计器”中单击鼠标右键,选择“添加”,选择“表”中要添加的表名“tms”。
添加完毕后,关闭添加对话框,结果如下图所示。
设置表单数据环境
添加表后的数据环境
接下来,我们为各控件填写事件响应。
表单的Init事件代码:
publicinpswd1
inpswd1=0
*声明全局变量作为计数器
“确定”按钮的Click事件代码:
ifempty(thisform.text1.value)orempty(thisform.text2.value)
*检查输入的信息是否完整
messagebox("对不起!
你输入的信息不完整",48,"信息不全")
thisform.text1.value=''
thisform.text2.value=''
else
5.3账户管理模块设计
本模块的功能在于管理员通过简单的操作,可以实现银行对账户管理的一般功能。
如存款、取款、开户、销户、修改信息、办卡和挂失卡等等,内容丰富,较繁琐。
因此,本表单的设计是本系统的重点。
1.表单
请用户首先创建新的表单“supervise1.scx”。
鉴于本表单内容多,这里用页框来实现一个表单多页面的显示。
首先向表单中添加控件PageFrame(页框),设置页框的PageCount属性为7,即页框中包含7个子页面。
在页框上单击鼠标右键,选择“编辑”进入页框的编辑。
设置各子页面的Caption(标题)属性,如下表所示。
控件属性更改值表
控件
Caption属性
Page1
存款
Page2
取款
Page3
开户
Page4
销户
Page5
修改信息
Page6
办卡
Page7
挂失卡
设置表单的数据环境,添加表Bank、User、Card和Userall,设置各表之间的联系,如下图所示。
表单的数据环境
为表单设置Init事件代码:
publiclastuser,lastcard
*声明全局变量lastuser,lastcard
selebank
lastuser=alltrim(bank.last_user)
lastcard=alltrim(bank.last_card)
●将表bank中的值赋给相应变量
2.存款
存款功能是账户管理中必不可少的一项功能,其模拟过程与现实生活一样,由管理员输入账户的账号或卡号、存款金额。
此子页面的界面如图7-17所示。
向页面中添加控件,如下图所示。
设置其属性,如表7-9所示。
存款子页面
为OptionGroup(组合框)控件设置外观,如下表所示:
控件属性更改值表
控件
Caption
Option1
账号
Option2
卡号
为OptionGroup(选项按钮组)设置InteractiveChange事件代码:
ifth
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 银行 账户 管理 系统 实验 报告