银行个人账户信息管理系统.docx
- 文档编号:25294082
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:54
- 大小:542.94KB
银行个人账户信息管理系统.docx
《银行个人账户信息管理系统.docx》由会员分享,可在线阅读,更多相关《银行个人账户信息管理系统.docx(54页珍藏版)》请在冰豆网上搜索。
银行个人账户信息管理系统
题目:
银行个人账户信息管理系统
银行个人账户管理系统
摘 要
账户管理是现在每个银行的业务流程中的最重要的一项,在银行的各项业务流程中起着承上启下的作用,可谓是银行业务的重中之重。
本文针对上述问题,采用软件工程的开发原理,依据软件工程的流程过程规范,按照需求分析、概要设计、详细设计、程序编码、测试、软件应用、软件维护等过程开发了一个银行个人账户信息管理系统。
采用Linux平台作为开发环境,QT、C++作为开发工具,面向对象化设计,主要设计了管理员的登录、新用户的开户、存取款、转账、查询业务,解决了银行目前操作的繁琐流程,方便快捷的实现了银行账户管理的基本任务。
本设计设计的银行个人账户信息管理系统,能使银行工作人员轻松快捷的完成对账户管理的任务,使银行的账目管理工作系统化、快捷化、规范化、自动化、高效化。
关键词:
个人信息管理;QT;C++;面向对象;
Personalbankaccountmanagementsystem
ABSTRACT
Accountmanagementisoneofthemostimportantforeachbank'sbusinessprocesses,whichplaysaconnectingroleinthebank'svariousbusinessprocesses.Itcanbedescribedasthetopmostimportanttransactioninbanking.
Fortheaboveproblems,inthispaper,adoptedthedevelopmentofsoftwareengineeringprinciples,basedonthesoftwareengineeringprocessspecificationprocess,inaccordancewiththeneedsanalysis,outlinedesign,detaileddesign,programcoding,testing,softwareapplications,andsoftwaremaintenanceprocess,wedevelopedapersonalbankaccountinformationmanagementsystems.UsedtheLinuxplatformasadevelopmentenvironment,andusedQT,C++asadevelopmenttool,object-orienteddesign,thispapermajordesignedoftheadministrator'slogin,newuseraccounts,withdrawals,transfers,businessinquiries,itsolvedthecumbersomeoperatingprocessofbanks,andachieveabasicbankaccountmanagementtasksconvenient.
Thisdesigndesignedapersonalbankaccountinformationmanagementsystem,whichenablesthebankstafftocompletetheaccountmanagementtasksquicklyandeasily,sothemanagementofthebankaccountscanbecomesystematic,efficient,standardized,automatedandefficient.
Keywords:
PersonalInformationManagement(PIM);QT;C++;Object-oriented
目 录
1 本课题的研究意义和目的
1.1 开发背景
随着社会经济的发展,信息化程度的不断深入,银行的传统业务己愈来愈不能满足银行客户的需要。
随着我国经济的日益发展,我国的银行业将面临更加激烈的同行业竞争,如何提供更优质的服务,如何吸引更多的客户,如何利用计算机技术加强银行个人帐户信息管理、进行银行业务再造,提高银行的工作效率和业务竟争能力是摆在各家银行面前的迫切需要解决的问题。
随着银行业务不断发展,业务的种类也是日益繁多,而各项业务的处理互有差异,这就对银行进入电子化水平和相应的管理水平提出了要求。
如何利用电子化的手段构建一个高效统一的、通用灵活的系统来管理各种各样的业务,是每个商业银行所要研究的课题。
支持决策的系统,需要在数据库的基础上,进行联机分析处理,每次处理的数据量大,响应时间长。
尤其是银行每天都要处理大量的开户、存取款、转账等业务,而银行人员现行应用的系统填写内容较为复杂、流程过于繁琐,已经是不能满足客户对于办理业务时间上的快捷性的要求,做好存开户、存取款等是银行工作重要的环节,然而要有效处理必须要有良好的程序和数据管理系统来建立一个良好的软件系统来实现快速、有效、准确、安全的处理银行事物。
银行个人账户管理系统主要用于银行的储蓄管理,它可以帮助我们有效、准确、并且高效实现的完成银行柜台业务。
此系统操作方便效率、安全性高,只要拥有管理员的账号和密码(也就是说是银行的工作人员),就可以为用户做开户,开户之后就可以方便的为用户办理各种柜台业务。
1.2 国内外现状
在信息化发展极为迅速的当今社会,金融经济日益趋向全球化,同行业竞争变得更加激烈,国外银行业掀起了一股比上世纪更为声势浩大的信息化革命浪潮。
国外银行业信息化基础设施框架已具备完善、电子银行体系已走进成熟阶段,信息化建设正由业务层向管理决策层推进。
国际银行业普遍存在着管理决策信息化、网点扩张虚拟化、产品服务客户化以及非核心业务外包化等趋势。
在国内,随着金融市场的逐渐开放,银行竞争日趋激烈。
银行领域的竞争将紧紧围绕着客户,尤其是优质客户这一稀缺资源进行。
但是在外资银行涌入中国的进程中,我们很容易地看到这个现象:
外资银行作为中国市场的后来者,国内资源暂时是它们的弱项,恰恰这一方面正是我国银行竞争的优势所在。
然而,客户资源的经营管理确实我国银行的软肋。
国内多数银行的客户关系管理还只是流于形式,这个问题是相当令人深思的。
运用客户个人账户管理体系来进行客户关系管理正是应对未来银行客户资源竞争的利器。
客户个人账户管理正是基于计算机技术和平台,通过对银行业务流程的重组来整合客户信息资源,以更科学有效的方法来管理客户信息,在银行内部实现信息和资源的共享,从而降低银行营运成本,为客户提供更经济、快捷、周到的产品和服务来吸引客户,最终达到银行价值最大化。
1.3 自动化管理银行竞争优势的分析
由于社会信息化的不断深入发展和经济金融体制的不断深入化,在知识经济和银行电子化建设的发展中,我国经济结构也在不断地变化,社会对于金融服务的需求日新月异,金融服务的内涵和外延变得更加丰富。
这就对于银行的管理提出了新的要求。
银行的管理日益趋向信息化、电子化、多元化。
银行的电子化和现代化管理水平已经成为银行竞争力的重要构成要素,成为银行市场运作、金融创新、量化管理的技术基础。
大致上来说,银行账户管理的系统化、自动化和规范化,使银行获得以下几方面的优势:
(1)差别化竞争优势;
(2)低成本竞争优势;
(3)目标集聚性优势;
(4)知识型优势;
(5)产业集聚型优势。
2 系统需求分析
2.1 开发设计思想
本系统的开发设计思想:
系统应当在银行的规定的前提下,满足银行对于个人账户管理的需求适应银行工作人员日常工作的需要,并应达到操作工程简便易行、安全可靠的要求。
根据系统设计的目标和主要功能和对开发工具和环境的选择,通过软件工程的设计方法,对系统的可行性进行分析,确定方案的可行性。
根据系统的需求得到需求分析,在需求分析的基础上进行设计编码,完成后对系统进行功能测试和应用维护。
系统采用模块化程序设计方法,不仅可以在系统设计时方便系统功能的各种组合与修改,又可以方便开发人员日后对程序修改和和维护。
系统要具备数据库维护的功能,即使方便用户对数据的增加修改等操作。
2.2 系统设计目标和主要功能
通过银行个人账户管理系统,可以使银行对于个人账户的管理实现系统化、自动化、简便化,去除繁琐的信息录入,从而方便快捷的使银行达到高效管理个人账户的目的。
开发的主要任务是使工作人员能够轻松方便快捷的完成对个人账户的管理的任务。
设计的银行个人账户管理系统应该具备最基本的账户管理功能,以及对客户信息变化的记录功能,设计的银行个人账户信息管理系统需要完成的主要功能是:
1、银行工作人员即管理员的登录
2、管理员对客户的开户操作(包括用户名、身份证、密码的填写)
3、对已有客户(账号)的查询操作
4、对已有客户(账号)的存款操作
5、对已有客户(账号)的取款操作
6、对已有客户(账号)的修改密码的操作
7、对已有客户(账号)之间的转账的操作
2.2.3 开发工具和环境
开发工具:
QT4.8.1、C++
运行环境:
LINUX或UNIX
2.2 可行性研究
可行性研究能使新系统达到以最小的开发成本取得最佳的经济效益。
可行性研究的目的,是根据开发管理信息系统的请求,通过初步调查和系统目标分析,对要开发的银行个人帐户管理信息系统从技术上、经济上、资源上和管理上进行是否可行的研究。
这是一项保证资源合理使用、避免失误和浪费的重要工作。
由于实现了现代化的信息管理系统功能,这样就减少了人工的消耗,也就是说一台机器代替了多个人的工作,这样就可以减少人员消耗上的开支。
不仅如此,实现银行系统的管理可以快速的应对各种业务,在效率上也提高了速度,为创造更大的价值提供了前提条件。
系统对于计算机的硬件、网络和系统条件的要求并不高,这样就方便了,银行信息管理系统的实施和普及应用。
对于管理和经费问题上,都是非常透明和乐于让人接受的。
系统实施运行后,并不需要特定的工作人员去管理,我们只需要一个管理员来管理一台装备。
所以在管理经费上是不会有多大消耗的。
由于是电脑管理系统,所以对于账户的管理是相当高的。
而银行信息管理系统的运行过程不仅不违反银行的管理规章制度,还会有效地实现信息的快速存取。
由于不仅节约了银行自身的成本而且他的管理效率也会提高了。
2.3 需求分析
结构设计的第一个阶段就是需求分析,这个阶段主要是为了收集系统设计过程中所要用到的基本数据、数据结构和数据处理的流程,从而组织成尽可能详细的数据,方便以后设计的需要。
图2-1数据流图
通过对银行个人账户管理的内容及数据流的分析,我们便可以列出设计的数据项:
1、开户信息表。
包括:
账户名、身份证、密码、重复密码。
2、查询信息表。
包括:
账户名、身份证、密码、余额。
3、存款信息表。
包括:
账户名、身份证、密码、存款额。
4、取款信息表。
包括:
账户名、身份证、密码、取款额。
5、转账信息表。
包括:
转账人、密码、收款人、金额。
6、修改密码信息表。
包括:
账户名、身份证、密码、新密码、重复新密码。
2.4 系统流程图的设计
这一阶段的设计是基于需求分析上的,通过需求分析来设计出能够满足用户需求的各种实体以及它们之间的联系,以方便下一步的逻辑结构设计。
根据系统设计要求系统流程图设计如下:
图2-2系统流程图
2.5 用例描述
2.5.1 管理员登录用例
管理员登录用例表如表2-1
表2-1管理员登录用例表
用例名称
登录
用例描述
描述了管理员如何登录到系统中
参与者
管理员
状态
审查通过
前置条件
无
后置条件
如果用例成功,则管理员登录到系统之。
否则,系统状态不变。
基本操作流程
当管理员想登录到银行信息系统中时,用例启动。
(1)系统提示管理员输入用户名和密码。
(2)管理员输入自己的用户名和密码,提交。
(3)系统验证输入的名字和密码,管理员登录系统成功。
可选操作流程
如果输入用户名和(或)密码无效,系统提示错误信息,用户可以重新输入或中止该用例。
2.5.2 开户用例
开户用例表如表2-2
表2-2开户用例表
用例名称
开户
用例描述
本用例允许管理员通过客户提供的信息给客户开户
参与者
管理员
状态
审查通过
前置条件
在本用例开始前,管理员必须登陆到系统中
后置条件
如果用例成功,则系统中会增加新建的账户。
否则,系统状态不变。
基本操作流程
当用户想在银行开户时,要向管理员提供账户名、身份证、密码,用例启动。
(1)系统提示管理员输入需要要开户的客户的账户名、身份证、密码。
(2)管理员输入新客户的账户名、身份证、密码,提交。
(3)系统保存新账户信息。
2.5.3 存款用例
存款用例表如表2-3
表2-3存款用例表
用例名称
存款
用例描述
本用例允许管理员借助客户提供的账户信息存款到帐户中
参与者
管理员
状态
审查通过
前置条件
在本用例开始前,管理员必须登陆到系统中
后置条件
如果用例成功,则客户账户中存款的金额发生变化。
否则,系统状态不变。
基本操作流程
当客户想让管理员存款到自己的账户时,要向管理员提供账户名、身份证、密码和存款金额,用例启动。
(1)系统提示管理员输入账户名、身份证、密码和存款额。
(2)管理员输入相关信息后提交。
(3)系统更新账户的相关信息。
可选操作流程
账户不存在或者无效,显示提示信息,用户可以重新输入或终止该用例。
2.5.4 取款用例
取款用例表如表2-4
表2-4取款用例表
用例名称
取款
用例描述
本用例允许管理员按照客户的要求从客户的帐户中取款
参与者
管理员
前置条件
本用例开始前,管理员必须登录到系统中
后置条件
如果用例成功,则客户账户中存款的金额发生变化。
否则,系统状态不变。
基本操作流程
当客户想存钱到自己的账户时,要向管理员提供账户名、身份证、密码、取款额,用例启动。
(1)系统提示管理员输入账户名、身份证、密码和取款额。
(2)管理员输入相关信息后提交,账户中的存款金额是否足够支付所取款项。
(3)更新账户的相关信息。
可选操作流程
账户中的存款金额不足,显示提示信息,用户可以重新输入金额或终止该用例。
2.5.5 查询用例
查询用例表如表2-5
表2-5查询用例表
用例名称
查询
用例描述
本用例允许管理员按照客户的要求从客户的帐户中查询余额
参与者
管理员
前置条件
本用例开始前,管理员必须登录到系统中
后置条件
系统状态不变。
基本操作流程
当客户想查询到自己的账户余额时,要向管理员提供账户名、身份证、密码,用例启动。
(1)系统提示管理员输入账户名、身份证、密码。
(2)管理员输入相关信息后提交。
(3)显示账户余额信息。
2.5.6转账用例
转账用例表如表2-6
表2-6转账用例表
用例名称
转账
用例描述
本用例允许管理员按照用户的要求将资金从一个账户转到另一个账户。
参与者
管理员
状态
审查通过
前置条件
本用例开始前,管理员必须登陆到系统中。
后置条件
如果用例成功,则客户账户中存款的金额发生变化。
否则,系统状态不变。
基本操作流程
当客户要求转帐时,用例启动
(1)系统提示管理员输入转账人、密码、收款人和所转款项的金额。
(2)管理员输入相关信息后提交.
(3)系统确认账户中的存款金额是否足够支付所取款项。
(4)系统更新账户的相关信息。
可选操作流程
账户中的存款金额不足,显示提示信息,用户可以重新输入金额或终止该用例。
2.5.7 修改密码用例
修改密码用例表如表2-7
表2-7修改密码用例表
用例名称
修改密码
用例描述
本用例允许管理员按照用户的要求将原来密码修改
参与者
管理员
状态
审查通过
前置条件
本用例开始前,管理员必须登陆到系统中。
后置条件
如果用例成功,则客户账户密码发生变化。
基本操作流程
当客户要求修改密码时,用例启动
(1)系统提示管理员输入账户名、身份证、密码、新密码、重复新密码。
(2)管理员输入相关信息后提交.
(3)系统更新账户的相关信息。
3 设计过程及编码
主要开发设计思想:
首先建立工程,利用QT将界面和类的头文件、实现文件以及界面文件完成,并编写代码通过ui界面得到输入信息,将界面信息存入数据库(或与数据库数据匹配)之后,再适当的添加代码把不同的界面文件通过按钮事件链接,从而可以在不同界面之间跳转[10]。
3.1数据库的创建与使用
数据库的创建[8]:
终端状态下,进入mysql数据库,在mysql中创建数据库表格。
终端下输入命令:
Mysql–uroot–p123456回车
回车后便进入Mysql
建表语句如下:
mysql>createdatabasetestdb;//建立数据库
mysql>usetestdb;//设定当前数据库
mysql>createtableadmin(adminidvarchar(30),admpasswdvarchar(30));
//建立管理员信息数据库表格
mysql>insertintoadminvalues('abc','123');//添加数据
mysql>createtableaccount(accountnamevarchar(30),
accountNovarchar(30),accountpaswdvarchar(30),
accountMoneydouble);//建立账户信息数据库表格
数据库的使用[9]:
QSql 模块提供了访问 SQL 数据库的接口,这些接口独立于操作系统,独立于数据库系统。
Qt 中有很多支持这个接口的类,这些类型通过 Qt 的 model/view 架构将数据库与用户界面结合起来。
数据库连接由 QSqlDatabase 类对象表示,Qt 通过 driver 与不同的数据库通讯。
在进行 SQL 查询之前,需要与数据库建立连接。
通常,在程序执行前用户需要调用创建连接的函数以建立与数据库的连接
数据库设计思路:
数据库的使用分为四步:
(1)获得界面信息
(2)QsqlDatabase建立数据库的链接(3)QsqlQuery用于执行SQL语句(4)更新数据库的数据。
本设计主要应用到数据库的链接、查询、插入和更新操作。
数据库的设计如下:
1. 建立数据库连接
在进行SQL查询之前,需要与数据库建立连接。
通常,在程序执行前用户需要调用创建连接的函数以建立与数据库的连接。
例如:
首先要从界面得到输入的数据
voidAdminLogin:
:
adminLogin(){
QStringadminid=ui->adminid->text();
QStringadminpasswd=ui->adminpasswd->text();
/*连接数据库得到管理员的相关信息*/
AdminDaoadao;
boolcflag=adao.connectDb("QMYSQL","testdb","127.0.0.1",
3306,"root","123456");//它的第一个参数指明了访问数据库的driver;接下来,分别设置数据库的数据库名,本地访问,端口设置,用户名,密码;最后,打开数据库连接[3]。
if(cflag){
Admina=adao.getAdminByIdAndPasswd(adminid,adminpasswd);
qDebug(a.adminId.toLatin1());
qDebug(a.adminPasswd.toLatin1());
//判断管理员ID和密码是否与数据库中定义的管理员ID密码相符
if(a.adminId==adminId
&&a.adminPasswd==adminpasswd
&&a.adminId!
=""&&a.adminPasswd!
=""){
AdminAllaa;
this->close();
aa.exec();
}else{
qDebug("selectdbfailed");
QMessageBoxmsg(this);
msg.setText("selectdbfailed!
!
");
msg.exec();
}
}else{
qDebug("connectdbfailed");
QMessageBoxmsg(this);
msg.setText("connectdbfailed!
!
");
msg.exec();
}
2. 执行select命令查询
一旦建立连接,用户就可以使用QSqlQuery类型执行SQL命令。
本设计中执行SELECT命令如下[1]:
AccountAccountDao:
:
getAccountByNameAndIdAndPasswd(Accountaccount){
QSqlQueryqu(myconn);
qu.prepare("select*fromaccountwhereaccountname=?
andaccountNo=?
andaccountpaswd=?
");
qu.bindValue(0,account.getAccountName());
qu.bindValue(1,account.getAccountNo());
qu.bindValue(2,account.getAccountPasswd());
Accounta;
qu.exec();
然后可以处理查询结果:
if(qu.next()){
a.setAccountName(qu.value(0).toString());
a.setAccountNo(qu.value
(1).toString());
a.setAccountPasswd(qu.value
(2).toString());
a.setAccountMoney(qu.value(3).toDouble());
}
returna;
}
第一次调用query.next()时,查询记录指针指向第一条记录;接下来每调用一次next(),指针向后移一条记录,直到指针指向记录的尾端(尾端是最后一条记录的下一个位置),这时next()返回false。
3. 执行insert命令
先从界面得到需要插入的数据,连接好数据库后,执行INSERT命令,向数据库插入新的数据。
voidAddAccount:
:
createAccount(){
/*从界面得到数据*/
QStringaname=ui->accountName->text();
QS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 银行 个人账户 信息管理 系统