银行个人账户信息管理系统范本_第1页
银行个人账户信息管理系统范本_第2页
银行个人账户信息管理系统范本_第3页
银行个人账户信息管理系统范本_第4页
银行个人账户信息管理系统范本_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 题目: 银行个人账户信息管理系统 银行个人账户管理系统摘要账户管理是现在每个银行的业务流程中的最重要的一项,在银行的各项业务流程中起着承上启下的作用,可谓是银行业务的重中之重。本文针对上述问题,采用软件工程的开发原理,依据软件工程的流程过程规范,按照需求分析、概要设计、详细设计、程序编码、测试、软件应用、软件维护等过程开发了一个银行个人账户信息管理系统。采用Linux平台作为开发环境,QT、C+作为开发工具,面向对象化设计,主要设计了管理员的登录、新用户的开户、存取款、转账、查询业务,解决了银行目前操作的繁琐流程,方便快捷的实现了银行账户管理的基本任务。本设计设计的银行个人账户信息管理系统,

2、能使银行工作人员轻松快捷的完成对账户管理的任务,使银行的账目管理工作系统化、快捷化、规范化、自动化、高效化。关键词:个人信息管理;QT;C+;面向对象; Personal bank account management systemABSTRACTAccount management is one of the most important for each bank's business processes, which plays a connecting role in the bank's various business processes. It can be de

3、scribed as the top most important transaction in banking. For the above problems, in this paper, adopted the development of software engineering principles, based on the software engineering process specification process, in accordance with the needs analysis, outline design, detailed design, progra

4、m coding, testing, software applications, and software maintenance process, we developed a personal bank account information management systems. Used the Linux platform as a development environment, and used QT, C + + as a development tool, object-oriented design, this paper major designed of the ad

5、ministrator's login, new user accounts, withdrawals, transfers, business inquiries, it solved the cumbersome operating process of banks , and achieve a basic bank account management tasks convenient.This design designed a personal bank account information management system, which enables the ban

6、k staff to complete the account management tasks quickly and easily, so the management of the bank accounts can become systematic, efficient, standardized, automated and efficient.Key words:Personal Information Management (PIM); QT; C+;Object-oriented目录1本课题的研究意义和目的11.1开发背景11.2国内外现状11.3自动化管理银行竞争优势的分析

7、22系统需求分析32.1开发设计思想32.2可行性研究32.3 需求分析42.4系统流程图的设计52.5用例描述63设计过程及编码103.1数据库的创建与使用103.2建立Bank工程方法步骤143.3添加QT设计界面类的设计153.4管理员登陆的设计153.5主操控界面设计173.6开户的设计183.7查询的设计203.8存款的设计213.9取款的设计233.10转账的设计263.11修改密码的设计284功能测试304.1管理员登陆界面304.2主操控界面304.3开户界面304.4查询界面314.5存款界面324.6取款界面334.7转账界面344.8修改密码界面354.9判断与评估365

8、应用与维护376总结38参考文献39致谢40附录411本课题的研究意义和目的1.1开发背景随着社会经济的发展,信息化程度的不断深入,银行的传统业务己愈来愈不能满足银行客户的需要。随着我国经济的日益发展,我国的银行业将面临更加激烈的同行业竞争,如何提供更优质的服务,如何吸引更多的客户,如何利用计算机技术加强银行个人帐户信息管理、进行银行业务再造,提高银行的工作效率和业务竟争能力是摆在各家银行面前的迫切需要解决的问题。随着银行业务不断发展,业务的种类也是日益繁多,而各项业务的处理互有差异,这就对银行进入电子化水平和相应的管理水平提出了要求。如何利用电子化的手段构建一个高效统一的、通用灵活的系统来管

9、理各种各样的业务,是每个商业银行所要研究的课题。支持决策的系统,需要在数据库的基础上,进行联机分析处理,每次处理的数据量大,响应时间长。尤其是银行每天都要处理大量的开户、存取款、转账等业务,而银行人员现行应用的系统填写内容较为复杂、流程过于繁琐,已经是不能满足客户对于办理业务时间上的快捷性的要求,做好存开户、存取款等是银行工作重要的环节,然而要有效处理必须要有良好的程序和数据管理系统来建立一个良好的软件系统来实现快速、有效、准确、安全的处理银行事物。银行个人账户管理系统主要用于银行的储蓄管理,它可以帮助我们有效、准确、并且高效实现的完成银行柜台业务。此系统操作方便效率、安全性高,只要拥有管理员

10、的账号和密码(也就是说是银行的工作人员),就可以为用户做开户,开户之后就可以方便的为用户办理各种柜台业务。1.2 国内外现状在信息化发展极为迅速的当今社会,金融经济日益趋向全球化,同行业竞争变得更加激烈,国外银行业掀起了一股比上世纪更为声势浩大的信息化革命浪潮。国外银行业信息化基础设施框架已具备完善、电子银行体系已走进成熟阶段,信息化建设正由业务层向管理决策层推进。国际银行业普遍存在着管理决策信息化、网点扩张虚拟化、产品服务客户化以及非核心业务外包化等趋势。在国内,随着金融市场的逐渐开放,银行竞争日趋激烈。银行领域的竞争将紧紧围绕着客户,尤其是优质客户这一稀缺资源进行。但是在外资银行涌入中国的

11、进程中,我们很容易地看到这个现象:外资银行作为中国市场的后来者,国内资源暂时是它们的弱项,恰恰这一方面正是我国银行竞争的优势所在。然而,客户资源的经营管理确实我国银行的软肋。国内多数银行的客户关系管理还只是流于形式,这个问题是相当令人深思的。运用客户个人账户管理体系来进行客户关系管理正是应对未来银行客户资源竞争的利器。客户个人账户管理正是基于计算机技术和平台,通过对银行业务流程的重组来整合客户信息资源,以更科学有效的方法来管理客户信息,在银行内部实现信息和资源的共享,从而降低银行营运成本,为客户提供更经济、快捷、周到的产品和服务来吸引客户,最终达到银行价值最大化。1.3自动化管理银行竞争优势的

12、分析由于社会信息化的不断深入发展和经济金融体制的不断深入化,在知识经济和银行电子化建设的发展中,我国经济结构也在不断地变化,社会对于金融服务的需求日新月异,金融服务的内涵和外延变得更加丰富。这就对于银行的管理提出了新的要求。银行的管理日益趋向信息化、电子化、多元化。银行的电子化和现代化管理水平已经成为银行竞争力的重要构成要素,成为银行市场运作、金融创新、量化管理的技术基础。大致上来说,银行账户管理的系统化、自动化和规范化,使银行获得以下几方面的优势:(1)差别化竞争优势;(2)低成本竞争优势;(3)目标集聚性优势;(4)知识型优势;(5)产业集聚型优势。2系统需求分析2.1开发设计思想本系统的

13、开发设计思想:系统应当在银行的规定的前提下,满足银行对于个人账户管理的需求适应银行工作人员日常工作的需要,并应达到操作工程简便易行、安全可靠的要求。根据系统设计的目标和主要功能和对开发工具和环境的选择,通过软件工程的设计方法,对系统的可行性进行分析,确定方案的可行性。根据系统的需求得到需求分析,在需求分析的基础上进行设计编码,完成后对系统进行功能测试和应用维护。系统采用模块化程序设计方法,不仅可以在系统设计时方便系统功能的各种组合与修改,又可以方便开发人员日后对程序修改和和维护。系统要具备数据库维护的功能,即使方便用户对数据的增加修改等操作。2.2系统设计目标和主要功能通过银行个人账户管理系统

14、,可以使银行对于个人账户的管理实现系统化、自动化、简便化,去除繁琐的信息录入,从而方便快捷的使银行达到高效管理个人账户的目的。开发的主要任务是使工作人员能够轻松方便快捷的完成对个人账户的管理的任务。设计的银行个人账户管理系统应该具备最基本的账户管理功能,以及对客户信息变化的记录功能,设计的银行个人账户信息管理系统需要完成的主要功能是:1、银行工作人员即管理员的登录2、管理员对客户的开户操作(包括用户名、身份证、密码的填写)3、对已有客户(账号)的查询操作4、对已有客户(账号)的存款操作5、对已有客户(账号)的取款操作6、对已有客户(账号)的修改密码的操作7、对已有客户(账号)之间的转账的操作2

15、.2.3开发工具和环境开发工具:QT4.8.1 、C+运行环境:LINUX或UNIX2.2可行性研究可行性研究能使新系统达到以最小的开发成本取得最佳的经济效益。可行性研究的目的,是根据开发管理信息系统的请求,通过初步调查和系统目标分析,对要开发的银行个人帐户管理信息系统从技术上、经济上、资源上和管理上进行是否可行的研究。这是一项保证资源合理使用、避免失误和浪费的重要工作。由于实现了现代化的信息管理系统功能,这样就减少了人工的消耗,也就是说一台机器代替了多个人的工作,这样就可以减少人员消耗上的开支。不仅如此,实现银行系统的管理可以快速的应对各种业务,在效率上也提高了速度,为创造更大的价值提供了前

16、提条件。系统对于计算机的硬件、网络和系统条件的要求并不高,这样就方便了,银行信息管理系统的实施和普及应用。对于管理和经费问题上,都是非常透明和乐于让人接受的。系统实施运行后,并不需要特定的工作人员去管理,我们只需要一个管理员来管理一台装备。所以在管理经费上是不会有多大消耗的。由于是电脑管理系统,所以对于账户的管理是相当高的。而银行信息管理系统的运行过程不仅不违反银行的管理规章制度,还会有效地实现信息的快速存取。由于不仅节约了银行自身的成本而且他的管理效率也会提高了。 2.3 需求分析结构设计的第一个阶段就是需求分析,这个阶段主要是为了收集系统设计过程中所要用到的基本数据、数据结构和数据处理的流

17、程,从而组织成尽可能详细的数据,方便以后设计的需要。管理员管理存款取款转账修改密码账户信息图2-1 数据流图通过对银行个人账户管理的内容及数据流的分析,我们便可以列出设计的数据项:1、 开户信息表。包括:账户名、身份证、密码、重复密码。2、 查询信息表。包括:账户名、身份证、密码、余额。3、 存款信息表。包括:账户名、身份证、密码、存款额。4、 取款信息表。包括:账户名、身份证、密码、取款额。5、 转账信息表。包括:转账人、密码、收款人、金额。6、 修改密码信息表。包括:账户名、身份证、密码、新密码、重复新密码。2.4 系统流程图的设计这一阶段的设计是基于需求分析上的,通过需求分析来设计出能够

18、满足用户需求的各种实体以及它们之间的联系,以方便下一步的逻辑结构设计。根据系统设计要求系统流程图设计如下:Yes进入主窗口退出账户名身份证密码重复密码账户名身份证密码余额账户名身份证密码存款额账户名身份证密码取款额转账人转出账号密码收款人转入账号金额账户名身份证密码新密码重复新密码NO留在登陆界面开户查询存款取款转账修改取消主窗口取消取消取消取消取消管理员登录开始用户名密码开户查询存款取款转账修改密码图2-2系统流程图2.5用例描述2.5.1管理员登录用例管理员登录用例表如表2-1表2-1管理员登录用例表用例名称登录用例描述描述了管理员如何登录到系统中参与者管理员状态审查通过前置条件无后置条件

19、如果用例成功,则管理员登录到系统之。否则,系统状态不变。基本操作流程当管理员想登录到银行信息系统中时,用例启动。(1)系统提示管理员输入用户名和密码。(2)管理员输入自己的用户名和密码,提交。(3)系统验证输入的名字和密码,管理员登录系统成功。可选操作流程如果输入用户名和(或)密码无效,系统提示错误信息,用户可以重新输入或中止该用例。2.5.2开户用例开户用例表如表2-2表2-2开户用例表用例名称开户用例描述本用例允许管理员通过客户提供的信息给客户开户参与者管理员状态审查通过前置条件在本用例开始前,管理员必须登陆到系统中后置条件如果用例成功,则系统中会增加新建的账户。否则,系统状态不变。基本操

20、作流程当用户想在银行开户时,要向管理员提供账户名、身份证、密码,用例启动。(1) 系统提示管理员输入需要要开户的客户的账户名、身份证、密码。(2) 管理员输入新客户的账户名、身份证、密码,提交。(3) 系统保存新账户信息。2.5.3存款用例存款用例表如表2-3表2-3存款用例表用例名称存款用例描述本用例允许管理员借助客户提供的账户信息存款到帐户中参与者管理员状态审查通过前置条件在本用例开始前,管理员必须登陆到系统中后置条件如果用例成功,则客户账户中存款的金额发生变化。否则,系统状态不变。基本操作流程当客户想让管理员存款到自己的账户时,要向管理员提供账户名、身份证、密码和存款金额,用例启动。(1

21、)系统提示管理员输入账户名、身份证、密码和存款额。(2)管理员输入相关信息后提交。(3)系统更新账户的相关信息。可选操作流程账户不存在或者无效,显示提示信息,用户可以重新输入或终止该用例。2.5.4取款用例取款用例表如表2-4表2-4取款用例表用例名称取款用例描述本用例允许管理员按照客户的要求从客户的帐户中取款参与者管理员 前置条件本用例开始前,管理员必须登录到系统中后置条件如果用例成功,则客户账户中存款的金额发生变化。否则,系统状态不变。基本操作流程当客户想存钱到自己的账户时,要向管理员提供账户名、身份证、密码、取款额,用例启动。(1) 系统提示管理员输入账户名、身份证、密码和取款额。(2)

22、 管理员输入相关信息后提交,账户中的存款金额是否足够支付所取款项。(3) 更新账户的相关信息。可选操作流程账户中的存款金额不足,显示提示信息,用户可以重新输入金额或终止该用例。2.5.5查询用例查询用例表如表2-5表2-5查询用例表用例名称查询用例描述本用例允许管理员按照客户的要求从客户的帐户中查询余额参与者管理员 前置条件本用例开始前,管理员必须登录到系统中后置条件系统状态不变。基本操作流程当客户想查询到自己的账户余额时,要向管理员提供账户名、身份证、密码,用例启动。(1)系统提示管理员输入账户名、身份证、密码。(2)管理员输入相关信息后提交。(3)显示账户余额信息。2.5.6转账用例转账用

23、例表如表2-6表2-6转账用例表用例名称转账用例描述本用例允许管理员按照用户的要求将资金从一个账户转到另一个账户。参与者管理员状态审查通过前置条件本用例开始前,管理员必须登陆到系统中。后置条件如果用例成功,则客户账户中存款的金额发生变化。否则,系统状态不变。基本操作流程当客户要求转帐时,用例启动(1) 系统提示管理员输入转账人、密码、收款人和所转款项的金额。(2) 管理员输入相关信息后提交.(3) 系统确认账户中的存款金额是否足够支付所取款项。(4) 系统更新账户的相关信息。可选操作流程账户中的存款金额不足,显示提示信息,用户可以重新输入金额或终止该用例。2.5.7修改密码用例修改密码用例表如

24、表2-7 表2-7修改密码用例表用例名称修改密码用例描述本用例允许管理员按照用户的要求将原来密码修改参与者管理员状态审查通过前置条件本用例开始前,管理员必须登陆到系统中。后置条件如果用例成功,则客户账户密码发生变化。基本操作流程当客户要求修改密码时,用例启动(1)系统提示管理员输入账户名、身份证、密码、新密码、重复新密码。(2)管理员输入相关信息后提交.(3)系统更新账户的相关信息。3设计过程及编码主要开发设计思想:首先建立工程,利用QT将界面和类的头文件、实现文件以及界面文件完成,并编写代码通过ui界面得到输入信息,将界面信息存入数据库(或与数据库数据匹配)之后,再适当的添加代码把不同的界面

25、文件通过按钮事件链接,从而可以在不同界面之间跳转10。3.1 数据库的创建与使用数据库的创建8:终端状态下,进入mysql数据库,在mysql中创建数据库表格。终端下输入命令:Mysql uroot p123456 回车回车后便进入Mysql建表语句如下:mysql>create database testdb;/建立数据库mysql>use testdb;/设定当前数据库mysql>create table admin(adminid varchar(30),admpasswd varchar(30);/建立管理员信息数据库表格mysql>insert into ad

26、min values('abc','123');/添加数据mysql>create table account (accountname varchar(30),accountNo varchar(30), accountpaswd varchar(30),accountMoney double);/建立账户信息数据库表格数据库的使用9:QSql 模块提供了访问 SQL 数据库的接口,这些接口独立于操作系统,独立于数据库系统。Qt 中有很多支持这个接口的类,这些类型通过 Qt 的 mod

27、el/view 架构将数据库与用户界面结合起来。数据库连接由 QSqlDatabase 类对象表示,Qt 通过 driver 与不同的数据库通讯。在进行 SQL 查询之前,需要与数据库建立连接。通常,在程序执行前用户需要调用创建连接的函数以建立与数据库的连接数据库设计思路:数据库的使用分为四步:(1)获得界面信息(2)QsqlDatabase建立数据库的链接(3)QsqlQuery用于执行SQL语句(4)更新数据库的数据。本设计主要应用到数据库的链接、查询、插入和更新操作。数据库的设计如下:1. 建立数据

28、库连接在进行SQL查询之前,需要与数据库建立连接。通常,在程序执行前用户需要调用创建连接的函数以建立与数据库的连接。例如:首先要从界面得到输入的数据void AdminLogin:adminLogin() QString adminid=ui->adminid->text(); QString adminpasswd=ui->adminpasswd->text(); /*连接数据库 得到管理员的相关信息*/ AdminDao adao; bool cflag=adao.connectDb("QMYSQL","testdb",&qu

29、ot;127.0.0.1", 3306,"root","123456");/它的第一个参数指明了访问数据库的driver;接下来,分别设置数据库的数据库名,本地访问,端口设置,用户名,密码;最后,打开数据库连接3。 if(cflag)Admin a=adao.getAdminByIdAndPasswd(adminid,adminpasswd); qDebug(a.adminId.toLatin1(); qDebug(a.adminPasswd.toLatin1();/判断管理员ID和密码是否与数据库中定义的管理员ID密码相符 if(a.admi

30、nId=adminId && a.adminPasswd=adminpasswd &&a.adminId!="" &&a.adminPasswd!="") AdminAll aa; this->close(); aa.exec(); else qDebug("select db failed"); QMessageBox msg(this); msg.setText("select db failed!"); msg.exec(); else qDebug(&q

31、uot;connect db failed"); QMessageBox msg(this); msg.setText("connect db failed!"); msg.exec();  2. 执行select命令查询  一旦建立连接,用户就可以使用QSqlQuery类型执行SQL命令。本设计中执行SELECT命令如下1:Account AccountDao:getAccountByNameAndIdAndPasswd(Account account) QSqlQuery qu(myconn); qu.prepare(&

32、quot;select * from account where accountname=? and accountNo=? and accountpaswd=?"); qu.bindValue(0,account.getAccountName(); qu.bindValue(1,account.getAccountNo(); qu.bindValue(2,account.getAccountPasswd(); Account a;qu.exec();然后可以处理查询结果: if(qu.next() a.setAccountName(qu.value(0).toString(); a

33、.setAccountNo(qu.value(1).toString(); a.setAccountPasswd(qu.value(2).toString(); a.setAccountMoney(qu.value(3).toDouble(); return a; 第一次调用query.next()时,查询记录指针指向第一条记录;接下来每调用一次next(),指针向后移一条记录,直到指针指向记录的尾端(尾端是最后一条记录的下一个位置),这时next()返回false。3. 执行insert命令先从界面得到需要插入的数据,连接好数据库后,执行INSERT命令,向数据库插入新的数据。vo

34、id AddAccount:createAccount() /*从界面得到数据*/ QString aname=ui->accountName->text(); QString aid=ui->accountId->text(); QString apaswd=ui->accountPasswd->text(); Account a(aname,aid,apaswd,0.0); /*调用访问数据库的对象 把对象存入数据库*/ AccountDao adao; bool cflag=adao.connectDb("QMYSQL","

35、;testdb","127.0.0.1", 3306,"root","123456");/连接数据库/*链接到数据库后执行insert命令更新数据库5*/bool AccountDao:addAccount(Account account) QSqlQuery qu(myconn); qu.prepare("insert into account values(?,?,?,?)"); qu.bindValue(0,account.getAccountName(); qu.bindValue(1,accou

36、nt.getAccountNo(); qu.bindValue(2,account.getAccountPasswd(); qu.bindValue(3,account.getAccountMoney(); 4. SQL update 为了更新一条记录,首先从QSqlTableModel中找到该记录的位置。然后抽出记录,更新域值,再将记录写入数据库3:从界面得到需要改动的数据信息:void Transfer:transferAccount() Account sender; sender.setAccountName(ui->sname->text()

37、; sender.setAccountNo(ui->sno->text(); sender.setAccountPasswd(ui->spasswd->text(); Account reciver; reciver.setAccountName(ui->rname->text(); reciver.setAccountNo(ui->rno->text();连接到数据库: AccountDao adao; bool cflag=adao.connectDb("QMYSQL","testdb","1

38、27.0.0.1", 3306,"root","123456"); if(cflag) Account s=adao.getAccountByNameAndIdAndPasswd(sender) ; if(s.getAccountMoney()<ui->money->text().toDouble() QMessageBox msg; msg.setText("have not enough money"); msg.exec(); return; Account r=adao.getAccountByNa

39、meAndId(reciver); qDebug(r.getAccountName().toLatin1(); qDebug(s.getAccountName().toLatin1(); adao.transferByAccount(s,r,ui->money->text().toDouble(); 通过accountdao.cpp链接到数据库保存相应设计对相应的数据进行更新:void AccountDao:transferByAccount(Account sender,Account recever,double money) myconn.transaction(); QSq

40、lQuery qu(myconn); qu.prepare("update account set accountMoney=accountMoney-? where accountname=?"); qu.bindValue(0,money); qu.bindValue(1,sender.getAccountName(); bool f=qu.exec(); qu.prepare("update account set accountMoney=accountMoney+? where accountname=?"); qu.bindValue(0,m

41、oney); qu.bindValue(1,recever.getAccountName(); bool ff=qu.exec(); if(f&&ff) qDebug("success!"); mit(); else qDebug("failed!"); myconn.rollback(); 3.2建立Bank工程方法步骤第一步:进入QT Creator 选择创建项目,第二步:选择QT控件项目,QT Gui 应用图3-1创建QT控件项目图第三步:点击下一步给项目起名称第四步:点击下一步,创建源码文件的基本类信息图3-2创建源码文件的基本类

42、信息图第六步:下一步点击完成这时候我们就完成了一个QT项目的构建,之后我们就可以在其基础上根据设计需要添加QT的设计界面类7。3.3添加QT设计界面类的设计第一步:在项目名Bank上右击选择新建文件第二步:选择新建QT设计界面类第三步:选择Dialog without Buttons 界面模版第四步:填写需要添加的类名,头文件名、源文件名和界面文件名称会随类名变化而变化。添加类名是要注意类名的首字母要大写。第五步:点击下一步,核对添加至项目无误情况下,点击完成。这样,我们就将一个新的类添加到项目中,并且将头文件、实现文件、界面文件一起创建完成。3.4管理员登陆的设计第一步:按照3.1步骤完成项

43、目构建后,Adminlogin的界面类会完成,系统会提供一个空界面,在空界面上我们根据管理员登陆界面用例,来添加组件。(1)选中ui界面文件,进入ui设计界面,选择Display Widgets下的Label,给ui界面添加文本框,双击文本框,修改文本框显示的内容。(2)选择Input Widgets下的Line Edit,给界面添加输入框。(3)选择Buttons下的Push Button,给界面添加按钮。(4)添加完后如下图图3-3 管理员登录设计界面图(5)添加组件完成后,考虑到密码的保护,我们要将密码的显示修改为非明码显示,点击选中密码输入文本框,在属性栏中找到echoMode将其默认

44、的Normal改换成Password。第二步:功能设计adminid:管理员IDadminpasswd:密码adminid 和adminpasswd 从数据库中查询出来得到登陆界面的输入数据并做判断,登陆成功进入主操作界面如果管理员ID和密码不正确任意一个或都不正确,则输出"select db failed!",并弹出提示对话框,但不是由于输入错误导致登录失败时,则会输出"connect db failed",并弹出提示对话框。相应代码如下:void AdminLogin:adminLogin() QString adminid=ui->admin

45、id->text(); QString adminpasswd=ui->adminpasswd->text(); /*连接数据库 得到管理员的相关信息*/ AdminDao adao; bool cflag=adao.connectDb("QMYSQL","testdb","127.0.0.1", 3306,"root","123456"); if(cflag) Admin a=adao.getAdminByIdAndPasswd(adminid,adminpasswd); q

46、Debug(a.adminId.toLatin1(); qDebug(a.adminPasswd.toLatin1();/判断管理员ID和密码是否与数据库中定义的管理员ID密码相符 if(a.adminId=adminId && a.adminPasswd=adminpasswd &&a.adminId!="" &&a.adminPasswd!="") AdminAll aa; this->close(); aa.exec(); else qDebug("select db failed&q

47、uot;); QMessageBox msg(this); msg.setText("select db failed!"); msg.exec(); else qDebug("connect db failed"); QMessageBox msg(this); msg.setText("connect db failed!"); msg.exec(); 第三步:管理员ID和密码输入后点击登录则进入主操控界面,点击退出则退出登陆界面,相应代码如下:AddAccount:AddAccount(QWidget *parent) : QD

48、ialog(parent), ui(new Ui:AddAccount) ui->setupUi(this); connect(ui->createAccount,SIGNAL(clicked(), this,SLOT(createAccount(); connect(ui->cancel,SIGNAL(clicked(), this,SLOT(close();3.5主操控界面设计按需求分析的要求主操控界面主要设计开户、查询、存款、取款、转账、修改密码和退出七个选项,界面设计过程如下:第一步:按照3.2的步骤新建界面模版,填写Adminall类头文件名、源文件名和界面文件名称

49、。第二步:在建好的空界面模版上,按照主操控界面用例要求,添加Button按钮,并修改Button按钮名称。完成的界面图如下:图3-4 主界面设计图第三步:给各个按钮创建连接分别点击不同的按钮会进入不同的界面,每个cliked都会对应一个connect,通过connect进入相应的界面。主要代码如下:connect(ui->createAccount,SIGNAL(clicked(), this,SLOT(createAccount(); connect(ui->seachAccount,SIGNAL(clicked(), this,SLOT(seachAccount(); conn

50、ect(ui->changeAccount,SIGNAL(clicked(), this,SLOT(transferAccount(); connect(ui->deposite,SIGNAL(clicked(), this,SLOT(forDeposite(); connect(ui->withDraw,SIGNAL(clicked(), this,SLOT(withDraw(); connect(ui->changPasswd,SIGNAL(clicked(), this,SLOT(changePasswd(); connect(ui->quit,SIGNAL

51、(clicked(), this,SLOT(close();3.6开户的设计第一步:分析。根据个人账户管理系统的需求分析可知,开户需要有账户名、身份证、密码、和重复密码四项输入。第二步:按需求进行设计。按照3.2的步骤新建界面模版,填写Addaccount类头文件名、源文件名和界面文件名称。第三步:在提供的空界面上我们根据开户界面用例,来添加组件。(1)选中ui界面文件,进入ui设计界面,选择Display Widgets下的Label,给ui界面添加文本框,双击文本框,修改文本框显示的内容。(2)选择Input Widgets下的Line Edit,给界面添加输入框。(3)选择Buttons

52、下的Push Button,给界面添加按钮。(4)添加组件完成后,考虑到密码的保护,我们要将密码的显示修改为非明码显示,点击选中密码输入文本框,在属性栏中找到echoMode将其默认的Normal改换成Password。(5) 添加完后如下图图3-5 开户界面设计图第四步:获取界面填写的数据存入数据库的设计。系统从管理员输入的数据得到信息,并把信息存储到数据库中,开户成功则会弹出"create account success!"对话框,如果开户失败则会弹出"create account failed!"对话框。如果开户成功,点击提示对话框的确定按钮(如下图),这样就得到了界面数据,并用数据来构建账户对象,调用访问数据库的类,并把数据存入数据库,最后返回主操控界面。图3-6 开户成功界面演示图数据库设计需求的主要代码如下:void AddAccount:createAccount() /*从界面得到数据*/ QString aname=ui->accountName->text(); QString aid=ui->accountId->text(); QString apaswd=ui-&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论