目录
前言
第一章 本课题的研究意义和目的
1.1开发背景
1.2研究银行账户管理系统的意义
1.3本论文的目的
1.4 本论文涉及到的内容
1.5 作者的主要贡献
1.6本人所完成的主要工作
第二章可行性研究
2.1现行系统的调查
2.2本系统要达到的设计目标
2.3可行性研究
第三章 系统需求分析
3.1 数据流程图
3.2系统概要分析
第四章 系统设计
4.1系统结构设计
4.2 数据库设计
4.3 E-R图设计
第五章 系统实施
5.1主要界面及代码
致谢
参考文献
通过该银行账户管理系统,使银行的账户管理工作系统化、规范化、自动化,从而达到提高账户管理效率的目的。系统开发的任务是使办公人员可以轻松快捷的完成对账户管理的任务。
2.3可行性研究
可行性研究是系统分析阶段的第二项活动。可行性研究能使新系统达到以最小的开发成本取得最佳的经济效益。可行性研究的目的,是根据开发管理信息系统的请求,通过初步调查和系统目标分析,对要开发的银行账户管理信息系统从技术上、经济上、资源上和管理上进行是否可行的研究。这是一项保证资源合理使用、避免失误和浪费的重要工作。
⊙经济上的可行性:主要分析成本与收益、投资效果等。
⊙技术上的可行性:要分析技术力量、计算机性能、通讯网络和系统条件等。
⊙资源上的可行性:主要指管理、经费能否得到保证。
⊙管理上的可行性:如账户管理水平、数据收集可能性、规章制度健全程度和领导对发展系统的态度。
可行性分析已经写成可行性研究报告,并报请领导及有关专家审议,通过后进入了以下需求分析阶段。
系统的概要设计中最重要的就是系统的模块化。模块化是指解决一个复杂问题时自项向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。
将系统划分为多个模块是为了降低软件系统的复杂性,提高可读性、可维护性,但模块的划分不能是任意的,应尽量保持其独立性。也就是说,每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。
在系统的概要设计中我采用结构化设计(Structure Design,简称SD),SD以需求分析阶段产生的数据流图DFD为基础,按一定的步骤映射成软件结构。我首先将整个系统化分为几个小问题,小模块,在系统中,我设计了账户管理、用户查询、取款机、退出4个小模块。
4.2数据库设计
在信息世界中,信息从客观事物出发流经数据库,通过决策机构最后又回到客观世界,信息的这一循环经历了三个领域:信息世界,数据世界,现实世界。现实世界的事物反映到人的头脑中,人的大脑对它有个认识过程,经过分析(选择、命名、分类等)进入信息世界。这些信息再进一步加工、编码,然后进数据世界,而软件系统的开发工作需要考虑这两个方面的问题,也就是要考虑系统开发所需要的数据,以及如何对这些数据进行操作。这两个问题贯穿了整个软件系统的开发过程,这也就是数据库的设计问题,软件设计的一个核心。
4.3 E-R图设计
在系统设计的开始,我首先考虑的是如何用数据模型来数据库的结构与语义,以对现实世界进行抽象。目前广泛使用的数据模型可分为两种类型,一种是独立于计算机系统的“概念数据模型”,如“实体联系模型”;另一种是直接面向数据库逻辑结构的“结构数据模型”。在本系统中我采用“实体联系模型”(ER模型)来描述数据库的结构与语义,以对现实世界进行第一次抽象。ER模型直接从现实世界抽象出实体类型及实体间联系,然后用ER图来表示数据模型。它有两个明显的优点:接近于人的思维,容易理解;与计算机无关,用户容易接受。但ER模型此界面主要是为了增强银行管理的安全性,不让非法用户进入。保证了银行账户的安全。
其密码验证的主要代码为:
if empty(thisform.text1.value) or empty(thisform.text2.value)
messagebox("对不起!你输入的信息不完整",48,"信息不全")
thisform.text1.value=''
thisform.text2.value=''
else
sele tms
locate for tms_user=alltrim(thisform.text1.value)
if tms_pswd=alltrim(thisform.text2.value)
messagebox("密码正确",64,"通过")
cMessageTitle='进入系统'
cMessageText='选择“是”进入帐户管理,选择“否”进入ATM机管理'
nDialogType=4+32
nAnswer=messagebox(cMessageText,nDialogType,cMessageTitle)
do case
case nAnswer=6
do form account\form\supervise1
case nAnswer=7
do form account\form\supervise2
endcase
thisform.release
else
messagebox("对不起!你输入的信息有误,请重试",64,"错误")
inpswd1=inpswd1+1
if inpswd1>=3
thisform.release
else
thisform.text1.value=''
thisform.text2.value=''
thisform.text1.setfocus
endif
endif
endif
5.1.2账户管理界面
此界面为银行的账户管理界面,此界面实现了银行的办公自动化处理,从而减轻了工作人员的工作量。
主要代码为:----存款
local countid,cardid,moneyin,allhere
countid=alltrim(this.parent.text1.value)
cardid=alltrim(this.parent.text2.value)
moneyin=val(this.parent.text3.value)
if empty(cardid) and empty(countid)
messagebox("您输入的信息不完整,请重输!",48)
else
if empty(cardid)
sele user
locate for alltrim(user.user_id)=countid
if eof()
messagebox("对不起,没有这个帐号!")
else
if moneyin<=0
messagebox("您输入的存款金额有误,请重输!",48)
else
allhere=user.user_all
allhere=allhere+moneyin
replace user.user_all with allhere
if allhere>=0
replace user.user_status with "正常"
sele card
locate for alltrim(card.user_id)=alltrim(countid)
replace card.user_all with allhere card.card_status with "正常"
sele userall
go bottom
append blank
replace user_id with countid;
user_in with moneyin;
outin_time with date();
outin with "存入";
user_all with allhere
messagebox("操作成功",48)
endif
endif
this.parent.text4.value=allhere
endif
else
sele card
locate for alltrim(card.card_id)=cardid
if eof()
messagebox("对不起,没有这个卡号!")