简易银行卡管理系统的开发文档
信息技术作业使用Java编写一个简单的银行账户管理系统

信息技术作业使用Java编写一个简单的银行账户管理系统银行账户是人们日常生活中经常使用的金融工具之一,而银行账户管理系统是银行进行账户管理和交易处理的重要工具。
在这篇文章中,我将利用Java编写一个简单的银行账户管理系统,以展示其基本功能和使用方法。
1. 系统设计在设计这个银行账户管理系统时,我们首先需要确定系统的基本功能。
在这个系统中,我们将实现以下功能:- 创建新的账户- 存款和取款- 查询账户余额- 转账功能2. 账户类的设计为了实现上述功能,我们需要创建一个账户类(Account)。
在该类中,我们需要定义账户的基本属性和方法。
以下是该类的基本设计:```javapublic class Account {private String accountNumber;private String customerName;private double balance;// 构造方法public Account(String accountNumber, String customerName, double balance) {this.accountNumber = accountNumber;this.customerName = customerName;this.balance = balance;}// 存款public void deposit(double amount) {balance += amount;}// 取款public void withdraw(double amount) {if (balance >= amount) {balance -= amount;} else {System.out.println("余额不足!");}}// 查询余额public double getBalance() {return balance;}// 转账public void transfer(Account targetAccount, double amount) {if (balance >= amount) {withdraw(amount);targetAccount.deposit(amount);} else {System.out.println("余额不足!");}}}```在这个类中,我们定义了账户的属性(账户号、客户姓名、余额)以及基本的操作方法(存款、取款、查询余额、转账)。
(完整word版)简单银行存取管理系统--详细设计说明书

1引言1.1编写目的概要设计完成了软件系统的总体设计,规定了各个模块的功能及模块之间的联系。
通过详细设计,实现各个模块规定的具体功能。
在详细设计说明书中,对所采用算法的逻辑关系进行分析,设计出全部必要的过程细节,并给予清晰的表达,使之成为编码的依据。
主要确定各个模块的算法,用工具表达算法的过程,确定每一模块数据结构,确定模块儿间接口细节。
1.2背景在传统的银行账户管理中,其过程往往是很复杂的,繁琐的,账户管理以入账和出账两项内容为核心,在此过程中又需要经过若干道手续,因为整个过程都需要手工操作,效率十分低下,且由于他们之间关联复杂,统计和查询的方式各不相同,且会出现信息的重复传递问题,因此该过程需要进行信息化,以利用计算机进行账目管理。
本系统的名字是银行储蓄管理系统。
2程序系统的结构用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间的层次结构关系。
<1> 用户模块的分解可将用户操作分解为:存款,取款,查询,开户。
图1 用户模块图<2>管理员操作的分解管理员的操作是将用户的操作传送给系统,代替用户与系统交互,所以,管理员的操作与系统的操作基本类似,也可以近似地将管理员看作用户。
所以操作员操作可分解为:查询、冻结、解冻。
图2 管理员模块图3程序设计说明3.1管理员登陆模块 3.1.1程序描述管理员登陆主要是针对银行系统的管理员管理账户信息时使用,如用户注册,用户登录。
常驻内存,非子程序,无覆盖要求,顺序处理。
3.1.2功能输入 输出 处理3.1.3性能本模块对程序性能要求是在6秒内完成验证。
3.1.4输人项密码:六位0—9数字。
非经法定程序,不得外泄。
管理员ID:七位0—9组成的字符串,非经法定程序,不得外泄。
3.1.5输出项成功进入银行管理系统界面。
或者输出:您输入的管理员用户名或密码错误,请重新输入! 3.1.6算法一个IF … ELSE …的判断语句,TRY CATCH 异常的处理3.1.7流程逻辑3.1.8接口3.1.9存储分配管理员信息存在管理员表中。
简易银行管理系统开发文档

一、题目简易银行卡管理系统的开发二、需求分析(1)分析了解银行卡管理的功能。
通过度析与调查,取得了该系统的主要功能:①开户②查询余额③存款④取款⑤挂失/解挂⑥修改密码⑦销户⑧忘记密码开户时必需输入用户名、密码、身份证号、邮箱等信息,只有登录成功时才能执行②~⑦的操作,而且当用户处于挂失状态时则不能执行除解挂外的其他操作。
忘记密码要找回密码时需要输入用户名和身份证号。
(2)该系统的软件配置如下:数据库管理系统:Microsoft Access 2003以上版本系统软件:windows XP编程环境:Visual C++ 集成开发环境(3)该系统的数据字典:(4)参考资料:《软件工程导论》张海藩清华大学出版社2008/2《Visual C++ 数据库开发技术与工程实践》求实科技编著人民邮电出版社2004/1三、整体设计(1)系统体系结构设计本系统由三大模块组成,包括开户、大体操作和忘记密码,而大体操作又由六大子模块组成,包括查询余额、存款、取款、挂失/解挂、修改密码和销户。
(2)数据库数据结构设计操作步骤如下:①选择开始菜单->控制面板|管理工具|数据源(ODBC),弹出"ODBC数据源管理器"对话框,选择"系统DSN"选项卡,单击[添加]按钮。
②在弹出的"创建新数据源"对话框中,选择"Microsoft AccessDriver(*.mdb)",单击[完成]按钮。
③在弹出的"ODBC Microsoft Access 安装"对话框中,配置数据源属性,依次配置数据源名为"bank",单击[选择]按钮。
④在弹出的"选择数据库"对话框中,选择所利用的Access数据库"",单击[肯定]按钮。
⑤此时回到"ODBC数据源管理器"对话框,可以看到"系统数据源"项增加了一行,选择本例对应的数据库,单击[肯定]。
简单银行存取管理系统详细设计说明书样本

详细设计说明书1引言....................................................................... 错误!未定义书签。
1.1编写目的................................................................. 错误!未定义书签。
1.2背景......................................................................... 错误!未定义书签。
1.3参考资料................................................................. 错误!未定义书签。
2程序系统的结构 .................................................. 错误!未定义书签。
3程序设计说明 ...................................................... 错误!未定义书签。
3.1管理员登陆模块 .................................................... 错误!未定义书签。
3.1.1程序描述........................................................... 错误!未定义书签。
3.1.2功能................................................................... 错误!未定义书签。
3.1.3性能................................................................... 错误!未定义书签。
3.1.4输人项............................................................... 错误!未定义书签。
软件工程 详细设计 简易银行系统

软件工程实验三详细设计简易银行系统一、引言1.1 编写目的本文档为“简易银行系统详细设计说明书”,主要用于为实现系统的功能而进行的系统详细设计说明,详细的说明了系统各软件组成模块的实现流程、功能、接口、编译、测试要点等内容,便于对系统的编码进行指导和约束。
本文档供项目组全体成员及项目组领导,单元测试人员阅读。
1.2 项目背景项目名称:简易银行系统用户:各种商业银行说明:现在的银行储蓄系统工作效率低,越来越不能满足广大人民群众的需要,人们希望能更方便更省时就可以办理储蓄业务;随着拥有多种银行卡的人群不断增长,人们急切希望有一种通用的银行卡以便随时随地在哪家银行都可以存款提款;现在计算机网络的高速发现使越来越多的人更喜欢在网购物、在家存款取款。
在这样的背景下,很明显现在的银行储蓄系统已经不能满足人们越益增长的需求,急切需要建立一个新的、高效的、方便的、互联的计算机储蓄系统。
1.3 参考资料(1)实用软件工程学/庄晋林,杨志宏主编.—北京:中国水利水电出版社,2009 (2)数据库系统概论/王珊,萨师煊.—4版.—北京:高等教育出版社,2006.5二、总体设计2.1 需求概述(1)对银行储户的个人信息,储户存取款信息的统一管理,方便用户操作,满足储户需求;(2)改进管理和服务。
2.2 软件结构系统启动时,激活身份验证模块。
通过身份验证后,对系统进行初始化,通过事件驱动机制激活各个模块,并执行指定模块。
由退出系统事件激活退出系统模块,退出系统。
2.2.1系统结构图2.2.2系统数据流图三、 程序描述前面需求分析可以看出,系统功能清晰,银行储蓄管理系统功能部分数据分为3类:账号管理、储存管理、取款管理。
从使用和操作的功能上分,为便于整个系统组织管理,把各个相对独立的数据或功能组织到整个大系统中来,我们把各个相对独立的功能完全独立设计,编译成独立的目标(功能)模块,各功能模块最后被集成到一个主模块中。
相应地将系统结构分为一个主程序和6个模块。
银行卡管理系统开发

简易银行卡管理系统1.问题定义由于科学技术的飞速发展,特别是电子计算机的运用,银行卡的使用范围不断扩大。
不仅减少了现金和支票的流通,而且使银行业务由于突破了时间和空间的限制而发生了根本性变化。
银行卡自动结算系统的运用,使一个“无支票、无现金社会”的到来不久将成为现实。
银行卡因为它的小巧,携带方便,集多种消费功能于一体,使得它的流行成为必然。
模拟ATM机(自动取款机)实现一个简易的银行卡管理系统。
2.可行性研究以下将从3个方面分析这个项目的可行性。
2.1技术可行性随着计算机技术的发展,计算机已经越来越普遍了,它的发展也带动了网络的发展,现在网络已经遍布世界的绝大部分有人居住的地方。
只要有网络的地方,就可以安装ATM机,持卡者就可以通过ATM机进行各种金钱交易活动。
现在实现借记卡的管理系统技术已经成熟,这个项目在目前的技术上是可行的。
2.2经济可行性随着计算机技术的发展,计算机的硬件成本越来越低了,所以价格也越来越便宜了。
随着软件的发展,开发这个系统的成本也不高,所以每台ATM机的综合成本不会很高,然而每台ATM 取款机带来的效益却非常可观,方便的ATM机系统给人们的金钱交易带来了很大的方便,人们通过ATM机的各种交易活动会越来越频繁。
ATM机每天能处理大量的交易,它带来的效益,为银行减少了大量的人力资源支出,并且它处理交易的准确度也比人力高许多。
总之,ATM机的实现属于银行系统的智能化,它将为银行节省数倍的人力资源,而带来的效益却更高,所以这个项目在经济上是可行的。
2.3 操作可行性随着九年义务教育的普及,人们的文化水平都有了大幅提高,随着各种电器设备的普及,人们对各种电器的操作也都能在极短的时间能掌握它们的操作,而这个系统也有各种提示,只要识得字的,有一些常识的人都能在极短时间能自己掌握它的操作过程,所以这个系统在用户操作方面也是可行的。
综合以上三方面的分析,本系统的开发是可行的。
3.需求分析3.1 功能需求本次开发的银行卡管理系统,首先必须满足传统银行储蓄账户的几个最基本的功能:主要功能:(1)开户(2)存款(3)取款(4)挂失(5)消户(6)转帐(7)退出系统3.2 性能需求由于在ATM机上进行自动取款,所以其响应用户服务的速度要比较快,如果它的速度比人工处理还慢,肯定会影响用户的使用,也会是用户对其丧失信心。
软件工程课设(简易银行卡管理系统)

软件工程实验报告一.题目实验题目:简易银行卡管理系统的开发二.功能描述2.1.此银行卡系统面向的对象此银行卡管理系统有两个:用户和管理员。
用户和管理员可以利用这个系统做不同的事情。
2.2.银行卡系统的功能此系统有因为面向两个用户群体,因此有两个不同的模式:用户模式和管理员模式。
下面是两种模式的功能。
⏹用户模式查询余额转账打印凭条修改密码存款取款退卡⏹管理员模式开户销户挂失解挂回到用户模式三.数据定义3.1.使用数据库来定义和保存用户的各种信息3.2.用户的信息定义如下四.总体设计和各模块接口说明4.1.总体设计的模块调用图说明:银行卡管理系统的控制域是所有模块。
用户模式的控制域是:取款,转账,存款,查询,退卡,打印凭条,修改密码这几个模块。
管理员模式的控制域是:开户,销户,挂失,解挂这几个模块4.2.各个模块接口的说明使用IPO表来对各个模块进行说明说明:由于模块过多,所以在报告中只列出了上面几个模块的IPO表五.程序设计的说明5.1详细设计的PAD 图PAD 图(B )用户模式模块的PAD 图5.2模块的详细说明⏹用户模块和管理员模块:要进入用户模式必须卡号和密码均正确才允许进入;进入管理员模式需要登录管理员账号和密码,两者均正确才能进入⏹存款模块:卡号没有被冻结才能存款输入金额必须在100~50000范围之内,50000是一次存款的最大值输入金额要合法,不能输入非数字⏹取款模块:卡号没有被冻结才能取款输入金额要合法,不能输入非数字输入金额必须少于或者等于账户余额,并且只能在100~50000之内⏹查询模块:卡号没有被冻结才能查询余额⏹修改密码“:卡号没有被冻结才能修改密码两次输入新密码必须一致才能修改⏹打印凭条:此模块在开发中⏹转账:卡号没有被冻结才能转账两次输入的账号必须一致转账金额必须少于或者等于账户余额一次转账金额必须在100~50000之间银联卡一定要选择转账卡的类型,例如:转到工行还是农行(开发中)⏹开户:需要输入新建用户的姓名、身份证和密码。
简易银行卡管理系统开发详细设计说明书

简易银行卡管理系统开发详细设计说明书班级:计算机 0209 班学号: 021*******姓名:刘靓完成日期:二〇〇五年四月十日一.系统概述银行卡,是指由银行向社会发行的具有消费信用、转账结算、存取现金等全部或部分功能的信用支付工具。
简易银行卡管理系统为银行管理层提供全面的银行卡客户分析,系统构建在数据仓库基础上,整合银行卡相关的所有数据,通过对数据进行快速而准确的分析和挖掘,达到计算机管理银行卡相关功能,简单的金额核算的目的。
系统本着以客户为中心的服务宗旨,充分获取客户信息,为金融数字化服务提供更为实用、更为有效的信息,为金融的客户服务中心做好了充分的准备。
2.系统分析:此简易银行卡管理系统可分为一个管理员管理系统与一个用户操作系统。
管理员管理系统负责用户数据的创建、修改与管理;用户操作系统接受用户操作命令以后,执行并上报给管理员管理系统。
由管理员管理系统相应修改用户数据库,用户操作系统只能执行用户命令,不能修改用户数据。
简易银行卡管理系统的功能数据流图如下:3.运行环境:windows9x/windows2000/windowsXP4.开发工具:Visual Basic6.05.条件与限制:该系统需要完成相关的系统设置并进行修改。
需要保证录入数据准确、系统参数设置正确,才能保证系统正常运行二.系统需求分析(1)开户: 个人申领银行卡应当向发卡银行提供公安部门规定的本人有效身份证件,经发卡银行审查合格后,为其开立记名账户;对储户信息线性表增加储户,内容包括储户编码、储户名、储户金额、密码、密码验证。
(2)存款: 发卡银行依据密码等电子信息为持卡人办理的存款,执行用户存储现金的操作,并计算用户余额,生成上传数据。
(3)取款: 发卡银行依据密码等电子信息为持卡人办理的取款,执行用户提取现金的操作,并计算用户余额,生成上传数据。
(4)挂失: 发卡银行向持卡人提供银行卡挂失服务。
(5)消户: 持卡人在还清全部交易款项,透支本息和有关费用后,可申请办理销户。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生学号0120710340502 实验课成绩武汉理工大学学生实验报告书实验课程名称软件工程开课学院计算机科学与技术学院指导老师姓名顾志华学生姓名穆忙涛学生专业班级计算机07052009 —2010 学年第二学期简易银行卡管理系统的开发1题目简易银行卡管理系统2功能描述分析、设计并实现一个银行卡管理系统,系统中有两类用户,普通用户和管理员用户,普通用户可以对自己的信息管理,而管理员用户则对所有的用户都可以进行管理。
对于普通用户,需要实现以下功能:(1)开户(2)存款(3)取款(4)挂失(5)消户(6)转帐(7)查询操作历史对于管理员账户,需要实现的功能是:(1)创建用户(2)删除用户(3)查看用户信息(4)更改用户信息要实现对用户账户的管理,就要用数据库保存用户的信息,登录时通过对用户账户和用户密码的验证,使用户获得相应的权限。
登陆后,用户可以根据提示选择相应的操作,以实现对账户的管理操作。
对账户的管理实际上是对用户信息数据的操作,数据的信息保存在数据库中,所以用户的操作实际上是对数据库的操作。
可以将用户的操作映射成以下的数据库操作普通用户操作:开户:向数据库中添加一条新纪录存款、取款、挂失:修改数据库中的某些字段值销户:删除一条记录查询操作历史:对数据库的查询管理员操作:创建用户:添加一条记录删除用户:删除一条记录查询用户信息:查询数据库更改用户信息:修改记录字段值3数据定义系统有两种用户,并且要保存用户的账户信息以及操作记录,所以用四个表来存储所有的信息,分别为guest,guest_log,admin,admin_log。
guest:用来存储普通客户的账户信息guest_log:用来保存用户的操作记录,以便于查询操作历史admin:是管理员表,记录管理员的账户信息admin_log:用来记录管理员操作的历史,以防管理员的错误操作普通用户的操作仅能涉及guest,guest_log两个表,而管理员可是管理所有的表。
各个表的定义如下:guest:字段名数据类型作用guest_id int 客户的唯一标识符,逐渐guest_num char(5) 用户登录的银行卡号,统一使用5位password varchar(10) 登录密码,不大于10位,可变长g_name varchar(10) 客户相关信息,客户姓名,g_sex char(1) 客户性别,x表示男,y表示女reg_date datatime 账户注册时间money Int 当前用户金额Debt char(1) 用户账户状态,0正常,1挂失,2注销guest_log:字段名数据类型作用log_id int 操作记录id,唯一标识一个操作事件log_time datetime 事件发生的时间g_id Int 发生操作事件的用户id'motion varchar(20) 所执行的操作类型entity int 操作涉及的金额remark text 对操作的备注管理员账户表和普通客户表的内容很类似,所以简化了一些,并且管理员账户没有账户金额等字段,所以相对较小。
admin:字段名数据类型作用admin_id Int 管理员唯一的标志符admin_logName varchar(10) 管理员登录用户名password varchar(10) 登录密码sex char(1) 性别,x为男,y为女reg_data datatime 注册日期admin_log:字段名数据类型作用log_id int 操作记录id,唯一标识一个操作事件log_time datetime 事件发生的时间admin_loginName Varchar(10) 执行操作的管理员账户名motion varchar(20) 所执行的操作类型guest_num Char(10) 操作涉及到的用户entity int 操作涉及的金额remark text 对操作的备注以上是四个表的数据定义,在此基础上,通过对数据库的操作,实现对用户信息的操作。
4总体设计和各模块接口说明系统总体可以分为三个模块:1.Main主调用模块2.Guest管理模块3.Admin管理模块这单个模块的简单关系为:MainGuest AdminMain 模块是程序的入口,用户通过Main 的操作,引导用户进入Guest 模块或Admin 模块,直到用户退出。
(1)Main 模块Main 模块是程序的入口,程序的初始化都在此模块,包括数据库的连接,数据库的初始化,全局变量的初始化等。
该模块定义了两个出口,即 Guest 和Admin ,用户在该模块选择入口,已决定想要进行的操作,直到退出。
Main 模块的数据库连接,将应用程序同DBMS 连接起来,以使应用程序能够对数据库进行操作。
Main 模块的数据库初始化,包括创建表,对表中数据的初始操作。
使应用程序在执行时可以获得必要的信息。
全局变量的初始化,包括登录状态、当前用户名等信息,使应用程序可以在操作时可以得到相应的环境变量。
Main 模块提供了两个出口,分别指向Guest 和Admin 。
Main 的盒形图(2)Guest 模块Guest 模块包含了对普通用户的所有操作,开户、存款、取款、挂失、消户、转帐和查询操作历史。
根据选择,执行不同的操作,每一个操作都是对数据库的操作。
数据库链接 数据库初始化 全局变量初始化 输入用户类Guest 模块 Admin 模块 选择操作 1 2 3 4 5 6 7 开户 存款 取款 挂失 销户 转账 查询历史 guestguest_logGuest盒形图(包括对数据库的操作)(3)Admin模块Admin模块的内容同Guest模块的内容类似,不过Admin模块的操作涉及到更多的数据表,admin和admin_log。
5程序设计的说明程序设计包括两个部分的设计:数据库设计和功能设计。
(1)数据库设计本程序采用MySQL数据库,为实现以上数据库设计,使用如下语句创建数据库://创建guest表char guest[] = "create table guest\(g_id INT,\guest_num CHAR(5),\password V ARCHAR(10),\g_name V ARCHAR(10),\g_sex CHAR(1),\reg_date DATETIME,\money SMALLINT,\debt CHAR(1),\PRIMARY KEY(g_id,guest_num)\)";//创建guest_log表char guest_log[] = "create table guest_log\(log_id INT,\log_time DATETIME,\g_id INT,\motion V ARCHAR(20),\entry SMALLINT,\remark TEXT,\PRIMARY KEY(log_id)\)";//创建admin表char admin[] = "create table admin\(admin_id INT,\admin_loginName V ARCHAR(10),\password V ARCHAR(10),\sex CHAR(1),\reg_date DATETIME,\PRIMARY KEY(admin_id)\)";//创建admin_log表char admin_log[] = "create table admin_log\(log_id INT,\admin_loginName V ARCHAR(10),\log_time DATETIME,\motion V ARCHAR(20),\user_num CHAR(5),\entry SMALLINT,\remark TEXT,\PRIMARY KEY(log_id)\)";在MySQL查看新建表,用describe tablename;结果如下:表guest:表guest_log:表admin:表admin_log:为了给每一个新注册的用户分配号码,并且给每一条新的记录分配唯一的id 值,因此需要一个计数的变量用来存储,表中记录的总量,所以在创建表的时候,初始添加一条记录,用来充当计数器的作用,添加记录的语句如下。
char first_record_guest[] = "insert into\guest(g_id,guest_num)\value(0,\"00000\")";char first_record_guest_log[] = "insert into\guest_log(log_id,g_id)\value(0,0)";char first_record_admin[] = "insert into\admin(admin_id,admin_loginName)\value(0,\"admin\")";char first_record_admin_log[] = "insert into\admin_log(log_id,admin_loginName)\value(0,\"admin\")";各个表在添加了初始记录后的内容如下:Guest:Guest_log:Admin:Admin_log:(2)代码设计总共代码有10个文件,头文件有admin.h、common.h、global.h、guest.h、stdafx.h .c文件有admin.c、common.c、global.c、guest.c、main.c Stdafx.h,文件包含着整个工程所需要的资源文件global.h global.c 中声明并定义了全局变量common.h,common.c中定义了常用的函数admin.h admin.c实现了所有Admin模块的操作guest.h guest.c 实现了所有Guest模块的操作main.c实现了Main模块的内容Global.h#ifndef _GLOBAL_H /* please insure _GLOBAL_H unique */#define _GLOBAL_H /* avoid quotation iterativly */extern int LOGIN ;//LOGIN 为表示登陆,为表示未登陆extern int USER;//USER 表示用户类型,表示ADMIN,表示GUEST#endif声明了两个环境变量,LOGIN 和USER。