当前位置:文档之家› 银行储蓄管理系统的设计与实现毕业论文

银行储蓄管理系统的设计与实现毕业论文

通信系统仿真实验课程设计

题目银行储蓄管理平台开发设计

学院 2010222111

专业班级通信104

学生姓名霍守斌

指导教师大彬哥

2013年6月15日

摘要

近几年来,随着科技的发展和社会的进步,尤其是计算机大范围的普及,计算机应用逐渐由大规模科学计算的海量数据处理转向大规模的事务处理和对工作流的管理,这就产生了以台式计算机为核心,以数据库管理系统为开发环境的管理信息系统在大规模的事务处理和对工作流的管理等方面的应用,特别是在银行储蓄管理之中的应用日益引起人们的关注。本文基于Visual C++数据库编程技术,以可视化的集成开发环境Visual studio 2008为开发工具, Access 2007为后台数据库实现了一个小型的银行储蓄管理系统,该系统主要功能包括用户注册、销户、存款、取款、查询历史记录、用户修改信息等功能。从而满足了广大人民群众的需要同时也实现了银行储蓄管理的系统化、规范化、自动化和智能化,提高了银行管理的效率。

关键字:Visual C++;Access 2007;银行储蓄管理系统

Abstract

In recent years, as technology development and social progress, in particular, the popularity of a wide range of computers, computer application gradually from large-scale scientific computing shift large-scale mass data processing and workflow transaction management, which resulted in of the desktop computer as the core database management system for the development of environmental management information system in large-scale transaction processing and management, workflow applications, especially in the management of bank savings into the application has attracted much attention. Based on the Visual C + + database programming techniques to visualize the integrated development environment, Visual studio 2008 as development tool, Access 2007 database for the background to achieve a small bank savings management system, which mainly features include user registration, cancel the account, deposit , withdrawals, query history, user modify the information and other functions. To meet the needs of the masses but also to achieve the systematic management of bank savings, standardization, automation and intelligence to improve the efficiency of bank management.

Key word: visual c + +; Visual studio 2008; Access 2007; Bank savings management

目录

摘要.............................................................. III Abstract............................................................ II 第1章绪论.. (1)

1.1 课题背景 (1)

1.2 研究目的 (2)

1.3 本文主要工作 (2)

第2章相关技术与环境配置 (1)

2.1 Visual C++ (1)

2.2 Access基础 (2)

2.3 系统运行需要的软硬件环境 (3)

2.3.1 硬件需求 (3)

2.3.2 软件要求 (3)

第3章需求分析 (5)

3.1 功能需求 (5)

3.2 数据需求 (6)

3.3其他需求 (6)

第4章系统总体设计 (7)

4.1 可行性研究 (7)

4.2 系统功能模块划分 (7)

4.3数据库设计 (8)

4.3.1 概念结构设计 (8)

4.3.2 逻辑结构设计 (8)

4.3.3物理结构设计 (9)

第5章系统详细设计与实现 (10)

5.1开发及运行环境 (10)

5.2数据库创建过程及其连接 (10)

5.3 各模块功能设计 (10)

5.3.1用户注册功能的实现 (11)

5.3.2用户存款功能的实现 (13)

5.3.3用户取款功能的实现 (15)

5.3.4 修改密码功能的实现 (17)

5.3.5 交易查询功能的实现 (17)

5.3.6 用户销户功能的实现 (18)

第6章系统运行界面 (19)

第7章结论 (23)

7.1 系统设计总结 (23)

7.2 系统设计心得 (24)

致谢 (25)

参考文献 (26)

附录 (27)

第1章绪论

1.1 课题背景

随着社会经济的不断发展,信息化程度的不断深入,银行的传统业务已愈来愈不能满足银行客户的需要。如今,人们的金融意识、科技意识己经有了很大的提高,在紧张忙碌的生活中,已越来越不习惯每月奔忙于各银行营业柜台之前去排队缴纳各种各样的费用了;同时,各种经营单位如电信、移动、供电、煤气、自来水、证券等等纷纷委托银行为其开展代收代付业务,一是为了提高服务质量、方便客户,二是为了减轻自己日趋繁重的工作量;同时,随着我国加入世贸组织的日益临近,我国的银行业将面临更加激烈的同业竞争,如何提供更多的金融产品和更优质的服务,如何吸引更多的客户,如何利用计算机技术加强银行账户信息管理、进行银行业务再造,提高银行的工作效率和业务竞争力是摆在各家银行面前的一个迫切需要解诀的问题。

随着代理业务不断发展,业务品种越来越多,各项业务做法互有差异,这就对银行的IT技术提高服务质量和相应的管理水平提出了更高的要求。如何利用电子化的手段来构建一个高效统一的、通用灵活的系统来管理各种各样的业务,是每个商业银行所要研究的课题。支持决策系统的,需要在数据库的基础上,进行联机分析处理,每次处理的数据量大,响应时间长。

特别是银行每天要处理大量的存取款事件,做好存取款是银行工作重要的环节,然而要有效处理必须要有良好的程序和数据管理系统来建立一个良好的软件系统来实现快速、有效、准确、安全的处理银行事务。

为实现银行账户管理的规范化、系统化、自动化和智能化,我们可以利用visual C++开发语言,借助于visual studio 和access开发环境设计出功能较齐全、运行速度快,业务处理量大的银行储蓄管理系统,从而达到提高企业管理效率的目的。Visual C++具有与Windows紧密结合、强大的类库支持和类改造能力、拥有高效的运行速度的特点,编程灵活、简洁,具有极大的便利性和可靠性。

1.2 研究目的

1. 理解并掌握visual C++数据库编程技术

2. 掌握数据库的基本理论和access数据库的建立方法

3. 熟练掌握visual C++数据库访问技术ODBC

4.掌握SQL语言和可视化窗口的设计

5. 熟练安装和使用visual studio 2008和access 2007 1.3 本文主要工作

本文的内容安排如下:

1.第一章主要阐述了系统开发的背景。

2.第二章详细介绍了相关技术和环境配置。

3.第三章对系统进行了需求分析。

4.第四章对系统做了总体设计。

5. 第五章系统的详细设计与实现

6. 第六章介绍了系统的运行情况。

7.第七章总结全文。

第2章相关技术与环境配置

2.1 Visual C++

C++语言是在C语言的基础上发展起来的。C语言是在20世纪70年代初由贝尔实验室的Dennis Ritchie等人在B语言的基础上开发出来的,且最初是作为UNIX操作系统的开发语言被人们所认识的。20世纪70年代末,随着微型计算机的发展,C语言开始移植到非UNIX环境中,并逐步脱离UNIX系统成为一种独立的程序设计语言。C语言的版本很多,为了让开发出来的代码能够在多种平台上运行,1988年,美国国家标准协会对C语言进行了标准化,产生了ANSIC,成为后来许多C语言版本的基础。但是从程序设计方法的角度看,C语言同当时常用的其他高级语言一样,都是面向过程的,以数据和数据的处理过程为设计核心。这种设计方法随着问题复杂性的增加和程序规模的扩大逐步显露出局限性[1]。

为了适应大规模程序设计的需要,20世纪80年代初开始提出面向对象程序设计的概念,继面向对象语言Smalltalk后,许多原有的语言都向面向对象的方向发展,C++就是由C发展而来的以面向对象为主要特征的语言。它是1980年由贝尔实验室的Bjarne Stroustrup博士创建的,最初称为“带类的C”,1983年正式命名为C++。

作为C语言的超集,C++继承了C的所有优点,并对数据类型作了扩充,使编译器可以检查出更多类型的错误。C++的另一个显著特点是支持面向对象的程序设计,通过类和对象的概念把数据和对数据的操作封装在一起,通过派生、重载和多态等技术手段实现软件重用和程序自动生成,使大型复杂软件的构造和维护变得更加有效和容易。此外在一致性检查机制方面也进行了加强,提高了软件开发的效率和质量。

Visual C++则是Windows平台下的一款流行的C++编译器,它集编辑、调试、编译、链接等功能于一身,提供了大量的类库,并且可以方便地进行C++项目管理,还可以与SourceSafe配合进行版本管理,堪称C++中编译器中的集大成者[2]。

2.2 Access基础

严格地说,数据库是“按照数据结构来组织、存储和管理数据的仓库”。数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的[3]。

Access数据库是美国Microsoft公司于1994年推出的微机数据库管理系统。它具有界面友好、易学易用、开发简单、接口灵活等特点,是典型的新一代桌面数据库管理系统[4]。其主要特点如下:

(1)完善地管理各种数据库对象,具有强大的数据组织、用户管理、安全检查等功能。

(2)强大的数据处理功能,在一个工作组级别的网络环境中,使用Access 开发的多用户数据库管理系统具有传统的XBASE(DBASE、FoxBASE的统称)数据库系统所无法实现的客户服务器(Cient/Server)结构和相应的数据库安全机制,Access具备了许多先进的大型数据库管理系统所具备的特征,如事务处理/出错回滚能力等。

(3)可以方便地生成各种数据对象,利用存储的数据建立窗体和报表,可视性好。

(4)作为Office套件的一部分,可以与Office集成,实现无缝连接。

(5)能够利用Web检索和发布数据,实现与Internet的连接。 Access主要适用于中小型应用系统,或作为客户机/服务器系统中的客户端数据库[5]。

SQL(Structured Query Language),结构化查询语言。SQL是一种与众不同的语言,SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。绝大多数流行的关系型数据库管理系统都采用了SQL语言标准[6]。

SQL功能强大但语句却不多,根据功能,这些语句可以分为四类:

(1)数据操纵:用于检索或者修改数据,包含的语句有INSERT、UPDATE、DELETE。

(2)数据查询:用于检索数据,只包含SELECT语句。

(3)数据定义:用于定义数据的结构,比如创建、修改或者删除数据库对象,包含的语句有CREATE、ALTER、DROP。

(4)数据控制:用于定义数据库用户的权限,包含的语句有GRANT、REVOKE。2.3 系统运行需要的软硬件环境

2.3.1 硬件需求

因为本系统需要在Visual Studio 2008上运行并且还要连接数据库,在硬件方面的要求是很高的,需要性能良好而且稳定的服务器。为了加快客户端的访问速度,服务器的配置一般要求很高,但由于本人条件限制,只能在自己的机器上配置服务器[7]。以下为建议配置的最低要求。

服务器端最低配置要求:

CPU:奔腾III550Mhz

内存:512MB

显示卡:SVGA,16K色以上显示模式

硬盘:20GB

驱动器:50倍速CD-ROM以上

客户端(Client):中英文Windows 2000/XP/2003

客户端最低配置要求:

中央处理器:奔腾III550Mhz

内存:128M以上内存

硬盘:10G以上可用硬盘空间

其它:鼠标、键盘

数据库服务器:同应用服务器

2.3.2 软件要求

开发工具:Visual Studio 2008

数据库:ACCESS 2007

软件环境开发语言:Java

第3章需求分析

3.1 功能需求

实现一个软件系统.首先应该进行需求分析,这样才能让设计出的软件满足用户的各项需求。所谓"需求分析",在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后他们才能够分析和寻求新系统的解决方法[8]。

下面就对银行储蓄管理系统的设计进行需求分析。此管理系统主要是面向银行客户的,为用户提供一个方便快捷的办理银行业务的平台。它包括如下的基本功能:

A 用户注册,银行客户要想办理各种银行业务,必须首先办理一个银行户头,办理开户时需要填写各项有效信息,包括卡号、姓名、性别、身份证号、联系方式、住址、设置密码、活定期类型的选择等信息。

B 存款,用户进入到存款功能界面只要输入用户账号就可以方便地进行存款。存款完毕后会出现存款成功提示对话框。

C 取款,用户进入取款功能界面后通过输入卡号和密码可以进行取款操作。取款完毕后会出现取款成功提示对话框。

D 查询,如果用户想知道自己银行账户里的存款余额和交易时间,可以使用交易查询功能,只要登录交易查询功能界面输入卡号和密码就可以查询详细交易记录。

E 修改卡号密码,用户选择修改密码模块可以进行密码修改,修改密码时需要输入卡号和原来密码然后才能输入新密码。

F 用户销户功能,此功能是为了满足有些银行客户不想使用此账户的需要而设置的,用户输入账号和密码就可以完成,如果账户里还有余额,需要先把余款取出来再进行销户操作,通过此功能用户可以方便安全地注销自己的账户而省去不必要的麻烦。

要实现银行系统的高效率化就要求每个功能模块之间要能灵活转换,且后台

管理必须要有强大的数据库支持,才能够高效率对数据进行处理。

3.2 数据需求

账户信息:帐号varchar(20),开户人姓名varchar(20),用户密码char(6),身分证号varchar(20),账户余额float,开户日期datetime,地址varchar(30);

活期操作:帐号varchar(20),金额float,类型(存入,支出),账户余额float,利息float,存入日期datetime;

定期存款:帐号varchar(20),存款人姓名varhcar(10),存款金额float,存款日期datetime,存储年份int,存储利率float;

定期取款:帐号varchar(20),取款人姓名varhcar(10),取款金额float,取款日期datetime;

定期历史操作记录:帐号varchar(20),存取款人姓名varhcar(10),类型(存入,支出),办理日期datetime,存储年份int,存储利率float;

3.3其他需求

作为一种软件产品,除了在功能方面必需达到用户的基本要求以外,还必须在意一些非功能方面的因素,诸如:软件的用户操作界面的美观和简洁、界面图标的标准化、规范化和灵活性,在设计此银行储蓄系统时最好在界面放置一些“确定”、“取消”和“退出”按钮,这样可以增加银行储蓄系统的灵活性,如果用户不想进行有关操作可以随时取消该操作或退出该管理系统,以免给用户造成不必要的损失和麻烦。还有一个必须注意的就是软件要有一定的兼容性,应该兼容当前的主流操作系统平台,像WINDOWS NT/Me/2000/XP/2003 等。硬件方面应当要求配置低一点,像这样的小型开发软件应该适用于现大多数的计算机网络系统。而且,最好是可以适应打印机等其它硬件设备[9]。

第4章系统总体设计

4.1 可行性研究

(1)技术可行性-----本系统仅需要一台内存在256M以上、硬盘在20G以上的计算机即可,一般当前企业电脑完全可满足要求。系统设计需要的技术已经很成熟普遍为计算机专业人员所使用,非常稳定,这些都使本系统具有技术上的可行性[10]。

(2) 经济可行性-----由于本系统是针对银行业务而开发的管理系统,投入使用后,能在很大程度上提高银行业务的办理效率,节约时间、节省人力并且方便银行客户,在经济上会带来很大的经济效益,并且远远大于开发成本[11]。

(3) 操作可行性-----界面设计时充分考虑银行客户的业务要求,界面简单明了,各项功能一目了然,操作十分便捷。

4.2 系统功能模块划分

图4-1系统功能模块图

每个功能模块都有一个相应的对话框为载体,本系统也是基于对话框的。各

功能模块既相互独立,又有一定的联系。用户注册之后,他的卡号,密码会成为全局变量,在以后的每个用户模块的操作中,都只是针对这个用户的操作,和其他用户无关,体现了软件编程的紧密和功能的划分的优点。

4.3数据库设计

4.3.1 概念结构设计

实体关系图:简记E-R图是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式。E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型[12]。

图4-2银行储蓄管理系统E-R图

4.3.2 逻辑结构设计

客户基本信息(自动编号,卡号,姓名,性别,身份证号,联系电话,住址,登录密码)

客户交易记录(自动编号,卡号,交易数额,交易时间,定活期类型,存取状态)余额查询(自动编号,卡号,交易时间,余额)

4.3.3物理结构设计

在本系统中,主要有3个表,即客户基本信息表、客户交易记录表、余额查询表。

表3-3-1客户基本信息表UserInfo

表3-3-2客户交易记录表RecordInfo

表3-3-3余额查询表CurrentInfo

第5章系统详细设计与实现

5.1开发及运行环境

硬件平台:

CPU:P41,8GHz;

内存:256MB以上。

软件平台:

操作系统:Windows 7;

数据库:ACCESS 2007;

浏览器:IE7.0;

Web服务器:Smart Server Plus v 2.0;

5.2数据库创建过程及其连接

进入Access 2007选择Access窗口中的“创建”——“表设计”向数据库中添加新表,完成BankDataFile.mdb的创建,建的表中,每个表都有相对独立的功能,但又要做到有一定的联系,要方便查询,但表不能太多,每个表的属性也要完善。

5.3 各模块功能设计

银行储蓄管理系统各模块功能概要设计完成,使整个系统有了一个大的架构,接下来的工作就是要把架构充实,使其各项功能实现。如果说系统设计是系统的骨架,那么系统功能的实现则是整个系统的肉体和心脏。在系统功能实现的过程中要用到一些关键代码,本节即对系统的几项重要功能的实现做出详细阐释。

此银行储蓄管理系统界面包括操作选择区和工作区。操作选择区运用标签控件,把该模块分为用户注册、用户存款、用户取款、修改密码、交易查询、用户销户六大块,用户可以灵活进行这几项功能之间的转换;工作区分为用户操作功能页和用户输入信息显示页,还有确定操作按钮、取消操作按钮和退出整个银行

储蓄管理系统按钮,对用户来说既方便、快捷又灵活、安全。

5.3.1用户注册功能的实现

所有用户进入银行储蓄管理系统的首界面就是用户注册功能界面。用户注册功能界面的主要设计过程:

首先是注册对话框的设计与实现。注册对话框包括用户注册页面和用户输入信息显示列表页面,用户注册页面包括用户注册时需要填写的信息,所以用户注册页面又分为三栏——注册信息栏、个人信息栏、密码输入栏,注册信息栏主要有两项组成,申请所在地组合框和账号类型组合框,个人信息栏包括填写用户姓名、用户性别、身份证号码、移动电话,密码输入栏需要输入8位有效密码;用户输入信息列表会自动显示用户在注册页面填写的相关信息包括账号(自动生成)、姓名、性别、身份证号码,移动电话。用户输入信息列表的下面是“注册申请”和“取消”按钮,这样可以让用户再确认一遍是否进行注册用户操作,是为保障用户的利益而设置的。所以注册对话框的设计与实现具体是初始化移动窗口位置、初始化列表框、初始化帐号类型组合框、初始化男女组合框及自动生成帐号的前半部分等。关键代码如下:

//////////////////////////////////初始化帐号类型组合框

pBo=(CComboBox*)this->GetDlgItem(IDC_TYPE_COMB);

pBo->AddString("活期");

pBo->AddString("定期");

pBo->SetCurSel(0);

this->OnCbnSelchangeTypeComb();

///////////////////////////////////初始化男女组合框

pBo=(CComboBox*)this->GetDlgItem(IDC_SEX_COMB);

pBo->AddString("男");

pBo->AddString("女");

pBo->SetCurSel(0);

this->OnCbnSelchangeSexComb();

界面如下:

图5-3-1用户注册界面

其次是用户注册功能的实现。首先用户进入注册功能页面进行信息的输入,单击“注册申请”,然后系统调用创建的SQL语句检查输入的信息是否正确,正确后系统会将信息写入数据库的表UserInfo中,并自动生成用户帐号,随后显示注册成功对话框;如果信息输入不正确,则系统会提示信息输入不正确,请重新输入。

关于用户注册模块实现的关键代码:

//////////////////////////////////创建SQL语句

CString strSqlText=_T("select count(*) from UserInfo where CardId like '");

CString strId=_T("");

strId=m_LoginList.GetItemText(0,0);

strSqlText=strSqlText+strId+CString("%'");

//////////////////////////////////创建SQL语句执行类实例

AdoWorker *ado=NULL;

_IntInfo *pIntInfo=NULL;

ado=new AdoWorker();

pIntInfo=(_IntInfo *)ado->ExecuteSql(strSqlText,0);

long iCardSum=10;

iCardSum=pIntInfo->lSum;

相关主题
文本预览
相关文档 最新文档