账户管理系统C++个人实验总结报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
第1章系统分析 (1)
1.1 系统简介 (1)
1.2 系统分析过程 (1)
第2章系统设计 (3)
2.1 系统总体功能设计 (3)
2.2 详细设计 (3)
2.3 系统设计流程 (4)
第3章系统实施 (5)
3.1 系统实施概述 (5)
3.2 模块功能与处理过程实现 (5)
3.3 重点程序实现 (6)
3.4 系统调试 (10)
第4章设计总结 (11)
4.1 工作总结 (11)
4.2 设计过程总结 (11)
4.3 设计展望 (11)
参考文献 (12)
第1章系统分析
1.1 系统简介
问题描述:设计开发一个银行账户管理系统,账户的信息有账号(唯一),姓名,余额,身份证号码,联系方式等,模拟银行卡的一系列基本功能,包括注册开户、销户退出、存款、取款、转账、查询余额、修改密码、查询交易记录、退出系统等,保存为文件。
要求人机界面设计友好,用户使用方便,在用户输入有误时能给出相关的出错提示,并能承受一定的错误信息。
要求具有一定的安全机制,如用户在一定的时间范围内对系统未予以响应,或者用户多次输入错误的登录信息时,系统会自动给用户发出提示性信息,以便用户处理解决问题。
用户界面要求:输入:程序正常运行后,屏幕上显示一个文字菜单(根据序号选定相应的操作项目)当用户选定操作项目所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据;输出:应用程序正常运行后,要在屏幕上显示一个文字菜单;要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容,格式及结束方式等。
题目设计要求和目的:进一步巩固C++语言语法规则;熟练掌握程序设计的一般技巧和方法;培养解决综合性实际问题的能力。
1.2 系统分析过程
系统的综合要求:
从柜员用户设计考虑,登录时使用柜员身份登录。
每个储户可以有多个活期账户,一个活期储蓄账户包括账户(id)、余额(balance)、年利率(rate)等信息,还包括显示账户信息(show)、存款(deposit)、取款(withdraw)、结算利息(settle)等操作。
至少包括2个储户。
其中一个储户至少有4个定期账户、2个活期账户和1个信用卡账户。
利率数据单独存储。
可查询每个帐号的交易记录。
数据可使用数组、文件、数据库等多种方式存储。
若使用数组方式存储,需编写初始化数据函数,使各数组中具有一定数据。
系统的数据要求:
系统数据录入和处理的准确性:
数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出不正确和不可用,从而使系统的工作失去意义。
数据的输入来源是手工输入。
手工输入要通过系统界面上的安排系统具有容错性,从而降低出错的概率。
数据的一致性和完整性:
个人银行管理系统对数据的处理有很高的要求,因为对个人银行账户信息的处理非常频繁,所以要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。
对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。
数据的独立性:
个人银行信息管理系统的管理对于银行来说是非常重要的一个部分,不可能让每一个人都对其进行操作,应该有特定的人员对个人银行管理系统进行管理,对系统进行独立操作。
本系统共有4各类,分别为:
Account类:id帐号,balance余额,rate存款年利率,lastDate上次变更余额日期,accumulation余额按日累加之和,total所有账户的总金额,record()\record1()记录账目信息函数,error()报告错误信息函数,deposit()存入现金函数,withdraw()取出现金函数,settle()结算利息函数,show()显示账户信息函数。
Date类:year年,month月,day日,totalDays该日期是从公元元年1月1日开始的第几天,getMaxDay()获得当月有多少天,isLeapYear()判断当年是否为闰年,show()输出当前日期
Jiemian类:定义了几个结构体,如:Ding,Xyk,Mx,Rate1,Rate2,User,和一些调用其余几个类里面的函数。
Ka类:kzcl()支出或还款,klx()计算利息消费日期在账单日之前,klxl()计算利息消费日期在账单日之后,cxed()查询信用卡额度,cxzd()查询账单,xykmx()记录交易记录,将数据写入信用卡明细文件,lilv()获取利率,tian1()计算两日期之差,xYK()自动生成账单及结算利息,xYK1()自动生成账单及结算利息。
第2章系统设计
2.1 系统总体功能设计
根据上述的需求分析,我们可以得到个人银行账户管理程序应该具有以下的功能:
1.登录界面:用户名,用户密码
2.初始界面:对账户进行操作,修改账户密码,开通账户,查询活期账户,查
询定期账户,查询信用卡账户,查询储户信息,退出。
3.对活期帐户、定期账户、信用卡账户进行操作。
4.创建活期帐户、定期账户、信用卡账户。
5.查询本月账单、最近三个月账单、自定义查询账单。
6.存款、取款、转账、查询余额、注销账户、明细查询、利息结算、退出。
7.修改活期帐户、定期账户、信用卡账户密码。
2.2 详细设计
本系统利用面向对象的思想,采取了多文件的结构,创建了四个类及相关实现函数,如下图所示:
2.3 系统设计流程
第3章系统实施
3.1 系统实施概述
根据前面的需求分析和系统的设计流程图,里面面向对象的思想,对个人银行管理系统的功能进行分析,建立相应的类,我建立了四个类account类,date 类,ka类,jiemian类,以及各个类的外部构造函数,利用多文件结构,对于系统进行进一步的构造,使得本系统可以更加符合面向对象软件的开发。
3.2 模块功能与处理过程实现
本系统采用的txt文件作为存储文件,在数据处理上特别繁琐,但是不影响大体的功能,柜员必须凭借自己的用户名和用户密码才能登陆该系统,然后选择相应的功能号进行相应功能的操作,在该储户下又有活期、定期、信用卡账户,登录你需要操作的账户后,就能实现你的存款、取款和交易记录查询等操作。
Account类:id帐号,balance余额,rate存款年利率,lastDate上次变更余额日期,accumulation余额按日累加之和,total所有账户的总金额,record()\record1()记录账目信息函数,error()报告错误信息函数,deposit()存入现金函数,withdraw()取出现金函数,settle()结算利息函数,show()显示账户信息函数。
Date类:year年,month月,day日,totalDays该日期是从公元元年1月1日开始的第几天,getMaxDay()获得当月有多少天,isLeapYear()判断当年是否为闰年,show()输出当前日期
Jiemian类:定义了几个结构体,如:Ding,Xyk,Mx,Rate1,Rate2,User,和一些调用其余几个类里面的函数。
Ka类:kzcl()支出或还款,klx()计算利息消费日期在账单日之前,klxl()计算利息消费日期在账单日之后,cxed()查询信用卡额度,cxzd()查询账单,xykmx()记录交易记录,将数据写入信用卡明细文件,lilv()获取利率,tian1()计算两日期之差,xYK()自动生成账单及结算利息,xYK1()自动生成账单及结算利息。
3.3 重点程序实现
图1 柜员登录界面 1
通过柜员的输入的用户名和密码与文件中保存的相比较,如果匹配成功,则柜员登录成功。
图2 柜员操作活期账户
图3 查询储户信息
图4 查询定期账户信息
图5 查询信用卡账户
图6 创建定期账户
图7 活期账户查询本月账单
图8 活期账户查询近期三个月账单
图9 活期存款
图10 活期利息的结算
图11 活期明细查询
图12 活期转帐
图13 自定义方式查询账单
3.4 系统调试
通过在VS2008中运行程序,得到了以上的程序结果,并且在程序运行过程中并没有出现错误,所设计的功能全部实现。
第4章设计总结
4.1 工作总结
本系统由于时间短促,做的不是很完善,仅仅考虑到有些功能的实现,并没有考虑到业务上的需求,对于编写此程序的过程中所出现的问题,我通过百度,博客,知道等网络手段进行了查找,并且将问题已经解决。
4.2 设计过程总结
在本系统的设计过程中,因为用文件做起来比较简单,所以选择了文件的方式来存储数据,但是做的过程中感觉用文件存储数据的方式有点繁琐,而且有时候有很多的不便。
对于程序功能的设计,考虑了很多,该如何实现这些功能以及如何进行调试这些功能,让本系统能更加的完美一些,编写过程中也遇到了一些问题,通过网上百度和同学商讨,问题得到了解决,因此,整个程序才得以很好的运行。
4.3 设计展望
对于本系统,用文件的方式虽然简单,但是后期不好维护,所以以后将会采取数据库的方式来存储数据,这样便于维护。
而且本系统的日志没有做出来,这是一个大的缺点,对于银行业务来说,这是一个大漏洞,因此,以后做的时候会考虑到日志这个问题,是整个程序更加完善,此外还要考虑到银行业务方面与系统实际功能相结合,但从一方面做是不可以的,我们需要从实际需求和业务需求来分析制作,这样的系统才可以更加完善,也可以得到很好的应用。
参考文献
[1] 钱能.C++程序设计教程[M].北京:清华大学出版社,1999.
[2] 艾德才.C++程序设计简明教程[M].北京:中国水利水电出版社,2000.
[3] 郑人杰.软件工程[M].北京:清华大学出版社,1999.
[4] 王育坚.Visual C++程序基础教程[M].北京:北京邮电大学出版社,2000.
[5] 李光明.Visual C++6.0经典实例大制作[M].北京:中国人事出版社,2001.
[6] 陈光明.使用Visual C++编程大全[M].西安:西安电子科技大学出版社,2000.
[7] 谭浩强.C++程序设计[M].北京:清华大学出版社,2004.。