基于C#的银行交易系统

目录

目录

1 引言

1.1 项目功能分析

《银行存取款系统》实现的功能基本如下:

  • 存款
  • 取款
  • 转账
  • 余额查询
  • 修改密码
  • 查看交易明细

1.2 项目设计中使用到的技术

1.2.1 C#开发语言

C#开发语言是一种精确、简单、类型安全、面向对象的语言。它具有生成持久性系统级组件的能力,并且利用.NET Framework 的通用类型系统能够与其他程序设计语言相互操作。它能够允许自定义数据类型,以扩展元数据,总体来说增强了开发者的效率,同时也致力于消除编程中可能导致严重结果的错误。

1.2.2 ADO.NET技术

ADO.NET提供了断开式数据库访问。用户可以利用连接对象取得数据源中原始数据,然后缓存在离线数据集对象(DataSet)中,再由缓存对象提供给前台用户。前台用户在处理数据的过程中,并不需要保持与数据库连接,当对所有数据完成操作之后,再一次性通过连接对象将数据返回到数据库。因为不需要时时保持与数据库的连接,所以能够极大的降低系统资源的消耗。

1.2.3 SQL Server数据库

SQL Server数据库是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的关系型数据库管理系统。

1.2 设计目标

1.2.1 实现数据库设计

能够对数据库的基本操作即数据库创建、数据库表定义、数据库连接等有初步认知。了解其创建过程和操作步骤有助于后期程序开发的快捷与方便。

1.2.2 WinForm窗体设计

学会对窗体的基本设计,会使用常用的控件及熟练掌握其控件所具有的基本属性和操作手法。

1.2.3 使用ADO.NET技术

了解什么是ADO.NET 技术,其基本组成(两个核心组件)有哪些,并了解它的四个对象(Connection对象、DataAdapter对象、Command 对象和DataReader对象)以及使用该技术在c#编程中的命名空间为System.Data和System.Data.Client两大命名空间。

1.3 研究思路

本次项目的大致步骤如下:

  1. 项目功能需求分析
  2. 数据库表设计
  3. WinForm窗体界面设计
  4. 功能模块代码实现
  5. 功能测试与分析并总结

2 需求分析

2.1 项目功能描述

经过对项目分析,大体对该银行存取款系统做了以下基本操作:首先是用户账号和密码的登录界面,该界面能够对用户输入的卡号和密码进行判断,符合条件后即可进入服务界面;该界面能够实现取款、存款、余额显示、转账、查看交易明细和修改密码这几个功能;每次点击某个功能以后将会跳转到该窗体界面,然后做相应的操作。比如取款界面,进入与该界面后,系统自动获取登录界面输入的卡号,用户只需输入要取款金额即可。而且,在每个界面都做了一定的容错处理和输入格式限定,若输入的格式不正确和出现错误时都会弹出错误提示窗口,然后重新输入。

2.1 项目功能模块分析

根据项目功能描述,该项目功能模块图如下:

图2-1 功能模块

3 总体设计

3.1 数据库设计

首先创建一个数据库,搭建好以后在数据里创建两个新的表(名字分别为用户信息表和交易信息表),分别添加每个表的定义并保存。然后在编程中连接数据库并对其进行操作即可。以下图片即为该系统需要的数据库两个表定义。

图3-1 用户信息表定义

图3-2 交易信息表定义

3.2 数据库配置代码

数据库的连接字符串为:

1
Data Source=ASUS;Initial Catalog=bank;Integrated Security=True

3.3 数据库连接操作核心代码设计

数据库查询连接核心代码:

图3-3 数据库连接操作

4 详细设计

4.1 登录界面模块详细设计

4.1.1 登录界面模块功能描述

该部分实现了模拟用户插入银行磁条存储卡或者芯片存储卡后系统读取卡号,进而要求用户输入账户密码的功能(要求了输入内容的格式)。如若密码不正确,系统提示您输入不正确,要求重新输入密码,若密码输入不正确,则用户无法进入主界面进行相关操作。

4.1.2 登录界面模块核心代码

图4-1 登录界面模块核心代码

4.1.3 登录界面模块运行截图

图4-2 登录界面模块运行截图

4.2 服务选项界面模块详细设计

4.2.1 服务选项界面模块功能描述

该窗体实现服务选项功能,用户可根据自己所要进行的操作选择相应的选项,选项有存款,取款,转账,查询交易记录,修改密码。

4.2.2 服务选项界面模块核心代码

图4-3 服务选项界面模块核心代码

图4-3 服务选项界面模块核心代码

4.2.3 服务选项界面模块运行截图

图4-4 服务选项界面模块运行截图

4.3 存款界面模块详细设计

4.3.1 存款界面模块功能描述

用户输入所需存款的金额,点击确认后系统判断您所输入的金额格式是否正确,若不正确,则提示重新输入(只能输入纯数字)。

4.3.2 存款界面模块核心代码

图4-5 存款界面模块核心代码

4.3.3 存款界面模块运行截图

图4-6 存款界面模块运行截图

4.4 取款界面模块详细设计

4.4.1 取款界面模块功能描述

用户输入取款金额,首先进行金额格式判断,格式固定为输入纯数字;进而判断当前卡号余额是否充足,若不足,则无法取钱,若足则取钱成功。

4.4.2 取款界面模块核心代码

图4-7 取款界面模块核心代码

4.4.3 取款界面模块运行截图

图4-8 取款界面模块运行截图

4.5 转账界面模块详细设计

4.5.1 转账界面模块功能描述

用户输入金额后判断卡号和金额格式是否正确,若不正确则要求重新输入;若是则查询当前卡号余额,余额足够才进行转款操作;不能给自己转账;判断转款用户是否存在,若不是则要求重新输入。

4.5.2 转账界面模块核心代码

图4-9 转账界面模块核心代码 图4-9 转账界面模块核心代码 图4-9 转账界面模块核心代码

4.5.3 转账界面模块运行截图

图4-10 转账界面模块运行截图

4.6 修改密码界面模块详细设计

4.6.1 修改密码界面模块功能描述

用户输入原密码和输入两次新密码后,系统判断两次输入的新密码是否一致,若不一致则要求重新输入;若相同则判断两次输入的密码是否格式都正确,若不正确则要求重新输入;若正确则密码修改成功。

4.6.2 修改密码界面模块核心代码

图4-11 修改密码界面模块核心代码 图4-11 修改密码界面模块核心代码 图4-11 修改密码界面模块核心代码

4.6.3 修改密码界面模块运行截图

图4-12 修改密码界面模块运行截图

4.7 查看明细界面模块详细设计

4.7.1 查看明细界面模块功能描述

用户进入该界面后就会显示该卡号的所有交易信息,并且可以继续选择日期进行更精确的查询。

4.7.2 查看明细界面模块核心代码

图4-13 查看明细界面模块核心代码 图4-13 查看明细界面模块核心代码 图4-13 查看明细界面模块核心代码

4.7.3 查看明细界面模块运行截图

图4-14 查看明细界面模块运行

5 测试和总结

5.1 测试和调试

程序测试,在开发调试时,我们小组先使用的是一些特殊的数据进行测试,当开发完毕后在使用大量的数据来进行测试,下面是我们小组进行部分测试的输入输出:

图5-1 登录修改密码界面调试数据

图5-2 交易记录界面调试数据